adp-web-components 0.3.13 → 0.3.15

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 (383) hide show
  1. package/dist/cjs/{add-icon-BaoMAIgg.js → add-icon-BklgM02f.js} +1 -1
  2. package/dist/cjs/{app-globals-DBRBLgev.js → app-globals-XGpRBTr6.js} +1 -1
  3. package/dist/cjs/{arrow-icon-CJX1aUJ8.js → arrow-icon-yMlETDbD.js} +1 -1
  4. package/dist/cjs/{arrow-up-icon-B3Z5Myqt.js → arrow-up-icon-BLo1aQC2.js} +1 -1
  5. package/dist/cjs/{form-dialog_13.cjs.entry.js → branch-slot-dropdown_15.cjs.entry.js} +578 -41
  6. package/dist/cjs/{calendar-days-icon-CsHz2cgV.js → calendar-days-icon-Cf14ROXV.js} +1 -1
  7. package/dist/cjs/{check-icon-CqTKjw2o.js → check-icon-DaQxP2EY.js} +1 -1
  8. package/dist/cjs/dead-stock-lookup_3.cjs.entry.js +11 -11
  9. package/dist/cjs/{decode-time-offset-DOSaziv5.js → decode-time-offset-DOUImlif.js} +1 -1
  10. package/dist/cjs/flexible-container.cjs.entry.js +4 -4
  11. package/dist/cjs/form-checkbox.cjs.entry.js +6 -6
  12. package/dist/cjs/form-date-picker.cjs.entry.js +8 -8
  13. package/dist/cjs/{form-error-message-K-KI154V.js → form-error-message-BtLdHgxO.js} +1 -1
  14. package/dist/cjs/{form-input-PYkIVe7J.js → form-input-BBY_3Qk7.js} +8 -6
  15. package/dist/cjs/{form-input-label-uhneFYXO.js → form-input-label-B4lkF89K.js} +1 -1
  16. package/dist/cjs/form-input_7.cjs.entry.js +26 -26
  17. package/dist/cjs/form-switch.cjs.entry.js +6 -6
  18. package/dist/cjs/form-time-picker.cjs.entry.js +9 -9
  19. package/dist/cjs/{functions-Bu1AQDD2.js → functions-BHYWCotp.js} +5 -11
  20. package/dist/cjs/general-form.cjs.entry.js +11 -11
  21. package/dist/cjs/general-inquiry-form.cjs.entry.js +11 -11
  22. package/dist/cjs/{get-language-from-url-p2OXldYh.js → get-language-from-url-DwOt9DVH.js} +5 -1
  23. package/dist/cjs/{get-local-language-BR0p0bBg.js → get-local-language-BSOLV9z2.js} +7 -3
  24. package/dist/cjs/{get-mock-files-Dljv5P4k.js → get-mock-files-Dv8XsTW8.js} +2 -2
  25. package/dist/cjs/{index-Bi6W8dMN.js → index-BdHAYIvO.js} +16 -0
  26. package/dist/cjs/information-table.cjs.entry.js +2 -2
  27. package/dist/cjs/{loader-icon-By94sKO7.js → loader-icon-aY56OHXW.js} +1 -1
  28. package/dist/cjs/loader.cjs.js +3 -3
  29. package/dist/cjs/loading-spinner.cjs.entry.js +2 -2
  30. package/dist/cjs/manufacturer-part-lookup.cjs.entry.js +4 -4
  31. package/dist/cjs/{mappers-DF2WCWpn.js → mappers-BlH-TAo7.js} +27 -5
  32. package/dist/cjs/{material-card-BqsZgRVE.js → material-card-D1UQcy6U.js} +1 -1
  33. package/dist/cjs/part-lookup.cjs.entry.js +3 -3
  34. package/dist/cjs/{qr-code-scan-B-8WHa22.js → qr-code-scan-CtKK6wLL.js} +1 -1
  35. package/dist/cjs/service-booking-form.cjs.entry.js +11 -11
  36. package/dist/cjs/shift-accordion.cjs.entry.js +2 -2
  37. package/dist/cjs/shift-checkbox.cjs.entry.js +4 -4
  38. package/dist/cjs/shift-components.cjs.js +3 -3
  39. package/dist/cjs/shift-slider.cjs.entry.js +2 -2
  40. package/dist/cjs/shift-switch.cjs.entry.js +3 -3
  41. package/dist/cjs/shift-tab-content.cjs.entry.js +2 -2
  42. package/dist/cjs/shift-tabs_2.cjs.entry.js +13 -13
  43. package/dist/cjs/ssc-lookup-form.cjs.entry.js +11 -11
  44. package/dist/cjs/test-drive-form.cjs.entry.js +11 -11
  45. package/dist/cjs/{triangle-alert-CN15U99s.js → triangle-alert-BjQBwsRv.js} +1 -1
  46. package/dist/cjs/{validation-jJwLyk27.js → validation-5ZUxalyW.js} +3 -1
  47. package/dist/cjs/{vehicle-accessories_7.cjs.entry.js → vehicle-accessories_8.cjs.entry.js} +418 -19
  48. package/dist/cjs/{vehicle-info-layout-sV6altzn.js → vehicle-info-layout-CRpL8UMY.js} +1 -1
  49. package/dist/cjs/vehicle-lookup.cjs.entry.js +9 -5
  50. package/dist/cjs/vehicle-quotation-form.cjs.entry.js +7 -7
  51. package/dist/cjs/{get-custom-classes-for-portal-NNOxAU3P.js → white-loader-CveXuRsH.js} +15 -15
  52. package/dist/collection/collection-manifest.json +3 -0
  53. package/dist/collection/components/components/empty.css +1 -1
  54. package/dist/collection/components/components/flexible-container.css +1 -1
  55. package/dist/collection/components/components/flexible-container.js +2 -2
  56. package/dist/collection/components/components/loading-spinner.js +1 -1
  57. package/dist/collection/components/components/shift-accordion.js +1 -1
  58. package/dist/collection/components/components/shift-checkbox.js +1 -1
  59. package/dist/collection/components/components/shift-portal.css +1 -1
  60. package/dist/collection/components/components/shift-select-dropdown.css +1 -1
  61. package/dist/collection/components/components/shift-select-dropdown.js +2 -2
  62. package/dist/collection/components/components/shift-select.css +1 -1
  63. package/dist/collection/components/components/shift-select.js +3 -3
  64. package/dist/collection/components/components/shift-slider.js +1 -1
  65. package/dist/collection/components/components/shift-switch.js +1 -1
  66. package/dist/collection/components/components/shift-tab-content.js +1 -1
  67. package/dist/collection/components/components/shift-tabs.js +2 -2
  68. package/dist/collection/components/form-elements/branch-slot-dropdown.css +1 -0
  69. package/dist/collection/components/form-elements/branch-slot-dropdown.js +405 -0
  70. package/dist/collection/components/form-elements/branch-slot-picker.css +1 -0
  71. package/dist/collection/components/form-elements/branch-slot-picker.js +921 -0
  72. package/dist/collection/components/form-elements/form-checkbox.js +1 -1
  73. package/dist/collection/components/form-elements/form-date-picker-legacy.js +4 -4
  74. package/dist/collection/components/form-elements/form-dialog.js +1 -1
  75. package/dist/collection/components/form-elements/form-file.js +22 -4
  76. package/dist/collection/components/form-elements/form-input.js +2 -2
  77. package/dist/collection/components/form-elements/form-inputs.css +1 -1
  78. package/dist/collection/components/form-elements/form-picker-input.js +2 -2
  79. package/dist/collection/components/form-elements/form-shadow-input.js +1 -1
  80. package/dist/collection/components/form-elements/form-stepper-control.js +2 -2
  81. package/dist/collection/components/form-elements/form-stepper-submit.js +2 -2
  82. package/dist/collection/components/form-elements/form-stepper.js +1 -1
  83. package/dist/collection/components/form-elements/form-structure-error.js +1 -1
  84. package/dist/collection/components/form-elements/form-submit.js +2 -2
  85. package/dist/collection/components/form-elements/form-switch.js +1 -1
  86. package/dist/collection/components/form-elements/form-text-area.js +2 -2
  87. package/dist/collection/components/form-elements/form-time-picker-legacy.js +5 -5
  88. package/dist/collection/components/form-elements/form-vin-input.js +2 -2
  89. package/dist/collection/components/forms/defaults/mappers.js +23 -1
  90. package/dist/collection/components/forms/defaults/validation.js +2 -1
  91. package/dist/collection/components/forms/general-form.js +2 -2
  92. package/dist/collection/components/forms/general-inquiry.js +2 -2
  93. package/dist/collection/components/forms/service-booking.js +2 -2
  94. package/dist/collection/components/forms/ssc-lookup.js +2 -2
  95. package/dist/collection/components/forms/test-drive.js +2 -2
  96. package/dist/collection/components/forms/vehicle-quotation.js +2 -2
  97. package/dist/collection/components/part-lookup/dead-stock-lookup.css +1 -1
  98. package/dist/collection/components/part-lookup/dead-stock-lookup.js +2 -2
  99. package/dist/collection/components/part-lookup/distributor-lookup.js +2 -2
  100. package/dist/collection/components/part-lookup/manufacturer-part-lookup.js +1 -1
  101. package/dist/collection/components/vehicle-lookup/components/CoverageTimeline.js +317 -0
  102. package/dist/collection/components/vehicle-lookup/vehicle-accessories.js +2 -2
  103. package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.js +5 -5
  104. package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.js +7 -7
  105. package/dist/collection/components/vehicle-lookup/vehicle-lookup.js +6 -2
  106. package/dist/collection/components/vehicle-lookup/vehicle-sale-information.js +2 -2
  107. package/dist/collection/components/vehicle-lookup/vehicle-service-history.js +1 -1
  108. package/dist/collection/components/vehicle-lookup/vehicle-specification.js +1 -1
  109. package/dist/collection/components/vehicle-lookup/vehicle-warranty-timeline.css +1 -0
  110. package/dist/collection/components/vehicle-lookup/vehicle-warranty-timeline.js +467 -0
  111. package/dist/collection/components/vin-extractor/vin-extractor.js +1 -1
  112. package/dist/collection/features/form-hook/form-hook.js +4 -0
  113. package/dist/collection/features/form-hook/functions.js +2 -8
  114. package/dist/collection/features/form-hook/inputs/form-input.js +7 -5
  115. package/dist/collection/global/types/generated/vehicle-lookup/vehicle-extended-warranty-dto.js +1 -0
  116. package/dist/collection/locale-mapper.js +5 -1
  117. package/dist/collection/locales/vehicleLookup/warrantyTimeline/type.js +31 -0
  118. package/dist/collection/templates/vehicle-lookup/prototype-assets/extended-warranty/adp-logo.svg +11 -0
  119. package/dist/collection/templates/vehicle-lookup/warranty-mock-data.js +96 -1
  120. package/dist/components/branch-slot-dropdown.d.ts +11 -0
  121. package/dist/components/branch-slot-dropdown.js +5 -0
  122. package/dist/components/branch-slot-picker.d.ts +11 -0
  123. package/dist/components/branch-slot-picker.js +5 -0
  124. package/dist/components/dead-stock-lookup.js +1 -1
  125. package/dist/components/distributor-lookup.js +1 -1
  126. package/dist/components/flexible-container.js +1 -1
  127. package/dist/components/form-checkbox.js +1 -1
  128. package/dist/components/form-date-picker.js +1 -1
  129. package/dist/components/form-dialog.js +1 -1
  130. package/dist/components/form-file.js +1 -1
  131. package/dist/components/form-input-preview.js +1 -1
  132. package/dist/components/form-input.js +1 -1
  133. package/dist/components/form-phone-number.js +1 -1
  134. package/dist/components/form-picker-input.js +1 -1
  135. package/dist/components/form-select.js +1 -1
  136. package/dist/components/form-shadow-input.js +1 -1
  137. package/dist/components/form-stepper-control.js +1 -1
  138. package/dist/components/form-stepper-submit.js +1 -1
  139. package/dist/components/form-stepper.js +1 -1
  140. package/dist/components/form-structure-error.js +1 -1
  141. package/dist/components/form-structure.js +1 -1
  142. package/dist/components/form-submit.js +1 -1
  143. package/dist/components/form-switch.js +1 -1
  144. package/dist/components/form-text-area.js +1 -1
  145. package/dist/components/form-time-picker.js +1 -1
  146. package/dist/components/form-vin-input.js +1 -1
  147. package/dist/components/general-form.js +1 -1
  148. package/dist/components/general-inquiry-form.js +1 -1
  149. package/dist/components/index.js +1 -1
  150. package/dist/components/information-table.js +1 -1
  151. package/dist/components/loading-spinner.js +1 -1
  152. package/dist/components/manufacturer-lookup.js +1 -1
  153. package/dist/components/manufacturer-part-lookup.js +1 -1
  154. package/dist/components/{p-CKrwCtec.js → p--qz4ecXR.js} +1 -1
  155. package/dist/components/{p-BMxw31OW.js → p-3xgnJUhD.js} +1 -1
  156. package/dist/components/{p-DJ0awYVE.js → p-87NLGlyb.js} +1 -1
  157. package/dist/components/{p-dRP9cgZF.js → p-B2FtamaW.js} +1 -1
  158. package/dist/components/{p-Cl-rntc3.js → p-B47kSZHb.js} +1 -1
  159. package/dist/components/p-B7gfOpxv.js +5 -0
  160. package/dist/components/{p-CjByjVT0.js → p-B83lw3YO.js} +1 -1
  161. package/dist/components/p-B9ClwHPb.js +5 -0
  162. package/dist/components/p-B9_-Tb0H.js +5 -0
  163. package/dist/components/{p-CtyIp56a.js → p-BAtXT_Mt.js} +1 -1
  164. package/dist/components/p-BGX0qdUG.js +5 -0
  165. package/dist/components/{p-Hlqj6HsH.js → p-BPnD6Cqq.js} +1 -1
  166. package/dist/components/{p-BNs9PHd8.js → p-BQC1g-wS.js} +1 -1
  167. package/dist/components/p-B__72-PA.js +5 -0
  168. package/dist/components/{p-Wv20cFTm.js → p-BaKmifzr.js} +1 -1
  169. package/dist/components/{p-CRJSM0nN.js → p-BcDVkdxZ.js} +1 -1
  170. package/dist/components/{p-D-0CfzDk.js → p-ByA_B82T.js} +1 -1
  171. package/dist/components/p-C0JoH_yH.js +5 -0
  172. package/dist/components/{p-BjLQXN9e.js → p-C2RnTSH-.js} +1 -1
  173. package/dist/components/{p-B3Vlmu9F.js → p-C4ud82ie.js} +1 -1
  174. package/dist/components/p-CCuYl9VQ.js +5 -0
  175. package/dist/components/{p-BIeJEFM6.js → p-CDQ5F3Oe.js} +1 -1
  176. package/dist/components/{p-ubqjXh5U.js → p-CGJ8ndBw.js} +1 -1
  177. package/dist/components/p-CNcA_RyS.js +5 -0
  178. package/dist/components/{p-BcRom3sV.js → p-C_ZtLgwx.js} +1 -1
  179. package/dist/components/{p-BHYsBcpG.js → p-Cq13CFua.js} +1 -1
  180. package/dist/components/p-CzVOOo8C.js +5 -0
  181. package/dist/components/{p-B42vuL_p.js → p-D-6PSzhd.js} +1 -1
  182. package/dist/components/{p-DBErZTaY.js → p-D2H3RzIC.js} +1 -1
  183. package/dist/components/{p-CMgPnaDZ.js → p-DHaTQ9vT.js} +1 -1
  184. package/dist/components/{p-8EOK_QhL.js → p-DQGcS-zL.js} +1 -1
  185. package/dist/components/p-DQopO8HS.js +5 -0
  186. package/dist/components/p-DTk3bhGl.js +5 -0
  187. package/dist/components/p-Dal_X4-W.js +5 -0
  188. package/dist/components/{p-CoAe_PpX.js → p-DdB_zKQz.js} +1 -1
  189. package/dist/components/{p-BP6R1nYk.js → p-Dhi7g1w3.js} +1 -1
  190. package/dist/components/p-Dr_ggnvT.js +5 -0
  191. package/dist/components/{p-C55Gk63d.js → p-Dx0NcxCM.js} +1 -1
  192. package/dist/components/{p-50EIzP4j.js → p-HT-TmIJD.js} +1 -1
  193. package/dist/components/{p-BFAzCUQY.js → p-ZTI11kto.js} +1 -1
  194. package/dist/components/{p-DbAAihIH.js → p-a5fTeexp.js} +1 -1
  195. package/dist/components/{p-BDlZ35Dv.js → p-bOkg1-34.js} +1 -1
  196. package/dist/components/{p-DWGSY0dp.js → p-gzdpekMI.js} +1 -1
  197. package/dist/components/{p-DNZ31iYw.js → p-pIanEonc.js} +1 -1
  198. package/dist/components/{p-BDHTK4yJ.js → p-qGX3WTkQ.js} +1 -1
  199. package/dist/components/{p-CnZZ3ASF.js → p-qs0MTheD.js} +1 -1
  200. package/dist/components/{p-CD1XArUc.js → p-txgHrQYx.js} +1 -1
  201. package/dist/components/{p-BsgLxjfx.js → p-v_TjAHaO.js} +1 -1
  202. package/dist/components/part-lookup.js +1 -1
  203. package/dist/components/service-booking-form.js +1 -1
  204. package/dist/components/shift-accordion.js +1 -1
  205. package/dist/components/shift-checkbox.js +1 -1
  206. package/dist/components/shift-portal.js +1 -1
  207. package/dist/components/shift-select-dropdown.js +1 -1
  208. package/dist/components/shift-select.js +1 -1
  209. package/dist/components/shift-slider.js +1 -1
  210. package/dist/components/shift-switch.js +1 -1
  211. package/dist/components/shift-tab-content.js +1 -1
  212. package/dist/components/shift-tabs.js +1 -1
  213. package/dist/components/ssc-lookup-form.js +1 -1
  214. package/dist/components/test-drive-form.js +1 -1
  215. package/dist/components/vehicle-accessories.js +1 -1
  216. package/dist/components/vehicle-claimable-items.js +1 -1
  217. package/dist/components/vehicle-item-claim-form.js +1 -1
  218. package/dist/components/vehicle-lookup.js +1 -1
  219. package/dist/components/vehicle-paint-thickness.js +1 -1
  220. package/dist/components/vehicle-quotation-form.js +1 -1
  221. package/dist/components/vehicle-sale-information.js +1 -1
  222. package/dist/components/vehicle-service-history.js +1 -1
  223. package/dist/components/vehicle-specification.js +1 -1
  224. package/dist/components/vehicle-warranty-details.js +1 -1
  225. package/dist/components/vehicle-warranty-timeline.d.ts +11 -0
  226. package/dist/components/vehicle-warranty-timeline.js +5 -0
  227. package/dist/components/vin-extractor.js +1 -1
  228. package/dist/esm/{add-icon-DxQVyX6U.js → add-icon-DHh6DJXR.js} +1 -1
  229. package/dist/esm/{app-globals-ci3rJxmu.js → app-globals-CusTGK9D.js} +1 -1
  230. package/dist/esm/{arrow-icon-DRTeN2D5.js → arrow-icon-DziuNOTp.js} +1 -1
  231. package/dist/esm/{arrow-up-icon-FAYFxG6c.js → arrow-up-icon-Dw_d-rG9.js} +1 -1
  232. package/dist/esm/{form-dialog_13.entry.js → branch-slot-dropdown_15.entry.js} +575 -40
  233. package/dist/esm/{calendar-days-icon-BOy0a_W-.js → calendar-days-icon-CnASOv7M.js} +1 -1
  234. package/dist/esm/{check-icon-BYK1ESZG.js → check-icon-BZQF4tzH.js} +1 -1
  235. package/dist/esm/dead-stock-lookup_3.entry.js +11 -11
  236. package/dist/esm/{decode-time-offset-ChO_PV6l.js → decode-time-offset-Cib1aJfV.js} +1 -1
  237. package/dist/esm/flexible-container.entry.js +4 -4
  238. package/dist/esm/form-checkbox.entry.js +6 -6
  239. package/dist/esm/form-date-picker.entry.js +8 -8
  240. package/dist/esm/{form-error-message-YvMHko71.js → form-error-message-DWl6p6Dz.js} +1 -1
  241. package/dist/esm/{form-input-DAgayhNz.js → form-input-B8SwfkAd.js} +8 -6
  242. package/dist/esm/{form-input-label-cuvgzRcH.js → form-input-label-6blOw1BN.js} +1 -1
  243. package/dist/esm/form-input_7.entry.js +25 -25
  244. package/dist/esm/form-switch.entry.js +6 -6
  245. package/dist/esm/form-time-picker.entry.js +9 -9
  246. package/dist/esm/{functions-DHzedl_R.js → functions-BObezuTv.js} +5 -11
  247. package/dist/esm/general-form.entry.js +11 -11
  248. package/dist/esm/general-inquiry-form.entry.js +11 -11
  249. package/dist/esm/{get-language-from-url-U4hZ4dwn.js → get-language-from-url-fV-K15uy.js} +5 -1
  250. package/dist/esm/{get-local-language-TRD6vPH7.js → get-local-language-DcxL5hdi.js} +7 -3
  251. package/dist/esm/{get-mock-files-K2mWecRb.js → get-mock-files-IEjS5G9N.js} +2 -2
  252. package/dist/esm/{index-Cg4V9l26.js → index-CteZTPhq.js} +16 -1
  253. package/dist/esm/information-table.entry.js +2 -2
  254. package/dist/esm/{loader-icon-B2ls1yXl.js → loader-icon-BvAmA41s.js} +1 -1
  255. package/dist/esm/loader.js +4 -4
  256. package/dist/esm/loading-spinner.entry.js +2 -2
  257. package/dist/esm/manufacturer-part-lookup.entry.js +4 -4
  258. package/dist/esm/{mappers-CeTQZn37.js → mappers-9IKbvPiR.js} +27 -5
  259. package/dist/esm/{material-card-BMtefyp-.js → material-card-jbQd-0as.js} +1 -1
  260. package/dist/esm/part-lookup.entry.js +3 -3
  261. package/dist/esm/{qr-code-scan-CktgNBSD.js → qr-code-scan-B1nViqZl.js} +1 -1
  262. package/dist/esm/service-booking-form.entry.js +11 -11
  263. package/dist/esm/shift-accordion.entry.js +2 -2
  264. package/dist/esm/shift-checkbox.entry.js +4 -4
  265. package/dist/esm/shift-components.js +4 -4
  266. package/dist/esm/shift-slider.entry.js +2 -2
  267. package/dist/esm/shift-switch.entry.js +3 -3
  268. package/dist/esm/shift-tab-content.entry.js +2 -2
  269. package/dist/esm/shift-tabs_2.entry.js +13 -13
  270. package/dist/esm/ssc-lookup-form.entry.js +11 -11
  271. package/dist/esm/test-drive-form.entry.js +11 -11
  272. package/dist/esm/{triangle-alert-D4H9aWiT.js → triangle-alert-Brtqhx2d.js} +1 -1
  273. package/dist/esm/{validation-oieVWBn1.js → validation-lB1iHxfZ.js} +3 -2
  274. package/dist/esm/{vehicle-accessories_7.entry.js → vehicle-accessories_8.entry.js} +418 -20
  275. package/dist/esm/{vehicle-info-layout-DQ12Civq.js → vehicle-info-layout-Dmx94GLp.js} +1 -1
  276. package/dist/esm/vehicle-lookup.entry.js +9 -5
  277. package/dist/esm/vehicle-quotation-form.entry.js +7 -7
  278. package/dist/esm/{get-custom-classes-for-portal-C4LvwyrX.js → white-loader-B3tJFuNO.js} +15 -15
  279. package/dist/integration-manifest.json +66 -2
  280. package/dist/locales/vehicleLookup/warrantyTimeline/ar.json +25 -0
  281. package/dist/locales/vehicleLookup/warrantyTimeline/en.json +25 -0
  282. package/dist/locales/vehicleLookup/warrantyTimeline/ku.json +25 -0
  283. package/dist/locales/vehicleLookup/warrantyTimeline/ru.json +25 -0
  284. package/dist/locales/vehicleLookup/warrantyTimeline/type.ts +29 -0
  285. package/dist/mocks/generated/broker-dealer/vehicle-lookup.json +19 -1
  286. package/dist/mocks/generated/edge-cases/vehicle-lookup.json +57 -0
  287. package/dist/mocks/generated/standard-dealer/vehicle-lookup.json +27 -2
  288. package/dist/shift-components/{p-960fedbb.entry.js → p-088c8e4c.entry.js} +1 -1
  289. package/dist/shift-components/{p-3fcb1657.entry.js → p-12f36d97.entry.js} +1 -1
  290. package/dist/shift-components/p-17862b0b.entry.js +5 -0
  291. package/dist/shift-components/p-187cbdf5.entry.js +5 -0
  292. package/dist/shift-components/{p-fa39d151.entry.js → p-1c7c9c13.entry.js} +1 -1
  293. package/dist/shift-components/{p-7a41a739.entry.js → p-28e29ce7.entry.js} +1 -1
  294. package/dist/shift-components/p-383342be.entry.js +5 -0
  295. package/dist/shift-components/{p-fe7ece41.entry.js → p-3dcba301.entry.js} +1 -1
  296. package/dist/shift-components/{p-6b82a9b3.entry.js → p-5ba85e5c.entry.js} +1 -1
  297. package/dist/shift-components/{p-031f2ae6.entry.js → p-65beafcc.entry.js} +1 -1
  298. package/dist/shift-components/{p-22648595.entry.js → p-7cc6806c.entry.js} +1 -1
  299. package/dist/shift-components/{p-332ebda4.entry.js → p-7f44f655.entry.js} +1 -1
  300. package/dist/shift-components/{p-61ecc144.entry.js → p-868d554f.entry.js} +1 -1
  301. package/dist/shift-components/{p-a4086c90.entry.js → p-880c103a.entry.js} +1 -1
  302. package/dist/shift-components/{p-0dd7911f.entry.js → p-902a40c4.entry.js} +1 -1
  303. package/dist/shift-components/{p-10511716.entry.js → p-99886c58.entry.js} +1 -1
  304. package/dist/shift-components/{p-B8RCucpl.js → p-B9kqtQjS.js} +1 -1
  305. package/dist/shift-components/p-BTNA9XsD.js +5 -0
  306. package/dist/shift-components/{p-CiA8HlYO.js → p-C4NpWwNE.js} +1 -1
  307. package/dist/shift-components/p-C582V9TT.js +5 -0
  308. package/dist/shift-components/{p-BaC5C1YJ.js → p-C8PvXL-3.js} +1 -1
  309. package/dist/shift-components/{p-BLdwm9KB.js → p-CMMsmKvs.js} +1 -1
  310. package/dist/shift-components/p-C_QDvFTV.js +5 -0
  311. package/dist/shift-components/{p-BpCf2ue6.js → p-Ccwtsrgg.js} +1 -1
  312. package/dist/shift-components/p-CteZTPhq.js +6 -0
  313. package/dist/shift-components/{p-BG5y01yj.js → p-D1ioFMhR.js} +1 -1
  314. package/dist/shift-components/{p-FFH7sR1n.js → p-D7cqTTll.js} +1 -1
  315. package/dist/shift-components/p-D9Xf90VX.js +5 -0
  316. package/dist/shift-components/p-DWoutohJ.js +5 -0
  317. package/dist/shift-components/{p-BtLpOQVM.js → p-DtD7FZCG.js} +1 -1
  318. package/dist/shift-components/{p-CC1CaPP4.js → p-Dyo77aS3.js} +1 -1
  319. package/dist/shift-components/p-DzV_ls5o.js +5 -0
  320. package/dist/shift-components/p-HI9vdFQP.js +5 -0
  321. package/dist/shift-components/{p-08Pl1Pmo.js → p-MzYTUgsB.js} +1 -1
  322. package/dist/shift-components/{p-DwFWMVcD.js → p-OlAbjfKx.js} +1 -1
  323. package/dist/shift-components/{p-981d1f44.entry.js → p-b675fb6b.entry.js} +1 -1
  324. package/dist/shift-components/p-b8084ca2.entry.js +5 -0
  325. package/dist/shift-components/p-bad65a42.entry.js +5 -0
  326. package/dist/shift-components/{p-2f904561.entry.js → p-bb13232d.entry.js} +1 -1
  327. package/dist/shift-components/{p-CtUQMviL.js → p-bfwabdVa.js} +1 -1
  328. package/dist/shift-components/p-c4cf0a18.entry.js +5 -0
  329. package/dist/shift-components/{p-46e5146f.entry.js → p-e2868220.entry.js} +1 -1
  330. package/dist/shift-components/p-e7a99998.entry.js +5 -0
  331. package/dist/shift-components/{p-e979caa9.entry.js → p-ec3e0cce.entry.js} +1 -1
  332. package/dist/shift-components/{p-23df4ed2.entry.js → p-ee623097.entry.js} +1 -1
  333. package/dist/shift-components/{p-d33c83ac.entry.js → p-f9b8d43c.entry.js} +1 -1
  334. package/dist/shift-components/p-hABirfUj.js +5 -0
  335. package/dist/shift-components/{p-CRd5RAng.js → p-oFzLYYzz.js} +1 -1
  336. package/dist/shift-components/{p-Dvl1mJ6N.js → p-oQAUbfw7.js} +1 -1
  337. package/dist/shift-components/shift-components.esm.js +1 -1
  338. package/dist/stencil-docs.json +8462 -6793
  339. package/dist/types/components/form-elements/branch-slot-dropdown.d.ts +48 -0
  340. package/dist/types/components/form-elements/branch-slot-picker.d.ts +128 -0
  341. package/dist/types/components/form-elements/form-file.d.ts +1 -0
  342. package/dist/types/components/forms/defaults/mappers.d.ts +16 -0
  343. package/dist/types/components/forms/defaults/validation.d.ts +2 -0
  344. package/dist/types/components/vehicle-lookup/components/CoverageTimeline.d.ts +13 -0
  345. package/dist/types/components/vehicle-lookup/vehicle-lookup.d.ts +3 -0
  346. package/dist/types/components/vehicle-lookup/vehicle-warranty-timeline.d.ts +46 -0
  347. package/dist/types/components.d.ts +452 -4
  348. package/dist/types/features/multi-lingual/types.d.ts +4 -4
  349. package/dist/types/global/types/generated/vehicle-lookup/vehicle-extended-warranty-dto.d.ts +9 -0
  350. package/dist/types/global/types/generated/vehicle-lookup/vehicle-warranty-dto.d.ts +4 -0
  351. package/dist/types/locale-mapper.d.ts +2 -1
  352. package/dist/types/locales/type.d.ts +2 -2
  353. package/dist/types/locales/vehicleLookup/paintThickness/type.d.ts +6 -6
  354. package/dist/types/locales/vehicleLookup/warranty/type.d.ts +4 -4
  355. package/dist/types/locales/vehicleLookup/warrantyTimeline/type.d.ts +50 -0
  356. package/dist/types/locales/vehicleLookup/wrapper-type.d.ts +10 -10
  357. package/package.json +1 -1
  358. package/dist/components/p-B8g3fLoh.js +0 -5
  359. package/dist/components/p-BshR1DsJ.js +0 -5
  360. package/dist/components/p-C24AOawm.js +0 -5
  361. package/dist/components/p-CK6WFXQF.js +0 -5
  362. package/dist/components/p-CLkGfAsm.js +0 -5
  363. package/dist/components/p-ClDpIRF9.js +0 -5
  364. package/dist/components/p-CvcaE6Ss.js +0 -5
  365. package/dist/components/p-DlG98nFs.js +0 -5
  366. package/dist/components/p-Dv_BQG7D.js +0 -5
  367. package/dist/components/p-G9UmKW9m.js +0 -5
  368. package/dist/shift-components/p-0578b913.entry.js +0 -5
  369. package/dist/shift-components/p-1500556f.entry.js +0 -5
  370. package/dist/shift-components/p-214259ae.entry.js +0 -5
  371. package/dist/shift-components/p-9c950549.entry.js +0 -5
  372. package/dist/shift-components/p-BBmr0kTe.js +0 -5
  373. package/dist/shift-components/p-BVDXHvth.js +0 -5
  374. package/dist/shift-components/p-BY1wHcOT.js +0 -5
  375. package/dist/shift-components/p-BuurMgGN.js +0 -5
  376. package/dist/shift-components/p-Cg4V9l26.js +0 -6
  377. package/dist/shift-components/p-D2XgNV12.js +0 -5
  378. package/dist/shift-components/p-DlBduQTw.js +0 -5
  379. package/dist/shift-components/p-a55ceb19.entry.js +0 -5
  380. package/dist/shift-components/p-b611f72e.entry.js +0 -5
  381. package/dist/shift-components/p-bc966aa0.entry.js +0 -5
  382. package/dist/shift-components/p-rsylYLbj.js +0 -5
  383. package/dist/shift-components/p-yhCrSkom.js +0 -5
@@ -2,19 +2,19 @@
2
2
  * Built by ShiftSoftware
3
3
  * Copyright (c)
4
4
  */
5
- import { r as registerInstance, h, H as Host, g as getElement } from './index-Cg4V9l26.js';
6
- import { o as openImageViewer, e as eyeSvg, I as ImageViewer, c as closeImageViewer, T as TriangleAlertIcon } from './triangle-alert-D4H9aWiT.js';
5
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CteZTPhq.js';
6
+ import { o as openImageViewer, e as eyeSvg, I as ImageViewer, c as closeImageViewer, T as TriangleAlertIcon } from './triangle-alert-Brtqhx2d.js';
7
7
  import { a as accessoriesSchema, c as claimableItemsSchema, p as paintThicknessSchema, S as ServiceHistorySchema, s as specificationSchema, w as warrantySchema } from './type-DEzFTlhs.js';
8
- import { V as VehicleInfoLayout } from './vehicle-info-layout-DQ12Civq.js';
8
+ import { V as VehicleInfoLayout } from './vehicle-info-layout-Dmx94GLp.js';
9
9
  import { s as smartInvokable } from './smart-invokable-6IrGK81y.js';
10
10
  import { v as validateVin } from './validate-vin-CUREVASG.js';
11
11
  import { d as sharedLocalesSchema, y as yupTypeMapper } from './types-BDhR4pDq.js';
12
- import { g as getSharedLocal, a as getLocaleLanguage } from './get-local-language-TRD6vPH7.js';
12
+ import { g as getSharedLocal, a as getLocaleLanguage } from './get-local-language-DcxL5hdi.js';
13
13
  import { c as cn } from './cn-BK16Cn81.js';
14
- import { d as dateFnsExports, L as LoaderIcon } from './loader-icon-B2ls1yXl.js';
15
- import { E as EmptyTableIcon, M as MaterialCard, a as MaterialCardChildren } from './material-card-BMtefyp-.js';
16
- import { A as ArrowIcon } from './arrow-icon-DRTeN2D5.js';
17
- import { C as CalendarDaysIcon } from './calendar-days-icon-BOy0a_W-.js';
14
+ import { d as dateFnsExports, L as LoaderIcon } from './loader-icon-BvAmA41s.js';
15
+ import { E as EmptyTableIcon, M as MaterialCard, a as MaterialCardChildren } from './material-card-jbQd-0as.js';
16
+ import { A as ArrowIcon } from './arrow-icon-DziuNOTp.js';
17
+ import { C as CalendarDaysIcon } from './calendar-days-icon-CnASOv7M.js';
18
18
 
19
19
  const vehicleRequestHeaders = {
20
20
  cityId: 'City-Id',
@@ -188,9 +188,9 @@ const VehicleAccessories = class {
188
188
  image: () => (h("div", { class: "size-[100px] flex mx-auto items-center justify-center" }, h("button", { onClick: ({ target }) => openImageViewer.bind(this)(target, accessory === null || accessory === void 0 ? void 0 : accessory.image), class: "shrink-0 relative ring-0 outline-none w-fit mx-auto [&_img]:hover:shadow-lg [&_div]:hover:!opacity-100 cursor-pointer" }, h("div", { class: "absolute flex-col justify-center gap-[4px] size-full flex items-center pointer-events-none hover:opacity-100 rounded-lg opacity-0 bg-black/40 transition-all duration-300" }, h("img", { src: eyeSvg }), h("span", { class: "text-white" }, texts.expand)), h("img", { class: "w-auto h-auto max-w-[100px] max-h-[100px] cursor-pointer shadow-sm rounded-lg transition-all duration-300", src: accessory === null || accessory === void 0 ? void 0 : accessory.image })))),
189
189
  }));
190
190
  const templateRow = {
191
- image: () => h("div", { key: 'a3f944e419e8c0e635f57ac58f397ba9e30f9b0e', class: "size-[100px] flex mx-auto items-center justify-center" }, "\u00A0"),
191
+ image: () => h("div", { key: 'e9d29ca002cbdff7ba6861a76b667292d8776764', class: "size-[100px] flex mx-auto items-center justify-center" }, "\u00A0"),
192
192
  };
193
- return (h(Host, { key: 'b2beef21cb88c79008e35c0a17728290a0d8d4d4', translate: "no" }, h(ImageViewer, { key: '8e839e67f529c05b35162032a33636c2afbc27b5', closeImageViewer: () => closeImageViewer.bind(this)(), expandedImage: this.expandedImage }), h(VehicleInfoLayout, { key: '4be670885f74a659a731fd0381af89cfbffd4434', isError: this.isError, isLoading: this.isLoading, coreOnly: this.coreOnly, header: (_c = this.vehicleLookup) === null || _c === void 0 ? void 0 : _c.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("div", { key: '1b2c52ee66e2d942e94e88f1d001f2cf16c8f3b4', class: "overflow-x-auto" }, h("information-table", { key: '21a4f6151dc2503bace293e106a4a06bbd6b114a', templateRow: templateRow, rows: rows, headers: tableHeaders, isLoading: this.isLoading })))));
193
+ return (h(Host, { key: '5754d83d9a87285824e896a8bb7531a2b68a5f01', translate: "no" }, h(ImageViewer, { key: 'a7102dba9d94d368c84f62bd40892105596014da', closeImageViewer: () => closeImageViewer.bind(this)(), expandedImage: this.expandedImage }), h(VehicleInfoLayout, { key: '370101d7d7223328381e5b48f3b9cd5b33f3b4cc', isError: this.isError, isLoading: this.isLoading, coreOnly: this.coreOnly, header: (_c = this.vehicleLookup) === null || _c === void 0 ? void 0 : _c.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("div", { key: '416ef484b9c8f892512d8b72cbab3bcd22c022ea', class: "overflow-x-auto" }, h("information-table", { key: 'ba80b210fdf468ceea7661237ae4d548c4fd8205', templateRow: templateRow, rows: rows, headers: tableHeaders, isLoading: this.isLoading })))));
194
194
  }
195
195
  get el() { return getElement(this); }
196
196
  static get watchers() { return {
@@ -803,19 +803,19 @@ const VehicleClaimableItems = class {
803
803
  const showActivationBox = showActivationRequired || showActivationBlocked || this.showPrintBox;
804
804
  const isBlockedBox = showActivationBlocked && !this.showPrintBox;
805
805
  const showActionButton = this.showPrintBox || showActivationRequired;
806
- return (h(Host, { key: 'df9cfe8fcfa140c95d8b82739ebcf5b3359778be', translate: "no" }, h("vehicle-item-claim-form", { key: '61bf6ce983c72ab8e119e6a68d2b2419cf59fa29', class: "vehicle-item-claim-form", maximumDocumentFileSizeInMb: this.maximumDocumentFileSizeInMb, uploadMultipleDocuments: this.uploadMultipleDocumentsAtTheForm, locale: Object.assign({ sharedLocales: this.locale.sharedLocales }, this.locale.claimForm) }), h(ClaimableItemPopover, { key: 'ffab99e901047c2777ab3d96489ae2c50384a26a', locale: this.locale, claim: this.claim.bind(this), item: this.selectedClaimItem, showPopover: this.showClaimableItemPopover, target: this.popoverTarget, popoverHeight: this.popoverHeight, fadingOut: this.popoverFadingOut, contentFading: this.popoverContentFading, bodyContentHeight: this.popoverBodyContentHeight, onMouseEnter: this.onPopoverMouseEnter, onMouseLeave: this.onPopoverMouseLeave }), h(ClaimableTraceModal, { key: '1228b3aa321aa0c9733677b7262ff17e070278c4', isOpen: this.showTraceModal, fadingOut: this.traceModalFadingOut, isLoading: this.isLoadingTrace, errorMessage: this.traceError, vin: (_d = this.vehicleLookup) === null || _d === void 0 ? void 0 : _d.vin, traceHtml: this.traceHtml, locale: this.locale, onClose: this.closeTraceModal }), h(VehicleInfoLayout, { key: 'b41f4fbbbf7105053bbdeac560fb02951974ffe4', isError: this.isError, coreOnly: this.coreOnly, header: (_e = this.vehicleLookup) === null || _e === void 0 ? void 0 : _e.vin, direction: this.locale.sharedLocales.direction, isLoading: this.isLoading || this.tabAnimationLoading, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard, headerRight: this.showTrace && this.vehicleLookup && !this.isLoading && !this.tabAnimationLoading && !this.isError ? (h("button", { type: "button", class: "trace-trigger-button", title: this.locale.viewTrace, "aria-label": this.locale.viewTrace, onClick: this.openTraceModal }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("circle", { cx: "6", cy: "19", r: "3" }), h("path", { d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15" }), h("circle", { cx: "18", cy: "5", r: "3" })))) : null }, h("div", { key: '330de13921b7ce1410f97e0e853685585f746247', dir: "ltr", class: cn('relative flex items-center h-[320px] transition-all duration-300', { loading: this.isLoading || this.tabAnimationLoading }) }, h("div", { key: 'a5fd082db1ca3b314653bb1b77d8dbaa9995af85', dir: this.locale.sharedLocales.direction, class: "absolute top-0 z-10 w-full pt-[16px]" }, h("div", { key: 'e46422c6f21e67e43a937c7b9ab1ddc76d2364f5', class: cn('duration-300', { 'translate-y-[-50%] opacity-0': hideTabs }) }, h("shift-tabs", { key: '59196fc9a9d588b6c022542846d71073889e422a', activeTabLabel: this.activeTab, changeActiveTab: this.onActiveTabChange, tabs: tabs }))), h("div", { key: '2582749f45fbb774ea8c1608d04e057268a20301', class: cn('absolute w-[calc(100%-60px)] left-[30px] progress-container-style opacity-0', { 'opacity-100': this.isLoading || this.tabAnimationLoading }) }, h("div", { key: '091bba8e3de011477934d573fad7e8318c56f546', class: "w-full h-full rounded-[4px] overflow-x-hidden absolute left-0 top-0" }, h("div", { key: 'be32e3e21647bbde190dcf5c59f0dfd1f47ba602', class: "absolute opacity-0 bg-[#1a1a1a] w-[150%] h-full" }), h("div", { key: '75fcaae453dd32e8306cfc01dff4d3049d1fbeec', class: "absolute h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)] lane-inc" }), h("div", { key: 'a90fd86d0bd0e195928966916ac978c91991872c', class: "absolute h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)] lane-dec" }))), h("div", { key: '6a0b6604a05b9413aa4701bd25bd00827b5cb8e3', dir: this.locale.sharedLocales.direction, class: cn('absolute w-[90%] z-10 pointer-events-none border opacity-0 translate-y-[-5px] scale-[70%] p-[25px] text-[16px] rounded-[6px] flex items-center justify-between left-1/2 -translate-x-1/2 h-10 bottom-[40px] transition duration-500', {
806
+ return (h(Host, { key: '68bae301ffc05d11cf272f7dec997c72c26aba6e', translate: "no" }, h("vehicle-item-claim-form", { key: '04f23d58066e76923378ff71a81c3573b5d131ce', class: "vehicle-item-claim-form", maximumDocumentFileSizeInMb: this.maximumDocumentFileSizeInMb, uploadMultipleDocuments: this.uploadMultipleDocumentsAtTheForm, locale: Object.assign({ sharedLocales: this.locale.sharedLocales }, this.locale.claimForm) }), h(ClaimableItemPopover, { key: '1d9d5dd185f8aeac647535fe60b25c4457e9ad63', locale: this.locale, claim: this.claim.bind(this), item: this.selectedClaimItem, showPopover: this.showClaimableItemPopover, target: this.popoverTarget, popoverHeight: this.popoverHeight, fadingOut: this.popoverFadingOut, contentFading: this.popoverContentFading, bodyContentHeight: this.popoverBodyContentHeight, onMouseEnter: this.onPopoverMouseEnter, onMouseLeave: this.onPopoverMouseLeave }), h(ClaimableTraceModal, { key: 'afd799719789eef78f606383d9961fc68f8ac918', isOpen: this.showTraceModal, fadingOut: this.traceModalFadingOut, isLoading: this.isLoadingTrace, errorMessage: this.traceError, vin: (_d = this.vehicleLookup) === null || _d === void 0 ? void 0 : _d.vin, traceHtml: this.traceHtml, locale: this.locale, onClose: this.closeTraceModal }), h(VehicleInfoLayout, { key: '25882202afee3c7da4dd80475784d4cdb53de406', isError: this.isError, coreOnly: this.coreOnly, header: (_e = this.vehicleLookup) === null || _e === void 0 ? void 0 : _e.vin, direction: this.locale.sharedLocales.direction, isLoading: this.isLoading || this.tabAnimationLoading, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard, headerRight: this.showTrace && this.vehicleLookup && !this.isLoading && !this.tabAnimationLoading && !this.isError ? (h("button", { type: "button", class: "trace-trigger-button", title: this.locale.viewTrace, "aria-label": this.locale.viewTrace, onClick: this.openTraceModal }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("circle", { cx: "6", cy: "19", r: "3" }), h("path", { d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15" }), h("circle", { cx: "18", cy: "5", r: "3" })))) : null }, h("div", { key: 'e6db5f9381c858f90942a0ebe69950fa72ab2dbb', dir: "ltr", class: cn('relative flex items-center h-[320px] transition-all duration-300', { loading: this.isLoading || this.tabAnimationLoading }) }, h("div", { key: '364b107f12160895213a1c12c2ecda8a3d4fcc9c', dir: this.locale.sharedLocales.direction, class: "absolute top-0 z-10 w-full pt-[16px]" }, h("div", { key: '3bfe16b7177cd4601d3cb512736afbdface2baee', class: cn('duration-300', { 'translate-y-[-50%] opacity-0': hideTabs }) }, h("shift-tabs", { key: '2bcda9871bb627060a31996397ef9f34167d9245', activeTabLabel: this.activeTab, changeActiveTab: this.onActiveTabChange, tabs: tabs }))), h("div", { key: 'd8b7439570750e8ab05f7cf367c6f662d005d291', class: cn('absolute w-[calc(100%-60px)] left-[30px] progress-container-style opacity-0', { 'opacity-100': this.isLoading || this.tabAnimationLoading }) }, h("div", { key: '1e52fc280b2387c1325edfe5039359c71d9f20dc', class: "w-full h-full rounded-[4px] overflow-x-hidden absolute left-0 top-0" }, h("div", { key: 'b8ceab588402eaa72cb3e8da8d3ebafb69a2c392', class: "absolute opacity-0 bg-[#1a1a1a] w-[150%] h-full" }), h("div", { key: 'bdc2ddcc9de7c9a7fae5641b845934bda31a31c6', class: "absolute h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)] lane-inc" }), h("div", { key: '7244762ba3628f89fcc155e1ff0f5ab8ae9f4b8d', class: "absolute h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)] lane-dec" }))), h("div", { key: 'f9d7efabd0f7ebaedc9ff62ac918f7c693693d7d', dir: this.locale.sharedLocales.direction, class: cn('absolute w-[90%] z-10 pointer-events-none border opacity-0 translate-y-[-5px] scale-[70%] p-[25px] text-[16px] rounded-[6px] flex items-center justify-between left-1/2 -translate-x-1/2 h-10 bottom-[40px] transition duration-500', {
807
807
  'text-[#8a6d3b] bg-[#fcf8e3] border-[#faebcc]': !isBlockedBox,
808
808
  'text-[#58151c] bg-[#f7d7d8] border-[#f2aeb5]': isBlockedBox,
809
809
  'opacity-100 pointer-events-auto translate-y-0 scale-100': !this.isLoading && this.vehicleLookup && !this.tabAnimationLoading && showActivationBox,
810
- }) }, h("span", { key: '1951c3f50ca9e3772ab3b383c79cff4a999d08bc', class: "font-semibold" }, this.showPrintBox
810
+ }) }, h("span", { key: '99bcca2ae1af8cf8011b09b8f9095471d849f1c0', class: "font-semibold" }, this.showPrintBox
811
811
  ? this.locale.successFulClaimMessage
812
812
  : showActivationBlocked
813
813
  ? this.locale.activationBlockedNotAllocated
814
- : this.locale.warrantyAndServicesNotActivated), showActionButton && (h("button", { key: '40c6021e8b6cea1f63131bd0ac1e9c2019f417ff', class: "claim-button", onClick: this.showPrintBox ? this.printLastClaimResponse : this.activateClaimItem }, this.showPrintBox ? h(PrintIcon, { class: "size-[30px] duration-200" }) : h(ActivationIcon, { class: "size-[30px] duration-200" }), h("span", { key: '32fd1e6eb7a5cd6b2c6b8c597a387210463df37a' }, this.showPrintBox ? this.locale.print : this.locale.activateNow)))), h("div", { key: 'b672849aa4fee7fc18ee211b0ea42d62be7e182f', class: "claimable-items-box px-[30px] min-w-full relative overflow-x-scroll h-full overflow-y-hidden" }, h("div", { key: 'f95373f7e84f4c7f4536becea66bbc0b30cd57d8', class: "flex relative w-fit min-w-full items-center h-full [&_*]:shrink-0 gap-[250px] justify-between" }, h("div", { key: 'c57a29ac7c21bf4c199d47550a0f80e81191c7a0', class: cn('progress-container-style progress-lane absolute overflow-hidden w-[calc(100%-0px)] translate-y-0 opacity-100', {
814
+ : this.locale.warrantyAndServicesNotActivated), showActionButton && (h("button", { key: '11e5a0ba57ea6a87314d1805a339464e27db5340', class: "claim-button", onClick: this.showPrintBox ? this.printLastClaimResponse : this.activateClaimItem }, this.showPrintBox ? h(PrintIcon, { class: "size-[30px] duration-200" }) : h(ActivationIcon, { class: "size-[30px] duration-200" }), h("span", { key: '8c6d367d50296dcfabe5c0fde4baa4517fc47d6a' }, this.showPrintBox ? this.locale.print : this.locale.activateNow)))), h("div", { key: 'c0e7808bac5ce9c07ca8be88d0e03b1c0766bbf6', class: "claimable-items-box px-[30px] min-w-full relative overflow-x-scroll h-full overflow-y-hidden" }, h("div", { key: '82cbe7ef5d767f5ba9d2962e112921a8d4b8895b', class: "flex relative w-fit min-w-full items-center h-full [&_*]:shrink-0 gap-[250px] justify-between" }, h("div", { key: '8042a3f857f7034c33db5b81f6b5339386a5dd61', class: cn('progress-container-style progress-lane absolute overflow-hidden w-[calc(100%-0px)] translate-y-0 opacity-100', {
815
815
  'opacity-0': this.isLoading || this.tabAnimationLoading || isNoServicesAvailable || !this.vehicleLookup,
816
- }) }, h("div", { key: 'b4a644f5846314d8e7dc65968bdaaf0e707a4dff', part: "progress-bar", class: "progress-bar transition-all w-1/2 h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)]" })), h("div", { key: '31c56097be767e1afa32b6c2fb53a37683795476', class: "ml-[-125px]" }), serviceItems.map((item, idx) => (h(ClaimableItem, { item: item, locale: this.locale, setClaimableItemPopover: this.setClaimableItemPopover, addStatusClass: item.status !== 'pending' || serviceItems.findIndex(i => i.status === 'pending') === idx }))), h("div", { key: '4ef500d7bce733939ee622fa7f2ee7ea51c43b5c', class: "ml-[-125px]" })), h("div", { key: '9243cb60a9872c35811dbdd05c65eb3c723f7980', dir: this.locale.sharedLocales.direction, class: cn('absolute top-0 left-0 pointer-events-none size-full box-content flex flex-col justify-center opacity-0 transition duration-500 items-center text-slate-700', {
816
+ }) }, h("div", { key: 'c622a8a612849f8ab57b2c09bcd45cf1087dc07d', part: "progress-bar", class: "progress-bar transition-all w-1/2 h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)]" })), h("div", { key: '60ee69cc976626263ea85a413e0b0cae59f20c2f', class: "ml-[-125px]" }), serviceItems.map((item, idx) => (h(ClaimableItem, { item: item, locale: this.locale, setClaimableItemPopover: this.setClaimableItemPopover, addStatusClass: item.status !== 'pending' || serviceItems.findIndex(i => i.status === 'pending') === idx }))), h("div", { key: '8712c4482963e722fda2bae3fcd6d705c8c88967', class: "ml-[-125px]" })), h("div", { key: '4625d3e324199a0341e99c9d86d9d84ecf753eb6', dir: this.locale.sharedLocales.direction, class: cn('absolute top-0 left-0 pointer-events-none size-full box-content flex flex-col justify-center opacity-0 transition duration-500 items-center text-slate-700', {
817
817
  'opacity-100 scale-100': isNoServicesAvailable,
818
- }) }, h(EmptyTableIcon, { key: '862c167ef3da93a0d06da302535ccdd475685eec', class: "size-[90px]" }), h("div", { key: 'ad109c235c9ee1ee5e8fbbf06420e943909bc45b', class: "text-[22px]" }, this.locale.sharedLocales.errors.noServiceAvailable)))))));
818
+ }) }, h(EmptyTableIcon, { key: 'a27ff22d00a9eaa4838d81eb9b89c6f49301736f', class: "size-[90px]" }), h("div", { key: '5c64b22e1433391a015dccab10c0ec37d2f92004', class: "text-[22px]" }, this.locale.sharedLocales.errors.noServiceAvailable)))))));
819
819
  }
820
820
  get el() { return getElement(this); }
821
821
  static get watchers() { return {
@@ -1147,11 +1147,11 @@ const VehicleSaleInformation = class {
1147
1147
  ];
1148
1148
  const filteredFields = FIELDS.filter(field => !hiddenFields.includes(field.fieldName));
1149
1149
  const filteredEndCustomerFields = END_CUSTOMER_FIELDS.filter(field => !hiddenFields.includes(field.fieldName));
1150
- return (h(Host, { key: '4510061526f2aa3d1081bd030cd6eca7a17f6a35', translate: "no" }, h(VehicleInfoLayout, { key: 'ccd0b8cf410271109d07628b10521b933ba381b1', isError: this.isError, coreOnly: this.coreOnly, isLoading: this.isLoading, header: (_q = this.vehicleLookup) === null || _q === void 0 ? void 0 : _q.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("flexible-container", { key: '6dc4085553173c91a68f8ce55cc8af3a0ecf2395' }, h("flexible-container", { key: 'ac4916a365ca82fa3d041ed90e11a635efed8bb2', classes: cn({ loading: this.isLoading || this.isError || !this.vehicleLookup }), isOpened: !!this.vehicleLookup && !this.isError }, h("div", { key: '38ddc0bc13a1463576a5aa9f8e58ba1fb126d3ee', class: "p-[16px] mx-auto !pb-0 max-w-[520px]" }, h("div", { key: '1b1790af7b56c1675802ffb5c9994a973eedfbfe', class: cn('relative shift-skeleton !rounded-[12px] shift-card', { 'shift-card-warning': !hasEndCustomer }) }, h("div", { key: '4e979b9063241e93b4400756353a7fb03608ec37', class: cn('absolute flex size-full left-0 top-0 px-[12px] items-center justify-center p-[12px] transition-opacity', !hasEndCustomer ? 'opacity-100' : 'opacity-0 pointer-events-none select-none') }, h("div", { key: '6d5c3205ee05480a5e2b5c000893ed34a6c9fa0a', class: "w-full max-w-[460px] rounded-[14px] px-[14px] py-[12px]" }, h("div", { key: 'c551e5cd506fbfd4805fcabb0e454e1ff59eab68', class: "size-full flex flex-col justify-start gap-[12px] items-center" }, h("span", { key: 'd9b1548ff9969f0d9b1eb3e1462ad4cb26d01a86', class: "shift-card-icon", "aria-hidden": "true" }, h(TriangleAlertIcon, { key: '61dc69fe6ca3ca545f5b41770f02f103afe95224' })), h("p", { key: '63cf9c5c01461ef53e8b4cdc77ee3c51c3f093ef', class: "mt-[4px] text-[13.5px] text-center text-amber-900/90 leading-[1.35]" }, texts['Vehicle has no end customer.'] || '')))), h("div", { key: '803e737c35b878615aab93f46ba403f82b7cdab8', class: cn('transition-opacity', !hasEndCustomer ? 'opacity-0 pointer-events-none select-none' : 'opacity-100') }, h("h2", { key: '88f3e9e5920eb917c7f7f3861ef7735aac02efa8', class: "shift-card-header" }, texts.customerInformation), h("div", { key: 'ca8f52232483c7d564750102b547ce8db0d22cfe', class: "flex flex-col gap-[2px]" }, filteredEndCustomerFields.map(field => {
1150
+ return (h(Host, { key: '83d8b7666eb93b40fbc0fbb963603cc74d2acde8', translate: "no" }, h(VehicleInfoLayout, { key: '7247ffd68231ff88d931346551e74203ad05f857', isError: this.isError, coreOnly: this.coreOnly, isLoading: this.isLoading, header: (_q = this.vehicleLookup) === null || _q === void 0 ? void 0 : _q.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("flexible-container", { key: '8a8da84882eb2c9a522a5e2c0ef64b6f923e79fc' }, h("flexible-container", { key: 'fdc5d3ed4d057a6d5f1e3fcbe82b498936323cb4', classes: cn({ loading: this.isLoading || this.isError || !this.vehicleLookup }), isOpened: !!this.vehicleLookup && !this.isError }, h("div", { key: '7e49581a4b83c9c075fa250b487f07e8daf4ee10', class: "p-[16px] mx-auto !pb-0 max-w-[520px]" }, h("div", { key: '7dd4ae69f32fdbf15bbe9fdddab5c1c460c00f1d', class: cn('relative shift-skeleton !rounded-[12px] shift-card', { 'shift-card-warning': !hasEndCustomer }) }, h("div", { key: '3fbb61d18adac8b428f49477bfd8ccb4e80d571e', class: cn('absolute flex size-full left-0 top-0 px-[12px] items-center justify-center p-[12px] transition-opacity', !hasEndCustomer ? 'opacity-100' : 'opacity-0 pointer-events-none select-none') }, h("div", { key: '5b6a10a401655c098ea2d3a761f7dc47c82182b3', class: "w-full max-w-[460px] rounded-[14px] px-[14px] py-[12px]" }, h("div", { key: '0778642e8703e64b297b5671e9c87704ef4fe113', class: "size-full flex flex-col justify-start gap-[12px] items-center" }, h("span", { key: '124a1e092988e291f9461ba2cf0361a3961ed99b', class: "shift-card-icon", "aria-hidden": "true" }, h(TriangleAlertIcon, { key: '4eaafd886053f7f9089d64664418baa150a63919' })), h("p", { key: '67b701a8af6d48422f46a373e23d316c023b5941', class: "mt-[4px] text-[13.5px] text-center text-amber-900/90 leading-[1.35]" }, texts['Vehicle has no end customer.'] || '')))), h("div", { key: 'f34bfb5518ae68dd8c003e38349525039cabf7ad', class: cn('transition-opacity', !hasEndCustomer ? 'opacity-0 pointer-events-none select-none' : 'opacity-100') }, h("h2", { key: 'e879d3e6575d7534c6891ad67ac75866a094d31b', class: "shift-card-header" }, texts.customerInformation), h("div", { key: '880bc54b1a2334190e5fbc4f0d3aea004dd0c091', class: "flex flex-col gap-[2px]" }, filteredEndCustomerFields.map(field => {
1151
1151
  const value = field.value || '';
1152
1152
  const Icon = field.Icon;
1153
1153
  return (h("div", { class: "flex gap-[12px] items-start" }, h("span", { class: "shift-card-icon", "aria-hidden": "true" }, h(Icon, null)), h("div", { class: "flex flex-col translate-y-[-4px]" }, h("div", { class: "shift-card-seconary-text" }, field.title, ":"), h("div", { class: cn('shift-card-primary-text translate-y-[-4px]', { 'shift-card-empty-text': !value }) }, value || '—'))));
1154
- })))))), h("div", { key: '3163d055799ebb60e69151e4620392c9272d0b89', class: "flex p-[16px] [&>div]:grow overflow-auto gap-[16px] items-stretch justify-center md:justify-between flex-wrap" }, filteredFields.map(field => (h(MaterialCard, { title: field.title, desc: field.value, minWidth: "250px" }))), !hiddenFields.includes('intermediaries') &&
1154
+ })))))), h("div", { key: '61c5b56c2a7cebbf21f7159102c75e3bc3048176', class: "flex p-[16px] [&>div]:grow overflow-auto gap-[16px] items-stretch justify-center md:justify-between flex-wrap" }, filteredFields.map(field => (h(MaterialCard, { title: field.title, desc: field.value, minWidth: "250px" }))), !hiddenFields.includes('intermediaries') &&
1155
1155
  ((sale === null || sale === void 0 ? void 0 : sale.intermediaries) || []).map(intermediary => h(MaterialCard, { title: texts.intermediaryName, desc: getText(intermediary === null || intermediary === void 0 ? void 0 : intermediary.companyName), minWidth: "250px" })))))));
1156
1156
  }
1157
1157
  get el() { return getElement(this); }
@@ -1234,7 +1234,7 @@ const VehicleServiceHistory = class {
1234
1234
  { key: 'serviceType', label: this.locale.serviceType, maxWidth: 420 },
1235
1235
  { key: 'mileage', label: this.locale.odometer, nowrap: true },
1236
1236
  ];
1237
- return (h(Host, { key: '8f65959d8d5f390e8fa5035d57e5febaa8c6caad', translate: "no" }, h(VehicleInfoLayout, { key: '887afe9400b375fe282ac92b536af0a411af045d', 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: '8f6f9e240b89f8b6d56eff3163f094f02ccbd830', class: "overflow-x-auto" }, h("information-table", { key: '31d7eb6d4e27b47d982a76c508e45b2df0d4fa40', size: "small", allowAutoWidth: true, scrollExpandedIntoView: true, expandUsingEntireRow: true, headers: tableHeaders, isLoading: this.isLoading, rows: ((_b = this.vehicleLookup) === null || _b === void 0 ? void 0 : _b.serviceHistory) || [], subRowRenderer: (row) => h(ServiceHistorySubRow, { row: row, locale: this.locale }) })))));
1237
+ return (h(Host, { key: '214ea7f9322f4ded5dfe88ed30ec4b5e6e596205', translate: "no" }, h(VehicleInfoLayout, { key: '2ab295e79de66098a037002316eaf9d25eb86ca6', 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: 'ceebe28112ce490245ebb6f4d37638138f74163a', class: "overflow-x-auto" }, h("information-table", { key: '38bfb22243c4c209794a3d1297be43cf5bd43f20', size: "small", allowAutoWidth: true, scrollExpandedIntoView: true, expandUsingEntireRow: true, headers: tableHeaders, isLoading: this.isLoading, rows: ((_b = this.vehicleLookup) === null || _b === void 0 ? void 0 : _b.serviceHistory) || [], subRowRenderer: (row) => h(ServiceHistorySubRow, { row: row, locale: this.locale }) })))));
1238
1238
  }
1239
1239
  get el() { return getElement(this); }
1240
1240
  static get watchers() { return {
@@ -1304,7 +1304,7 @@ const VehicleSpecification = class {
1304
1304
  catch (error) {
1305
1305
  productionDate = null;
1306
1306
  }
1307
- return (h(Host, { key: '82be9d7c37c939566edc9688e5d3dd74c1ca7caa', translate: "no" }, h(VehicleInfoLayout, { key: '050c0a46ca5f6ac3facfbb24a19aca0d2887728e', isError: this.isError, coreOnly: this.coreOnly, isLoading: this.isLoading, header: (_e = this.vehicleLookup) === null || _e === void 0 ? void 0 : _e.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("flexible-container", { key: '53bc980680142e039a11c56cd8b0e96cb54a6bcf' }, h("div", { key: 'da2866dc3adba9ea69efd999815559a97092d367', class: "flex p-[16px] [&>div]:grow overflow-auto gap-[16px] items-stretch justify-center md:justify-between flex-wrap" }, h(MaterialCard, { key: 'baf89f84228926f11f44e9c0b7724ce6f205a1ec', class: "grow", title: texts === null || texts === void 0 ? void 0 : texts.model, minWidth: "300px" }, h(MaterialCardChildren, { key: '247e98233a96c2c68b5fdada25351012cceee1c7', class: "text-center", hidden: !((_h = (_g = (_f = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _f === void 0 ? void 0 : _f.vehicleVariantInfo) === null || _g === void 0 ? void 0 : _g.modelCode) === null || _h === void 0 ? void 0 : _h.trim()) && !((_l = (_k = (_j = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _j === void 0 ? void 0 : _j.vehicleSpecification) === null || _k === void 0 ? void 0 : _k.modelDescription) === null || _l === void 0 ? void 0 : _l.trim()) }, ((_p = (_o = (_m = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _m === void 0 ? void 0 : _m.vehicleVariantInfo) === null || _o === void 0 ? void 0 : _o.modelCode) === null || _p === void 0 ? void 0 : _p.trim()) || '', " ", h("br", { key: '7f653acf7368bca5c7eb823d355ae546c3a7faef', class: "my-2" }), ((_s = (_r = (_q = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _q === void 0 ? void 0 : _q.vehicleSpecification) === null || _r === void 0 ? void 0 : _r.modelDescription) === null || _s === void 0 ? void 0 : _s.trim()) || '')), h(MaterialCard, { key: '12215c8d95d47fba716f36dc2c577fb8f401929b', class: "grow", title: texts === null || texts === void 0 ? void 0 : texts.variant, minWidth: "300px" }, h(MaterialCardChildren, { key: '1dbe9d326d7d883c3c828e4ff33acf47549fef7b', class: "text-center", hidden: !((_v = (_u = (_t = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _t === void 0 ? void 0 : _t.identifiers) === null || _u === void 0 ? void 0 : _u.variant) === null || _v === void 0 ? void 0 : _v.trim()) && !((_y = (_x = (_w = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _w === void 0 ? void 0 : _w.vehicleSpecification) === null || _x === void 0 ? void 0 : _x.variantDescription) === null || _y === void 0 ? void 0 : _y.trim()) }, ((_1 = (_0 = (_z = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _z === void 0 ? void 0 : _z.identifiers) === null || _0 === void 0 ? void 0 : _0.variant) === null || _1 === void 0 ? void 0 : _1.trim()) || '', " ", h("br", { key: 'e5caefead2620f8cefcfeaefd6ac52530e60c79b' }), ((_4 = (_3 = (_2 = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _2 === void 0 ? void 0 : _2.vehicleSpecification) === null || _3 === void 0 ? void 0 : _3.variantDescription) === null || _4 === void 0 ? void 0 : _4.trim()) || '')), h(MaterialCard, { key: '9cf57f369c8bd43a14c47e7b49e9862a3c6617cc', desc: ((_7 = (_6 = (_5 = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _5 === void 0 ? void 0 : _5.identifiers) === null || _6 === void 0 ? void 0 : _6.katashiki) === null || _7 === void 0 ? void 0 : _7.trim()) || '', title: texts === null || texts === void 0 ? void 0 : texts.katashiki, minWidth: "250px" }), h(MaterialCard, { key: '7bb01ce0b3000c08007f51dfab863f55db406982', desc: ((_11 = (_10 = (_9 = (_8 = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _8 === void 0 ? void 0 : _8.vehicleVariantInfo) === null || _9 === void 0 ? void 0 : _9.modelYear) === null || _10 === void 0 ? void 0 : _10.toString()) === null || _11 === void 0 ? void 0 : _11.trim()) || '', title: texts === null || texts === void 0 ? void 0 : texts.modelYear, minWidth: "250px" }), h(MaterialCard, { key: '098930234119023ae722f0547a34a7ae202a886a', desc: productionDate ? productionDate : '', title: texts === null || texts === void 0 ? void 0 : texts.productionDate, minWidth: "250px" }), h(MaterialCard, { key: 'f5c329f53ae91ab7046ca3adf7da9dbed4ce7a6b', desc: ((_14 = (_13 = (_12 = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _12 === void 0 ? void 0 : _12.vehicleVariantInfo) === null || _13 === void 0 ? void 0 : _13.sfx) === null || _14 === void 0 ? void 0 : _14.trim()) || '', title: texts === null || texts === void 0 ? void 0 : texts.sfx, minWidth: "250px" }))))));
1307
+ return (h(Host, { key: 'c7d7bae4704f9c1bfdc13eeb414ed22d99a04cdf', translate: "no" }, h(VehicleInfoLayout, { key: '9ff22d904b28b77128c3db2229b4c15dc6e21c89', isError: this.isError, coreOnly: this.coreOnly, isLoading: this.isLoading, header: (_e = this.vehicleLookup) === null || _e === void 0 ? void 0 : _e.vin, direction: this.locale.sharedLocales.direction, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard }, h("flexible-container", { key: 'ba632131f398ab9c7e864cd4344e327ec2ea4f31' }, h("div", { key: '8ca79e77610982b8e6aa00ea8b0acc6ccce1cafb', class: "flex p-[16px] [&>div]:grow overflow-auto gap-[16px] items-stretch justify-center md:justify-between flex-wrap" }, h(MaterialCard, { key: 'b863b731893372b4cd193c0972172dae87d07a1a', class: "grow", title: texts === null || texts === void 0 ? void 0 : texts.model, minWidth: "300px" }, h(MaterialCardChildren, { key: 'f6758abc6b10a2c3ad606de475ea13db520eb917', class: "text-center", hidden: !((_h = (_g = (_f = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _f === void 0 ? void 0 : _f.vehicleVariantInfo) === null || _g === void 0 ? void 0 : _g.modelCode) === null || _h === void 0 ? void 0 : _h.trim()) && !((_l = (_k = (_j = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _j === void 0 ? void 0 : _j.vehicleSpecification) === null || _k === void 0 ? void 0 : _k.modelDescription) === null || _l === void 0 ? void 0 : _l.trim()) }, ((_p = (_o = (_m = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _m === void 0 ? void 0 : _m.vehicleVariantInfo) === null || _o === void 0 ? void 0 : _o.modelCode) === null || _p === void 0 ? void 0 : _p.trim()) || '', " ", h("br", { key: '9265670a0c1584b0cca657152ca024fa6a5e3e01', class: "my-2" }), ((_s = (_r = (_q = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _q === void 0 ? void 0 : _q.vehicleSpecification) === null || _r === void 0 ? void 0 : _r.modelDescription) === null || _s === void 0 ? void 0 : _s.trim()) || '')), h(MaterialCard, { key: '4a62dbe07fa9b77d803466df5f99ef3a7a14cfb9', class: "grow", title: texts === null || texts === void 0 ? void 0 : texts.variant, minWidth: "300px" }, h(MaterialCardChildren, { key: '19dcf5e0e36c02fee2814c2904f19cb4e82deb80', class: "text-center", hidden: !((_v = (_u = (_t = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _t === void 0 ? void 0 : _t.identifiers) === null || _u === void 0 ? void 0 : _u.variant) === null || _v === void 0 ? void 0 : _v.trim()) && !((_y = (_x = (_w = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _w === void 0 ? void 0 : _w.vehicleSpecification) === null || _x === void 0 ? void 0 : _x.variantDescription) === null || _y === void 0 ? void 0 : _y.trim()) }, ((_1 = (_0 = (_z = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _z === void 0 ? void 0 : _z.identifiers) === null || _0 === void 0 ? void 0 : _0.variant) === null || _1 === void 0 ? void 0 : _1.trim()) || '', " ", h("br", { key: '6b8ea41c2414acaf2c108a8fdb83e734ae6477f2' }), ((_4 = (_3 = (_2 = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _2 === void 0 ? void 0 : _2.vehicleSpecification) === null || _3 === void 0 ? void 0 : _3.variantDescription) === null || _4 === void 0 ? void 0 : _4.trim()) || '')), h(MaterialCard, { key: '1159bec426e817e4df6796ef6ca1f4e9e973e448', desc: ((_7 = (_6 = (_5 = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _5 === void 0 ? void 0 : _5.identifiers) === null || _6 === void 0 ? void 0 : _6.katashiki) === null || _7 === void 0 ? void 0 : _7.trim()) || '', title: texts === null || texts === void 0 ? void 0 : texts.katashiki, minWidth: "250px" }), h(MaterialCard, { key: '2f41e1423b3bc4deaa2f632a7a6e404990e5e0e2', desc: ((_11 = (_10 = (_9 = (_8 = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _8 === void 0 ? void 0 : _8.vehicleVariantInfo) === null || _9 === void 0 ? void 0 : _9.modelYear) === null || _10 === void 0 ? void 0 : _10.toString()) === null || _11 === void 0 ? void 0 : _11.trim()) || '', title: texts === null || texts === void 0 ? void 0 : texts.modelYear, minWidth: "250px" }), h(MaterialCard, { key: '6287100e29542ae8c7f06182067af75033abe37a', desc: productionDate ? productionDate : '', title: texts === null || texts === void 0 ? void 0 : texts.productionDate, minWidth: "250px" }), h(MaterialCard, { key: '18f923cad3f4937afc3e6133aeece236b9912f6a', desc: ((_14 = (_13 = (_12 = this === null || this === void 0 ? void 0 : this.vehicleLookup) === null || _12 === void 0 ? void 0 : _12.vehicleVariantInfo) === null || _13 === void 0 ? void 0 : _13.sfx) === null || _14 === void 0 ? void 0 : _14.trim()) || '', title: texts === null || texts === void 0 ? void 0 : texts.sfx, minWidth: "250px" }))))));
1308
1308
  }
1309
1309
  get el() { return getElement(this); }
1310
1310
  static get watchers() { return {
@@ -1614,4 +1614,402 @@ const VehicleWarrantyDetails = class {
1614
1614
  };
1615
1615
  VehicleWarrantyDetails.style = vehicleWarrantyDetailsCss();
1616
1616
 
1617
- export { VehicleAccessories as vehicle_accessories, VehicleClaimableItems as vehicle_claimable_items, VehiclePaintThickness as vehicle_paint_thickness, VehicleSaleInformation as vehicle_sale_information, VehicleServiceHistory as vehicle_service_history, VehicleSpecification as vehicle_specification, VehicleWarrantyDetails as vehicle_warranty_details };
1617
+ const warrantyTimelineSchema = yupTypeMapper([
1618
+ 'dealer',
1619
+ 'activatedBy',
1620
+ 'broker',
1621
+ 'authorized',
1622
+ 'unauthorized',
1623
+ 'activeWarranty',
1624
+ 'notActiveWarranty',
1625
+ 'warrantyCoverage',
1626
+ 'totalPlannedProtection',
1627
+ 'standardWarranty',
1628
+ 'standardWarrantyMark',
1629
+ 'extendedWarranty',
1630
+ 'standard',
1631
+ 'extended',
1632
+ 'today',
1633
+ 'year',
1634
+ 'years',
1635
+ 'month',
1636
+ 'months',
1637
+ 'warrantyNotStarted',
1638
+ 'awaitingBrokerInvoice',
1639
+ 'awaitingEndCustomerSale',
1640
+ 'awaitingActivation',
1641
+ ]);
1642
+
1643
+ const TONE_STANDARD = {
1644
+ base: 'var(--green)',
1645
+ dark: 'var(--green-dark)',
1646
+ tint: 'rgba(232, 244, 237, 0.9)',
1647
+ border: 'rgba(44, 138, 88, 0.55)',
1648
+ };
1649
+ // Extended coverages cycle through these. The prototype hard-coded one class per
1650
+ // provider; a vehicle can hold more than two, so the tone repeats and the segment's
1651
+ // alternating border style keeps neighbouring bands apart.
1652
+ const TONES_EXTENDED = [
1653
+ { base: 'var(--blue)', dark: 'var(--blue-dark)', tint: 'rgba(232, 241, 248, 0.88)', border: 'rgba(48, 113, 169, 0.64)' },
1654
+ { base: 'var(--violet)', dark: 'var(--violet-dark)', tint: 'rgba(240, 236, 247, 0.9)', border: 'rgba(117, 90, 165, 0.65)' },
1655
+ ];
1656
+ const toTimestamp = (isoDate) => Date.parse(`${isoDate}T00:00:00Z`);
1657
+ /** DTO dates are serialized as yyyy-MM-dd, but tolerate a full timestamp. */
1658
+ const asDate = (value) => (value || '').slice(0, 10);
1659
+ const todayInUtc = () => new Date().toISOString().slice(0, 10);
1660
+ const clampPercentage = (value) => Math.min(100, Math.max(0, value));
1661
+ const asPercentage = (value) => `${value.toFixed(6)}%`;
1662
+ const monthsBetween = (start, end) => {
1663
+ const [startYear, startMonth, startDay] = start.split('-').map(Number);
1664
+ const [endYear, endMonth, endDay] = end.split('-').map(Number);
1665
+ const months = (endYear - startYear) * 12 + (endMonth - startMonth) - (endDay < startDay ? 1 : 0);
1666
+ return Math.max(0, months);
1667
+ };
1668
+ const formatDuration = (months, locale) => {
1669
+ const years = Math.floor(months / 12);
1670
+ const remainingMonths = months % 12;
1671
+ const parts = [];
1672
+ if (years)
1673
+ parts.push(`${years} ${years === 1 ? locale.year : locale.years}`);
1674
+ if (remainingMonths || !years)
1675
+ parts.push(`${remainingMonths} ${remainingMonths === 1 ? locale.month : locale.months}`);
1676
+ return parts.join(' ');
1677
+ };
1678
+ const buildCoverages = (vehicleInformation, locale) => {
1679
+ const warranty = vehicleInformation === null || vehicleInformation === void 0 ? void 0 : vehicleInformation.warranty;
1680
+ const coverages = [];
1681
+ const standardStart = asDate(warranty === null || warranty === void 0 ? void 0 : warranty.warrantyStartDate);
1682
+ const standardEnd = asDate(warranty === null || warranty === void 0 ? void 0 : warranty.warrantyEndDate);
1683
+ if (standardStart && standardEnd && toTimestamp(standardEnd) > toTimestamp(standardStart))
1684
+ coverages.push({
1685
+ id: 'standard',
1686
+ kind: 'standard',
1687
+ label: locale.standardWarranty,
1688
+ start: standardStart,
1689
+ end: standardEnd,
1690
+ tone: TONE_STANDARD,
1691
+ alt: false,
1692
+ });
1693
+ ((warranty === null || warranty === void 0 ? void 0 : warranty.extendedWarranties) || [])
1694
+ .map(coverage => ({
1695
+ id: (coverage === null || coverage === void 0 ? void 0 : coverage.id) || '',
1696
+ name: (coverage === null || coverage === void 0 ? void 0 : coverage.name) || '',
1697
+ providerName: (coverage === null || coverage === void 0 ? void 0 : coverage.providerCompanyName) || '',
1698
+ logo: (coverage === null || coverage === void 0 ? void 0 : coverage.providerCompanyLogo) || '',
1699
+ start: asDate(coverage === null || coverage === void 0 ? void 0 : coverage.startDate),
1700
+ end: asDate(coverage === null || coverage === void 0 ? void 0 : coverage.endDate),
1701
+ }))
1702
+ .filter(coverage => coverage.start && coverage.end && toTimestamp(coverage.end) > toTimestamp(coverage.start))
1703
+ .sort((a, b) => toTimestamp(a.start) - toTimestamp(b.start))
1704
+ .forEach((coverage, index) => {
1705
+ coverages.push({
1706
+ id: coverage.id || `extended-${index}`,
1707
+ kind: 'extended',
1708
+ // The identifier is not a display string. A configured definition supplies a name;
1709
+ // a persisted entry has none, so those fall back to the generic label.
1710
+ label: coverage.name || locale.extendedWarranty,
1711
+ start: coverage.start,
1712
+ end: coverage.end,
1713
+ tone: TONES_EXTENDED[index % TONES_EXTENDED.length],
1714
+ alt: index % 2 === 1,
1715
+ logo: coverage.logo || undefined,
1716
+ providerName: coverage.providerName || undefined,
1717
+ });
1718
+ });
1719
+ return coverages;
1720
+ };
1721
+ /** Coverage name, qualified by the provider when one resolved. Used for the accessible text only. */
1722
+ const describe = (coverage) => (coverage.providerName ? `${coverage.label} · ${coverage.providerName}` : coverage.label);
1723
+ const coverageStatus = (coverage, today) => {
1724
+ const snapshot = toTimestamp(today);
1725
+ if (snapshot < toTimestamp(coverage.start))
1726
+ return 'upcoming';
1727
+ if (snapshot >= toTimestamp(coverage.end))
1728
+ return 'expired';
1729
+ return 'active';
1730
+ };
1731
+ /** Track drawn past the snapshot so the marker sits in the rail rather than on its edge. */
1732
+ const RAIL_HEADROOM = 0.04;
1733
+ /**
1734
+ * The span the rail draws. Coverage fixes one end; today is always inside it.
1735
+ *
1736
+ * A rail that stopped at the last expiry date would put "today" hard against its edge and lose the
1737
+ * one thing a lapsed warranty most needs to show — how long ago cover ran out. Drawing through to
1738
+ * today instead turns that into what it is: empty track, as wide as the time that has passed.
1739
+ */
1740
+ const railRange = (coverages, today) => {
1741
+ const first = toTimestamp(coverages[0].start);
1742
+ const last = coverages.reduce((latest, coverage) => Math.max(latest, toTimestamp(coverage.end)), toTimestamp(coverages[0].end));
1743
+ const snapshot = toTimestamp(today);
1744
+ const headroom = Math.round((Math.max(last, snapshot) - Math.min(first, snapshot)) * RAIL_HEADROOM);
1745
+ return {
1746
+ from: first <= snapshot ? first : snapshot - headroom,
1747
+ to: last >= snapshot ? last : snapshot + headroom,
1748
+ };
1749
+ };
1750
+ const toneVariables = (tone) => ({
1751
+ '--tone': tone.base,
1752
+ '--tone-dark': tone.dark,
1753
+ '--tone-tint': tone.tint,
1754
+ '--tone-border': tone.border,
1755
+ });
1756
+ /** Clearance between two axis dates before they read as one smudge. */
1757
+ const AXIS_GAP = 10;
1758
+ /**
1759
+ * Hides the axis dates that would collide, always keeping the closing one.
1760
+ *
1761
+ * Crowding is not only a narrow-screen problem: consecutive coverages routinely hand over within a
1762
+ * week of each other on a rail spanning years, and those two labels overlap at any width. The
1763
+ * decision needs the measured width of rendered text, which the render pass cannot know, so it is
1764
+ * applied to the DOM afterwards and re-applied whenever the rail is resized.
1765
+ */
1766
+ const thinAxis = (axis) => {
1767
+ if (!axis)
1768
+ return;
1769
+ const apply = () => {
1770
+ const dates = Array.from(axis.children);
1771
+ const railWidth = axis.clientWidth;
1772
+ // jsdom reports no layout, so specs leave every date alone rather than hiding all of them.
1773
+ if (dates.length < 2 || !railWidth)
1774
+ return;
1775
+ dates.forEach(date => date.classList.remove('is-crowded'));
1776
+ const last = dates.length - 1;
1777
+ const boxOf = (date) => {
1778
+ const at = (parseFloat(date.style.getPropertyValue('--at')) / 100) * railWidth;
1779
+ const width = date.offsetWidth;
1780
+ // Mirrors the stylesheet: a date at the rail's start runs rightwards from its tick, one at
1781
+ // its end leftwards from its own, and everything between is centred on its tick.
1782
+ if (date.dataset.align === 'start')
1783
+ return [at, at + width];
1784
+ if (date.dataset.align === 'end')
1785
+ return [at - width, at];
1786
+ return [at - width / 2, at + width / 2];
1787
+ };
1788
+ const boxes = dates.map(boxOf);
1789
+ const survives = new Set([0, last]);
1790
+ let occupiedTo = boxes[0][1];
1791
+ for (let index = 1; index < last; index++) {
1792
+ const [left, right] = boxes[index];
1793
+ if (left < occupiedTo + AXIS_GAP)
1794
+ continue;
1795
+ if (right + AXIS_GAP > boxes[last][0])
1796
+ continue;
1797
+ survives.add(index);
1798
+ occupiedTo = right;
1799
+ }
1800
+ // A rail too narrow to hold even the two bounds keeps the closing date: when the cover runs out
1801
+ // is the question the panel is answering.
1802
+ if (boxes[0][1] + AXIS_GAP > boxes[last][0])
1803
+ survives.delete(0);
1804
+ dates.forEach((date, index) => date.classList.toggle('is-crowded', !survives.has(index)));
1805
+ };
1806
+ const schedule = () => (typeof requestAnimationFrame === 'function' ? requestAnimationFrame(apply) : apply());
1807
+ schedule();
1808
+ // Both triggers are needed and neither is enough on its own: the rail resizes without the dates
1809
+ // changing, and switching vehicle replaces the dates without the rail resizing.
1810
+ if (axis.__axisWatched)
1811
+ return;
1812
+ axis.__axisWatched = true;
1813
+ if (typeof ResizeObserver !== 'undefined')
1814
+ new ResizeObserver(schedule).observe(axis);
1815
+ if (typeof MutationObserver !== 'undefined')
1816
+ new MutationObserver(schedule).observe(axis, { childList: true });
1817
+ };
1818
+ /** Pulls the snapshot pill back onto the rail when centring it would overhang either edge. */
1819
+ const positionTodayPill = (head, todayPosition) => {
1820
+ if (!head)
1821
+ return;
1822
+ const apply = () => {
1823
+ const pill = head.firstElementChild;
1824
+ if (!pill || !head.clientWidth)
1825
+ return;
1826
+ const pillCentre = (head.clientWidth * clampPercentage(todayPosition)) / 100;
1827
+ head.classList.toggle('is-near-end', pillCentre + pill.offsetWidth / 2 > head.clientWidth);
1828
+ head.classList.toggle('is-near-start', pillCentre - pill.offsetWidth / 2 < 0);
1829
+ };
1830
+ if (typeof requestAnimationFrame === 'function')
1831
+ requestAnimationFrame(apply);
1832
+ else
1833
+ apply();
1834
+ };
1835
+ // Inline rather than an ~assets import: the glyph takes its colour from the badge
1836
+ // state via currentColor, which an <img src> cannot do.
1837
+ const BADGE_GLYPHS = {
1838
+ positive: 'M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z',
1839
+ negative: 'M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z',
1840
+ };
1841
+ /**
1842
+ * Why the warranty has not started. Possession is not a sale: while the distributor, an intermediary
1843
+ * or an un-invoiced broker still holds the vehicle, coverage deliberately has not begun and the
1844
+ * holder's invoice date is not used — the customer would lose that period off the front. The panel
1845
+ * says so rather than showing an unexplained empty rail.
1846
+ *
1847
+ * Only the broker case is derivable from the response; the supply-chain cases depend on the host's
1848
+ * own company classification, so the reason is read from the DTO. An older API that does not send
1849
+ * `startState` reads as started and shows nothing, exactly as before.
1850
+ */
1851
+ const notStartedMessage = (vehicleInformation, locale) => {
1852
+ var _a, _b, _c;
1853
+ const startState = (_a = vehicleInformation === null || vehicleInformation === void 0 ? void 0 : vehicleInformation.warranty) === null || _a === void 0 ? void 0 : _a.startState;
1854
+ if (!vehicleInformation || !startState || startState === 'Started')
1855
+ return '';
1856
+ if (startState === 'AwaitingBrokerInvoice')
1857
+ return locale.awaitingBrokerInvoice + (((_c = (_b = vehicleInformation === null || vehicleInformation === void 0 ? void 0 : vehicleInformation.saleInformation) === null || _b === void 0 ? void 0 : _b.broker) === null || _c === void 0 ? void 0 : _c.brokerName) || '');
1858
+ if (startState === 'AwaitingEndCustomerSale')
1859
+ return locale.awaitingEndCustomerSale;
1860
+ return locale.awaitingActivation;
1861
+ };
1862
+ /**
1863
+ * The one row the card is allowed to gain and lose. The grid track animates the height rather than
1864
+ * the content, so the row still slides shut on the frame its message is cleared. Everything else
1865
+ * keeps its place and fades, which is what holds the card to a single height across vehicles.
1866
+ */
1867
+ const Collapsible = ({ open }, children) => (h("div", { class: "collapsible", "data-open": open ? 'true' : 'false', "aria-hidden": open ? null : 'true' }, h("div", { class: "collapsible-body" }, children)));
1868
+ const NoticeStrip = ({ text }) => (h("div", { class: "warranty-notice", role: "status" }, h("svg", { class: "notice-icon", viewBox: "0 0 512 512", "aria-hidden": "true", focusable: "false" }, h("path", { fill: "currentColor", d: BADGE_GLYPHS.negative })), h("span", null, text)));
1869
+ /**
1870
+ * A verdict, or the absence of one. Before a lookup there is no vehicle to judge, and an absent
1871
+ * `isAuthorized` reading as `false` opened the panel accusing every vehicle of being unauthorized
1872
+ * and out of cover. The idle chip keeps its box and its split cap so nothing shifts when the
1873
+ * verdict lands, and asserts nothing until it does — the treatment the older warranty panel
1874
+ * already gives its own cards.
1875
+ */
1876
+ const StatusBadge = ({ state, text }) => {
1877
+ const idle = state === 'idle';
1878
+ return (h("span", { class: `status-badge is-${state}`, "aria-label": idle ? null : text, "aria-hidden": idle ? 'true' : null }, h("svg", { class: "badge-icon", viewBox: "0 0 512 512", "aria-hidden": "true", focusable: "false" }, !idle && h("path", { fill: "currentColor", d: state === 'positive' ? BADGE_GLYPHS.positive : BADGE_GLYPHS.negative })), h("span", null, idle ? '' : text)));
1879
+ };
1880
+ function CoverageTimeline({ vehicleInformation, locale, isAuthorized, today }) {
1881
+ var _a, _b;
1882
+ const snapshot = today || todayInUtc();
1883
+ const coverages = buildCoverages(vehicleInformation, locale);
1884
+ const hasCoverage = coverages.length > 0;
1885
+ const dealerName = ((_a = vehicleInformation === null || vehicleInformation === void 0 ? void 0 : vehicleInformation.saleInformation) === null || _a === void 0 ? void 0 : _a.companyName) || '';
1886
+ const notice = notStartedMessage(vehicleInformation, locale);
1887
+ // The broker that actually anchored the warranty — a warranty fact, not a sale fact, so it is read
1888
+ // from the warranty DTO rather than inferred from the presence of a broker on the sale.
1889
+ const activatingBroker = ((_b = vehicleInformation === null || vehicleInformation === void 0 ? void 0 : vehicleInformation.warranty) === null || _b === void 0 ? void 0 : _b.activatedByBrokerName) || '';
1890
+ // "Activated by" is only truthful once something started the coverage. Before that the company is
1891
+ // just the dealer holding it, and when a broker started it both parties matter.
1892
+ const dealerLabel = activatingBroker || notice ? locale.dealer : locale.activatedBy;
1893
+ const hasActiveWarranty = coverages.some(coverage => coverageStatus(coverage, snapshot) === 'active');
1894
+ // Both chips are verdicts about a vehicle, so neither can be given before there is one to judge.
1895
+ const verdict = (isPositive) => (!vehicleInformation ? 'idle' : isPositive ? 'positive' : 'negative');
1896
+ const range = hasCoverage ? railRange(coverages, snapshot) : { from: 0, to: 1 };
1897
+ const positionInRange = (isoDate) => ((toTimestamp(isoDate) - range.from) / (range.to - range.from)) * 100;
1898
+ // The stripe is proportioned across the cover itself, not the rail. The rail stretches to reach
1899
+ // today, so sharing its scale would leave the stripe part-drawn, with the last band's colour
1900
+ // running out to the edge on any vehicle whose warranty has lapsed.
1901
+ const planFrom = hasCoverage ? toTimestamp(coverages[0].start) : 0;
1902
+ const planTo = hasCoverage ? coverages.reduce((latest, coverage) => Math.max(latest, toTimestamp(coverage.end)), planFrom + 1) : 1;
1903
+ const positionInPlan = (isoDate) => ((toTimestamp(isoDate) - planFrom) / (planTo - planFrom)) * 100;
1904
+ const ticks = hasCoverage ? Array.from(new Set(coverages.flatMap(coverage => [coverage.start, coverage.end]))).sort((a, b) => toTimestamp(a) - toTimestamp(b)) : [];
1905
+ // Inside the rail by construction; clamped anyway so malformed dates can never put an element at
1906
+ // `left: 190%`, which widens the rail to match and makes the card scroll sideways to reach it.
1907
+ const todayPosition = hasCoverage ? clampPercentage(positionInRange(snapshot)) : 0;
1908
+ const cardAccent = !hasCoverage
1909
+ ? // No bands means no coverage to describe, so the accent must not fall through to a
1910
+ // green/blue/violet gradient — that reads as a three-stage plan on a vehicle that has none.
1911
+ // Red when we are saying why coverage has not started, otherwise inert.
1912
+ notice
1913
+ ? 'var(--red)'
1914
+ : 'var(--line)'
1915
+ : coverages.length === 1
1916
+ ? TONE_STANDARD.base
1917
+ : `linear-gradient(90deg, ${coverages
1918
+ .map(coverage => `${coverage.tone.base} ${asPercentage(positionInPlan(coverage.start))} ${asPercentage(positionInPlan(coverage.end))}`)
1919
+ .join(', ')})`;
1920
+ const summary = coverages.map(coverage => `${describe(coverage)}: ${coverage.start} — ${coverage.end} (${coverageStatus(coverage, snapshot)})`).join('. ');
1921
+ // One structure for every vehicle. Blocks a vehicle has nothing to put in fade out in place
1922
+ // instead of being dropped, so moving between vehicles does not resize the card under the reader.
1923
+ return (h("article", { class: "coverage-timeline warranty-card", "data-empty": hasCoverage ? 'false' : 'true', style: { '--card-accent': cardAccent } }, h("header", { class: "activation-header" }, h("div", { class: "activation-main" }, h("p", { class: "activation-title" }, h("span", null, dealerLabel, ":"), " ", h("strong", null, dealerName || '—')), h("div", { class: "broker-slot", "data-empty": activatingBroker ? 'false' : 'true', "aria-hidden": activatingBroker ? null : 'true' }, h("p", { class: "activation-broker" }, h("span", null, locale.broker, ":"), " ", h("strong", null, activatingBroker)))), h("div", { class: "total-slot", "data-empty": hasCoverage ? 'false' : 'true', "aria-hidden": hasCoverage ? null : 'true' }, h(TotalCoverage, { coverages: coverages, locale: locale }))), h(Collapsible, { open: !!notice }, h(NoticeStrip, { text: notice })), h("section", { class: "journey", "aria-label": locale.warrantyCoverage }, h("div", { class: "journey-head" }, h(StatusBadge, { state: verdict(isAuthorized), text: isAuthorized ? locale.authorized : locale.unauthorized }), h(StatusBadge, { state: verdict(hasActiveWarranty), text: hasActiveWarranty ? locale.activeWarranty : locale.notActiveWarranty })), h("div", { class: "timeline-shell", "data-empty": hasCoverage ? 'false' : 'true', "aria-hidden": hasCoverage ? null : 'true' }, h("div", { class: "timeline shift-skeleton", role: "group", "aria-label": locale.warrantyCoverage }, h("div", { class: "today-head", "aria-hidden": "true", style: { '--at': asPercentage(todayPosition) }, ref: element => positionTodayPill(element, todayPosition) }, hasCoverage && h("span", { class: "today-pill" }, `${locale.today} · ${snapshot}`)), h("div", { class: "axis", "aria-hidden": "true", ref: thinAxis }, ticks.map(tick => {
1924
+ const at = positionInRange(tick);
1925
+ // Ticks no longer necessarily reach the rail's ends — a lapsed warranty's dates all
1926
+ // sit left of today — so which way a date is set follows its position rather than
1927
+ // its place in the list.
1928
+ return (h("span", { class: "axis-date", key: tick, "data-align": at <= 0.5 ? 'start' : at >= 99.5 ? 'end' : 'mid', style: { '--at': asPercentage(at) } }, tick));
1929
+ })), h("div", { class: "lane" }, hasCoverage && h("span", { class: "today-tail", "aria-hidden": "true", style: { '--at': asPercentage(todayPosition) } }), h("div", { class: "coverage-list", role: "list" }, coverages.map(coverage => {
1930
+ const status = coverageStatus(coverage, snapshot);
1931
+ const start = positionInRange(coverage.start);
1932
+ const span = positionInRange(coverage.end) - start;
1933
+ return (h("div", { key: coverage.id, role: "listitem", class: "coverage-entry", "data-kind": coverage.kind, "data-status": status, "aria-label": `${describe(coverage)}, ${coverage.start} — ${coverage.end}`, style: Object.assign({ '--start': asPercentage(start), '--span': asPercentage(span) }, toneVariables(coverage.tone)) }, h("div", { class: `segment ${coverage.kind === 'standard' ? 'is-standard' : 'is-extended'}${coverage.alt ? ' tone-alt' : ''}` }, coverage.kind === 'standard' ? (h("strong", null, locale.standardWarrantyMark)) : coverage.logo ? (
1934
+ // Decorative: the provider is already named in the entry's aria-label,
1935
+ // so alt text here would announce it twice.
1936
+ h("img", { class: "provider-logo", src: coverage.logo, alt: "", loading: "lazy" })) : null), h("span", { class: "coverage-label" }, coverage.label)));
1937
+ })), hasCoverage && h("span", { class: "past-wash", "aria-hidden": "true", style: { '--to': asPercentage(todayPosition) } }), h("div", { class: "boundary-layer", "aria-hidden": "true" }, coverages.slice(1).map(coverage => (h("span", { key: coverage.id, class: "boundary", style: Object.assign({ '--at': asPercentage(positionInRange(coverage.start)) }, toneVariables(coverage.tone)) })))), hasCoverage && h("span", { class: "today-marker", "aria-hidden": "true", style: { '--at': asPercentage(todayPosition) } })), hasCoverage && h("p", { class: "sr-only" }, summary))))));
1938
+ }
1939
+ function TotalCoverage({ coverages, locale }) {
1940
+ const monthsFor = (kind) => coverages.filter(coverage => coverage.kind === kind).reduce((total, coverage) => total + monthsBetween(coverage.start, coverage.end), 0);
1941
+ const standardMonths = monthsFor('standard');
1942
+ const extendedMonths = monthsFor('extended');
1943
+ const mix = [
1944
+ standardMonths ? `${formatDuration(standardMonths, locale)} ${locale.standard}` : '',
1945
+ extendedMonths ? `${formatDuration(extendedMonths, locale)} ${locale.extended}` : '',
1946
+ ]
1947
+ .filter(Boolean)
1948
+ .join(' + ');
1949
+ // The block keeps its box on a vehicle with no coverage so the header does not resize, but it
1950
+ // reports no total rather than a total of zero — and a dash is narrow enough that it does not
1951
+ // reflow the label beside it, which is what made the invisible block taller than a real one.
1952
+ const total = mix ? formatDuration(standardMonths + extendedMonths, locale) : '—';
1953
+ return (h("aside", { class: "total-coverage", "aria-label": `${locale.totalPlannedProtection}: ${mix || total}` }, h("span", null, locale.totalPlannedProtection), h("strong", null, total), h("span", { class: "coverage-mix" }, mix)));
1954
+ }
1955
+
1956
+ const vehicleWarrantyTimelineCss = () => `*,: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-scroll-snap-strictness:proximity;--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;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-scroll-snap-strictness:proximity;--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;}: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;--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:9px;font-weight:800;letter-spacing:.13em;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:9px;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(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:800;inset:0 auto auto var(--at);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:41px;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:9px;font-weight:800;left:var(--at);letter-spacing:.04em;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:12px;font-weight:800;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:10px;font-weight:800;line-height:1.2;margin-top:5px;min-height:24px;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}.mx-auto{margin-left:auto;margin-right:auto}.size-\\[100px\\]{height:100px;width:100px}.size-full{height:100%;width:100%}.h-auto{height:auto}.max-h-\\[100px\\]{max-height:100px}.w-auto{width:auto}.w-fit{width:fit-content}.max-w-\\[100px\\]{max-width:100px}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.gap-\\[4px\\]{gap:4px}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:.5rem}.bg-black\\/40{background-color:rgba(0,0,0,.4)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.duration-300{transition-duration:.3s}.hover\\:opacity-100:hover{opacity:1}.\\[\\&_div\\]\\:hover\\:\\!opacity-100:hover div{opacity:1!important}.\\[\\&_img\\]\\:hover\\:shadow-lg:hover img{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.pointer-events-auto{pointer-events:auto}.bottom-\\[40px\\]{bottom:40px}.left-1\\/2{left:50%}.left-\\[30px\\]{left:30px}.ml-\\[-125px\\]{margin-left:-125px}.box-content{box-sizing:content-box}.size-\\[30px\\]{height:30px;width:30px}.size-\\[90px\\]{height:90px;width:90px}.h-10{height:2.5rem}.h-\\[320px\\]{height:320px}.h-full{height:100%}.w-1\\/2{width:50%}.w-\\[150\\%\\]{width:150%}.w-\\[90\\%\\]{width:90%}.w-\\[calc\\(100\\%-0px\\)\\]{width:100%}.w-\\[calc\\(100\\%-60px\\)\\]{width:calc(100% - 60px)}.min-w-full{min-width:100%}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.translate-y-\\[-50\\%\\],.translate-y-\\[-5px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-5px\\]{--tw-translate-y:-5px}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-\\[70\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\\[70\\%\\]{--tw-scale-x:70%;--tw-scale-y:70%}.resize{resize:both}.justify-between{justify-content:space-between}.gap-\\[250px\\]{gap:250px}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.rounded-\\[6px\\]{border-radius:6px}.border-\\[\\#f2aeb5\\]{--tw-border-opacity:1;border-color:rgb(242 174 181/var(--tw-border-opacity,1))}.border-\\[\\#faebcc\\]{--tw-border-opacity:1;border-color:rgb(250 235 204/var(--tw-border-opacity,1))}.bg-\\[\\#1a1a1a\\]{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.bg-\\[\\#f7d7d8\\]{--tw-bg-opacity:1;background-color:rgb(247 215 216/var(--tw-bg-opacity,1))}.bg-\\[\\#fcf8e3\\]{--tw-bg-opacity:1;background-color:rgb(252 248 227/var(--tw-bg-opacity,1))}.bg-\\[linear-gradient\\(to_bottom\\2c _\\#428bca_0\\%\\2c _\\#3071a9_100\\%\\)\\]{background-image:linear-gradient(180deg,#428bca,#3071a9)}.p-\\[25px\\]{padding:25px}.px-\\[30px\\]{padding-left:30px;padding-right:30px}.pt-\\[16px\\]{padding-top:16px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.font-semibold{font-weight:600}.text-\\[\\#58151c\\]{--tw-text-opacity:1;color:rgb(88 21 28/var(--tw-text-opacity,1))}.text-\\[\\#8a6d3b\\]{--tw-text-opacity:1;color:rgb(138 109 59/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.duration-200{transition-duration:.2s}.\\[\\&_\\*\\]\\:shrink-0 *{flex-shrink:0}.end-0{inset-inline-end:0}.top-full{top:100%}.my-auto{margin-bottom:auto;margin-top:auto}.me-\\[16px\\]{margin-inline-end:16px}.mt-\\[4px\\]{margin-top:4px}.size-\\[16px\\]{height:16px;width:16px}.size-\\[18px\\]{height:18px;width:18px}.h-\\[150px\\]{height:150px}.w-\\[84px\\]{width:84px}.min-w-0{min-width:0}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.gap-\\[16px\\]{gap:16px}.gap-\\[6px\\]{gap:6px}.gap-\\[8px\\]{gap:8px}.whitespace-nowrap{white-space:nowrap}.border-b{border-bottom-width:1px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-\\[12px\\]{padding:12px}.p-\\[6px\\]{padding:6px}.px-\\[16px\\]{padding-left:16px;padding-right:16px}.px-\\[24px\\]{padding-left:24px;padding-right:24px}.py-\\[10px\\]{padding-bottom:10px;padding-top:10px}.py-\\[15px\\]{padding-bottom:15px;padding-top:15px}.py-\\[16px\\]{padding-bottom:16px;padding-top:16px}.py-\\[6px\\]{padding-bottom:6px;padding-top:6px}.py-\\[8px\\]{padding-bottom:8px;padding-top:8px}.text-center{text-align:center}.text-\\[17px\\]{font-size:17px}.font-medium{font-weight:500}.no-underline{text-decoration-line:none}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.last\\:border-b-0:last-child{border-bottom-width:0}.hover\\:border-amber-600:hover{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.hover\\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.hover\\:bg-sky-100\\/50:hover{background-color:rgba(224,242,254,.5)}.max-w-\\[460px\\]{max-width:460px}.max-w-\\[520px\\]{max-width:520px}.translate-y-\\[-4px\\]{--tw-translate-y:-4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{user-select:none}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.gap-\\[12px\\]{gap:12px}.gap-\\[2px\\]{gap:2px}.overflow-auto{overflow:auto}.\\!rounded-\\[12px\\]{border-radius:12px!important}.rounded-\\[14px\\]{border-radius:14px}.p-\\[16px\\]{padding:16px}.px-\\[12px\\]{padding-left:12px;padding-right:12px}.px-\\[14px\\]{padding-left:14px;padding-right:14px}.py-\\[12px\\]{padding-bottom:12px;padding-top:12px}.\\!pb-0{padding-bottom:0!important}.text-\\[13\\.5px\\]{font-size:13.5px}.leading-\\[1\\.35\\]{line-height:1.35}.text-amber-900\\/90{color:rgba(120,53,15,.9)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (min-width:768px){.md\\:justify-between{justify-content:space-between}}.\\[\\&\\>div\\]\\:grow>div{flex-grow:1}.my-2{margin-bottom:.5rem;margin-top:.5rem}.grow{flex-grow:1}.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-\\[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}.z-\\[999\\]{z-index:999}.h-\\[100dvh\\]{height:100dvh}.w-\\[100dvw\\]{width:100dvw}.scale-100,.scale-\\[110\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\\[110\\%\\]{--tw-scale-x:110%;--tw-scale-y:110%}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.stroke-\\[1\\.5px\\]{stroke-width:1.5px}`;
1957
+
1958
+ const VehicleWarrantyTimeline = class {
1959
+ constructor(hostRef) {
1960
+ registerInstance(this, hostRef);
1961
+ // #region Localization
1962
+ this.language = 'en';
1963
+ this.locale = Object.assign({ sharedLocales: sharedLocalesSchema.getDefault() }, warrantyTimelineSchema.getDefault());
1964
+ // #endregion
1965
+ // #region Vehicle info layout prop
1966
+ this.coreOnly = false;
1967
+ this.disableVinValidation = false;
1968
+ this.headers = {};
1969
+ this.queryString = '';
1970
+ this.isError = false;
1971
+ this.isLoading = false;
1972
+ }
1973
+ async componentWillLoad() {
1974
+ await this.changeLanguage(this.language);
1975
+ }
1976
+ async changeLanguage(newLanguage) {
1977
+ const [sharedLocales, locale] = await Promise.all([getSharedLocal(newLanguage), getLocaleLanguage(newLanguage, 'vehicleLookup.warrantyTimeline', warrantyTimelineSchema)]);
1978
+ this.locale = Object.assign({ sharedLocales }, locale);
1979
+ }
1980
+ async setBlazorRef(newBlazorRef) {
1981
+ this.blazorRef = newBlazorRef;
1982
+ }
1983
+ async setMockData(newMockData) {
1984
+ this.mockData = newMockData;
1985
+ }
1986
+ async fetchVin(newData, headers = {}) {
1987
+ await setVehicleLookupData(this, newData, headers);
1988
+ }
1989
+ async setErrorMessage(message) {
1990
+ setVehicleLookupErrorState(this, message);
1991
+ }
1992
+ async clearData() {
1993
+ this.vehicleLookup = undefined;
1994
+ }
1995
+ onLoadingChange(newValue) {
1996
+ smartInvokable.bind(this)(this.loadingStateChange, newValue);
1997
+ }
1998
+ // #endregion
1999
+ render() {
2000
+ var _a, _b;
2001
+ return (h(Host, { key: '8d89add2d61e4dcee130eede83bea9a02733cec1', translate: "no" }, h(VehicleInfoLayout, { key: '280006f828f2ded8ecd148a8cc8a7db939e1af29', 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: '81ecffef7b0c7fcb80d657ca0cc34c0afff11a88', class: "p-[16px]" }, h(CoverageTimeline, { key: '2532220db169ace764e9da2fd23c027a5023d12a', vehicleInformation: this.vehicleLookup, locale: this.locale, isAuthorized: (_b = this.vehicleLookup) === null || _b === void 0 ? void 0 : _b.isAuthorized })))));
2002
+ }
2003
+ get el() { return getElement(this); }
2004
+ static get watchers() { return {
2005
+ "language": [{
2006
+ "changeLanguage": 0
2007
+ }],
2008
+ "isLoading": [{
2009
+ "onLoadingChange": 0
2010
+ }]
2011
+ }; }
2012
+ };
2013
+ VehicleWarrantyTimeline.style = vehicleWarrantyTimelineCss();
2014
+
2015
+ export { VehicleAccessories as vehicle_accessories, VehicleClaimableItems as vehicle_claimable_items, VehiclePaintThickness as vehicle_paint_thickness, VehicleSaleInformation as vehicle_sale_information, VehicleServiceHistory as vehicle_service_history, VehicleSpecification as vehicle_specification, VehicleWarrantyDetails as vehicle_warranty_details, VehicleWarrantyTimeline as vehicle_warranty_timeline };