@bytebrand/fe-ui-core-autobahn 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. package/assets/autode-logo.svg +7 -0
  2. package/cards/CarCard.tsx +174 -0
  3. package/cards/CarRow.tsx +182 -0
  4. package/cards/cardParts.tsx +489 -0
  5. package/cards/index.ts +35 -0
  6. package/cards/types.ts +114 -0
  7. package/chrome/Footer.tsx +189 -0
  8. package/chrome/TopBar.tsx +405 -0
  9. package/chrome/index.ts +20 -0
  10. package/chrome/svg.d.ts +11 -0
  11. package/compat/AccardionSection/AccardionSection.styl +45 -0
  12. package/compat/AccardionSection/AccardionSection.tsx +56 -0
  13. package/compat/AccordionWidget/AccordionWidget.styl +221 -0
  14. package/compat/AccordionWidget/AccordionWidget.tsx +257 -0
  15. package/compat/AccordionWrapper/AccordionItem/AccordionItem.styl +34 -0
  16. package/compat/AccordionWrapper/AccordionItem/AccordionItem.tsx +64 -0
  17. package/compat/AccordionWrapper/AccordionWrapper.tsx +34 -0
  18. package/compat/AdvantageItem/AdvantageItem.styl +47 -0
  19. package/compat/AdvantageItem/AdvantageItem.tsx +26 -0
  20. package/compat/Alternative/DealerInfo.styl +116 -0
  21. package/compat/Alternative/DealerInfo.tsx +171 -0
  22. package/compat/Badge/Badge.styl +44 -0
  23. package/compat/Badge/Badge.tsx +25 -0
  24. package/compat/BodyTypeIcons/Audi.tsx +9 -0
  25. package/compat/BodyTypeIcons/Bmw.tsx +860 -0
  26. package/compat/BodyTypeIcons/Ford.tsx +31 -0
  27. package/compat/BodyTypeIcons/IconsConfig.tsx +44 -0
  28. package/compat/BodyTypeIcons/IconsConfigCompact.tsx +30 -0
  29. package/compat/BodyTypeIcons/Mazda.tsx +44 -0
  30. package/compat/BodyTypeIcons/MercedesBenz.tsx +38 -0
  31. package/compat/BodyTypeIcons/Opel.tsx +19 -0
  32. package/compat/BodyTypeIcons/Search.tsx +19 -0
  33. package/compat/BodyTypeIcons/SelectorCategoryCombi.tsx +68 -0
  34. package/compat/BodyTypeIcons/SelectorCategoryCompact.tsx +20 -0
  35. package/compat/BodyTypeIcons/SelectorCategoryConvertible.tsx +68 -0
  36. package/compat/BodyTypeIcons/SelectorCategoryCoupe.tsx +60 -0
  37. package/compat/BodyTypeIcons/SelectorCategoryMinibus.tsx +64 -0
  38. package/compat/BodyTypeIcons/SelectorCategorySedan.tsx +69 -0
  39. package/compat/BodyTypeIcons/SelectorCategorySuv.tsx +77 -0
  40. package/compat/BodyTypeIcons/SelectorCategoryTransporter.tsx +68 -0
  41. package/compat/BodyTypeIcons/SelectorCategoryVan.tsx +72 -0
  42. package/compat/BodyTypeIcons/Volkswagen.tsx +330 -0
  43. package/compat/BodyTypeIcons/index.ts +17 -0
  44. package/compat/Button/Button.tsx +65 -0
  45. package/compat/ButtonOld/Button.styl +65 -0
  46. package/compat/ButtonOld/Button.tsx +84 -0
  47. package/compat/Checkbox/Checkbox.styl +120 -0
  48. package/compat/Checkbox/Checkbox.tsx +151 -0
  49. package/compat/Checkbox/FormCheckbox.styl +22 -0
  50. package/compat/Checkbox/FormCheckbox.tsx +86 -0
  51. package/compat/Co2Widget/CO2Efficiency.styl +219 -0
  52. package/compat/Co2Widget/CO2Efficiency.tsx +93 -0
  53. package/compat/ContactInfo/ContactInfo.styl +22 -0
  54. package/compat/ContactInfo/ContactInfo.tsx +161 -0
  55. package/compat/ContactInfo/TemporaryTranslation.ts +11 -0
  56. package/compat/CookieModal/CookieModal.tsx +49 -0
  57. package/compat/CookieModal/Modal.tsx +43 -0
  58. package/compat/CookieModal/ModalsConfig.tsx +23 -0
  59. package/compat/CookieModal/modals/ManageCookieModal/ManageCookieModal.styl +87 -0
  60. package/compat/CookieModal/modals/ManageCookieModal/ManageCookieModal.tsx +184 -0
  61. package/compat/CookieModal/modals/PreviewCookieModal/PreviewCookieModal.styl +67 -0
  62. package/compat/CookieModal/modals/PreviewCookieModal/PreviewCookieModal.tsx +51 -0
  63. package/compat/CookieModal/modals/TestModal.tsx +7 -0
  64. package/compat/CookieModal/useModal.ts +13 -0
  65. package/compat/CustomerQuote/CustomerQuote.styl +80 -0
  66. package/compat/CustomerQuote/CustomerQuote.tsx +68 -0
  67. package/compat/CustomerQuotesSlider/CustomerQuotesSlider.styl +46 -0
  68. package/compat/CustomerQuotesSlider/CustomerQuotesSlider.tsx +79 -0
  69. package/compat/CustomerQuotesSlider/SliderArrow.tsx +20 -0
  70. package/compat/CustomerQuotesSlider/slider.global.styl +2 -0
  71. package/compat/ExpansionPanel/ExpansionPanel.tsx +68 -0
  72. package/compat/FirstInfoBlock/FirstInfoBlock.styl +33 -0
  73. package/compat/FirstInfoBlock/FirstInfoBlock.tsx +49 -0
  74. package/compat/FirstInfoBlock/FirstInfoBlockItem/FirstInfoBlockItem.styl +66 -0
  75. package/compat/FirstInfoBlock/FirstInfoBlockItem/FirstInfoBlockItem.tsx +21 -0
  76. package/compat/FormattedNumber/FormattedNumber.styl +2 -0
  77. package/compat/FormattedNumber/FormattedNumber.tsx +90 -0
  78. package/compat/IconContainer/IconContainer.styl +23 -0
  79. package/compat/IconContainer/IconContainer.tsx +34 -0
  80. package/compat/Image/Image.styl +109 -0
  81. package/compat/Image/Image.tsx +302 -0
  82. package/compat/ImageSettings/EditableOptionsTable/CustomCheckbox/CustomCheckbox.styl +7 -0
  83. package/compat/ImageSettings/EditableOptionsTable/CustomCheckbox/CustomCheckbox.tsx +30 -0
  84. package/compat/ImageSettings/EditableOptionsTable/EditableOptionsTable.styl +122 -0
  85. package/compat/ImageSettings/EditableOptionsTable/EditableOptionsTable.tsx +199 -0
  86. package/compat/ImageSettings/EditableOptionsTable/ImageIcon/ImageIcon.styl +3 -0
  87. package/compat/ImageSettings/EditableOptionsTable/ImageIcon/ImageIcon.tsx +15 -0
  88. package/compat/ImageSettings/OptionsTable/OptionsTable.styl +47 -0
  89. package/compat/ImageSettings/OptionsTable/OptionsTable.tsx +122 -0
  90. package/compat/ImageSettings/PricePlan/PricePlan.styl +63 -0
  91. package/compat/ImageSettings/PricePlan/PricePlan.tsx +32 -0
  92. package/compat/ImageSettings/index.ts +42 -0
  93. package/compat/ImagesSet/ImagesSet.styl +28 -0
  94. package/compat/ImagesSet/ImagesSet.tsx +76 -0
  95. package/compat/InfoBlockWrapper/InfoBlockWrapper.styl +41 -0
  96. package/compat/InfoBlockWrapper/InfoBlockWrapper.tsx +46 -0
  97. package/compat/Loader/Loader.styl +39 -0
  98. package/compat/Loader/Loader.tsx +32 -0
  99. package/compat/MagnifyGlass/MagnifyGlass.styl +33 -0
  100. package/compat/MagnifyGlass/MagnifyGlass.tsx +213 -0
  101. package/compat/MdAccordionGroup/MdAccordionGroup.tsx +53 -0
  102. package/compat/MdCheckbox/MdCheckbox.tsx +69 -0
  103. package/compat/MdField/MdField.tsx +100 -0
  104. package/compat/MdSelect/MdSelect.tsx +103 -0
  105. package/compat/MdSwitch/MdSwitch.tsx +29 -0
  106. package/compat/MdTabs/MdTabs.tsx +47 -0
  107. package/compat/MdTooltip/MdTooltip.tsx +31 -0
  108. package/compat/OfferDetailedSection/OfferDetailedSection.styl +31 -0
  109. package/compat/OfferDetailedSection/OfferDetailedSection.tsx +100 -0
  110. package/compat/OfferDetailedSection/partials/PanelConfig.styl +132 -0
  111. package/compat/OfferDetailedSection/partials/PanelConfig.tsx +121 -0
  112. package/compat/OfferPanel/AboAccordion/AboAccordion.styl +25 -0
  113. package/compat/OfferPanel/AboAccordion/AboAccordion.tsx +128 -0
  114. package/compat/OfferPanel/AboAccordion/AboColorOptions/AboColorOptions.styl +12 -0
  115. package/compat/OfferPanel/AboAccordion/AboColorOptions/AboColorOptions.tsx +35 -0
  116. package/compat/OfferPanel/AboAccordion/AboFaq/AboFaq.styl +21 -0
  117. package/compat/OfferPanel/AboAccordion/AboFaq/AboFaq.tsx +25 -0
  118. package/compat/OfferPanel/AboAccordion/AboIncludedServices/AboIncludedServices.styl +14 -0
  119. package/compat/OfferPanel/AboAccordion/AboIncludedServices/AboIncludedServices.tsx +39 -0
  120. package/compat/OfferPanel/MuiOfferPeriod/MuiOfferPeriod.tsx +42 -0
  121. package/compat/OfferPanel/OfferCheckboxGroup/CheckboxContainer.tsx +140 -0
  122. package/compat/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.styl +144 -0
  123. package/compat/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.tsx +23 -0
  124. package/compat/OfferPanel/OfferPanel.styl +194 -0
  125. package/compat/OfferPanel/OfferPanel.tsx +81 -0
  126. package/compat/OfferPanel/OfferPeriod/OfferPeriod.styl +25 -0
  127. package/compat/OfferPanel/OfferPeriod/OfferPeriod.tsx +45 -0
  128. package/compat/OfferPanel/RangeGroup/RangeGroup.tsx +39 -0
  129. package/compat/OfferRequestButtonWrapper/OfferRequestButtonWrapper.styl +120 -0
  130. package/compat/OfferRequestButtonWrapper/OfferRequestButtonWrapper.styled.tsx +33 -0
  131. package/compat/OfferRequestButtonWrapper/OfferRequestButtonWrapper.tsx +122 -0
  132. package/compat/PriceRating/PriceRating.styl +47 -0
  133. package/compat/PriceRating/PriceRating.tsx +64 -0
  134. package/compat/PriceRatingDetailed/PriceRatingDetailed.styl +120 -0
  135. package/compat/PriceRatingDetailed/PriceRatingDetailed.tsx +191 -0
  136. package/compat/PricingToolBlock/PricingTool.styl +7 -0
  137. package/compat/PricingToolBlock/PricingTool.tsx +29 -0
  138. package/compat/Radio/Radio.styl +115 -0
  139. package/compat/Radio/Radio.tsx +141 -0
  140. package/compat/Radio/RadioGroup.styl +5 -0
  141. package/compat/Radio/RadioGroup.tsx +65 -0
  142. package/compat/Range/Range.tsx +79 -0
  143. package/compat/RateSearchValue/RateSearchValue.styl +22 -0
  144. package/compat/RateSearchValue/RateSearchValue.tsx +55 -0
  145. package/compat/RateSearchWidget/RateSearchWidget.styl +107 -0
  146. package/compat/RateSearchWidget/RateSearchWidget.tsx +163 -0
  147. package/compat/ServiceBlockItem/ServiceBlockItem.styl +48 -0
  148. package/compat/ServiceBlockItem/ServiceBlockItem.tsx +25 -0
  149. package/compat/SkeletonItem/SkeletonItem.styl +81 -0
  150. package/compat/SkeletonItem/SkeletonItem.tsx +80 -0
  151. package/compat/StarButton/StarButton.styl +39 -0
  152. package/compat/StarButton/StarButton.tsx +31 -0
  153. package/compat/TabPanel/TabPanel.tsx +29 -0
  154. package/compat/TimePicker/TimePicker.styl +23 -0
  155. package/compat/TimePicker/TimePicker.tsx +156 -0
  156. package/compat/Tooltip/Tooltip.styl +117 -0
  157. package/compat/Tooltip/Tooltip.tsx +63 -0
  158. package/compat/Usp/Usp.styl +78 -0
  159. package/compat/Usp/Usp.tsx +30 -0
  160. package/compat/Usp/uspTranslate.ts +12 -0
  161. package/compat/VehicleDetailedSidebar/VehicleDetailedSidebar.styl +37 -0
  162. package/compat/VehicleDetailedSidebar/VehicleDetailedSidebar.tsx +178 -0
  163. package/compat/VehicleDetailedSidebar/partials/Price.styl +27 -0
  164. package/compat/VehicleDetailedSidebar/partials/Price.tsx +41 -0
  165. package/compat/VehicleDetailedSidebar/partials/PriceContent.styl +124 -0
  166. package/compat/VehicleDetailedSidebar/partials/PriceContent.tsx +128 -0
  167. package/compat/VehicleDetailedSidebar/partials/Properties.styl +58 -0
  168. package/compat/VehicleDetailedSidebar/partials/Properties.tsx +155 -0
  169. package/compat/VehicleDetailedSidebar/partials/Title.styl +35 -0
  170. package/compat/VehicleDetailedSidebar/partials/Title.tsx +33 -0
  171. package/compat/VehicleDetailedSlider/VehicleDetailedSlider.styl +147 -0
  172. package/compat/VehicleDetailedSlider/VehicleDetailedSlider.tsx +382 -0
  173. package/compat/VehicleDetailedSlider/partials/MobileStast.tsx +61 -0
  174. package/compat/VehicleDetailedSlider/partials/MobileStats.styl +71 -0
  175. package/compat/VehicleDetailedSlider/partials/PriceData.styl +51 -0
  176. package/compat/VehicleDetailedSlider/partials/PriceData.tsx +67 -0
  177. package/compat/VehicleDetailedSlider/partials/Stats.styl +80 -0
  178. package/compat/VehicleDetailedSlider/partials/Stats.tsx +62 -0
  179. package/compat/VehicleDetailedSlider/partials/Title.styl +45 -0
  180. package/compat/VehicleDetailedSlider/partials/Title.tsx +36 -0
  181. package/compat/VehicleFormattedPrice/VehicleFormattedPrice.styl +149 -0
  182. package/compat/VehicleFormattedPrice/VehicleFormattedPrice.tsx +163 -0
  183. package/compat/VehicleSlider/VehicleSlider.styl +63 -0
  184. package/compat/VehicleSlider/VehicleSlider.tsx +125 -0
  185. package/compat/VehicleSlider/VehicleSliderForSRL.tsx +175 -0
  186. package/compat/VehicleSmallCard/SeoText/SeoText.styl +8 -0
  187. package/compat/VehicleSmallCard/SeoText/SeoText.tsx +16 -0
  188. package/compat/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.styl +204 -0
  189. package/compat/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx +199 -0
  190. package/compat/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.styl +273 -0
  191. package/compat/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.tsx +179 -0
  192. package/compat/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.styl +165 -0
  193. package/compat/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.tsx +299 -0
  194. package/compat/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.styl +33 -0
  195. package/compat/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.tsx +35 -0
  196. package/compat/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.styl +136 -0
  197. package/compat/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.tsx +91 -0
  198. package/compat/VehicleSmallCard/VehicleSmallCard.styl +310 -0
  199. package/compat/VehicleSmallCard/VehicleSmallCard.tsx +448 -0
  200. package/compat/index.ts +77 -0
  201. package/compat/legacy-theme/mixins.styl +93 -0
  202. package/compat/legacy-theme/priceReviewColors.styl +12 -0
  203. package/compat/legacy-theme/slider.global.styl +5 -0
  204. package/compat/legacy-theme/theme.styl +136 -0
  205. package/compat/withLabel/withLabel.styl +33 -0
  206. package/compat/withLabel/withLabel.tsx +44 -0
  207. package/compat/withStats/withStats.styl +174 -0
  208. package/compat/withStats/withStats.tsx +238 -0
  209. package/constants/RateSearchWidget.ts +15 -0
  210. package/constants/Search.ts +290 -0
  211. package/constants/SearchWidget.ts +108 -0
  212. package/constants/app.ts +223 -0
  213. package/constants/common.ts +127 -0
  214. package/constants/core.ts +131 -0
  215. package/constants/highlights.ts +165 -0
  216. package/constants/price.ts +9 -0
  217. package/constants/selectors.ts +38 -0
  218. package/constants.ts +91 -0
  219. package/data/DataTransformers.ts +88 -0
  220. package/data/fieldMapping.ts +342 -0
  221. package/data/toAutobahnCar.ts +442 -0
  222. package/iconsvg/IconSVG.tsx +30 -0
  223. package/iconsvg/IconSVGConfig.tsx +768 -0
  224. package/iconsvg/SVG/AboPartner.tsx +16 -0
  225. package/iconsvg/SVG/ArrowQuotes.tsx +22 -0
  226. package/iconsvg/SVG/CloseIcon.tsx +17 -0
  227. package/iconsvg/SVG/CloseIconSelect.tsx +18 -0
  228. package/iconsvg/SVG/ClosedLockIcon.tsx +18 -0
  229. package/iconsvg/SVG/DealerCheckIcon.tsx +18 -0
  230. package/iconsvg/SVG/DealerPopoverMail.tsx +21 -0
  231. package/iconsvg/SVG/DealerPopoverPhone.tsx +21 -0
  232. package/iconsvg/SVG/GrayPhoneIcon.tsx +22 -0
  233. package/iconsvg/SVG/InternetIcon.tsx +18 -0
  234. package/iconsvg/SVG/WhiteEnvelopeIcon.tsx +21 -0
  235. package/iconsvg/SVG/bodyType/Cabrio.tsx +23 -0
  236. package/iconsvg/SVG/bodyType/Coupe.tsx +22 -0
  237. package/iconsvg/SVG/bodyType/Minibus.tsx +22 -0
  238. package/iconsvg/SVG/bodyType/Other.tsx +25 -0
  239. package/iconsvg/SVG/bodyType/Sedan.tsx +22 -0
  240. package/iconsvg/SVG/bodyType/SelectorCategoryCombi.tsx +68 -0
  241. package/iconsvg/SVG/bodyType/SelectorCategoryCompact.tsx +20 -0
  242. package/iconsvg/SVG/bodyType/SelectorCategoryConvertible.tsx +68 -0
  243. package/iconsvg/SVG/bodyType/SelectorCategoryCoupe.tsx +60 -0
  244. package/iconsvg/SVG/bodyType/SelectorCategoryMinibus.tsx +64 -0
  245. package/iconsvg/SVG/bodyType/SelectorCategoryOther.tsx +60 -0
  246. package/iconsvg/SVG/bodyType/SelectorCategorySedan.tsx +69 -0
  247. package/iconsvg/SVG/bodyType/SelectorCategorySuv.tsx +77 -0
  248. package/iconsvg/SVG/bodyType/SelectorCategoryTransporter.tsx +68 -0
  249. package/iconsvg/SVG/bodyType/SelectorCategoryVan.tsx +72 -0
  250. package/iconsvg/SVG/bodyType/Small.tsx +23 -0
  251. package/iconsvg/SVG/bodyType/Suv.tsx +23 -0
  252. package/iconsvg/SVG/bodyType/Van.tsx +23 -0
  253. package/iconsvg/SVG/bodyType/Wagon.tsx +23 -0
  254. package/iconsvg/SVG/common/AddIcon.tsx +16 -0
  255. package/iconsvg/SVG/common/AddPlus.tsx +16 -0
  256. package/iconsvg/SVG/common/AddressDashboard.tsx +29 -0
  257. package/iconsvg/SVG/common/AddressIcon.tsx +20 -0
  258. package/iconsvg/SVG/common/ArrowDetailedAccordionBlue.tsx +26 -0
  259. package/iconsvg/SVG/common/ArrowDownBlue.tsx +21 -0
  260. package/iconsvg/SVG/common/ArrowSelect.tsx +23 -0
  261. package/iconsvg/SVG/common/ArrowStepDown.tsx +18 -0
  262. package/iconsvg/SVG/common/Autocheck.tsx +19 -0
  263. package/iconsvg/SVG/common/AutodeLogo.tsx +36 -0
  264. package/iconsvg/SVG/common/Avatar.tsx +17 -0
  265. package/iconsvg/SVG/common/BellGray.tsx +19 -0
  266. package/iconsvg/SVG/common/BigInfoTransparent.tsx +13 -0
  267. package/iconsvg/SVG/common/Browse.tsx +20 -0
  268. package/iconsvg/SVG/common/Calendar.tsx +24 -0
  269. package/iconsvg/SVG/common/CallbackDashboard.tsx +30 -0
  270. package/iconsvg/SVG/common/Camera.tsx +17 -0
  271. package/iconsvg/SVG/common/Car.tsx +16 -0
  272. package/iconsvg/SVG/common/CarBody.tsx +19 -0
  273. package/iconsvg/SVG/common/CarFront.tsx +43 -0
  274. package/iconsvg/SVG/common/CarInspectionCheck.tsx +21 -0
  275. package/iconsvg/SVG/common/CarInspectionScheme0.tsx +32 -0
  276. package/iconsvg/SVG/common/CarInspectionScheme1.tsx +53 -0
  277. package/iconsvg/SVG/common/CarInspectionScheme2.tsx +52 -0
  278. package/iconsvg/SVG/common/CarInspectionScheme3.tsx +32 -0
  279. package/iconsvg/SVG/common/CarInspectionScheme4.tsx +32 -0
  280. package/iconsvg/SVG/common/CarInspectionScheme5.tsx +32 -0
  281. package/iconsvg/SVG/common/CarInspectionScheme6.tsx +32 -0
  282. package/iconsvg/SVG/common/CarInspectionSchemeGeneral copy.tsx +24 -0
  283. package/iconsvg/SVG/common/CarInspectionSchemeGeneral.tsx +24 -0
  284. package/iconsvg/SVG/common/CheckBlue.tsx +18 -0
  285. package/iconsvg/SVG/common/CheckGreen.tsx +22 -0
  286. package/iconsvg/SVG/common/CheckMark.tsx +16 -0
  287. package/iconsvg/SVG/common/CheckWhite.tsx +19 -0
  288. package/iconsvg/SVG/common/Chevron.tsx +17 -0
  289. package/iconsvg/SVG/common/CircledCheckmark.tsx +25 -0
  290. package/iconsvg/SVG/common/Clock.tsx +18 -0
  291. package/iconsvg/SVG/common/Close.tsx +19 -0
  292. package/iconsvg/SVG/common/CloseGrey.tsx +22 -0
  293. package/iconsvg/SVG/common/ContactEmail.tsx +21 -0
  294. package/iconsvg/SVG/common/ContactPhone.tsx +28 -0
  295. package/iconsvg/SVG/common/CopyIcon copy.tsx +22 -0
  296. package/iconsvg/SVG/common/CopyIcon.tsx +22 -0
  297. package/iconsvg/SVG/common/CopyIconForDealer.tsx +21 -0
  298. package/iconsvg/SVG/common/DashboardIcon.tsx +20 -0
  299. package/iconsvg/SVG/common/DashboardQuestionMark.tsx +20 -0
  300. package/iconsvg/SVG/common/DealersIcon.tsx +20 -0
  301. package/iconsvg/SVG/common/DeleteCircle.tsx +31 -0
  302. package/iconsvg/SVG/common/DeleteV1Icon.tsx +18 -0
  303. package/iconsvg/SVG/common/DeliveryDashboard.tsx +25 -0
  304. package/iconsvg/SVG/common/DeliveryMail.tsx +24 -0
  305. package/iconsvg/SVG/common/Discount100De.tsx +18 -0
  306. package/iconsvg/SVG/common/Discount100En.tsx +19 -0
  307. package/iconsvg/SVG/common/Discount66De.tsx +28 -0
  308. package/iconsvg/SVG/common/Discount66En.tsx +20 -0
  309. package/iconsvg/SVG/common/DoneIcon.tsx +18 -0
  310. package/iconsvg/SVG/common/EditCircle.tsx +32 -0
  311. package/iconsvg/SVG/common/EditPriceIcon.tsx +20 -0
  312. package/iconsvg/SVG/common/EuroCurrency.tsx +18 -0
  313. package/iconsvg/SVG/common/Export.tsx +20 -0
  314. package/iconsvg/SVG/common/Eye.tsx +17 -0
  315. package/iconsvg/SVG/common/EyeCatch.tsx +19 -0
  316. package/iconsvg/SVG/common/FavoritesIcon.tsx +20 -0
  317. package/iconsvg/SVG/common/FilterRange.tsx +16 -0
  318. package/iconsvg/SVG/common/FilterToolBlack.tsx +23 -0
  319. package/iconsvg/SVG/common/FlagDe.tsx +21 -0
  320. package/iconsvg/SVG/common/FlagEn.tsx +43 -0
  321. package/iconsvg/SVG/common/GrayEnvelopeIcon.tsx +19 -0
  322. package/iconsvg/SVG/common/HamburgerMenuIcon.tsx +18 -0
  323. package/iconsvg/SVG/common/HandingOverDashboard.tsx +32 -0
  324. package/iconsvg/SVG/common/ImageSettingsIcon.tsx +20 -0
  325. package/iconsvg/SVG/common/Info.tsx +16 -0
  326. package/iconsvg/SVG/common/InfoIcon.tsx +17 -0
  327. package/iconsvg/SVG/common/InfoTransparent.tsx +18 -0
  328. package/iconsvg/SVG/common/LogoutIcon.tsx +20 -0
  329. package/iconsvg/SVG/common/MagnifyingGlass.tsx +31 -0
  330. package/iconsvg/SVG/common/MenuArrow.tsx +16 -0
  331. package/iconsvg/SVG/common/MenuGrey.tsx +22 -0
  332. package/iconsvg/SVG/common/MobileDeLogo.tsx +108 -0
  333. package/iconsvg/SVG/common/MyOrderIcon.tsx +20 -0
  334. package/iconsvg/SVG/common/MyVehiclesIcon.tsx +20 -0
  335. package/iconsvg/SVG/common/NewFlagDe.tsx +25 -0
  336. package/iconsvg/SVG/common/NewFlagEn.tsx +34 -0
  337. package/iconsvg/SVG/common/OrderReceivedDashboard.tsx +27 -0
  338. package/iconsvg/SVG/common/Package.tsx +30 -0
  339. package/iconsvg/SVG/common/Phone.tsx +18 -0
  340. package/iconsvg/SVG/common/PhoneGrey.tsx +22 -0
  341. package/iconsvg/SVG/common/PickupDashboard.tsx +30 -0
  342. package/iconsvg/SVG/common/Picture.tsx +24 -0
  343. package/iconsvg/SVG/common/Pictures.tsx +32 -0
  344. package/iconsvg/SVG/common/Plus.tsx +16 -0
  345. package/iconsvg/SVG/common/PlusNew.tsx +16 -0
  346. package/iconsvg/SVG/common/PreparationDashboard.tsx +29 -0
  347. package/iconsvg/SVG/common/ProfileDashboard.tsx +24 -0
  348. package/iconsvg/SVG/common/ProfileIcon.tsx +17 -0
  349. package/iconsvg/SVG/common/Question.tsx +19 -0
  350. package/iconsvg/SVG/common/QuestionBold.tsx +25 -0
  351. package/iconsvg/SVG/common/RegistrationDashboard.tsx +31 -0
  352. package/iconsvg/SVG/common/SavedSearchsIcon.tsx +20 -0
  353. package/iconsvg/SVG/common/Search.tsx +19 -0
  354. package/iconsvg/SVG/common/SearchGrey.tsx +22 -0
  355. package/iconsvg/SVG/common/SettingPenIcon.tsx +20 -0
  356. package/iconsvg/SVG/common/Share.tsx +16 -0
  357. package/iconsvg/SVG/common/ShoppingCart.tsx +18 -0
  358. package/iconsvg/SVG/common/SliderArrow.tsx +21 -0
  359. package/iconsvg/SVG/common/SliderEye.tsx +17 -0
  360. package/iconsvg/SVG/common/SortUpDownArrows.tsx +18 -0
  361. package/iconsvg/SVG/common/Speedometer.tsx +23 -0
  362. package/iconsvg/SVG/common/Star.tsx +20 -0
  363. package/iconsvg/SVG/common/StarNew.tsx +16 -0
  364. package/iconsvg/SVG/common/StarOutline.tsx +20 -0
  365. package/iconsvg/SVG/common/StarRoundedCorners.tsx +18 -0
  366. package/iconsvg/SVG/common/Stats.tsx +17 -0
  367. package/iconsvg/SVG/common/Step1.tsx +21 -0
  368. package/iconsvg/SVG/common/Step2.tsx +20 -0
  369. package/iconsvg/SVG/common/Step3.tsx +21 -0
  370. package/iconsvg/SVG/common/SupportCallbackIcon.tsx +20 -0
  371. package/iconsvg/SVG/common/Telephone.tsx +22 -0
  372. package/iconsvg/SVG/common/Time.tsx +17 -0
  373. package/iconsvg/SVG/common/Timetable.tsx +18 -0
  374. package/iconsvg/SVG/common/Trash.tsx +22 -0
  375. package/iconsvg/SVG/common/TrashRed.tsx +23 -0
  376. package/iconsvg/SVG/common/Upload.tsx +17 -0
  377. package/iconsvg/SVG/common/UserGrey.tsx +22 -0
  378. package/iconsvg/SVG/common/UserProfileIcon.tsx +20 -0
  379. package/iconsvg/SVG/common/ValidateFailure.tsx +21 -0
  380. package/iconsvg/SVG/common/ValidateSuccess.tsx +21 -0
  381. package/iconsvg/SVG/common/WarningTriangle.tsx +20 -0
  382. package/iconsvg/SVG/common/WhiteArrowUp.tsx +21 -0
  383. package/iconsvg/SVG/common/WhiteKey.tsx +21 -0
  384. package/iconsvg/SVG/common/WhitePeople.tsx +23 -0
  385. package/iconsvg/SVG/common/WhiteTick.tsx +19 -0
  386. package/iconsvg/SVG/flags/AT.tsx +19 -0
  387. package/iconsvg/SVG/flags/BE.tsx +20 -0
  388. package/iconsvg/SVG/flags/BG.tsx +20 -0
  389. package/iconsvg/SVG/flags/CH.tsx +22 -0
  390. package/iconsvg/SVG/flags/CZ.tsx +18 -0
  391. package/iconsvg/SVG/flags/DE.tsx +18 -0
  392. package/iconsvg/SVG/flags/DK.tsx +18 -0
  393. package/iconsvg/SVG/flags/ES.tsx +2585 -0
  394. package/iconsvg/SVG/flags/FI.tsx +18 -0
  395. package/iconsvg/SVG/flags/FR.tsx +20 -0
  396. package/iconsvg/SVG/flags/GB.tsx +26 -0
  397. package/iconsvg/SVG/flags/HR.tsx +135 -0
  398. package/iconsvg/SVG/flags/HU.tsx +20 -0
  399. package/iconsvg/SVG/flags/IT.tsx +20 -0
  400. package/iconsvg/SVG/flags/LI.tsx +106 -0
  401. package/iconsvg/SVG/flags/LU.tsx +18 -0
  402. package/iconsvg/SVG/flags/NL.tsx +18 -0
  403. package/iconsvg/SVG/flags/NO.tsx +20 -0
  404. package/iconsvg/SVG/flags/PL.tsx +19 -0
  405. package/iconsvg/SVG/flags/RO.tsx +20 -0
  406. package/iconsvg/SVG/flags/RU.tsx +20 -0
  407. package/iconsvg/SVG/flags/SE.tsx +20 -0
  408. package/iconsvg/SVG/flags/SI.tsx +54 -0
  409. package/iconsvg/SVG/flags/SK.tsx +34 -0
  410. package/iconsvg/SVG/flags/UA.tsx +19 -0
  411. package/iconsvg/SVG/infoBlocks/14DaysReturnPolicy.tsx +18 -0
  412. package/iconsvg/SVG/infoBlocks/AlertInfo.tsx +19 -0
  413. package/iconsvg/SVG/infoBlocks/Autocheck.tsx +19 -0
  414. package/iconsvg/SVG/infoBlocks/CheckTheStory.tsx +22 -0
  415. package/iconsvg/SVG/infoBlocks/CustomerServiceWhite.tsx +16 -0
  416. package/iconsvg/SVG/infoBlocks/Guarantee.tsx +16 -0
  417. package/iconsvg/SVG/infoBlocks/OrderWhite.tsx +13 -0
  418. package/iconsvg/SVG/infoBlocks/PriceGuarantee.tsx +19 -0
  419. package/iconsvg/SVG/infoBlocks/PriceGuaranteeWhite.tsx +17 -0
  420. package/iconsvg/SVG/infoBlocks/TransportAndDelivery.tsx +21 -0
  421. package/iconsvg/SVG/infoBlocks/Warranty.tsx +23 -0
  422. package/iconsvg/SVG/popower/Mail.tsx +18 -0
  423. package/iconsvg/SVG/popower/Phone.tsx +19 -0
  424. package/iconsvg/SVG/popower/Schedule.tsx +18 -0
  425. package/iconsvg/SVG/searchWidgets/drive/AAllWheelDrive.tsx +26 -0
  426. package/iconsvg/SVG/searchWidgets/drive/AllWheelDrive.tsx +26 -0
  427. package/iconsvg/SVG/searchWidgets/drive/FrontWheelDrive.tsx +25 -0
  428. package/iconsvg/SVG/searchWidgets/drive/OtherWheelDrive.tsx +26 -0
  429. package/iconsvg/SVG/searchWidgets/drive/RearWheelDrive.tsx +25 -0
  430. package/iconsvg/SVG/searchWidgets/fuel/FuelDiesel.tsx +18 -0
  431. package/iconsvg/SVG/searchWidgets/fuel/FuelElectrical.tsx +19 -0
  432. package/iconsvg/SVG/searchWidgets/fuel/FuelElectricalDiesel.tsx +34 -0
  433. package/iconsvg/SVG/searchWidgets/fuel/FuelElectricalPetrol.tsx +20 -0
  434. package/iconsvg/SVG/searchWidgets/fuel/FuelEthanol.tsx +53 -0
  435. package/iconsvg/SVG/searchWidgets/fuel/FuelHydrogen.tsx +24 -0
  436. package/iconsvg/SVG/searchWidgets/fuel/FuelLpg.tsx +24 -0
  437. package/iconsvg/SVG/searchWidgets/fuel/FuelNaturalGas.tsx +23 -0
  438. package/iconsvg/SVG/searchWidgets/fuel/FuelOther.tsx +28 -0
  439. package/iconsvg/SVG/searchWidgets/fuel/FuelPetrol.tsx +18 -0
  440. package/iconsvg/SVG/settings/Account.tsx +17 -0
  441. package/iconsvg/SVG/settings/DataUsage.tsx +17 -0
  442. package/iconsvg/SVG/settings/MarketResearch.tsx +17 -0
  443. package/iconsvg/SVG/settings/Newsletter.tsx +17 -0
  444. package/iconsvg/SVG/settings/RemoveEye.tsx +17 -0
  445. package/iconsvg/SVG/settings/RemoveEyeOff.tsx +17 -0
  446. package/iconsvg/SVG/settings/Security.tsx +17 -0
  447. package/iconsvg/SVG/settings/Warning.tsx +17 -0
  448. package/iconsvg/SVG/slider/360.tsx +23 -0
  449. package/iconsvg/SVG/slider/360New.tsx +20 -0
  450. package/iconsvg/SVG/slider/Checked.tsx +19 -0
  451. package/iconsvg/SVG/slider/DiscountRibbon.tsx +51 -0
  452. package/iconsvg/SVG/slider/DiscountRibbonMobile.tsx +47 -0
  453. package/iconsvg/SVG/slider/DiscountRibbonNew.tsx +29 -0
  454. package/iconsvg/SVG/slider/Easy.tsx +19 -0
  455. package/iconsvg/SVG/slider/Fullscreen.tsx +16 -0
  456. package/iconsvg/SVG/slider/FullscreenWindow.tsx +23 -0
  457. package/iconsvg/SVG/slider/Safe.tsx +19 -0
  458. package/iconsvg/SVG/slider/ToBuy.tsx +19 -0
  459. package/iconsvg/SVG/slider/YoutubeButton.tsx +26 -0
  460. package/iconsvg/SVG/slider/ZoomIn.tsx +21 -0
  461. package/iconsvg/SVG/slider/ZoomOut.tsx +21 -0
  462. package/iconsvg/SVG/social/AndroidLogo.tsx +18 -0
  463. package/iconsvg/SVG/social/Apple.tsx +19 -0
  464. package/iconsvg/SVG/social/FacebookF.tsx +19 -0
  465. package/iconsvg/SVG/social/GooglePlusG.tsx +19 -0
  466. package/iconsvg/SVG/social/Instagram.tsx +17 -0
  467. package/iconsvg/SVG/social/Pinterest.tsx +19 -0
  468. package/iconsvg/SVG/social/SharingInterface.tsx +21 -0
  469. package/iconsvg/SVG/social/Twitter.tsx +19 -0
  470. package/iconsvg/SVG/social/Youtube.tsx +19 -0
  471. package/iconsvg/SVG/vehicle/AboIcon.tsx +11 -0
  472. package/iconsvg/SVG/vehicle/Abs.tsx +24 -0
  473. package/iconsvg/SVG/vehicle/AirCond.tsx +34 -0
  474. package/iconsvg/SVG/vehicle/Airbag.tsx +21 -0
  475. package/iconsvg/SVG/vehicle/AuxiliaryHeating.tsx +23 -0
  476. package/iconsvg/SVG/vehicle/Bluetooth.tsx +22 -0
  477. package/iconsvg/SVG/vehicle/BuyIcon.tsx +15 -0
  478. package/iconsvg/SVG/vehicle/CarAvailability.tsx +22 -0
  479. package/iconsvg/SVG/vehicle/CarInspectionCheck.tsx +21 -0
  480. package/iconsvg/SVG/vehicle/CarInspectionCross.tsx +21 -0
  481. package/iconsvg/SVG/vehicle/CheckoutChecked.tsx +15 -0
  482. package/iconsvg/SVG/vehicle/Co2.tsx +24 -0
  483. package/iconsvg/SVG/vehicle/CruiseControl.tsx +25 -0
  484. package/iconsvg/SVG/vehicle/Date.tsx +21 -0
  485. package/iconsvg/SVG/vehicle/Delivery.tsx +12 -0
  486. package/iconsvg/SVG/vehicle/Diesel.tsx +28 -0
  487. package/iconsvg/SVG/vehicle/Display.tsx +25 -0
  488. package/iconsvg/SVG/vehicle/Done.tsx +11 -0
  489. package/iconsvg/SVG/vehicle/Door.tsx +19 -0
  490. package/iconsvg/SVG/vehicle/DoubleDone.tsx +18 -0
  491. package/iconsvg/SVG/vehicle/EditIcon.tsx +11 -0
  492. package/iconsvg/SVG/vehicle/EmergencyBrakeAssistant.tsx +27 -0
  493. package/iconsvg/SVG/vehicle/Eps.tsx +24 -0
  494. package/iconsvg/SVG/vehicle/Esp.tsx +24 -0
  495. package/iconsvg/SVG/vehicle/FinancingIcon.tsx +20 -0
  496. package/iconsvg/SVG/vehicle/FuelConsumption.tsx +20 -0
  497. package/iconsvg/SVG/vehicle/Fueling.tsx +22 -0
  498. package/iconsvg/SVG/vehicle/FullDrive.tsx +24 -0
  499. package/iconsvg/SVG/vehicle/GasElectric.tsx +28 -0
  500. package/iconsvg/SVG/vehicle/HandsFreePhoneSystem.tsx +24 -0
  501. package/iconsvg/SVG/vehicle/Kw.tsx +23 -0
  502. package/iconsvg/SVG/vehicle/LastCrawledAt.tsx +22 -0
  503. package/iconsvg/SVG/vehicle/LeasingIcon.tsx +14 -0
  504. package/iconsvg/SVG/vehicle/Led.tsx +24 -0
  505. package/iconsvg/SVG/vehicle/LightSensor.tsx +22 -0
  506. package/iconsvg/SVG/vehicle/LinkAlternative.tsx +15 -0
  507. package/iconsvg/SVG/vehicle/Location.tsx +17 -0
  508. package/iconsvg/SVG/vehicle/MinusIcon.tsx +11 -0
  509. package/iconsvg/SVG/vehicle/Mirror.tsx +19 -0
  510. package/iconsvg/SVG/vehicle/Navigation.tsx +27 -0
  511. package/iconsvg/SVG/vehicle/NewCar.tsx +21 -0
  512. package/iconsvg/SVG/vehicle/NoImage.tsx +17 -0
  513. package/iconsvg/SVG/vehicle/Owner.tsx +18 -0
  514. package/iconsvg/SVG/vehicle/PanoramicRoof.tsx +23 -0
  515. package/iconsvg/SVG/vehicle/ParkingAssistants.tsx +24 -0
  516. package/iconsvg/SVG/vehicle/PickYourself.tsx +18 -0
  517. package/iconsvg/SVG/vehicle/PlusIcon.tsx +11 -0
  518. package/iconsvg/SVG/vehicle/Power.tsx +21 -0
  519. package/iconsvg/SVG/vehicle/Ps.tsx +19 -0
  520. package/iconsvg/SVG/vehicle/Question.tsx +24 -0
  521. package/iconsvg/SVG/vehicle/Seats.tsx +21 -0
  522. package/iconsvg/SVG/vehicle/SeatsHeating.tsx +26 -0
  523. package/iconsvg/SVG/vehicle/SelectorGearboxAutomatic.tsx +24 -0
  524. package/iconsvg/SVG/vehicle/SelectorGearboxManualShift.tsx +19 -0
  525. package/iconsvg/SVG/vehicle/SelectorGearboxOther.tsx +24 -0
  526. package/iconsvg/SVG/vehicle/SelectorGearboxSemiAutomatic.tsx +30 -0
  527. package/iconsvg/SVG/vehicle/SelectorInteriorTypeAlcantara.tsx +225 -0
  528. package/iconsvg/SVG/vehicle/SelectorInteriorTypeFabric.tsx +29 -0
  529. package/iconsvg/SVG/vehicle/SelectorInteriorTypeFullLeather.tsx +29 -0
  530. package/iconsvg/SVG/vehicle/SelectorInteriorTypeOther.tsx +26 -0
  531. package/iconsvg/SVG/vehicle/SelectorInteriorTypePartLeather.tsx +142 -0
  532. package/iconsvg/SVG/vehicle/SelectorInteriorTypeSyntheticLeather.tsx +27 -0
  533. package/iconsvg/SVG/vehicle/SelectorInteriorTypeVelours.tsx +39 -0
  534. package/iconsvg/SVG/vehicle/Shield.tsx +39 -0
  535. package/iconsvg/SVG/vehicle/Speedometer.tsx +17 -0
  536. package/iconsvg/SVG/vehicle/StartStopSystem.tsx +30 -0
  537. package/iconsvg/SVG/vehicle/Stop.tsx +25 -0
  538. package/iconsvg/SVG/vehicle/TickMark.tsx +21 -0
  539. package/iconsvg/SVG/vehicle/TrafficSignRecognition.tsx +29 -0
  540. package/iconsvg/SVG/vehicle/TrailerCoupling.tsx +24 -0
  541. package/iconsvg/SVG/vehicle/Transmission.tsx +27 -0
  542. package/iconsvg/SVG/vehicle/Wheel.tsx +43 -0
  543. package/iconsvg/SVG/vehicle/Wipers.tsx +22 -0
  544. package/iconsvg/SVG/vehicle/Wrench.tsx +17 -0
  545. package/iconsvg/index.ts +7 -0
  546. package/index.ts +18 -0
  547. package/locales/de/autobahn.json +671 -0
  548. package/locales/en/autobahn.json +671 -0
  549. package/locales/legacy/SearchDetailedPage.ts +205 -0
  550. package/locales/legacy/cbd.ts +719 -0
  551. package/locales/legacy/common.ts +109 -0
  552. package/locales/legacy/data.ts +1118 -0
  553. package/locales/legacy/priceRating.ts +10 -0
  554. package/locales/legacy/sortingOptions.ts +21 -0
  555. package/media/images/question.svg +1 -0
  556. package/media/images/raiting-stars-min.svg +7 -0
  557. package/media/images/refresh-button.svg +49 -0
  558. package/media/images/searchWidget/selector_emissionSticker_green.png +0 -0
  559. package/media/images/searchWidget/selector_emissionSticker_red.png +0 -0
  560. package/media/images/searchWidget/selector_emissionSticker_yellow.png +0 -0
  561. package/media/images/slider-arrow-new.svg +1 -0
  562. package/media/images/user-icon.svg +16 -0
  563. package/media/svg/common/eye.svg +1 -0
  564. package/media/svg/common/star.svg +1 -0
  565. package/media/svg/infoBlocks/whyAutodeIconSet-F.svg +9 -0
  566. package/media/svg/infoBlocks/whyAutodeIconSet-G.svg +8 -0
  567. package/media/svg/infoBlocks/whyAutodeIconSet-Q.svg +6 -0
  568. package/media/svg/infoBlocks/whyAutodeIconSet-R.svg +9 -0
  569. package/media/svg/usp/icon1.svg +16 -0
  570. package/media/svg/usp/icon2.svg +13 -0
  571. package/media/svg/usp/icon3.svg +10 -0
  572. package/media/svg/usp/icon4.svg +14 -0
  573. package/package.json +30 -0
  574. package/schemes/AggregationScheme.ts +73 -0
  575. package/searchFilters/filterOptions.ts +119 -0
  576. package/searchFilters/filterProps.ts +35 -0
  577. package/searchFilters/index.ts +15 -0
  578. package/theme/autobahn.css +25 -0
  579. package/theme/colors_and_type.css +113 -0
  580. package/theme/md3.css +2034 -0
  581. package/types/types.ts +374 -0
  582. package/types.ts +8 -0
  583. package/ui/Accordion.tsx +134 -0
  584. package/ui/Button.tsx +62 -0
  585. package/ui/CardCarousel.tsx +133 -0
  586. package/ui/Chip.tsx +29 -0
  587. package/ui/DatePicker.tsx +145 -0
  588. package/ui/Dropdown.tsx +205 -0
  589. package/ui/FileUpload.tsx +154 -0
  590. package/ui/FormCheckbox.tsx +79 -0
  591. package/ui/FormDropdown.tsx +327 -0
  592. package/ui/FormField.tsx +88 -0
  593. package/ui/FormRadio.tsx +93 -0
  594. package/ui/FormRadioGroup.tsx +106 -0
  595. package/ui/Icon.tsx +391 -0
  596. package/ui/IconButton.tsx +44 -0
  597. package/ui/Modal.tsx +187 -0
  598. package/ui/Pagination.tsx +140 -0
  599. package/ui/Price.tsx +25 -0
  600. package/ui/PriceEvalBar.tsx +48 -0
  601. package/ui/SaveChip.tsx +34 -0
  602. package/ui/Segmented.tsx +48 -0
  603. package/ui/Skeleton.tsx +75 -0
  604. package/ui/Spec.tsx +24 -0
  605. package/ui/Stars.tsx +29 -0
  606. package/ui/StatChip.tsx +21 -0
  607. package/ui/Stepper.tsx +106 -0
  608. package/ui/Switch.tsx +65 -0
  609. package/ui/Table.tsx +156 -0
  610. package/ui/Textarea.tsx +58 -0
  611. package/ui/index.ts +88 -0
  612. package/utils/CommonUtils.ts +649 -0
  613. package/utils/DateUtils.ts +101 -0
  614. package/utils/index.ts +74 -0
  615. package/utils/power.ts +11 -0
  616. package/utils/query.ts +21 -0
  617. package/vdp/FinanceCalculator.tsx +465 -0
  618. package/vdp/VdpModules.tsx +1490 -0
  619. package/vdp/VdpViewer.tsx +139 -0
  620. package/vdp/index.ts +75 -0
  621. package/vdp/types.ts +197 -0
  622. package/vehiclesProps/cbdSelectors.ts +117 -0
  623. package/vehiclesProps/decoratedLightProps.tsx +572 -0
  624. package/vehiclesProps/decoratedProps.tsx +1746 -0
  625. package/vehiclesProps/equipment.ts +129 -0
  626. package/vehiclesProps/vehicleDetails.ts +428 -0
  627. package/widgets/SearchBox.tsx +256 -0
  628. package/widgets/index.ts +5 -0
@@ -0,0 +1,139 @@
1
+ // Autobahn (auto.de redesign) — fullscreen gallery viewer ("full image view").
2
+ //
3
+ // Typed React 18 + TS port of `VdpViewer` from the design kit
4
+ // (docs/redesign/design-source/ui_kits/website/ScreenVDP.jsx). Light stage for the
5
+ // white studio photos: keyboard (←/→/Esc) + swipe nav, a thumbnail strip, and it
6
+ // locks page scroll while open.
7
+ //
8
+ // Pure / presentational: images arrive ALREADY RESOLVED (the design kit's
9
+ // `assetUrl(...)` lookup is the caller's job, matching CardCarousel) and the only
10
+ // inputs are props + callbacks. The keyboard / scroll-lock effect touches the
11
+ // document the way any focus-trapping modal must — there is no store / API /
12
+ // data access. Renders correctly only inside a `<div className="md3">` subtree.
13
+
14
+ import React, { useEffect, useRef, useState } from 'react';
15
+ import { TranslationFunction } from '../types';
16
+
17
+ import { Icon, IconButton } from '../ui';
18
+
19
+ export interface VdpViewerProps {
20
+ /** ready-to-use image URLs (already resolved by the caller). */
21
+ images: string[];
22
+ /** index to open on. */
23
+ start?: number;
24
+ /** fired when the viewer should close (Esc / close button). */
25
+ onClose: () => void;
26
+ /** i18n function (drilled from the page). */
27
+ t: TranslationFunction;
28
+ }
29
+
30
+ const VdpViewer: React.FunctionComponent<VdpViewerProps> = ({ images, start = 0, onClose, t }) => {
31
+ const [i, setI] = useState(start);
32
+ const n = images.length;
33
+ const go = (d: number) => setI((p) => (p + d + n) % n);
34
+
35
+ // Keyboard nav + scroll lock while the overlay is mounted. `go`/`onClose` are
36
+ // read from refs so the listener stays stable for the lifetime of the viewer.
37
+ const goRef = useRef(go);
38
+ goRef.current = go;
39
+ const closeRef = useRef(onClose);
40
+ closeRef.current = onClose;
41
+ useEffect(() => {
42
+ const onKey = (e: KeyboardEvent) => {
43
+ if (e.key === 'Escape') closeRef.current();
44
+ if (e.key === 'ArrowRight') goRef.current(1);
45
+ if (e.key === 'ArrowLeft') goRef.current(-1);
46
+ };
47
+ window.addEventListener('keydown', onKey);
48
+ const prev = document.body.style.overflow;
49
+ document.body.style.overflow = 'hidden';
50
+ return () => {
51
+ window.removeEventListener('keydown', onKey);
52
+ document.body.style.overflow = prev;
53
+ };
54
+ }, []);
55
+
56
+ const tx = useRef<number | null>(null);
57
+ return (
58
+ <div
59
+ style={{
60
+ position: 'fixed',
61
+ inset: 0,
62
+ zIndex: 200,
63
+ background: 'var(--md-surface)',
64
+ display: 'flex',
65
+ flexDirection: 'column',
66
+ }}
67
+ onTouchStart={(e) => {
68
+ tx.current = e.touches[0].clientX;
69
+ }}
70
+ onTouchEnd={(e) => {
71
+ if (tx.current == null) return;
72
+ const dx = e.changedTouches[0].clientX - tx.current;
73
+ tx.current = null;
74
+ if (Math.abs(dx) > 40) go(dx > 0 ? -1 : 1);
75
+ }}
76
+ >
77
+ <div
78
+ style={{
79
+ display: 'flex',
80
+ alignItems: 'center',
81
+ justifyContent: 'space-between',
82
+ padding: '12px 16px',
83
+ borderBottom: '1px solid var(--md-outline-variant)',
84
+ }}
85
+ >
86
+ <span className="num md-title-sm">
87
+ {i + 1} / {n}
88
+ </span>
89
+ <IconButton name="x" filled label={t('autobahn:viewer.closeLabel')} onClick={onClose} />
90
+ </div>
91
+ <div style={{ flex: 1, position: 'relative', minHeight: 0, background: '#fff' }}>
92
+ <img
93
+ src={images[i]}
94
+ alt=""
95
+ style={{ position: 'absolute', inset: 0, width: '100%', height: '100%', objectFit: 'contain' }}
96
+ />
97
+ <button
98
+ className="car-arrow car-arrow--l hide-mobile"
99
+ style={{ opacity: 1 }}
100
+ aria-label={t('autobahn:viewer.previousLabel')}
101
+ onClick={() => go(-1)}
102
+ >
103
+ <Icon name="chevron-left" size={22} />
104
+ </button>
105
+ <button
106
+ className="car-arrow car-arrow--r hide-mobile"
107
+ style={{ opacity: 1 }}
108
+ aria-label={t('autobahn:viewer.nextLabel')}
109
+ onClick={() => go(1)}
110
+ >
111
+ <Icon name="chevron-right" size={22} />
112
+ </button>
113
+ </div>
114
+ <div style={{ display: 'flex', justifyContent: 'center', gap: 8, padding: '12px 16px', flexWrap: 'wrap' }}>
115
+ {images.map((src, k) => (
116
+ <button
117
+ key={k}
118
+ onClick={() => setI(k)}
119
+ aria-label={t('autobahn:viewer.thumbnailLabel', { number: k + 1 })}
120
+ style={{
121
+ width: 64,
122
+ height: 44,
123
+ padding: 0,
124
+ borderRadius: 'var(--md-r-sm)',
125
+ overflow: 'hidden',
126
+ cursor: 'pointer',
127
+ border: k === i ? '2px solid var(--md-primary)' : '1px solid var(--md-outline-variant)',
128
+ background: '#fff',
129
+ }}
130
+ >
131
+ <img src={src} alt="" style={{ width: '100%', height: '100%', objectFit: 'cover' }} />
132
+ </button>
133
+ ))}
134
+ </div>
135
+ </div>
136
+ );
137
+ };
138
+
139
+ export default VdpViewer;
package/vdp/index.ts ADDED
@@ -0,0 +1,75 @@
1
+ // Autobahn (auto.de redesign) — Vehicle-Detail (VDP) modules barrel.
2
+ //
3
+ // ES named exports replacing the design kit's `Object.assign(window, {...})`
4
+ // (docs/redesign/design-source/ui_kits/website/CdpModules.jsx + ScreenVDP.jsx).
5
+ // These are the PRESENTATIONAL VDP modules (W3a); the page wiring that feeds them
6
+ // from the real stores is a separate later step (W3b). Consumers import everything
7
+ // from '../vdp'.
8
+
9
+ // Fullscreen gallery viewer.
10
+ export { default as VdpViewer } from './VdpViewer';
11
+ export type { VdpViewerProps } from './VdpViewer';
12
+
13
+ // Finance calculator (controlled / presentational — no annuity) + its helpers.
14
+ export { default as FinanceCalculator, Slider, CalcRow, TermChips } from './FinanceCalculator';
15
+ export type {
16
+ FinanceCalculatorProps,
17
+ FinanceMode,
18
+ SliderProps,
19
+ CalcRowProps,
20
+ TermChipsProps,
21
+ } from './FinanceCalculator';
22
+
23
+ // Remaining presentational modules.
24
+ export {
25
+ VdpHeaderCard,
26
+ VdpSpecTable,
27
+ EquipmentList,
28
+ Co2Label,
29
+ VehicleDescription,
30
+ TrustStrip,
31
+ PriceHistory,
32
+ ProtectionProducts,
33
+ VdpAnchors,
34
+ VdpStickyBar,
35
+ VdpBottomBar,
36
+ InspectionBlock,
37
+ HowItWorks,
38
+ CustomerRatings,
39
+ VdpEnquiry,
40
+ FinanceDetailsModal,
41
+ } from './VdpModules';
42
+ export type {
43
+ VdpHeaderCardProps,
44
+ VdpSpecTableProps,
45
+ EquipmentListProps,
46
+ Co2LabelProps,
47
+ VehicleDescriptionProps,
48
+ TrustStripProps,
49
+ TrustItem,
50
+ PriceHistoryProps,
51
+ ProtectionProductsProps,
52
+ ProtectionProduct,
53
+ VdpAnchorsProps,
54
+ VdpAnchor,
55
+ VdpStickyBarProps,
56
+ VdpBottomBarProps,
57
+ InspectionBlockProps,
58
+ HowItWorksProps,
59
+ HowItWorksStep,
60
+ CustomerRatingsProps,
61
+ VdpEnquiryProps,
62
+ FinanceDetailsModalProps,
63
+ } from './VdpModules';
64
+
65
+ // View-model types + the spec-table helper.
66
+ export { defaultVdpSpecs } from './types';
67
+ export type {
68
+ VehicleDetail,
69
+ VehicleCondition,
70
+ VdpSpec,
71
+ EquipmentGroups,
72
+ PriceHistoryPoint,
73
+ VdpReview,
74
+ AutobahnPhev,
75
+ } from './types';
package/vdp/types.ts ADDED
@@ -0,0 +1,197 @@
1
+ // Autobahn (auto.de redesign) — Vehicle-Detail (VDP) view-model types.
2
+ //
3
+ // Typed contracts for the ported VDP presentational modules (W3a). These are the
4
+ // props the pure components consume; the page wiring that builds a VehicleDetail
5
+ // from the real stores/API is a SEPARATE later step (W3b). Nothing here touches a
6
+ // store, the API or `window`.
7
+ //
8
+ // IMPORTANT — needs-data discipline (the point of the ticket):
9
+ // REQUIRED fields always carry real data from the listing source. The OPTIONAL
10
+ // (`?`) fields are ones we have NO real source for yet; they are optional ON
11
+ // PURPOSE so the components can detect their absence and render the
12
+ // NEEDS_DATA_LABEL ('Daten folgt') marker instead of a fabricated value. Never
13
+ // default these to placeholder numbers. priceHistory + the market band
14
+ // (marketLow / marketAvg / marketHigh) are needs-data by default.
15
+
16
+ import type { AutobahnPhev } from '../cards/types';
17
+
18
+ export type { AutobahnPhev };
19
+
20
+ /** One row of the Fahrzeugdaten spec table: [kebab-case lucide icon, label, value]. */
21
+ export type VdpSpec = readonly [icon: string, label: string, value: string];
22
+
23
+ /**
24
+ * Grouped equipment: each entry is a section title mapped to its item labels,
25
+ * e.g. { Komfort: ['Klimaautomatik', …], Sicherheit: [...] }. Replaces the design
26
+ * kit's `equipFor(id)` lookup — the page passes the real grouped equipment in.
27
+ */
28
+ export type EquipmentGroups = Record<string, string[]>;
29
+
30
+ /** Vehicle condition block rendered as the header card's zustand tiles. */
31
+ export interface VehicleCondition {
32
+ /** TÜV/HU validity, e.g. '03/2027' — or 'Neu' for a new HU. */
33
+ hu: string;
34
+ /** accident-free flag (Unfallfrei). */
35
+ unfallfrei: boolean;
36
+ /** full service history (Scheckheftgepflegt). */
37
+ scheckheft: boolean;
38
+ /** warranty label, e.g. '1 Jahr inkl.'. */
39
+ garantie: string;
40
+ }
41
+
42
+ /**
43
+ * One customer review (auto.de Google reviews). REAL data — loaded by the page
44
+ * from the same WordPress quotes source the legacy VDP uses
45
+ * (CustomerQuotes / json-quotes.json). Never fabricated; when no reviews load the
46
+ * CustomerRatings section is not rendered.
47
+ */
48
+ export interface VdpReview {
49
+ /** stable id. */
50
+ id: string;
51
+ /** reviewer display name. */
52
+ name: string;
53
+ /** avatar image URL ('' when none). */
54
+ image: string;
55
+ /** the review text. */
56
+ review: string;
57
+ /** star rating 1–5. */
58
+ rating: number;
59
+ }
60
+
61
+ /** One point on the price-history sparkline. */
62
+ export interface PriceHistoryPoint {
63
+ /** x-axis label, e.g. 'vor 6 Wo.' / 'heute'. */
64
+ label: string;
65
+ /** price in EUR at that point. */
66
+ price: number;
67
+ }
68
+
69
+ /**
70
+ * View-model for a single vehicle as rendered by the Autobahn VDP modules.
71
+ *
72
+ * REQUIRED fields are always populated with real data. OPTIONAL (`?`) fields have
73
+ * no real data source yet — when absent the components render the 'Daten folgt'
74
+ * marker rather than inventing a value.
75
+ */
76
+ export interface VehicleDetail {
77
+ // --- identity / headline (always real) ---
78
+ make: string;
79
+ model: string;
80
+ trim: string;
81
+ /** auto.de-ID reference code (metaData.vehicleId) — quoted by customers/agents on the hotline. */
82
+ autoDeId?: string;
83
+
84
+ // --- key specs (always real) ---
85
+ /** mileage in km (raw number; formatted de-DE by the components). */
86
+ km: number;
87
+ /** first registration, e.g. '03/2021'. */
88
+ reg: string;
89
+ /** power label, e.g. '110 kW (150 PS)'. */
90
+ power: string;
91
+ /** fuel label, e.g. 'Benzin' / 'Plug-in-Hybrid'. */
92
+ fuel: string;
93
+ /** gearbox label, e.g. 'Automatik' / 'Schaltgetriebe'. */
94
+ gear: string;
95
+ /** number of previous owners (rendered as 'N. Hand'). */
96
+ owners: number;
97
+ /** number of seats. */
98
+ seats: number;
99
+ /** number of doors. */
100
+ doors: number;
101
+ /** exterior color label, e.g. 'Mythosschwarz Metallic'. */
102
+ color: string;
103
+ /** body style label, e.g. 'Limousine'. */
104
+ body: string;
105
+
106
+ // --- full spec table (always real) ---
107
+ /**
108
+ * The complete Fahrzeugdaten rows. Optional: when omitted the spec table is
109
+ * derived from the fields above via `defaultVdpSpecs(vehicle)`, matching the
110
+ * design's twelve-row layout. Pass an explicit list to control order/contents.
111
+ */
112
+ specs?: VdpSpec[];
113
+
114
+ // --- price (always real) ---
115
+ /** financing monthly rate in EUR — the lead price shown in sticky/bottom bars. */
116
+ monthly: number;
117
+ /** purchase price in EUR (raw number; formatted de-DE by the components). */
118
+ price: number;
119
+
120
+ // --- media (always real) ---
121
+ /** ready-to-use image URLs for the gallery + viewer. */
122
+ gallery: string[];
123
+ /** total photo count for the image-count badge. */
124
+ photos: number;
125
+
126
+ // --- legally-required Pkw-EnVKV consumption line (always real) ---
127
+ /** combined fuel consumption label, e.g. '5,4 l/100 km'. */
128
+ cons: string;
129
+ /** combined CO₂ emissions label, e.g. '124 g/km'. */
130
+ co2: string;
131
+ /** CO₂ efficiency class letter, e.g. 'B'. */
132
+ co2class: string;
133
+ /** present only for plug-in hybrids — drives the dual-figure EnVKV block. */
134
+ phev?: AutobahnPhev;
135
+
136
+ // --- equipment + condition + trust (always real) ---
137
+ /** grouped equipment for the searchable Ausstattung list. */
138
+ equipment: EquipmentGroups;
139
+ /** hand-picked highlight chips (first few shown in the header accent row). */
140
+ highlights: string[];
141
+ /** condition block driving the header card's zustand tiles. */
142
+ condition: VehicleCondition;
143
+ /** 130-Punkte-Check pass categories (all pass — auto.de promise). */
144
+ inspection: string[];
145
+
146
+ // --- price rating (always real) ---
147
+ /** price rating tone: 'fair' → warn pill, anything else → good pill. */
148
+ rating: string;
149
+ /** price rating label shown in the pill, e.g. 'Guter Preis'. */
150
+ ratingLabel: string;
151
+
152
+ // --- deal badges (derived from car.showNewLabel / price.* / offer.*) ---
153
+ /** NEU badge — car was recently listed (showNewLabel flag). */
154
+ isNew?: boolean;
155
+ /** price-drop amount in EUR (≥ 500 € threshold); omit when absent/below threshold. */
156
+ drop?: number;
157
+ /** percent price-drop (rounded integer); omit when absent or no drop. */
158
+ dropPct?: number;
159
+ /** 0 € Anzahlung badge (offer.showDownPayment flag). */
160
+ zeroDown?: boolean;
161
+
162
+ // --- NEEDS DATA: no real source yet (NEVER fabricate) ---
163
+ /** original list price (for the struck-through reference + history endpoint). */
164
+ listPrice?: number;
165
+ /** price-history points (sparkline). Needs-data by default. */
166
+ priceHistory?: PriceHistoryPoint[];
167
+ /** lowest comparable market price in EUR (market band lower bound). */
168
+ marketLow?: number;
169
+ /** average comparable market price in EUR (market band reference). */
170
+ marketAvg?: number;
171
+ /** highest comparable market price in EUR (market band upper bound). */
172
+ marketHigh?: number;
173
+ /** number of buyers currently watching this car. */
174
+ watchers?: number;
175
+ }
176
+
177
+ /**
178
+ * Build the design's twelve-row Fahrzeugdaten table from the typed fields. Used
179
+ * when a VehicleDetail carries no explicit `specs`. Pure — produces the same rows
180
+ * and order as the spec's ScreenVDP `specs` array.
181
+ */
182
+ export function defaultVdpSpecs(v: VehicleDetail): VdpSpec[] {
183
+ return [
184
+ ['gauge', 'Kilometerstand', `${v.km.toLocaleString('de-DE')} km`],
185
+ ['calendar', 'Erstzulassung', v.reg],
186
+ ['zap', 'Leistung', v.power],
187
+ ['fuel', 'Kraftstoff', v.fuel],
188
+ ['cog', 'Getriebe', v.gear],
189
+ ['users', 'Sitze', `${v.seats} Sitze`],
190
+ ['door-open', 'Türen', `${v.doors} Türen`],
191
+ ['user', 'Halter', `${v.owners}. Hand`],
192
+ ['palette', 'Außenfarbe', v.color],
193
+ ['car-front', 'Karosserie', v.body],
194
+ ['droplet', 'Verbrauch komb.', v.cons],
195
+ ['leaf', 'CO₂ · Klasse', `${v.co2} · ${v.co2class}`],
196
+ ];
197
+ }
@@ -0,0 +1,117 @@
1
+ export const cbdGearbox = (key: string) => {
2
+ switch (key) {
3
+ case 'selector_gearbox_manualShift':
4
+ return 'Manuell';
5
+ break;
6
+ case 'selector_gearbox_automatic':
7
+ return 'Automatik';
8
+ break;
9
+ case 'selector_gearbox_semiAutomatic':
10
+ return 'Halbautomatik';
11
+ break;
12
+ default:
13
+ return 'N/A';
14
+ }
15
+ };
16
+
17
+ export const cbdFuel = (key: string) => {
18
+ switch (key) {
19
+ case 'selector_fuel_petrol':
20
+ return 'Benzin';
21
+ break;
22
+ case 'selector_fuel_diesel':
23
+ return 'Diesel';
24
+ break;
25
+ case 'selector_fuel_naturalGas':
26
+ return 'Erdgas';
27
+ break;
28
+ case 'selector_fuel_carGas':
29
+ return 'Autogas';
30
+ break;
31
+ case 'selector_fuel_electrical':
32
+ return 'Elektro';
33
+ break;
34
+ case 'selector_fuel_hydrogen':
35
+ return 'Wasserstoff';
36
+ break;
37
+ case 'selector_fuel_ethanol':
38
+ return 'Ethanol';
39
+ break;
40
+ case 'selector_fuel_hybridElectricalPetrol':
41
+ return 'Hybrid (Elektro / Benzin)';
42
+ break;
43
+ case 'selector_fuel_hybridElectricalDiesel':
44
+ return 'Hybrid (Elektro / Diesel)';
45
+ break;
46
+ default:
47
+ return 'N/A';
48
+ }
49
+ };
50
+
51
+ export const cbdConsumptionUnit = (key: string) => {
52
+ switch (key) {
53
+ case 'selector_fuel_petrol':
54
+ return 'l/100km';
55
+ break;
56
+ case 'selector_fuel_diesel':
57
+ return 'l/100km';
58
+ break;
59
+ case 'selector_fuel_naturalGas':
60
+ return 'kg/100km';
61
+ break;
62
+ case 'selector_fuel_carGas':
63
+ return 'kg/100km';
64
+ break;
65
+ case 'selector_fuel_electrical':
66
+ return 'kWh/100km';
67
+ break;
68
+ case 'selector_fuel_hydrogen':
69
+ return 'kg/100km';
70
+ break;
71
+ case 'selector_fuel_ethanol':
72
+ return 'kg/100km';
73
+ break;
74
+ case 'selector_fuel_hybridElectricalPetrol':
75
+ return 'l/100km';
76
+ break;
77
+ case 'selector_fuel_hybridElectricalDiesel':
78
+ return 'l/100km';
79
+ break;
80
+ default:
81
+ return 'N/A';
82
+ }
83
+ };
84
+
85
+ export const cbdConsumptionUnitWithKomb = (key: string) => {
86
+ switch (key) {
87
+ case 'selector_fuel_petrol':
88
+ return 'l/100km (komb)*';
89
+ break;
90
+ case 'selector_fuel_diesel':
91
+ return 'l/100km (komb)*';
92
+ break;
93
+ case 'selector_fuel_naturalGas':
94
+ return 'kg/100km (komb)*';
95
+ break;
96
+ case 'selector_fuel_carGas':
97
+ return 'kg/100km (komb)*';
98
+ break;
99
+ case 'selector_fuel_electrical':
100
+ return 'kWh/100km (komb)*';
101
+ break;
102
+ case 'selector_fuel_hydrogen':
103
+ return 'kg/100km (komb)*';
104
+ break;
105
+ case 'selector_fuel_ethanol':
106
+ return 'kg/100km (komb)*';
107
+ break;
108
+ case 'selector_fuel_hybridElectricalPetrol':
109
+ return 'l/100km (komb)*';
110
+ break;
111
+ case 'selector_fuel_hybridElectricalDiesel':
112
+ return 'l/100km (komb)*';
113
+ break;
114
+ default:
115
+ return 'N/A';
116
+ }
117
+ };