Skip to content
UI Kit
Accent color

Florist

For florists and flower shops. A bouquet builder with a drawn bouquet, bouquets by occasion, same day delivery with a postcode check, the greeting card and workshops.

5 variants
Switch category

Florist

Bouquet builder

Pick size, colours and extras. The drawn bouquet blooms anew flower by flower and sways gently, the price glides in a bar on the picture.

Open in Studio

By occasion

Occasions as round tabs. Matching bouquets rise in one after another and lift when you point at them, beside them a tip on what fits the occasion.

Open in Studio

Same day delivery

A ring counts down to the same day cut off. Pick the day and time, closed days are crossed out, and check your postcode against the delivery zones.

Open in Studio

Greeting card

Choose a card, write or tap an idea. The card shows its front with a blooming bouquet or the inside with your words, a bar fills with the characters.

Open in Studio

Workshops

Dates with every seat as a dot, free ones green, they pop in while scrolling. Open a date, choose the people and book, the price follows.

Open in Studio

Details

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

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

Props

The FloristProps interface from components/ui/florist.tsx, with the comments from the code.

  • variantoptional
    FloristVariant

    bouquet-builderoccasionsdeliverycard-messageworkshops

  • eyebrowoptional
    React.ReactNode
  • titleoptional
    React.ReactNode
  • descriptionoptional
    React.ReactNode
  • palettesoptional
    FloristPalette[]

    bouquet-builder, occasions, card-message: colour sets of the drawn bouquets

  • sizesoptional
    FloristSize[]

    bouquet-builder

  • extrasoptional
    { id: string; label: string; price: number; icon?: IconName }[]
  • occasionsoptional
    FloristOccasion[]

    occasions

  • cutoffoptional
    string

    delivery: order cut off for same day, days ahead, closed weekdays (0 Sunday) and zones

  • daysAheadoptional
    number
  • closedDaysoptional
    number[]
  • zonesoptional
    FloristZone[]
  • nowoptional
    { date: string; time: string }

    delivery: fixed time for the countdown, e.g. { date: '2026-10-21', time: '11:46' }. Defaults to the browser clock.

  • ideasoptional
    string[]

    card-message

  • maxLengthoptional
    number
  • senderoptional
    string
  • workshopsoptional
    FloristWorkshop[]

    workshops

  • currencyoptional
    string

Built-in texts

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

Show all 45 texts
sizeEnglish SizeGerman Größe
paletteEnglish ColoursGerman Farben
extrasEnglish ExtrasGerman Extras
totalEnglish Your bouquetGerman Dein Strauß
addEnglish Add to basketGerman In den Warenkorb
addedEnglish In your basketGerman Im Warenkorb
tipEnglish Good to knowGerman Gut zu wissen
occasionEnglish OccasionGerman Anlass
fromEnglish from {price}German ab {price}
orderEnglish Order before {time} for delivery todayGerman Bis {time} Uhr bestellen, heute geliefert
leftEnglish {h} h {m} min leftGerman noch {h} Std. {m} Min.
tomorrowEnglish Delivered from tomorrowGerman Lieferung ab morgen
dayEnglish Delivery dayGerman Liefertag
slotEnglish TimeGerman Uhrzeit
morningEnglish MorningGerman Vormittags
afternoonEnglish AfternoonGerman Nachmittags
eveningEnglish EveningGerman Abends
morningTimeEnglish 9 AM to 12 PMGerman 9 bis 12 Uhr
afternoonTimeEnglish 12 to 4 PMGerman 12 bis 16 Uhr
eveningTimeEnglish 4 to 7 PMGerman 16 bis 19 Uhr
todayEnglish TodayGerman Heute
postcodeEnglish PostcodeGerman Postleitzahl
checkEnglish CheckGerman Prüfen
inZoneEnglish We deliver to {zone}, {fee}German Wir liefern nach {zone}, {fee}
freeEnglish freeGerman kostenlos
outZoneEnglish Outside our area, we ship by parcel in a boxGerman Außerhalb unseres Gebiets, wir verschicken im Karton
sameDayEnglish Same day possibleGerman Am selben Tag möglich
motifEnglish CardGerman Karte
messageEnglish Your messageGerman Dein Kartentext
charsEnglish {n} of {max} charactersGerman {n} von {max} Zeichen
ideasEnglish IdeasGerman Ideen
frontEnglish FrontGerman Vorderseite
backEnglish InsideGerman Innen
signedEnglish FromGerman Von
saveEnglish Use this cardGerman Diese Karte nehmen
savedEnglish Card saved to your orderGerman Karte zur Bestellung gelegt
seatsLeftEnglish {n} of {total} seats freeGerman {n} von {total} Plätzen frei
fullEnglish Fully bookedGerman Ausgebucht
peopleEnglish PeopleGerman Personen
bookEnglish Book {n} seatsGerman {n} Plätze buchen
bookOneEnglish Book one seatGerman Einen Platz buchen
bookedEnglish Booked. The confirmation is on its way.German Gebucht. Die Bestätigung ist unterwegs.
waitlistEnglish Join the waiting listGerman Auf die Warteliste
minusEnglish One lessGerman Eine Person weniger
plusEnglish One moreGerman Eine Person mehr

Accessibility

Read from the source of the component.

  • Florist handles the keys Arrow up, Arrow down, Arrow left, Arrow right and Space itself.
  • Sets aria-checked, aria-expanded, aria-label, aria-live, aria-pressed and aria-selected, so screen readers announce purpose and state.
  • Uses the roles checkbox, group, 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.
  • Shows a visible focus ring when used with the keyboard.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still. 4 places in the code switch motion off then.

Frequent questions

How do I install Florist?

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

Which variants does Florist have?

5 variants, Bouquet builder, By occasion, Same day delivery, Greeting card and Workshops. You pick one with the variant prop, for example variant="occasions".

Can I translate the texts of Florist?

Yes. Florist carries 45 texts of its own in English and German, such as “Size”, “Colours” and “Extras”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Florist?

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

Can I adjust Florist without code?

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

Often searched

Jump to

Copied to the clipboard