@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
package/ui/Stepper.tsx ADDED
@@ -0,0 +1,106 @@
1
+ // Autobahn (auto.de redesign) — md3 step indicator (numbered circles + connectors).
2
+ //
3
+ // A reusable, presentational MD3 stepper for multi-step flows (Checkout, …). Mirrors the
4
+ // visual language of the inline `.co-stepper` in CheckoutChromeNext (30px numbered dots,
5
+ // primary-filled done/active states, 2px connectors) but generalised: it takes a plain
6
+ // `steps` array + `activeStep`, supports horizontal/vertical orientation, and is non-linear
7
+ // (any step is clickable via `onStepClick`). Step state is derived from `activeStep` unless a
8
+ // step carries an explicit `status` (so a flow that tracks per-step completion — e.g. the
9
+ // checkout store's `completed` set — can mark a later step done or an earlier one still todo).
10
+ //
11
+ // Pure/presentational: no store, no API, no window access. Not observer-wrapped — it binds to
12
+ // no mobx field; callers that read observable state (e.g. checkoutStore.activeStep) should wrap
13
+ // their own render. Renders correctly only inside a `<div className="md3">` subtree.
14
+
15
+ import React from 'react';
16
+
17
+ import Icon from './Icon';
18
+
19
+ export type StepStatus = 'done' | 'active' | 'todo';
20
+
21
+ export interface StepperStep {
22
+ /** visible step label. */
23
+ label: string;
24
+ /** explicit state override; when omitted it's derived from `activeStep` (index < active = done). */
25
+ status?: StepStatus;
26
+ }
27
+
28
+ export interface StepperProps {
29
+ /** the steps, in order. */
30
+ steps: StepperStep[];
31
+ /** index of the current step (0-based). */
32
+ activeStep: number;
33
+ /** layout direction (default 'horizontal'). */
34
+ orientation?: 'horizontal' | 'vertical';
35
+ /** non-linear: fired with the clicked step's index. When omitted, steps are not interactive. */
36
+ onStepClick?: (index: number) => void;
37
+ /** accessible label for the stepper nav (e.g. the flow name). */
38
+ ariaLabel?: string;
39
+ /** extra class(es) appended after the mstep classes (layout hooks). */
40
+ className?: string;
41
+ }
42
+
43
+ const Stepper: React.FunctionComponent<StepperProps> = ({
44
+ steps,
45
+ activeStep,
46
+ orientation = 'horizontal',
47
+ onStepClick,
48
+ ariaLabel,
49
+ className,
50
+ }) => {
51
+ // derive state: explicit `status` wins; otherwise index vs activeStep.
52
+ const resolve = (step: StepperStep, index: number): StepStatus => {
53
+ if (step.status) return step.status;
54
+ if (index < activeStep) return 'done';
55
+ if (index === activeStep) return 'active';
56
+ return 'todo';
57
+ };
58
+
59
+ const clickable = typeof onStepClick === 'function';
60
+
61
+ const wrapCls = ['mstep', `mstep--${orientation}`, clickable && 'mstep--clickable', className]
62
+ .filter(Boolean)
63
+ .join(' ');
64
+
65
+ return (
66
+ <nav className={wrapCls} aria-label={ariaLabel}>
67
+ <ol className="mstep-list">
68
+ {steps.map((step, i) => {
69
+ const status = resolve(step, i);
70
+ const isLast = i === steps.length - 1;
71
+ const itemCls = `mstep-item mstep-item--${status}`;
72
+ const dot = status === 'done' ? <Icon name="check" size={16} /> : i + 1;
73
+
74
+ // the dot + label are a button when interactive, a plain span otherwise — so a
75
+ // non-linear flow gets real focus/keyboard semantics without forcing them on a
76
+ // read-only indicator.
77
+ const inner = clickable ? (
78
+ <button
79
+ type="button"
80
+ className="mstep-btn"
81
+ aria-current={status === 'active' ? 'step' : undefined}
82
+ onClick={() => onStepClick && onStepClick(i)}
83
+ >
84
+ <span className="mstep-dot">{dot}</span>
85
+ <span className="mstep-label">{step.label}</span>
86
+ </button>
87
+ ) : (
88
+ <span className="mstep-btn" aria-current={status === 'active' ? 'step' : undefined}>
89
+ <span className="mstep-dot">{dot}</span>
90
+ <span className="mstep-label">{step.label}</span>
91
+ </span>
92
+ );
93
+
94
+ return (
95
+ <li key={`${step.label}_${i}`} className={itemCls}>
96
+ {inner}
97
+ {!isLast ? <span className="mstep-connector" aria-hidden="true" /> : null}
98
+ </li>
99
+ );
100
+ })}
101
+ </ol>
102
+ </nav>
103
+ );
104
+ };
105
+
106
+ export default Stepper;
package/ui/Switch.tsx ADDED
@@ -0,0 +1,65 @@
1
+ // Autobahn (auto.de redesign) — md3 toggle switch.
2
+ //
3
+ // Drop-in visual replacement for the legacy fe-ui-core `Switch` (used in
4
+ // SettingsPage → ProfileTabDataUsage as `<Switch checked={field.checked} onChange={field.onChange} />`,
5
+ // bound to DataUsageForm.$('email') / $('research')). It emits the `.mswitch` track+thumb
6
+ // markup that already lives in theme/autobahn/md3.css.
7
+ //
8
+ // BINDING (must match the legacy signature exactly or validation/submit breaks):
9
+ // mobx-react-form fields expose `field.checked` (boolean) and `field.onChange`, which is a
10
+ // NATIVE change-event handler — it reads `event.target.checked` itself. So when `field` is
11
+ // passed we render `<input type="checkbox" checked={field.checked} onChange={field.onChange}>`
12
+ // and let the native event flow straight through, unchanged. No wrapping, no boolean coercion.
13
+ //
14
+ // Two modes:
15
+ // - BOUND: pass `field` → reads field.checked, forwards the native event to field.onChange.
16
+ // - CONTROLLED: pass `checked` + `onChange` → `onChange` receives the native React change event
17
+ // (same shape the field handler gets), so callers can read e.target.checked.
18
+ //
19
+ // observer-wrapped so the bound mode re-renders when field.checked changes. Pure/presentational
20
+ // otherwise. Renders correctly only inside a `<div className="md3">` subtree (scoped theme).
21
+
22
+ import * as React from 'react';
23
+ import { observer } from 'mobx-react';
24
+
25
+ export interface SwitchProps {
26
+ /** mobx-react-form field (DataUsageForm.$('email') etc.). Typed any — the lib ships no TS types. */
27
+ field?: any;
28
+ /** controlled checked state (ignored when `field` is supplied). */
29
+ checked?: boolean;
30
+ /** native change-event handler. Bound mode forwards the field's own handler; controlled mode gets the React event. */
31
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
32
+ /** optional visible label rendered after the track. */
33
+ label?: React.ReactNode;
34
+ disabled?: boolean;
35
+ id?: string;
36
+ /** accessible label when there is no visible `label`. */
37
+ ariaLabel?: string;
38
+ }
39
+
40
+ const Switch: React.FunctionComponent<SwitchProps> = observer(
41
+ ({ field, checked, onChange, label, disabled, id, ariaLabel }) => {
42
+ // Bound mode reads straight off the field; controlled mode uses the `checked` prop.
43
+ const isChecked = field ? !!field.checked : !!checked;
44
+ const handleChange = field ? field.onChange : onChange;
45
+
46
+ return (
47
+ <label className={'mswitch' + (disabled ? ' mswitch--disabled' : '') + (label ? ' mswitch--labeled' : '')}>
48
+ <input
49
+ id={id}
50
+ type="checkbox"
51
+ role="switch"
52
+ checked={isChecked}
53
+ disabled={disabled}
54
+ aria-label={ariaLabel}
55
+ aria-checked={isChecked}
56
+ onChange={handleChange}
57
+ />
58
+ <span className="mswitch-track"><span className="mswitch-thumb" /></span>
59
+ {label ? <span className="mswitch-label">{label}</span> : null}
60
+ </label>
61
+ );
62
+ },
63
+ );
64
+
65
+ export default Switch;
package/ui/Table.tsx ADDED
@@ -0,0 +1,156 @@
1
+ // Autobahn (auto.de redesign) — md3 data/spec table primitive set.
2
+ //
3
+ // A COMPOSABLE set of thin wrappers over the native table elements
4
+ // (Table → <table>, Thead → <thead>, Tbody → <tbody>, Tr → <tr>, Th → <th>,
5
+ // Td → <td>) so callers keep their EXACT legacy row structure when a MUI/
6
+ // fe-ui-core table is re-skinned into md3. You re-skin in place:
7
+ //
8
+ // <Table> // was <Table> / <table>
9
+ // <Thead>
10
+ // <Tr>
11
+ // <Th>Rechnung</Th> // header surface-variant
12
+ // <Th align="right">Betrag</Th>
13
+ // </Tr>
14
+ // </Thead>
15
+ // <Tbody>
16
+ // {invoices.map((inv) => (
17
+ // <Tr key={inv.id}> // row divider + hover
18
+ // <Td>{inv.number}</Td>
19
+ // <Td align="right" numeric>{inv.amount}</Td>
20
+ // </Tr>
21
+ // ))}
22
+ // </Tbody>
23
+ // </Table>
24
+ //
25
+ // `<Table>` always renders its own `overflow-x: auto` scroll wrapper, so a wide
26
+ // table (Vergleich spec sheet, vehicle-options matrix) scrolls inside its own
27
+ // box and never forces the page to scroll horizontally.
28
+ //
29
+ // Options: `dense` (tighter row height — Mitarbeiter / options lists),
30
+ // `stickyHeader` (header pins while the body scrolls — long invoice/employee
31
+ // lists), `align` (per-cell text alignment), `numeric` (tabular-nums for money/
32
+ // counts), `width` (column sizing hint on a Th), `colSpan`/`rowSpan` (passthrough
33
+ // for grouped spec rows).
34
+ //
35
+ // Pure/presentational: no store, no API, no window. Renders correctly only inside
36
+ // a `<div className="md3">` subtree (scoped theme). No mobx binding — this is a
37
+ // layout primitive, not a form control.
38
+
39
+ import React from 'react';
40
+
41
+ export type TableAlign = 'left' | 'center' | 'right';
42
+
43
+ export interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {
44
+ /** tighter row height for list-heavy tables (Mitarbeiter, vehicle options). */
45
+ dense?: boolean;
46
+ /**
47
+ * pin the header while the body scrolls (long invoice / employee lists).
48
+ * The caller is responsible for constraining the scroll height — wrap the
49
+ * `<Table>` in a box with `max-height` + the header stays put on vertical scroll.
50
+ */
51
+ stickyHeader?: boolean;
52
+ /** extra class on the inner `<table>` (layout hooks). */
53
+ className?: string;
54
+ /** extra class on the outer `overflow-x:auto` scroll wrapper. */
55
+ wrapperClassName?: string;
56
+ /** inline style applied to the outer scroll wrapper (e.g. max-height for sticky). */
57
+ wrapperStyle?: React.CSSProperties;
58
+ children?: React.ReactNode;
59
+ }
60
+
61
+ export interface TheadProps extends React.HTMLAttributes<HTMLTableSectionElement> {
62
+ children?: React.ReactNode;
63
+ }
64
+
65
+ export interface TbodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
66
+ children?: React.ReactNode;
67
+ }
68
+
69
+ export interface TrProps extends React.HTMLAttributes<HTMLTableRowElement> {
70
+ /** visually mark the row as selected/active (e.g. current plan, chosen vehicle). */
71
+ selected?: boolean;
72
+ children?: React.ReactNode;
73
+ }
74
+
75
+ export interface ThProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
76
+ /** text alignment (default left). */
77
+ align?: TableAlign;
78
+ /** column-width hint, e.g. 160 or '30%'. */
79
+ width?: number | string;
80
+ children?: React.ReactNode;
81
+ }
82
+
83
+ export interface TdProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
84
+ /** text alignment (default left). */
85
+ align?: TableAlign;
86
+ /** tabular-nums + alignment friendly to money/counts. */
87
+ numeric?: boolean;
88
+ children?: React.ReactNode;
89
+ }
90
+
91
+ // join classnames, dropping falsy.
92
+ const cx = (...parts: Array<string | false | undefined>): string => parts.filter(Boolean).join(' ');
93
+
94
+ // Per-cell alignment is applied as a class (not inline style) so it stays
95
+ // overridable from md3.css and composes with the numeric rule.
96
+ const alignCls = (align?: TableAlign): string | undefined =>
97
+ align && align !== 'left' ? `mtab-${align}` : undefined;
98
+
99
+ /**
100
+ * Root table. Renders an `overflow-x: auto` wrapper around a real `<table>`
101
+ * so wide tables scroll inside their own box. Spreads extra `<table>` attrs.
102
+ */
103
+ export const Table: React.FunctionComponent<TableProps> = ({
104
+ dense,
105
+ stickyHeader,
106
+ className,
107
+ wrapperClassName,
108
+ wrapperStyle,
109
+ children,
110
+ ...rest
111
+ }) => (
112
+ <div className={cx('mtab-wrap', wrapperClassName)} style={wrapperStyle}>
113
+ <table
114
+ className={cx('mtab', dense && 'mtab--dense', stickyHeader && 'mtab--sticky', className)}
115
+ {...rest}
116
+ >
117
+ {children}
118
+ </table>
119
+ </div>
120
+ );
121
+
122
+ export const Thead: React.FunctionComponent<TheadProps> = ({ className, children, ...rest }) => (
123
+ <thead className={cx('mtab-thead', className)} {...rest}>
124
+ {children}
125
+ </thead>
126
+ );
127
+
128
+ export const Tbody: React.FunctionComponent<TbodyProps> = ({ className, children, ...rest }) => (
129
+ <tbody className={cx('mtab-tbody', className)} {...rest}>
130
+ {children}
131
+ </tbody>
132
+ );
133
+
134
+ export const Tr: React.FunctionComponent<TrProps> = ({ selected, className, children, ...rest }) => (
135
+ <tr className={cx('mtab-tr', selected && 'is-selected', className)} {...rest}>
136
+ {children}
137
+ </tr>
138
+ );
139
+
140
+ export const Th: React.FunctionComponent<ThProps> = ({ align, width, className, style, children, ...rest }) => (
141
+ <th
142
+ className={cx('mtab-th', alignCls(align), className)}
143
+ style={width != null ? { width, ...style } : style}
144
+ {...rest}
145
+ >
146
+ {children}
147
+ </th>
148
+ );
149
+
150
+ export const Td: React.FunctionComponent<TdProps> = ({ align, numeric, className, children, ...rest }) => (
151
+ <td className={cx('mtab-td', numeric && 'mtab-td--num', alignCls(align), className)} {...rest}>
152
+ {children}
153
+ </td>
154
+ );
155
+
156
+ export default Table;
@@ -0,0 +1,58 @@
1
+ // Autobahn (auto.de redesign) — md3 multiline input bound to a mobx-react-form field.
2
+ //
3
+ // The multiline sibling of FormField: a labelled, outlined MD3 control that binds directly to a
4
+ // mobx-react-form field via field.bind() — the SAME field objects the legacy FormTextArea used
5
+ // (DealerProfileForm.$('imprint'/'termCond'), TemplateForm's offer_offerDescription, the
6
+ // password-area, …). So every existing validation rule, onChange/onBlur, submit hook and error
7
+ // works unchanged; only the markup is re-skinned. Mirrors FormField, swapping <input> for
8
+ // <textarea> (and dropping the password reveal that does not apply to a textarea).
9
+ //
10
+ // Observer-wrapped so it re-renders on field value/error changes. Renders correctly only inside
11
+ // a `.md3` subtree (scoped theme). Pure/presentational beyond the injected field.
12
+
13
+ import * as React from 'react';
14
+ import { observer } from 'mobx-react';
15
+
16
+ export interface TextareaProps {
17
+ /** mobx-react-form field (DealerProfileForm.$('imprint') etc.). Typed any — the lib ships no TS types. */
18
+ field: any;
19
+ /** i18n translate — resolves the field's placeholder/label key. Optional (legacy default = identity). */
20
+ t?: (key: string, options?: object) => string;
21
+ /** visible textarea rows (legacy template used 10). */
22
+ rows?: number;
23
+ disabled?: boolean;
24
+ }
25
+
26
+ const identity = (key: string): string => key;
27
+
28
+ const Textarea: React.FunctionComponent<TextareaProps> = observer(
29
+ ({ field, t = identity, rows = 4, disabled }) => {
30
+ const bound = field.bind();
31
+ const hasError = !!field.hasError && !!field.error;
32
+ // Visible label (a11y). Prefer the translated placeholder key, else the field's label key.
33
+ // t() returns the input unchanged when there's no translation, so this is safe for plain strings.
34
+ const label = field.placeholder ? t(field.placeholder) : field.label ? t(field.label) : '';
35
+
36
+ return (
37
+ <div className="mfield-group">
38
+ {label ? <label className="md-label-sm mfield-label" htmlFor={bound.id}>{label}</label> : null}
39
+ <div
40
+ className={
41
+ 'mfield mtextarea' + (hasError ? ' mfield--error' : '') + (disabled ? ' mfield--disabled' : '')
42
+ }
43
+ >
44
+ <textarea
45
+ {...bound}
46
+ disabled={disabled}
47
+ rows={rows}
48
+ placeholder=""
49
+ style={{ width: '100%' }}
50
+ />
51
+ </div>
52
+ {hasError ? <span className="mfield-error-text">{field.error}</span> : null}
53
+ </div>
54
+ );
55
+ },
56
+ );
57
+
58
+ export default Textarea;
package/ui/index.ts ADDED
@@ -0,0 +1,88 @@
1
+ // Autobahn (auto.de redesign) — presentational UI primitives.
2
+ //
3
+ // Typed, pure React 18 + TS port of the design kit's primitives from
4
+ // docs/redesign/design-source/ui_kits/website/ui.jsx. The original kit exported
5
+ // everything via `Object.assign(window, {...})`; here each primitive is a real
6
+ // ES module with an explicit props interface, re-exported below.
7
+ //
8
+ // SCOPING — IMPORTANT:
9
+ // These components rely on the scoped CSS layer at
10
+ // services/fe-main/source/theme/autobahn/ (md3.css)
11
+ // where EVERY utility class is scoped under `.md3` (e.g. `.md3 .mbtn`,
12
+ // `.md3 .chip`, `.md3 .statchip--good`, `.md3 .segmented .on`, `.md3 .mfield`,
13
+ // `.md3 .num`, `.md3 .car-arrow`, `.md3 .imglabel`, `.md3 .md-title`, …).
14
+ // They therefore ONLY render correctly inside a `<div className="md3">` subtree.
15
+ //
16
+ // All components are pure/presentational: no store, no API, no window access.
17
+
18
+ export { default as Icon } from './Icon';
19
+ export type { IconProps } from './Icon';
20
+
21
+ export { default as Button } from './Button';
22
+ export type { ButtonProps, ButtonVariant, ButtonSize } from './Button';
23
+
24
+ export { default as IconButton } from './IconButton';
25
+ export type { IconButtonProps } from './IconButton';
26
+
27
+ export { default as Chip } from './Chip';
28
+ export type { ChipProps } from './Chip';
29
+
30
+ export { default as StatChip } from './StatChip';
31
+ export type { StatChipProps, StatChipTone } from './StatChip';
32
+
33
+ export { default as Segmented } from './Segmented';
34
+ export type { SegmentedProps, SegmentedOption } from './Segmented';
35
+
36
+ export { default as FormField } from './FormField';
37
+ export type { FormFieldProps } from './FormField';
38
+
39
+ export { default as Dropdown } from './Dropdown';
40
+ export type { DropdownProps, DropdownOption } from './Dropdown';
41
+
42
+ export { default as Spec } from './Spec';
43
+ export type { SpecProps } from './Spec';
44
+
45
+ export { default as Price } from './Price';
46
+ export type { PriceProps } from './Price';
47
+
48
+ export { default as Stars } from './Stars';
49
+ export type { StarsProps } from './Stars';
50
+
51
+ export { default as PriceEvalBar } from './PriceEvalBar';
52
+ export type { PriceEvalBarProps } from './PriceEvalBar';
53
+
54
+ export { default as SaveChip } from './SaveChip';
55
+ export type { SaveChipProps } from './SaveChip';
56
+
57
+ export { default as CardCarousel } from './CardCarousel';
58
+ export type { CardCarouselProps } from './CardCarousel';
59
+
60
+ // ── md3 kit (Group-B in-place rebuild) — form-bound + layout + overlay primitives ──
61
+ export { default as FormDropdown } from './FormDropdown';
62
+ export type { FormDropdownProps } from './FormDropdown';
63
+ export { default as FormCheckbox } from './FormCheckbox';
64
+ export type { FormCheckboxProps } from './FormCheckbox';
65
+ export { default as FormRadioGroup } from './FormRadioGroup';
66
+ export type { FormRadioGroupProps } from './FormRadioGroup';
67
+ export { default as FormRadio } from './FormRadio';
68
+ export type { FormRadioProps } from './FormRadio';
69
+ export { default as Accordion } from './Accordion';
70
+ export type { AccordionProps } from './Accordion';
71
+ export { default as Modal } from './Modal';
72
+ export type { ModalProps, ModalSize } from './Modal';
73
+ export { default as DatePicker } from './DatePicker';
74
+ export type { DatePickerProps } from './DatePicker';
75
+ export { default as Table, Thead, Tbody, Tr, Th, Td } from './Table';
76
+ export type { TableProps, TheadProps, TbodyProps, TrProps, ThProps, TdProps, TableAlign } from './Table';
77
+ export { default as Switch } from './Switch';
78
+ export type { SwitchProps } from './Switch';
79
+ export { default as Textarea } from './Textarea';
80
+ export type { TextareaProps } from './Textarea';
81
+ export { default as Pagination } from './Pagination';
82
+ export type { PaginationProps } from './Pagination';
83
+ export { default as Stepper } from './Stepper';
84
+ export type { StepperProps, StepperStep, StepStatus } from './Stepper';
85
+ export { default as FileUpload } from './FileUpload';
86
+ export type { FileUploadProps } from './FileUpload';
87
+ export { default as Skeleton } from './Skeleton';
88
+ export type { SkeletonProps } from './Skeleton';