@bytebrand/fe-ui-core-autobahn 1.0.1 → 1.0.2
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.
- package/assets/autode-logo.svg +6 -6
- package/cards/CarCard.tsx +174 -174
- package/cards/CarRow.tsx +186 -182
- package/cards/cardParts.tsx +529 -489
- package/cards/index.ts +37 -35
- package/cards/types.ts +122 -114
- package/chrome/Footer.tsx +189 -189
- package/chrome/TopBar.tsx +405 -405
- package/chrome/index.ts +20 -20
- package/chrome/svg.d.ts +11 -11
- package/compat/AccardionSection/AccardionSection.styl +45 -45
- package/compat/AccardionSection/AccardionSection.tsx +56 -56
- package/compat/AccordionWidget/AccordionWidget.styl +220 -220
- package/compat/AccordionWidget/AccordionWidget.tsx +257 -257
- package/compat/AccordionWrapper/AccordionItem/AccordionItem.styl +34 -34
- package/compat/AccordionWrapper/AccordionItem/AccordionItem.tsx +64 -64
- package/compat/AccordionWrapper/AccordionWrapper.tsx +34 -34
- package/compat/AdvantageItem/AdvantageItem.styl +47 -47
- package/compat/AdvantageItem/AdvantageItem.tsx +26 -26
- package/compat/Alternative/DealerInfo.styl +116 -116
- package/compat/Alternative/DealerInfo.tsx +171 -171
- package/compat/Badge/Badge.styl +44 -44
- package/compat/Badge/Badge.tsx +25 -25
- package/compat/BodyTypeIcons/Audi.tsx +9 -9
- package/compat/BodyTypeIcons/Bmw.tsx +860 -860
- package/compat/BodyTypeIcons/Ford.tsx +31 -31
- package/compat/BodyTypeIcons/IconsConfig.tsx +44 -44
- package/compat/BodyTypeIcons/IconsConfigCompact.tsx +30 -30
- package/compat/BodyTypeIcons/Mazda.tsx +44 -44
- package/compat/BodyTypeIcons/MercedesBenz.tsx +38 -38
- package/compat/BodyTypeIcons/Opel.tsx +19 -19
- package/compat/BodyTypeIcons/Search.tsx +19 -19
- package/compat/BodyTypeIcons/SelectorCategoryCombi.tsx +68 -68
- package/compat/BodyTypeIcons/SelectorCategoryCompact.tsx +20 -20
- package/compat/BodyTypeIcons/SelectorCategoryConvertible.tsx +68 -68
- package/compat/BodyTypeIcons/SelectorCategoryCoupe.tsx +60 -60
- package/compat/BodyTypeIcons/SelectorCategoryMinibus.tsx +64 -64
- package/compat/BodyTypeIcons/SelectorCategorySedan.tsx +69 -69
- package/compat/BodyTypeIcons/SelectorCategorySuv.tsx +77 -77
- package/compat/BodyTypeIcons/SelectorCategoryTransporter.tsx +68 -68
- package/compat/BodyTypeIcons/SelectorCategoryVan.tsx +72 -72
- package/compat/BodyTypeIcons/Volkswagen.tsx +330 -330
- package/compat/BodyTypeIcons/index.ts +17 -17
- package/compat/Button/Button.tsx +65 -65
- package/compat/ButtonOld/Button.styl +65 -65
- package/compat/ButtonOld/Button.tsx +84 -84
- package/compat/Checkbox/Checkbox.styl +119 -119
- package/compat/Checkbox/Checkbox.tsx +151 -151
- package/compat/Checkbox/FormCheckbox.styl +22 -22
- package/compat/Checkbox/FormCheckbox.tsx +86 -86
- package/compat/Co2Widget/CO2Efficiency.styl +219 -219
- package/compat/Co2Widget/CO2Efficiency.tsx +93 -93
- package/compat/ContactInfo/ContactInfo.styl +22 -22
- package/compat/ContactInfo/ContactInfo.tsx +161 -161
- package/compat/ContactInfo/TemporaryTranslation.ts +11 -11
- package/compat/CookieModal/CookieModal.tsx +49 -49
- package/compat/CookieModal/Modal.tsx +43 -43
- package/compat/CookieModal/ModalsConfig.tsx +23 -23
- package/compat/CookieModal/modals/ManageCookieModal/ManageCookieModal.styl +86 -86
- package/compat/CookieModal/modals/ManageCookieModal/ManageCookieModal.tsx +184 -184
- package/compat/CookieModal/modals/PreviewCookieModal/PreviewCookieModal.styl +66 -66
- package/compat/CookieModal/modals/PreviewCookieModal/PreviewCookieModal.tsx +51 -51
- package/compat/CookieModal/modals/TestModal.tsx +7 -7
- package/compat/CookieModal/useModal.ts +13 -13
- package/compat/CustomerQuote/CustomerQuote.styl +79 -79
- package/compat/CustomerQuote/CustomerQuote.tsx +68 -68
- package/compat/CustomerQuotesSlider/CustomerQuotesSlider.styl +46 -46
- package/compat/CustomerQuotesSlider/CustomerQuotesSlider.tsx +79 -79
- package/compat/CustomerQuotesSlider/SliderArrow.tsx +20 -20
- package/compat/CustomerQuotesSlider/slider.global.styl +2 -2
- package/compat/ExpansionPanel/ExpansionPanel.tsx +68 -68
- package/compat/FirstInfoBlock/FirstInfoBlock.styl +33 -33
- package/compat/FirstInfoBlock/FirstInfoBlock.tsx +49 -49
- package/compat/FirstInfoBlock/FirstInfoBlockItem/FirstInfoBlockItem.styl +66 -66
- package/compat/FirstInfoBlock/FirstInfoBlockItem/FirstInfoBlockItem.tsx +21 -21
- package/compat/FormattedNumber/FormattedNumber.styl +1 -1
- package/compat/FormattedNumber/FormattedNumber.tsx +90 -90
- package/compat/IconContainer/IconContainer.styl +23 -23
- package/compat/IconContainer/IconContainer.tsx +34 -34
- package/compat/Image/Image.styl +109 -109
- package/compat/Image/Image.tsx +302 -302
- package/compat/ImageSettings/EditableOptionsTable/CustomCheckbox/CustomCheckbox.styl +7 -7
- package/compat/ImageSettings/EditableOptionsTable/CustomCheckbox/CustomCheckbox.tsx +30 -30
- package/compat/ImageSettings/EditableOptionsTable/EditableOptionsTable.styl +122 -122
- package/compat/ImageSettings/EditableOptionsTable/EditableOptionsTable.tsx +199 -199
- package/compat/ImageSettings/EditableOptionsTable/ImageIcon/ImageIcon.styl +3 -3
- package/compat/ImageSettings/EditableOptionsTable/ImageIcon/ImageIcon.tsx +15 -15
- package/compat/ImageSettings/OptionsTable/OptionsTable.styl +47 -47
- package/compat/ImageSettings/OptionsTable/OptionsTable.tsx +122 -122
- package/compat/ImageSettings/PricePlan/PricePlan.styl +63 -63
- package/compat/ImageSettings/PricePlan/PricePlan.tsx +32 -32
- package/compat/ImageSettings/index.ts +42 -42
- package/compat/ImagesSet/ImagesSet.styl +27 -27
- package/compat/ImagesSet/ImagesSet.tsx +76 -76
- package/compat/InfoBlockWrapper/InfoBlockWrapper.styl +41 -41
- package/compat/InfoBlockWrapper/InfoBlockWrapper.tsx +46 -46
- package/compat/Loader/Loader.styl +39 -39
- package/compat/Loader/Loader.tsx +32 -32
- package/compat/MagnifyGlass/MagnifyGlass.styl +33 -33
- package/compat/MagnifyGlass/MagnifyGlass.tsx +213 -213
- package/compat/MdAccordionGroup/MdAccordionGroup.tsx +53 -53
- package/compat/MdCheckbox/MdCheckbox.tsx +69 -69
- package/compat/MdField/MdField.tsx +100 -100
- package/compat/MdSelect/MdSelect.tsx +103 -103
- package/compat/MdSwitch/MdSwitch.tsx +29 -29
- package/compat/MdTabs/MdTabs.tsx +47 -47
- package/compat/MdTooltip/MdTooltip.tsx +31 -31
- package/compat/OfferDetailedSection/OfferDetailedSection.styl +31 -31
- package/compat/OfferDetailedSection/OfferDetailedSection.tsx +100 -100
- package/compat/OfferDetailedSection/partials/PanelConfig.styl +131 -131
- package/compat/OfferDetailedSection/partials/PanelConfig.tsx +121 -121
- package/compat/OfferPanel/AboAccordion/AboAccordion.styl +24 -24
- package/compat/OfferPanel/AboAccordion/AboAccordion.tsx +128 -128
- package/compat/OfferPanel/AboAccordion/AboColorOptions/AboColorOptions.styl +11 -11
- package/compat/OfferPanel/AboAccordion/AboColorOptions/AboColorOptions.tsx +35 -35
- package/compat/OfferPanel/AboAccordion/AboFaq/AboFaq.styl +20 -20
- package/compat/OfferPanel/AboAccordion/AboFaq/AboFaq.tsx +25 -25
- package/compat/OfferPanel/AboAccordion/AboIncludedServices/AboIncludedServices.styl +13 -13
- package/compat/OfferPanel/AboAccordion/AboIncludedServices/AboIncludedServices.tsx +39 -39
- package/compat/OfferPanel/MuiOfferPeriod/MuiOfferPeriod.tsx +42 -42
- package/compat/OfferPanel/OfferCheckboxGroup/CheckboxContainer.tsx +140 -140
- package/compat/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.styl +144 -144
- package/compat/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.tsx +23 -23
- package/compat/OfferPanel/OfferPanel.styl +193 -193
- package/compat/OfferPanel/OfferPanel.tsx +81 -81
- package/compat/OfferPanel/OfferPeriod/OfferPeriod.styl +24 -24
- package/compat/OfferPanel/OfferPeriod/OfferPeriod.tsx +45 -45
- package/compat/OfferPanel/RangeGroup/RangeGroup.tsx +39 -39
- package/compat/OfferRequestButtonWrapper/OfferRequestButtonWrapper.styl +119 -119
- package/compat/OfferRequestButtonWrapper/OfferRequestButtonWrapper.styled.tsx +33 -33
- package/compat/OfferRequestButtonWrapper/OfferRequestButtonWrapper.tsx +122 -122
- package/compat/PriceRating/PriceRating.styl +47 -47
- package/compat/PriceRating/PriceRating.tsx +64 -64
- package/compat/PriceRatingDetailed/PriceRatingDetailed.styl +120 -120
- package/compat/PriceRatingDetailed/PriceRatingDetailed.tsx +191 -191
- package/compat/PricingToolBlock/PricingTool.styl +6 -6
- package/compat/PricingToolBlock/PricingTool.tsx +29 -29
- package/compat/Radio/Radio.styl +115 -115
- package/compat/Radio/Radio.tsx +141 -141
- package/compat/Radio/RadioGroup.styl +5 -5
- package/compat/Radio/RadioGroup.tsx +65 -65
- package/compat/Range/Range.tsx +79 -79
- package/compat/RateSearchValue/RateSearchValue.styl +22 -22
- package/compat/RateSearchValue/RateSearchValue.tsx +55 -55
- package/compat/RateSearchWidget/RateSearchWidget.styl +106 -106
- package/compat/RateSearchWidget/RateSearchWidget.tsx +163 -163
- package/compat/ServiceBlockItem/ServiceBlockItem.styl +47 -47
- package/compat/ServiceBlockItem/ServiceBlockItem.tsx +25 -25
- package/compat/SkeletonItem/SkeletonItem.styl +80 -80
- package/compat/SkeletonItem/SkeletonItem.tsx +80 -80
- package/compat/StarButton/StarButton.styl +39 -39
- package/compat/StarButton/StarButton.tsx +31 -31
- package/compat/TabPanel/TabPanel.tsx +28 -28
- package/compat/TimePicker/TimePicker.styl +22 -22
- package/compat/TimePicker/TimePicker.tsx +156 -156
- package/compat/Tooltip/Tooltip.styl +117 -117
- package/compat/Tooltip/Tooltip.tsx +63 -63
- package/compat/Usp/Usp.styl +78 -78
- package/compat/Usp/Usp.tsx +30 -30
- package/compat/Usp/uspTranslate.ts +12 -12
- package/compat/VehicleDetailedSidebar/VehicleDetailedSidebar.styl +36 -36
- package/compat/VehicleDetailedSidebar/VehicleDetailedSidebar.tsx +178 -178
- package/compat/VehicleDetailedSidebar/partials/Price.styl +27 -27
- package/compat/VehicleDetailedSidebar/partials/Price.tsx +41 -41
- package/compat/VehicleDetailedSidebar/partials/PriceContent.styl +123 -123
- package/compat/VehicleDetailedSidebar/partials/PriceContent.tsx +128 -128
- package/compat/VehicleDetailedSidebar/partials/Properties.styl +58 -58
- package/compat/VehicleDetailedSidebar/partials/Properties.tsx +155 -155
- package/compat/VehicleDetailedSidebar/partials/Title.styl +35 -35
- package/compat/VehicleDetailedSidebar/partials/Title.tsx +33 -33
- package/compat/VehicleDetailedSlider/VehicleDetailedSlider.styl +146 -146
- package/compat/VehicleDetailedSlider/VehicleDetailedSlider.tsx +382 -382
- package/compat/VehicleDetailedSlider/partials/MobileStast.tsx +61 -61
- package/compat/VehicleDetailedSlider/partials/MobileStats.styl +71 -71
- package/compat/VehicleDetailedSlider/partials/PriceData.styl +50 -50
- package/compat/VehicleDetailedSlider/partials/PriceData.tsx +67 -67
- package/compat/VehicleDetailedSlider/partials/Stats.styl +80 -80
- package/compat/VehicleDetailedSlider/partials/Stats.tsx +62 -62
- package/compat/VehicleDetailedSlider/partials/Title.styl +44 -44
- package/compat/VehicleDetailedSlider/partials/Title.tsx +36 -36
- package/compat/VehicleFormattedPrice/VehicleFormattedPrice.styl +148 -148
- package/compat/VehicleFormattedPrice/VehicleFormattedPrice.tsx +163 -163
- package/compat/VehicleSlider/VehicleSlider.styl +62 -62
- package/compat/VehicleSlider/VehicleSlider.tsx +125 -125
- package/compat/VehicleSlider/VehicleSliderForSRL.tsx +175 -175
- package/compat/VehicleSmallCard/SeoText/SeoText.styl +8 -8
- package/compat/VehicleSmallCard/SeoText/SeoText.tsx +16 -16
- package/compat/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.styl +204 -204
- package/compat/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx +199 -199
- package/compat/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.styl +273 -273
- package/compat/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.tsx +179 -179
- package/compat/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.styl +165 -165
- package/compat/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.tsx +299 -299
- package/compat/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.styl +32 -32
- package/compat/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.tsx +35 -35
- package/compat/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.styl +135 -135
- package/compat/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.tsx +91 -91
- package/compat/VehicleSmallCard/VehicleSmallCard.styl +309 -309
- package/compat/VehicleSmallCard/VehicleSmallCard.tsx +448 -448
- package/compat/index.ts +77 -77
- package/compat/legacy-theme/mixins.styl +93 -93
- package/compat/legacy-theme/priceReviewColors.styl +12 -12
- package/compat/legacy-theme/slider.global.styl +5 -5
- package/compat/legacy-theme/theme.styl +136 -136
- package/compat/withLabel/withLabel.styl +33 -33
- package/compat/withLabel/withLabel.tsx +44 -44
- package/compat/withStats/withStats.styl +174 -174
- package/compat/withStats/withStats.tsx +238 -238
- package/constants/RateSearchWidget.ts +15 -15
- package/constants/Search.ts +290 -290
- package/constants/SearchWidget.ts +108 -108
- package/constants/app.ts +223 -223
- package/constants/common.ts +127 -127
- package/constants/core.ts +131 -131
- package/constants/highlights.ts +165 -165
- package/constants/price.ts +9 -9
- package/constants/selectors.ts +38 -38
- package/constants.ts +91 -91
- package/data/DataTransformers.ts +88 -88
- package/data/fieldMapping.ts +364 -342
- package/data/toAutobahnCar.ts +455 -442
- package/iconsvg/IconSVG.tsx +30 -30
- package/iconsvg/IconSVGConfig.tsx +768 -768
- package/iconsvg/SVG/AboPartner.tsx +16 -16
- package/iconsvg/SVG/ArrowQuotes.tsx +22 -22
- package/iconsvg/SVG/CloseIcon.tsx +17 -17
- package/iconsvg/SVG/CloseIconSelect.tsx +18 -18
- package/iconsvg/SVG/ClosedLockIcon.tsx +18 -18
- package/iconsvg/SVG/DealerCheckIcon.tsx +18 -18
- package/iconsvg/SVG/DealerPopoverMail.tsx +21 -21
- package/iconsvg/SVG/DealerPopoverPhone.tsx +21 -21
- package/iconsvg/SVG/GrayPhoneIcon.tsx +22 -22
- package/iconsvg/SVG/InternetIcon.tsx +18 -18
- package/iconsvg/SVG/WhiteEnvelopeIcon.tsx +21 -21
- package/iconsvg/SVG/bodyType/Cabrio.tsx +23 -23
- package/iconsvg/SVG/bodyType/Coupe.tsx +22 -22
- package/iconsvg/SVG/bodyType/Minibus.tsx +22 -22
- package/iconsvg/SVG/bodyType/Other.tsx +25 -25
- package/iconsvg/SVG/bodyType/Sedan.tsx +22 -22
- package/iconsvg/SVG/bodyType/SelectorCategoryCombi.tsx +68 -68
- package/iconsvg/SVG/bodyType/SelectorCategoryCompact.tsx +20 -20
- package/iconsvg/SVG/bodyType/SelectorCategoryConvertible.tsx +68 -68
- package/iconsvg/SVG/bodyType/SelectorCategoryCoupe.tsx +60 -60
- package/iconsvg/SVG/bodyType/SelectorCategoryMinibus.tsx +64 -64
- package/iconsvg/SVG/bodyType/SelectorCategoryOther.tsx +60 -60
- package/iconsvg/SVG/bodyType/SelectorCategorySedan.tsx +69 -69
- package/iconsvg/SVG/bodyType/SelectorCategorySuv.tsx +77 -77
- package/iconsvg/SVG/bodyType/SelectorCategoryTransporter.tsx +68 -68
- package/iconsvg/SVG/bodyType/SelectorCategoryVan.tsx +72 -72
- package/iconsvg/SVG/bodyType/Small.tsx +23 -23
- package/iconsvg/SVG/bodyType/Suv.tsx +23 -23
- package/iconsvg/SVG/bodyType/Van.tsx +23 -23
- package/iconsvg/SVG/bodyType/Wagon.tsx +23 -23
- package/iconsvg/SVG/common/AddIcon.tsx +16 -16
- package/iconsvg/SVG/common/AddPlus.tsx +16 -16
- package/iconsvg/SVG/common/AddressDashboard.tsx +29 -29
- package/iconsvg/SVG/common/AddressIcon.tsx +20 -20
- package/iconsvg/SVG/common/ArrowDetailedAccordionBlue.tsx +26 -26
- package/iconsvg/SVG/common/ArrowDownBlue.tsx +21 -21
- package/iconsvg/SVG/common/ArrowSelect.tsx +23 -23
- package/iconsvg/SVG/common/ArrowStepDown.tsx +18 -18
- package/iconsvg/SVG/common/Autocheck.tsx +19 -19
- package/iconsvg/SVG/common/AutodeLogo.tsx +36 -36
- package/iconsvg/SVG/common/Avatar.tsx +17 -17
- package/iconsvg/SVG/common/BellGray.tsx +19 -19
- package/iconsvg/SVG/common/BigInfoTransparent.tsx +13 -13
- package/iconsvg/SVG/common/Browse.tsx +20 -20
- package/iconsvg/SVG/common/Calendar.tsx +24 -24
- package/iconsvg/SVG/common/CallbackDashboard.tsx +30 -30
- package/iconsvg/SVG/common/Camera.tsx +17 -17
- package/iconsvg/SVG/common/Car.tsx +16 -16
- package/iconsvg/SVG/common/CarBody.tsx +19 -19
- package/iconsvg/SVG/common/CarFront.tsx +43 -43
- package/iconsvg/SVG/common/CarInspectionCheck.tsx +21 -21
- package/iconsvg/SVG/common/CarInspectionScheme0.tsx +32 -32
- package/iconsvg/SVG/common/CarInspectionScheme1.tsx +53 -53
- package/iconsvg/SVG/common/CarInspectionScheme2.tsx +52 -52
- package/iconsvg/SVG/common/CarInspectionScheme3.tsx +32 -32
- package/iconsvg/SVG/common/CarInspectionScheme4.tsx +32 -32
- package/iconsvg/SVG/common/CarInspectionScheme5.tsx +32 -32
- package/iconsvg/SVG/common/CarInspectionScheme6.tsx +32 -32
- package/iconsvg/SVG/common/CarInspectionSchemeGeneral copy.tsx +24 -24
- package/iconsvg/SVG/common/CarInspectionSchemeGeneral.tsx +24 -24
- package/iconsvg/SVG/common/CheckBlue.tsx +18 -18
- package/iconsvg/SVG/common/CheckGreen.tsx +22 -22
- package/iconsvg/SVG/common/CheckMark.tsx +16 -16
- package/iconsvg/SVG/common/CheckWhite.tsx +19 -19
- package/iconsvg/SVG/common/Chevron.tsx +17 -17
- package/iconsvg/SVG/common/CircledCheckmark.tsx +25 -25
- package/iconsvg/SVG/common/Clock.tsx +18 -18
- package/iconsvg/SVG/common/Close.tsx +19 -19
- package/iconsvg/SVG/common/CloseGrey.tsx +22 -22
- package/iconsvg/SVG/common/ContactEmail.tsx +21 -21
- package/iconsvg/SVG/common/ContactPhone.tsx +28 -28
- package/iconsvg/SVG/common/CopyIcon copy.tsx +22 -22
- package/iconsvg/SVG/common/CopyIcon.tsx +22 -22
- package/iconsvg/SVG/common/CopyIconForDealer.tsx +21 -21
- package/iconsvg/SVG/common/DashboardIcon.tsx +20 -20
- package/iconsvg/SVG/common/DashboardQuestionMark.tsx +20 -20
- package/iconsvg/SVG/common/DealersIcon.tsx +20 -20
- package/iconsvg/SVG/common/DeleteCircle.tsx +31 -31
- package/iconsvg/SVG/common/DeleteV1Icon.tsx +18 -18
- package/iconsvg/SVG/common/DeliveryDashboard.tsx +25 -25
- package/iconsvg/SVG/common/DeliveryMail.tsx +24 -24
- package/iconsvg/SVG/common/Discount100De.tsx +18 -18
- package/iconsvg/SVG/common/Discount100En.tsx +19 -19
- package/iconsvg/SVG/common/Discount66De.tsx +28 -28
- package/iconsvg/SVG/common/Discount66En.tsx +20 -20
- package/iconsvg/SVG/common/DoneIcon.tsx +18 -18
- package/iconsvg/SVG/common/EditCircle.tsx +32 -32
- package/iconsvg/SVG/common/EditPriceIcon.tsx +20 -20
- package/iconsvg/SVG/common/EuroCurrency.tsx +18 -18
- package/iconsvg/SVG/common/Export.tsx +20 -20
- package/iconsvg/SVG/common/Eye.tsx +17 -17
- package/iconsvg/SVG/common/EyeCatch.tsx +19 -19
- package/iconsvg/SVG/common/FavoritesIcon.tsx +20 -20
- package/iconsvg/SVG/common/FilterRange.tsx +16 -16
- package/iconsvg/SVG/common/FilterToolBlack.tsx +23 -23
- package/iconsvg/SVG/common/FlagDe.tsx +21 -21
- package/iconsvg/SVG/common/FlagEn.tsx +43 -43
- package/iconsvg/SVG/common/GrayEnvelopeIcon.tsx +19 -19
- package/iconsvg/SVG/common/HamburgerMenuIcon.tsx +18 -18
- package/iconsvg/SVG/common/HandingOverDashboard.tsx +32 -32
- package/iconsvg/SVG/common/ImageSettingsIcon.tsx +20 -20
- package/iconsvg/SVG/common/Info.tsx +16 -16
- package/iconsvg/SVG/common/InfoIcon.tsx +17 -17
- package/iconsvg/SVG/common/InfoTransparent.tsx +18 -18
- package/iconsvg/SVG/common/LogoutIcon.tsx +20 -20
- package/iconsvg/SVG/common/MagnifyingGlass.tsx +31 -31
- package/iconsvg/SVG/common/MenuArrow.tsx +16 -16
- package/iconsvg/SVG/common/MenuGrey.tsx +22 -22
- package/iconsvg/SVG/common/MobileDeLogo.tsx +108 -108
- package/iconsvg/SVG/common/MyOrderIcon.tsx +20 -20
- package/iconsvg/SVG/common/MyVehiclesIcon.tsx +20 -20
- package/iconsvg/SVG/common/NewFlagDe.tsx +25 -25
- package/iconsvg/SVG/common/NewFlagEn.tsx +34 -34
- package/iconsvg/SVG/common/OrderReceivedDashboard.tsx +27 -27
- package/iconsvg/SVG/common/Package.tsx +30 -30
- package/iconsvg/SVG/common/Phone.tsx +18 -18
- package/iconsvg/SVG/common/PhoneGrey.tsx +22 -22
- package/iconsvg/SVG/common/PickupDashboard.tsx +30 -30
- package/iconsvg/SVG/common/Picture.tsx +24 -24
- package/iconsvg/SVG/common/Pictures.tsx +32 -32
- package/iconsvg/SVG/common/Plus.tsx +16 -16
- package/iconsvg/SVG/common/PlusNew.tsx +16 -16
- package/iconsvg/SVG/common/PreparationDashboard.tsx +29 -29
- package/iconsvg/SVG/common/ProfileDashboard.tsx +24 -24
- package/iconsvg/SVG/common/ProfileIcon.tsx +17 -17
- package/iconsvg/SVG/common/Question.tsx +19 -19
- package/iconsvg/SVG/common/QuestionBold.tsx +25 -25
- package/iconsvg/SVG/common/RegistrationDashboard.tsx +31 -31
- package/iconsvg/SVG/common/SavedSearchsIcon.tsx +20 -20
- package/iconsvg/SVG/common/Search.tsx +19 -19
- package/iconsvg/SVG/common/SearchGrey.tsx +22 -22
- package/iconsvg/SVG/common/SettingPenIcon.tsx +20 -20
- package/iconsvg/SVG/common/Share.tsx +16 -16
- package/iconsvg/SVG/common/ShoppingCart.tsx +18 -18
- package/iconsvg/SVG/common/SliderArrow.tsx +21 -21
- package/iconsvg/SVG/common/SliderEye.tsx +17 -17
- package/iconsvg/SVG/common/SortUpDownArrows.tsx +18 -18
- package/iconsvg/SVG/common/Speedometer.tsx +23 -23
- package/iconsvg/SVG/common/Star.tsx +20 -20
- package/iconsvg/SVG/common/StarNew.tsx +16 -16
- package/iconsvg/SVG/common/StarOutline.tsx +20 -20
- package/iconsvg/SVG/common/StarRoundedCorners.tsx +18 -18
- package/iconsvg/SVG/common/Stats.tsx +17 -17
- package/iconsvg/SVG/common/Step1.tsx +21 -21
- package/iconsvg/SVG/common/Step2.tsx +20 -20
- package/iconsvg/SVG/common/Step3.tsx +21 -21
- package/iconsvg/SVG/common/SupportCallbackIcon.tsx +20 -20
- package/iconsvg/SVG/common/Telephone.tsx +22 -22
- package/iconsvg/SVG/common/Time.tsx +17 -17
- package/iconsvg/SVG/common/Timetable.tsx +18 -18
- package/iconsvg/SVG/common/Trash.tsx +22 -22
- package/iconsvg/SVG/common/TrashRed.tsx +23 -23
- package/iconsvg/SVG/common/Upload.tsx +17 -17
- package/iconsvg/SVG/common/UserGrey.tsx +22 -22
- package/iconsvg/SVG/common/UserProfileIcon.tsx +20 -20
- package/iconsvg/SVG/common/ValidateFailure.tsx +21 -21
- package/iconsvg/SVG/common/ValidateSuccess.tsx +21 -21
- package/iconsvg/SVG/common/WarningTriangle.tsx +20 -20
- package/iconsvg/SVG/common/WhiteArrowUp.tsx +21 -21
- package/iconsvg/SVG/common/WhiteKey.tsx +21 -21
- package/iconsvg/SVG/common/WhitePeople.tsx +23 -23
- package/iconsvg/SVG/common/WhiteTick.tsx +19 -19
- package/iconsvg/SVG/flags/AT.tsx +19 -19
- package/iconsvg/SVG/flags/BE.tsx +20 -20
- package/iconsvg/SVG/flags/BG.tsx +20 -20
- package/iconsvg/SVG/flags/CH.tsx +22 -22
- package/iconsvg/SVG/flags/CZ.tsx +18 -18
- package/iconsvg/SVG/flags/DE.tsx +18 -18
- package/iconsvg/SVG/flags/DK.tsx +18 -18
- package/iconsvg/SVG/flags/ES.tsx +2585 -2585
- package/iconsvg/SVG/flags/FI.tsx +18 -18
- package/iconsvg/SVG/flags/FR.tsx +20 -20
- package/iconsvg/SVG/flags/GB.tsx +26 -26
- package/iconsvg/SVG/flags/HR.tsx +135 -135
- package/iconsvg/SVG/flags/HU.tsx +20 -20
- package/iconsvg/SVG/flags/IT.tsx +20 -20
- package/iconsvg/SVG/flags/LI.tsx +106 -106
- package/iconsvg/SVG/flags/LU.tsx +18 -18
- package/iconsvg/SVG/flags/NL.tsx +18 -18
- package/iconsvg/SVG/flags/NO.tsx +20 -20
- package/iconsvg/SVG/flags/PL.tsx +19 -19
- package/iconsvg/SVG/flags/RO.tsx +20 -20
- package/iconsvg/SVG/flags/RU.tsx +20 -20
- package/iconsvg/SVG/flags/SE.tsx +20 -20
- package/iconsvg/SVG/flags/SI.tsx +54 -54
- package/iconsvg/SVG/flags/SK.tsx +34 -34
- package/iconsvg/SVG/flags/UA.tsx +19 -19
- package/iconsvg/SVG/infoBlocks/14DaysReturnPolicy.tsx +18 -18
- package/iconsvg/SVG/infoBlocks/AlertInfo.tsx +19 -19
- package/iconsvg/SVG/infoBlocks/Autocheck.tsx +19 -19
- package/iconsvg/SVG/infoBlocks/CheckTheStory.tsx +22 -22
- package/iconsvg/SVG/infoBlocks/CustomerServiceWhite.tsx +16 -16
- package/iconsvg/SVG/infoBlocks/Guarantee.tsx +16 -16
- package/iconsvg/SVG/infoBlocks/OrderWhite.tsx +13 -13
- package/iconsvg/SVG/infoBlocks/PriceGuarantee.tsx +19 -19
- package/iconsvg/SVG/infoBlocks/PriceGuaranteeWhite.tsx +17 -17
- package/iconsvg/SVG/infoBlocks/TransportAndDelivery.tsx +21 -21
- package/iconsvg/SVG/infoBlocks/Warranty.tsx +23 -23
- package/iconsvg/SVG/popower/Mail.tsx +18 -18
- package/iconsvg/SVG/popower/Phone.tsx +19 -19
- package/iconsvg/SVG/popower/Schedule.tsx +18 -18
- package/iconsvg/SVG/searchWidgets/drive/AAllWheelDrive.tsx +26 -26
- package/iconsvg/SVG/searchWidgets/drive/AllWheelDrive.tsx +26 -26
- package/iconsvg/SVG/searchWidgets/drive/FrontWheelDrive.tsx +25 -25
- package/iconsvg/SVG/searchWidgets/drive/OtherWheelDrive.tsx +26 -26
- package/iconsvg/SVG/searchWidgets/drive/RearWheelDrive.tsx +25 -25
- package/iconsvg/SVG/searchWidgets/fuel/FuelDiesel.tsx +18 -18
- package/iconsvg/SVG/searchWidgets/fuel/FuelElectrical.tsx +19 -19
- package/iconsvg/SVG/searchWidgets/fuel/FuelElectricalDiesel.tsx +34 -34
- package/iconsvg/SVG/searchWidgets/fuel/FuelElectricalPetrol.tsx +20 -20
- package/iconsvg/SVG/searchWidgets/fuel/FuelEthanol.tsx +53 -53
- package/iconsvg/SVG/searchWidgets/fuel/FuelHydrogen.tsx +24 -24
- package/iconsvg/SVG/searchWidgets/fuel/FuelLpg.tsx +24 -24
- package/iconsvg/SVG/searchWidgets/fuel/FuelNaturalGas.tsx +23 -23
- package/iconsvg/SVG/searchWidgets/fuel/FuelOther.tsx +28 -28
- package/iconsvg/SVG/searchWidgets/fuel/FuelPetrol.tsx +18 -18
- package/iconsvg/SVG/settings/Account.tsx +17 -17
- package/iconsvg/SVG/settings/DataUsage.tsx +17 -17
- package/iconsvg/SVG/settings/MarketResearch.tsx +17 -17
- package/iconsvg/SVG/settings/Newsletter.tsx +17 -17
- package/iconsvg/SVG/settings/RemoveEye.tsx +17 -17
- package/iconsvg/SVG/settings/RemoveEyeOff.tsx +17 -17
- package/iconsvg/SVG/settings/Security.tsx +17 -17
- package/iconsvg/SVG/settings/Warning.tsx +17 -17
- package/iconsvg/SVG/slider/360.tsx +23 -23
- package/iconsvg/SVG/slider/360New.tsx +20 -20
- package/iconsvg/SVG/slider/Checked.tsx +19 -19
- package/iconsvg/SVG/slider/DiscountRibbon.tsx +51 -51
- package/iconsvg/SVG/slider/DiscountRibbonMobile.tsx +47 -47
- package/iconsvg/SVG/slider/DiscountRibbonNew.tsx +29 -29
- package/iconsvg/SVG/slider/Easy.tsx +19 -19
- package/iconsvg/SVG/slider/Fullscreen.tsx +16 -16
- package/iconsvg/SVG/slider/FullscreenWindow.tsx +23 -23
- package/iconsvg/SVG/slider/Safe.tsx +19 -19
- package/iconsvg/SVG/slider/ToBuy.tsx +19 -19
- package/iconsvg/SVG/slider/YoutubeButton.tsx +26 -26
- package/iconsvg/SVG/slider/ZoomIn.tsx +21 -21
- package/iconsvg/SVG/slider/ZoomOut.tsx +21 -21
- package/iconsvg/SVG/social/AndroidLogo.tsx +18 -18
- package/iconsvg/SVG/social/Apple.tsx +19 -19
- package/iconsvg/SVG/social/FacebookF.tsx +19 -19
- package/iconsvg/SVG/social/GooglePlusG.tsx +19 -19
- package/iconsvg/SVG/social/Instagram.tsx +17 -17
- package/iconsvg/SVG/social/Pinterest.tsx +19 -19
- package/iconsvg/SVG/social/SharingInterface.tsx +21 -21
- package/iconsvg/SVG/social/Twitter.tsx +19 -19
- package/iconsvg/SVG/social/Youtube.tsx +19 -19
- package/iconsvg/SVG/vehicle/AboIcon.tsx +11 -11
- package/iconsvg/SVG/vehicle/Abs.tsx +24 -24
- package/iconsvg/SVG/vehicle/AirCond.tsx +34 -34
- package/iconsvg/SVG/vehicle/Airbag.tsx +21 -21
- package/iconsvg/SVG/vehicle/AuxiliaryHeating.tsx +23 -23
- package/iconsvg/SVG/vehicle/Bluetooth.tsx +22 -22
- package/iconsvg/SVG/vehicle/BuyIcon.tsx +15 -15
- package/iconsvg/SVG/vehicle/CarAvailability.tsx +22 -22
- package/iconsvg/SVG/vehicle/CarInspectionCheck.tsx +21 -21
- package/iconsvg/SVG/vehicle/CarInspectionCross.tsx +21 -21
- package/iconsvg/SVG/vehicle/CheckoutChecked.tsx +15 -15
- package/iconsvg/SVG/vehicle/Co2.tsx +24 -24
- package/iconsvg/SVG/vehicle/CruiseControl.tsx +25 -25
- package/iconsvg/SVG/vehicle/Date.tsx +21 -21
- package/iconsvg/SVG/vehicle/Delivery.tsx +12 -12
- package/iconsvg/SVG/vehicle/Diesel.tsx +28 -28
- package/iconsvg/SVG/vehicle/Display.tsx +25 -25
- package/iconsvg/SVG/vehicle/Done.tsx +11 -11
- package/iconsvg/SVG/vehicle/Door.tsx +19 -19
- package/iconsvg/SVG/vehicle/DoubleDone.tsx +18 -18
- package/iconsvg/SVG/vehicle/EditIcon.tsx +11 -11
- package/iconsvg/SVG/vehicle/EmergencyBrakeAssistant.tsx +27 -27
- package/iconsvg/SVG/vehicle/Eps.tsx +24 -24
- package/iconsvg/SVG/vehicle/Esp.tsx +24 -24
- package/iconsvg/SVG/vehicle/FinancingIcon.tsx +20 -20
- package/iconsvg/SVG/vehicle/FuelConsumption.tsx +20 -20
- package/iconsvg/SVG/vehicle/Fueling.tsx +22 -22
- package/iconsvg/SVG/vehicle/FullDrive.tsx +24 -24
- package/iconsvg/SVG/vehicle/GasElectric.tsx +28 -28
- package/iconsvg/SVG/vehicle/HandsFreePhoneSystem.tsx +24 -24
- package/iconsvg/SVG/vehicle/Kw.tsx +23 -23
- package/iconsvg/SVG/vehicle/LastCrawledAt.tsx +22 -22
- package/iconsvg/SVG/vehicle/LeasingIcon.tsx +14 -14
- package/iconsvg/SVG/vehicle/Led.tsx +24 -24
- package/iconsvg/SVG/vehicle/LightSensor.tsx +22 -22
- package/iconsvg/SVG/vehicle/LinkAlternative.tsx +15 -15
- package/iconsvg/SVG/vehicle/Location.tsx +17 -17
- package/iconsvg/SVG/vehicle/MinusIcon.tsx +11 -11
- package/iconsvg/SVG/vehicle/Mirror.tsx +19 -19
- package/iconsvg/SVG/vehicle/Navigation.tsx +27 -27
- package/iconsvg/SVG/vehicle/NewCar.tsx +21 -21
- package/iconsvg/SVG/vehicle/NoImage.tsx +17 -17
- package/iconsvg/SVG/vehicle/Owner.tsx +18 -18
- package/iconsvg/SVG/vehicle/PanoramicRoof.tsx +23 -23
- package/iconsvg/SVG/vehicle/ParkingAssistants.tsx +24 -24
- package/iconsvg/SVG/vehicle/PickYourself.tsx +18 -18
- package/iconsvg/SVG/vehicle/PlusIcon.tsx +11 -11
- package/iconsvg/SVG/vehicle/Power.tsx +21 -21
- package/iconsvg/SVG/vehicle/Ps.tsx +19 -19
- package/iconsvg/SVG/vehicle/Question.tsx +24 -24
- package/iconsvg/SVG/vehicle/Seats.tsx +21 -21
- package/iconsvg/SVG/vehicle/SeatsHeating.tsx +26 -26
- package/iconsvg/SVG/vehicle/SelectorGearboxAutomatic.tsx +24 -24
- package/iconsvg/SVG/vehicle/SelectorGearboxManualShift.tsx +19 -19
- package/iconsvg/SVG/vehicle/SelectorGearboxOther.tsx +24 -24
- package/iconsvg/SVG/vehicle/SelectorGearboxSemiAutomatic.tsx +30 -30
- package/iconsvg/SVG/vehicle/SelectorInteriorTypeAlcantara.tsx +225 -225
- package/iconsvg/SVG/vehicle/SelectorInteriorTypeFabric.tsx +29 -29
- package/iconsvg/SVG/vehicle/SelectorInteriorTypeFullLeather.tsx +29 -29
- package/iconsvg/SVG/vehicle/SelectorInteriorTypeOther.tsx +26 -26
- package/iconsvg/SVG/vehicle/SelectorInteriorTypePartLeather.tsx +142 -142
- package/iconsvg/SVG/vehicle/SelectorInteriorTypeSyntheticLeather.tsx +27 -27
- package/iconsvg/SVG/vehicle/SelectorInteriorTypeVelours.tsx +39 -39
- package/iconsvg/SVG/vehicle/Shield.tsx +39 -39
- package/iconsvg/SVG/vehicle/Speedometer.tsx +17 -17
- package/iconsvg/SVG/vehicle/StartStopSystem.tsx +30 -30
- package/iconsvg/SVG/vehicle/Stop.tsx +25 -25
- package/iconsvg/SVG/vehicle/TickMark.tsx +21 -21
- package/iconsvg/SVG/vehicle/TrafficSignRecognition.tsx +29 -29
- package/iconsvg/SVG/vehicle/TrailerCoupling.tsx +24 -24
- package/iconsvg/SVG/vehicle/Transmission.tsx +27 -27
- package/iconsvg/SVG/vehicle/Wheel.tsx +43 -43
- package/iconsvg/SVG/vehicle/Wipers.tsx +22 -22
- package/iconsvg/SVG/vehicle/Wrench.tsx +17 -17
- package/iconsvg/index.ts +7 -7
- package/index.ts +18 -18
- package/locales/de/autobahn.json +676 -671
- package/locales/en/autobahn.json +676 -671
- package/locales/legacy/SearchDetailedPage.ts +205 -205
- package/locales/legacy/cbd.ts +719 -719
- package/locales/legacy/common.ts +109 -109
- package/locales/legacy/data.ts +1118 -1118
- package/locales/legacy/priceRating.ts +10 -10
- package/locales/legacy/sortingOptions.ts +21 -21
- package/media/images/raiting-stars-min.svg +7 -7
- package/media/images/refresh-button.svg +49 -49
- package/media/images/user-icon.svg +16 -16
- package/media/svg/infoBlocks/whyAutodeIconSet-F.svg +9 -9
- package/media/svg/infoBlocks/whyAutodeIconSet-G.svg +8 -8
- package/media/svg/infoBlocks/whyAutodeIconSet-Q.svg +6 -6
- package/media/svg/infoBlocks/whyAutodeIconSet-R.svg +9 -9
- package/media/svg/usp/icon1.svg +16 -16
- package/media/svg/usp/icon2.svg +13 -13
- package/media/svg/usp/icon3.svg +10 -10
- package/media/svg/usp/icon4.svg +14 -14
- package/package.json +30 -30
- package/schemes/AggregationScheme.ts +73 -73
- package/searchFilters/filterOptions.ts +119 -119
- package/searchFilters/filterProps.ts +35 -35
- package/searchFilters/index.ts +15 -15
- package/theme/autobahn.css +25 -25
- package/theme/colors_and_type.css +113 -113
- package/theme/md3.css +2045 -2034
- package/types/types.ts +373 -373
- package/types.ts +8 -8
- package/ui/Accordion.tsx +134 -134
- package/ui/Button.tsx +62 -62
- package/ui/CardCarousel.tsx +133 -133
- package/ui/Chip.tsx +29 -29
- package/ui/DatePicker.tsx +145 -145
- package/ui/Dropdown.tsx +205 -205
- package/ui/FileUpload.tsx +154 -154
- package/ui/FormCheckbox.tsx +79 -79
- package/ui/FormDropdown.tsx +327 -327
- package/ui/FormField.tsx +88 -88
- package/ui/FormRadio.tsx +93 -93
- package/ui/FormRadioGroup.tsx +106 -106
- package/ui/Icon.tsx +391 -391
- package/ui/IconButton.tsx +44 -44
- package/ui/Modal.tsx +187 -187
- package/ui/Pagination.tsx +140 -140
- package/ui/Price.tsx +25 -25
- package/ui/PriceEvalBar.tsx +48 -48
- package/ui/SaveChip.tsx +34 -34
- package/ui/Segmented.tsx +48 -48
- package/ui/Skeleton.tsx +75 -75
- package/ui/Spec.tsx +24 -24
- package/ui/Stars.tsx +29 -29
- package/ui/StatChip.tsx +21 -21
- package/ui/Stepper.tsx +106 -106
- package/ui/Switch.tsx +65 -65
- package/ui/Table.tsx +156 -156
- package/ui/Textarea.tsx +58 -58
- package/ui/index.ts +88 -88
- package/utils/CommonUtils.ts +648 -648
- package/utils/DateUtils.ts +101 -101
- package/utils/index.ts +74 -74
- package/utils/power.ts +11 -11
- package/utils/query.ts +21 -21
- package/vdp/FinanceCalculator.tsx +465 -465
- package/vdp/VdpModules.tsx +1490 -1490
- package/vdp/VdpViewer.tsx +209 -209
- package/vdp/index.ts +75 -75
- package/vdp/types.ts +197 -197
- package/vehiclesProps/cbdSelectors.ts +117 -117
- package/vehiclesProps/decoratedLightProps.tsx +572 -572
- package/vehiclesProps/decoratedProps.tsx +1746 -1746
- package/vehiclesProps/equipment.ts +129 -129
- package/vehiclesProps/vehicleDetails.ts +428 -428
- package/widgets/SearchBox.tsx +256 -256
- package/widgets/index.ts +5 -5
package/vdp/types.ts
CHANGED
|
@@ -1,197 +1,197 @@
|
|
|
1
|
-
// Autobahn (auto.de redesign) — Vehicle-Detail (VDP) view-model types.
|
|
2
|
-
//
|
|
3
|
-
// Typed contracts for the ported VDP presentational modules (W3a). These are the
|
|
4
|
-
// props the pure components consume; the page wiring that builds a VehicleDetail
|
|
5
|
-
// from the real stores/API is a SEPARATE later step (W3b). Nothing here touches a
|
|
6
|
-
// store, the API or `window`.
|
|
7
|
-
//
|
|
8
|
-
// IMPORTANT — needs-data discipline (the point of the ticket):
|
|
9
|
-
// REQUIRED fields always carry real data from the listing source. The OPTIONAL
|
|
10
|
-
// (`?`) fields are ones we have NO real source for yet; they are optional ON
|
|
11
|
-
// PURPOSE so the components can detect their absence and render the
|
|
12
|
-
// NEEDS_DATA_LABEL ('Daten folgt') marker instead of a fabricated value. Never
|
|
13
|
-
// default these to placeholder numbers. priceHistory + the market band
|
|
14
|
-
// (marketLow / marketAvg / marketHigh) are needs-data by default.
|
|
15
|
-
|
|
16
|
-
import type { AutobahnPhev } from '../cards/types';
|
|
17
|
-
|
|
18
|
-
export type { AutobahnPhev };
|
|
19
|
-
|
|
20
|
-
/** One row of the Fahrzeugdaten spec table: [kebab-case lucide icon, label, value]. */
|
|
21
|
-
export type VdpSpec = readonly [icon: string, label: string, value: string];
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Grouped equipment: each entry is a section title mapped to its item labels,
|
|
25
|
-
* e.g. { Komfort: ['Klimaautomatik', …], Sicherheit: [...] }. Replaces the design
|
|
26
|
-
* kit's `equipFor(id)` lookup — the page passes the real grouped equipment in.
|
|
27
|
-
*/
|
|
28
|
-
export type EquipmentGroups = Record<string, string[]>;
|
|
29
|
-
|
|
30
|
-
/** Vehicle condition block rendered as the header card's zustand tiles. */
|
|
31
|
-
export interface VehicleCondition {
|
|
32
|
-
/** TÜV/HU validity, e.g. '03/2027' — or 'Neu' for a new HU. */
|
|
33
|
-
hu: string;
|
|
34
|
-
/** accident-free flag (Unfallfrei). */
|
|
35
|
-
unfallfrei: boolean;
|
|
36
|
-
/** full service history (Scheckheftgepflegt). */
|
|
37
|
-
scheckheft: boolean;
|
|
38
|
-
/** warranty label, e.g. '1 Jahr inkl.'. */
|
|
39
|
-
garantie: string;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* One customer review (auto.de Google reviews). REAL data — loaded by the page
|
|
44
|
-
* from the same WordPress quotes source the legacy VDP uses
|
|
45
|
-
* (CustomerQuotes / json-quotes.json). Never fabricated; when no reviews load the
|
|
46
|
-
* CustomerRatings section is not rendered.
|
|
47
|
-
*/
|
|
48
|
-
export interface VdpReview {
|
|
49
|
-
/** stable id. */
|
|
50
|
-
id: string;
|
|
51
|
-
/** reviewer display name. */
|
|
52
|
-
name: string;
|
|
53
|
-
/** avatar image URL ('' when none). */
|
|
54
|
-
image: string;
|
|
55
|
-
/** the review text. */
|
|
56
|
-
review: string;
|
|
57
|
-
/** star rating 1–5. */
|
|
58
|
-
rating: number;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/** One point on the price-history sparkline. */
|
|
62
|
-
export interface PriceHistoryPoint {
|
|
63
|
-
/** x-axis label, e.g. 'vor 6 Wo.' / 'heute'. */
|
|
64
|
-
label: string;
|
|
65
|
-
/** price in EUR at that point. */
|
|
66
|
-
price: number;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* View-model for a single vehicle as rendered by the Autobahn VDP modules.
|
|
71
|
-
*
|
|
72
|
-
* REQUIRED fields are always populated with real data. OPTIONAL (`?`) fields have
|
|
73
|
-
* no real data source yet — when absent the components render the 'Daten folgt'
|
|
74
|
-
* marker rather than inventing a value.
|
|
75
|
-
*/
|
|
76
|
-
export interface VehicleDetail {
|
|
77
|
-
// --- identity / headline (always real) ---
|
|
78
|
-
make: string;
|
|
79
|
-
model: string;
|
|
80
|
-
trim: string;
|
|
81
|
-
/** auto.de-ID reference code (metaData.vehicleId) — quoted by customers/agents on the hotline. */
|
|
82
|
-
autoDeId?: string;
|
|
83
|
-
|
|
84
|
-
// --- key specs (always real) ---
|
|
85
|
-
/** mileage in km (raw number; formatted de-DE by the components). */
|
|
86
|
-
km: number;
|
|
87
|
-
/** first registration, e.g. '03/2021'. */
|
|
88
|
-
reg: string;
|
|
89
|
-
/** power label, e.g. '110 kW (150 PS)'. */
|
|
90
|
-
power: string;
|
|
91
|
-
/** fuel label, e.g. 'Benzin' / 'Plug-in-Hybrid'. */
|
|
92
|
-
fuel: string;
|
|
93
|
-
/** gearbox label, e.g. 'Automatik' / 'Schaltgetriebe'. */
|
|
94
|
-
gear: string;
|
|
95
|
-
/** number of previous owners (rendered as 'N. Hand'). */
|
|
96
|
-
owners: number;
|
|
97
|
-
/** number of seats. */
|
|
98
|
-
seats: number;
|
|
99
|
-
/** number of doors. */
|
|
100
|
-
doors: number;
|
|
101
|
-
/** exterior color label, e.g. 'Mythosschwarz Metallic'. */
|
|
102
|
-
color: string;
|
|
103
|
-
/** body style label, e.g. 'Limousine'. */
|
|
104
|
-
body: string;
|
|
105
|
-
|
|
106
|
-
// --- full spec table (always real) ---
|
|
107
|
-
/**
|
|
108
|
-
* The complete Fahrzeugdaten rows. Optional: when omitted the spec table is
|
|
109
|
-
* derived from the fields above via `defaultVdpSpecs(vehicle)`, matching the
|
|
110
|
-
* design's twelve-row layout. Pass an explicit list to control order/contents.
|
|
111
|
-
*/
|
|
112
|
-
specs?: VdpSpec[];
|
|
113
|
-
|
|
114
|
-
// --- price (always real) ---
|
|
115
|
-
/** financing monthly rate in EUR — the lead price shown in sticky/bottom bars. */
|
|
116
|
-
monthly: number;
|
|
117
|
-
/** purchase price in EUR (raw number; formatted de-DE by the components). */
|
|
118
|
-
price: number;
|
|
119
|
-
|
|
120
|
-
// --- media (always real) ---
|
|
121
|
-
/** ready-to-use image URLs for the gallery + viewer. */
|
|
122
|
-
gallery: string[];
|
|
123
|
-
/** total photo count for the image-count badge. */
|
|
124
|
-
photos: number;
|
|
125
|
-
|
|
126
|
-
// --- legally-required Pkw-EnVKV consumption line (always real) ---
|
|
127
|
-
/** combined fuel consumption label, e.g. '5,4 l/100 km'. */
|
|
128
|
-
cons: string;
|
|
129
|
-
/** combined CO₂ emissions label, e.g. '124 g/km'. */
|
|
130
|
-
co2: string;
|
|
131
|
-
/** CO₂ efficiency class letter, e.g. 'B'. */
|
|
132
|
-
co2class: string;
|
|
133
|
-
/** present only for plug-in hybrids — drives the dual-figure EnVKV block. */
|
|
134
|
-
phev?: AutobahnPhev;
|
|
135
|
-
|
|
136
|
-
// --- equipment + condition + trust (always real) ---
|
|
137
|
-
/** grouped equipment for the searchable Ausstattung list. */
|
|
138
|
-
equipment: EquipmentGroups;
|
|
139
|
-
/** hand-picked highlight chips (first few shown in the header accent row). */
|
|
140
|
-
highlights: string[];
|
|
141
|
-
/** condition block driving the header card's zustand tiles. */
|
|
142
|
-
condition: VehicleCondition;
|
|
143
|
-
/** 130-Punkte-Check pass categories (all pass — auto.de promise). */
|
|
144
|
-
inspection: string[];
|
|
145
|
-
|
|
146
|
-
// --- price rating (always real) ---
|
|
147
|
-
/** price rating tone: 'fair' → warn pill, anything else → good pill. */
|
|
148
|
-
rating: string;
|
|
149
|
-
/** price rating label shown in the pill, e.g. 'Guter Preis'. */
|
|
150
|
-
ratingLabel: string;
|
|
151
|
-
|
|
152
|
-
// --- deal badges (derived from car.showNewLabel / price.* / offer.*) ---
|
|
153
|
-
/** NEU badge — car was recently listed (showNewLabel flag). */
|
|
154
|
-
isNew?: boolean;
|
|
155
|
-
/** price-drop amount in EUR (≥ 500 € threshold); omit when absent/below threshold. */
|
|
156
|
-
drop?: number;
|
|
157
|
-
/** percent price-drop (rounded integer); omit when absent or no drop. */
|
|
158
|
-
dropPct?: number;
|
|
159
|
-
/** 0 € Anzahlung badge (offer.showDownPayment flag). */
|
|
160
|
-
zeroDown?: boolean;
|
|
161
|
-
|
|
162
|
-
// --- NEEDS DATA: no real source yet (NEVER fabricate) ---
|
|
163
|
-
/** original list price (for the struck-through reference + history endpoint). */
|
|
164
|
-
listPrice?: number;
|
|
165
|
-
/** price-history points (sparkline). Needs-data by default. */
|
|
166
|
-
priceHistory?: PriceHistoryPoint[];
|
|
167
|
-
/** lowest comparable market price in EUR (market band lower bound). */
|
|
168
|
-
marketLow?: number;
|
|
169
|
-
/** average comparable market price in EUR (market band reference). */
|
|
170
|
-
marketAvg?: number;
|
|
171
|
-
/** highest comparable market price in EUR (market band upper bound). */
|
|
172
|
-
marketHigh?: number;
|
|
173
|
-
/** number of buyers currently watching this car. */
|
|
174
|
-
watchers?: number;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Build the design's twelve-row Fahrzeugdaten table from the typed fields. Used
|
|
179
|
-
* when a VehicleDetail carries no explicit `specs`. Pure — produces the same rows
|
|
180
|
-
* and order as the spec's ScreenVDP `specs` array.
|
|
181
|
-
*/
|
|
182
|
-
export function defaultVdpSpecs(v: VehicleDetail): VdpSpec[] {
|
|
183
|
-
return [
|
|
184
|
-
['gauge', 'Kilometerstand', `${v.km.toLocaleString('de-DE')} km`],
|
|
185
|
-
['calendar', 'Erstzulassung', v.reg],
|
|
186
|
-
['zap', 'Leistung', v.power],
|
|
187
|
-
['fuel', 'Kraftstoff', v.fuel],
|
|
188
|
-
['cog', 'Getriebe', v.gear],
|
|
189
|
-
['users', 'Sitze', `${v.seats} Sitze`],
|
|
190
|
-
['door-open', 'Türen', `${v.doors} Türen`],
|
|
191
|
-
['user', 'Halter', `${v.owners}. Hand`],
|
|
192
|
-
['palette', 'Außenfarbe', v.color],
|
|
193
|
-
['car-front', 'Karosserie', v.body],
|
|
194
|
-
['droplet', 'Verbrauch komb.', v.cons],
|
|
195
|
-
['leaf', 'CO₂ · Klasse', `${v.co2} · ${v.co2class}`],
|
|
196
|
-
];
|
|
197
|
-
}
|
|
1
|
+
// Autobahn (auto.de redesign) — Vehicle-Detail (VDP) view-model types.
|
|
2
|
+
//
|
|
3
|
+
// Typed contracts for the ported VDP presentational modules (W3a). These are the
|
|
4
|
+
// props the pure components consume; the page wiring that builds a VehicleDetail
|
|
5
|
+
// from the real stores/API is a SEPARATE later step (W3b). Nothing here touches a
|
|
6
|
+
// store, the API or `window`.
|
|
7
|
+
//
|
|
8
|
+
// IMPORTANT — needs-data discipline (the point of the ticket):
|
|
9
|
+
// REQUIRED fields always carry real data from the listing source. The OPTIONAL
|
|
10
|
+
// (`?`) fields are ones we have NO real source for yet; they are optional ON
|
|
11
|
+
// PURPOSE so the components can detect their absence and render the
|
|
12
|
+
// NEEDS_DATA_LABEL ('Daten folgt') marker instead of a fabricated value. Never
|
|
13
|
+
// default these to placeholder numbers. priceHistory + the market band
|
|
14
|
+
// (marketLow / marketAvg / marketHigh) are needs-data by default.
|
|
15
|
+
|
|
16
|
+
import type { AutobahnPhev } from '../cards/types';
|
|
17
|
+
|
|
18
|
+
export type { AutobahnPhev };
|
|
19
|
+
|
|
20
|
+
/** One row of the Fahrzeugdaten spec table: [kebab-case lucide icon, label, value]. */
|
|
21
|
+
export type VdpSpec = readonly [icon: string, label: string, value: string];
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Grouped equipment: each entry is a section title mapped to its item labels,
|
|
25
|
+
* e.g. { Komfort: ['Klimaautomatik', …], Sicherheit: [...] }. Replaces the design
|
|
26
|
+
* kit's `equipFor(id)` lookup — the page passes the real grouped equipment in.
|
|
27
|
+
*/
|
|
28
|
+
export type EquipmentGroups = Record<string, string[]>;
|
|
29
|
+
|
|
30
|
+
/** Vehicle condition block rendered as the header card's zustand tiles. */
|
|
31
|
+
export interface VehicleCondition {
|
|
32
|
+
/** TÜV/HU validity, e.g. '03/2027' — or 'Neu' for a new HU. */
|
|
33
|
+
hu: string;
|
|
34
|
+
/** accident-free flag (Unfallfrei). */
|
|
35
|
+
unfallfrei: boolean;
|
|
36
|
+
/** full service history (Scheckheftgepflegt). */
|
|
37
|
+
scheckheft: boolean;
|
|
38
|
+
/** warranty label, e.g. '1 Jahr inkl.'. */
|
|
39
|
+
garantie: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* One customer review (auto.de Google reviews). REAL data — loaded by the page
|
|
44
|
+
* from the same WordPress quotes source the legacy VDP uses
|
|
45
|
+
* (CustomerQuotes / json-quotes.json). Never fabricated; when no reviews load the
|
|
46
|
+
* CustomerRatings section is not rendered.
|
|
47
|
+
*/
|
|
48
|
+
export interface VdpReview {
|
|
49
|
+
/** stable id. */
|
|
50
|
+
id: string;
|
|
51
|
+
/** reviewer display name. */
|
|
52
|
+
name: string;
|
|
53
|
+
/** avatar image URL ('' when none). */
|
|
54
|
+
image: string;
|
|
55
|
+
/** the review text. */
|
|
56
|
+
review: string;
|
|
57
|
+
/** star rating 1–5. */
|
|
58
|
+
rating: number;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** One point on the price-history sparkline. */
|
|
62
|
+
export interface PriceHistoryPoint {
|
|
63
|
+
/** x-axis label, e.g. 'vor 6 Wo.' / 'heute'. */
|
|
64
|
+
label: string;
|
|
65
|
+
/** price in EUR at that point. */
|
|
66
|
+
price: number;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* View-model for a single vehicle as rendered by the Autobahn VDP modules.
|
|
71
|
+
*
|
|
72
|
+
* REQUIRED fields are always populated with real data. OPTIONAL (`?`) fields have
|
|
73
|
+
* no real data source yet — when absent the components render the 'Daten folgt'
|
|
74
|
+
* marker rather than inventing a value.
|
|
75
|
+
*/
|
|
76
|
+
export interface VehicleDetail {
|
|
77
|
+
// --- identity / headline (always real) ---
|
|
78
|
+
make: string;
|
|
79
|
+
model: string;
|
|
80
|
+
trim: string;
|
|
81
|
+
/** auto.de-ID reference code (metaData.vehicleId) — quoted by customers/agents on the hotline. */
|
|
82
|
+
autoDeId?: string;
|
|
83
|
+
|
|
84
|
+
// --- key specs (always real) ---
|
|
85
|
+
/** mileage in km (raw number; formatted de-DE by the components). */
|
|
86
|
+
km: number;
|
|
87
|
+
/** first registration, e.g. '03/2021'. */
|
|
88
|
+
reg: string;
|
|
89
|
+
/** power label, e.g. '110 kW (150 PS)'. */
|
|
90
|
+
power: string;
|
|
91
|
+
/** fuel label, e.g. 'Benzin' / 'Plug-in-Hybrid'. */
|
|
92
|
+
fuel: string;
|
|
93
|
+
/** gearbox label, e.g. 'Automatik' / 'Schaltgetriebe'. */
|
|
94
|
+
gear: string;
|
|
95
|
+
/** number of previous owners (rendered as 'N. Hand'). */
|
|
96
|
+
owners: number;
|
|
97
|
+
/** number of seats. */
|
|
98
|
+
seats: number;
|
|
99
|
+
/** number of doors. */
|
|
100
|
+
doors: number;
|
|
101
|
+
/** exterior color label, e.g. 'Mythosschwarz Metallic'. */
|
|
102
|
+
color: string;
|
|
103
|
+
/** body style label, e.g. 'Limousine'. */
|
|
104
|
+
body: string;
|
|
105
|
+
|
|
106
|
+
// --- full spec table (always real) ---
|
|
107
|
+
/**
|
|
108
|
+
* The complete Fahrzeugdaten rows. Optional: when omitted the spec table is
|
|
109
|
+
* derived from the fields above via `defaultVdpSpecs(vehicle)`, matching the
|
|
110
|
+
* design's twelve-row layout. Pass an explicit list to control order/contents.
|
|
111
|
+
*/
|
|
112
|
+
specs?: VdpSpec[];
|
|
113
|
+
|
|
114
|
+
// --- price (always real) ---
|
|
115
|
+
/** financing monthly rate in EUR — the lead price shown in sticky/bottom bars. */
|
|
116
|
+
monthly: number;
|
|
117
|
+
/** purchase price in EUR (raw number; formatted de-DE by the components). */
|
|
118
|
+
price: number;
|
|
119
|
+
|
|
120
|
+
// --- media (always real) ---
|
|
121
|
+
/** ready-to-use image URLs for the gallery + viewer. */
|
|
122
|
+
gallery: string[];
|
|
123
|
+
/** total photo count for the image-count badge. */
|
|
124
|
+
photos: number;
|
|
125
|
+
|
|
126
|
+
// --- legally-required Pkw-EnVKV consumption line (always real) ---
|
|
127
|
+
/** combined fuel consumption label, e.g. '5,4 l/100 km'. */
|
|
128
|
+
cons: string;
|
|
129
|
+
/** combined CO₂ emissions label, e.g. '124 g/km'. */
|
|
130
|
+
co2: string;
|
|
131
|
+
/** CO₂ efficiency class letter, e.g. 'B'. */
|
|
132
|
+
co2class: string;
|
|
133
|
+
/** present only for plug-in hybrids — drives the dual-figure EnVKV block. */
|
|
134
|
+
phev?: AutobahnPhev;
|
|
135
|
+
|
|
136
|
+
// --- equipment + condition + trust (always real) ---
|
|
137
|
+
/** grouped equipment for the searchable Ausstattung list. */
|
|
138
|
+
equipment: EquipmentGroups;
|
|
139
|
+
/** hand-picked highlight chips (first few shown in the header accent row). */
|
|
140
|
+
highlights: string[];
|
|
141
|
+
/** condition block driving the header card's zustand tiles. */
|
|
142
|
+
condition: VehicleCondition;
|
|
143
|
+
/** 130-Punkte-Check pass categories (all pass — auto.de promise). */
|
|
144
|
+
inspection: string[];
|
|
145
|
+
|
|
146
|
+
// --- price rating (always real) ---
|
|
147
|
+
/** price rating tone: 'fair' → warn pill, anything else → good pill. */
|
|
148
|
+
rating: string;
|
|
149
|
+
/** price rating label shown in the pill, e.g. 'Guter Preis'. */
|
|
150
|
+
ratingLabel: string;
|
|
151
|
+
|
|
152
|
+
// --- deal badges (derived from car.showNewLabel / price.* / offer.*) ---
|
|
153
|
+
/** NEU badge — car was recently listed (showNewLabel flag). */
|
|
154
|
+
isNew?: boolean;
|
|
155
|
+
/** price-drop amount in EUR (≥ 500 € threshold); omit when absent/below threshold. */
|
|
156
|
+
drop?: number;
|
|
157
|
+
/** percent price-drop (rounded integer); omit when absent or no drop. */
|
|
158
|
+
dropPct?: number;
|
|
159
|
+
/** 0 € Anzahlung badge (offer.showDownPayment flag). */
|
|
160
|
+
zeroDown?: boolean;
|
|
161
|
+
|
|
162
|
+
// --- NEEDS DATA: no real source yet (NEVER fabricate) ---
|
|
163
|
+
/** original list price (for the struck-through reference + history endpoint). */
|
|
164
|
+
listPrice?: number;
|
|
165
|
+
/** price-history points (sparkline). Needs-data by default. */
|
|
166
|
+
priceHistory?: PriceHistoryPoint[];
|
|
167
|
+
/** lowest comparable market price in EUR (market band lower bound). */
|
|
168
|
+
marketLow?: number;
|
|
169
|
+
/** average comparable market price in EUR (market band reference). */
|
|
170
|
+
marketAvg?: number;
|
|
171
|
+
/** highest comparable market price in EUR (market band upper bound). */
|
|
172
|
+
marketHigh?: number;
|
|
173
|
+
/** number of buyers currently watching this car. */
|
|
174
|
+
watchers?: number;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Build the design's twelve-row Fahrzeugdaten table from the typed fields. Used
|
|
179
|
+
* when a VehicleDetail carries no explicit `specs`. Pure — produces the same rows
|
|
180
|
+
* and order as the spec's ScreenVDP `specs` array.
|
|
181
|
+
*/
|
|
182
|
+
export function defaultVdpSpecs(v: VehicleDetail): VdpSpec[] {
|
|
183
|
+
return [
|
|
184
|
+
['gauge', 'Kilometerstand', `${v.km.toLocaleString('de-DE')} km`],
|
|
185
|
+
['calendar', 'Erstzulassung', v.reg],
|
|
186
|
+
['zap', 'Leistung', v.power],
|
|
187
|
+
['fuel', 'Kraftstoff', v.fuel],
|
|
188
|
+
['cog', 'Getriebe', v.gear],
|
|
189
|
+
['users', 'Sitze', `${v.seats} Sitze`],
|
|
190
|
+
['door-open', 'Türen', `${v.doors} Türen`],
|
|
191
|
+
['user', 'Halter', `${v.owners}. Hand`],
|
|
192
|
+
['palette', 'Außenfarbe', v.color],
|
|
193
|
+
['car-front', 'Karosserie', v.body],
|
|
194
|
+
['droplet', 'Verbrauch komb.', v.cons],
|
|
195
|
+
['leaf', 'CO₂ · Klasse', `${v.co2} · ${v.co2class}`],
|
|
196
|
+
];
|
|
197
|
+
}
|
|
@@ -1,117 +1,117 @@
|
|
|
1
|
-
export const cbdGearbox = (key: string) => {
|
|
2
|
-
switch (key) {
|
|
3
|
-
case 'selector_gearbox_manualShift':
|
|
4
|
-
return 'Manuell';
|
|
5
|
-
break;
|
|
6
|
-
case 'selector_gearbox_automatic':
|
|
7
|
-
return 'Automatik';
|
|
8
|
-
break;
|
|
9
|
-
case 'selector_gearbox_semiAutomatic':
|
|
10
|
-
return 'Halbautomatik';
|
|
11
|
-
break;
|
|
12
|
-
default:
|
|
13
|
-
return 'N/A';
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export const cbdFuel = (key: string) => {
|
|
18
|
-
switch (key) {
|
|
19
|
-
case 'selector_fuel_petrol':
|
|
20
|
-
return 'Benzin';
|
|
21
|
-
break;
|
|
22
|
-
case 'selector_fuel_diesel':
|
|
23
|
-
return 'Diesel';
|
|
24
|
-
break;
|
|
25
|
-
case 'selector_fuel_naturalGas':
|
|
26
|
-
return 'Erdgas';
|
|
27
|
-
break;
|
|
28
|
-
case 'selector_fuel_carGas':
|
|
29
|
-
return 'Autogas';
|
|
30
|
-
break;
|
|
31
|
-
case 'selector_fuel_electrical':
|
|
32
|
-
return 'Elektro';
|
|
33
|
-
break;
|
|
34
|
-
case 'selector_fuel_hydrogen':
|
|
35
|
-
return 'Wasserstoff';
|
|
36
|
-
break;
|
|
37
|
-
case 'selector_fuel_ethanol':
|
|
38
|
-
return 'Ethanol';
|
|
39
|
-
break;
|
|
40
|
-
case 'selector_fuel_hybridElectricalPetrol':
|
|
41
|
-
return 'Hybrid (Elektro / Benzin)';
|
|
42
|
-
break;
|
|
43
|
-
case 'selector_fuel_hybridElectricalDiesel':
|
|
44
|
-
return 'Hybrid (Elektro / Diesel)';
|
|
45
|
-
break;
|
|
46
|
-
default:
|
|
47
|
-
return 'N/A';
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export const cbdConsumptionUnit = (key: string) => {
|
|
52
|
-
switch (key) {
|
|
53
|
-
case 'selector_fuel_petrol':
|
|
54
|
-
return 'l/100km';
|
|
55
|
-
break;
|
|
56
|
-
case 'selector_fuel_diesel':
|
|
57
|
-
return 'l/100km';
|
|
58
|
-
break;
|
|
59
|
-
case 'selector_fuel_naturalGas':
|
|
60
|
-
return 'kg/100km';
|
|
61
|
-
break;
|
|
62
|
-
case 'selector_fuel_carGas':
|
|
63
|
-
return 'kg/100km';
|
|
64
|
-
break;
|
|
65
|
-
case 'selector_fuel_electrical':
|
|
66
|
-
return 'kWh/100km';
|
|
67
|
-
break;
|
|
68
|
-
case 'selector_fuel_hydrogen':
|
|
69
|
-
return 'kg/100km';
|
|
70
|
-
break;
|
|
71
|
-
case 'selector_fuel_ethanol':
|
|
72
|
-
return 'kg/100km';
|
|
73
|
-
break;
|
|
74
|
-
case 'selector_fuel_hybridElectricalPetrol':
|
|
75
|
-
return 'l/100km';
|
|
76
|
-
break;
|
|
77
|
-
case 'selector_fuel_hybridElectricalDiesel':
|
|
78
|
-
return 'l/100km';
|
|
79
|
-
break;
|
|
80
|
-
default:
|
|
81
|
-
return 'N/A';
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const cbdConsumptionUnitWithKomb = (key: string) => {
|
|
86
|
-
switch (key) {
|
|
87
|
-
case 'selector_fuel_petrol':
|
|
88
|
-
return 'l/100km (komb)*';
|
|
89
|
-
break;
|
|
90
|
-
case 'selector_fuel_diesel':
|
|
91
|
-
return 'l/100km (komb)*';
|
|
92
|
-
break;
|
|
93
|
-
case 'selector_fuel_naturalGas':
|
|
94
|
-
return 'kg/100km (komb)*';
|
|
95
|
-
break;
|
|
96
|
-
case 'selector_fuel_carGas':
|
|
97
|
-
return 'kg/100km (komb)*';
|
|
98
|
-
break;
|
|
99
|
-
case 'selector_fuel_electrical':
|
|
100
|
-
return 'kWh/100km (komb)*';
|
|
101
|
-
break;
|
|
102
|
-
case 'selector_fuel_hydrogen':
|
|
103
|
-
return 'kg/100km (komb)*';
|
|
104
|
-
break;
|
|
105
|
-
case 'selector_fuel_ethanol':
|
|
106
|
-
return 'kg/100km (komb)*';
|
|
107
|
-
break;
|
|
108
|
-
case 'selector_fuel_hybridElectricalPetrol':
|
|
109
|
-
return 'l/100km (komb)*';
|
|
110
|
-
break;
|
|
111
|
-
case 'selector_fuel_hybridElectricalDiesel':
|
|
112
|
-
return 'l/100km (komb)*';
|
|
113
|
-
break;
|
|
114
|
-
default:
|
|
115
|
-
return 'N/A';
|
|
116
|
-
}
|
|
117
|
-
};
|
|
1
|
+
export const cbdGearbox = (key: string) => {
|
|
2
|
+
switch (key) {
|
|
3
|
+
case 'selector_gearbox_manualShift':
|
|
4
|
+
return 'Manuell';
|
|
5
|
+
break;
|
|
6
|
+
case 'selector_gearbox_automatic':
|
|
7
|
+
return 'Automatik';
|
|
8
|
+
break;
|
|
9
|
+
case 'selector_gearbox_semiAutomatic':
|
|
10
|
+
return 'Halbautomatik';
|
|
11
|
+
break;
|
|
12
|
+
default:
|
|
13
|
+
return 'N/A';
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const cbdFuel = (key: string) => {
|
|
18
|
+
switch (key) {
|
|
19
|
+
case 'selector_fuel_petrol':
|
|
20
|
+
return 'Benzin';
|
|
21
|
+
break;
|
|
22
|
+
case 'selector_fuel_diesel':
|
|
23
|
+
return 'Diesel';
|
|
24
|
+
break;
|
|
25
|
+
case 'selector_fuel_naturalGas':
|
|
26
|
+
return 'Erdgas';
|
|
27
|
+
break;
|
|
28
|
+
case 'selector_fuel_carGas':
|
|
29
|
+
return 'Autogas';
|
|
30
|
+
break;
|
|
31
|
+
case 'selector_fuel_electrical':
|
|
32
|
+
return 'Elektro';
|
|
33
|
+
break;
|
|
34
|
+
case 'selector_fuel_hydrogen':
|
|
35
|
+
return 'Wasserstoff';
|
|
36
|
+
break;
|
|
37
|
+
case 'selector_fuel_ethanol':
|
|
38
|
+
return 'Ethanol';
|
|
39
|
+
break;
|
|
40
|
+
case 'selector_fuel_hybridElectricalPetrol':
|
|
41
|
+
return 'Hybrid (Elektro / Benzin)';
|
|
42
|
+
break;
|
|
43
|
+
case 'selector_fuel_hybridElectricalDiesel':
|
|
44
|
+
return 'Hybrid (Elektro / Diesel)';
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
return 'N/A';
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export const cbdConsumptionUnit = (key: string) => {
|
|
52
|
+
switch (key) {
|
|
53
|
+
case 'selector_fuel_petrol':
|
|
54
|
+
return 'l/100km';
|
|
55
|
+
break;
|
|
56
|
+
case 'selector_fuel_diesel':
|
|
57
|
+
return 'l/100km';
|
|
58
|
+
break;
|
|
59
|
+
case 'selector_fuel_naturalGas':
|
|
60
|
+
return 'kg/100km';
|
|
61
|
+
break;
|
|
62
|
+
case 'selector_fuel_carGas':
|
|
63
|
+
return 'kg/100km';
|
|
64
|
+
break;
|
|
65
|
+
case 'selector_fuel_electrical':
|
|
66
|
+
return 'kWh/100km';
|
|
67
|
+
break;
|
|
68
|
+
case 'selector_fuel_hydrogen':
|
|
69
|
+
return 'kg/100km';
|
|
70
|
+
break;
|
|
71
|
+
case 'selector_fuel_ethanol':
|
|
72
|
+
return 'kg/100km';
|
|
73
|
+
break;
|
|
74
|
+
case 'selector_fuel_hybridElectricalPetrol':
|
|
75
|
+
return 'l/100km';
|
|
76
|
+
break;
|
|
77
|
+
case 'selector_fuel_hybridElectricalDiesel':
|
|
78
|
+
return 'l/100km';
|
|
79
|
+
break;
|
|
80
|
+
default:
|
|
81
|
+
return 'N/A';
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const cbdConsumptionUnitWithKomb = (key: string) => {
|
|
86
|
+
switch (key) {
|
|
87
|
+
case 'selector_fuel_petrol':
|
|
88
|
+
return 'l/100km (komb)*';
|
|
89
|
+
break;
|
|
90
|
+
case 'selector_fuel_diesel':
|
|
91
|
+
return 'l/100km (komb)*';
|
|
92
|
+
break;
|
|
93
|
+
case 'selector_fuel_naturalGas':
|
|
94
|
+
return 'kg/100km (komb)*';
|
|
95
|
+
break;
|
|
96
|
+
case 'selector_fuel_carGas':
|
|
97
|
+
return 'kg/100km (komb)*';
|
|
98
|
+
break;
|
|
99
|
+
case 'selector_fuel_electrical':
|
|
100
|
+
return 'kWh/100km (komb)*';
|
|
101
|
+
break;
|
|
102
|
+
case 'selector_fuel_hydrogen':
|
|
103
|
+
return 'kg/100km (komb)*';
|
|
104
|
+
break;
|
|
105
|
+
case 'selector_fuel_ethanol':
|
|
106
|
+
return 'kg/100km (komb)*';
|
|
107
|
+
break;
|
|
108
|
+
case 'selector_fuel_hybridElectricalPetrol':
|
|
109
|
+
return 'l/100km (komb)*';
|
|
110
|
+
break;
|
|
111
|
+
case 'selector_fuel_hybridElectricalDiesel':
|
|
112
|
+
return 'l/100km (komb)*';
|
|
113
|
+
break;
|
|
114
|
+
default:
|
|
115
|
+
return 'N/A';
|
|
116
|
+
}
|
|
117
|
+
};
|