adp-web-components 0.3.20 → 0.4.0

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