adp-web-components 0.3.21 → 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 +35 -35
- 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-COlPGX7F.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-rWhci9Es.js → get-local-language-CZeC0BN9.js} +4 -4
- package/dist/cjs/{get-mock-files-Cceb_318.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 +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 +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.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.js +2 -2
- package/dist/collection/components/form-elements/branch-date-picker.js +2 -2
- 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.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-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-CmIFPUXD.js → p-AkWKeTFc.js} +1 -1
- package/dist/components/{p-UeoCFDF-.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-CDdYNb7K.js → p-BDOUh9fr.js} +1 -1
- package/dist/components/p-BGf2deKN.js +5 -0
- package/dist/components/{p-40jijfEq.js → p-BNmsN10T.js} +1 -1
- package/dist/components/{p-CYuQunRn.js → p-BOaqSzZZ.js} +1 -1
- package/dist/components/p-B_1NtFJh.js +5 -0
- package/dist/components/{p-C1I6zBo7.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-BcbFXFPI.js → p-BvM3siIc.js} +1 -1
- package/dist/components/{p-CXigg5tn.js → p-BwoBk7eI.js} +1 -1
- package/dist/components/{p-Dl0BmrLe.js → p-BxGye2qd.js} +1 -1
- package/dist/components/{p-DaQOYb2R.js → p-BySGDlQi.js} +1 -1
- package/dist/components/{p-3kY-T9ID.js → p-ByrX91PC.js} +1 -1
- package/dist/components/p-C9uBduBY.js +5 -0
- package/dist/components/{p-BoQgpmtN.js → p-CETvww16.js} +1 -1
- package/dist/components/{p-HpXp7TBt.js → p-CT-MbmyW.js} +1 -1
- package/dist/components/p-CUO3vXQr.js +5 -0
- package/dist/components/{p-OdEwTuBq.js → p-CbRoCi89.js} +1 -1
- package/dist/components/{p-BgJljKxp.js → p-CebvOd8T.js} +1 -1
- package/dist/components/{p-CjdYtmBI.js → p-Cy8khSKP.js} +1 -1
- package/dist/components/{p-DDhVlLOx.js → p-D4VK-Fv7.js} +1 -1
- package/dist/components/p-D4aXUm2Y.js +5 -0
- package/dist/components/{p-CU0gZwVU.js → p-D8w2fZLP.js} +1 -1
- package/dist/components/p-DCO6piZ9.js +5 -0
- package/dist/components/{p-CE9wNugx.js → p-DConDqrK.js} +1 -1
- package/dist/components/{p-Wfd6v4yE.js → p-DDTSLfBG.js} +1 -1
- package/dist/components/{p-Dd_3uKgv.js → p-DJDhhX5A.js} +1 -1
- package/dist/components/p-DKWqzBVM.js +5 -0
- package/dist/components/{p-O0AragmD.js → p-DOIpj5PH.js} +1 -1
- package/dist/components/{p-BwKzJeLy.js → p-DVkAlTjC.js} +1 -1
- package/dist/components/p-D_uU2Pi-.js +5 -0
- package/dist/components/{p-DFKEx7TJ.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-DxRQkoRz.js +5 -0
- package/dist/components/{p-yWyKiQgx.js → p-Imck426q.js} +1 -1
- package/dist/components/p-UFwS4oV2.js +5 -0
- package/dist/components/p-WIpbRULc.js +5 -0
- package/dist/components/p-XFwQkeZH.js +5 -0
- package/dist/components/{p-3450p9UN.js → p-Ype8FNjy.js} +1 -1
- package/dist/components/{p-zeGxLJvE.js → p-a4ooD0o_.js} +1 -1
- package/dist/components/{p-nX_t9aCK.js → p-bVbnoz7C.js} +1 -1
- package/dist/components/{p-Dsu3xdDz.js → p-d1WgLP9O.js} +1 -1
- package/dist/components/{p-CjQ2hRI-.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 +35 -35
- 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-DJ_k25ew.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-Bx6zWD91.js → get-local-language-BLpgwBTx.js} +4 -4
- package/dist/esm/{get-mock-files-BBSjMVMQ.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 +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 +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-81257775.entry.js → p-005d0a3a.entry.js} +1 -1
- package/dist/shift-components/p-0965eb41.entry.js +5 -0
- package/dist/shift-components/{p-7e89d3fc.entry.js → p-164eeced.entry.js} +1 -1
- package/dist/shift-components/{p-1a0b40e6.entry.js → p-219e589c.entry.js} +1 -1
- package/dist/shift-components/{p-d23d9d1f.entry.js → p-3324bdf6.entry.js} +1 -1
- package/dist/shift-components/{p-7f2e2763.entry.js → p-3790e469.entry.js} +1 -1
- package/dist/shift-components/{p-c2512cb2.entry.js → p-3895d8e5.entry.js} +1 -1
- package/dist/shift-components/p-391c55af.entry.js +5 -0
- package/dist/shift-components/{p-cc900265.entry.js → p-3ba3f543.entry.js} +1 -1
- package/dist/shift-components/{p-3YRvA44H.js → p-48Fp2I0C.js} +1 -1
- package/dist/shift-components/p-5c28fb6d.entry.js +5 -0
- package/dist/shift-components/{p-e02f3a3f.entry.js → p-60232b66.entry.js} +1 -1
- package/dist/shift-components/{p-c197b86b.entry.js → p-82bb8960.entry.js} +1 -1
- package/dist/shift-components/{p-a1b97bce.entry.js → p-879faeec.entry.js} +1 -1
- package/dist/shift-components/{p-0398f3c4.entry.js → p-90034cd8.entry.js} +1 -1
- package/dist/shift-components/p-93ddc847.entry.js +5 -0
- package/dist/shift-components/p-C68bG4KE.js +5 -0
- package/dist/shift-components/{p-DwFtCPcT.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-165ff895.entry.js → p-a4f1502c.entry.js} +1 -1
- package/dist/shift-components/{p-10882717.entry.js → p-af71f000.entry.js} +1 -1
- package/dist/shift-components/p-bd8dbd1d.entry.js +5 -0
- package/dist/shift-components/{p-327774de.entry.js → p-be19d7ff.entry.js} +1 -1
- package/dist/shift-components/{p-95a4096f.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-f30a355a.entry.js → p-e7986265.entry.js} +1 -1
- package/dist/shift-components/p-f638970e.entry.js +5 -0
- package/dist/shift-components/{p-8870420e.entry.js → p-f93d79bc.entry.js} +1 -1
- package/dist/shift-components/{p-1be40385.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-BJrbtmnU.js +0 -5
- package/dist/components/p-BTt7sEhA.js +0 -5
- package/dist/components/p-BiTpOAiT.js +0 -5
- package/dist/components/p-BwcxrN3h.js +0 -5
- package/dist/components/p-CC5K40ze.js +0 -5
- package/dist/components/p-CUTQhKeo.js +0 -5
- package/dist/components/p-CsXGhc7r.js +0 -5
- package/dist/components/p-D1JLecvO.js +0 -5
- package/dist/components/p-DQSUv7pB.js +0 -5
- package/dist/components/p-DU9WzEFX.js +0 -5
- package/dist/components/p-DdgLsuaX.js +0 -5
- package/dist/components/p-DeeDRJ2C.js +0 -5
- package/dist/components/p-Dts2Iuoc.js +0 -5
- package/dist/components/p-DvcOTV3l.js +0 -5
- package/dist/components/p-g-v1c-Sz.js +0 -5
- package/dist/components/p-kvRYCMvP.js +0 -5
- package/dist/components/p-rW_ExFCn.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--hCDlSpp.js +0 -5
- package/dist/shift-components/p-020fbe81.entry.js +0 -5
- package/dist/shift-components/p-79e08717.entry.js +0 -5
- package/dist/shift-components/p-7b1c5abb.entry.js +0 -5
- package/dist/shift-components/p-8d205235.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-a0dc1bcc.entry.js +0 -5
- package/dist/shift-components/p-bd1a0763.entry.js +0 -5
- package/dist/shift-components/p-ddf6c6f6.entry.js +0 -5
- package/dist/shift-components/p-e72947e0.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
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!pointer-events-none{pointer-events:none!important}.absolute{position:absolute}.\!relative{position:relative!important}.relative{position:relative}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.block{display:block}.flex{display:flex}.hidden{display:none}.origin-left{transform-origin:left}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!overflow-hidden{overflow:hidden!important}.rounded-\[4px\]{border-radius:4px}.border{border-width:1px}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.shift-skeleton{border-radius:4px;position:relative!important}.loading .shift-skeleton,.loading.shift-skeleton{border-style:none!important;overflow:hidden!important;pointer-events:none!important;position:relative!important}.shift-skeleton:after{background:linear-gradient(-45deg,#d4d8de,#e2e5e9,#d4d8de);background-size:300% 300%;border-radius:inherit!important;content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform-origin:left;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;z-index:10}.loading .shift-skeleton:after,.loading.shift-skeleton:after{--tw-scale-x:1;animation:shimmer 2s ease-in-out infinite;opacity:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes shimmer{0%{background-position:100% 0}50%{background-position:0 100%}to{background-position:100% 0}}.vehicle-info-container{background-color:#fdfdfd;border:1px solid #dcdcdc;border-radius:5px;box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 hsla(0,0%,100%,.1);overflow:hidden;padding:0;position:relative;transition-duration:.5s;transition-property:all}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f6f6f6;border-radius:5px;border-top:1px solid #dcdcdc;border-top-left-radius:0;border-top-right-radius:0}::-webkit-scrollbar-thumb{background:#c5c5c5;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.hide-scroll ::-webkit-scrollbar-thumb,.hide-scroll::-webkit-scrollbar-thumb,.loading ::-webkit-scrollbar-thumb{background:transparent}.vehicle-info-body{display:flex;flex-direction:column;overflow:hidden;position:relative;transition-duration:.5s;transition-property:all;transition-timing-function:ease-in-out}.vehicle-info-content{transition-duration:.5s;transition-property:all;width:100%}.vehicle-info-header{align-items:center;background-color:#f6f6f6;border:1px solid #ededed;display:flex;height:54px;justify-content:center;position:relative;text-align:center}.vehicle-info-header-action{align-items:center;display:flex;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.vehicle-info-header-vin{display:inline-block;font-size:16px;transition-duration:.5s;transition-property:all}.vehicle-info-header-vin span{color:#ef4444}.loading .vehicle-info-header-vin{opacity:0;transform:scale(1.5);visibility:hidden}:host{all:initial!important;display:block;font-family:inherit!important;font-family:Noto Kufi Arabic,Nunito,Roboto,Arial,sans-serif!important}.part-lookup,.part-lookup *{font-family:Noto Kufi Arabic,Nunito,Roboto,Arial,sans-serif!important}.static{position:static}.h-\[200px\]{height:200px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.text-\[26px\]{font-size:26px}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.flex-col{flex-direction:column}.gap-\[16px\]{gap:16px}.p-\[16px\]{padding:16px}.pb-\[16px\]{padding-bottom:16px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.mx-auto{margin-left:auto;margin-right:auto}.me-2{margin-inline-end:.5rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mt-\[32px\]{margin-top:32px}.inline-flex{display:inline-flex}.h-\[50px\]{height:50px}.w-fit{width:fit-content}.max-w-full{max-width:100%}.flex-wrap{flex-wrap:wrap}.items-stretch{align-items:stretch}.gap-\[8px\]{gap:8px}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:.5rem}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.bg-\[\#f6f6f6\]{--tw-bg-opacity:1;background-color:rgb(246 246 246/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.p-\[2px\]{padding:2px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-\[16px\]{padding-left:16px;padding-right:16px}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-\[green\]{--tw-text-opacity:1;color:rgb(0 128 0/var(--tw-text-opacity,1))}.text-\[orange\]{--tw-text-opacity:1;color:rgb(255 165 0/var(--tw-text-opacity,1))}.text-\[red\]{--tw-text-opacity:1;color:rgb(255 0 0/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}@media (min-width:768px){.md\:justify-between{justify-content:space-between}}.\[\&\>div\]\:grow>div{flex-grow:1}.me-1{margin-inline-end:.25rem}.mb-\[12px\]{margin-bottom:12px}.w-\[500px\]{width:500px}.max-w-\[250px\]{max-width:250px}.max-w-\[96vw\]{max-width:96vw}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.gap-2{gap:.5rem}.gap-\[32px\]{gap:32px}.rounded-md{border-radius:.375rem}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.py-\[10px\]{padding-bottom:10px;padding-top:10px}.py-\[12px\]{padding-bottom:12px}.pt-\[12px\],.py-\[12px\]{padding-top:12px}.pt-\[32px\]{padding-top:32px}.pt-\[8px\]{padding-top:8px}.text-center{text-align:center}.text-\[20px\]{font-size:20px}.text-xl{font-size:1.25rem;line-height:1.75rem}.even\:bg-slate-100:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-sky-100\/50:hover{background-color:rgba(224,242,254,.5)}.\!w-full{width:100%!important}.translate-x-\[-200\%\]{--tw-translate-x:-200%}.translate-x-\[-200\%\],.translate-y-\[200\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[200\%\]{--tw-translate-y:200%}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!duration-0{transition-duration:0s!important}.\[\&_\*\]\:\!pointer-events-none *{pointer-events:none!important}.my-auto{margin-bottom:auto;margin-top:auto}.table{display:table}.grid{display:grid}.size-\[20px\]{height:20px;width:20px}.size-\[32px\]{height:32px;width:32px}.size-full{height:100%;width:100%}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.place-items-center{place-items:center}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200\/70{background-color:rgba(226,232,240,.7)}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[6px\]{padding-left:6px;padding-right:6px}.px-\[8px\]{padding-left:8px;padding-right:8px}.py-\[16px\]{padding-bottom:16px;padding-top:16px}.py-\[6px\]{padding-bottom:6px;padding-top:6px}.py-\[8px\]{padding-bottom:8px;padding-top:8px}.text-\[13px\]{font-size:13px}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-sky-200:hover{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.hover\:bg-slate-200\/70:hover{background-color:rgba(226,232,240,.7)}.resize{resize:both}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!h-auto{height:auto!important}.min-w-full{min-width:100%}.overflow-hidden{overflow:hidden}.\!transition-none{transition-property:none!important}.\!duration-500{transition-duration:.5s!important}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!pointer-events-none{pointer-events:none!important}.absolute{position:absolute}.\!relative{position:relative!important}.relative{position:relative}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.block{display:block}.flex{display:flex}.hidden{display:none}.origin-left{transform-origin:left}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!overflow-hidden{overflow:hidden!important}.rounded-\[4px\]{border-radius:4px}.border{border-width:1px}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.shift-skeleton{border-radius:4px;position:relative!important}.loading .shift-skeleton,.loading.shift-skeleton{border-style:none!important;overflow:hidden!important;pointer-events:none!important;position:relative!important}.shift-skeleton:after{background:linear-gradient(-45deg,#d4d8de,#e2e5e9,#d4d8de);background-size:300% 300%;border-radius:inherit!important;content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform-origin:left;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;z-index:10}.loading .shift-skeleton:after,.loading.shift-skeleton:after{--tw-scale-x:1;animation:shimmer 2s ease-in-out infinite;opacity:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes shimmer{0%{background-position:100% 0}50%{background-position:0 100%}to{background-position:100% 0}}.vehicle-info-container{background-color:#fdfdfd;border:1px solid #dcdcdc;border-radius:5px;box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 hsla(0,0%,100%,.1);overflow:hidden;padding:0;position:relative;transition-duration:.5s;transition-property:all}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f6f6f6;border-radius:5px;border-top:1px solid #dcdcdc;border-top-left-radius:0;border-top-right-radius:0}::-webkit-scrollbar-thumb{background:#c5c5c5;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.hide-scroll ::-webkit-scrollbar-thumb,.hide-scroll::-webkit-scrollbar-thumb,.loading ::-webkit-scrollbar-thumb{background:transparent}.vehicle-info-body{display:flex;flex-direction:column;overflow:hidden;position:relative;transition-duration:.5s;transition-property:all;transition-timing-function:ease-in-out}.vehicle-info-content{transition-duration:.5s;transition-property:all;width:100%}.vehicle-info-header{align-items:center;background-color:#f6f6f6;border:1px solid #ededed;display:flex;height:54px;justify-content:center;position:relative;text-align:center}.vehicle-info-header-action{align-items:center;display:flex;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.vehicle-info-header-vin{display:inline-block;font-size:16px;transition-duration:.5s;transition-property:all}.vehicle-info-header-vin span{color:#ef4444}.loading .vehicle-info-header-vin{opacity:0;transform:scale(1.5);visibility:hidden}:host{all:initial!important;display:block;font-family:inherit!important;font-family:Noto Kufi Arabic,Nunito,Roboto,Arial,sans-serif!important}.part-lookup,.part-lookup *{font-family:Noto Kufi Arabic,Nunito,Roboto,Arial,sans-serif!important}.static{position:static}.h-\[200px\]{height:200px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.text-\[26px\]{font-size:26px}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.mx-auto{margin-left:auto;margin-right:auto}.me-2{margin-inline-end:.5rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mt-\[32px\]{margin-top:32px}.inline-flex{display:inline-flex}.h-\[50px\]{height:50px}.w-fit{width:fit-content}.max-w-full{max-width:100%}.flex-wrap{flex-wrap:wrap}.items-stretch{align-items:stretch}.gap-\[16px\]{gap:16px}.gap-\[8px\]{gap:8px}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:.5rem}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.bg-\[\#f6f6f6\]{--tw-bg-opacity:1;background-color:rgb(246 246 246/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.p-\[16px\]{padding:16px}.p-\[2px\]{padding:2px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-\[16px\]{padding-left:16px;padding-right:16px}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-\[green\]{--tw-text-opacity:1;color:rgb(0 128 0/var(--tw-text-opacity,1))}.text-\[orange\]{--tw-text-opacity:1;color:rgb(255 165 0/var(--tw-text-opacity,1))}.text-\[red\]{--tw-text-opacity:1;color:rgb(255 0 0/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (min-width:768px){.md\:justify-between{justify-content:space-between}}.\[\&\>div\]\:grow>div{flex-grow:1}.me-1{margin-inline-end:.25rem}.flex-col{flex-direction:column}.pb-\[16px\]{padding-bottom:16px}.mb-\[12px\]{margin-bottom:12px}.w-\[500px\]{width:500px}.max-w-\[250px\]{max-width:250px}.max-w-\[96vw\]{max-width:96vw}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.gap-2{gap:.5rem}.gap-\[32px\]{gap:32px}.rounded-md{border-radius:.375rem}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.py-\[10px\]{padding-bottom:10px;padding-top:10px}.py-\[12px\]{padding-bottom:12px}.pt-\[12px\],.py-\[12px\]{padding-top:12px}.pt-\[32px\]{padding-top:32px}.pt-\[8px\]{padding-top:8px}.text-center{text-align:center}.text-\[20px\]{font-size:20px}.text-xl{font-size:1.25rem;line-height:1.75rem}.even\:bg-slate-100:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-sky-100\/50:hover{background-color:rgba(224,242,254,.5)}.\!w-full{width:100%!important}.translate-x-\[-200\%\]{--tw-translate-x:-200%}.translate-x-\[-200\%\],.translate-y-\[200\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[200\%\]{--tw-translate-y:200%}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!duration-0{transition-duration:0s!important}.\[\&_\*\]\:\!pointer-events-none *{pointer-events:none!important}.my-auto{margin-bottom:auto;margin-top:auto}.table{display:table}.grid{display:grid}.size-\[20px\]{height:20px;width:20px}.size-\[32px\]{height:32px;width:32px}.size-full{height:100%;width:100%}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.place-items-center{place-items:center}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200\/70{background-color:rgba(226,232,240,.7)}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[6px\]{padding-left:6px;padding-right:6px}.px-\[8px\]{padding-left:8px;padding-right:8px}.py-\[16px\]{padding-bottom:16px;padding-top:16px}.py-\[6px\]{padding-bottom:6px;padding-top:6px}.py-\[8px\]{padding-bottom:8px;padding-top:8px}.text-\[13px\]{font-size:13px}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-sky-200:hover{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.hover\:bg-slate-200\/70:hover{background-color:rgba(226,232,240,.7)}.resize{resize:both}.\!h-auto{height:auto!important}.min-w-full{min-width:100%}.overflow-hidden{overflow:hidden}.\!transition-none{transition-property:none!important}.\!duration-500{transition-duration:.5s!important}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright (c)
|
|
4
4
|
*/
|
|
5
5
|
import { h } from "@stencil/core";
|
|
6
|
+
import { BADGE_GLYPHS } from "./glyphs";
|
|
6
7
|
const TONE_STANDARD = {
|
|
7
8
|
base: 'var(--green)',
|
|
8
9
|
dark: 'var(--green-dark)',
|
|
@@ -195,12 +196,6 @@ const positionTodayPill = (head, todayPosition) => {
|
|
|
195
196
|
else
|
|
196
197
|
apply();
|
|
197
198
|
};
|
|
198
|
-
// Inline rather than an ~assets import: the glyph takes its colour from the badge
|
|
199
|
-
// state via currentColor, which an <img src> cannot do.
|
|
200
|
-
const BADGE_GLYPHS = {
|
|
201
|
-
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',
|
|
202
|
-
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',
|
|
203
|
-
};
|
|
204
199
|
/**
|
|
205
200
|
* Why the warranty has not started. Possession is not a sale: while the distributor, an intermediary
|
|
206
201
|
* or an un-invoiced broker still holds the vehicle, coverage deliberately has not begun and the
|
|
@@ -256,8 +251,10 @@ export default function CoverageTimeline({ vehicleInformation, locale, isAuthori
|
|
|
256
251
|
// from the warranty DTO rather than inferred from the presence of a broker on the sale.
|
|
257
252
|
const activatingBroker = ((_b = vehicleInformation === null || vehicleInformation === void 0 ? void 0 : vehicleInformation.warranty) === null || _b === void 0 ? void 0 : _b.activatedByBrokerName) || '';
|
|
258
253
|
// "Activated by" is only truthful once something started the coverage. Before that the company is
|
|
259
|
-
// just the dealer holding it, and when a broker started it both parties matter.
|
|
260
|
-
|
|
254
|
+
// just the dealer holding it, and when a broker started it both parties matter. A vehicle with no
|
|
255
|
+
// coverage at all — an older response without `startState`, or one the distributor has no records
|
|
256
|
+
// for — has nobody to have activated anything, so it gets the plain label too.
|
|
257
|
+
const dealerLabel = activatingBroker || notice || !hasCoverage ? locale.dealer : locale.activatedBy;
|
|
261
258
|
const hasActiveWarranty = coverages.some(coverage => coverageStatus(coverage, snapshot) === 'active');
|
|
262
259
|
// Both chips are verdicts about a vehicle, so neither can be given before there is one to judge.
|
|
263
260
|
const verdict = (isPositive) => (!vehicleInformation ? 'idle' : isPositive ? 'positive' : 'negative');
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by ShiftSoftware
|
|
3
|
+
* Copyright (c)
|
|
4
|
+
*/
|
|
5
|
+
import { h } from "@stencil/core";
|
|
6
|
+
import cn from "../../../global/lib/cn";
|
|
7
|
+
import { BADGE_GLYPHS } from "./glyphs";
|
|
8
|
+
/** Identifies a campaign row across renders. Campaign codes are expected to be unique per vehicle; the index guards the odd feed that repeats one. */
|
|
9
|
+
export const sscTraceKey = (item, index) => { var _a; return `${(_a = item === null || item === void 0 ? void 0 : item.sscCode) !== null && _a !== void 0 ? _a : ''}#${index}`; };
|
|
10
|
+
const same = (a, b) => (a || '').trim().toUpperCase() === (b || '').trim().toUpperCase();
|
|
11
|
+
const campaignsOf = (campaigns) => (campaigns || []).filter(Boolean);
|
|
12
|
+
/**
|
|
13
|
+
* The row whose evidence drawer is open: the wanted trace once there is something to show — the
|
|
14
|
+
* evidence, or the failure to get it. While it is being fetched the row's button spins instead and
|
|
15
|
+
* the drawer stays shut, so it never swaps a spinner for content mid-air. The owner watches this to
|
|
16
|
+
* bring the row into view as the drawer opens.
|
|
17
|
+
*/
|
|
18
|
+
export const openDrawerKey = ({ campaigns, showTrace, openTraceKey, traces, traceLoading, }) => {
|
|
19
|
+
if (!showTrace || !openTraceKey)
|
|
20
|
+
return undefined;
|
|
21
|
+
const items = campaignsOf(campaigns);
|
|
22
|
+
const index = items.findIndex((item, i) => sscTraceKey(item, i) === openTraceKey);
|
|
23
|
+
if (index < 0)
|
|
24
|
+
return undefined;
|
|
25
|
+
const trace = traces[openTraceKey] || items[index].trace;
|
|
26
|
+
return !trace && traceLoading ? undefined : openTraceKey;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* What the panel is allowed to assert about the vehicle, and in which colour.
|
|
30
|
+
*
|
|
31
|
+
* THE INVARIANT THIS ENCODES — read before touching it:
|
|
32
|
+
*
|
|
33
|
+
* Campaign status is a legal matter, and this panel must never give a verdict it has not earned.
|
|
34
|
+
* There are two separate paths and a vehicle is on exactly one of them:
|
|
35
|
+
*
|
|
36
|
+
* 1. An AUTHORIZED vehicle (`isAuthorized !== false`) is in the distributor's records. Its
|
|
37
|
+
* campaigns are the list in `campaigns`; an empty list is a genuine "no campaign affects this
|
|
38
|
+
* vehicle" — the distributor looked and found none.
|
|
39
|
+
*
|
|
40
|
+
* 2. An UNAUTHORIZED vehicle (`isAuthorized === false`) is NOT in the distributor's records. The
|
|
41
|
+
* distributor knows nothing about its campaigns, so an empty `campaigns` here is *absence of
|
|
42
|
+
* data*, not a clean bill. The only verdict available is the manufacturer's own answer, obtained
|
|
43
|
+
* through the reCAPTCHA-gated check, and it is a yes/no with no list behind it. Until that answer
|
|
44
|
+
* arrives the panel says "not in the distributor's records" and nothing more — never a green
|
|
45
|
+
* "no campaign", never a table, never a count. A `campaigns` list on an unauthorized vehicle is a
|
|
46
|
+
* data fault (the server derives `isAuthorized` partly *from* having SSC records) and is ignored
|
|
47
|
+
* rather than displayed next to the check.
|
|
48
|
+
*
|
|
49
|
+
* And a third case that is neither: the lookup was SKIPPED for this panel (`skipped`). The other
|
|
50
|
+
* panels show the vehicle, this one holds nothing, and it says "not checked yet" and offers the
|
|
51
|
+
* check — a blank panel would read as "no campaigns", which is the same lie as case 2's.
|
|
52
|
+
*
|
|
53
|
+
* Two sessions independently built a green "no campaign" out of an empty list before this was
|
|
54
|
+
* written down; `SscCampaigns.spec.tsx` now fails if it happens again. The wider rule is in
|
|
55
|
+
* .shift/repos/adp/web-components/vehicle-lookup-invariants.md.
|
|
56
|
+
*/
|
|
57
|
+
export const panelVerdict = ({ locale, vehicleLoaded, authorized, campaigns, checkStatus, skipped }) => {
|
|
58
|
+
if (!vehicleLoaded)
|
|
59
|
+
return skipped ? { state: 'attention', text: locale.skipped } : { state: 'idle', text: '' };
|
|
60
|
+
if (authorized === false) {
|
|
61
|
+
switch (checkStatus) {
|
|
62
|
+
case 'recallExists':
|
|
63
|
+
return { state: 'negative', text: locale.pendingCampaign };
|
|
64
|
+
case 'noRecall':
|
|
65
|
+
return { state: 'positive', text: locale.noPendingCampaign };
|
|
66
|
+
case 'noApplicableVehicleFound':
|
|
67
|
+
return { state: 'neutral', text: locale.vehicleNotFound };
|
|
68
|
+
default:
|
|
69
|
+
return { state: 'neutral', text: locale.notInRecords };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const items = campaignsOf(campaigns);
|
|
73
|
+
const openCount = items.filter(item => !item.repaired).length;
|
|
74
|
+
if (items.length === 0)
|
|
75
|
+
return { state: 'positive', text: locale.noPendingCampaign };
|
|
76
|
+
return { state: openCount > 0 ? 'negative' : 'positive', text: `${openCount} ${locale.open} · ${items.length - openCount} ${locale.repaired}` };
|
|
77
|
+
};
|
|
78
|
+
/** What belongs below the lead strip for this state; `none` shuts the body. */
|
|
79
|
+
export const panelBody = ({ vehicleLoaded, authorized, campaigns, checkAvailable, checkStatus, skipped }) => {
|
|
80
|
+
if (!vehicleLoaded)
|
|
81
|
+
return skipped ? 'run' : 'none';
|
|
82
|
+
if (authorized === false)
|
|
83
|
+
return checkAvailable && !checkStatus ? 'check' : 'none';
|
|
84
|
+
return campaignsOf(campaigns).length > 0 ? 'rows' : 'none';
|
|
85
|
+
};
|
|
86
|
+
/** The strip reads as the column headings only above a list; every other statement is a notice, and in flight it is a skeleton. */
|
|
87
|
+
export const panelLead = (state, busy) => {
|
|
88
|
+
if (busy)
|
|
89
|
+
return 'skeleton';
|
|
90
|
+
if (!state.vehicleLoaded && !state.skipped)
|
|
91
|
+
return 'skeleton';
|
|
92
|
+
return panelBody(state) === 'rows' ? 'columns' : 'notice';
|
|
93
|
+
};
|
|
94
|
+
/** The notice the lead strip carries — null above a list, where the headings speak instead. */
|
|
95
|
+
const leadNotice = ({ locale, vehicleLoaded, authorized, campaigns, skipped, checkAvailable, checkStatus }) => {
|
|
96
|
+
if (!vehicleLoaded)
|
|
97
|
+
return skipped ? { tone: 'attention', text: locale.skippedNotice } : null;
|
|
98
|
+
if (authorized === false) {
|
|
99
|
+
switch (checkStatus) {
|
|
100
|
+
case 'recallExists':
|
|
101
|
+
return { tone: 'negative', text: locale.recallExists };
|
|
102
|
+
case 'noRecall':
|
|
103
|
+
return { tone: 'positive', text: locale.noRecall };
|
|
104
|
+
case 'noApplicableVehicleFound':
|
|
105
|
+
return { tone: 'neutral', text: locale.noApplicableVehicleFound };
|
|
106
|
+
default:
|
|
107
|
+
return { tone: 'neutral', text: checkAvailable ? locale.unauthorizedCheck : locale.unauthorizedNoCheck };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (campaignsOf(campaigns).length === 0)
|
|
111
|
+
return { tone: 'positive', text: locale.noCampaigns };
|
|
112
|
+
return null;
|
|
113
|
+
};
|
|
114
|
+
const Glyph = ({ kind, className }) => (h("svg", { class: className, viewBox: "0 0 512 512", "aria-hidden": "true", focusable: "false" }, h("path", { fill: "currentColor", d: BADGE_GLYPHS[kind] })));
|
|
115
|
+
const BADGE_GLYPH = { positive: 'positive', negative: 'negative', neutral: 'question', attention: 'alert', idle: null };
|
|
116
|
+
const TONE_GLYPH = { positive: 'positive', negative: 'negative', neutral: 'question', attention: 'alert' };
|
|
117
|
+
/**
|
|
118
|
+
* The split-cap verdict pill shared with the warranty timeline: a solid cap carrying the glyph
|
|
119
|
+
* against a tinted body. Idle keeps the shape and asserts nothing, so a row does not move when
|
|
120
|
+
* the verdict lands; neutral is a statement without a verdict ("not in the records").
|
|
121
|
+
*/
|
|
122
|
+
const StatusBadge = ({ state, text }) => {
|
|
123
|
+
const glyph = BADGE_GLYPH[state];
|
|
124
|
+
return (h("span", { class: `status-badge is-${state}`, "aria-hidden": state === 'idle' ? 'true' : null }, h("svg", { class: "badge-icon", viewBox: "0 0 512 512", "aria-hidden": "true", focusable: "false" }, glyph && h("path", { fill: "currentColor", d: BADGE_GLYPHS[glyph] })), h("span", null, state === 'idle' ? '' : text)));
|
|
125
|
+
};
|
|
126
|
+
const Chip = ({ tone, text, note, title, icon }) => (h("span", { class: `ssc-chip is-${tone}`, title: title }, icon && h(Glyph, { kind: icon, className: "chip-icon" }), h("span", { class: "chip-text" }, text), note && h("span", { class: "chip-note" }, note)));
|
|
127
|
+
const sourceLabel = (source, locale) => {
|
|
128
|
+
switch (source) {
|
|
129
|
+
case 'SSCRecord':
|
|
130
|
+
return locale.sourceSSCRecord;
|
|
131
|
+
case 'WarrantyClaim':
|
|
132
|
+
return locale.sourceWarrantyClaim;
|
|
133
|
+
case 'ServiceHistory':
|
|
134
|
+
return locale.sourceServiceHistory;
|
|
135
|
+
default:
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
const RepairStatus = ({ item, locale }) => {
|
|
140
|
+
const source = item.repaired ? sourceLabel(item.repairSource, locale) : undefined;
|
|
141
|
+
const text = item.repaired ? (item.repairDate ? `${locale.repaired} · ${item.repairDate}` : locale.repaired) : locale.open;
|
|
142
|
+
return (h("div", { class: "ssc-status-cell" }, h(StatusBadge, { state: item.repaired ? 'positive' : 'negative', text: text }), source && h("span", { class: "ssc-status-source" }, source)));
|
|
143
|
+
};
|
|
144
|
+
/** Three availability states, matching the repair-status icon language: in stock, not in stock, and not checked (neutral, no icon). */
|
|
145
|
+
const PartChip = ({ partNumber, isAvailable, locale }) => {
|
|
146
|
+
if (isAvailable === true)
|
|
147
|
+
return h(Chip, { tone: "positive", icon: "positive", text: partNumber, title: locale.partAvailable });
|
|
148
|
+
if (isAvailable === false)
|
|
149
|
+
return h(Chip, { tone: "negative", icon: "negative", text: partNumber, title: locale.partUnavailable });
|
|
150
|
+
return h(Chip, { tone: "neutral", text: partNumber, title: locale.partNotChecked });
|
|
151
|
+
};
|
|
152
|
+
/** A region the card gains and loses. The grid track animates so it slides rather than pops (lookup-motion.css). */
|
|
153
|
+
const Collapsible = ({ open, className }, children) => (h("div", { class: cn('collapsible', className), "data-open": open ? 'true' : 'false', "aria-hidden": open ? null : 'true' }, h("div", { class: "collapsible-body" }, children)));
|
|
154
|
+
const EvidencePill = ({ positive, text }) => (h("span", { class: cn('evidence-pill', positive ? 'is-positive' : 'is-negative') }, h(Glyph, { kind: positive ? 'positive' : 'negative', className: "evidence-pill-icon" }), h("span", null, text)));
|
|
155
|
+
const MatchedCode = ({ laborCode, campaignLaborCode, locale }) => (h("span", null, locale.traceMatchedCode, " ", h("code", { class: "trace-code" }, laborCode), !same(laborCode, campaignLaborCode) && (h("span", { class: "trace-muted" }, ' ', "(", locale.traceInterchangeableWith, " ", h("code", { class: "trace-code" }, campaignLaborCode), ")"))));
|
|
156
|
+
const ClaimEvidence = ({ claim, locale }) => (h("li", { class: cn('trace-item', { 'is-selected': claim.selected, 'is-dim': !claim.matches && !claim.selected }) }, h("div", { class: "trace-item-head" }, h("strong", { class: "trace-item-title" }, locale.traceClaim, " ", claim.claimNumber || claim.dealerClaimNumber || '—'), h(EvidencePill, { positive: claim.statusQualifies, text: `${claim.claimStatus} · ${claim.statusQualifies ? locale.traceStatusQualifies : locale.traceStatusNotQualifies}` }), claim.repairCompletionDate && (h("span", { class: "trace-date" }, locale.traceCompleted, " ", claim.repairCompletionDate)), claim.selected && h("span", { class: "trace-decided" }, locale.traceDecided)), h("ul", { class: "trace-facts" }, claim.campaignCodeInComment && h("li", { class: "is-hit" }, locale.traceCampaignInComment), (claim.matchedLaborCodes || []).map(match => (h("li", { class: "is-hit", key: match.laborCode }, h(MatchedCode, { laborCode: match.laborCode, campaignLaborCode: match.campaignLaborCode, locale: locale })))), !claim.matches && h("li", { class: "is-miss" }, locale.traceNoReference))));
|
|
157
|
+
const LineEvidence = ({ line, locale }) => (h("li", { class: cn('trace-item', { 'is-selected': line.selected }) }, h("div", { class: "trace-item-head" }, h("strong", { class: "trace-item-title" }, locale.traceInvoice, " ", line.invoiceNumber || '—'), h(EvidencePill, { positive: line.statusQualifies, text: `${locale.traceInvoiceStatus} ${line.invoiceStatus || '—'} · ${line.statusQualifies ? locale.traceStatusQualifies : locale.traceStatusNotQualifies}` }), line.invoiceDate && h("span", { class: "trace-date" }, line.invoiceDate), line.selected && h("span", { class: "trace-decided" }, locale.traceDecided)), h("ul", { class: "trace-facts" }, h("li", { class: "is-hit" }, h(MatchedCode, { laborCode: line.laborCode, campaignLaborCode: line.campaignLaborCode, locale: locale })))));
|
|
158
|
+
const verdictText = (source, locale) => {
|
|
159
|
+
switch (source) {
|
|
160
|
+
case 'SSCRecord':
|
|
161
|
+
return locale.traceVerdictSSCRecord;
|
|
162
|
+
case 'WarrantyClaim':
|
|
163
|
+
return locale.traceVerdictWarrantyClaim;
|
|
164
|
+
case 'ServiceHistory':
|
|
165
|
+
return locale.traceVerdictServiceHistory;
|
|
166
|
+
default:
|
|
167
|
+
return locale.traceVerdictOpen;
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
const DecidedMark = ({ locale }) => (h("span", { class: "trace-step-decided" }, h(Glyph, { kind: "positive", className: "trace-step-decided-icon" }), locale.traceDecided));
|
|
171
|
+
/**
|
|
172
|
+
* The evidence behind one campaign's verdict, in the order the evaluator consulted it. Each of the
|
|
173
|
+
* three sources is a numbered step; the one that decided is marked, and the ones that could not
|
|
174
|
+
* are shown with why — a rejected claim, an un-invoiced job — so the reader sees the near misses,
|
|
175
|
+
* not only the hit. Loading is not shown here: the drawer only opens once there is something to
|
|
176
|
+
* show, and the row's button spins meanwhile, so the drawer never swaps its content mid-air.
|
|
177
|
+
*/
|
|
178
|
+
const SscTrace = ({ locale, item, trace, error }) => {
|
|
179
|
+
if (!trace)
|
|
180
|
+
return (h("div", { class: "ssc-trace" }, h("div", { class: "trace-head" }, h("span", { class: "trace-label" }, locale.traceTitle), h("span", { class: "trace-head-code" }, item.sscCode)), h("div", { class: cn('ssc-trace-status', { 'is-error': !!error }) }, error || locale.traceUnavailable)));
|
|
181
|
+
const source = trace.repairSource;
|
|
182
|
+
const repaired = source && source !== 'None';
|
|
183
|
+
const claims = trace.warrantyClaims || [];
|
|
184
|
+
const lines = trace.serviceHistoryLaborLines || [];
|
|
185
|
+
return (h("div", { class: "ssc-trace", "data-source": source || 'None' }, h("div", { class: "trace-head" }, h("span", { class: "trace-label" }, locale.traceTitle), h("span", { class: "trace-head-code" }, item.sscCode)), h("div", { class: cn('trace-verdict', repaired ? 'is-positive' : 'is-negative') }, h(Glyph, { kind: repaired ? 'positive' : 'negative', className: "trace-verdict-icon" }), h("strong", null, verdictText(source, locale)), repaired && item.repairDate && h("span", { class: "trace-verdict-date" }, item.repairDate)), h("p", { class: "trace-order" }, locale.traceOrder), h("div", { class: "trace-codes" }, h("span", { class: "trace-label" }, locale.traceCodes), h("div", { class: "ssc-chips" }, (trace.campaignLaborCodes || []).map(code => (h(Chip, { tone: "accent", text: code, title: locale.traceCampaignCode }))), (trace.interchangeableLaborCodes || []).map(alternative => (h(Chip, { tone: "neutral", text: alternative.laborCode, note: `↔ ${alternative.campaignLaborCode}`, title: `${locale.traceInterchangeableWith} ${alternative.campaignLaborCode}` }))))), h("ol", { class: "trace-steps" }, h("li", { class: "trace-step", "data-decided": source === 'SSCRecord' ? 'true' : 'false' }, h("div", { class: "trace-step-head" }, h("span", { class: "trace-step-index" }, "1"), h("span", { class: "trace-step-title" }, locale.traceRecord), source === 'SSCRecord' && h(DecidedMark, { locale: locale })), h("div", { class: "trace-step-body" }, trace.recordRepairDate ? (h("span", { class: "trace-kv" }, h("span", null, locale.traceRecordDate), h("strong", null, trace.recordRepairDate))) : (h("span", { class: "trace-muted" }, locale.traceRecordNone)))), h("li", { class: "trace-step", "data-decided": source === 'WarrantyClaim' ? 'true' : 'false' }, h("div", { class: "trace-step-head" }, h("span", { class: "trace-step-index" }, "2"), h("span", { class: "trace-step-title" }, locale.traceClaims), h("span", { class: "trace-count" }, claims.length), source === 'WarrantyClaim' && h(DecidedMark, { locale: locale })), h("div", { class: "trace-step-body" }, claims.length === 0 ? (h("span", { class: "trace-muted" }, locale.traceClaimsNone)) : (h("ul", { class: "trace-evidence" }, claims.map(claim => (h(ClaimEvidence, { claim: claim, locale: locale }))))))), h("li", { class: "trace-step", "data-decided": source === 'ServiceHistory' ? 'true' : 'false' }, h("div", { class: "trace-step-head" }, h("span", { class: "trace-step-index" }, "3"), h("span", { class: "trace-step-title" }, locale.traceHistory), h("span", { class: "trace-count" }, trace.serviceHistoryLaborLinesExamined, " ", locale.traceLinesExamined, " \u00B7 ", lines.length, " ", locale.traceLinesMatched), source === 'ServiceHistory' && h(DecidedMark, { locale: locale })), h("div", { class: "trace-step-body" }, lines.length === 0 ? (h("span", { class: "trace-muted" }, locale.traceHistoryNone)) : (h("ul", { class: "trace-evidence" }, lines.map(line => (h(LineEvidence, { line: line, locale: locale }))))))))));
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* The campaigns of one vehicle. The card is three fixed parts, and every state is a different
|
|
189
|
+
* content of the same three — nothing is added to or removed from the card between states, which
|
|
190
|
+
* is what lets every change be a movement (the rule is in lookup-motion.css and
|
|
191
|
+
* .shift/repos/adp/web-components/motion.md):
|
|
192
|
+
*
|
|
193
|
+
* - the header: the title and the verdict pill. Idle the pill is a blank shape; in flight it
|
|
194
|
+
* carries the sheen; settled it names the verdict.
|
|
195
|
+
* - the lead strip: one band that is a skeleton (idle, in flight), the column headings (above a
|
|
196
|
+
* list), or a notice (everything the panel has to say in a sentence — not in the records, the
|
|
197
|
+
* manufacturer's answer, no campaign affects this vehicle, the check was skipped). The three are
|
|
198
|
+
* layers of one cell and cross-fade; the strip never changes height.
|
|
199
|
+
* - the body: a region that slides open and shut. Open it holds the campaign rows, the
|
|
200
|
+
* manufacturer-check widget, or the "run the check" action; it shuts while a lookup is in
|
|
201
|
+
* flight — with the outgoing content still inside it, so that content leaves with it — and opens
|
|
202
|
+
* again on the new content once the lookup has settled.
|
|
203
|
+
*
|
|
204
|
+
* What the panel may assert is decided by `panelVerdict` — see the invariant there. The rows are
|
|
205
|
+
* a CSS grid with subgrid so the headings in the lead strip and the cells in the body share one
|
|
206
|
+
* set of column tracks: columns take what their content needs, the description absorbs the slack.
|
|
207
|
+
* Below the container breakpoint each row becomes a labelled card and the strip a single label.
|
|
208
|
+
*/
|
|
209
|
+
export const SscCampaigns = (props, children) => {
|
|
210
|
+
var _a;
|
|
211
|
+
const { locale, loading, checking, retainedBody, onRunLookup, showTrace, openTraceKey, traces, traceError, onToggleTrace } = props;
|
|
212
|
+
const verdict = panelVerdict(props);
|
|
213
|
+
const body = panelBody(props);
|
|
214
|
+
const busy = loading || checking;
|
|
215
|
+
const lead = panelLead(props, busy);
|
|
216
|
+
const notice = leadNotice(props);
|
|
217
|
+
// The body shuts while a lookup is in flight and whenever there is nothing to show; while shut
|
|
218
|
+
// it keeps rendering what it last held, so that content slides away rather than blinking out.
|
|
219
|
+
const bodyOpen = !loading && body !== 'none';
|
|
220
|
+
const shown = body === 'none' ? retainedBody : body;
|
|
221
|
+
const items = props.vehicleLoaded && props.authorized !== false ? campaignsOf(props.campaigns) : [];
|
|
222
|
+
const openDrawer = openDrawerKey(props);
|
|
223
|
+
return (h("section", { class: "ssc-card", "data-verdict": verdict.state, "data-phase": busy ? 'busy' : 'settled' }, h("header", { class: "ssc-head" }, h("span", { class: "ssc-title" }, locale.title), h("div", { class: "ssc-summary" }, h(StatusBadge, { state: verdict.state, text: verdict.text }))), h("div", { class: cn('ssc-grid', { 'has-trace': showTrace }), role: shown === 'rows' && bodyOpen ? 'table' : null }, h("div", { class: "ssc-lead layer-stack", "data-lead": lead }, h("div", { class: "layer ssc-lead-skeleton", "data-active": lead === 'skeleton' ? 'true' : 'false', "aria-hidden": "true" }), h("div", { class: cn('layer ssc-lead-notice', notice && `is-${notice.tone}`), "data-active": lead === 'notice' ? 'true' : 'false', role: "status", "aria-hidden": lead === 'notice' ? null : 'true' }, notice && h(Glyph, { kind: TONE_GLYPH[notice.tone], className: "notice-icon" }), h("span", null, (_a = notice === null || notice === void 0 ? void 0 : notice.text) !== null && _a !== void 0 ? _a : '')), h("div", { class: "layer ssc-lead-columns", "data-active": lead === 'columns' ? 'true' : 'false', role: "row", "aria-hidden": lead === 'columns' ? null : 'true' }, h("span", { class: "ssc-cell ssc-code", role: "columnheader" }, locale.code), h("span", { class: "ssc-cell ssc-description", role: "columnheader" }, locale.description), h("span", { class: "ssc-cell ssc-status", role: "columnheader" }, locale.status), h("span", { class: "ssc-cell ssc-labors", role: "columnheader" }, locale.laborCodes), h("span", { class: "ssc-cell ssc-parts", role: "columnheader" }, locale.parts), showTrace && (h("span", { class: "ssc-cell ssc-trace-cell", role: "columnheader" }, h("span", { class: "sr-only" }, locale.viewTrace))), h("span", { class: "ssc-columns-label", "aria-hidden": "true" }, locale.campaignList))), h("div", { class: "ssc-body collapsible", "data-open": bodyOpen ? 'true' : 'false', "data-body": shown, role: shown === 'rows' && bodyOpen ? 'rowgroup' : null, "aria-hidden": bodyOpen ? null : 'true' }, h("div", { class: "collapsible-body ssc-body-inner" }, shown === 'rows' && (h("div", { class: "ssc-rows" }, items.map((item, index) => {
|
|
224
|
+
const key = sscTraceKey(item, index);
|
|
225
|
+
const wanted = showTrace && openTraceKey === key;
|
|
226
|
+
const trace = traces[key] || item.trace;
|
|
227
|
+
// Fetching the evidence spins the button; the drawer opens only once there is
|
|
228
|
+
// something to show (openDrawerKey), so it never swaps a spinner for content mid-air.
|
|
229
|
+
const drawerOpen = openDrawer === key;
|
|
230
|
+
const fetching = wanted && !drawerOpen;
|
|
231
|
+
return [
|
|
232
|
+
h("div", { class: "ssc-row", role: "row", "data-open": drawerOpen ? 'true' : 'false', "data-trace-key": key, key: key }, h("div", { class: "ssc-cell ssc-code", role: "cell", "data-label": locale.code }, h("strong", null, item.sscCode)), h("div", { class: "ssc-cell ssc-description", role: "cell", "data-label": locale.description }, item.description), h("div", { class: "ssc-cell ssc-status", role: "cell", "data-label": locale.status }, h(RepairStatus, { item: item, locale: locale })), h("div", { class: "ssc-cell ssc-labors", role: "cell", "data-label": locale.laborCodes }, h("div", { class: "ssc-chips" }, (item.labors || []).length ? (item.labors || []).map(labor => h(Chip, { tone: "accent", text: labor === null || labor === void 0 ? void 0 : labor.laborCode })) : h("span", { class: "ssc-none" }, "\u2014"))), h("div", { class: "ssc-cell ssc-parts", role: "cell", "data-label": locale.parts }, h("div", { class: "ssc-chips" }, (item.parts || []).length ? ((item.parts || []).map(part => h(PartChip, { partNumber: part === null || part === void 0 ? void 0 : part.partNumber, isAvailable: part === null || part === void 0 ? void 0 : part.isAvailable, locale: locale }))) : (h("span", { class: "ssc-none" }, "\u2014")))), showTrace && (h("div", { class: "ssc-cell ssc-trace-cell", role: "cell" }, h("button", { type: "button", class: "ssc-trace-button", "data-loading": fetching ? 'true' : 'false', "aria-busy": fetching ? 'true' : null, "aria-expanded": drawerOpen ? 'true' : 'false', title: drawerOpen ? locale.hideTrace : locale.viewTrace, "aria-label": drawerOpen ? locale.hideTrace : locale.viewTrace, onClick: () => onToggleTrace(key) }, h(Glyph, { kind: "question", className: "ssc-trace-button-icon" }), h("span", { class: "ssc-trace-button-spinner", "aria-hidden": "true" }))))),
|
|
233
|
+
showTrace && (h("div", { class: "ssc-trace-row", role: "row", "data-open": drawerOpen ? 'true' : 'false', key: `${key}-trace` }, h("div", { role: "cell" }, h(Collapsible, { open: drawerOpen }, (wanted || trace || traceError) && h(SscTrace, { locale: locale, item: item, trace: trace, error: traceError }))))),
|
|
234
|
+
];
|
|
235
|
+
}))), shown === 'check' && (h("div", { class: "ssc-check", "data-checking": checking ? 'true' : 'false' }, children, h(Collapsible, { open: checking, className: "ssc-checking-slot" }, h("div", { class: "ssc-checking", role: "status" }, h("span", { class: "ssc-spinner", "aria-hidden": "true" }), h("span", null, locale.checkingTMC))))), shown === 'run' && (h("div", { class: "ssc-run" }, h("button", { type: "button", class: "ssc-run-button", onClick: onRunLookup }, h("svg", { class: "ssc-run-icon", viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false" }, h("circle", { cx: "10.5", cy: "10.5", r: "6.5", fill: "currentColor", "fill-opacity": "0.24", stroke: "currentColor", "stroke-width": "1.6" }), h("path", { d: "M15.6 15.6L20.5 20.5", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })), h("span", null, locale.runCheck)))))))));
|
|
236
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by ShiftSoftware
|
|
3
|
+
* Copyright (c)
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Inline SVG paths shared by the panels in the newer design language. Kept as path data rather
|
|
7
|
+
* than <img> assets so a glyph takes the colour of the badge it sits in and stays crisp at any
|
|
8
|
+
* size. All are drawn on a 512 x 512 box.
|
|
9
|
+
*/
|
|
10
|
+
export const BADGE_GLYPHS = {
|
|
11
|
+
/** A filled circle with a check mark: a positive verdict. */
|
|
12
|
+
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',
|
|
13
|
+
/** A filled circle with a cross: a negative verdict. */
|
|
14
|
+
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',
|
|
15
|
+
/** A filled circle with an exclamation mark: a required action not taken yet — the check must be run. */
|
|
16
|
+
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',
|
|
17
|
+
/** A filled circle with a question mark: "why?", the trace trigger. */
|
|
18
|
+
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',
|
|
19
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!pointer-events-none{pointer-events:none!important}.fixed{position:fixed}.absolute{position:absolute}.\!relative{position:relative!important}.relative{position:relative}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.block{display:block}.flex{display:flex}.hidden{display:none}.origin-left{transform-origin:left}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!overflow-hidden{overflow:hidden!important}.rounded-\[4px\]{border-radius:4px}.border{border-width:1px}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.shift-skeleton{border-radius:4px;position:relative!important}.loading .shift-skeleton,.loading.shift-skeleton{border-style:none!important;overflow:hidden!important;pointer-events:none!important;position:relative!important}.shift-skeleton:after{background:linear-gradient(-45deg,#d4d8de,#e2e5e9,#d4d8de);background-size:300% 300%;border-radius:inherit!important;content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform-origin:left;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;z-index:10}.loading .shift-skeleton:after,.loading.shift-skeleton:after{--tw-scale-x:1;animation:shimmer 2s ease-in-out infinite;opacity:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes shimmer{0%{background-position:100% 0}50%{background-position:0 100%}to{background-position:100% 0}}.image-viewer-overlay{background-color:rgba(0,0,0,.4);height:100dvh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition-duration:.4s;transition-property:all;width:100dvw;z-index:50}.image-viewer-overlay.active{opacity:1;pointer-events:auto;transition-delay:.2s}.image-viewer-close-btn{align-items:center;cursor:pointer;display:flex;flex-direction:column;float:right;height:3rem;justify-content:center;margin-right:16px;margin-top:16px;width:3rem}.image-viewer-close-line{background-color:#fff;border-radius:9999px;height:.25rem;position:absolute;width:3rem}.image-viewer-close-line.first{transform:rotate(45deg)}.image-viewer-close-line.second{transform:rotate(-45deg)}.image-viewer-expanded-image{border-radius:.5rem;opacity:0;position:fixed;transition-property:all;z-index:50}.vehicle-info-container{background-color:#fdfdfd;border:1px solid #dcdcdc;border-radius:5px;box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 hsla(0,0%,100%,.1);overflow:hidden;padding:0;position:relative;transition-duration:.5s;transition-property:all}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f6f6f6;border-radius:5px;border-top:1px solid #dcdcdc;border-top-left-radius:0;border-top-right-radius:0}::-webkit-scrollbar-thumb{background:#c5c5c5;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.hide-scroll ::-webkit-scrollbar-thumb,.hide-scroll::-webkit-scrollbar-thumb,.loading ::-webkit-scrollbar-thumb{background:transparent}.vehicle-info-body{display:flex;flex-direction:column;overflow:hidden;position:relative;transition-duration:.5s;transition-property:all;transition-timing-function:ease-in-out}.vehicle-info-content{transition-duration:.5s;transition-property:all;width:100%}.vehicle-info-header{align-items:center;background-color:#f6f6f6;border:1px solid #ededed;display:flex;height:54px;justify-content:center;position:relative;text-align:center}.vehicle-info-header-action{align-items:center;display:flex;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.vehicle-info-header-vin{display:inline-block;font-size:16px;transition-duration:.5s;transition-property:all}.vehicle-info-header-vin span{color:#ef4444}.loading .vehicle-info-header-vin{opacity:0;transform:scale(1.5);visibility:hidden}:host{all:initial!important;display:block;font-family:inherit!important;font-family:Noto Kufi Arabic,Nunito,Roboto,Arial,sans-serif!important}*,:host *{font-family:inherit!important}.static{position:static}.h-\[200px\]{height:200px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.text-\[26px\]{font-size:26px}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!h-auto{height:auto!important}.min-w-full{min-width:100%}.resize{resize:both}.overflow-hidden{overflow:hidden}.\!transition-none{transition-property:none!important}.\!duration-0{transition-duration:0s!important}.\!duration-500{transition-duration:.5s!important}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.mx-auto{margin-left:auto;margin-right:auto}.size-\[100px\]{height:100px;width:100px}.size-full{height:100%;width:100%}.h-auto{height:auto}.max-h-\[100px\]{max-height:100px}.w-auto{width:auto}.w-fit{width:fit-content}.max-w-\[100px\]{max-width:100px}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.gap-\[4px\]{gap:4px}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:.5rem}.bg-black\/40{background-color:rgba(0,0,0,.4)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.duration-300{transition-duration:.3s}.hover\:opacity-100:hover{opacity:1}.\[\&_div\]\:hover\:\!opacity-100:hover div{opacity:1!important}.\[\&_img\]\:hover\:shadow-lg:hover img{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.pointer-events-auto{pointer-events:auto}.bottom-\[40px\]{bottom:40px}.left-1\/2{left:50%}.left-\[30px\]{left:30px}.ml-\[-125px\]{margin-left:-125px}.box-content{box-sizing:content-box}.grid{display:grid}.size-\[30px\]{height:30px;width:30px}.size-\[90px\]{height:90px;width:90px}.h-10{height:2.5rem}.h-\[320px\]{height:320px}.h-full{height:100%}.w-1\/2{width:50%}.w-\[150\%\]{width:150%}.w-\[90\%\]{width:90%}.w-\[calc\(100\%-0px\)\]{width:100%}.w-\[calc\(100\%-60px\)\]{width:calc(100% - 60px)}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.translate-y-\[-50\%\],.translate-y-\[-5px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-5px\]{--tw-translate-y:-5px}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-\[70\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[70\%\]{--tw-scale-x:70%;--tw-scale-y:70%}.justify-between{justify-content:space-between}.gap-\[250px\]{gap:250px}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.rounded-\[6px\]{border-radius:6px}.border-\[\#f2aeb5\]{--tw-border-opacity:1;border-color:rgb(242 174 181/var(--tw-border-opacity,1))}.border-\[\#faebcc\]{--tw-border-opacity:1;border-color:rgb(250 235 204/var(--tw-border-opacity,1))}.bg-\[\#1a1a1a\]{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.bg-\[\#f7d7d8\]{--tw-bg-opacity:1;background-color:rgb(247 215 216/var(--tw-bg-opacity,1))}.bg-\[\#fcf8e3\]{--tw-bg-opacity:1;background-color:rgb(252 248 227/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(to_bottom\2c _\#428bca_0\%\2c _\#3071a9_100\%\)\]{background-image:linear-gradient(180deg,#428bca,#3071a9)}.p-\[25px\]{padding:25px}.px-\[30px\]{padding-left:30px;padding-right:30px}.pt-\[16px\]{padding-top:16px}.text-\[16px\]{font-size:16px}.text-\[22px\]{font-size:22px}.font-semibold{font-weight:600}.text-\[\#58151c\]{--tw-text-opacity:1;color:rgb(88 21 28/var(--tw-text-opacity,1))}.text-\[\#8a6d3b\]{--tw-text-opacity:1;color:rgb(138 109 59/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.\[\&_\*\]\:shrink-0 *{flex-shrink:0}.end-0{inset-inline-end:0}.top-full{top:100%}.my-auto{margin-bottom:auto;margin-top:auto}.me-\[16px\]{margin-inline-end:16px}.mt-\[4px\]{margin-top:4px}.size-\[16px\]{height:16px;width:16px}.size-\[18px\]{height:18px;width:18px}.h-\[150px\]{height:150px}.w-\[84px\]{width:84px}.min-w-0{min-width:0}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.gap-\[16px\]{gap:16px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.whitespace-nowrap{white-space:nowrap}.border-b{border-bottom-width:1px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-\[12px\]{padding:12px}.p-\[6px\]{padding:6px}.px-\[16px\]{padding-left:16px;padding-right:16px}.px-\[24px\]{padding-left:24px;padding-right:24px}.py-\[10px\]{padding-bottom:10px;padding-top:10px}.py-\[15px\]{padding-bottom:15px;padding-top:15px}.py-\[16px\]{padding-bottom:16px;padding-top:16px}.py-\[6px\]{padding-bottom:6px;padding-top:6px}.py-\[8px\]{padding-bottom:8px;padding-top:8px}.text-center{text-align:center}.text-\[17px\]{font-size:17px}.font-medium{font-weight:500}.no-underline{text-decoration-line:none}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:border-amber-600:hover{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.hover\:bg-sky-100\/50:hover{background-color:rgba(224,242,254,.5)}.max-w-\[460px\]{max-width:460px}.max-w-\[520px\]{max-width:520px}.translate-y-\[-4px\]{--tw-translate-y:-4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{user-select:none}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.gap-\[12px\]{gap:12px}.gap-\[2px\]{gap:2px}.overflow-auto{overflow:auto}.\!rounded-\[12px\]{border-radius:12px!important}.rounded-\[14px\]{border-radius:14px}.p-\[16px\]{padding:16px}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[14px\]{padding-left:14px;padding-right:14px}.py-\[12px\]{padding-bottom:12px;padding-top:12px}.\!pb-0{padding-bottom:0!important}.text-\[13\.5px\]{font-size:13.5px}.leading-\[1\.35\]{line-height:1.35}.text-amber-900\/90{color:rgba(120,53,15,.9)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (min-width:768px){.md\:justify-between{justify-content:space-between}}.\[\&\>div\]\:grow>div{flex-grow:1}.my-2{margin-bottom:.5rem;margin-top:.5rem}.grow{flex-grow:1}.mt-\[32px\]{margin-top:32px}.h-\[25px\]{height:25px}.h-\[50px\]{height:50px}.h-\[8px\]{height:8px}.bg-\[\#f6f6f6\]{--tw-bg-opacity:1;background-color:rgb(246 246 246/var(--tw-bg-opacity,1))}.pt-\[40px\]{padding-top:40px}.text-\[18px\]{font-size:18px}.font-bold{font-weight:700}.success-card{background-color:#d0e7de;border-color:#a2d0bb;color:#0b3521}.reject-card{background-color:#f7d7d8;border-color:#f2aeb5;color:#58151c}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.z-\[999\]{z-index:999}.h-\[100dvh\]{height:100dvh}.w-\[100dvw\]{width:100dvw}.scale-100,.scale-\[110\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[110\%\]{--tw-scale-x:110%;--tw-scale-y:110%}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.stroke-\[1\.5px\]{stroke-width:1.5px}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!pointer-events-none{pointer-events:none!important}.fixed{position:fixed}.absolute{position:absolute}.\!relative{position:relative!important}.relative{position:relative}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.block{display:block}.flex{display:flex}.hidden{display:none}.origin-left{transform-origin:left}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!overflow-hidden{overflow:hidden!important}.rounded-\[4px\]{border-radius:4px}.border{border-width:1px}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.shift-skeleton{border-radius:4px;position:relative!important}.loading .shift-skeleton,.loading.shift-skeleton{border-style:none!important;overflow:hidden!important;pointer-events:none!important;position:relative!important}.shift-skeleton:after{background:linear-gradient(-45deg,#d4d8de,#e2e5e9,#d4d8de);background-size:300% 300%;border-radius:inherit!important;content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform-origin:left;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;z-index:10}.loading .shift-skeleton:after,.loading.shift-skeleton:after{--tw-scale-x:1;animation:shimmer 2s ease-in-out infinite;opacity:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes shimmer{0%{background-position:100% 0}50%{background-position:0 100%}to{background-position:100% 0}}.image-viewer-overlay{background-color:rgba(0,0,0,.4);height:100dvh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition-duration:.4s;transition-property:all;width:100dvw;z-index:50}.image-viewer-overlay.active{opacity:1;pointer-events:auto;transition-delay:.2s}.image-viewer-close-btn{align-items:center;cursor:pointer;display:flex;flex-direction:column;float:right;height:3rem;justify-content:center;margin-right:16px;margin-top:16px;width:3rem}.image-viewer-close-line{background-color:#fff;border-radius:9999px;height:.25rem;position:absolute;width:3rem}.image-viewer-close-line.first{transform:rotate(45deg)}.image-viewer-close-line.second{transform:rotate(-45deg)}.image-viewer-expanded-image{border-radius:.5rem;opacity:0;position:fixed;transition-property:all;z-index:50}.vehicle-info-container{background-color:#fdfdfd;border:1px solid #dcdcdc;border-radius:5px;box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 hsla(0,0%,100%,.1);overflow:hidden;padding:0;position:relative;transition-duration:.5s;transition-property:all}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f6f6f6;border-radius:5px;border-top:1px solid #dcdcdc;border-top-left-radius:0;border-top-right-radius:0}::-webkit-scrollbar-thumb{background:#c5c5c5;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.hide-scroll ::-webkit-scrollbar-thumb,.hide-scroll::-webkit-scrollbar-thumb,.loading ::-webkit-scrollbar-thumb{background:transparent}.vehicle-info-body{display:flex;flex-direction:column;overflow:hidden;position:relative;transition-duration:.5s;transition-property:all;transition-timing-function:ease-in-out}.vehicle-info-content{transition-duration:.5s;transition-property:all;width:100%}.vehicle-info-header{align-items:center;background-color:#f6f6f6;border:1px solid #ededed;display:flex;height:54px;justify-content:center;position:relative;text-align:center}.vehicle-info-header-action{align-items:center;display:flex;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.vehicle-info-header-vin{display:inline-block;font-size:16px;transition-duration:.5s;transition-property:all}.vehicle-info-header-vin span{color:#ef4444}.loading .vehicle-info-header-vin{opacity:0;transform:scale(1.5);visibility:hidden}:host{all:initial!important;display:block;font-family:inherit!important;font-family:Noto Kufi Arabic,Nunito,Roboto,Arial,sans-serif!important}*,:host *{font-family:inherit!important}.pointer-events-none{pointer-events:none}.static{position:static}.mx-auto{margin-left:auto;margin-right:auto}.size-\[100px\]{height:100px;width:100px}.size-full{height:100%;width:100%}.h-auto{height:auto}.max-h-\[100px\]{max-height:100px}.w-auto{width:auto}.w-fit{width:fit-content}.max-w-\[100px\]{max-width:100px}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\[4px\]{gap:4px}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:.5rem}.bg-black\/40{background-color:rgba(0,0,0,.4)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.duration-300{transition-duration:.3s}.hover\:opacity-100:hover{opacity:1}.\[\&_div\]\:hover\:\!opacity-100:hover div{opacity:1!important}.\[\&_img\]\:hover\:shadow-lg:hover img{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\!h-auto{height:auto!important}.w-full{width:100%}.min-w-full{min-width:100%}.resize{resize:both}.overflow-hidden{overflow:hidden}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition-none{transition-property:none!important}.\!duration-0{transition-duration:0s!important}.\!duration-500{transition-duration:.5s!important}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.h-\[200px\]{height:200px}.text-\[26px\]{font-size:26px}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-auto{pointer-events:auto}.z-\[999\]{z-index:999}.h-\[100dvh\]{height:100dvh}.w-\[100dvw\]{width:100dvw}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-\[110\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[110\%\]{--tw-scale-x:110%;--tw-scale-y:110%}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.stroke-\[1\.5px\]{stroke-width:1.5px}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}
|
|
@@ -77,9 +77,9 @@ export class VehicleAccessories {
|
|
|
77
77
|
image: () => (h("div", { class: "size-[100px] flex mx-auto items-center justify-center" }, h("button", { onClick: ({ target }) => openImageViewer.bind(this)(target, accessory === null || accessory === void 0 ? void 0 : accessory.image), class: "shrink-0 relative ring-0 outline-none w-fit mx-auto [&_img]:hover:shadow-lg [&_div]:hover:!opacity-100 cursor-pointer" }, h("div", { class: "absolute flex-col justify-center gap-[4px] size-full flex items-center pointer-events-none hover:opacity-100 rounded-lg opacity-0 bg-black/40 transition-all duration-300" }, h("img", { src: Eye }), h("span", { class: "text-white" }, texts.expand)), h("img", { class: "w-auto h-auto max-w-[100px] max-h-[100px] cursor-pointer shadow-sm rounded-lg transition-all duration-300", src: accessory === null || accessory === void 0 ? void 0 : accessory.image })))),
|
|
78
78
|
}));
|
|
79
79
|
const templateRow = {
|
|
80
|
-
image: () => h("div", { key: '
|
|
80
|
+
image: () => h("div", { key: '03a570013080064693c76d0f5675d89897e7889c', class: "size-[100px] flex mx-auto items-center justify-center" }, "\u00A0"),
|
|
81
81
|
};
|
|
82
|
-
return (h(Host, { key: '
|
|
82
|
+
return (h(Host, { key: '015ba9cba669c5146df182280dd01647896ab46d', translate: "no" }, h(ImageViewer, { key: '2a8dbe2d1334db7b1547283501092bbc4e21a181', closeImageViewer: () => closeImageViewer.bind(this)(), expandedImage: this.expandedImage }), h(VehicleInfoLayout, { key: '5de03dae8757408025173e96d3fc1c22fc98dad5', isError: this.isError, isLoading: this.isLoading, coreOnly: this.coreOnly, header: (_c = this.vehicleLookup) === null || _c === void 0 ? void 0 : _c.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("div", { key: '58977af366e1ae42face94cfff52e1bdd637cd4b', class: "overflow-x-auto" }, h("information-table", { key: '396822c4a7f46717fc7606d07afb44a10285f68a', templateRow: templateRow, rows: rows, headers: tableHeaders, isLoading: this.isLoading })))));
|
|
83
83
|
}
|
|
84
84
|
static get is() { return "vehicle-accessories"; }
|
|
85
85
|
static get encapsulation() { return "shadow"; }
|
|
@@ -212,7 +212,7 @@ export class VehicleAccessories {
|
|
|
212
212
|
"optional": false,
|
|
213
213
|
"docs": {
|
|
214
214
|
"tags": [],
|
|
215
|
-
"text": ""
|
|
215
|
+
"text": "Static headers the host set on the element. The floor every request starts from."
|
|
216
216
|
},
|
|
217
217
|
"getter": false,
|
|
218
218
|
"setter": false,
|