@bytebrand/fe-ui-core 4.2.2 → 4.2.3

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 (1007) hide show
  1. package/.editorconfig +10 -10
  2. package/.storybook/addons.js +4 -4
  3. package/.storybook/config.js +64 -64
  4. package/.storybook/postcss.config.js +6 -6
  5. package/.storybook/preview-head.html +9 -9
  6. package/.storybook/webpack.config.js +130 -130
  7. package/common.ts +159 -159
  8. package/feWpComponents.ts +25 -25
  9. package/index.ts +4 -4
  10. package/landing.ts +38 -38
  11. package/media/images/advantages/advantage_cart.svg +4 -4
  12. package/media/images/advantages/advantage_check.svg +4 -4
  13. package/media/images/advantages/advantage_like.svg +10 -10
  14. package/media/images/advantages/advantage_secure.svg +6 -6
  15. package/media/images/check-blue.svg +40 -40
  16. package/media/images/raiting-star.svg +3 -3
  17. package/media/images/raiting-stars-min.svg +7 -7
  18. package/media/images/refresh-button.svg +49 -49
  19. package/media/images/slider-arrow-big.svg +11 -11
  20. package/media/images/user-icon.svg +16 -16
  21. package/media/locales/de/promoSlider.json +25 -25
  22. package/media/locales/en/promoSlider.json +25 -25
  23. package/media/svg/common/arrow_breadcrumps.svg +3 -3
  24. package/media/svg/common/home.svg +8 -8
  25. package/media/svg/common/whyAutodeIconSet-F.svg +9 -9
  26. package/media/svg/common/whyAutodeIconSet-G.svg +8 -8
  27. package/media/svg/common/whyAutodeIconSet-Q.svg +6 -6
  28. package/media/svg/common/whyAutodeIconSet-R.svg +9 -9
  29. package/media/svg/infoBlocks/whyAutodeIconSet-F.svg +9 -9
  30. package/media/svg/infoBlocks/whyAutodeIconSet-G.svg +8 -8
  31. package/media/svg/infoBlocks/whyAutodeIconSet-Q.svg +6 -6
  32. package/media/svg/infoBlocks/whyAutodeIconSet-R.svg +9 -9
  33. package/media/svg/usp/icon1.svg +16 -16
  34. package/media/svg/usp/icon2.svg +13 -13
  35. package/media/svg/usp/icon3.svg +10 -10
  36. package/media/svg/usp/icon4.svg +14 -14
  37. package/package.json +106 -106
  38. package/profile.ts +1 -1
  39. package/source/components/AccardionSection/AccardionSection.styl +45 -45
  40. package/source/components/AccardionSection/AccardionSection.tsx +47 -47
  41. package/source/components/AccordionWidget/AccordionWidget.styl +205 -205
  42. package/source/components/AccordionWidget/AccordionWidget.tsx +225 -225
  43. package/source/components/AdvantageItem/AdvantageItem.story.js +23 -23
  44. package/source/components/AdvantageItem/AdvantageItem.styl +47 -47
  45. package/source/components/AdvantageItem/AdvantageItem.tsx +26 -26
  46. package/source/components/Alternative/Dealer.story.js +31 -31
  47. package/source/components/Alternative/Dealer.story.styl +2 -2
  48. package/source/components/Alternative/DealerInfo.styl +116 -116
  49. package/source/components/Alternative/DealerInfo.tsx +171 -171
  50. package/source/components/Breadcrumbs/Breadcrumbs.story.js +40 -40
  51. package/source/components/Breadcrumbs/Breadcrumbs.styl +135 -135
  52. package/source/components/Breadcrumbs/Breadcrumbs.tsx +87 -87
  53. package/source/components/Breadcrumbs/FirstInfoBlock/FirstInfoBlock.story.js +45 -45
  54. package/source/components/Breadcrumbs/FirstInfoBlock/FirstInfoBlock.styl +54 -54
  55. package/source/components/Breadcrumbs/FirstInfoBlock/FirstInfoBlock.tsx +17 -17
  56. package/source/components/Checkout/CheckoutStepper/CheckoutStepper.styl +221 -221
  57. package/source/components/Checkout/CheckoutStepper/CheckoutStepper.tsx +70 -70
  58. package/source/components/Checkout/CheckoutStepper/CheckoutStepperClasses.js +173 -173
  59. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.story.js +243 -243
  60. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.story.styl +20 -20
  61. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.styl +36 -36
  62. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.tsx +53 -53
  63. package/source/components/Checkout/RadioCards/AdditionalServiceCard/ServiceCardWrapper.styl +201 -201
  64. package/source/components/Checkout/RadioCards/AdditionalServiceCard/ServiceCardWrapper.tsx +212 -212
  65. package/source/components/Checkout/RadioCards/ContentCard/AdditionalServiceContent.styl +30 -30
  66. package/source/components/Checkout/RadioCards/ContentCard/AdditionalServiceContent.tsx +62 -62
  67. package/source/components/Checkout/RadioCards/ContentCard/VehicleDeliveryContent.styl +73 -73
  68. package/source/components/Checkout/RadioCards/ContentCard/VehicleDeliveryContent.tsx +61 -61
  69. package/source/components/Checkout/RadioCards/PaymentTypeCard/PaymentTypeCard.styl +193 -193
  70. package/source/components/Checkout/RadioCards/PaymentTypeCard/PaymentTypeCard.tsx +195 -195
  71. package/source/components/Checkout/RadioCards/RadioCheckout.styl +158 -158
  72. package/source/components/Checkout/RadioCards/RadioCheckout.tsx +178 -178
  73. package/source/components/Checkout/RadioCards/RadioGroupCheckout.story.js +105 -105
  74. package/source/components/Checkout/RadioCards/RadioGroupCheckout.story.styl +37 -37
  75. package/source/components/Checkout/Switcher/Switcher.story.js +41 -41
  76. package/source/components/Checkout/Switcher/Switcher.story.styl +1 -1
  77. package/source/components/Checkout/Switcher/Switcher.styled.tsx +53 -53
  78. package/source/components/Checkout/Switcher/Switcher.tsx +48 -48
  79. package/source/components/CompactSearchWidget/CompactSearchFields/CompactSearchFields.styl +176 -176
  80. package/source/components/CompactSearchWidget/CompactSearchFields/CompactSearchFields.tsx +477 -477
  81. package/source/components/CompactSearchWidget/CompactSearchWidget.story.js +187 -187
  82. package/source/components/CompactSearchWidget/CompactSearchWidget.styl +43 -43
  83. package/source/components/CompactSearchWidget/CompactSearchWidget.tsx +165 -165
  84. package/source/components/ContactForm/ContactForm.story.js +93 -93
  85. package/source/components/ContactForm/ContactForm.styl +260 -260
  86. package/source/components/ContactForm/ContactForm.tsx +588 -588
  87. package/source/components/ContactForm/WpContactForm.tsx +287 -287
  88. package/source/components/ContactInfo/ContactInfo.story.js +58 -58
  89. package/source/components/ContactInfo/ContactInfo.styl +22 -22
  90. package/source/components/ContactInfo/ContactInfo.tsx +161 -161
  91. package/source/components/ContactInfo/TemporaryTranslation.ts +11 -11
  92. package/source/components/CustomerQuote/CustomerQuote.story.js +41 -41
  93. package/source/components/CustomerQuote/CustomerQuote.styl +79 -79
  94. package/source/components/CustomerQuote/CustomerQuote.tsx +68 -68
  95. package/source/components/CustomerQuotesSlider/CustomerQuotesSlider.story.js +73 -73
  96. package/source/components/CustomerQuotesSlider/CustomerQuotesSlider.story.styl +4 -4
  97. package/source/components/CustomerQuotesSlider/CustomerQuotesSlider.styl +46 -46
  98. package/source/components/CustomerQuotesSlider/CustomerQuotesSlider.tsx +79 -79
  99. package/source/components/CustomerQuotesSlider/SliderArrow.tsx +20 -20
  100. package/source/components/FormattedNumber/FormattedNumber.story.js +114 -114
  101. package/source/components/FormattedNumber/FormattedNumber.styl +1 -1
  102. package/source/components/FormattedNumber/FormattedNumber.tsx +91 -91
  103. package/source/components/ImageSettings/EditableOptionsTable/CustomCheckbox/CustomCheckbox.styl +7 -7
  104. package/source/components/ImageSettings/EditableOptionsTable/CustomCheckbox/CustomCheckbox.tsx +30 -30
  105. package/source/components/ImageSettings/EditableOptionsTable/EditableOptionsTable.styl +122 -122
  106. package/source/components/ImageSettings/EditableOptionsTable/EditableOptionsTable.tsx +199 -199
  107. package/source/components/ImageSettings/EditableOptionsTable/ImageIcon/ImageIcon.styl +3 -3
  108. package/source/components/ImageSettings/EditableOptionsTable/ImageIcon/ImageIcon.tsx +15 -15
  109. package/source/components/ImageSettings/OptionsTable/OptionsTable.styl +47 -47
  110. package/source/components/ImageSettings/OptionsTable/OptionsTable.tsx +122 -122
  111. package/source/components/ImageSettings/PricePlan/PricePlan.styl +63 -63
  112. package/source/components/ImageSettings/PricePlan/PricePlan.tsx +32 -32
  113. package/source/components/ImageSettings/index.ts +42 -42
  114. package/source/components/ImageSettings/story.js +1212 -1212
  115. package/source/components/InfoBlocks/FirstInfoBlock/FirstInfoBlock.styl +33 -33
  116. package/source/components/InfoBlocks/FirstInfoBlock/FirstInfoBlock.tsx +48 -48
  117. package/source/components/InfoBlocks/FirstInfoBlock/FirstInfoBlockItem/FirstInfoBlockItem.styl +68 -68
  118. package/source/components/InfoBlocks/FirstInfoBlock/FirstInfoBlockItem/FirstInfoBlockItem.tsx +21 -21
  119. package/source/components/InfoBlocks/InfoBlockWrapper/InfoBlockWrapper.styl +41 -41
  120. package/source/components/InfoBlocks/InfoBlockWrapper/InfoBlockWrapper.tsx +45 -45
  121. package/source/components/InfoBlocks/InfoBlockWrapper.story.js +101 -101
  122. package/source/components/InfoBlocks/InfoBlockWrapper.story.styl +45 -45
  123. package/source/components/InfoBlocks/PricingToolBlock/PricingTool.styl +6 -6
  124. package/source/components/InfoBlocks/PricingToolBlock/PricingTool.tsx +29 -29
  125. package/source/components/InfoBlocks/PricingToolBlock/PricingToolBlock.styl +45 -45
  126. package/source/components/InfoBlocks/PricingToolBlock/PricingToolBlock.tsx +81 -81
  127. package/source/components/InfoBlocks/ServicesBlock/ServiceBlockItem.styl +47 -47
  128. package/source/components/InfoBlocks/ServicesBlock/ServiceBlockItem.tsx +25 -25
  129. package/source/components/OfferDetailedSection/OfferDetailedSection.styl +31 -31
  130. package/source/components/OfferDetailedSection/OfferDetailedSection.tsx +100 -100
  131. package/source/components/OfferDetailedSection/partials/PanelConfig.styl +127 -127
  132. package/source/components/OfferDetailedSection/partials/PanelConfig.tsx +124 -124
  133. package/source/components/OfferPanel/AboAccordion/AboAccordion.styl +24 -24
  134. package/source/components/OfferPanel/AboAccordion/AboAccordion.tsx +128 -128
  135. package/source/components/OfferPanel/AboAccordion/AboColorOptions/AboColorOptions.styl +11 -11
  136. package/source/components/OfferPanel/AboAccordion/AboColorOptions/AboColorOptions.tsx +35 -35
  137. package/source/components/OfferPanel/AboAccordion/AboFaq/AboFaq.story.js +97 -97
  138. package/source/components/OfferPanel/AboAccordion/AboFaq/AboFaq.styl +20 -20
  139. package/source/components/OfferPanel/AboAccordion/AboFaq/AboFaq.tsx +25 -25
  140. package/source/components/OfferPanel/AboAccordion/AboIncludedServices/AboIncludedServices.styl +13 -13
  141. package/source/components/OfferPanel/AboAccordion/AboIncludedServices/AboIncludedServices.tsx +39 -39
  142. package/source/components/OfferPanel/MuiOfferPeriod/MuiOfferPeriod.theme.js +29 -29
  143. package/source/components/OfferPanel/MuiOfferPeriod/MuiOfferPeriod.tsx +49 -49
  144. package/source/components/OfferPanel/OfferCheckboxGroup/CheckboxContainer.tsx +146 -146
  145. package/source/components/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.styl +118 -118
  146. package/source/components/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.tsx +24 -24
  147. package/source/components/OfferPanel/OfferPanel.story.js +139 -139
  148. package/source/components/OfferPanel/OfferPanel.styl +189 -189
  149. package/source/components/OfferPanel/OfferPanel.tsx +81 -81
  150. package/source/components/OfferPanel/OfferPeriod/OfferPeriod.styl +24 -24
  151. package/source/components/OfferPanel/OfferPeriod/OfferPeriod.tsx +49 -49
  152. package/source/components/OfferPanel/RangeGroup/RangeGroup.story.js +35 -35
  153. package/source/components/OfferPanel/RangeGroup/RangeGroup.story.styl +2 -2
  154. package/source/components/OfferPanel/RangeGroup/RangeGroup.tsx +37 -37
  155. package/source/components/PriceRating/PriceRating.story.js +39 -39
  156. package/source/components/PriceRating/PriceRating.story.styl +1 -1
  157. package/source/components/PriceRating/PriceRating.styl +47 -47
  158. package/source/components/PriceRating/PriceRating.tsx +64 -64
  159. package/source/components/PriceRatingDetailed/PriceRatingDetailed.story.js +78 -78
  160. package/source/components/PriceRatingDetailed/PriceRatingDetailed.story.styl +11 -11
  161. package/source/components/PriceRatingDetailed/PriceRatingDetailed.styl +120 -120
  162. package/source/components/PriceRatingDetailed/PriceRatingDetailed.tsx +187 -187
  163. package/source/components/RateSearchValue/RateSearchValue.story.js +78 -78
  164. package/source/components/RateSearchValue/RateSearchValue.story.styl +1 -1
  165. package/source/components/RateSearchValue/RateSearchValue.styl +22 -22
  166. package/source/components/RateSearchValue/RateSearchValue.tsx +55 -55
  167. package/source/components/RateSearchWidget/RateSearchWidget.story.js +57 -57
  168. package/source/components/RateSearchWidget/RateSearchWidget.story.styl +12 -12
  169. package/source/components/RateSearchWidget/RateSearchWidget.styl +106 -106
  170. package/source/components/RateSearchWidget/RateSearchWidget.tsx +163 -163
  171. package/source/components/SearchFilters/FiltersFactory.story.js +273 -273
  172. package/source/components/SearchFilters/FiltersFactory.tsx +85 -85
  173. package/source/components/SearchFilters/Slider.styl +66 -66
  174. package/source/components/SearchFilters/common/Color/Color.styl +29 -29
  175. package/source/components/SearchFilters/common/Color/Color.tsx +60 -60
  176. package/source/components/SearchFilters/common/FilterBlock/FilterBlock.styl +39 -39
  177. package/source/components/SearchFilters/common/FilterBlock/FilterBlock.styled.tsx +28 -28
  178. package/source/components/SearchFilters/common/FilterBlock/FilterBlock.tsx +54 -54
  179. package/source/components/SearchFilters/common/FilterBlock/FilterBlockFactory.tsx +151 -151
  180. package/source/components/SearchFilters/common/RangeControlled/RangeControlled.tsx +153 -153
  181. package/source/components/SearchFilters/filters/AlternativeID.styl +98 -98
  182. package/source/components/SearchFilters/filters/AlternativeID.tsx +79 -79
  183. package/source/components/SearchFilters/filters/Consumption.styl +41 -41
  184. package/source/components/SearchFilters/filters/Consumption.tsx +52 -52
  185. package/source/components/SearchFilters/filters/Cost.styl +43 -43
  186. package/source/components/SearchFilters/filters/Cost.tsx +112 -112
  187. package/source/components/SearchFilters/filters/CubicCapacity.styl +30 -30
  188. package/source/components/SearchFilters/filters/CubicCapacity.tsx +134 -134
  189. package/source/components/SearchFilters/filters/Damaged.styl +1 -1
  190. package/source/components/SearchFilters/filters/Damaged.tsx +40 -40
  191. package/source/components/SearchFilters/filters/Doors.styl +18 -18
  192. package/source/components/SearchFilters/filters/Doors.tsx +113 -113
  193. package/source/components/SearchFilters/filters/DriveType.styl +22 -22
  194. package/source/components/SearchFilters/filters/DriveType.tsx +72 -72
  195. package/source/components/SearchFilters/filters/EmissionClass.tsx +35 -35
  196. package/source/components/SearchFilters/filters/EmissionSticker.styl +46 -46
  197. package/source/components/SearchFilters/filters/EmissionSticker.tsx +52 -52
  198. package/source/components/SearchFilters/filters/FirstRegistration.tsx +97 -97
  199. package/source/components/SearchFilters/filters/Fuel.styl +27 -27
  200. package/source/components/SearchFilters/filters/Fuel.tsx +75 -75
  201. package/source/components/SearchFilters/filters/Highlights.styl +38 -38
  202. package/source/components/SearchFilters/filters/Highlights.tsx +69 -69
  203. package/source/components/SearchFilters/filters/ImagesCount.tsx +66 -66
  204. package/source/components/SearchFilters/filters/InteriorColor.styl +29 -29
  205. package/source/components/SearchFilters/filters/InteriorColor.tsx +71 -71
  206. package/source/components/SearchFilters/filters/InteriorMaterial.styl +28 -28
  207. package/source/components/SearchFilters/filters/InteriorMaterial.tsx +71 -71
  208. package/source/components/SearchFilters/filters/MakeModel.styl +106 -106
  209. package/source/components/SearchFilters/filters/MakeModel.tsx +164 -164
  210. package/source/components/SearchFilters/filters/Mileage.tsx +108 -108
  211. package/source/components/SearchFilters/filters/OwnerID.styl +14 -14
  212. package/source/components/SearchFilters/filters/OwnerID.tsx +65 -65
  213. package/source/components/SearchFilters/filters/Owners.styl +23 -23
  214. package/source/components/SearchFilters/filters/Owners.tsx +72 -72
  215. package/source/components/SearchFilters/filters/Power.tsx +157 -157
  216. package/source/components/SearchFilters/filters/PriceDifference.tsx +67 -67
  217. package/source/components/SearchFilters/filters/Rate.styl +34 -34
  218. package/source/components/SearchFilters/filters/Rate.tsx +53 -53
  219. package/source/components/SearchFilters/filters/Seats.styl +31 -31
  220. package/source/components/SearchFilters/filters/Seats.tsx +53 -53
  221. package/source/components/SearchFilters/filters/StateOptions.styl +16 -16
  222. package/source/components/SearchFilters/filters/StateOptions.tsx +58 -58
  223. package/source/components/SearchFilters/filters/StateOptionsNew.styl +23 -23
  224. package/source/components/SearchFilters/filters/StateOptionsNew.tsx +72 -72
  225. package/source/components/SearchFilters/filters/Transmission.styl +20 -20
  226. package/source/components/SearchFilters/filters/Transmission.tsx +71 -71
  227. package/source/components/SearchFilters/filters/commonFilters.styl +93 -93
  228. package/source/components/SearchPage/ChipFilter/ChipFilter.styl +45 -45
  229. package/source/components/SearchPage/ChipFilter/ChipFilter.tsx +21 -21
  230. package/source/components/SearchPage/DropDown/DropDown.styl +99 -99
  231. package/source/components/SearchPage/DropDown/DropDown.tsx +52 -52
  232. package/source/components/SearchPage/DropDown/MultiDropDown.tsx +84 -84
  233. package/source/components/SearchPage/DropDown/index.ts +8 -8
  234. package/source/components/SearchPage/Filters/HistogramSlider.styl +77 -77
  235. package/source/components/SearchPage/Filters/MakeModel/MakeModel.story.js +11 -11
  236. package/source/components/SearchPage/Filters/MakeModel/MakeModel.styl +95 -95
  237. package/source/components/SearchPage/Filters/MakeModel/MakeModel.tsx +142 -142
  238. package/source/components/SearchPage/Pagination/Pagination.styl +95 -95
  239. package/source/components/SearchPage/Pagination/Pagination.tsx +89 -89
  240. package/source/components/SearchPage/SearchChips/SearchChips.styl +52 -52
  241. package/source/components/SearchPage/SearchChips/SearchChips.tsx +76 -76
  242. package/source/components/SearchPage/SearchTopBar/SearchTopBar.styl +109 -109
  243. package/source/components/SearchPage/SearchTopBar/SearchTopBar.tsx +116 -116
  244. package/source/components/SearchPageMobile/FiltersContainer/FiltersContainer.styl +44 -44
  245. package/source/components/SearchPageMobile/FiltersContainer/FiltersContainer.tsx +162 -162
  246. package/source/components/SearchPageMobile/FiltersDetailed/BodyType.styl +47 -47
  247. package/source/components/SearchPageMobile/FiltersDetailed/BodyType.tsx +85 -85
  248. package/source/components/SearchPageMobile/FiltersDetailed/Consumption.styl +48 -48
  249. package/source/components/SearchPageMobile/FiltersDetailed/Consumption.tsx +76 -76
  250. package/source/components/SearchPageMobile/FiltersDetailed/Doors.styl +52 -52
  251. package/source/components/SearchPageMobile/FiltersDetailed/Doors.tsx +103 -103
  252. package/source/components/SearchPageMobile/FiltersDetailed/FirstRegistration.tsx +69 -69
  253. package/source/components/SearchPageMobile/FiltersDetailed/Fuel.styl +31 -31
  254. package/source/components/SearchPageMobile/FiltersDetailed/Fuel.tsx +83 -83
  255. package/source/components/SearchPageMobile/FiltersDetailed/HistogramSlider.styl +100 -100
  256. package/source/components/SearchPageMobile/FiltersDetailed/MakeModel.styl +95 -95
  257. package/source/components/SearchPageMobile/FiltersDetailed/MakeModel.tsx +171 -171
  258. package/source/components/SearchPageMobile/FiltersDetailed/MakeModelExclude.styl +112 -112
  259. package/source/components/SearchPageMobile/FiltersDetailed/MakeModelExclude.tsx +122 -122
  260. package/source/components/SearchPageMobile/FiltersDetailed/Mileage.tsx +80 -80
  261. package/source/components/SearchPageMobile/FiltersDetailed/Power.tsx +116 -116
  262. package/source/components/SearchPageMobile/FiltersDetailed/Price.tsx +129 -129
  263. package/source/components/SearchPageMobile/FiltersDetailed/Rate.tsx +252 -252
  264. package/source/components/SearchPageMobile/FiltersDetailed/Seats.styl +41 -41
  265. package/source/components/SearchPageMobile/FiltersDetailed/Seats.tsx +85 -85
  266. package/source/components/SearchWidget/BasicDataWidget/BasicDataWidget.story.js +834 -834
  267. package/source/components/SearchWidget/BasicDataWidget/BasicDataWidget.story.styl +40 -40
  268. package/source/components/SearchWidget/BasicDataWidget/BasicDataWidget.styl +37 -37
  269. package/source/components/SearchWidget/BasicDataWidget/BasicDataWidget.tsx +130 -130
  270. package/source/components/SearchWidget/ColorWidget/BodyColorWidget.styl +54 -54
  271. package/source/components/SearchWidget/ColorWidget/BodyColorWidget.tsx +122 -122
  272. package/source/components/SearchWidget/DriveTransmissionWidget/DriveTransmissionWidget.styl +17 -17
  273. package/source/components/SearchWidget/DriveTransmissionWidget/DriveTransmissionWidget.tsx +36 -36
  274. package/source/components/SearchWidget/EnvironmentWidget/DetailedEnvironmentWidget.styl +25 -25
  275. package/source/components/SearchWidget/EnvironmentWidget/DetailedEnvironmentWidget.tsx +126 -126
  276. package/source/components/SearchWidget/EnvironmentWidget/EnvironmentWidget.styl +54 -54
  277. package/source/components/SearchWidget/EnvironmentWidget/EnvironmentWidget.tsx +173 -173
  278. package/source/components/SearchWidget/HighlightsWidget/HighlightsWidget.styl +39 -39
  279. package/source/components/SearchWidget/HighlightsWidget/HighlightsWidget.tsx +99 -99
  280. package/source/components/SearchWidget/InteriorWidget/DetailedInteriorWidget.tsx +44 -44
  281. package/source/components/SearchWidget/InteriorWidget/InteriorWidget.styl +28 -28
  282. package/source/components/SearchWidget/InteriorWidget/InteriorWidget.tsx +42 -42
  283. package/source/components/SearchWidget/OfferDetalisWidget/OfferDetailsWidgetMobile.tsx +59 -59
  284. package/source/components/SearchWidget/SearchWidget.story.js +191 -191
  285. package/source/components/SearchWidget/SearchWidget.story.styl +5 -5
  286. package/source/components/SearchWidget/SearchWidget.styl +196 -196
  287. package/source/components/SearchWidget/SearchWidget.tsx +208 -208
  288. package/source/components/SearchWidget/StateWidget/StateWidget.styl +57 -57
  289. package/source/components/SearchWidget/StateWidget/StateWidget.tsx +107 -107
  290. package/source/components/SearchWidget/SuperAdminWidget/SuperAdminWidget.styl +10 -10
  291. package/source/components/SearchWidget/SuperAdminWidget/SuperAdminWidget.tsx +64 -64
  292. package/source/components/SearchWidget/partials/BuyCar/BuyCar.styl +19 -19
  293. package/source/components/SearchWidget/partials/BuyCar/BuyCar.tsx +162 -162
  294. package/source/components/SearchWidget/partials/DropDown/DropDown.styl +70 -70
  295. package/source/components/SearchWidget/partials/DropDown/DropDown.tsx +36 -36
  296. package/source/components/SearchWidget/partials/DropDown/MultiDropDown.tsx +76 -76
  297. package/source/components/SearchWidget/partials/DropDown/index.ts +7 -7
  298. package/source/components/SearchWidget/partials/DropDownGroup/DropDownGroup.styl +48 -48
  299. package/source/components/SearchWidget/partials/DropDownGroup/DropDownGroup.tsx +101 -101
  300. package/source/components/SearchWidget/partials/FastSearch/FastSearch.tsx +55 -55
  301. package/source/components/SearchWidget/partials/MakerFilter/MakerFilter.styl +8 -8
  302. package/source/components/SearchWidget/partials/MakerFilter/MakerFilter.tsx +69 -69
  303. package/source/components/SearchWidget/partials/PanelFilter/Item.tsx +43 -43
  304. package/source/components/SearchWidget/partials/PanelFilter/PanelFilter.styl +32 -32
  305. package/source/components/SearchWidget/partials/PanelFilter/PanelFilter.tsx +53 -53
  306. package/source/components/SearchWidget/partials/TabPanel/TabPanel.tsx +29 -29
  307. package/source/components/SearchWidget/partials/Tabs/Tab.tsx +20 -20
  308. package/source/components/SearchWidget/partials/Tabs/Tabs.styl +27 -27
  309. package/source/components/SearchWidget/partials/Tabs/Tabs.tsx +69 -69
  310. package/source/components/SearchWidget/partials/Tabs/index.ts +7 -7
  311. package/source/components/SearchWidgetsMobile/BasicDataWidgetMobile/BasicDataWidgetMobile.styl +91 -91
  312. package/source/components/SearchWidgetsMobile/BasicDataWidgetMobile/BasicDataWidgetMobile.tsx +219 -219
  313. package/source/components/SearchWidgetsMobile/EngineTransDriveWidget/EngineTransDriveWidget.styl +47 -47
  314. package/source/components/SearchWidgetsMobile/EngineTransDriveWidget/EngineTransDriveWidget.tsx +126 -126
  315. package/source/components/SearchWidgetsMobile/EquipmentsWidget/EquipmentsWidget.styl +62 -62
  316. package/source/components/SearchWidgetsMobile/EquipmentsWidget/EquipmentsWidget.styled.tsx +38 -38
  317. package/source/components/SearchWidgetsMobile/EquipmentsWidget/EquipmentsWidget.tsx +294 -294
  318. package/source/components/SearchWidgetsMobile/EquipmentsWidget/EquipmentsWidgetCategory.tsx +50 -50
  319. package/source/components/SearchWidgetsMobile/HighlightsWidgetMobile/HighlightsWidgetMobile.styl +50 -50
  320. package/source/components/SearchWidgetsMobile/HighlightsWidgetMobile/HighlightsWidgetMobile.tsx +96 -96
  321. package/source/components/SearchWidgetsMobile/InteriorWidget/InteriorWidget.styl +30 -30
  322. package/source/components/SearchWidgetsMobile/InteriorWidget/InteriorWidget.tsx +33 -33
  323. package/source/components/SearchWidgetsMobile/InteriorWidget/InteriorWidgetMobile.tsx +44 -44
  324. package/source/components/SearchWidgetsMobile/SafetyWidget/SafetyWidget.styl +45 -45
  325. package/source/components/SearchWidgetsMobile/SafetyWidget/SafetyWidget.tsx +149 -149
  326. package/source/components/SearchWidgetsMobile/StateWidget/StateWidget.styl +59 -59
  327. package/source/components/SearchWidgetsMobile/StateWidget/StateWidget.tsx +172 -172
  328. package/source/components/SearchWidgetsMobile/index.ts +18 -18
  329. package/source/components/Stepper/Step/Step.styl +46 -46
  330. package/source/components/Stepper/Step/Step.tsx +44 -44
  331. package/source/components/Stepper/Stepper.story.js +119 -119
  332. package/source/components/Stepper/Stepper.story.styl +41 -41
  333. package/source/components/Stepper/Stepper.styl +10 -10
  334. package/source/components/Stepper/Stepper.tsx +67 -67
  335. package/source/components/Stepper/StepsDivider/StepsDivider.styl +15 -15
  336. package/source/components/Stepper/StepsDivider/StepsDivider.tsx +23 -23
  337. package/source/components/Theme.story.js +36 -36
  338. package/source/components/Theme.story.styl +85 -85
  339. package/source/components/TickerText/TickerText.story.js +17 -17
  340. package/source/components/TickerText/TickerText.styl +43 -43
  341. package/source/components/TickerText/TickerText.tsx +24 -24
  342. package/source/components/Vehicle/VehicleConsumption/VehicleConsumption.styl +10 -10
  343. package/source/components/Vehicle/VehicleConsumption/VehicleConsumption.tsx +44 -44
  344. package/source/components/Vehicle/VehicleFormattedPrice/VehicleFormattedPrice.story.js +247 -247
  345. package/source/components/Vehicle/VehicleFormattedPrice/VehicleFormattedPrice.styl +148 -148
  346. package/source/components/Vehicle/VehicleFormattedPrice/VehicleFormattedPrice.tsx +137 -137
  347. package/source/components/Vehicle/VehicleTitle/VehicleTitle.story.js +27 -27
  348. package/source/components/Vehicle/VehicleTitle/VehicleTitle.styl +48 -48
  349. package/source/components/Vehicle/VehicleTitle/VehicleTitle.tsx +44 -44
  350. package/source/components/VehicleCompared/CompareGeneral/CompareGeneral.story.js +30 -30
  351. package/source/components/VehicleCompared/CompareGeneral/CompareGeneral.styl +49 -49
  352. package/source/components/VehicleCompared/CompareGeneral/CompareGeneral.tsx +55 -55
  353. package/source/components/VehicleCompared/ComparePrice/ComparePrice.story.js +18 -18
  354. package/source/components/VehicleCompared/ComparePrice/ComparePrice.styl +17 -17
  355. package/source/components/VehicleCompared/ComparePrice/ComparePrice.tsx +33 -33
  356. package/source/components/VehicleCompared/CompareTitle/CompareTitle.story.js +19 -19
  357. package/source/components/VehicleCompared/CompareTitle/CompareTitle.styl +38 -38
  358. package/source/components/VehicleCompared/CompareTitle/CompareTitle.tsx +32 -32
  359. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.story.js +44 -44
  360. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.styl +28 -28
  361. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.tsx +168 -168
  362. package/source/components/VehicleDetailedSidebar/partials/Price.styl +22 -22
  363. package/source/components/VehicleDetailedSidebar/partials/Price.tsx +40 -40
  364. package/source/components/VehicleDetailedSidebar/partials/PriceContent.styl +110 -110
  365. package/source/components/VehicleDetailedSidebar/partials/PriceContent.tsx +124 -124
  366. package/source/components/VehicleDetailedSidebar/partials/Properties.styl +53 -53
  367. package/source/components/VehicleDetailedSidebar/partials/Properties.tsx +117 -117
  368. package/source/components/VehicleDetailedSidebar/partials/Title.styl +35 -35
  369. package/source/components/VehicleDetailedSidebar/partials/Title.tsx +33 -33
  370. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.story.js +120 -120
  371. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.styl +102 -102
  372. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.tsx +285 -285
  373. package/source/components/VehicleDetailedSlider/partials/MobileStast.tsx +61 -61
  374. package/source/components/VehicleDetailedSlider/partials/MobileStats.styl +71 -71
  375. package/source/components/VehicleDetailedSlider/partials/PriceData.styl +71 -71
  376. package/source/components/VehicleDetailedSlider/partials/PriceData.tsx +39 -39
  377. package/source/components/VehicleDetailedSlider/partials/Stats.styl +80 -80
  378. package/source/components/VehicleDetailedSlider/partials/Stats.tsx +62 -62
  379. package/source/components/VehicleDetailedSlider/partials/Title.styl +37 -37
  380. package/source/components/VehicleDetailedSlider/partials/Title.tsx +36 -36
  381. package/source/components/VehiclePromoSlider/VehiclePromoInfo/VehiclePromoInfo.story.js +42 -42
  382. package/source/components/VehiclePromoSlider/VehiclePromoInfo/VehiclePromoInfo.styl +298 -298
  383. package/source/components/VehiclePromoSlider/VehiclePromoInfo/VehiclePromoInfo.tsx +201 -201
  384. package/source/components/VehiclePromoSlider/VehiclePromoSlide/VehiclePromoSlide.story.js +62 -62
  385. package/source/components/VehiclePromoSlider/VehiclePromoSlide/VehiclePromoSlide.styl +263 -263
  386. package/source/components/VehiclePromoSlider/VehiclePromoSlide/VehiclePromoSlide.tsx +141 -141
  387. package/source/components/VehiclePromoSlider/VehiclePromoSlider.story.js +42 -42
  388. package/source/components/VehiclePromoSlider/VehiclePromoSlider.styl +122 -122
  389. package/source/components/VehiclePromoSlider/VehiclePromoSlider.tsx +111 -111
  390. package/source/components/VehiclePromoSlider/cars.js +220 -220
  391. package/source/components/VehicleSmallCard/SeoText/SeoText.styl +8 -8
  392. package/source/components/VehicleSmallCard/SeoText/SeoText.tsx +16 -16
  393. package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.styl +162 -162
  394. package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx +188 -188
  395. package/source/components/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.styl +220 -219
  396. package/source/components/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.tsx +155 -155
  397. package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.styl +126 -126
  398. package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.tsx +304 -304
  399. package/source/components/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.styl +18 -18
  400. package/source/components/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.tsx +32 -32
  401. package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.styl +126 -126
  402. package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.tsx +90 -90
  403. package/source/components/VehicleSmallCard/VehicleSmallCard.story.js +412 -412
  404. package/source/components/VehicleSmallCard/VehicleSmallCard.story.styl +55 -55
  405. package/source/components/VehicleSmallCard/VehicleSmallCard.styl +247 -248
  406. package/source/components/VehicleSmallCard/VehicleSmallCard.tsx +405 -405
  407. package/source/components/VehicleSmallCardForDealerships/VehicleSmallCardForDealerships.story.js +199 -199
  408. package/source/components/VehicleSmallCardForDealerships/VehicleSmallCardForDealerships.story.styl +40 -40
  409. package/source/components/VehicleSmallCardForDealerships/VehicleSmallCardForDealerships.styl +150 -150
  410. package/source/components/VehicleSmallCardForDealerships/VehicleSmallCardForDealerships.tsx +185 -185
  411. package/source/components/_common/Accordion/Accordion.story.js +36 -36
  412. package/source/components/_common/Accordion/Accordion.styl +2 -2
  413. package/source/components/_common/Accordion/Accordion.tsx +132 -132
  414. package/source/components/_common/Accordion/AccordionTitle/AccordionTitle.styl +49 -49
  415. package/source/components/_common/Accordion/AccordionTitle/AccordionTitle.tsx +33 -33
  416. package/source/components/_common/AccordionWrapper/AccordionItem/AccordionItem.styl +34 -34
  417. package/source/components/_common/AccordionWrapper/AccordionItem/AccordionItem.tsx +64 -64
  418. package/source/components/_common/AccordionWrapper/AccordionWrapper.tsx +34 -34
  419. package/source/components/_common/Badge/Badge.story.js +27 -27
  420. package/source/components/_common/Badge/Badge.story.styl +5 -5
  421. package/source/components/_common/Badge/Badge.styl +41 -41
  422. package/source/components/_common/Badge/Badge.tsx +25 -25
  423. package/source/components/_common/BodyTypeIcons/Audi.tsx +9 -9
  424. package/source/components/_common/BodyTypeIcons/Bmw.tsx +860 -860
  425. package/source/components/_common/BodyTypeIcons/Ford.tsx +31 -31
  426. package/source/components/_common/BodyTypeIcons/IconsConfig.tsx +44 -44
  427. package/source/components/_common/BodyTypeIcons/IconsConfigCompact.tsx +30 -30
  428. package/source/components/_common/BodyTypeIcons/Mazda.tsx +44 -44
  429. package/source/components/_common/BodyTypeIcons/MercedesBenz.tsx +38 -38
  430. package/source/components/_common/BodyTypeIcons/Opel.tsx +19 -19
  431. package/source/components/_common/BodyTypeIcons/Search.tsx +19 -19
  432. package/source/components/_common/BodyTypeIcons/SelectorCategoryCombi.tsx +68 -68
  433. package/source/components/_common/BodyTypeIcons/SelectorCategoryCompact.tsx +20 -20
  434. package/source/components/_common/BodyTypeIcons/SelectorCategoryConvertible.tsx +68 -68
  435. package/source/components/_common/BodyTypeIcons/SelectorCategoryCoupe.tsx +60 -60
  436. package/source/components/_common/BodyTypeIcons/SelectorCategoryMinibus.tsx +64 -64
  437. package/source/components/_common/BodyTypeIcons/SelectorCategorySedan.tsx +69 -69
  438. package/source/components/_common/BodyTypeIcons/SelectorCategorySuv.tsx +77 -77
  439. package/source/components/_common/BodyTypeIcons/SelectorCategoryTransporter.tsx +68 -68
  440. package/source/components/_common/BodyTypeIcons/SelectorCategoryVan.tsx +72 -72
  441. package/source/components/_common/BodyTypeIcons/Volkswagen.tsx +330 -330
  442. package/source/components/_common/BodyTypeIcons/index.ts +17 -17
  443. package/source/components/_common/Bubble/Bubble.story.js +52 -52
  444. package/source/components/_common/Bubble/Bubble.styl +53 -53
  445. package/source/components/_common/Bubble/Bubble.tsx +37 -37
  446. package/source/components/_common/Button/Button.story.js +52 -52
  447. package/source/components/_common/Button/Button.story.styl +5 -5
  448. package/source/components/_common/Button/Button.styl +12 -12
  449. package/source/components/_common/Button/Button.styled.tsx +51 -51
  450. package/source/components/_common/Button/Button.tsx +78 -78
  451. package/source/components/_common/ButtonOld/Button.story.js +54 -54
  452. package/source/components/_common/ButtonOld/Button.story.styl +5 -5
  453. package/source/components/_common/ButtonOld/Button.styl +65 -65
  454. package/source/components/_common/ButtonOld/Button.tsx +84 -84
  455. package/source/components/_common/Checkbox/Checkbox.story.js +85 -85
  456. package/source/components/_common/Checkbox/Checkbox.story.styl +14 -14
  457. package/source/components/_common/Checkbox/Checkbox.styl +119 -119
  458. package/source/components/_common/Checkbox/Checkbox.tsx +151 -151
  459. package/source/components/_common/Checkbox/FormCheckbox.styl +22 -22
  460. package/source/components/_common/Checkbox/FormCheckbox.tsx +54 -54
  461. package/source/components/_common/Checkbox/index.js +4 -4
  462. package/source/components/_common/CheckboxMaterial/CheckboxMaterial.story.js +136 -136
  463. package/source/components/_common/CheckboxMaterial/CheckboxMaterial.story.styl +14 -14
  464. package/source/components/_common/CheckboxMaterial/CheckboxMaterial.styl +155 -155
  465. package/source/components/_common/CheckboxMaterial/CheckboxMaterial.tsx +210 -210
  466. package/source/components/_common/CheckboxMaterial/FormCheckboxMaterial.styl +22 -22
  467. package/source/components/_common/CheckboxMaterial/FormCheckboxMaterial.tsx +50 -50
  468. package/source/components/_common/Chip/Chip.story.js +43 -43
  469. package/source/components/_common/Chip/Chip.styl +69 -69
  470. package/source/components/_common/Chip/Chip.tsx +40 -40
  471. package/source/components/_common/ChipList/ChipList.story.js +36 -36
  472. package/source/components/_common/ChipList/ChipList.styl +80 -80
  473. package/source/components/_common/ChipList/ChipList.tsx +58 -58
  474. package/source/components/_common/Co2Widget/CO2Efficiency.styl +114 -114
  475. package/source/components/_common/Co2Widget/CO2Efficiency.tsx +49 -49
  476. package/source/components/_common/Divider/Divider.styl +8 -8
  477. package/source/components/_common/Divider/Divider.tsx +16 -16
  478. package/source/components/_common/DoorSelector/DoorSelector.styl +35 -35
  479. package/source/components/_common/DoorSelector/DoorSelector.tsx +39 -39
  480. package/source/components/_common/DropDown/DropDown.story.js +35 -35
  481. package/source/components/_common/DropDown/DropDown.styl +129 -129
  482. package/source/components/_common/DropDown/DropDown.tsx +111 -111
  483. package/source/components/_common/DropDown/DropDownComponents.tsx +53 -53
  484. package/source/components/_common/DropDown/DropDownGroup.styl +20 -20
  485. package/source/components/_common/DropDown/DropDownGroup.tsx +136 -136
  486. package/source/components/_common/DropDown/FormDropDown.styl +35 -35
  487. package/source/components/_common/DropDown/FormDropDown.tsx +52 -52
  488. package/source/components/_common/DropDown/MultiDropDown.tsx +84 -84
  489. package/source/components/_common/DropDown/index.ts +7 -7
  490. package/source/components/_common/ExpandablePanel/ExpandablePanel.story.js +41 -41
  491. package/source/components/_common/ExpandablePanel/ExpandablePanel.styl +19 -19
  492. package/source/components/_common/ExpandablePanel/ExpandablePanel.tsx +88 -88
  493. package/source/components/_common/ExpansionPanel/ExpansionPanel.styl +36 -36
  494. package/source/components/_common/ExpansionPanel/ExpansionPanel.styled.tsx +28 -28
  495. package/source/components/_common/ExpansionPanel/ExpansionPanel.tsx +99 -99
  496. package/source/components/_common/FilterLabel/FilterLabel.styl +25 -25
  497. package/source/components/_common/FilterLabel/FilterLabel.tsx +27 -27
  498. package/source/components/_common/Histogram/Histogram.story.js +51 -51
  499. package/source/components/_common/IconContainer/IconContainer.styl +23 -23
  500. package/source/components/_common/IconContainer/IconContainer.tsx +34 -34
  501. package/source/components/_common/IconSVG/IconSVG.story.js +21 -21
  502. package/source/components/_common/IconSVG/IconSVG.story.styl +25 -25
  503. package/source/components/_common/IconSVG/IconSVG.tsx +30 -30
  504. package/source/components/_common/IconSVG/IconSVGConfig.tsx +764 -764
  505. package/source/components/_common/IconSVG/SVG/AboPartner.tsx +16 -16
  506. package/source/components/_common/IconSVG/SVG/ArrowQuotes.tsx +22 -22
  507. package/source/components/_common/IconSVG/SVG/CloseIcon.tsx +17 -17
  508. package/source/components/_common/IconSVG/SVG/CloseIconSelect.tsx +18 -18
  509. package/source/components/_common/IconSVG/SVG/ClosedLockIcon.tsx +18 -18
  510. package/source/components/_common/IconSVG/SVG/DealerCheckIcon.tsx +18 -18
  511. package/source/components/_common/IconSVG/SVG/DealerPopoverMail.tsx +21 -21
  512. package/source/components/_common/IconSVG/SVG/DealerPopoverPhone.tsx +21 -21
  513. package/source/components/_common/IconSVG/SVG/GrayPhoneIcon.tsx +22 -22
  514. package/source/components/_common/IconSVG/SVG/InternetIcon.tsx +18 -18
  515. package/source/components/_common/IconSVG/SVG/WhiteEnvelopeIcon.tsx +21 -21
  516. package/source/components/_common/IconSVG/SVG/bodyType/Cabrio.tsx +23 -23
  517. package/source/components/_common/IconSVG/SVG/bodyType/Coupe.tsx +22 -22
  518. package/source/components/_common/IconSVG/SVG/bodyType/Minibus.tsx +22 -22
  519. package/source/components/_common/IconSVG/SVG/bodyType/Other.tsx +25 -25
  520. package/source/components/_common/IconSVG/SVG/bodyType/Sedan.tsx +22 -22
  521. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategoryCombi.tsx +68 -68
  522. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategoryCompact.tsx +20 -20
  523. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategoryConvertible.tsx +68 -68
  524. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategoryCoupe.tsx +60 -60
  525. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategoryMinibus.tsx +64 -64
  526. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategoryOther.tsx +60 -60
  527. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategorySedan.tsx +69 -69
  528. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategorySuv.tsx +77 -77
  529. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategoryTransporter.tsx +68 -68
  530. package/source/components/_common/IconSVG/SVG/bodyType/SelectorCategoryVan.tsx +72 -72
  531. package/source/components/_common/IconSVG/SVG/bodyType/Small.tsx +23 -23
  532. package/source/components/_common/IconSVG/SVG/bodyType/Suv.tsx +23 -23
  533. package/source/components/_common/IconSVG/SVG/bodyType/Van.tsx +23 -23
  534. package/source/components/_common/IconSVG/SVG/bodyType/Wagon.tsx +23 -23
  535. package/source/components/_common/IconSVG/SVG/common/AddIcon.tsx +16 -16
  536. package/source/components/_common/IconSVG/SVG/common/AddPlus.tsx +16 -16
  537. package/source/components/_common/IconSVG/SVG/common/AddressDashboard.tsx +29 -29
  538. package/source/components/_common/IconSVG/SVG/common/AddressIcon.tsx +20 -20
  539. package/source/components/_common/IconSVG/SVG/common/ArrowDetailedAccordionBlue.tsx +26 -26
  540. package/source/components/_common/IconSVG/SVG/common/ArrowDownBlue.tsx +21 -21
  541. package/source/components/_common/IconSVG/SVG/common/ArrowSelect.tsx +23 -23
  542. package/source/components/_common/IconSVG/SVG/common/ArrowStepDown.tsx +18 -18
  543. package/source/components/_common/IconSVG/SVG/common/Autocheck.tsx +19 -19
  544. package/source/components/_common/IconSVG/SVG/common/AutodeLogo.tsx +36 -36
  545. package/source/components/_common/IconSVG/SVG/common/Avatar.tsx +17 -17
  546. package/source/components/_common/IconSVG/SVG/common/BellGray.tsx +19 -19
  547. package/source/components/_common/IconSVG/SVG/common/BigInfoTransparent.tsx +13 -13
  548. package/source/components/_common/IconSVG/SVG/common/Browse.tsx +20 -20
  549. package/source/components/_common/IconSVG/SVG/common/Calendar.tsx +24 -24
  550. package/source/components/_common/IconSVG/SVG/common/CallbackDashboard.tsx +30 -30
  551. package/source/components/_common/IconSVG/SVG/common/Camera.tsx +17 -17
  552. package/source/components/_common/IconSVG/SVG/common/Car.tsx +16 -16
  553. package/source/components/_common/IconSVG/SVG/common/CarBody.tsx +19 -19
  554. package/source/components/_common/IconSVG/SVG/common/CarFront.tsx +43 -43
  555. package/source/components/_common/IconSVG/SVG/common/CarInspectionCheck.tsx +21 -21
  556. package/source/components/_common/IconSVG/SVG/common/CarInspectionScheme0.tsx +32 -32
  557. package/source/components/_common/IconSVG/SVG/common/CarInspectionScheme1.tsx +53 -53
  558. package/source/components/_common/IconSVG/SVG/common/CarInspectionScheme2.tsx +52 -52
  559. package/source/components/_common/IconSVG/SVG/common/CarInspectionScheme3.tsx +32 -32
  560. package/source/components/_common/IconSVG/SVG/common/CarInspectionScheme4.tsx +32 -32
  561. package/source/components/_common/IconSVG/SVG/common/CarInspectionScheme5.tsx +32 -32
  562. package/source/components/_common/IconSVG/SVG/common/CarInspectionScheme6.tsx +32 -32
  563. package/source/components/_common/IconSVG/SVG/common/CarInspectionSchemeGeneral copy.tsx +24 -24
  564. package/source/components/_common/IconSVG/SVG/common/CarInspectionSchemeGeneral.tsx +24 -24
  565. package/source/components/_common/IconSVG/SVG/common/CheckBlue.tsx +18 -18
  566. package/source/components/_common/IconSVG/SVG/common/CheckGreen.tsx +22 -22
  567. package/source/components/_common/IconSVG/SVG/common/CheckMark.tsx +16 -16
  568. package/source/components/_common/IconSVG/SVG/common/CheckWhite.tsx +19 -19
  569. package/source/components/_common/IconSVG/SVG/common/Chevron.tsx +17 -17
  570. package/source/components/_common/IconSVG/SVG/common/CircledCheckmark.tsx +25 -25
  571. package/source/components/_common/IconSVG/SVG/common/Clock.tsx +18 -18
  572. package/source/components/_common/IconSVG/SVG/common/Close.tsx +19 -19
  573. package/source/components/_common/IconSVG/SVG/common/CloseGrey.tsx +22 -22
  574. package/source/components/_common/IconSVG/SVG/common/ContactEmail.tsx +21 -21
  575. package/source/components/_common/IconSVG/SVG/common/ContactPhone.tsx +28 -28
  576. package/source/components/_common/IconSVG/SVG/common/CopyIcon copy.tsx +22 -22
  577. package/source/components/_common/IconSVG/SVG/common/CopyIcon.tsx +22 -22
  578. package/source/components/_common/IconSVG/SVG/common/CopyIconForDealer.tsx +21 -21
  579. package/source/components/_common/IconSVG/SVG/common/DashboardIcon.tsx +20 -20
  580. package/source/components/_common/IconSVG/SVG/common/DashboardQuestionMark.tsx +20 -20
  581. package/source/components/_common/IconSVG/SVG/common/DealersIcon.tsx +20 -20
  582. package/source/components/_common/IconSVG/SVG/common/DeleteCircle.tsx +31 -31
  583. package/source/components/_common/IconSVG/SVG/common/DeleteV1Icon.tsx +18 -18
  584. package/source/components/_common/IconSVG/SVG/common/DeliveryDashboard.tsx +25 -25
  585. package/source/components/_common/IconSVG/SVG/common/DeliveryMail.tsx +24 -24
  586. package/source/components/_common/IconSVG/SVG/common/Discount100De.tsx +18 -18
  587. package/source/components/_common/IconSVG/SVG/common/Discount100En.tsx +19 -19
  588. package/source/components/_common/IconSVG/SVG/common/Discount66De.tsx +28 -28
  589. package/source/components/_common/IconSVG/SVG/common/Discount66En.tsx +20 -20
  590. package/source/components/_common/IconSVG/SVG/common/DoneIcon.tsx +18 -18
  591. package/source/components/_common/IconSVG/SVG/common/EditCircle.tsx +32 -32
  592. package/source/components/_common/IconSVG/SVG/common/EditPriceIcon.tsx +20 -20
  593. package/source/components/_common/IconSVG/SVG/common/EuroCurrency.tsx +18 -18
  594. package/source/components/_common/IconSVG/SVG/common/Export.tsx +20 -20
  595. package/source/components/_common/IconSVG/SVG/common/Eye.tsx +17 -17
  596. package/source/components/_common/IconSVG/SVG/common/EyeCatch.tsx +19 -19
  597. package/source/components/_common/IconSVG/SVG/common/FavoritesIcon.tsx +20 -20
  598. package/source/components/_common/IconSVG/SVG/common/FilterRange.tsx +16 -16
  599. package/source/components/_common/IconSVG/SVG/common/FilterToolBlack.tsx +23 -23
  600. package/source/components/_common/IconSVG/SVG/common/FlagDe.tsx +21 -21
  601. package/source/components/_common/IconSVG/SVG/common/FlagEn.tsx +43 -43
  602. package/source/components/_common/IconSVG/SVG/common/GrayEnvelopeIcon.tsx +19 -19
  603. package/source/components/_common/IconSVG/SVG/common/HamburgerMenuIcon.tsx +18 -18
  604. package/source/components/_common/IconSVG/SVG/common/HandingOverDashboard.tsx +32 -32
  605. package/source/components/_common/IconSVG/SVG/common/ImageSettingsIcon.tsx +20 -20
  606. package/source/components/_common/IconSVG/SVG/common/Info.tsx +16 -16
  607. package/source/components/_common/IconSVG/SVG/common/InfoIcon.tsx +17 -17
  608. package/source/components/_common/IconSVG/SVG/common/InfoTransparent.tsx +18 -18
  609. package/source/components/_common/IconSVG/SVG/common/LogoutIcon.tsx +20 -20
  610. package/source/components/_common/IconSVG/SVG/common/MagnifyingGlass.tsx +31 -31
  611. package/source/components/_common/IconSVG/SVG/common/MenuArrow.tsx +16 -16
  612. package/source/components/_common/IconSVG/SVG/common/MenuGrey.tsx +22 -22
  613. package/source/components/_common/IconSVG/SVG/common/MobileDeLogo.tsx +108 -108
  614. package/source/components/_common/IconSVG/SVG/common/MyOrderIcon.tsx +20 -20
  615. package/source/components/_common/IconSVG/SVG/common/MyVehiclesIcon.tsx +20 -20
  616. package/source/components/_common/IconSVG/SVG/common/NewFlagDe.tsx +25 -25
  617. package/source/components/_common/IconSVG/SVG/common/NewFlagEn.tsx +34 -34
  618. package/source/components/_common/IconSVG/SVG/common/OrderReceivedDashboard.tsx +27 -27
  619. package/source/components/_common/IconSVG/SVG/common/Package.tsx +30 -30
  620. package/source/components/_common/IconSVG/SVG/common/Phone.tsx +18 -18
  621. package/source/components/_common/IconSVG/SVG/common/PhoneGrey.tsx +22 -22
  622. package/source/components/_common/IconSVG/SVG/common/PickupDashboard.tsx +30 -30
  623. package/source/components/_common/IconSVG/SVG/common/Picture.tsx +24 -24
  624. package/source/components/_common/IconSVG/SVG/common/Pictures.tsx +32 -32
  625. package/source/components/_common/IconSVG/SVG/common/Plus.tsx +16 -16
  626. package/source/components/_common/IconSVG/SVG/common/PlusNew.tsx +16 -16
  627. package/source/components/_common/IconSVG/SVG/common/PreparationDashboard.tsx +29 -29
  628. package/source/components/_common/IconSVG/SVG/common/ProfileDashboard.tsx +24 -24
  629. package/source/components/_common/IconSVG/SVG/common/ProfileIcon.tsx +17 -17
  630. package/source/components/_common/IconSVG/SVG/common/Question.tsx +19 -19
  631. package/source/components/_common/IconSVG/SVG/common/QuestionBold.tsx +25 -25
  632. package/source/components/_common/IconSVG/SVG/common/RegistrationDashboard.tsx +31 -31
  633. package/source/components/_common/IconSVG/SVG/common/SavedSearchsIcon.tsx +20 -20
  634. package/source/components/_common/IconSVG/SVG/common/Search.tsx +19 -19
  635. package/source/components/_common/IconSVG/SVG/common/SearchGrey.tsx +22 -22
  636. package/source/components/_common/IconSVG/SVG/common/SettingPenIcon.tsx +20 -20
  637. package/source/components/_common/IconSVG/SVG/common/Share.tsx +16 -16
  638. package/source/components/_common/IconSVG/SVG/common/ShoppingCart.tsx +18 -18
  639. package/source/components/_common/IconSVG/SVG/common/SliderArrow.tsx +21 -21
  640. package/source/components/_common/IconSVG/SVG/common/SliderEye.tsx +17 -17
  641. package/source/components/_common/IconSVG/SVG/common/SortUpDownArrows.tsx +18 -18
  642. package/source/components/_common/IconSVG/SVG/common/Speedometer.tsx +23 -23
  643. package/source/components/_common/IconSVG/SVG/common/Star.tsx +20 -20
  644. package/source/components/_common/IconSVG/SVG/common/StarNew.tsx +16 -16
  645. package/source/components/_common/IconSVG/SVG/common/StarOutline.tsx +20 -20
  646. package/source/components/_common/IconSVG/SVG/common/StarRoundedCorners.tsx +18 -18
  647. package/source/components/_common/IconSVG/SVG/common/Stats.tsx +17 -17
  648. package/source/components/_common/IconSVG/SVG/common/Step1.tsx +21 -21
  649. package/source/components/_common/IconSVG/SVG/common/Step2.tsx +20 -20
  650. package/source/components/_common/IconSVG/SVG/common/Step3.tsx +21 -21
  651. package/source/components/_common/IconSVG/SVG/common/SupportCallbackIcon.tsx +20 -20
  652. package/source/components/_common/IconSVG/SVG/common/Telephone.tsx +22 -22
  653. package/source/components/_common/IconSVG/SVG/common/Time.tsx +17 -17
  654. package/source/components/_common/IconSVG/SVG/common/Timetable.tsx +18 -18
  655. package/source/components/_common/IconSVG/SVG/common/Trash.tsx +22 -22
  656. package/source/components/_common/IconSVG/SVG/common/TrashRed.tsx +23 -23
  657. package/source/components/_common/IconSVG/SVG/common/Upload.tsx +17 -17
  658. package/source/components/_common/IconSVG/SVG/common/UserGrey.tsx +22 -22
  659. package/source/components/_common/IconSVG/SVG/common/UserProfileIcon.tsx +20 -20
  660. package/source/components/_common/IconSVG/SVG/common/ValidateFailure.tsx +21 -21
  661. package/source/components/_common/IconSVG/SVG/common/ValidateSuccess.tsx +21 -21
  662. package/source/components/_common/IconSVG/SVG/common/WarningTriangle.tsx +20 -20
  663. package/source/components/_common/IconSVG/SVG/common/WhiteArrowUp.tsx +21 -21
  664. package/source/components/_common/IconSVG/SVG/common/WhiteKey.tsx +21 -21
  665. package/source/components/_common/IconSVG/SVG/common/WhitePeople.tsx +23 -23
  666. package/source/components/_common/IconSVG/SVG/common/WhiteTick.tsx +19 -19
  667. package/source/components/_common/IconSVG/SVG/flags/AT.tsx +19 -19
  668. package/source/components/_common/IconSVG/SVG/flags/BE.tsx +20 -20
  669. package/source/components/_common/IconSVG/SVG/flags/BG.tsx +20 -20
  670. package/source/components/_common/IconSVG/SVG/flags/CH.tsx +22 -22
  671. package/source/components/_common/IconSVG/SVG/flags/CZ.tsx +18 -18
  672. package/source/components/_common/IconSVG/SVG/flags/DE.tsx +18 -18
  673. package/source/components/_common/IconSVG/SVG/flags/DK.tsx +18 -18
  674. package/source/components/_common/IconSVG/SVG/flags/ES.tsx +2585 -2585
  675. package/source/components/_common/IconSVG/SVG/flags/FI.tsx +18 -18
  676. package/source/components/_common/IconSVG/SVG/flags/FR.tsx +20 -20
  677. package/source/components/_common/IconSVG/SVG/flags/GB.tsx +26 -26
  678. package/source/components/_common/IconSVG/SVG/flags/HR.tsx +135 -135
  679. package/source/components/_common/IconSVG/SVG/flags/HU.tsx +20 -20
  680. package/source/components/_common/IconSVG/SVG/flags/IT.tsx +20 -20
  681. package/source/components/_common/IconSVG/SVG/flags/LI.tsx +106 -106
  682. package/source/components/_common/IconSVG/SVG/flags/LU.tsx +18 -18
  683. package/source/components/_common/IconSVG/SVG/flags/NL.tsx +18 -18
  684. package/source/components/_common/IconSVG/SVG/flags/NO.tsx +20 -20
  685. package/source/components/_common/IconSVG/SVG/flags/PL.tsx +19 -19
  686. package/source/components/_common/IconSVG/SVG/flags/RO.tsx +20 -20
  687. package/source/components/_common/IconSVG/SVG/flags/RU.tsx +20 -20
  688. package/source/components/_common/IconSVG/SVG/flags/SE.tsx +20 -20
  689. package/source/components/_common/IconSVG/SVG/flags/SI.tsx +54 -54
  690. package/source/components/_common/IconSVG/SVG/flags/SK.tsx +35 -35
  691. package/source/components/_common/IconSVG/SVG/flags/UA.tsx +19 -19
  692. package/source/components/_common/IconSVG/SVG/infoBlocks/14DaysReturnPolicy.tsx +18 -18
  693. package/source/components/_common/IconSVG/SVG/infoBlocks/Autocheck.tsx +19 -19
  694. package/source/components/_common/IconSVG/SVG/infoBlocks/CheckTheStory.tsx +22 -22
  695. package/source/components/_common/IconSVG/SVG/infoBlocks/CustomerServiceWhite.tsx +16 -16
  696. package/source/components/_common/IconSVG/SVG/infoBlocks/Guarantee.tsx +16 -16
  697. package/source/components/_common/IconSVG/SVG/infoBlocks/OrderWhite.tsx +13 -13
  698. package/source/components/_common/IconSVG/SVG/infoBlocks/PriceGuarantee.tsx +19 -19
  699. package/source/components/_common/IconSVG/SVG/infoBlocks/PriceGuaranteeWhite.tsx +17 -17
  700. package/source/components/_common/IconSVG/SVG/infoBlocks/TransportAndDelivery.tsx +21 -21
  701. package/source/components/_common/IconSVG/SVG/infoBlocks/Warranty.tsx +23 -23
  702. package/source/components/_common/IconSVG/SVG/popower/Mail.tsx +18 -18
  703. package/source/components/_common/IconSVG/SVG/popower/Phone.tsx +19 -19
  704. package/source/components/_common/IconSVG/SVG/popower/Schedule.tsx +18 -18
  705. package/source/components/_common/IconSVG/SVG/searchWidgets/drive/AAllWheelDrive.tsx +26 -26
  706. package/source/components/_common/IconSVG/SVG/searchWidgets/drive/AllWheelDrive.tsx +26 -26
  707. package/source/components/_common/IconSVG/SVG/searchWidgets/drive/FrontWheelDrive.tsx +25 -25
  708. package/source/components/_common/IconSVG/SVG/searchWidgets/drive/OtherWheelDrive.tsx +26 -26
  709. package/source/components/_common/IconSVG/SVG/searchWidgets/drive/RearWheelDrive.tsx +25 -25
  710. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelDiesel.tsx +18 -18
  711. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelElectrical.tsx +19 -19
  712. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelElectricalDiesel.tsx +34 -34
  713. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelElectricalPetrol.tsx +20 -20
  714. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelEthanol.tsx +53 -53
  715. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelHydrogen.tsx +24 -24
  716. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelLpg.tsx +24 -24
  717. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelNaturalGas.tsx +23 -23
  718. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelOther.tsx +28 -28
  719. package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelPetrol.tsx +18 -18
  720. package/source/components/_common/IconSVG/SVG/settings/Account.tsx +17 -17
  721. package/source/components/_common/IconSVG/SVG/settings/DataUsage.tsx +17 -17
  722. package/source/components/_common/IconSVG/SVG/settings/MarketResearch.tsx +17 -17
  723. package/source/components/_common/IconSVG/SVG/settings/Newsletter.tsx +17 -17
  724. package/source/components/_common/IconSVG/SVG/settings/RemoveEye.tsx +17 -17
  725. package/source/components/_common/IconSVG/SVG/settings/RemoveEyeOff.tsx +17 -17
  726. package/source/components/_common/IconSVG/SVG/settings/Security.tsx +17 -17
  727. package/source/components/_common/IconSVG/SVG/settings/Warning.tsx +17 -17
  728. package/source/components/_common/IconSVG/SVG/slider/360.tsx +23 -23
  729. package/source/components/_common/IconSVG/SVG/slider/360New.tsx +20 -20
  730. package/source/components/_common/IconSVG/SVG/slider/Checked.tsx +19 -19
  731. package/source/components/_common/IconSVG/SVG/slider/DiscountRibbon.tsx +51 -51
  732. package/source/components/_common/IconSVG/SVG/slider/DiscountRibbonMobile.tsx +47 -47
  733. package/source/components/_common/IconSVG/SVG/slider/DiscountRibbonNew.tsx +29 -29
  734. package/source/components/_common/IconSVG/SVG/slider/Easy.tsx +19 -19
  735. package/source/components/_common/IconSVG/SVG/slider/Fullscreen.tsx +16 -16
  736. package/source/components/_common/IconSVG/SVG/slider/FullscreenWindow.tsx +23 -23
  737. package/source/components/_common/IconSVG/SVG/slider/Safe.tsx +19 -19
  738. package/source/components/_common/IconSVG/SVG/slider/ToBuy.tsx +19 -19
  739. package/source/components/_common/IconSVG/SVG/slider/ZoomIn.tsx +21 -21
  740. package/source/components/_common/IconSVG/SVG/slider/ZoomOut.tsx +21 -21
  741. package/source/components/_common/IconSVG/SVG/social/AndroidLogo.tsx +18 -18
  742. package/source/components/_common/IconSVG/SVG/social/Apple.tsx +19 -19
  743. package/source/components/_common/IconSVG/SVG/social/FacebookF.tsx +19 -19
  744. package/source/components/_common/IconSVG/SVG/social/GooglePlusG.tsx +19 -19
  745. package/source/components/_common/IconSVG/SVG/social/Instagram.tsx +17 -17
  746. package/source/components/_common/IconSVG/SVG/social/Pinterest.tsx +19 -19
  747. package/source/components/_common/IconSVG/SVG/social/SharingInterface.tsx +21 -21
  748. package/source/components/_common/IconSVG/SVG/social/Twitter.tsx +19 -19
  749. package/source/components/_common/IconSVG/SVG/social/Youtube.tsx +19 -19
  750. package/source/components/_common/IconSVG/SVG/vehicle/AboIcon.tsx +11 -11
  751. package/source/components/_common/IconSVG/SVG/vehicle/Abs.tsx +24 -24
  752. package/source/components/_common/IconSVG/SVG/vehicle/AirCond.tsx +34 -34
  753. package/source/components/_common/IconSVG/SVG/vehicle/Airbag.tsx +21 -21
  754. package/source/components/_common/IconSVG/SVG/vehicle/AuxiliaryHeating.tsx +23 -23
  755. package/source/components/_common/IconSVG/SVG/vehicle/Bluetooth.tsx +22 -22
  756. package/source/components/_common/IconSVG/SVG/vehicle/BuyIcon.tsx +15 -15
  757. package/source/components/_common/IconSVG/SVG/vehicle/CarAvailability.tsx +22 -22
  758. package/source/components/_common/IconSVG/SVG/vehicle/CarInspectionCheck.tsx +21 -21
  759. package/source/components/_common/IconSVG/SVG/vehicle/CarInspectionCross.tsx +21 -21
  760. package/source/components/_common/IconSVG/SVG/vehicle/CheckoutChecked.tsx +15 -15
  761. package/source/components/_common/IconSVG/SVG/vehicle/Co2.tsx +24 -24
  762. package/source/components/_common/IconSVG/SVG/vehicle/CruiseControl.tsx +25 -25
  763. package/source/components/_common/IconSVG/SVG/vehicle/Date.tsx +21 -21
  764. package/source/components/_common/IconSVG/SVG/vehicle/Delivery.tsx +12 -12
  765. package/source/components/_common/IconSVG/SVG/vehicle/Diesel.tsx +28 -28
  766. package/source/components/_common/IconSVG/SVG/vehicle/Display.tsx +25 -25
  767. package/source/components/_common/IconSVG/SVG/vehicle/Done.tsx +11 -11
  768. package/source/components/_common/IconSVG/SVG/vehicle/Door.tsx +19 -19
  769. package/source/components/_common/IconSVG/SVG/vehicle/DoubleDone.tsx +18 -18
  770. package/source/components/_common/IconSVG/SVG/vehicle/EditIcon.tsx +11 -11
  771. package/source/components/_common/IconSVG/SVG/vehicle/EmergencyBrakeAssistant.tsx +27 -27
  772. package/source/components/_common/IconSVG/SVG/vehicle/Eps.tsx +24 -24
  773. package/source/components/_common/IconSVG/SVG/vehicle/Esp.tsx +24 -24
  774. package/source/components/_common/IconSVG/SVG/vehicle/FinancingIcon.tsx +20 -20
  775. package/source/components/_common/IconSVG/SVG/vehicle/FuelConsumption.tsx +20 -20
  776. package/source/components/_common/IconSVG/SVG/vehicle/Fueling.tsx +22 -22
  777. package/source/components/_common/IconSVG/SVG/vehicle/FullDrive.tsx +24 -24
  778. package/source/components/_common/IconSVG/SVG/vehicle/GasElectric.tsx +28 -28
  779. package/source/components/_common/IconSVG/SVG/vehicle/HandsFreePhoneSystem.tsx +24 -24
  780. package/source/components/_common/IconSVG/SVG/vehicle/Kw.tsx +23 -23
  781. package/source/components/_common/IconSVG/SVG/vehicle/LastCrawledAt.tsx +22 -22
  782. package/source/components/_common/IconSVG/SVG/vehicle/LeasingIcon.tsx +14 -14
  783. package/source/components/_common/IconSVG/SVG/vehicle/Led.tsx +24 -24
  784. package/source/components/_common/IconSVG/SVG/vehicle/LightSensor.tsx +22 -22
  785. package/source/components/_common/IconSVG/SVG/vehicle/LinkAlternative.tsx +15 -15
  786. package/source/components/_common/IconSVG/SVG/vehicle/Location.tsx +17 -17
  787. package/source/components/_common/IconSVG/SVG/vehicle/MinusIcon.tsx +11 -11
  788. package/source/components/_common/IconSVG/SVG/vehicle/Mirror.tsx +19 -19
  789. package/source/components/_common/IconSVG/SVG/vehicle/Navigation.tsx +27 -27
  790. package/source/components/_common/IconSVG/SVG/vehicle/NewCar.tsx +21 -21
  791. package/source/components/_common/IconSVG/SVG/vehicle/NoImage.tsx +17 -17
  792. package/source/components/_common/IconSVG/SVG/vehicle/Owner.tsx +18 -18
  793. package/source/components/_common/IconSVG/SVG/vehicle/PanoramicRoof.tsx +23 -23
  794. package/source/components/_common/IconSVG/SVG/vehicle/ParkingAssistants.tsx +24 -24
  795. package/source/components/_common/IconSVG/SVG/vehicle/PickYourself.tsx +18 -18
  796. package/source/components/_common/IconSVG/SVG/vehicle/PlusIcon.tsx +11 -11
  797. package/source/components/_common/IconSVG/SVG/vehicle/Power.tsx +21 -21
  798. package/source/components/_common/IconSVG/SVG/vehicle/Ps.tsx +19 -19
  799. package/source/components/_common/IconSVG/SVG/vehicle/Question.tsx +24 -24
  800. package/source/components/_common/IconSVG/SVG/vehicle/Seats.tsx +21 -21
  801. package/source/components/_common/IconSVG/SVG/vehicle/SeatsHeating.tsx +26 -26
  802. package/source/components/_common/IconSVG/SVG/vehicle/SelectorGearboxAutomatic.tsx +24 -24
  803. package/source/components/_common/IconSVG/SVG/vehicle/SelectorGearboxManualShift.tsx +19 -19
  804. package/source/components/_common/IconSVG/SVG/vehicle/SelectorGearboxOther.tsx +24 -24
  805. package/source/components/_common/IconSVG/SVG/vehicle/SelectorGearboxSemiAutomatic.tsx +30 -30
  806. package/source/components/_common/IconSVG/SVG/vehicle/SelectorInteriorTypeAlcantara.tsx +225 -225
  807. package/source/components/_common/IconSVG/SVG/vehicle/SelectorInteriorTypeFabric.tsx +29 -29
  808. package/source/components/_common/IconSVG/SVG/vehicle/SelectorInteriorTypeFullLeather.tsx +29 -29
  809. package/source/components/_common/IconSVG/SVG/vehicle/SelectorInteriorTypeOther.tsx +26 -26
  810. package/source/components/_common/IconSVG/SVG/vehicle/SelectorInteriorTypePartLeather.tsx +142 -142
  811. package/source/components/_common/IconSVG/SVG/vehicle/SelectorInteriorTypeSyntheticLeather.tsx +27 -27
  812. package/source/components/_common/IconSVG/SVG/vehicle/SelectorInteriorTypeVelours.tsx +39 -39
  813. package/source/components/_common/IconSVG/SVG/vehicle/Shield.tsx +39 -39
  814. package/source/components/_common/IconSVG/SVG/vehicle/Speedometer.tsx +17 -17
  815. package/source/components/_common/IconSVG/SVG/vehicle/StartStopSystem.tsx +30 -30
  816. package/source/components/_common/IconSVG/SVG/vehicle/Stop.tsx +25 -25
  817. package/source/components/_common/IconSVG/SVG/vehicle/TickMark.tsx +21 -21
  818. package/source/components/_common/IconSVG/SVG/vehicle/TrafficSignRecognition.tsx +29 -29
  819. package/source/components/_common/IconSVG/SVG/vehicle/TrailerCoupling.tsx +24 -24
  820. package/source/components/_common/IconSVG/SVG/vehicle/Transmission.tsx +27 -27
  821. package/source/components/_common/IconSVG/SVG/vehicle/Wheel.tsx +43 -43
  822. package/source/components/_common/IconSVG/SVG/vehicle/Wipers.tsx +22 -22
  823. package/source/components/_common/IconSVG/SVG/vehicle/Wrench.tsx +17 -17
  824. package/source/components/_common/Image/Image.story.js +142 -142
  825. package/source/components/_common/Image/Image.story.styl +18 -18
  826. package/source/components/_common/Image/Image.styl +109 -109
  827. package/source/components/_common/Image/Image.tsx +302 -302
  828. package/source/components/_common/ImagesSet/ImagesSet.story.js +34 -34
  829. package/source/components/_common/ImagesSet/ImagesSet.story.styl +3 -3
  830. package/source/components/_common/ImagesSet/ImagesSet.styl +27 -27
  831. package/source/components/_common/ImagesSet/ImagesSet.tsx +76 -76
  832. package/source/components/_common/Loader/Loader.story.js +21 -21
  833. package/source/components/_common/Loader/Loader.styl +39 -39
  834. package/source/components/_common/Loader/Loader.tsx +32 -32
  835. package/source/components/_common/MagnifyGlass/MagnifyGlass.styl +33 -33
  836. package/source/components/_common/MagnifyGlass/MagnifyGlass.tsx +213 -213
  837. package/source/components/_common/MaterialAccordion/MaterialAccordion.tsx +149 -149
  838. package/source/components/_common/MaterialAccordionGroup/MaterialAccordionGroup.story.js +49 -49
  839. package/source/components/_common/MaterialAccordionGroup/MaterialAccordionGroup.styled.tsx +71 -71
  840. package/source/components/_common/MaterialAccordionGroup/MaterialAccordionGroup.tsx +40 -40
  841. package/source/components/_common/MaterialAutocomplete/MaterialAutocomplete.styled.tsx +204 -204
  842. package/source/components/_common/MaterialAutocomplete/MaterialAutocomplete.tsx +251 -251
  843. package/source/components/_common/MaterialDatePicker/MaterialDatePicker.story.js +45 -45
  844. package/source/components/_common/MaterialDatePicker/MaterialDatePicker.story.styl +5 -5
  845. package/source/components/_common/MaterialDatePicker/MaterialDatePicker.styled.tsx +21 -21
  846. package/source/components/_common/MaterialDatePicker/MaterialDatePicker.tsx +112 -112
  847. package/source/components/_common/MaterialField/MaterialField.story.js +87 -87
  848. package/source/components/_common/MaterialField/MaterialField.story.styl +33 -33
  849. package/source/components/_common/MaterialField/MaterialField.styled.tsx +52 -52
  850. package/source/components/_common/MaterialField/MaterialField.tsx +120 -120
  851. package/source/components/_common/MaterialSelect/MaterialSelect.story.js +52 -52
  852. package/source/components/_common/MaterialSelect/MaterialSelect.story.styl +5 -5
  853. package/source/components/_common/MaterialSelect/MaterialSelect.styled.tsx +126 -126
  854. package/source/components/_common/MaterialSelect/MaterialSelect.tsx +222 -222
  855. package/source/components/_common/MaterialStepButton/MaterialStepButton.story.js +47 -47
  856. package/source/components/_common/MaterialStepButton/MaterialStepButton.story.styl +5 -5
  857. package/source/components/_common/MaterialStepButton/MaterialStepButton.styl +32 -32
  858. package/source/components/_common/MaterialStepButton/MaterialStepButton.tsx +61 -61
  859. package/source/components/_common/MaterialSwitch/MaterialSwitch.story.js +17 -17
  860. package/source/components/_common/MaterialSwitch/MaterialSwitch.styled.tsx +5 -5
  861. package/source/components/_common/MaterialSwitch/MaterialSwitch.tsx +35 -35
  862. package/source/components/_common/MaterialTooltip/MaterialTooltip.story.js +10 -10
  863. package/source/components/_common/MaterialTooltip/MaterialTooltip.styled.tsx +8 -8
  864. package/source/components/_common/MaterialTooltip/MaterialTooltip.tsx +56 -56
  865. package/source/components/_common/Modal/CookieModal.tsx +40 -40
  866. package/source/components/_common/Modal/Modal.story.js +37 -37
  867. package/source/components/_common/Modal/Modal.styled.tsx +13 -13
  868. package/source/components/_common/Modal/Modal.tsx +27 -27
  869. package/source/components/_common/Modal/ModalsConfig.tsx +19 -19
  870. package/source/components/_common/Modal/modals/ManageCookieModal/ManageCookieModal.styl +67 -67
  871. package/source/components/_common/Modal/modals/ManageCookieModal/ManageCookieModal.tsx +147 -147
  872. package/source/components/_common/Modal/modals/PreviewCookieModal/PreviewCookieModal.styl +44 -44
  873. package/source/components/_common/Modal/modals/PreviewCookieModal/PreviewCookieModal.tsx +33 -33
  874. package/source/components/_common/Modal/modals/TestModal.tsx +7 -7
  875. package/source/components/_common/MuiDropDown/MuiDropDown.tsx +93 -93
  876. package/source/components/_common/MuiGroupedSelect/MuiGroupedSelect.story.js +21 -21
  877. package/source/components/_common/MuiGroupedSelect/MuiGroupedSelect.tsx +87 -87
  878. package/source/components/_common/OfferRequestButtonWrapper/OfferRequestButtonWrapper.styl +119 -119
  879. package/source/components/_common/OfferRequestButtonWrapper/OfferRequestButtonWrapper.styled.tsx +23 -23
  880. package/source/components/_common/OfferRequestButtonWrapper/OfferRequestButtonWrapper.tsx +118 -118
  881. package/source/components/_common/PropertySelector/FormPSGroup.story.js +36 -36
  882. package/source/components/_common/PropertySelector/FormPSGroup.story.styl +5 -5
  883. package/source/components/_common/PropertySelector/FormPSGroup.styl +22 -22
  884. package/source/components/_common/PropertySelector/FormPSGroup.tsx +54 -54
  885. package/source/components/_common/PropertySelector/PSGroup.story.js +93 -93
  886. package/source/components/_common/PropertySelector/PSGroup.story.styl +25 -25
  887. package/source/components/_common/PropertySelector/PSGroup.styl +5 -5
  888. package/source/components/_common/PropertySelector/PSGroup.tsx +98 -98
  889. package/source/components/_common/PropertySelector/PropertySelector.styl +139 -139
  890. package/source/components/_common/PropertySelector/PropertySelector.tsx +100 -100
  891. package/source/components/_common/PropertySelector/ProperySelector.story.js +83 -83
  892. package/source/components/_common/Radio/FormRadioGroup.story.js +28 -28
  893. package/source/components/_common/Radio/FormRadioGroup.story.styl +2 -2
  894. package/source/components/_common/Radio/FormRadioGroup.styl +22 -22
  895. package/source/components/_common/Radio/FormRadioGroup.tsx +52 -52
  896. package/source/components/_common/Radio/Radio.story.js +54 -54
  897. package/source/components/_common/Radio/Radio.styl +115 -115
  898. package/source/components/_common/Radio/Radio.tsx +141 -141
  899. package/source/components/_common/Radio/RadioGroup.story.js +90 -90
  900. package/source/components/_common/Radio/RadioGroup.story.styl +39 -39
  901. package/source/components/_common/Radio/RadioGroup.styl +5 -5
  902. package/source/components/_common/Radio/RadioGroup.tsx +65 -65
  903. package/source/components/_common/Range/Range.story.js +46 -46
  904. package/source/components/_common/Range/Range.story.styl +4 -4
  905. package/source/components/_common/Range/Range.styl +71 -71
  906. package/source/components/_common/Range/Range.tsx +69 -69
  907. package/source/components/_common/Skeleton/SkeletonItem.styl +80 -80
  908. package/source/components/_common/Skeleton/SkeletonItem.tsx +80 -80
  909. package/source/components/_common/Skeleton/SkeletonSearchItem.styl +123 -123
  910. package/source/components/_common/Skeleton/SkeletonSearchItem.tsx +92 -92
  911. package/source/components/_common/Slider/Slider.styl +2 -2
  912. package/source/components/_common/Slider/Slider.tsx +130 -130
  913. package/source/components/_common/SliderArrow/SliderArrow.story.js +18 -18
  914. package/source/components/_common/SliderArrow/SliderArrow.styl +32 -32
  915. package/source/components/_common/SliderArrow/SliderArrow.tsx +36 -36
  916. package/source/components/_common/StarButton/StarButton.styl +39 -39
  917. package/source/components/_common/StarButton/StarButton.tsx +31 -31
  918. package/source/components/_common/Tabs/TabPanel.tsx +28 -28
  919. package/source/components/_common/Tabs/Tabs.story.js +55 -55
  920. package/source/components/_common/Tabs/Tabs.styl +40 -40
  921. package/source/components/_common/Tabs/Tabs.tsx +44 -44
  922. package/source/components/_common/TextAreaField/TextAreaField.styl +47 -47
  923. package/source/components/_common/TextAreaField/TextAreaField.tsx +74 -74
  924. package/source/components/_common/TextField/FormTextField.story.js +21 -21
  925. package/source/components/_common/TextField/FormTextField.styl +35 -35
  926. package/source/components/_common/TextField/FormTextField.tsx +54 -54
  927. package/source/components/_common/TextField/TextField.styl +37 -37
  928. package/source/components/_common/TextField/TextField.tsx +77 -77
  929. package/source/components/_common/TimePicker/TimePicker.story.js +37 -37
  930. package/source/components/_common/TimePicker/TimePicker.styl +22 -22
  931. package/source/components/_common/TimePicker/TimePicker.tsx +146 -146
  932. package/source/components/_common/Tooltip/Tooltip.story.js +28 -28
  933. package/source/components/_common/Tooltip/Tooltip.styl +117 -117
  934. package/source/components/_common/Tooltip/Tooltip.tsx +62 -62
  935. package/source/components/_common/UserMenu/MaterialMenu.story.js +56 -56
  936. package/source/components/_common/UserMenu/MaterialMenu.styled.tsx +82 -82
  937. package/source/components/_common/UserMenu/MaterialMenu.tsx +95 -95
  938. package/source/components/_common/UserMenu/MaterialMenuItem.tsx +52 -52
  939. package/source/components/_common/Usp/Usp.styl +78 -78
  940. package/source/components/_common/Usp/Usp.tsx +30 -30
  941. package/source/components/_common/VehicleSlider/VehicleSlider.story.js +99 -99
  942. package/source/components/_common/VehicleSlider/VehicleSlider.styl +62 -62
  943. package/source/components/_common/VehicleSlider/VehicleSlider.tsx +125 -125
  944. package/source/components/_common/VehicleSlider/VehicleSliderForSRL.tsx +170 -170
  945. package/source/components/_common/withLabel/withLabel.story.js +62 -62
  946. package/source/components/_common/withLabel/withLabel.styl +33 -33
  947. package/source/components/_common/withLabel/withLabel.tsx +44 -44
  948. package/source/components/_common/withPopover/withPopover.story.js +48 -48
  949. package/source/components/_common/withPopover/withPopover.story.styl +53 -53
  950. package/source/components/_common/withPopover/withPopover.styl +3 -3
  951. package/source/components/_common/withPopover/withPopover.tsx +88 -88
  952. package/source/components/_common/withStats/withStats.story.js +75 -75
  953. package/source/components/_common/withStats/withStats.styl +150 -150
  954. package/source/components/_common/withStats/withStats.tsx +185 -185
  955. package/source/components/containers/SearchPage/FiltersContainer/FiltersContainer.styl +54 -54
  956. package/source/components/containers/SearchPage/FiltersContainer/FiltersContainer.tsx +424 -424
  957. package/source/framework/DataTransformers.ts +80 -80
  958. package/source/framework/constants/RateSearchWidget.ts +15 -15
  959. package/source/framework/constants/Search.ts +290 -290
  960. package/source/framework/constants/SearchWidget.ts +108 -108
  961. package/source/framework/constants/app.ts +223 -223
  962. package/source/framework/constants/cars.ts +36 -36
  963. package/source/framework/constants/common.ts +31 -31
  964. package/source/framework/constants/data.ts +52 -52
  965. package/source/framework/constants/filters.ts +11 -11
  966. package/source/framework/constants/highlights.ts +165 -165
  967. package/source/framework/constants/price.ts +9 -9
  968. package/source/framework/constants/queryBuilder.ts +4 -4
  969. package/source/framework/constants/selectors.ts +38 -38
  970. package/source/framework/constants.ts +116 -116
  971. package/source/framework/data.ts +6 -6
  972. package/source/framework/factories/BreadcrumbsFactory.tsx +278 -278
  973. package/source/framework/factories/FactoryTypes.d.ts +30 -30
  974. package/source/framework/factories/FilterFactory.ts +364 -364
  975. package/source/framework/factories/ModalsFactory.tsx +11 -11
  976. package/source/framework/hooks/useModal.ts +13 -13
  977. package/source/framework/schemes/AggregationScheme.ts +73 -73
  978. package/source/framework/types/types.ts +336 -336
  979. package/source/framework/utils/CommonUtils.ts +566 -566
  980. package/source/framework/utils/CookieUtils.ts +61 -61
  981. package/source/framework/utils/DateUtils.ts +93 -93
  982. package/source/framework/utils/FiltersUtils.ts +234 -234
  983. package/source/framework/utils/RequestUtils.ts +20 -20
  984. package/source/framework/utils/StyledComponent.ts +2 -2
  985. package/source/framework/vehiclesProps/cbdSelectors.ts +117 -117
  986. package/source/framework/vehiclesProps/decoratedLightProps.tsx +345 -345
  987. package/source/framework/vehiclesProps/decoratedProps.tsx +1036 -1036
  988. package/source/framework/vehiclesProps/equipment.ts +129 -129
  989. package/source/framework/vehiclesProps/highlights.ts +54 -54
  990. package/source/framework/vehiclesProps/vehicleDetails.ts +329 -329
  991. package/source/globals.d.ts +18 -18
  992. package/source/locales/SearchDetailedPage.ts +205 -205
  993. package/source/locales/SearchPage.ts +224 -224
  994. package/source/locales/cbd.ts +719 -719
  995. package/source/locales/common.ts +109 -109
  996. package/source/locales/data.ts +1078 -1078
  997. package/source/locales/priceRating.ts +10 -10
  998. package/source/locales/sortingOptions.ts +21 -21
  999. package/source/theme/colors.styl +46 -46
  1000. package/source/theme/mixins.styl +93 -93
  1001. package/source/theme/priceReviewColors.styl +12 -12
  1002. package/source/theme/selector_colors.styl +61 -61
  1003. package/source/theme/slider.global.styl +3 -3
  1004. package/source/theme/theme.styl +136 -136
  1005. package/tsconfig.json +63 -63
  1006. package/tslint.json +40 -40
  1007. package/utils.ts +33 -33
@@ -1,1036 +1,1036 @@
1
- import * as React from 'react';
2
- import { isNull } from 'util';
3
- import moment from 'moment';
4
-
5
- import Icon from '../../components/_common/IconContainer/IconContainer';
6
- import CO2Efficiency from '../../components/_common/Co2Widget/CO2Efficiency';
7
- import { formatTimestamp } from '../utils/DateUtils';
8
- import { formatMileage } from '../utils/CommonUtils';
9
- import { EMISSION_STICKERS_ICONS, WP_EMISSION_STICKERS_ICONS } from '../constants/Search';
10
- import { DELIVERY_PERIODS_EXTRA } from '../constants';
11
- import { IDecoratedProp, ICar } from '../types/types';
12
-
13
- const formatDeliveryPeriod = (t: (key: string, options?: object) => string, deliveryPeriod: string) => {
14
- const count: number = +DELIVERY_PERIODS_EXTRA.find((period: any) => period.value === deliveryPeriod).label;
15
- // months until delivery date unrounded (float)
16
- const monthsTo: number = moment.utc().diff(moment.utc().subtract(count, 'd'), 'M', true);
17
- return Math.round(monthsTo) > 1
18
- ? t('vehicleProps:value.deliveryPeriodMonths', { count: Math.round(monthsTo) })
19
- : t('vehicleProps:value.deliveryPeriodDays', { count });
20
- };
21
-
22
- const isPropDefined = (prop: any) => {
23
- const type = typeof prop;
24
- if (type === 'string') {
25
- return prop.indexOf('other') === -1
26
- && prop.indexOf('unknown') === -1;
27
- }
28
- return !isNull(prop) && type !== 'undefined';
29
- };
30
-
31
- const isCheckedBatteryTime = (prop: any, t: (key: string, options?: object) => string) => {
32
- switch (prop) {
33
- case 'selector_batteryCharchingDurationMinutes':
34
- return 'min';
35
- break;
36
- case 'selector_batteryCharchingDurationHours':
37
- return 'h';
38
- break;
39
- default:
40
- return t('vehicleProps:value.na');
41
- }
42
- };
43
-
44
- export const getPowerLabel = (powerKW: number, powerPS: number): string => {
45
- const powerKWlabel = !!powerKW ? `${powerKW} kW ` : '';
46
- const powerPSlabel = !!powerPS ? `${!!powerKW ? '(' : ''}${powerPS} PS${!!powerKW ? ')' : ''}` : '';
47
- const powerKWpowerPS = `${powerKWlabel}${powerPSlabel}`;
48
-
49
- return powerKWpowerPS;
50
- };
51
-
52
- const getDecoratedProps = (
53
- car: ICar, // @TODO should have a proper interface
54
- t: (key: string, options?: object) => string,
55
- language: string = 'en',
56
- simplifiedLabels: boolean = false // shortened labels for repsonsive layout (see 'power')
57
- ): IDecoratedProp => {
58
- const {
59
- offer = {},
60
- // countryName,
61
- mainData: {
62
- firstRegistration = '',
63
- mileage = '',
64
- numberOfPreviousOwners = '',
65
- doors = '',
66
- usageType = '',
67
- countryVersion = '',
68
- condition = '',
69
- damaged = '',
70
- category = '',
71
- seats = '',
72
- nonSmokerVehicle = '',
73
- make = '',
74
- model = ''
75
- } = {}
76
- } = car;
77
- const props: any = {
78
- makeModel: {
79
- title: t('vehicleProps:title.makeModel'),
80
- get value() { return `${make} ${model}`; }
81
- },
82
- mileage: {
83
- title: t('vehicleProps:title.mileage'),
84
- icon: 'speed',
85
- get value() {
86
- return Number.isFinite(parseInt(mileage, 10))
87
- ? t('vehicleProps:value.mileage', { mileage: formatMileage(mileage) })
88
- : t('vehicleProps:value.na');
89
- }
90
- },
91
-
92
- firstRegistration: {
93
- title: t('vehicleProps:title.firstRegistration'),
94
- icon: 'date',
95
- get value() {
96
- return Number.isFinite(firstRegistration)
97
- ? formatTimestamp({ timestamp: firstRegistration, format: 'MM/YYYY' })
98
- : t('vehicleProps:value.na');
99
- }
100
- },
101
-
102
- numberOfPreviousOwners: {
103
- title: t('vehicleProps:title.numberOfPreviousOwners'),
104
- icon: 'owner',
105
- get value() {
106
- return Number.isFinite(numberOfPreviousOwners)
107
- ? t('vehicleProps:value.vehicleOwners', { count: numberOfPreviousOwners })
108
- : t('vehicleProps:value.na');
109
- }
110
- },
111
-
112
- doorsOnly: {
113
- icon: 'door',
114
- get value() {
115
- if (doors > 0) {
116
- return t('vehicleProps:value.doorsOnly', { doors });
117
- }
118
-
119
- return t('vehicleProps:value.na');
120
- }
121
- },
122
-
123
- usageType: {
124
- icon: 'new',
125
- get value() {
126
- if (condition === 'selector_condition_new') return t('vehicleProps:value.newCar');
127
- return isPropDefined(usageType) ? t(`cbd:${usageType}`) : t('cbd:selector_condition_used');
128
- }
129
- },
130
-
131
- gearbox: {
132
- get icon() {
133
- const gearbox = car.driveSuspension.gearbox;
134
- return isPropDefined(gearbox) ? car.driveSuspension.gearbox : 'selector_gearbox_manualShift';
135
- },
136
- get value() {
137
- const gearbox = car.driveSuspension.gearbox;
138
- return isPropDefined(gearbox) ? t(`cbd:${gearbox}`) : t('vehicleProps:value.na');
139
- }
140
- },
141
-
142
- power: {
143
- title: t('vehicleProps:title.power'),
144
- icon: 'ps',
145
- get value() {
146
- const { powerKW, powerPS } = car.engineData;
147
-
148
- if (Number.isFinite(powerKW) && Number.isFinite(powerPS)) {
149
- return simplifiedLabels
150
- ? t('vehicleProps:value.powerPS', { powerPS })
151
- : t('vehicleProps:value.power', { powerKW, powerPS });
152
- }
153
-
154
- return t('vehicleProps:value.na');
155
- }
156
- },
157
-
158
- powerAlternateView: {
159
- title: t('vehicleProps:title.power'),
160
- icon: 'kw',
161
- get value() {
162
- const { powerKW, powerPS } = car.engineData;
163
- return Number.isFinite(powerKW) && Number.isFinite(powerPS)
164
- ? t('vehicleProps:value.powerAlternateView', { powerKW, powerPS })
165
- : t('vehicleProps:value.na');
166
- }
167
- },
168
-
169
- fuel: {
170
- title: t('vehicleProps:title.fuel'),
171
- get icon() { return car.consumption.fuel; },
172
- get value() {
173
- const fuel = car.consumption.fuel;
174
- return isPropDefined(fuel) ? t(`cbd:${fuel}`) : t('vehicleProps:value.na');
175
- }
176
- },
177
-
178
- accidentDamaged: {
179
- title: t('cbd:mainData_accidentDamaged'),
180
- icon: 'wrench',
181
- get value() {
182
- return damaged ? t('vehicleProps:value.damaged') : t('vehicleProps:value.accidentFree');
183
- }
184
- },
185
-
186
- co2: {
187
- icon: 'co2',
188
- get value() {
189
- const co2 = car.environmentEmissions.co2;
190
- return Number.isFinite(co2)
191
- ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
192
- : t('vehicleProps:value.na');
193
- }
194
- },
195
-
196
- cylinders: {
197
- title: t('vehicleProps:title.cylinders'),
198
- get value() {
199
- const { engineLocation } = car.engineData;
200
- const cylinders = parseInt(car.engineData.cylinders, 10);
201
- return Number.isFinite(cylinders)
202
- ? (engineLocation ? `${cylinders} / ${t(`cbd:${engineLocation}`)}` : cylinders)
203
- : t('vehicleProps:value.na');
204
- }
205
- },
206
-
207
- plugIn: {
208
- title: 'Plug-In',
209
- get value() {
210
- const { hybridPlugin } = car.engineData;
211
- return hybridPlugin ? t(`cbd:selector_hybridPlugin_yes`) : t('cbd:selector_hybridPlugin_no');
212
- }
213
- },
214
-
215
- cubicCapacity: {
216
- title: t('vehicleProps:title.cubicCapacity'),
217
- get value() {
218
- const cubicCapacity = car.engineData.cubicCapacity;
219
- return Number.isFinite(cubicCapacity)
220
- ? t('vehicleProps:value.cubicCapacity', { cubicCapacity: cubicCapacity.toLocaleString(language) })
221
- : t('vehicleProps:value.na');
222
- }
223
- },
224
-
225
- torque: {
226
- title: t('vehicleProps:title.torque'),
227
- get value() {
228
- const torque = car.engineData.torque;
229
- return torque
230
- ? t('vehicleProps:value.torque', { torque })
231
- : t('vehicleProps:value.na');
232
- }
233
- },
234
-
235
- acceleration: {
236
- title: t('vehicleProps:title.acceleration'),
237
- get value() {
238
- const acceleration = car.engineData.acceleration100;
239
- return isPropDefined(acceleration)
240
- ? (t('vehicleProps:value.acceleration', { seconds: acceleration }))
241
- : t('vehicleProps:value.na');
242
- }
243
- },
244
-
245
- topSpeed: {
246
- title: t('vehicleProps:title.topSpeed'),
247
- get value() {
248
- const topSpeed = car.engineData.highSpeed;
249
- return isPropDefined(topSpeed)
250
- ? (t('vehicleProps:value.topSpeed', { mileage: topSpeed }))
251
- : t('vehicleProps:value.na');
252
- }
253
- },
254
-
255
- transmission: {
256
- title: t('vehicleProps:title.transmission'),
257
- get value() {
258
- const gearbox = car.driveSuspension.gearbox;
259
- return isPropDefined(gearbox) ? t(`cbd:${gearbox}`) : t('vehicleProps:value.na');
260
- }
261
- },
262
-
263
- driveType: {
264
- title: t('vehicleProps:title.driveType'),
265
- get icon() {
266
- const driveType = car.driveSuspension.driveType;
267
- return isPropDefined(driveType) ? car.driveSuspension.driveType : 'selector_driveType_frontWheelDrive';
268
- },
269
- get value() {
270
- const driveType = car.driveSuspension.driveType;
271
- return isPropDefined(driveType) ? t(`cbd:${driveType}`) : t('vehicleProps:value.na');
272
- }
273
- },
274
-
275
- fuelCapacity: {
276
- title: t('vehicleProps:title.fuelCapacity'),
277
- get value() {
278
- const fuelCapacity = car.sizeVolumeWeight && car.sizeVolumeWeight.fuelCapacity;
279
- return Number.isFinite(fuelCapacity)
280
- ? t('vehicleProps:value.fuelCapacity', { capacity: fuelCapacity.toLocaleString(language) })
281
- : t('vehicleProps:value.na');
282
- }
283
- },
284
-
285
- batteryCapacity: {
286
- title: t('vehicleProps:title.batteryCapacityTitle'),
287
- get value() {
288
- const batteryCapacity = car.battery && car.battery.batteryCapacity;
289
- return batteryCapacity && Number.isFinite(batteryCapacity)
290
- ? t('vehicleProps:value.batteryCapacity', { batteryCapacity: batteryCapacity.toLocaleString(language) })
291
- : t('vehicleProps:value.na');
292
- }
293
- },
294
-
295
- chargingDuration230V: {
296
- title: t('vehicleProps:title.chargingDuration230V'),
297
- get value() {
298
- const batteryChargingDuration230VSelect = car.battery && car.battery.batteryChargingDuration230VSelect;
299
- const batteryChargingDuration230VHour = car.battery && car.battery.batteryChargingDuration230VHour;
300
- const batteryCharchingDuration230VMinutesHours = car.battery && car.battery.batteryCharchingDuration230VMinutesHours;
301
-
302
- return batteryChargingDuration230VSelect
303
- ? `${batteryChargingDuration230VHour ? `${batteryChargingDuration230VHour} ${isCheckedBatteryTime(batteryCharchingDuration230VMinutesHours, t)}` : ''} ${batteryChargingDuration230VSelect}`
304
- : t('vehicleProps:value.na');
305
- }
306
- },
307
- chargingDurationMaxSpeed: {
308
- title: t('vehicleProps:title.chargingDurationMaxSpeed'),
309
- get value() {
310
- const batteryChargingDurationMaxSelect = car.battery && car.battery.batteryChargingDurationMaxSelect;
311
- const batteryChargingDurationMaxHour = car.battery && car.battery.batteryChargingDurationMaxHour;
312
- const batteryCharchingDurationMaxSelectMinutesHours = car.battery && car.battery.batteryCharchingDurationMaxSelectMinutesHours;
313
-
314
- return batteryChargingDurationMaxSelect
315
- ? `${batteryChargingDurationMaxHour ? `${batteryChargingDurationMaxHour} ${isCheckedBatteryTime(batteryCharchingDurationMaxSelectMinutesHours, t)}` : ''} ${batteryChargingDurationMaxSelect}`
316
- : t('vehicleProps:value.na');
317
- }
318
- },
319
- batteryChargerType: {
320
- title: t('vehicleProps:title.batteryChargerType'),
321
- get value() {
322
- const batteryChargerType = car.battery && car.battery.batteryChargerType;
323
-
324
- return isPropDefined(batteryChargerType)
325
- ? batteryChargerType.map((item: any) => t(`cbd:${item}`)).join('\n')
326
- : t('vehicleProps:value.na');
327
- }
328
- },
329
- hsn: {
330
- title: 'HSN',
331
- get value() {
332
- const hsn = car.metaData.hsn;
333
- return isPropDefined(hsn) ? hsn : t('vehicleProps:value.na');
334
- }
335
- },
336
-
337
- tsn: {
338
- title: 'TSN',
339
- get value() {
340
- const tsn = car.metaData.tsn;
341
- return isPropDefined(tsn) ? tsn : t('vehicleProps:value.na');
342
- }
343
- },
344
-
345
- category: {
346
- title: t('vehicleProps:title.category'),
347
- get value() {
348
- return isPropDefined(category) ? t(`cbd:${category}`) : t('vehicleProps:value.na');
349
- }
350
- },
351
-
352
- length: {
353
- title: t('vehicleProps:title.length'),
354
- get value() {
355
- const length = car.sizeVolumeWeight && car.sizeVolumeWeight.length;
356
- return Number.isFinite(length)
357
- ? t('vehicleProps:value.length', { size: length.toLocaleString(language) })
358
- : t('vehicleProps:value.na');
359
- }
360
- },
361
-
362
- width: {
363
- title: t('vehicleProps:title.width'),
364
- get value() {
365
- const width = car.sizeVolumeWeight && car.sizeVolumeWeight.width;
366
- return Number.isFinite(width)
367
- ? t('vehicleProps:value.width', { size: width.toLocaleString(language) })
368
- : t('vehicleProps:value.na');
369
- }
370
- },
371
-
372
- height: {
373
- title: t('vehicleProps:title.height'),
374
- get value() {
375
- const height = car.sizeVolumeWeight && car.sizeVolumeWeight.height;
376
- return Number.isFinite(height)
377
- ? t('vehicleProps:value.height', { size: height.toLocaleString(language) })
378
- : t('vehicleProps:value.na');
379
- }
380
- },
381
-
382
- base: {
383
- title: t('vehicleProps:title.base'),
384
- get value() {
385
- const wheelBase = car.driveSuspension.wheelBase;
386
- return Number.isFinite(wheelBase)
387
- ? t('vehicleProps:value.base', { size: wheelBase.toLocaleString(language) })
388
- : t('vehicleProps:value.na');
389
- }
390
- },
391
-
392
- capacityLoad: {
393
- title: t('vehicleProps:title.loadingVolume'),
394
- get value() {
395
- const completeCapacity = car.sizeVolumeWeight && car.sizeVolumeWeight.completeCapacity;
396
- return Number.isFinite(completeCapacity)
397
- ? t('vehicleProps:value.capacityLoad', { capacity: completeCapacity.toLocaleString(language) })
398
- : t('vehicleProps:value.na');
399
- }
400
- },
401
-
402
- bootCapacity: {
403
- title: t('vehicleProps:title.bootCapacity'),
404
- get value() {
405
- const cargoCapacity = car.sizeVolumeWeight && car.sizeVolumeWeight.cargoCapacity;
406
- return Number.isFinite(cargoCapacity)
407
- ? t('vehicleProps:value.bootCapacity', { capacity: cargoCapacity.toLocaleString(language) })
408
- : t('vehicleProps:value.na');
409
- }
410
- },
411
-
412
- doors: {
413
- title: t('vehicleProps:title.doors'),
414
- get value() { return doors > 0 ? doors : t('vehicleProps:value.na'); }
415
- },
416
-
417
- seats: {
418
- title: t('vehicleProps:title.seats'),
419
- get value() { return seats > 0 ? seats : t('vehicleProps:value.na'); }
420
- },
421
-
422
- tare: {
423
- title: t('vehicleProps:title.tare'),
424
- get value() {
425
- const emptyWeight = car.sizeVolumeWeight && car.sizeVolumeWeight.emptyWeight;
426
- return Number.isFinite(emptyWeight)
427
- ? t('vehicleProps:value.tareWeight', { weight: (emptyWeight).toLocaleString(language) })
428
- : t('vehicleProps:value.na');
429
- }
430
- },
431
-
432
- maximumWeight: {
433
- title: t('vehicleProps:title.maximumWeight'),
434
- get value() {
435
- const cargoCapacity = car.sizeVolumeWeight && car.sizeVolumeWeight.cargoCapacity;
436
- return Number.isFinite(cargoCapacity)
437
- ? t('vehicleProps:value.maximumWeightCapacity', { capacity: cargoCapacity.toLocaleString(language) })
438
- : t('vehicleProps:value.na');
439
- }
440
- },
441
-
442
- trailerWeightBraked: {
443
- title: t('vehicleProps:title.trailerLoadBraked'),
444
- get value() {
445
- const trailerWeightBraked = car.sizeVolumeWeight && car.sizeVolumeWeight.trailerWeightBraked;
446
- return Number.isFinite(trailerWeightBraked)
447
- ? t('vehicleProps:value.weight', { weight: trailerWeightBraked.toLocaleString(language) })
448
- : t('vehicleProps:value.na');
449
- }
450
- },
451
-
452
- trailerWeightUnbraked: {
453
- title: t('vehicleProps:title.trailerLoadUnbraked'),
454
- get value() {
455
- const trailerWeightUnbraked = car.sizeVolumeWeight && car.sizeVolumeWeight.trailerWeightUnbraked;
456
- return Number.isFinite(trailerWeightUnbraked)
457
- ? t('vehicleProps:value.weight', { weight: trailerWeightUnbraked.toLocaleString(language) })
458
- : t('vehicleProps:value.na');
459
- }
460
- },
461
-
462
- consumptionInner: {
463
- icon: 'fuelConsumption',
464
- title: t('vehicleProps:title.consumptionInner'),
465
- get value() {
466
- const consumptionInner = car.consumption.consumptionInner;
467
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
468
- const translatedUnit = t(`cbd:${consumptionUnit}`);
469
- return Number.isFinite(consumptionInner)
470
- ? t('vehicleProps:value.consumption', { consumption: consumptionInner.toLocaleString(language), unit: translatedUnit })
471
- : t('vehicleProps:value.na');
472
- }
473
- },
474
-
475
- consumptionPowerInner: {
476
- icon: 'fuelConsumption',
477
- title: t('vehicleProps:title.consumptionPowerInner'),
478
- get value() {
479
- const consumptionPowerInner = car.consumption.consumptionInner;
480
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
481
- const translatedUnit = t(`cbd:${consumptionUnit}`);
482
- return Number.isFinite(consumptionPowerInner)
483
- ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerInner.toLocaleString(language), unit: translatedUnit })
484
- : t('vehicleProps:value.na');
485
- }
486
- },
487
-
488
- consumptionPowerHybridInner: {
489
- icon: 'fuelConsumption',
490
- title: t('vehicleProps:title.consumptionPowerInner'),
491
- get value() {
492
- const consumptionPowerInner = car.consumption.consumptionPowerInner;
493
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
494
- const translatedUnit = t(`cbd:${consumptionUnit}`);
495
- return Number.isFinite(consumptionPowerInner)
496
- ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerInner.toLocaleString(language), unit: translatedUnit })
497
- : t('vehicleProps:value.na');
498
- }
499
- },
500
-
501
- consumptionHydrogenInner: {
502
- icon: 'fuelConsumption',
503
- title: t('vehicleProps:title.consumptionHydrogenInner'),
504
- get value() {
505
- const consumptionHydrogenInner = car.consumption.consumptionInner;
506
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
507
- const translatedUnit = t(`cbd:${consumptionUnit}`);
508
- return Number.isFinite(consumptionHydrogenInner)
509
- ? t('vehicleProps:value.consumptionGas', { consumption: consumptionHydrogenInner.toLocaleString(language), unit: translatedUnit })
510
- : t('vehicleProps:value.na');
511
- }
512
- },
513
- consumptionGasInner: {
514
- icon: 'fuelConsumption',
515
- title: t('vehicleProps:title.consumptionGasInner'),
516
- get value() {
517
- const consumptionGasInner = car.consumption.consumptionInner;
518
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
519
- const translatedUnit = t(`cbd:${consumptionUnit}`);
520
- return Number.isFinite(consumptionGasInner)
521
- ? t('vehicleProps:value.consumptionGas', { consumption: consumptionGasInner.toLocaleString(language), unit: translatedUnit })
522
- : t('vehicleProps:value.na');
523
- }
524
- },
525
-
526
- consumptionOuter: {
527
- icon: 'fuelConsumption',
528
- title: t('vehicleProps:title.consumptionOuter'),
529
- get value() {
530
- const consumptionOuter = car.consumption.consumptionOuter;
531
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
532
- const translatedUnit = t(`cbd:${consumptionUnit}`);
533
- return Number.isFinite(consumptionOuter)
534
- ? t('vehicleProps:value.consumption', { consumption: consumptionOuter.toLocaleString(language), unit: translatedUnit })
535
- : t('vehicleProps:value.na');
536
- }
537
- },
538
-
539
- consumptionPowerOuter: {
540
- icon: 'fuelConsumption',
541
- title: t('vehicleProps:title.consumptionPowerOuter'),
542
- get value() {
543
- const consumptionPowerOuter = car.consumption.consumptionOuter;
544
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
545
- const translatedUnit = t(`cbd:${consumptionUnit}`);
546
- return Number.isFinite(consumptionPowerOuter)
547
- ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerOuter.toLocaleString(language), unit: translatedUnit })
548
- : t('vehicleProps:value.na');
549
- }
550
- },
551
-
552
- consumptionPowerHybridOuter: {
553
- icon: 'fuelConsumption',
554
- title: t('vehicleProps:title.consumptionPowerOuter'),
555
- get value() {
556
- const consumptionPowerOuter = car.consumption.consumptionPowerOuter;
557
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
558
- const translatedUnit = t(`cbd:${consumptionUnit}`);
559
- return Number.isFinite(consumptionPowerOuter)
560
- ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerOuter.toLocaleString(language), unit: translatedUnit })
561
- : t('vehicleProps:value.na');
562
- }
563
- },
564
-
565
- consumptionHydrogenOuter: {
566
- icon: 'fuelConsumption',
567
- title: t('vehicleProps:title.consumptionHydrogenOuter'),
568
- get value() {
569
- const consumptionHydrogenOuter = car.consumption.consumptionOuter;
570
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
571
- const translatedUnit = t(`cbd:${consumptionUnit}`);
572
- return Number.isFinite(consumptionHydrogenOuter)
573
- ? t('vehicleProps:value.consumptionGas', { consumption: consumptionHydrogenOuter.toLocaleString(language), unit: translatedUnit })
574
- : t('vehicleProps:value.na');
575
- }
576
- },
577
-
578
- consumptionGasOuter: {
579
- icon: 'fuelConsumption',
580
- title: t('vehicleProps:title.consumptionGasOuter'),
581
- get value() {
582
- const consumptionGasOuter = car.consumption.consumptionOuter;
583
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
584
- const translatedUnit = t(`cbd:${consumptionUnit}`);
585
- return Number.isFinite(consumptionGasOuter)
586
- ? t('vehicleProps:value.consumptionGas', { consumption: consumptionGasOuter.toLocaleString(language), unit: translatedUnit })
587
- : t('vehicleProps:value.na');
588
- }
589
- },
590
-
591
- consumptionCombined: {
592
- icon: 'fuelConsumption',
593
- title: t('vehicleProps:title.сonsumptionCombined'),
594
- get value() {
595
- const consumptionCombined = car.consumption.consumptionCombined;
596
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
597
- const translatedUnit = t(`cbd:${consumptionUnit}`);
598
- return Number.isFinite(consumptionCombined)
599
- ? t('vehicleProps:value.consumption', { consumption: consumptionCombined.toLocaleString(language), unit: translatedUnit })
600
- : t('vehicleProps:value.na');
601
- }
602
- },
603
-
604
- consumptionPowerCombined: {
605
- icon: 'fuelConsumption',
606
- title: t('vehicleProps:title.consumptionPowerCombined'),
607
- get value() {
608
- const consumptionPowerCombined = car.consumption.consumptionCombined;
609
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
610
- const translatedUnit = t(`cbd:${consumptionUnit}`);
611
- return Number.isFinite(consumptionPowerCombined)
612
- ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit })
613
- : t('vehicleProps:value.na');
614
- }
615
- },
616
-
617
- consumptionPowerHybridCombined: {
618
- icon: 'fuelConsumption',
619
- title: t('vehicleProps:title.consumptionPowerCombined'),
620
- get value() {
621
- const consumptionPowerCombined = car.consumption.consumptionPowerCombined;
622
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
623
- const translatedUnit = t(`cbd:${consumptionUnit}`);
624
- return Number.isFinite(consumptionPowerCombined)
625
- ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit })
626
- : t('vehicleProps:value.na');
627
- }
628
- },
629
-
630
- consumptionHydrogenCombined: {
631
- icon: 'fuelConsumption',
632
- title: t('vehicleProps:title.consumptionHydrogenCombined'),
633
- get value() {
634
- const consumptionHydrogenCombined = car.consumption.consumptionCombined;
635
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
636
- const translatedUnit = t(`cbd:${consumptionUnit}`);
637
- return Number.isFinite(consumptionHydrogenCombined)
638
- ? t('vehicleProps:value.consumptionGas', { consumption: consumptionHydrogenCombined.toLocaleString(language), unit: translatedUnit })
639
- : t('vehicleProps:value.na');
640
- }
641
- },
642
-
643
- consumptionGasCombined: {
644
- icon: 'fuelConsumption',
645
- title: t('vehicleProps:title.consumptionGasCombined'),
646
- get value() {
647
- const consumptionGasCombined = car.consumption.consumptionCombined;
648
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
649
- const translatedUnit = t(`cbd:${consumptionUnit}`);
650
- return Number.isFinite(consumptionGasCombined)
651
- ? t('vehicleProps:value.consumptionGas', { consumption: consumptionGasCombined.toLocaleString(language), unit: translatedUnit })
652
- : t('vehicleProps:value.na');
653
- }
654
- },
655
-
656
- consumptionCombinedAlternateView: {
657
- icon: 'fuelConsumption',
658
- get value() {
659
- const consumptionCombined = car.consumption.consumptionCombined;
660
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
661
- const translatedUnit = t(`cbd:${consumptionUnit}`);
662
-
663
- const co2 = car.environmentEmissions.co2;
664
-
665
- const consumptionValue = Number.isFinite(consumptionCombined)
666
- ? t('vehicleProps:value.consumptionCombined', { consumption: consumptionCombined.toLocaleString(language), unit: translatedUnit })
667
- : t('vehicleProps:value.na');
668
-
669
- const co2Value = Number.isFinite(co2)
670
- ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
671
- : t('vehicleProps:value.na');
672
-
673
- return <>{consumptionValue} <br /> {co2Value}</>;
674
- }
675
- },
676
- consumptionPowerCombinedAlternateView: {
677
- icon: 'fuelConsumption',
678
- title: t('vehicleProps:title.consumptionPowerCombined'),
679
- get value() {
680
- const consumptionPowerCombined = car.consumption.consumptionCombined;
681
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
682
- const translatedUnit = t(`cbd:${consumptionUnit}`);
683
- const co2 = car.environmentEmissions.co2;
684
-
685
- const consumptionValue = Number.isFinite(consumptionPowerCombined)
686
- ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit })
687
- : t('vehicleProps:value.na');
688
-
689
- const co2Value = Number.isFinite(co2)
690
- ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
691
- : t('vehicleProps:value.na');
692
-
693
- return <>{consumptionValue} <br /> {co2Value}</>;
694
- }
695
- },
696
- consumptionHydrogenCombinedAlternateView: {
697
- icon: 'fuelConsumption',
698
- title: t('vehicleProps:title.consumptionHydrogenCombined'),
699
- get value() {
700
- const consumptionHydrogenCombined = car.consumption.consumptionCombined;
701
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
702
- const translatedUnit = t(`cbd:${consumptionUnit}`);
703
- const co2 = car.environmentEmissions.co2;
704
-
705
- const consumptionValue = Number.isFinite(consumptionHydrogenCombined)
706
- ? t('vehicleProps:value.consumptionGas', { consumption: consumptionHydrogenCombined.toLocaleString(language), unit: translatedUnit })
707
- : t('vehicleProps:value.na');
708
-
709
- const co2Value = Number.isFinite(co2)
710
- ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
711
- : t('vehicleProps:value.na');
712
-
713
- return <>{consumptionValue} <br /> {co2Value}</>;
714
- }
715
- },
716
- consumptionGasCombinedAlternateView: {
717
- icon: 'fuelConsumption',
718
- title: t('vehicleProps:title.consumptionGasCombined'),
719
- get value() {
720
- const consumptionGasCombined = car.consumption.consumptionCombined;
721
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
722
- const translatedUnit = t(`cbd:${consumptionUnit}`);
723
-
724
- const co2 = car.environmentEmissions.co2;
725
-
726
- const consumptionValue = Number.isFinite(consumptionGasCombined)
727
- ? t('vehicleProps:value.consumptionGas', { consumption: consumptionGasCombined.toLocaleString(language), unit: translatedUnit })
728
- : t('vehicleProps:value.na');
729
-
730
- const co2Value = Number.isFinite(co2)
731
- ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
732
- : t('vehicleProps:value.na');
733
-
734
- return <>{consumptionValue} <br /> {co2Value}</>;
735
- }
736
- },
737
-
738
- consumptionCombinedHybridAlternateView: {
739
- icon: 'fuelConsumption',
740
- get value() {
741
- const consumptionCombined = +car.consumption.consumptionCombined;
742
- const consumptionPowerCombined = +car.consumption.consumptionPowerCombined;
743
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
744
- const translatedUnit = t(`cbd:${consumptionUnit}`);
745
-
746
- const consumptionPowerCombinedContent = t('vehicleProps:value.consumptionPowerCombined', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit });
747
- const consumptionCombinedContent = t('vehicleProps:value.consumptionCombined', { consumption: consumptionCombined.toLocaleString(language), unit: translatedUnit });
748
-
749
- const co2 = car.environmentEmissions.co2;
750
- const co2Value = Number.isFinite(co2)
751
- ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
752
- : t('vehicleProps:value.na');
753
-
754
- return Number.isFinite(consumptionCombined) && Number.isFinite(consumptionPowerCombined)
755
- ? <React.Fragment>
756
- {consumptionPowerCombined ? consumptionPowerCombinedContent : ''} {consumptionPowerCombined ? <br /> : ''}{consumptionCombinedContent} <br /> {co2Value}
757
- </React.Fragment>
758
- : t('vehicleProps:value.na');
759
- }
760
- },
761
-
762
- rangeHydrogen: {
763
- title: t('vehicleProps:title.rangeHydrogen'),
764
- get value() {
765
- const { rangeHydrogen } = car.engineData;
766
- return Number.isFinite(rangeHydrogen)
767
- ? t('vehicleProps:value.batteryRangeElectric', { consumption: rangeHydrogen.toLocaleString(language) })
768
- : t('vehicleProps:value.na');
769
- }
770
- },
771
- batteryRangeElectric: {
772
- title: t('vehicleProps:title.batteryRangeElectric'),
773
- get value() {
774
- const batteryRangeElectric = car.battery && car.battery.batteryRangeElectric;
775
- return Number.isFinite(batteryRangeElectric)
776
- ? t('vehicleProps:value.batteryRangeElectric', { consumption: batteryRangeElectric.toLocaleString(language) })
777
- : t('vehicleProps:value.na');
778
- }
779
- },
780
-
781
- c02: {
782
- title: t('vehicleProps:title.co2'),
783
- get value() {
784
- const c02 = car.environmentEmissions.co2;
785
- return Number.isFinite(c02)
786
- ? t('vehicleProps:value.co2', { co2: c02.toLocaleString(language) })
787
- : t('vehicleProps:value.na');
788
- }
789
- },
790
-
791
- consumptionAndCo2: {
792
- title: t('vehicleProps:title.consumptionAndCo2'),
793
- get value() {
794
- const consumptionPowerCombined = car.consumption.consumptionCombined;
795
- const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
796
- const translatedUnit = t(`cbd:${consumptionUnit}`);
797
- const co2 = car.environmentEmissions.co2;
798
- const consumptionValue = Number.isFinite(consumptionPowerCombined)
799
- ? t('vehicleProps:value.consumptionCombined', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit })
800
- : t('vehicleProps:value.na');
801
- const co2Value = Number.isFinite(co2)
802
- ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
803
- : t('vehicleProps:value.na');
804
-
805
- return `${consumptionValue} | ${co2Value}`;
806
- }
807
- },
808
- emissionClass: {
809
- title: t('vehicleProps:title.emissionClass'),
810
- get value() {
811
- const emissionClass = car.environmentEmissions.emissionClass;
812
- return isPropDefined(emissionClass) ? t(`cbd:${emissionClass}`) : t('vehicleProps:value.na');
813
- }
814
- },
815
-
816
- emissionSticker: {
817
- title: t('vehicleProps:title.emissionsSticker'),
818
- get value() {
819
- const emissionSticker = car.environmentEmissions.emissionSticker;
820
- let icon = null;
821
- const size = 25;
822
-
823
- if (emissionSticker !== 'selector_emissionSticker_no') {
824
- icon = EMISSION_STICKERS_ICONS[emissionSticker];
825
- }
826
-
827
- return icon ? <Icon src={icon} width={size} height={size} /> : t('vehicleProps:value.na');
828
- }
829
- },
830
-
831
- wpEmissionSticker: {
832
- title: t('vehicleProps:title.emissionsSticker'),
833
- get value() {
834
- const emissionSticker = car.environmentEmissions.emissionSticker;
835
- let icon = null;
836
- const size = 25;
837
-
838
- if (emissionSticker !== 'selector_emissionSticker_no') {
839
- icon = WP_EMISSION_STICKERS_ICONS[emissionSticker];
840
- }
841
-
842
- return icon ? <Icon src={icon} width={size} height={size} /> : t('vehicleProps:value.na');
843
- }
844
- },
845
-
846
- energyEfficiencyClass: {
847
- title: t('vehicleProps:title.energyEfficiencyClass'),
848
- subTitle: t('vehicleProps:title.subTitle'),
849
- get value() {
850
- const level = car.environmentEmissions.energyEfficiencyClass;
851
- return isPropDefined(level) ? <CO2Efficiency level={level} t={t} /> : t('vehicleProps:value.na');
852
- }
853
- },
854
-
855
- offerAvailability: {
856
- title: t('vehicleProps:title.offerAvailability'),
857
- icon: 'carAvailability',
858
- get value() {
859
- const offerAvailabilityMode = offer.availabilityMode;
860
- const offerAvailabilityTimestamp = offer.availabilityFrom;
861
- const humanViewTime = moment.unix(offerAvailabilityTimestamp).format('DD.MM.YYYY');
862
- let offerAvailability: string;
863
-
864
- switch (offerAvailabilityMode) {
865
- case 'selector_availabilityMode_always':
866
- offerAvailability = t(`cbd:${offerAvailabilityMode}`);
867
- break;
868
-
869
- case 'selector_availabilityMode_fromDate':
870
- if (offer.deliveryPeriod != null && offer.deliveryPeriod !== 'selector_unknown') {
871
- offerAvailability = formatDeliveryPeriod(t, offer.deliveryPeriod);
872
- break;
873
- }
874
-
875
- if (moment.utc(offerAvailabilityTimestamp, 'X').isBefore()) {
876
- offerAvailability = t('cbd:selector_availabilityMode_always');
877
- } else {
878
- offerAvailability = t('vehicleProps:value.fromDate', { date: humanViewTime });
879
- }
880
- break;
881
-
882
- default:
883
- if (!offerAvailabilityMode && !firstRegistration && !mileage) offerAvailability = t('vehicleProps:value.onRequest');
884
- else offerAvailability = null;
885
- }
886
- return isPropDefined(offerAvailability) ? offerAvailability : t('vehicleProps:value.na');
887
- }
888
- },
889
-
890
- lastTechnicalService: {
891
- title: t('vehicleProps:title.lastTechnicalService'),
892
- get value() {
893
- const lastTechnicalService = car.careService.lastTechnicalService;
894
- return Number.isFinite(lastTechnicalService)
895
- ? formatTimestamp({ timestamp: lastTechnicalService, format: 'MM/YYYY' })
896
- : t('vehicleProps:value.na');
897
- }
898
- },
899
-
900
- generalInspection: {
901
- title: t('vehicleProps:title.generalInspection'),
902
- get value() {
903
- const generalInspection = car.careService.generalInspection;
904
- if (car.offer.newHuAu) {
905
- return t('vehicleProps:value.new');
906
- // tslint:disable-next-line:no-else-after-return
907
- }else {
908
- return Number.isFinite(generalInspection)
909
- ? formatTimestamp({ timestamp: generalInspection, format: 'MM/YYYY' })
910
- : t('vehicleProps:value.na');
911
- }
912
- }
913
- },
914
-
915
- condition: {
916
- title: t('vehicleProps:title.сondition'),
917
- get value() {
918
- return isPropDefined(condition)
919
- ? t(`cbd:${condition}`)
920
- : t('vehicleProps:value.na');
921
- }
922
- },
923
-
924
- numberOfPreviousOwnersSimple: {
925
- title: t('vehicleProps:title.numberOfPreviousOwners'),
926
- get value() {
927
- return Number.isFinite(numberOfPreviousOwners)
928
- ? numberOfPreviousOwners
929
- : t('vehicleProps:value.na');
930
- }
931
- },
932
-
933
- guarantee: {
934
- title: t('vehicleProps:title.guarantee'),
935
- get value() {
936
- const guarantee = car.offer.warranty;
937
- return isPropDefined(guarantee)
938
- ? (guarantee ? t('vehicleProps:value.yes') : t('vehicleProps:value.no'))
939
- : t('vehicleProps:value.na');
940
- }
941
- },
942
-
943
- maintenanceGuide: {
944
- title: t('vehicleProps:title.maintenanceGuide'),
945
- get value() {
946
- const fullserviceHistory = car.careService.fullServiceHistory;
947
- return isPropDefined(fullserviceHistory)
948
- ? (fullserviceHistory ? t('vehicleProps:value.yes') : t('vehicleProps:value.no'))
949
- : t('vehicleProps:value.na');
950
- }
951
- },
952
-
953
- nonSmokerVehicle: {
954
- title: t('vehicleProps:title.nonSmokingVehicle'),
955
- get value() {
956
- return isPropDefined(nonSmokerVehicle)
957
- ? (nonSmokerVehicle ? t('vehicleProps:value.yes') : t('vehicleProps:value.no'))
958
- : t('vehicleProps:value.na');
959
- }
960
- },
961
-
962
- manufacturerColorName: {
963
- title: t('vehicleProps:title.manufacturerColorName'),
964
- get value() {
965
- const color = car.exterior.manufacturerColorName;
966
-
967
- if (typeof color !== 'string' || color === '') {
968
- return t('vehicleProps:value.na');
969
- }
970
-
971
- return color[0].toUpperCase() + color.slice(1);
972
- }
973
- },
974
-
975
- exteriorColor: {
976
- title: t('vehicleProps:title.colour'),
977
- get value() {
978
- const exteriorColor = car.exterior.exteriorColor;
979
- return isPropDefined(exteriorColor)
980
- ? t(`cbd:${exteriorColor.replace('exterior_', '')}`)
981
- : t('vehicleProps:value.na');
982
- }
983
- },
984
-
985
- appointmentsColor: {
986
- title: t('vehicleProps:title.appointmentsColor'),
987
- get value() {
988
- const interiorColor = car.interior.interiorColor;
989
- return isPropDefined(interiorColor)
990
- ? t(`cbd:${interiorColor.replace('interior_', '')}`)
991
- : t('vehicleProps:value.na');
992
- }
993
- },
994
-
995
- interiorType: {
996
- title: t('vehicleProps:title.interiorType'),
997
- get value() {
998
- const interiorType = car.interior.interiorType;
999
- return isPropDefined(interiorType)
1000
- ? t(`cbd:${interiorType}`)
1001
- : t('vehicleProps:value.na');
1002
- }
1003
- },
1004
- signOfUse : {
1005
- title: t('vehicleProps:title.signsOfUse'),
1006
- isVisible: mileage > 100, // tslint:disable-line
1007
- isLongTitle: true,
1008
- get value() {
1009
- return t('vehicleProps:value.yes');
1010
- }
1011
- },
1012
- countryVersion : {
1013
- title: t('vehicleProps:title.countryVersion'),
1014
- get value() {
1015
- const countryName = car.countryActive[language];
1016
- if (!countryVersion) return t('vehicleProps:value.na');
1017
- switch (countryVersion) {
1018
- case 'de':
1019
- return t('vehicleProps:value.countryDEversion');
1020
- break;
1021
- case 'eu':
1022
- return t('vehicleProps:value.countryEUversion');
1023
- break;
1024
- case 'at':
1025
- return t('vehicleProps:value.countryATversion');
1026
- break;
1027
- default:
1028
- return t('vehicleProps:value.countryVersionName', { countryName });
1029
- }
1030
- }
1031
- }
1032
- };
1033
- return props;
1034
- };
1035
-
1036
- export default getDecoratedProps;
1
+ import * as React from 'react';
2
+ import { isNull } from 'util';
3
+ import moment from 'moment';
4
+
5
+ import Icon from '../../components/_common/IconContainer/IconContainer';
6
+ import CO2Efficiency from '../../components/_common/Co2Widget/CO2Efficiency';
7
+ import { formatTimestamp } from '../utils/DateUtils';
8
+ import { formatMileage } from '../utils/CommonUtils';
9
+ import { EMISSION_STICKERS_ICONS, WP_EMISSION_STICKERS_ICONS } from '../constants/Search';
10
+ import { DELIVERY_PERIODS_EXTRA } from '../constants';
11
+ import { IDecoratedProp, ICar } from '../types/types';
12
+
13
+ const formatDeliveryPeriod = (t: (key: string, options?: object) => string, deliveryPeriod: string) => {
14
+ const count: number = +DELIVERY_PERIODS_EXTRA.find((period: any) => period.value === deliveryPeriod).label;
15
+ // months until delivery date unrounded (float)
16
+ const monthsTo: number = moment.utc().diff(moment.utc().subtract(count, 'd'), 'M', true);
17
+ return Math.round(monthsTo) > 1
18
+ ? t('vehicleProps:value.deliveryPeriodMonths', { count: Math.round(monthsTo) })
19
+ : t('vehicleProps:value.deliveryPeriodDays', { count });
20
+ };
21
+
22
+ const isPropDefined = (prop: any) => {
23
+ const type = typeof prop;
24
+ if (type === 'string') {
25
+ return prop.indexOf('other') === -1
26
+ && prop.indexOf('unknown') === -1;
27
+ }
28
+ return !isNull(prop) && type !== 'undefined';
29
+ };
30
+
31
+ const isCheckedBatteryTime = (prop: any, t: (key: string, options?: object) => string) => {
32
+ switch (prop) {
33
+ case 'selector_batteryCharchingDurationMinutes':
34
+ return 'min';
35
+ break;
36
+ case 'selector_batteryCharchingDurationHours':
37
+ return 'h';
38
+ break;
39
+ default:
40
+ return t('vehicleProps:value.na');
41
+ }
42
+ };
43
+
44
+ export const getPowerLabel = (powerKW: number, powerPS: number): string => {
45
+ const powerKWlabel = !!powerKW ? `${powerKW} kW ` : '';
46
+ const powerPSlabel = !!powerPS ? `${!!powerKW ? '(' : ''}${powerPS} PS${!!powerKW ? ')' : ''}` : '';
47
+ const powerKWpowerPS = `${powerKWlabel}${powerPSlabel}`;
48
+
49
+ return powerKWpowerPS;
50
+ };
51
+
52
+ const getDecoratedProps = (
53
+ car: ICar, // @TODO should have a proper interface
54
+ t: (key: string, options?: object) => string,
55
+ language: string = 'en',
56
+ simplifiedLabels: boolean = false // shortened labels for repsonsive layout (see 'power')
57
+ ): IDecoratedProp => {
58
+ const {
59
+ offer = {},
60
+ // countryName,
61
+ mainData: {
62
+ firstRegistration = '',
63
+ mileage = '',
64
+ numberOfPreviousOwners = '',
65
+ doors = '',
66
+ usageType = '',
67
+ countryVersion = '',
68
+ condition = '',
69
+ damaged = '',
70
+ category = '',
71
+ seats = '',
72
+ nonSmokerVehicle = '',
73
+ make = '',
74
+ model = ''
75
+ } = {}
76
+ } = car;
77
+ const props: any = {
78
+ makeModel: {
79
+ title: t('vehicleProps:title.makeModel'),
80
+ get value() { return `${make} ${model}`; }
81
+ },
82
+ mileage: {
83
+ title: t('vehicleProps:title.mileage'),
84
+ icon: 'speed',
85
+ get value() {
86
+ return Number.isFinite(parseInt(mileage, 10))
87
+ ? t('vehicleProps:value.mileage', { mileage: formatMileage(mileage) })
88
+ : t('vehicleProps:value.na');
89
+ }
90
+ },
91
+
92
+ firstRegistration: {
93
+ title: t('vehicleProps:title.firstRegistration'),
94
+ icon: 'date',
95
+ get value() {
96
+ return Number.isFinite(firstRegistration)
97
+ ? formatTimestamp({ timestamp: firstRegistration, format: 'MM/YYYY' })
98
+ : t('vehicleProps:value.na');
99
+ }
100
+ },
101
+
102
+ numberOfPreviousOwners: {
103
+ title: t('vehicleProps:title.numberOfPreviousOwners'),
104
+ icon: 'owner',
105
+ get value() {
106
+ return Number.isFinite(numberOfPreviousOwners)
107
+ ? t('vehicleProps:value.vehicleOwners', { count: numberOfPreviousOwners })
108
+ : t('vehicleProps:value.na');
109
+ }
110
+ },
111
+
112
+ doorsOnly: {
113
+ icon: 'door',
114
+ get value() {
115
+ if (doors > 0) {
116
+ return t('vehicleProps:value.doorsOnly', { doors });
117
+ }
118
+
119
+ return t('vehicleProps:value.na');
120
+ }
121
+ },
122
+
123
+ usageType: {
124
+ icon: 'new',
125
+ get value() {
126
+ if (condition === 'selector_condition_new') return t('vehicleProps:value.newCar');
127
+ return isPropDefined(usageType) ? t(`cbd:${usageType}`) : t('cbd:selector_condition_used');
128
+ }
129
+ },
130
+
131
+ gearbox: {
132
+ get icon() {
133
+ const gearbox = car.driveSuspension.gearbox;
134
+ return isPropDefined(gearbox) ? car.driveSuspension.gearbox : 'selector_gearbox_manualShift';
135
+ },
136
+ get value() {
137
+ const gearbox = car.driveSuspension.gearbox;
138
+ return isPropDefined(gearbox) ? t(`cbd:${gearbox}`) : t('vehicleProps:value.na');
139
+ }
140
+ },
141
+
142
+ power: {
143
+ title: t('vehicleProps:title.power'),
144
+ icon: 'ps',
145
+ get value() {
146
+ const { powerKW, powerPS } = car.engineData;
147
+
148
+ if (Number.isFinite(powerKW) && Number.isFinite(powerPS)) {
149
+ return simplifiedLabels
150
+ ? t('vehicleProps:value.powerPS', { powerPS })
151
+ : t('vehicleProps:value.power', { powerKW, powerPS });
152
+ }
153
+
154
+ return t('vehicleProps:value.na');
155
+ }
156
+ },
157
+
158
+ powerAlternateView: {
159
+ title: t('vehicleProps:title.power'),
160
+ icon: 'kw',
161
+ get value() {
162
+ const { powerKW, powerPS } = car.engineData;
163
+ return Number.isFinite(powerKW) && Number.isFinite(powerPS)
164
+ ? t('vehicleProps:value.powerAlternateView', { powerKW, powerPS })
165
+ : t('vehicleProps:value.na');
166
+ }
167
+ },
168
+
169
+ fuel: {
170
+ title: t('vehicleProps:title.fuel'),
171
+ get icon() { return car.consumption.fuel; },
172
+ get value() {
173
+ const fuel = car.consumption.fuel;
174
+ return isPropDefined(fuel) ? t(`cbd:${fuel}`) : t('vehicleProps:value.na');
175
+ }
176
+ },
177
+
178
+ accidentDamaged: {
179
+ title: t('cbd:mainData_accidentDamaged'),
180
+ icon: 'wrench',
181
+ get value() {
182
+ return damaged ? t('vehicleProps:value.damaged') : t('vehicleProps:value.accidentFree');
183
+ }
184
+ },
185
+
186
+ co2: {
187
+ icon: 'co2',
188
+ get value() {
189
+ const co2 = car.environmentEmissions.co2;
190
+ return Number.isFinite(co2)
191
+ ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
192
+ : t('vehicleProps:value.na');
193
+ }
194
+ },
195
+
196
+ cylinders: {
197
+ title: t('vehicleProps:title.cylinders'),
198
+ get value() {
199
+ const { engineLocation } = car.engineData;
200
+ const cylinders = parseInt(car.engineData.cylinders, 10);
201
+ return Number.isFinite(cylinders)
202
+ ? (engineLocation ? `${cylinders} / ${t(`cbd:${engineLocation}`)}` : cylinders)
203
+ : t('vehicleProps:value.na');
204
+ }
205
+ },
206
+
207
+ plugIn: {
208
+ title: 'Plug-In',
209
+ get value() {
210
+ const { hybridPlugin } = car.engineData;
211
+ return hybridPlugin ? t(`cbd:selector_hybridPlugin_yes`) : t('cbd:selector_hybridPlugin_no');
212
+ }
213
+ },
214
+
215
+ cubicCapacity: {
216
+ title: t('vehicleProps:title.cubicCapacity'),
217
+ get value() {
218
+ const cubicCapacity = car.engineData.cubicCapacity;
219
+ return Number.isFinite(cubicCapacity)
220
+ ? t('vehicleProps:value.cubicCapacity', { cubicCapacity: cubicCapacity.toLocaleString(language) })
221
+ : t('vehicleProps:value.na');
222
+ }
223
+ },
224
+
225
+ torque: {
226
+ title: t('vehicleProps:title.torque'),
227
+ get value() {
228
+ const torque = car.engineData.torque;
229
+ return torque
230
+ ? t('vehicleProps:value.torque', { torque })
231
+ : t('vehicleProps:value.na');
232
+ }
233
+ },
234
+
235
+ acceleration: {
236
+ title: t('vehicleProps:title.acceleration'),
237
+ get value() {
238
+ const acceleration = car.engineData.acceleration100;
239
+ return isPropDefined(acceleration)
240
+ ? (t('vehicleProps:value.acceleration', { seconds: acceleration }))
241
+ : t('vehicleProps:value.na');
242
+ }
243
+ },
244
+
245
+ topSpeed: {
246
+ title: t('vehicleProps:title.topSpeed'),
247
+ get value() {
248
+ const topSpeed = car.engineData.highSpeed;
249
+ return isPropDefined(topSpeed)
250
+ ? (t('vehicleProps:value.topSpeed', { mileage: topSpeed }))
251
+ : t('vehicleProps:value.na');
252
+ }
253
+ },
254
+
255
+ transmission: {
256
+ title: t('vehicleProps:title.transmission'),
257
+ get value() {
258
+ const gearbox = car.driveSuspension.gearbox;
259
+ return isPropDefined(gearbox) ? t(`cbd:${gearbox}`) : t('vehicleProps:value.na');
260
+ }
261
+ },
262
+
263
+ driveType: {
264
+ title: t('vehicleProps:title.driveType'),
265
+ get icon() {
266
+ const driveType = car.driveSuspension.driveType;
267
+ return isPropDefined(driveType) ? car.driveSuspension.driveType : 'selector_driveType_frontWheelDrive';
268
+ },
269
+ get value() {
270
+ const driveType = car.driveSuspension.driveType;
271
+ return isPropDefined(driveType) ? t(`cbd:${driveType}`) : t('vehicleProps:value.na');
272
+ }
273
+ },
274
+
275
+ fuelCapacity: {
276
+ title: t('vehicleProps:title.fuelCapacity'),
277
+ get value() {
278
+ const fuelCapacity = car.sizeVolumeWeight && car.sizeVolumeWeight.fuelCapacity;
279
+ return Number.isFinite(fuelCapacity)
280
+ ? t('vehicleProps:value.fuelCapacity', { capacity: fuelCapacity.toLocaleString(language) })
281
+ : t('vehicleProps:value.na');
282
+ }
283
+ },
284
+
285
+ batteryCapacity: {
286
+ title: t('vehicleProps:title.batteryCapacityTitle'),
287
+ get value() {
288
+ const batteryCapacity = car.battery && car.battery.batteryCapacity;
289
+ return batteryCapacity && Number.isFinite(batteryCapacity)
290
+ ? t('vehicleProps:value.batteryCapacity', { batteryCapacity: batteryCapacity.toLocaleString(language) })
291
+ : t('vehicleProps:value.na');
292
+ }
293
+ },
294
+
295
+ chargingDuration230V: {
296
+ title: t('vehicleProps:title.chargingDuration230V'),
297
+ get value() {
298
+ const batteryChargingDuration230VSelect = car.battery && car.battery.batteryChargingDuration230VSelect;
299
+ const batteryChargingDuration230VHour = car.battery && car.battery.batteryChargingDuration230VHour;
300
+ const batteryCharchingDuration230VMinutesHours = car.battery && car.battery.batteryCharchingDuration230VMinutesHours;
301
+
302
+ return batteryChargingDuration230VSelect
303
+ ? `${batteryChargingDuration230VHour ? `${batteryChargingDuration230VHour} ${isCheckedBatteryTime(batteryCharchingDuration230VMinutesHours, t)}` : ''} ${batteryChargingDuration230VSelect}`
304
+ : t('vehicleProps:value.na');
305
+ }
306
+ },
307
+ chargingDurationMaxSpeed: {
308
+ title: t('vehicleProps:title.chargingDurationMaxSpeed'),
309
+ get value() {
310
+ const batteryChargingDurationMaxSelect = car.battery && car.battery.batteryChargingDurationMaxSelect;
311
+ const batteryChargingDurationMaxHour = car.battery && car.battery.batteryChargingDurationMaxHour;
312
+ const batteryCharchingDurationMaxSelectMinutesHours = car.battery && car.battery.batteryCharchingDurationMaxSelectMinutesHours;
313
+
314
+ return batteryChargingDurationMaxSelect
315
+ ? `${batteryChargingDurationMaxHour ? `${batteryChargingDurationMaxHour} ${isCheckedBatteryTime(batteryCharchingDurationMaxSelectMinutesHours, t)}` : ''} ${batteryChargingDurationMaxSelect}`
316
+ : t('vehicleProps:value.na');
317
+ }
318
+ },
319
+ batteryChargerType: {
320
+ title: t('vehicleProps:title.batteryChargerType'),
321
+ get value() {
322
+ const batteryChargerType = car.battery && car.battery.batteryChargerType;
323
+
324
+ return isPropDefined(batteryChargerType)
325
+ ? batteryChargerType.map((item: any) => t(`cbd:${item}`)).join('\n')
326
+ : t('vehicleProps:value.na');
327
+ }
328
+ },
329
+ hsn: {
330
+ title: 'HSN',
331
+ get value() {
332
+ const hsn = car.metaData.hsn;
333
+ return isPropDefined(hsn) ? hsn : t('vehicleProps:value.na');
334
+ }
335
+ },
336
+
337
+ tsn: {
338
+ title: 'TSN',
339
+ get value() {
340
+ const tsn = car.metaData.tsn;
341
+ return isPropDefined(tsn) ? tsn : t('vehicleProps:value.na');
342
+ }
343
+ },
344
+
345
+ category: {
346
+ title: t('vehicleProps:title.category'),
347
+ get value() {
348
+ return isPropDefined(category) ? t(`cbd:${category}`) : t('vehicleProps:value.na');
349
+ }
350
+ },
351
+
352
+ length: {
353
+ title: t('vehicleProps:title.length'),
354
+ get value() {
355
+ const length = car.sizeVolumeWeight && car.sizeVolumeWeight.length;
356
+ return Number.isFinite(length)
357
+ ? t('vehicleProps:value.length', { size: length.toLocaleString(language) })
358
+ : t('vehicleProps:value.na');
359
+ }
360
+ },
361
+
362
+ width: {
363
+ title: t('vehicleProps:title.width'),
364
+ get value() {
365
+ const width = car.sizeVolumeWeight && car.sizeVolumeWeight.width;
366
+ return Number.isFinite(width)
367
+ ? t('vehicleProps:value.width', { size: width.toLocaleString(language) })
368
+ : t('vehicleProps:value.na');
369
+ }
370
+ },
371
+
372
+ height: {
373
+ title: t('vehicleProps:title.height'),
374
+ get value() {
375
+ const height = car.sizeVolumeWeight && car.sizeVolumeWeight.height;
376
+ return Number.isFinite(height)
377
+ ? t('vehicleProps:value.height', { size: height.toLocaleString(language) })
378
+ : t('vehicleProps:value.na');
379
+ }
380
+ },
381
+
382
+ base: {
383
+ title: t('vehicleProps:title.base'),
384
+ get value() {
385
+ const wheelBase = car.driveSuspension.wheelBase;
386
+ return Number.isFinite(wheelBase)
387
+ ? t('vehicleProps:value.base', { size: wheelBase.toLocaleString(language) })
388
+ : t('vehicleProps:value.na');
389
+ }
390
+ },
391
+
392
+ capacityLoad: {
393
+ title: t('vehicleProps:title.loadingVolume'),
394
+ get value() {
395
+ const completeCapacity = car.sizeVolumeWeight && car.sizeVolumeWeight.completeCapacity;
396
+ return Number.isFinite(completeCapacity)
397
+ ? t('vehicleProps:value.capacityLoad', { capacity: completeCapacity.toLocaleString(language) })
398
+ : t('vehicleProps:value.na');
399
+ }
400
+ },
401
+
402
+ bootCapacity: {
403
+ title: t('vehicleProps:title.bootCapacity'),
404
+ get value() {
405
+ const cargoCapacity = car.sizeVolumeWeight && car.sizeVolumeWeight.cargoCapacity;
406
+ return Number.isFinite(cargoCapacity)
407
+ ? t('vehicleProps:value.bootCapacity', { capacity: cargoCapacity.toLocaleString(language) })
408
+ : t('vehicleProps:value.na');
409
+ }
410
+ },
411
+
412
+ doors: {
413
+ title: t('vehicleProps:title.doors'),
414
+ get value() { return doors > 0 ? doors : t('vehicleProps:value.na'); }
415
+ },
416
+
417
+ seats: {
418
+ title: t('vehicleProps:title.seats'),
419
+ get value() { return seats > 0 ? seats : t('vehicleProps:value.na'); }
420
+ },
421
+
422
+ tare: {
423
+ title: t('vehicleProps:title.tare'),
424
+ get value() {
425
+ const emptyWeight = car.sizeVolumeWeight && car.sizeVolumeWeight.emptyWeight;
426
+ return Number.isFinite(emptyWeight)
427
+ ? t('vehicleProps:value.tareWeight', { weight: (emptyWeight).toLocaleString(language) })
428
+ : t('vehicleProps:value.na');
429
+ }
430
+ },
431
+
432
+ maximumWeight: {
433
+ title: t('vehicleProps:title.maximumWeight'),
434
+ get value() {
435
+ const cargoCapacity = car.sizeVolumeWeight && car.sizeVolumeWeight.cargoCapacity;
436
+ return Number.isFinite(cargoCapacity)
437
+ ? t('vehicleProps:value.maximumWeightCapacity', { capacity: cargoCapacity.toLocaleString(language) })
438
+ : t('vehicleProps:value.na');
439
+ }
440
+ },
441
+
442
+ trailerWeightBraked: {
443
+ title: t('vehicleProps:title.trailerLoadBraked'),
444
+ get value() {
445
+ const trailerWeightBraked = car.sizeVolumeWeight && car.sizeVolumeWeight.trailerWeightBraked;
446
+ return Number.isFinite(trailerWeightBraked)
447
+ ? t('vehicleProps:value.weight', { weight: trailerWeightBraked.toLocaleString(language) })
448
+ : t('vehicleProps:value.na');
449
+ }
450
+ },
451
+
452
+ trailerWeightUnbraked: {
453
+ title: t('vehicleProps:title.trailerLoadUnbraked'),
454
+ get value() {
455
+ const trailerWeightUnbraked = car.sizeVolumeWeight && car.sizeVolumeWeight.trailerWeightUnbraked;
456
+ return Number.isFinite(trailerWeightUnbraked)
457
+ ? t('vehicleProps:value.weight', { weight: trailerWeightUnbraked.toLocaleString(language) })
458
+ : t('vehicleProps:value.na');
459
+ }
460
+ },
461
+
462
+ consumptionInner: {
463
+ icon: 'fuelConsumption',
464
+ title: t('vehicleProps:title.consumptionInner'),
465
+ get value() {
466
+ const consumptionInner = car.consumption.consumptionInner;
467
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
468
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
469
+ return Number.isFinite(consumptionInner)
470
+ ? t('vehicleProps:value.consumption', { consumption: consumptionInner.toLocaleString(language), unit: translatedUnit })
471
+ : t('vehicleProps:value.na');
472
+ }
473
+ },
474
+
475
+ consumptionPowerInner: {
476
+ icon: 'fuelConsumption',
477
+ title: t('vehicleProps:title.consumptionPowerInner'),
478
+ get value() {
479
+ const consumptionPowerInner = car.consumption.consumptionInner;
480
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
481
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
482
+ return Number.isFinite(consumptionPowerInner)
483
+ ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerInner.toLocaleString(language), unit: translatedUnit })
484
+ : t('vehicleProps:value.na');
485
+ }
486
+ },
487
+
488
+ consumptionPowerHybridInner: {
489
+ icon: 'fuelConsumption',
490
+ title: t('vehicleProps:title.consumptionPowerInner'),
491
+ get value() {
492
+ const consumptionPowerInner = car.consumption.consumptionPowerInner;
493
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
494
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
495
+ return Number.isFinite(consumptionPowerInner)
496
+ ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerInner.toLocaleString(language), unit: translatedUnit })
497
+ : t('vehicleProps:value.na');
498
+ }
499
+ },
500
+
501
+ consumptionHydrogenInner: {
502
+ icon: 'fuelConsumption',
503
+ title: t('vehicleProps:title.consumptionHydrogenInner'),
504
+ get value() {
505
+ const consumptionHydrogenInner = car.consumption.consumptionInner;
506
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
507
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
508
+ return Number.isFinite(consumptionHydrogenInner)
509
+ ? t('vehicleProps:value.consumptionGas', { consumption: consumptionHydrogenInner.toLocaleString(language), unit: translatedUnit })
510
+ : t('vehicleProps:value.na');
511
+ }
512
+ },
513
+ consumptionGasInner: {
514
+ icon: 'fuelConsumption',
515
+ title: t('vehicleProps:title.consumptionGasInner'),
516
+ get value() {
517
+ const consumptionGasInner = car.consumption.consumptionInner;
518
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
519
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
520
+ return Number.isFinite(consumptionGasInner)
521
+ ? t('vehicleProps:value.consumptionGas', { consumption: consumptionGasInner.toLocaleString(language), unit: translatedUnit })
522
+ : t('vehicleProps:value.na');
523
+ }
524
+ },
525
+
526
+ consumptionOuter: {
527
+ icon: 'fuelConsumption',
528
+ title: t('vehicleProps:title.consumptionOuter'),
529
+ get value() {
530
+ const consumptionOuter = car.consumption.consumptionOuter;
531
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
532
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
533
+ return Number.isFinite(consumptionOuter)
534
+ ? t('vehicleProps:value.consumption', { consumption: consumptionOuter.toLocaleString(language), unit: translatedUnit })
535
+ : t('vehicleProps:value.na');
536
+ }
537
+ },
538
+
539
+ consumptionPowerOuter: {
540
+ icon: 'fuelConsumption',
541
+ title: t('vehicleProps:title.consumptionPowerOuter'),
542
+ get value() {
543
+ const consumptionPowerOuter = car.consumption.consumptionOuter;
544
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
545
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
546
+ return Number.isFinite(consumptionPowerOuter)
547
+ ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerOuter.toLocaleString(language), unit: translatedUnit })
548
+ : t('vehicleProps:value.na');
549
+ }
550
+ },
551
+
552
+ consumptionPowerHybridOuter: {
553
+ icon: 'fuelConsumption',
554
+ title: t('vehicleProps:title.consumptionPowerOuter'),
555
+ get value() {
556
+ const consumptionPowerOuter = car.consumption.consumptionPowerOuter;
557
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
558
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
559
+ return Number.isFinite(consumptionPowerOuter)
560
+ ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerOuter.toLocaleString(language), unit: translatedUnit })
561
+ : t('vehicleProps:value.na');
562
+ }
563
+ },
564
+
565
+ consumptionHydrogenOuter: {
566
+ icon: 'fuelConsumption',
567
+ title: t('vehicleProps:title.consumptionHydrogenOuter'),
568
+ get value() {
569
+ const consumptionHydrogenOuter = car.consumption.consumptionOuter;
570
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
571
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
572
+ return Number.isFinite(consumptionHydrogenOuter)
573
+ ? t('vehicleProps:value.consumptionGas', { consumption: consumptionHydrogenOuter.toLocaleString(language), unit: translatedUnit })
574
+ : t('vehicleProps:value.na');
575
+ }
576
+ },
577
+
578
+ consumptionGasOuter: {
579
+ icon: 'fuelConsumption',
580
+ title: t('vehicleProps:title.consumptionGasOuter'),
581
+ get value() {
582
+ const consumptionGasOuter = car.consumption.consumptionOuter;
583
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
584
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
585
+ return Number.isFinite(consumptionGasOuter)
586
+ ? t('vehicleProps:value.consumptionGas', { consumption: consumptionGasOuter.toLocaleString(language), unit: translatedUnit })
587
+ : t('vehicleProps:value.na');
588
+ }
589
+ },
590
+
591
+ consumptionCombined: {
592
+ icon: 'fuelConsumption',
593
+ title: t('vehicleProps:title.сonsumptionCombined'),
594
+ get value() {
595
+ const consumptionCombined = car.consumption.consumptionCombined;
596
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
597
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
598
+ return Number.isFinite(consumptionCombined)
599
+ ? t('vehicleProps:value.consumption', { consumption: consumptionCombined.toLocaleString(language), unit: translatedUnit })
600
+ : t('vehicleProps:value.na');
601
+ }
602
+ },
603
+
604
+ consumptionPowerCombined: {
605
+ icon: 'fuelConsumption',
606
+ title: t('vehicleProps:title.consumptionPowerCombined'),
607
+ get value() {
608
+ const consumptionPowerCombined = car.consumption.consumptionCombined;
609
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
610
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
611
+ return Number.isFinite(consumptionPowerCombined)
612
+ ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit })
613
+ : t('vehicleProps:value.na');
614
+ }
615
+ },
616
+
617
+ consumptionPowerHybridCombined: {
618
+ icon: 'fuelConsumption',
619
+ title: t('vehicleProps:title.consumptionPowerCombined'),
620
+ get value() {
621
+ const consumptionPowerCombined = car.consumption.consumptionPowerCombined;
622
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
623
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
624
+ return Number.isFinite(consumptionPowerCombined)
625
+ ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit })
626
+ : t('vehicleProps:value.na');
627
+ }
628
+ },
629
+
630
+ consumptionHydrogenCombined: {
631
+ icon: 'fuelConsumption',
632
+ title: t('vehicleProps:title.consumptionHydrogenCombined'),
633
+ get value() {
634
+ const consumptionHydrogenCombined = car.consumption.consumptionCombined;
635
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
636
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
637
+ return Number.isFinite(consumptionHydrogenCombined)
638
+ ? t('vehicleProps:value.consumptionGas', { consumption: consumptionHydrogenCombined.toLocaleString(language), unit: translatedUnit })
639
+ : t('vehicleProps:value.na');
640
+ }
641
+ },
642
+
643
+ consumptionGasCombined: {
644
+ icon: 'fuelConsumption',
645
+ title: t('vehicleProps:title.consumptionGasCombined'),
646
+ get value() {
647
+ const consumptionGasCombined = car.consumption.consumptionCombined;
648
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
649
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
650
+ return Number.isFinite(consumptionGasCombined)
651
+ ? t('vehicleProps:value.consumptionGas', { consumption: consumptionGasCombined.toLocaleString(language), unit: translatedUnit })
652
+ : t('vehicleProps:value.na');
653
+ }
654
+ },
655
+
656
+ consumptionCombinedAlternateView: {
657
+ icon: 'fuelConsumption',
658
+ get value() {
659
+ const consumptionCombined = car.consumption.consumptionCombined;
660
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
661
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
662
+
663
+ const co2 = car.environmentEmissions.co2;
664
+
665
+ const consumptionValue = Number.isFinite(consumptionCombined)
666
+ ? t('vehicleProps:value.consumptionCombined', { consumption: consumptionCombined.toLocaleString(language), unit: translatedUnit })
667
+ : t('vehicleProps:value.na');
668
+
669
+ const co2Value = Number.isFinite(co2)
670
+ ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
671
+ : t('vehicleProps:value.na');
672
+
673
+ return <>{consumptionValue} <br /> {co2Value}</>;
674
+ }
675
+ },
676
+ consumptionPowerCombinedAlternateView: {
677
+ icon: 'fuelConsumption',
678
+ title: t('vehicleProps:title.consumptionPowerCombined'),
679
+ get value() {
680
+ const consumptionPowerCombined = car.consumption.consumptionCombined;
681
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
682
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
683
+ const co2 = car.environmentEmissions.co2;
684
+
685
+ const consumptionValue = Number.isFinite(consumptionPowerCombined)
686
+ ? t('vehicleProps:value.consumptionPower', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit })
687
+ : t('vehicleProps:value.na');
688
+
689
+ const co2Value = Number.isFinite(co2)
690
+ ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
691
+ : t('vehicleProps:value.na');
692
+
693
+ return <>{consumptionValue} <br /> {co2Value}</>;
694
+ }
695
+ },
696
+ consumptionHydrogenCombinedAlternateView: {
697
+ icon: 'fuelConsumption',
698
+ title: t('vehicleProps:title.consumptionHydrogenCombined'),
699
+ get value() {
700
+ const consumptionHydrogenCombined = car.consumption.consumptionCombined;
701
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
702
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
703
+ const co2 = car.environmentEmissions.co2;
704
+
705
+ const consumptionValue = Number.isFinite(consumptionHydrogenCombined)
706
+ ? t('vehicleProps:value.consumptionGas', { consumption: consumptionHydrogenCombined.toLocaleString(language), unit: translatedUnit })
707
+ : t('vehicleProps:value.na');
708
+
709
+ const co2Value = Number.isFinite(co2)
710
+ ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
711
+ : t('vehicleProps:value.na');
712
+
713
+ return <>{consumptionValue} <br /> {co2Value}</>;
714
+ }
715
+ },
716
+ consumptionGasCombinedAlternateView: {
717
+ icon: 'fuelConsumption',
718
+ title: t('vehicleProps:title.consumptionGasCombined'),
719
+ get value() {
720
+ const consumptionGasCombined = car.consumption.consumptionCombined;
721
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
722
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
723
+
724
+ const co2 = car.environmentEmissions.co2;
725
+
726
+ const consumptionValue = Number.isFinite(consumptionGasCombined)
727
+ ? t('vehicleProps:value.consumptionGas', { consumption: consumptionGasCombined.toLocaleString(language), unit: translatedUnit })
728
+ : t('vehicleProps:value.na');
729
+
730
+ const co2Value = Number.isFinite(co2)
731
+ ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
732
+ : t('vehicleProps:value.na');
733
+
734
+ return <>{consumptionValue} <br /> {co2Value}</>;
735
+ }
736
+ },
737
+
738
+ consumptionCombinedHybridAlternateView: {
739
+ icon: 'fuelConsumption',
740
+ get value() {
741
+ const consumptionCombined = +car.consumption.consumptionCombined;
742
+ const consumptionPowerCombined = +car.consumption.consumptionPowerCombined;
743
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
744
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
745
+
746
+ const consumptionPowerCombinedContent = t('vehicleProps:value.consumptionPowerCombined', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit });
747
+ const consumptionCombinedContent = t('vehicleProps:value.consumptionCombined', { consumption: consumptionCombined.toLocaleString(language), unit: translatedUnit });
748
+
749
+ const co2 = car.environmentEmissions.co2;
750
+ const co2Value = Number.isFinite(co2)
751
+ ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
752
+ : t('vehicleProps:value.na');
753
+
754
+ return Number.isFinite(consumptionCombined) && Number.isFinite(consumptionPowerCombined)
755
+ ? <React.Fragment>
756
+ {consumptionPowerCombined ? consumptionPowerCombinedContent : ''} {consumptionPowerCombined ? <br /> : ''}{consumptionCombinedContent} <br /> {co2Value}
757
+ </React.Fragment>
758
+ : t('vehicleProps:value.na');
759
+ }
760
+ },
761
+
762
+ rangeHydrogen: {
763
+ title: t('vehicleProps:title.rangeHydrogen'),
764
+ get value() {
765
+ const { rangeHydrogen } = car.engineData;
766
+ return Number.isFinite(rangeHydrogen)
767
+ ? t('vehicleProps:value.batteryRangeElectric', { consumption: rangeHydrogen.toLocaleString(language) })
768
+ : t('vehicleProps:value.na');
769
+ }
770
+ },
771
+ batteryRangeElectric: {
772
+ title: t('vehicleProps:title.batteryRangeElectric'),
773
+ get value() {
774
+ const batteryRangeElectric = car.battery && car.battery.batteryRangeElectric;
775
+ return Number.isFinite(batteryRangeElectric)
776
+ ? t('vehicleProps:value.batteryRangeElectric', { consumption: batteryRangeElectric.toLocaleString(language) })
777
+ : t('vehicleProps:value.na');
778
+ }
779
+ },
780
+
781
+ c02: {
782
+ title: t('vehicleProps:title.co2'),
783
+ get value() {
784
+ const c02 = car.environmentEmissions.co2;
785
+ return Number.isFinite(c02)
786
+ ? t('vehicleProps:value.co2', { co2: c02.toLocaleString(language) })
787
+ : t('vehicleProps:value.na');
788
+ }
789
+ },
790
+
791
+ consumptionAndCo2: {
792
+ title: t('vehicleProps:title.consumptionAndCo2'),
793
+ get value() {
794
+ const consumptionPowerCombined = car.consumption.consumptionCombined;
795
+ const consumptionUnit = car.consumption.consumptionUnit || 'consumption_consumptionUnit_l';
796
+ const translatedUnit = t(`cbd:${consumptionUnit}`);
797
+ const co2 = car.environmentEmissions.co2;
798
+ const consumptionValue = Number.isFinite(consumptionPowerCombined)
799
+ ? t('vehicleProps:value.consumptionCombined', { consumption: consumptionPowerCombined.toLocaleString(language), unit: translatedUnit })
800
+ : t('vehicleProps:value.na');
801
+ const co2Value = Number.isFinite(co2)
802
+ ? t('vehicleProps:value.co2Combined', { co2: co2.toLocaleString(language) })
803
+ : t('vehicleProps:value.na');
804
+
805
+ return `${consumptionValue} | ${co2Value}`;
806
+ }
807
+ },
808
+ emissionClass: {
809
+ title: t('vehicleProps:title.emissionClass'),
810
+ get value() {
811
+ const emissionClass = car.environmentEmissions.emissionClass;
812
+ return isPropDefined(emissionClass) ? t(`cbd:${emissionClass}`) : t('vehicleProps:value.na');
813
+ }
814
+ },
815
+
816
+ emissionSticker: {
817
+ title: t('vehicleProps:title.emissionsSticker'),
818
+ get value() {
819
+ const emissionSticker = car.environmentEmissions.emissionSticker;
820
+ let icon = null;
821
+ const size = 25;
822
+
823
+ if (emissionSticker !== 'selector_emissionSticker_no') {
824
+ icon = EMISSION_STICKERS_ICONS[emissionSticker];
825
+ }
826
+
827
+ return icon ? <Icon src={icon} width={size} height={size} /> : t('vehicleProps:value.na');
828
+ }
829
+ },
830
+
831
+ wpEmissionSticker: {
832
+ title: t('vehicleProps:title.emissionsSticker'),
833
+ get value() {
834
+ const emissionSticker = car.environmentEmissions.emissionSticker;
835
+ let icon = null;
836
+ const size = 25;
837
+
838
+ if (emissionSticker !== 'selector_emissionSticker_no') {
839
+ icon = WP_EMISSION_STICKERS_ICONS[emissionSticker];
840
+ }
841
+
842
+ return icon ? <Icon src={icon} width={size} height={size} /> : t('vehicleProps:value.na');
843
+ }
844
+ },
845
+
846
+ energyEfficiencyClass: {
847
+ title: t('vehicleProps:title.energyEfficiencyClass'),
848
+ subTitle: t('vehicleProps:title.subTitle'),
849
+ get value() {
850
+ const level = car.environmentEmissions.energyEfficiencyClass;
851
+ return isPropDefined(level) ? <CO2Efficiency level={level} t={t} /> : t('vehicleProps:value.na');
852
+ }
853
+ },
854
+
855
+ offerAvailability: {
856
+ title: t('vehicleProps:title.offerAvailability'),
857
+ icon: 'carAvailability',
858
+ get value() {
859
+ const offerAvailabilityMode = offer.availabilityMode;
860
+ const offerAvailabilityTimestamp = offer.availabilityFrom;
861
+ const humanViewTime = moment.unix(offerAvailabilityTimestamp).format('DD.MM.YYYY');
862
+ let offerAvailability: string;
863
+
864
+ switch (offerAvailabilityMode) {
865
+ case 'selector_availabilityMode_always':
866
+ offerAvailability = t(`cbd:${offerAvailabilityMode}`);
867
+ break;
868
+
869
+ case 'selector_availabilityMode_fromDate':
870
+ if (offer.deliveryPeriod != null && offer.deliveryPeriod !== 'selector_unknown') {
871
+ offerAvailability = formatDeliveryPeriod(t, offer.deliveryPeriod);
872
+ break;
873
+ }
874
+
875
+ if (moment.utc(offerAvailabilityTimestamp, 'X').isBefore()) {
876
+ offerAvailability = t('cbd:selector_availabilityMode_always');
877
+ } else {
878
+ offerAvailability = t('vehicleProps:value.fromDate', { date: humanViewTime });
879
+ }
880
+ break;
881
+
882
+ default:
883
+ if (!offerAvailabilityMode && !firstRegistration && !mileage) offerAvailability = t('vehicleProps:value.onRequest');
884
+ else offerAvailability = null;
885
+ }
886
+ return isPropDefined(offerAvailability) ? offerAvailability : t('vehicleProps:value.na');
887
+ }
888
+ },
889
+
890
+ lastTechnicalService: {
891
+ title: t('vehicleProps:title.lastTechnicalService'),
892
+ get value() {
893
+ const lastTechnicalService = car.careService.lastTechnicalService;
894
+ return Number.isFinite(lastTechnicalService)
895
+ ? formatTimestamp({ timestamp: lastTechnicalService, format: 'MM/YYYY' })
896
+ : t('vehicleProps:value.na');
897
+ }
898
+ },
899
+
900
+ generalInspection: {
901
+ title: t('vehicleProps:title.generalInspection'),
902
+ get value() {
903
+ const generalInspection = car.careService.generalInspection;
904
+ if (car.offer.newHuAu) {
905
+ return t('vehicleProps:value.new');
906
+ // tslint:disable-next-line:no-else-after-return
907
+ }else {
908
+ return Number.isFinite(generalInspection)
909
+ ? formatTimestamp({ timestamp: generalInspection, format: 'MM/YYYY' })
910
+ : t('vehicleProps:value.na');
911
+ }
912
+ }
913
+ },
914
+
915
+ condition: {
916
+ title: t('vehicleProps:title.сondition'),
917
+ get value() {
918
+ return isPropDefined(condition)
919
+ ? t(`cbd:${condition}`)
920
+ : t('vehicleProps:value.na');
921
+ }
922
+ },
923
+
924
+ numberOfPreviousOwnersSimple: {
925
+ title: t('vehicleProps:title.numberOfPreviousOwners'),
926
+ get value() {
927
+ return Number.isFinite(numberOfPreviousOwners)
928
+ ? numberOfPreviousOwners
929
+ : t('vehicleProps:value.na');
930
+ }
931
+ },
932
+
933
+ guarantee: {
934
+ title: t('vehicleProps:title.guarantee'),
935
+ get value() {
936
+ const guarantee = car.offer.warranty;
937
+ return isPropDefined(guarantee)
938
+ ? (guarantee ? t('vehicleProps:value.yes') : t('vehicleProps:value.no'))
939
+ : t('vehicleProps:value.na');
940
+ }
941
+ },
942
+
943
+ maintenanceGuide: {
944
+ title: t('vehicleProps:title.maintenanceGuide'),
945
+ get value() {
946
+ const fullserviceHistory = car.careService.fullServiceHistory;
947
+ return isPropDefined(fullserviceHistory)
948
+ ? (fullserviceHistory ? t('vehicleProps:value.yes') : t('vehicleProps:value.no'))
949
+ : t('vehicleProps:value.na');
950
+ }
951
+ },
952
+
953
+ nonSmokerVehicle: {
954
+ title: t('vehicleProps:title.nonSmokingVehicle'),
955
+ get value() {
956
+ return isPropDefined(nonSmokerVehicle)
957
+ ? (nonSmokerVehicle ? t('vehicleProps:value.yes') : t('vehicleProps:value.no'))
958
+ : t('vehicleProps:value.na');
959
+ }
960
+ },
961
+
962
+ manufacturerColorName: {
963
+ title: t('vehicleProps:title.manufacturerColorName'),
964
+ get value() {
965
+ const color = car.exterior.manufacturerColorName;
966
+
967
+ if (typeof color !== 'string' || color === '') {
968
+ return t('vehicleProps:value.na');
969
+ }
970
+
971
+ return color[0].toUpperCase() + color.slice(1);
972
+ }
973
+ },
974
+
975
+ exteriorColor: {
976
+ title: t('vehicleProps:title.colour'),
977
+ get value() {
978
+ const exteriorColor = car.exterior.exteriorColor;
979
+ return isPropDefined(exteriorColor)
980
+ ? t(`cbd:${exteriorColor.replace('exterior_', '')}`)
981
+ : t('vehicleProps:value.na');
982
+ }
983
+ },
984
+
985
+ appointmentsColor: {
986
+ title: t('vehicleProps:title.appointmentsColor'),
987
+ get value() {
988
+ const interiorColor = car.interior.interiorColor;
989
+ return isPropDefined(interiorColor)
990
+ ? t(`cbd:${interiorColor.replace('interior_', '')}`)
991
+ : t('vehicleProps:value.na');
992
+ }
993
+ },
994
+
995
+ interiorType: {
996
+ title: t('vehicleProps:title.interiorType'),
997
+ get value() {
998
+ const interiorType = car.interior.interiorType;
999
+ return isPropDefined(interiorType)
1000
+ ? t(`cbd:${interiorType}`)
1001
+ : t('vehicleProps:value.na');
1002
+ }
1003
+ },
1004
+ signOfUse : {
1005
+ title: t('vehicleProps:title.signsOfUse'),
1006
+ isVisible: mileage > 100, // tslint:disable-line
1007
+ isLongTitle: true,
1008
+ get value() {
1009
+ return t('vehicleProps:value.yes');
1010
+ }
1011
+ },
1012
+ countryVersion : {
1013
+ title: t('vehicleProps:title.countryVersion'),
1014
+ get value() {
1015
+ const countryName = car.countryActive[language];
1016
+ if (!countryVersion) return t('vehicleProps:value.na');
1017
+ switch (countryVersion) {
1018
+ case 'de':
1019
+ return t('vehicleProps:value.countryDEversion');
1020
+ break;
1021
+ case 'eu':
1022
+ return t('vehicleProps:value.countryEUversion');
1023
+ break;
1024
+ case 'at':
1025
+ return t('vehicleProps:value.countryATversion');
1026
+ break;
1027
+ default:
1028
+ return t('vehicleProps:value.countryVersionName', { countryName });
1029
+ }
1030
+ }
1031
+ }
1032
+ };
1033
+ return props;
1034
+ };
1035
+
1036
+ export default getDecoratedProps;