Skip to content
UI Kit
Accent color

Automotive

For car dealers, garages and rentals. Inventory with filters, the vehicle page, a test drive with route, financing and a trade-in estimate.

5 variants
Switch category

Automotive

Inventory

Body, fuel and a price slider at the side, sort above. The grid re-sorts with a stagger, on phones the filters fold out with a count.

Open in Studio

Vehicle page

A gallery that slides in the direction you go, thumbnails, key facts that rise in, equipment in groups and a sticky price card with test drive and phone.

Open in Studio

Test drive

Pick a car, a day and a time, leave contact and confirm the licence. On the map the route draws itself and a dot drives it when it scrolls in.

Open in Studio

Financing

Price and down payment on sliders, term and final payment on gliding switches. The rate glides, a bar splits loan and interest, the representative example updates.

Open in Studio

Trade-in value

Make, year, mileage and condition give a value range that glides along, drawn as a band between two handles.

Open in Studio

Details

What Automotive brings along, read from the registry and the source.

Variants
5
Version
1.0.0 · since 1.1.0
File
components/ui/automotive.tsx
Brings along
utilskitbuttoniconrevealsectionmotioninputslider
npm packages
None
Languages
English and German, 64 texts of its own

Props

The AutomotiveProps interface from components/ui/automotive.tsx, with the comments from the code.

  • variantoptional
    AutomotiveVariant

    inventoryvehicle-detailtest-drivefinancingtrade-in

  • eyebrowoptional
    React.ReactNode
  • titleoptional
    React.ReactNode
  • descriptionoptional
    React.ReactNode
  • vehiclesoptional
    Vehicle[]

    inventory, test-drive: the cars

  • detailoptional
    VehicleDetail

    vehicle-detail

  • daysoptional
    string[]

    test-drive: bookable days (YYYY-MM-DD) and times (HH:MM)

  • timesoptional
    string[]
  • mapoptional
    React.ReactNode

    test-drive: a map picture and an SVG path on a 600 by 400 grid that draws itself on it

  • routeoptional
    string
  • routeMinutesoptional
    number
  • routeKmoptional
    number
  • priceoptional
    number

    financing: the price to start from and the yearly interest in percent

  • interestoptional
    number
  • balloonShareoptional
    number

    financing: final payment as share of the price, 0 to 1

  • makesoptional
    { id: string; label: string; base: number }[]

    trade-in: makes to choose from, and a base value table by make

  • currentYearoptional
    number

    trade-in: the year the estimate is made in, sets the year slider and the end of the curve (fixed, so the render stays the same on server and client)

  • currencyoptional
    string
  • onSubmitoptional
    (data: Record<string, string>) => void

Built-in texts

Automotive writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.

Show all 64 texts
bodyEnglish BodyGerman Karosserie
fuelEnglish FuelGerman Antrieb
allEnglish AllGerman Alle
maxPriceEnglish Up toGerman Bis
sortEnglish Sort byGerman Sortieren
sortPriceEnglish Lowest priceGerman Niedrigster Preis
sortKmEnglish Lowest mileageGerman Wenigste Kilometer
sortYearEnglish NewestGerman Neueste zuerst
resultsEnglish {n} vehiclesGerman {n} Fahrzeuge
oneResultEnglish 1 vehicleGerman 1 Fahrzeug
noneEnglish No vehicle matches these filters.German Kein Fahrzeug passt zu diesen Filtern.
resetEnglish Reset filtersGerman Filter zurücksetzen
filtersEnglish FiltersGerman Filter
showNEnglish Show {n} vehiclesGerman {n} Fahrzeuge zeigen
kmEnglish {n} kmGerman {n} km
kwEnglish {kw} kW ({ps} hp)German {kw} kW ({ps} PS)
fromEnglish from {price} a monthGerman ab {price} im Monat
detailsEnglish View detailsGerman Details ansehen
galleryEnglish PicturesGerman Bilder
picEnglish Picture {n} of {total}German Bild {n} von {total}
specsEnglish Key factsGerman Eckdaten
equipmentEnglish EquipmentGerman Ausstattung
testDriveEnglish Book a test driveGerman Probefahrt buchen
financeFromEnglish Finance from {price} a monthGerman Finanzieren ab {price} im Monat
vehicleEnglish VehicleGerman Fahrzeug
dayEnglish DayGerman Tag
timeEnglish TimeGerman Uhrzeit
nameEnglish NameGerman Name
phoneEnglish PhoneGerman Telefon
emailEnglish EmailGerman E-Mail
licenceEnglish I hold a valid driving licence and will bring it.German Ich habe einen gültigen Führerschein und bringe ihn mit.
requiredEnglish Please fill in this field.German Bitte füllen Sie dieses Feld aus.
licenceReqEnglish Please confirm your licence.German Bitte bestätigen Sie den Führerschein.
invalidEmailEnglish Please enter a valid email address.German Bitte geben Sie eine gültige E-Mail-Adresse ein.
bookEnglish Request test driveGerman Probefahrt anfragen
bookedEnglish See you on {day} at {time}German Bis {day} um {time} Uhr
bookedTextEnglish The car will be cleaned, charged or fuelled and parked at the door. Plan about 45 minutes, half in town and half on the motorway.German Das Auto steht gewaschen, geladen oder getankt vor der Tür. Planen Sie etwa 45 Minuten ein, halb Stadt, halb Autobahn.
againEnglish Book another test driveGerman Weitere Probefahrt buchen
routeEnglish Your routeGerman Ihre Route
routeTextEnglish {min} minutes, about {km} km, town and motorwayGerman {min} Minuten, etwa {km} km, Stadt und Autobahn
priceEnglish Vehicle priceGerman Fahrzeugpreis
downEnglish Down paymentGerman Anzahlung
termEnglish TermGerman Laufzeit
monthsEnglish {n} monthsGerman {n} Monate
balloonEnglish Final paymentGerman Schlussrate
balloonOnEnglish With final paymentGerman Mit Schlussrate
balloonOffEnglish WithoutGerman Ohne
monthlyEnglish Monthly rateGerman Monatliche Rate
rateEnglish Annual percentage rate {rate}German Effektiver Jahreszins {rate}
totalCostEnglish Total amount payableGerman Gesamtbetrag
interestEnglish InterestGerman Zinsen
principalEnglish LoanGerman Kredit
applyEnglish Apply for financingGerman Finanzierung anfragen
exampleEnglish Representative exampleGerman Repräsentatives Beispiel
makeEnglish Make and modelGerman Marke und Modell
yearEnglish YearGerman Baujahr
mileageEnglish MileageGerman Kilometerstand
conditionEnglish ConditionGerman Zustand
estimateEnglish Estimated trade-in valueGerman Geschätzter Ankaufswert
estimateNoteEnglish A first estimate from recent sales. After a short look at the car we make a binding offer, valid for 14 days.German Eine erste Schätzung aus aktuellen Verkäufen. Nach einem kurzen Blick aufs Auto machen wir ein verbindliches Angebot, 14 Tage gültig.
getOfferEnglish Get a binding offerGerman Verbindliches Angebot holen
goodEnglish Very goodGerman Sehr gut
okEnglish GoodGerman Gut
wornEnglish UsedGerman Gebraucht

Accessibility

Read from the source of the component.

  • Automotive handles the keys Arrow up, Arrow down, Arrow left, Arrow right and Space itself.
  • Sets aria-checked, aria-controls, aria-expanded, aria-invalid, aria-label, aria-live, aria-pressed and aria-selected, so screen readers announce purpose and state.
  • Uses the roles group, img, radio, radiogroup, status, tab and tablist.
  • Announces changes through a live region without moving focus.
  • Every field has a label, visible or for screen readers.
  • Adds text for screen readers where icons and graphics stand alone.
  • Shows a visible focus ring when used with the keyboard.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Rises in briefly the first time it comes into view (kit-rise, useInView).
  • Moves with the scroll, its progress follows the position on the page.
  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still. 8 places in the code switch motion off then.

Frequent questions

How do I install Automotive?

With aiw add @ai-website/automotive. The command puts components/ui/automotive.tsx into your project, the code is yours from then on. It brings along button, icon, reveal, section, motion, input and slider. It needs no further npm packages.

Which variants does Automotive have?

5 variants, Inventory, Vehicle page, Test drive, Financing and Trade-in value. You pick one with the variant prop, for example variant="vehicle-detail".

Can I translate the texts of Automotive?

Yes. Automotive carries 64 texts of its own in English and German, such as “Body”, “Fuel” and “All”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Automotive?

Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Automotive with aiw_components and install it with aiw_add @ai-website/automotive. Name the variant in your prompt, for example variant="inventory", and the assistant writes your content straight into the props.

Can I adjust Automotive without code?

Yes, in the Studio. All 5 variants are editable there, texts, lists and switches. The Studio writes the matching Automotive code to copy.

Often searched

Jump to

Copied to the clipboard