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
@@ -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}.sr-only{clip:rect(0,0,0,0);border:0;border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.\!pointer-events-none{pointer-events:none!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.absolute{position:absolute}.\!relative{position:relative!important}.relative{position:relative}.left-0{left:0}.top-0{top:0}.isolate{isolation:isolate}.z-10{z-index:10}.block{display:block}.flex{display:flex}.grid{display:grid}.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))}.flex-wrap{flex-wrap:wrap}.\!overflow-hidden{overflow:hidden!important}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.border{border-width:1px}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.outline{outline-style:solid}.ring{--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(3px + 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)}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{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)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.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)}.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-color:#dde1e6;background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.85) 50%,hsla(0,0%,100%,0));background-repeat:no-repeat;background-size:300% 300%;background-size:45% 100%;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{--paper:#fff;--ink:#1a2530;--muted:#5f6c78;--line:#d5dce2;--line-soft:#e8ecef;--blue:#3071a9;--blue-dark:#275e8f;--green:#2c8a58;--green-dark:#216b44;--red:#b42318;--red-dark:#9b2c2c;--red-tint:#fff1f0;--green-tint:#e8f4ed;--violet:#755aa5;--violet-dark:#5f4887;--paper-soft:#f7f9fa;--blue-tint:#e8f1f8;--date-ink:#46535e;--shadow:0 18px 45px rgba(27,45,61,.1),0 2px 7px rgba(27,45,61,.06);--settle:320ms;--leave-scale:1.25;--rail-leave-scale:1.06;container-name:warranty-panel;container-type:inline-size;display:block}.coverage-timeline,.coverage-timeline *,.coverage-timeline :after,.coverage-timeline :before{box-sizing:border-box}.coverage-timeline{color:var(--ink);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}.warranty-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden;position:relative;width:100%}.warranty-card:before{background:var(--card-accent,var(--line));content:"";height:4px;inset:0 0 auto;position:absolute;transition:opacity var(--settle) ease;z-index:3}.collapsible{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--settle) ease,opacity calc(var(--settle) - 60ms) ease}.collapsible[data-open=true]{grid-template-rows:1fr;opacity:1}.collapsible-body{overflow:hidden}.activation-broker,.activation-title,.status-badge>span,.total-coverage,.warranty-notice>span{transition:opacity var(--settle) ease,transform var(--settle) ease}.activation-broker,.activation-title,.warranty-notice>span{transform-origin:left center}.total-coverage{background:transparent;border:0;border-inline-start:2px solid var(--green);border-radius:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;padding:2px 0 2px 14px}.total-coverage,[dir=rtl] .activation-broker,[dir=rtl] .activation-title,[dir=rtl] .warranty-notice>span{transform-origin:right center}[dir=rtl] .total-coverage{transform-origin:left center}.loading .activation-broker,.loading .activation-title,.loading .status-badge>span,.loading .total-coverage,.loading .warranty-notice>span{opacity:0;transform:scale(var(--leave-scale))}.notice-icon{flex:0 0 auto;height:16px;transition:opacity var(--settle) ease;width:16px}.loading .badge-icon,.loading .notice-icon{opacity:0}.axis,.lane,.today-head{transition:opacity var(--settle) ease,transform var(--settle) ease}.loading .axis,.loading .lane,.loading .today-head{opacity:0;transform:scale(var(--rail-leave-scale))}.loading .shift-skeleton:after{animation:warranty-sheen 1.3s linear infinite}@keyframes warranty-sheen{0%{background-position:-100% 0}to{background-position:200% 0}}.loading .warranty-card:before{opacity:0}.broker-slot,.timeline-shell,.total-slot{transition:opacity var(--settle) ease}.broker-slot[data-empty=true],.broker-slot[data-empty=true] .activation-broker,.collapsible[data-open=false] .notice-icon,.collapsible[data-open=false] .warranty-notice>span,.total-slot[data-empty=true],.total-slot[data-empty=true] .total-coverage{opacity:0}.timeline-shell[data-empty=true]{opacity:.45}.activation-header{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(130px,1fr) auto;padding:14px 20px 12px}.activation-main{min-width:0}.status-badge{align-items:center;border-radius:999px;display:inline-flex;flex:1 1 0;font-size:13px;font-weight:700;gap:0;letter-spacing:-.005em;line-height:1.15;min-height:30px;min-width:0;overflow:hidden;padding:0;transition:color var(--settle) ease,background var(--settle) ease,box-shadow var(--settle) ease}.status-badge.is-positive{background:var(--green-tint);box-shadow:inset 0 0 0 1px rgba(44,138,88,.32);color:var(--green-dark)}.status-badge.is-negative{background:var(--red-tint);box-shadow:inset 0 0 0 1px rgba(180,35,24,.28);color:var(--red-dark)}.status-badge.is-idle{background:var(--line-soft);box-shadow:inset 0 0 0 1px rgba(95,108,120,.22);color:var(--muted)}.status-badge.is-idle .badge-icon{background:var(--line)}.status-badge>span{flex:1 1 auto;padding:6px 13px 6px 11px;text-align:center}.badge-icon{align-self:stretch;box-sizing:border-box;color:#fff;display:block;flex:0 0 auto;height:auto;padding:6px 9px;transition:opacity var(--settle) ease,background var(--settle) ease;width:34px}.status-badge.is-positive .badge-icon{background:var(--green)}.status-badge.is-negative .badge-icon{background:var(--red)}.loading .status-badge{animation:warranty-sheen 1.3s linear infinite;background-color:#dcdfe4;background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.85) 50%,hsla(0,0%,100%,0));background-repeat:no-repeat;background-size:45% 100%;box-shadow:inset 0 0 0 1px rgba(95,108,120,.42)}.loading .status-badge .badge-icon{background:#dcdfe4}.loading .warranty-notice{animation:warranty-sheen 1.3s linear infinite;background-color:#dcdfe4;background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.85) 50%,hsla(0,0%,100%,0));background-repeat:no-repeat;background-size:45% 100%;box-shadow:inset 0 1px 0 rgba(95,108,120,.42),inset 0 -1px 0 rgba(95,108,120,.42)}.activation-title{font-size:clamp(16px,3.2cqw,20px);font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:0;overflow-wrap:anywhere}.activation-title span{color:var(--muted)}.activation-title strong{color:var(--ink);font-weight:760}.activation-broker{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:13px;font-weight:500;line-height:1.2;margin:3px 0 0;overflow:hidden;overflow-wrap:anywhere}.activation-broker span{color:var(--muted)}.activation-broker strong{color:var(--ink);font-weight:700}.warranty-notice{align-items:center;background:var(--red-tint);border-radius:0;box-shadow:inset 0 1px 0 rgba(180,35,24,.18),inset 0 -1px 0 rgba(180,35,24,.18);color:var(--red-dark);display:flex;font-size:13px;font-weight:650;gap:8px;line-height:1.3;margin-bottom:10px;padding:9px 20px}.total-slot{min-width:250px}.total-coverage span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.total-coverage strong{align-self:center;color:var(--green-dark);font-size:20px;grid-column:2;grid-row:1/span 2;line-height:1.1;margin:0 0 0 10px}.total-coverage .coverage-mix{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;line-height:1.3;margin-top:2px;min-height:1.3em;text-transform:none}.journey{border-top:1px dashed var(--line);padding:10px 20px 12px}.journey-head{align-items:stretch;display:flex;flex-wrap:wrap;gap:7px 12px;justify-content:space-between;margin-bottom:8px}.timeline-shell{background:var(--paper-soft);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}.timeline{--axis-height:18px;padding:12px 14px 7px}.axis{border-bottom:1px solid #bdc7cf;height:var(--axis-height);margin:0 8px;position:relative;z-index:2}.axis-date{background:var(--paper-soft);color:var(--date-ink);font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;inset:0 auto auto var(--at);letter-spacing:.01em;line-height:1;padding:0 3px;position:absolute;transform:translateX(-50%);white-space:nowrap}.axis-date.is-crowded{display:none}.axis-date[data-align=start]{transform:none}.axis-date[data-align=end]{transform:translateX(-100%)}.axis-date:after{background:#aeb9c2;content:"";height:12px;left:50%;position:absolute;top:var(--axis-height);width:1px}.axis-date[data-align=start]:after{left:0}.axis-date[data-align=end]:after{left:100%}.lane{--track-top:16px;--track-height:54px;--label-band:49px;height:calc(var(--track-top) + var(--track-height) + var(--label-band));isolation:isolate;margin:0 8px;position:relative}.lane:before{background:repeating-linear-gradient(-45deg,rgba(95,108,120,.035) 0 5px,transparent 5px 10px),#edf1f3;border:1px solid var(--line-soft);border-radius:8px;content:"";height:var(--track-height);inset:var(--track-top) 0 auto;position:absolute}.today-head{height:50px;margin:0 8px;position:relative}.today-pill{background:var(--blue-tint);border:1px solid rgba(48,113,169,.32);border-radius:999px;color:var(--blue-dark);font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;left:var(--at);letter-spacing:.01em;padding:3px 6px;position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.today-head.is-near-end .today-pill{transform:translateX(calc(-100% + 8px))}.today-head.is-near-start .today-pill{transform:translateX(-8px)}.today-marker{bottom:var(--label-band);left:var(--at);pointer-events:none;position:absolute;top:calc(var(--axis-height)*-1 - 21px);width:0;z-index:5}.today-marker:before{background:var(--blue);bottom:0;box-shadow:0 0 0 1px hsla(0,0%,100%,.72);content:"";left:-1px;position:absolute;top:0;width:2px}.today-tail{bottom:0;left:var(--at);pointer-events:none;position:absolute;top:calc(100% - var(--label-band));width:0;z-index:0}.today-tail:before{background:var(--blue);box-shadow:0 0 0 1px hsla(0,0%,100%,.72);content:"";inset:0 auto 0 -1px;position:absolute;width:2px}.today-marker:after{background:var(--paper);border:2px solid var(--blue);border-radius:50%;content:"";height:8px;left:0;position:absolute;top:0;transform:translateX(-50%);width:8px}.coverage-entry{left:var(--start);min-width:0;position:absolute;top:var(--track-top);transition:opacity .16s ease,filter .16s ease;width:var(--span);z-index:var(--layer,1)}.coverage-list{inset:0;position:absolute;z-index:1}.segment{align-items:center;border:1px solid;border-radius:8px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.56);display:flex;height:var(--track-height);justify-content:center;min-width:0;overflow:hidden;position:relative;width:100%}.segment.is-standard{background:var(--tone-tint);border-color:var(--tone-border);border-inline-start:4px solid var(--tone);color:var(--tone-dark);justify-content:flex-start;padding:0 16px}.segment.is-standard strong{font-size:13px;font-weight:700;letter-spacing:.015em}.segment.is-extended{background:var(--tone-tint);border-color:var(--tone-border);border-style:dashed}.segment.is-extended.tone-alt{border-style:dotted;border-width:2px}.provider-logo{display:block;flex:0 0 auto;height:46px;max-width:calc(100% - 12px);-o-object-fit:contain;object-fit:contain;width:auto}.coverage-label{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--ink);display:-webkit-box;font-size:12px;font-weight:700;line-height:1.2;margin-top:5px;min-height:29px;overflow:hidden;overflow-wrap:anywhere;padding:0 4px;text-align:center;width:100%}.boundary{background:var(--tone,var(--blue));border:2px solid var(--paper);border-radius:50%;box-shadow:0 0 0 1px var(--tone-border,rgba(48,113,169,.46));height:10px;left:var(--at);top:calc(var(--track-top) + var(--track-height)/2);transform:translate(-50%,-50%);width:10px;z-index:6}.boundary,.past-wash{pointer-events:none;position:absolute}.past-wash{backdrop-filter:grayscale(.92);-webkit-backdrop-filter:grayscale(.92);background:linear-gradient(90deg,rgba(228,233,236,.62),rgba(228,233,236,.46));border-radius:8px 0 0 8px;height:var(--track-height);left:0;top:var(--track-top);width:var(--to,0);z-index:4}.boundary-layer{inset:0;pointer-events:none;position:absolute;z-index:6}@container warranty-panel (max-width: 820px){.activation-header{gap:6px 10px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px 9px}.activation-title{font-size:16px}.total-slot{justify-self:end;min-width:0;width:clamp(170px,50cqw,190px)}.total-coverage{padding-inline-start:10px}.total-coverage .coverage-mix{min-height:2.6em}}@container warranty-panel (max-width: 700px){.warranty-notice{font-size:12px;margin-bottom:8px;padding:8px 12px}.journey{padding:8px 8px 10px}.journey-head{gap:6px;margin-bottom:6px;padding-inline:4px}.status-badge{font-size:12px;min-height:28px}.status-badge>span{padding:5px 10px 5px 9px}.badge-icon{padding:5px 8px;width:30px}.timeline{--axis-height:30px;padding:10px 10px 5px}.today-head.is-near-end .today-pill{transform:translateX(calc(-100% - 46px))}.today-head.is-near-end .today-pill:after{border-top:1px solid rgba(48,113,169,.42);content:"";left:100%;position:absolute;top:50%;width:46px}.axis-date[data-align=end]{top:13px}.axis-date[data-align=end]:after{top:calc(var(--axis-height) - 13px)}}@container warranty-panel (max-width: 430px){.journey-head{align-items:stretch;flex-direction:column}.status-badge{justify-content:center}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.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)}.pointer-events-none{pointer-events:none}.end-0{inset-inline-end:0}.top-full{top:100%}.mx-auto{margin-left:auto;margin-right:auto}.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}.size-full{height:100%;width:100%}.h-\[150px\]{height:150px}.w-\[84px\]{width:84px}.w-fit{width:fit-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink: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))}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.gap-\[16px\]{gap:16px}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.rounded-lg{border-radius:.5rem}.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-black\/40{background-color:rgba(0,0,0,.4)}.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-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.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)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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)}.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}.duration-300{transition-duration:.3s}.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)}.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)}.my-2{margin-bottom:.5rem;margin-top:.5rem}.grow{flex-grow:1}.items-stretch{align-items:stretch}.overflow-auto{overflow:auto}.p-\[16px\]{padding:16px}@media (min-width:768px){.md\:justify-between{justify-content:space-between}}.\[\&\>div\]\:grow>div{flex-grow:1}.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}.justify-start{justify-content:flex-start}.gap-\[12px\]{gap:12px}.gap-\[2px\]{gap:2px}.\!rounded-\[12px\]{border-radius:12px!important}.rounded-\[14px\]{border-radius:14px}.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)}.fixed{position:fixed}.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-\[16px\]{padding-top:16px}.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}.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%}.resize{resize:both}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.stroke-\[1\.5px\]{stroke-width:1.5px}.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}}
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}.sr-only{clip:rect(0,0,0,0);border:0;border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.\!pointer-events-none{pointer-events:none!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.absolute{position:absolute}.\!relative{position:relative!important}.relative{position:relative}.left-0{left:0}.top-0{top:0}.isolate{isolation:isolate}.z-10{z-index:10}.block{display:block}.flex{display:flex}.grid{display:grid}.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))}.flex-wrap{flex-wrap:wrap}.\!overflow-hidden{overflow:hidden!important}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.border{border-width:1px}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{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)}.outline{outline-style:solid}.ring{--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(3px + 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)}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{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)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.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)}.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-color:#dde1e6;background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.85) 50%,hsla(0,0%,100%,0));background-repeat:no-repeat;background-size:300% 300%;background-size:45% 100%;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}}:host{--paper:#fff;--paper-soft:#f7f9fa;--ink:#1a2530;--muted:#5f6c78;--date-ink:#46535e;--line:#d5dce2;--line-soft:#e8ecef;--blue:#3071a9;--blue-dark:#275e8f;--blue-tint:#e8f1f8;--green:#2c8a58;--green-dark:#216b44;--green-tint:#e8f4ed;--red:#b42318;--red-dark:#9b2c2c;--red-tint:#fff1f0;--amber:#b7791f;--amber-dark:#8a5a12;--amber-tint:#fff7e6;--violet:#755aa5;--violet-dark:#5f4887;--violet-tint:#f1ecf8;--shadow:0 18px 45px rgba(27,45,61,.1),0 2px 7px rgba(27,45,61,.06);--settle:320ms;--leave-scale:1.25;--rail-leave-scale:1.06;container-name:warranty-panel;container-type:inline-size;display:block}.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}.coverage-timeline,.coverage-timeline *,.coverage-timeline :after,.coverage-timeline :before{box-sizing:border-box}.coverage-timeline{color:var(--ink);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}.warranty-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden;position:relative;width:100%}.warranty-card:before{background:var(--card-accent,var(--line));content:"";height:4px;inset:0 0 auto;position:absolute;transition:opacity var(--settle) ease;z-index:3}.collapsible{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--settle) ease,opacity calc(var(--settle) - 60ms) ease}.collapsible[data-open=true]{grid-template-rows:1fr;opacity:1}.collapsible-body{overflow:hidden}.activation-broker,.activation-title,.status-badge>span,.total-coverage,.warranty-notice>span{transition:opacity var(--settle) ease,transform var(--settle) ease}.activation-broker,.activation-title,.warranty-notice>span{transform-origin:left center}.total-coverage{background:transparent;border:0;border-inline-start:2px solid var(--green);border-radius:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;padding:2px 0 2px 14px}.total-coverage,[dir=rtl] .activation-broker,[dir=rtl] .activation-title,[dir=rtl] .warranty-notice>span{transform-origin:right center}[dir=rtl] .total-coverage{transform-origin:left center}.loading .activation-broker,.loading .activation-title,.loading .status-badge>span,.loading .total-coverage,.loading .warranty-notice>span{opacity:0;transform:scale(var(--leave-scale))}.notice-icon{flex:0 0 auto;height:16px;transition:opacity var(--settle) ease;width:16px}.loading .badge-icon,.loading .notice-icon{opacity:0}.axis,.lane,.today-head{transition:opacity var(--settle) ease,transform var(--settle) ease}.loading .axis,.loading .lane,.loading .today-head{opacity:0;transform:scale(var(--rail-leave-scale))}.loading .shift-skeleton:after{animation:warranty-sheen 1.3s linear infinite}@keyframes warranty-sheen{0%{background-position:-100% 0}to{background-position:200% 0}}.loading .warranty-card:before{opacity:0}.broker-slot,.timeline-shell,.total-slot{transition:opacity var(--settle) ease}.broker-slot[data-empty=true],.broker-slot[data-empty=true] .activation-broker,.collapsible[data-open=false] .notice-icon,.collapsible[data-open=false] .warranty-notice>span,.total-slot[data-empty=true],.total-slot[data-empty=true] .total-coverage{opacity:0}.timeline-shell[data-empty=true]{opacity:.45}.activation-header{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(130px,1fr) auto;padding:14px 20px 12px}.activation-main{min-width:0}.status-badge{align-items:center;border-radius:999px;display:inline-flex;flex:1 1 0;font-size:13px;font-weight:700;gap:0;letter-spacing:-.005em;line-height:1.15;min-height:30px;min-width:0;overflow:hidden;padding:0;transition:color var(--settle) ease,background var(--settle) ease,box-shadow var(--settle) ease}.status-badge.is-positive{background:var(--green-tint);box-shadow:inset 0 0 0 1px rgba(44,138,88,.32);color:var(--green-dark)}.status-badge.is-negative{background:var(--red-tint);box-shadow:inset 0 0 0 1px rgba(180,35,24,.28);color:var(--red-dark)}.status-badge.is-idle{background:var(--line-soft);box-shadow:inset 0 0 0 1px rgba(95,108,120,.22);color:var(--muted)}.status-badge.is-idle .badge-icon{background:var(--line)}.status-badge>span{flex:1 1 auto;padding:6px 13px 6px 11px;text-align:center}.badge-icon{align-self:stretch;box-sizing:border-box;color:#fff;display:block;flex:0 0 auto;height:auto;padding:6px 9px;transition:opacity var(--settle) ease,background var(--settle) ease;width:34px}.status-badge.is-positive .badge-icon{background:var(--green)}.status-badge.is-negative .badge-icon{background:var(--red)}.loading .status-badge{animation:warranty-sheen 1.3s linear infinite;background-color:#dcdfe4;background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.85) 50%,hsla(0,0%,100%,0));background-repeat:no-repeat;background-size:45% 100%;box-shadow:inset 0 0 0 1px rgba(95,108,120,.42)}.loading .status-badge .badge-icon{background:#dcdfe4}.loading .warranty-notice{animation:warranty-sheen 1.3s linear infinite;background-color:#dcdfe4;background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.85) 50%,hsla(0,0%,100%,0));background-repeat:no-repeat;background-size:45% 100%;box-shadow:inset 0 1px 0 rgba(95,108,120,.42),inset 0 -1px 0 rgba(95,108,120,.42)}.activation-title{font-size:clamp(16px,3.2cqw,20px);font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:0;overflow-wrap:anywhere}.activation-title span{color:var(--muted)}.activation-title strong{color:var(--ink);font-weight:760}.activation-broker{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:13px;font-weight:500;line-height:1.2;margin:3px 0 0;overflow:hidden;overflow-wrap:anywhere}.activation-broker span{color:var(--muted)}.activation-broker strong{color:var(--ink);font-weight:700}.warranty-notice{align-items:center;background:var(--red-tint);border-radius:0;box-shadow:inset 0 1px 0 rgba(180,35,24,.18),inset 0 -1px 0 rgba(180,35,24,.18);color:var(--red-dark);display:flex;font-size:13px;font-weight:650;gap:8px;line-height:1.3;margin-bottom:10px;padding:9px 20px}.total-slot{min-width:250px}.total-coverage span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.total-coverage strong{align-self:center;color:var(--green-dark);font-size:20px;grid-column:2;grid-row:1/span 2;line-height:1.1;margin:0 0 0 10px}.total-coverage .coverage-mix{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;line-height:1.3;margin-top:2px;min-height:1.3em;text-transform:none}.journey{border-top:1px dashed var(--line);padding:10px 20px 12px}.journey-head{align-items:stretch;display:flex;flex-wrap:wrap;gap:7px 12px;justify-content:space-between;margin-bottom:8px}.timeline-shell{background:var(--paper-soft);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}.timeline{--axis-height:18px;padding:12px 14px 7px}.axis{border-bottom:1px solid #bdc7cf;height:var(--axis-height);margin:0 8px;position:relative;z-index:2}.axis-date{background:var(--paper-soft);color:var(--date-ink);font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;inset:0 auto auto var(--at);letter-spacing:.01em;line-height:1;padding:0 3px;position:absolute;transform:translateX(-50%);white-space:nowrap}.axis-date.is-crowded{display:none}.axis-date[data-align=start]{transform:none}.axis-date[data-align=end]{transform:translateX(-100%)}.axis-date:after{background:#aeb9c2;content:"";height:12px;left:50%;position:absolute;top:var(--axis-height);width:1px}.axis-date[data-align=start]:after{left:0}.axis-date[data-align=end]:after{left:100%}.lane{--track-top:16px;--track-height:54px;--label-band:49px;height:calc(var(--track-top) + var(--track-height) + var(--label-band));isolation:isolate;margin:0 8px;position:relative}.lane:before{background:repeating-linear-gradient(-45deg,rgba(95,108,120,.035) 0 5px,transparent 5px 10px),#edf1f3;border:1px solid var(--line-soft);border-radius:8px;content:"";height:var(--track-height);inset:var(--track-top) 0 auto;position:absolute}.today-head{height:50px;margin:0 8px;position:relative}.today-pill{background:var(--blue-tint);border:1px solid rgba(48,113,169,.32);border-radius:999px;color:var(--blue-dark);font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;left:var(--at);letter-spacing:.01em;padding:3px 6px;position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.today-head.is-near-end .today-pill{transform:translateX(calc(-100% + 8px))}.today-head.is-near-start .today-pill{transform:translateX(-8px)}.today-marker{bottom:var(--label-band);left:var(--at);pointer-events:none;position:absolute;top:calc(var(--axis-height)*-1 - 21px);width:0;z-index:5}.today-marker:before{background:var(--blue);bottom:0;box-shadow:0 0 0 1px hsla(0,0%,100%,.72);content:"";left:-1px;position:absolute;top:0;width:2px}.today-tail{bottom:0;left:var(--at);pointer-events:none;position:absolute;top:calc(100% - var(--label-band));width:0;z-index:0}.today-tail:before{background:var(--blue);box-shadow:0 0 0 1px hsla(0,0%,100%,.72);content:"";inset:0 auto 0 -1px;position:absolute;width:2px}.today-marker:after{background:var(--paper);border:2px solid var(--blue);border-radius:50%;content:"";height:8px;left:0;position:absolute;top:0;transform:translateX(-50%);width:8px}.coverage-entry{left:var(--start);min-width:0;position:absolute;top:var(--track-top);transition:opacity .16s ease,filter .16s ease;width:var(--span);z-index:var(--layer,1)}.coverage-list{inset:0;position:absolute;z-index:1}.segment{align-items:center;border:1px solid;border-radius:8px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.56);display:flex;height:var(--track-height);justify-content:center;min-width:0;overflow:hidden;position:relative;width:100%}.segment.is-standard{background:var(--tone-tint);border-color:var(--tone-border);border-inline-start:4px solid var(--tone);color:var(--tone-dark);justify-content:flex-start;padding:0 16px}.segment.is-standard strong{font-size:13px;font-weight:700;letter-spacing:.015em}.segment.is-extended{background:var(--tone-tint);border-color:var(--tone-border);border-style:dashed}.segment.is-extended.tone-alt{border-style:dotted;border-width:2px}.provider-logo{display:block;flex:0 0 auto;height:46px;max-width:calc(100% - 12px);-o-object-fit:contain;object-fit:contain;width:auto}.coverage-label{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--ink);display:-webkit-box;font-size:12px;font-weight:700;line-height:1.2;margin-top:5px;min-height:29px;overflow:hidden;overflow-wrap:anywhere;padding:0 4px;text-align:center;width:100%}.boundary{background:var(--tone,var(--blue));border:2px solid var(--paper);border-radius:50%;box-shadow:0 0 0 1px var(--tone-border,rgba(48,113,169,.46));height:10px;left:var(--at);top:calc(var(--track-top) + var(--track-height)/2);transform:translate(-50%,-50%);width:10px;z-index:6}.boundary,.past-wash{pointer-events:none;position:absolute}.past-wash{backdrop-filter:grayscale(.92);-webkit-backdrop-filter:grayscale(.92);background:linear-gradient(90deg,rgba(228,233,236,.62),rgba(228,233,236,.46));border-radius:8px 0 0 8px;height:var(--track-height);left:0;top:var(--track-top);width:var(--to,0);z-index:4}.boundary-layer{inset:0;pointer-events:none;position:absolute;z-index:6}@container warranty-panel (max-width: 820px){.activation-header{gap:6px 10px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px 9px}.activation-title{font-size:16px}.total-slot{justify-self:end;min-width:0;width:clamp(170px,50cqw,190px)}.total-coverage{padding-inline-start:10px}.total-coverage .coverage-mix{min-height:2.6em}}@container warranty-panel (max-width: 700px){.warranty-notice{font-size:12px;margin-bottom:8px;padding:8px 12px}.journey{padding:8px 8px 10px}.journey-head{gap:6px;margin-bottom:6px;padding-inline:4px}.status-badge{font-size:12px;min-height:28px}.status-badge>span{padding:5px 10px 5px 9px}.badge-icon{padding:5px 8px;width:30px}.timeline{--axis-height:30px;padding:10px 10px 5px}.today-head.is-near-end .today-pill{transform:translateX(calc(-100% - 46px))}.today-head.is-near-end .today-pill:after{border-top:1px solid rgba(48,113,169,.42);content:"";left:100%;position:absolute;top:50%;width:46px}.axis-date[data-align=end]{top:13px}.axis-date[data-align=end]:after{top:calc(var(--axis-height) - 13px)}}@container warranty-panel (max-width: 430px){.journey-head{align-items:stretch;flex-direction:column}.status-badge{justify-content:center}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.p-\[16px\]{padding:16px}.resize{resize:both}.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-\[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))}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.fixed{position:fixed}.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}.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}}
@@ -13,10 +13,9 @@ import { getLocaleLanguage, getSharedLocal, sharedLocalesSchema } from "../../fe
13
13
  * Warranty coverage as a single dated rail: the standard warranty followed by every
14
14
  * extended coverage in sequence.
15
15
  *
16
- * Deliberately separate from `vehicle-warranty-details` rather than a mode of it. This
17
- * panel shows warranty and nothing else no campaign table, no reCAPTCHA, no unauthorized
18
- * campaign lookup so hosts adopt it by pointing their warranty tab at this tag and can
19
- * keep the original panel untouched for as long as they like.
16
+ * This panel shows warranty and nothing else no campaign table, no reCAPTCHA, no
17
+ * unauthorized campaign lookup; those belong to `vehicle-ssc`. Hosts point their warranty
18
+ * tab at this tag and their campaign tab at that one.
20
19
  */
21
20
  export class VehicleWarrantyTimeline {
22
21
  constructor() {
@@ -60,7 +59,7 @@ export class VehicleWarrantyTimeline {
60
59
  // #endregion
61
60
  render() {
62
61
  var _a, _b;
63
- return (h(Host, { key: '44c6a01324c9b9f9bb463627d8edcef7580cc47b', translate: "no" }, h(VehicleInfoLayout, { key: 'fc8771f2abcc6b416e1228abfd6142091d00744b', isError: this.isError, coreOnly: this.coreOnly, isLoading: this.isLoading, header: (_a = this.vehicleLookup) === null || _a === void 0 ? void 0 : _a.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("div", { key: 'd12930a82533c15e5e3b56cffb09a2ee159c595a', class: "p-[16px]" }, h(CoverageTimeline, { key: 'a8773eea659ff099bb345ab1e17eabf3ff6e4170', vehicleInformation: this.vehicleLookup, locale: this.locale, isAuthorized: (_b = this.vehicleLookup) === null || _b === void 0 ? void 0 : _b.isAuthorized })))));
62
+ return (h(Host, { key: '4998b57393261ab864334a5a726de9bf36029c1e', translate: "no" }, h(VehicleInfoLayout, { key: 'f1906f66299eee7e407a8015800335dc012787ff', isError: this.isError, coreOnly: this.coreOnly, isLoading: this.isLoading, header: (_a = this.vehicleLookup) === null || _a === void 0 ? void 0 : _a.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("div", { key: '2bad1637e1c539e7e1f733406c298abc5e963a68', class: "p-[16px]" }, h(CoverageTimeline, { key: '99d8041d9d44ba9dca92ce506680408b61358a6b', vehicleInformation: this.vehicleLookup, locale: this.locale, isAuthorized: (_b = this.vehicleLookup) === null || _b === void 0 ? void 0 : _b.isAuthorized })))));
64
63
  }
65
64
  static get is() { return "vehicle-warranty-timeline"; }
66
65
  static get encapsulation() { return "shadow"; }
@@ -193,7 +192,7 @@ export class VehicleWarrantyTimeline {
193
192
  "optional": false,
194
193
  "docs": {
195
194
  "tags": [],
196
- "text": ""
195
+ "text": "Static headers the host set on the element. The floor every request starts from."
197
196
  },
198
197
  "getter": false,
199
198
  "setter": false,
@@ -509,7 +509,7 @@ export class VinExtractor {
509
509
  }
510
510
  render() {
511
511
  const ariaExpanded = this.isOpen && this.isCameraReady && (this.useOcr || this.readSticker);
512
- return (h(Host, { key: '3c6d398c9a6e0a3f4669a34983e524a862272582', translate: "no" }, h("slot", { key: '4bfbf43458dda540feb9ff0a29d83731eefd05d3' }), h("input", Object.assign({ key: '2b78e7edb28be3234ec6c2b8417e83e18b0ec06e', class: "vin-extractor-input", type: "file", accept: "image/*", "aria-label": "Upload VIN image" }, (this.captureEnvironment ? { capture: 'environment' } : {}), { hidden: true })), h("canvas", { key: 'da8985b77d3dbc0f695d423b420812e00dd928a1', class: "video-canvas hidden", "aria-hidden": "true" }), !this.uploaderButtonId && (h("div", { key: '89e3db569e6f26868644fa1284f24118622b134b', onClick: () => (this.isOpen = false), role: "dialog", "aria-modal": ariaExpanded.toString(), "aria-label": this.title || 'VIN Scanner', "aria-hidden": (!ariaExpanded).toString(), class: "vin-extractor-background md:transition-all md:duration-300 fixed flex items-center justify-center w-[100dvw] h-[100dvh] top-0 left-0 z-[9999]" }, h("div", { key: 'ccd689aeb40f8f313a6804a84993fecb16119fb1', role: "document", onClick: e => e.stopPropagation(), "aria-expanded": ariaExpanded.toString(), onAnimationEnd: () => (this.isAnimating = false), onAnimationStart: () => (this.isAnimating = true), class: cn('vin-extractor-container md:w-[600px] md:rounded-lg md:overflow-hidden opacity-0 md:h-auto w-full h-full relative transition-all duration-500', this.containerAnimation) }, h("div", { key: '4758d9ce617c2eef821745b209030238bf431df5', class: "vin-extractor-heading items-center md:py-[8px] w-full md:!opacity-100 md:!translate-x-0 p-[16px] md:bg-white bg-black/30 shadow-md z-10 md:relative absolute top-0 left-0 flex justify-between" }, this.videoInputs.length > 1 ? (h("button", { type: "button", "aria-label": "Switch camera", onClick: this.switchCamera, class: "size-[32px] md:border-none md:bg-white md:hover:bg-slate-100 bg-slate-100 rounded-lg p-1 hover:text-slate-700 border transition-colors duration-300 hover:bg-slate-300 border-slate-600 text-slate-600 hover:border-slate-700" }, h("svg", { width: "24", height: "24", fill: "none", "stroke-width": "2", "aria-hidden": "true", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg", class: "size-full transition-all duration-300", style: { rotate: `${this.switchRotateDegree}deg` } }, h("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }), h("path", { d: "M21 3v5h-5" }), h("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }), h("path", { d: "M8 16H3v5" })))) : (h("div", { class: "size-8", "aria-hidden": "true" })), h("h1", { key: '4a910632d4b6ef3d133d4eeb9eb6b175684aacb6', class: "text-center text-[18px] md:text-[24px] md:text-black text-slate-100 form-input-label", part: "form-input-label" }, this.title), h("button", { key: '28fa2cf7f871288ea3413306b7675309e5c601ee', type: "button", "aria-label": "Close scanner", onClick: () => (this.isOpen = false), class: "size-[32px] md:border-none md:bg-white md:hover:bg-slate-100 bg-slate-100 rounded-lg p-1 hover:text-slate-700 border transition-colors duration-300 hover:bg-slate-300 border-slate-600 text-slate-600 hover:border-slate-700" }, h("svg", { key: 'd62c686931da7bae9aeb8e8f2e94f82b9af60eb9', fill: "none", "stroke-width": "2", class: "size-full", "aria-hidden": "true", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'e80a4cd70c55bf56161749d4c80063ce3baf5f2d', d: "M18 6 6 18" }), h("path", { key: 'f163c830eb2b63798d91484f2ade6ef8db567719', d: "m6 6 12 12" })))), this.manualCapture && !!this.manualCaptureHint && !this.manualCaptureLoading && (h("p", { key: '219f79d14a33b4ca4d63f57a40320b762d77ffc3', "aria-hidden": "true", class: "vin-extractor-manual-capture-hint absolute left-1/2 -translate-x-1/2 bottom-[88px] z-10 m-0 px-3 py-1 rounded-full bg-black/55 text-white text-center text-[13px] leading-[1.3] whitespace-nowrap pointer-events-none" }, this.manualCaptureHint)), this.manualCapture && (h("button", { key: '0d83765c5f5a84e7527593e8a4ac37e706d8c6f7', type: "button", part: "vin-extractor-capture-button", disabled: this.manualCaptureLoading, onClick: this.captureFrame.bind(this, true), "aria-label": this.manualCaptureLoading ? 'Capturing...' : this.manualCaptureLabel || 'Capture VIN', class: cn('vin-extractor-capture-button absolute disabled:bg-white/75 outline-none cursor-pointer left-1/2 -translate-x-1/2 flex justify-center items-center h-[60px] py-[10px] rounded-full shadow-lg border border-slate-500 text-slate-500 z-10 bg-white bottom-4', this.manualCaptureLabel ? 'px-6 min-w-[140px] gap-2 text-[15px] font-medium whitespace-nowrap' : 'w-[100px]') }, this.manualCaptureLoading ? (h("svg", { fill: "none", "stroke-width": "2", "aria-hidden": "true", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg", class: cn('animate-spin animate-spin-v', this.manualCaptureLabel ? 'size-[22px]' : 'size-full') }, h("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }))) : this.manualCaptureLabel ? (h("span", null, this.manualCaptureLabel)) : (h("svg", { fill: "none", "stroke-width": "2", class: "size-full", "aria-hidden": "true", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z" }), h("circle", { cx: "12", cy: "13", r: "3" }))))), h("video", { key: '66602aa4bc532118629449d4f331ca3c0dd0ac20', autoPlay: true, id: "video", playsInline: true, "aria-label": "Camera preview", class: "video-player aspect-video bg-black min-w-full min-h-full object-cover object-center" }))))));
512
+ return (h(Host, { key: '722b0994212deef0b4101ce1fc2f30ef8ba37b9c', translate: "no" }, h("slot", { key: 'b5cfa4de76e14d9060b85bcc0e0360cf85357b87' }), h("input", Object.assign({ key: 'a555c52bede2c75184dbf670426cb9966277bbe5', class: "vin-extractor-input", type: "file", accept: "image/*", "aria-label": "Upload VIN image" }, (this.captureEnvironment ? { capture: 'environment' } : {}), { hidden: true })), h("canvas", { key: '14b35aec47fe6a8177cd5e8c874f25a5ccbf86f7', class: "video-canvas hidden", "aria-hidden": "true" }), !this.uploaderButtonId && (h("div", { key: '5588f55776273d86ee725edfb88fde4ebaba939b', onClick: () => (this.isOpen = false), role: "dialog", "aria-modal": ariaExpanded.toString(), "aria-label": this.title || 'VIN Scanner', "aria-hidden": (!ariaExpanded).toString(), class: "vin-extractor-background md:transition-all md:duration-300 fixed flex items-center justify-center w-[100dvw] h-[100dvh] top-0 left-0 z-[9999]" }, h("div", { key: 'c1a0d79157a0146fde2e3f2aa66f3ed64f7e033a', role: "document", onClick: e => e.stopPropagation(), "aria-expanded": ariaExpanded.toString(), onAnimationEnd: () => (this.isAnimating = false), onAnimationStart: () => (this.isAnimating = true), class: cn('vin-extractor-container md:w-[600px] md:rounded-lg md:overflow-hidden opacity-0 md:h-auto w-full h-full relative transition-all duration-500', this.containerAnimation) }, h("div", { key: '2baa5559874216a141cca3370230b20c2228a4c7', class: "vin-extractor-heading items-center md:py-[8px] w-full md:!opacity-100 md:!translate-x-0 p-[16px] md:bg-white bg-black/30 shadow-md z-10 md:relative absolute top-0 left-0 flex justify-between" }, this.videoInputs.length > 1 ? (h("button", { type: "button", "aria-label": "Switch camera", onClick: this.switchCamera, class: "size-[32px] md:border-none md:bg-white md:hover:bg-slate-100 bg-slate-100 rounded-lg p-1 hover:text-slate-700 border transition-colors duration-300 hover:bg-slate-300 border-slate-600 text-slate-600 hover:border-slate-700" }, h("svg", { width: "24", height: "24", fill: "none", "stroke-width": "2", "aria-hidden": "true", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg", class: "size-full transition-all duration-300", style: { rotate: `${this.switchRotateDegree}deg` } }, h("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }), h("path", { d: "M21 3v5h-5" }), h("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }), h("path", { d: "M8 16H3v5" })))) : (h("div", { class: "size-8", "aria-hidden": "true" })), h("h1", { key: 'ef40d2fb48fa727e5dea1bbfbc403ff0f69ca6d9', class: "text-center text-[18px] md:text-[24px] md:text-black text-slate-100 form-input-label", part: "form-input-label" }, this.title), h("button", { key: 'dc14757a4b044b88959653836f92b2ee89d225be', type: "button", "aria-label": "Close scanner", onClick: () => (this.isOpen = false), class: "size-[32px] md:border-none md:bg-white md:hover:bg-slate-100 bg-slate-100 rounded-lg p-1 hover:text-slate-700 border transition-colors duration-300 hover:bg-slate-300 border-slate-600 text-slate-600 hover:border-slate-700" }, h("svg", { key: '623e9a775292a772963a8f4bd984137db0a80393', fill: "none", "stroke-width": "2", class: "size-full", "aria-hidden": "true", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '148b87af16b49d61c7c0fb3405fc556ab0a0cfa3', d: "M18 6 6 18" }), h("path", { key: 'c0c0ed4aa93d79c817c8ab5c31ff7bfcb3d10a45', d: "m6 6 12 12" })))), this.manualCapture && !!this.manualCaptureHint && !this.manualCaptureLoading && (h("p", { key: 'ea62b2fca0d4bc1ac1356677ec4f3b2aa08c37e2', "aria-hidden": "true", class: "vin-extractor-manual-capture-hint absolute left-1/2 -translate-x-1/2 bottom-[88px] z-10 m-0 px-3 py-1 rounded-full bg-black/55 text-white text-center text-[13px] leading-[1.3] whitespace-nowrap pointer-events-none" }, this.manualCaptureHint)), this.manualCapture && (h("button", { key: 'af7a471ffce8e3254fdc1d1b9ae2d09bf84ab277', type: "button", part: "vin-extractor-capture-button", disabled: this.manualCaptureLoading, onClick: this.captureFrame.bind(this, true), "aria-label": this.manualCaptureLoading ? 'Capturing...' : this.manualCaptureLabel || 'Capture VIN', class: cn('vin-extractor-capture-button absolute disabled:bg-white/75 outline-none cursor-pointer left-1/2 -translate-x-1/2 flex justify-center items-center h-[60px] py-[10px] rounded-full shadow-lg border border-slate-500 text-slate-500 z-10 bg-white bottom-4', this.manualCaptureLabel ? 'px-6 min-w-[140px] gap-2 text-[15px] font-medium whitespace-nowrap' : 'w-[100px]') }, this.manualCaptureLoading ? (h("svg", { fill: "none", "stroke-width": "2", "aria-hidden": "true", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg", class: cn('animate-spin animate-spin-v', this.manualCaptureLabel ? 'size-[22px]' : 'size-full') }, h("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }))) : this.manualCaptureLabel ? (h("span", null, this.manualCaptureLabel)) : (h("svg", { fill: "none", "stroke-width": "2", class: "size-full", "aria-hidden": "true", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z" }), h("circle", { cx: "12", cy: "13", r: "3" }))))), h("video", { key: '55797b4a1353d2229d673ac015f55ad6762e63d9', autoPlay: true, id: "video", playsInline: true, "aria-label": "Camera preview", class: "video-player aspect-video bg-black min-w-full min-h-full object-cover object-center" }))))));
513
513
  }
514
514
  static get is() { return "vin-extractor"; }
515
515
  static get encapsulation() { return "shadow"; }
@@ -5,3 +5,4 @@
5
5
  export * from './types';
6
6
  export * from './interface';
7
7
  export * from './vehicle-lookup-api-integration';
8
+ export * from './request-headers';
@@ -0,0 +1,42 @@
1
+ /*!
2
+ * Built by ShiftSoftware
3
+ * Copyright (c)
4
+ */
5
+ import { vehicleRequestHeaders } from "./types";
6
+ const hasEntries = (value) => !!value && typeof value === 'object' && Object.keys(value).length > 0;
7
+ /**
8
+ * The headers for a request the component is about to make.
9
+ *
10
+ * The token a Blazor host hands over with `fetchVin(vin, headers)` is a snapshot: it is refreshed
11
+ * the moment the user searches, and not again. A trace opened twenty minutes later used to carry
12
+ * that same expired bearer, because it read the `headers` prop instead of asking the host. Every
13
+ * request now resolves its headers through here, freshest source first:
14
+ *
15
+ * 1. `explicit` — headers passed with this very call (a `fetchVin(vin, headers)`), which are also
16
+ * remembered as `lastRequestHeaders` for the follow-up calls;
17
+ * 2. the host's provider — a JavaScript callback, or a `[JSInvokable]` Blazor method — which can
18
+ * refresh the token before answering;
19
+ * 3. `lastRequestHeaders`, then the static `headers` prop.
20
+ *
21
+ * The identity props (`cityId`, `userId`, …) are mapped onto their header names last, exactly as
22
+ * the vehicle lookup itself has always done, so a follow-up call carries the same context.
23
+ */
24
+ export const resolveRequestHeaders = async (context, explicit) => {
25
+ let provided;
26
+ if (hasEntries(explicit)) {
27
+ context.lastRequestHeaders = explicit;
28
+ provided = explicit;
29
+ }
30
+ else if (context.requestHeadersProvider) {
31
+ provided = await context.requestHeadersProvider();
32
+ }
33
+ else if (context.blazorRequestHeadersProvider && context.blazorRef) {
34
+ provided = await context.blazorRef.invokeMethodAsync(context.blazorRequestHeadersProvider);
35
+ }
36
+ const merged = Object.assign(Object.assign(Object.assign({}, (context.headers || {})), (context.lastRequestHeaders || {})), (provided || {}));
37
+ Object.entries(vehicleRequestHeaders).forEach(([componentHeaderKey, headerField]) => {
38
+ if (context[componentHeaderKey])
39
+ merged[headerField] = context[componentHeaderKey];
40
+ });
41
+ return merged;
42
+ };
@@ -3,7 +3,7 @@
3
3
  * Copyright (c)
4
4
  */
5
5
  import { smartInvokable } from "../blazor-ref/index";
6
- import { vehicleRequestHeaders } from "./types";
6
+ import { resolveRequestHeaders } from "./request-headers";
7
7
  import validateVin from "../../global/lib/validate-vin";
8
8
  export const setVehicleLookupData = async (context, newData, headers = {}, { beforeAssignment } = {}) => {
9
9
  var _a;
@@ -82,12 +82,14 @@ export const getVehicleLookup = async (context, generalProps, headers = {}) => {
82
82
  else {
83
83
  if (!(context === null || context === void 0 ? void 0 : context.baseUrl))
84
84
  throw new Error('noBaseUrl');
85
- const componentHeaders = Object.assign({}, headers);
86
- Object.entries(vehicleRequestHeaders).forEach(([componentHeaderKey, headerField]) => {
87
- if (context[componentHeaderKey])
88
- componentHeaders[headerField] = context[componentHeaderKey];
89
- });
90
- const response = await fetch(`${context === null || context === void 0 ? void 0 : context.baseUrl}${vin}?${context === null || context === void 0 ? void 0 : context.queryString}`, { signal: context === null || context === void 0 ? void 0 : context.abortController.signal, headers: componentHeaders });
85
+ // Headers passed with this call win and are remembered for the follow-up requests (trace,
86
+ // claim, unauthorized campaign lookup); without them the host's provider is asked, so a host
87
+ // that refreshes its token on demand never has to push headers into the element at all.
88
+ const componentHeaders = await resolveRequestHeaders(context, headers);
89
+ // The lookup-only part joins here and nowhere else: a follow-up request (a trace) is built from
90
+ // queryString alone, so a logging flag placed in lookupQueryString never rides on a re-read.
91
+ const query = [context === null || context === void 0 ? void 0 : context.queryString, context === null || context === void 0 ? void 0 : context.lookupQueryString].filter(Boolean).join('&');
92
+ const response = await fetch(`${context === null || context === void 0 ? void 0 : context.baseUrl}${vin}?${query}`, { signal: context === null || context === void 0 ? void 0 : context.abortController.signal, headers: componentHeaders });
91
93
  const newData = (await response.json());
92
94
  return handleResult(newData);
93
95
  }
@@ -0,0 +1,46 @@
1
+ /*!
2
+ * Built by ShiftSoftware
3
+ * Copyright (c)
4
+ */
5
+ import { parentsWithTag } from "./parents-with-tag";
6
+ /**
7
+ * A <flexible-container> pins its height to its content and animates between measurements, but it
8
+ * measures on light-DOM mutations only: a height change that happens inside a child's shadow root —
9
+ * a drawer sliding open on a CSS transition — is invisible to it, and the container keeps clipping
10
+ * at the old height until something unrelated (a tab switch, a window resize) makes it look again.
11
+ *
12
+ * A nested <flexible-container> solves this for itself by announcing its animation to every
13
+ * enclosing one, which then stops clipping (height auto, no transition) until the child has
14
+ * settled and measures again. This is that protocol for a panel that animates with CSS instead:
15
+ * call `announce` whenever a change that moves the panel's height begins; the announcement is
16
+ * held open for the duration and extended by any further call inside it.
17
+ */
18
+ export const createHeightChangeAnnouncer = (el) => {
19
+ const token = {};
20
+ let timer;
21
+ let announced = [];
22
+ const release = () => {
23
+ timer = undefined;
24
+ announced.forEach(parent => {
25
+ void parent.onAnimationPlayChanges(false);
26
+ void parent.removeChildrenAnimation(token);
27
+ });
28
+ announced = [];
29
+ };
30
+ return {
31
+ announce(durationMs) {
32
+ if (timer)
33
+ clearTimeout(timer);
34
+ if (!announced.length) {
35
+ announced = parentsWithTag(el, 'flexible-container').filter(parent => typeof parent.addChildrenAnimation === 'function');
36
+ announced.forEach(parent => void parent.addChildrenAnimation(token));
37
+ }
38
+ timer = setTimeout(release, durationMs);
39
+ },
40
+ dispose() {
41
+ if (timer)
42
+ clearTimeout(timer);
43
+ release();
44
+ },
45
+ };
46
+ };
@@ -0,0 +1,118 @@
1
+ /*!
2
+ * Built by ShiftSoftware
3
+ * Copyright (c)
4
+ */
5
+ /**
6
+ * Brings `anchor` to the top of its scroll container with the browser's own kind of movement —
7
+ * eased in and out, its length set by the distance — and keeps it there while the layout beneath
8
+ * is still growing, so a drawer sliding open under a row carries the page with it instead of
9
+ * opening out of sight below the fold.
10
+ *
11
+ * Why not `scrollIntoView({ behavior: 'smooth' })`: it fixes its destination when it is called,
12
+ * and a page that is still growing cannot yet scroll that far, so the row stops short and the
13
+ * drawer opens where the reader cannot see it. It also scrolls `overflow: hidden` ancestors
14
+ * internally, which shifts the content of a container that is animating its height. This eases
15
+ * the scroll position itself, re-reads the target and the scroll range on every frame, and keeps
16
+ * following the range for `followMs` — how long the layout beneath takes to settle — so the page
17
+ * and the drawer land together.
18
+ *
19
+ * Honours the anchor's `scroll-margin-top` and each container's `scroll-padding-top` (a host whose
20
+ * fixed header covers the top of the page sets the latter on its scroller, as it would for
21
+ * `scrollIntoView`), lands at once under reduced motion, and yields to the reader: a wheel, touch
22
+ * or key cancels it. Returns a function that stops it early.
23
+ */
24
+ export const revealBelow = (anchor, followMs) => {
25
+ const scrollers = anchor.isConnected ? scrollContainersOf(anchor) : [];
26
+ if (!scrollers.length)
27
+ return () => { };
28
+ const reduced = prefersReducedMotion();
29
+ let frame;
30
+ let startedAt;
31
+ let starts = [];
32
+ let travel = 0;
33
+ const stop = () => {
34
+ if (frame !== undefined)
35
+ window.cancelAnimationFrame(frame);
36
+ frame = undefined;
37
+ CANCEL_EVENTS.forEach(type => window.removeEventListener(type, stop));
38
+ };
39
+ /**
40
+ * Where the container would have to be scrolled to for the anchor to sit at its top — read afresh
41
+ * each frame, because what is above the anchor may be moving too.
42
+ */
43
+ const targetOf = (scroller) => {
44
+ const isDocument = scroller === document.scrollingElement;
45
+ const viewportTop = isDocument ? 0 : scroller.getBoundingClientRect().top + scroller.clientTop;
46
+ const padding = pixels(window.getComputedStyle(isDocument ? document.documentElement : scroller).scrollPaddingTop);
47
+ const margin = pixels(window.getComputedStyle(anchor).scrollMarginTop);
48
+ return scroller.scrollTop + anchor.getBoundingClientRect().top - viewportTop - margin - padding;
49
+ };
50
+ const step = (timestamp) => {
51
+ frame = undefined;
52
+ const now = typeof timestamp === 'number' ? timestamp : Date.now();
53
+ if (startedAt === undefined) {
54
+ // The journey is measured on the first frame, when layout has settled, and its length set
55
+ // from the distance the way the browser's own smooth scroll does.
56
+ startedAt = now;
57
+ starts = scrollers.map(scroller => scroller.scrollTop);
58
+ const distance = Math.max(...scrollers.map((scroller, index) => Math.abs(targetOf(scroller) - starts[index])));
59
+ travel = reduced ? 0 : scrollDuration(distance);
60
+ }
61
+ const elapsed = now - startedAt;
62
+ const eased = travel > 0 ? easeInOut(Math.min(1, elapsed / travel)) : 1;
63
+ let heldBack = false;
64
+ scrollers.forEach((scroller, index) => {
65
+ const target = targetOf(scroller);
66
+ const position = starts[index] + (target - starts[index]) * eased;
67
+ const range = scroller.scrollHeight - scroller.clientHeight;
68
+ const reach = Number.isFinite(range) ? Math.max(0, range) : position;
69
+ if (target > reach)
70
+ heldBack = true;
71
+ scroller.scrollTop = Math.max(0, Math.min(position, reach));
72
+ });
73
+ // Keep going while the movement is under way, and after it only while something beneath is
74
+ // still growing the page towards the target.
75
+ if (elapsed < travel || (heldBack && elapsed < followMs))
76
+ frame = window.requestAnimationFrame(step);
77
+ else
78
+ stop();
79
+ };
80
+ CANCEL_EVENTS.forEach(type => window.addEventListener(type, stop, { passive: true }));
81
+ frame = window.requestAnimationFrame(step);
82
+ return stop;
83
+ };
84
+ /**
85
+ * How long a scroll of `distance` pixels takes: the square-root law the browser uses for its own
86
+ * smooth scrolls, so a short hop is brief and a long journey is long without being slow, held
87
+ * between a floor that keeps a small nudge gentle and a ceiling that keeps a page-length one brisk.
88
+ */
89
+ export const scrollDuration = (distance) => Math.min(MAX_DURATION_MS, Math.max(MIN_DURATION_MS, Math.sqrt(Math.max(0, distance)) * DURATION_PER_ROOT_PX));
90
+ const MIN_DURATION_MS = 260;
91
+ const MAX_DURATION_MS = 720;
92
+ const DURATION_PER_ROOT_PX = 16.7;
93
+ const CANCEL_EVENTS = ['wheel', 'touchmove', 'keydown'];
94
+ /** Slow to start, slow to arrive: the movement of something with mass. */
95
+ const easeInOut = (t) => (t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2);
96
+ /** A computed length in pixels; anything else (`auto`, a percentage, nothing) counts as zero. */
97
+ const pixels = (value) => (value && value.endsWith('px') ? parseFloat(value) || 0 : 0);
98
+ const prefersReducedMotion = () => { var _a; return typeof window.matchMedia === 'function' && !!((_a = window.matchMedia('(prefers-reduced-motion: reduce)')) === null || _a === void 0 ? void 0 : _a.matches); };
99
+ /** The parent to walk to next, stepping out of a shadow root onto its host. */
100
+ const parentOf = (node) => { var _a; return (_a = node.parentElement) !== null && _a !== void 0 ? _a : (node.getRootNode().host || null); };
101
+ /**
102
+ * Every scroll container above the anchor, innermost first, ending with the document's. A
103
+ * container counts when it is set to scroll and can: an `overflow: auto` wrapper whose content
104
+ * fits is not a scroller, and an `overflow: hidden` box is never one — scrolling that would shift
105
+ * its content, not the page.
106
+ */
107
+ const scrollContainersOf = (anchor) => {
108
+ const found = [];
109
+ for (let node = parentOf(anchor); node; node = parentOf(node)) {
110
+ const overflow = window.getComputedStyle(node).overflowY;
111
+ if (/^(auto|scroll|overlay)$/.test(overflow || '') && node.scrollHeight > node.clientHeight)
112
+ found.push(node);
113
+ }
114
+ const root = document.scrollingElement;
115
+ if (root && !found.includes(root))
116
+ found.push(root);
117
+ return found.filter(scroller => typeof scroller.scrollTop === 'number');
118
+ };
@@ -61,7 +61,7 @@ const localeMapper = {
61
61
  "locales/vehicleLookup/saleInformation/",
62
62
  "locales/vehicleLookup/serviceHistory/",
63
63
  "locales/vehicleLookup/specification/",
64
- "locales/vehicleLookup/warranty/",
64
+ "locales/vehicleLookup/ssc/",
65
65
  "locales/vehicleLookup/warrantyTimeline/"
66
66
  ],
67
67
  "vehicleLookup.claimableItems": [
@@ -79,8 +79,8 @@ const localeMapper = {
79
79
  "vehicleLookup.specification": [
80
80
  "locales/vehicleLookup/specification/"
81
81
  ],
82
- "vehicleLookup.warranty": [
83
- "locales/vehicleLookup/warranty/"
82
+ "vehicleLookup.ssc": [
83
+ "locales/vehicleLookup/ssc/"
84
84
  ],
85
85
  "vehicleLookup.warrantyTimeline": [
86
86
  "locales/vehicleLookup/warrantyTimeline/"
@@ -0,0 +1,70 @@
1
+ /*!
2
+ * Built by ShiftSoftware
3
+ * Copyright (c)
4
+ */
5
+ import yupTypeMapper from "../../../global/lib/yup-type-mapper";
6
+ const sscSchema = yupTypeMapper([
7
+ 'title',
8
+ 'open',
9
+ 'repaired',
10
+ 'noCampaigns',
11
+ 'code',
12
+ 'description',
13
+ 'status',
14
+ 'laborCodes',
15
+ 'parts',
16
+ 'sourceSSCRecord',
17
+ 'sourceWarrantyClaim',
18
+ 'sourceServiceHistory',
19
+ 'partAvailable',
20
+ 'partUnavailable',
21
+ 'partNotChecked',
22
+ 'unauthorizedCheck',
23
+ 'checkingTMC',
24
+ 'recallExists',
25
+ 'noRecall',
26
+ 'noApplicableVehicleFound',
27
+ 'pendingCampaign',
28
+ 'noPendingCampaign',
29
+ 'notInRecords',
30
+ 'vehicleNotFound',
31
+ 'unauthorizedNoCheck',
32
+ 'campaignList',
33
+ 'skipped',
34
+ 'skippedNotice',
35
+ 'runCheck',
36
+ 'viewTrace',
37
+ 'hideTrace',
38
+ 'traceTitle',
39
+ 'traceLoading',
40
+ 'traceFailed',
41
+ 'traceUnavailable',
42
+ 'traceOrder',
43
+ 'traceRecord',
44
+ 'traceRecordDate',
45
+ 'traceRecordNone',
46
+ 'traceCodes',
47
+ 'traceCampaignCode',
48
+ 'traceInterchangeableWith',
49
+ 'traceClaims',
50
+ 'traceClaimsNone',
51
+ 'traceClaim',
52
+ 'traceCompleted',
53
+ 'traceStatusQualifies',
54
+ 'traceStatusNotQualifies',
55
+ 'traceCampaignInComment',
56
+ 'traceMatchedCode',
57
+ 'traceNoReference',
58
+ 'traceDecided',
59
+ 'traceHistory',
60
+ 'traceLinesExamined',
61
+ 'traceLinesMatched',
62
+ 'traceHistoryNone',
63
+ 'traceInvoice',
64
+ 'traceInvoiceStatus',
65
+ 'traceVerdictOpen',
66
+ 'traceVerdictSSCRecord',
67
+ 'traceVerdictWarrantyClaim',
68
+ 'traceVerdictServiceHistory',
69
+ ]);
70
+ export default sscSchema;
@@ -3,14 +3,14 @@
3
3
  * Copyright (c)
4
4
  */
5
5
  import { object } from "yup";
6
- import warrantySchema from "./warranty/type";
6
+ import sscSchema from "./ssc/type";
7
7
  import accessoriesSchema from "./accessories/type";
8
8
  import specificationSchema from "./specification/type";
9
9
  import paintThicknessSchema from "./paintThickness/type";
10
10
  import ServiceHistorySchema from "./serviceHistory/type";
11
11
  import claimableItemsSchema from "./claimableItems/type";
12
12
  const vehicleLookupWrapperSchema = object({
13
- warranty: warrantySchema,
13
+ ssc: sscSchema,
14
14
  accessories: accessoriesSchema,
15
15
  specification: specificationSchema,
16
16
  claimableItems: claimableItemsSchema,
@@ -159,7 +159,9 @@ const PROFILES = {
159
159
  select: (subject, key, harness) => {
160
160
  const mock = harness.mode === 'dev' && harness.data?.[key];
161
161
 
162
- return mock ? subject.handleLoadData(mock, null) : subject.fetchVin(key, { headers: 'headers-value' });
162
+ // A page that sets ssc-query-string is showing the SSC tab's own lookup and what the other
163
+ // tabs' searches leave it with, so its searches go through fetchVin the way a host's do.
164
+ return mock && !subject.sscQueryString ? subject.handleLoadData(mock, null) : subject.fetchVin(key, { headers: 'headers-value' });
163
165
  },
164
166
  events: {
165
167
  loadingStateChanged: track,
@@ -2,4 +2,4 @@
2
2
  * Built by ShiftSoftware
3
3
  * Copyright (c)
4
4
  */
5
- import{B as o,d as p}from"./p-BpHkd1L9.js";const s=o,r=p;export{s as BranchDateDropdown,r as defineCustomElement}
5
+ import{B as s,d as o}from"./p-vuYBsCyI.js";const p=s,r=o;export{p as BranchDateDropdown,r as defineCustomElement}
@@ -2,4 +2,4 @@
2
2
  * Built by ShiftSoftware
3
3
  * Copyright (c)
4
4
  */
5
- import{B as o,d as s}from"./p-B0_5_VvS.js";const p=o,r=s;export{p as BranchDatePicker,r as defineCustomElement}
5
+ import{B as o,d as s}from"./p-a4ooD0o_.js";const a=o,p=s;export{a as BranchDatePicker,p as defineCustomElement}
@@ -2,4 +2,4 @@
2
2
  * Built by ShiftSoftware
3
3
  * Copyright (c)
4
4
  */
5
- import{B as o,d as s}from"./p-DTmI_Yx0.js";const m=o,p=s;export{m as BranchSlotDropdown,p as defineCustomElement}
5
+ import{B as o,d as s}from"./p-bVbnoz7C.js";const p=o,r=s;export{p as BranchSlotDropdown,r as defineCustomElement}
@@ -2,4 +2,4 @@
2
2
  * Built by ShiftSoftware
3
3
  * Copyright (c)
4
4
  */
5
- import{B as o,d as s}from"./p-5OD_mwiD.js";const m=o,p=s;export{m as BranchSlotPicker,p as defineCustomElement}
5
+ import{B as s,d as o}from"./p-BNmsN10T.js";const m=s,p=o;export{m as BranchSlotPicker,p as defineCustomElement}
@@ -2,4 +2,4 @@
2
2
  * Built by ShiftSoftware
3
3
  * Copyright (c)
4
4
  */
5
- import{D as o,d as s}from"./p-DQ0uTCi2.js";const p=o,r=s;export{p as DeadStockLookup,r as defineCustomElement}
5
+ import{D as o,d as r}from"./p-BDOUh9fr.js";const s=o,p=r;export{s as DeadStockLookup,p as defineCustomElement}