Skip to content
UI Kit
Accent color

Salon and spa

For hair salons, beauty studios and spas. Treatments step by step, a price list by hair length, stylists with their work, vouchers with a live card and spa days.

5 variants
Switch category

Salon and spa

Treatments

A menu by category. The lead treatment shows its steps as a bar whose segments grow in, the others open in place with their own bar.

Open in Studio

Price list

Groups with dotted leaders. A gliding switch picks the hair length, every price glides to its new value.

Open in Studio

Stylists

Portrait, level, specialties and the next free slot with a live dot, three pictures of their work. A swipe row on phones.

Open in Studio

Gift vouchers

Amount, motif, names, a message and delivery. The card updates as you type, the amount rolls in, light follows the pointer.

Open in Studio

Spa days

Day packages to pick from. The chosen one shows its day on a line that fills, what is included and the total for one or two.

Open in Studio

Details

What Salon and spa brings along, read from the registry and the source.

Variants
5
Version
1.0.0 · since 1.1.0
File
components/ui/salon-spa.tsx
Brings along
utilskitbuttoniconrevealsectionmotioninputtextarea
npm packages
None
Languages
English and German, 43 texts of its own

Props

The SalonSpaProps interface from components/ui/salon-spa.tsx, with the comments from the code.

  • variantoptional
    SalonSpaVariant

    treatmentsprice-liststylistsgift-cardsspa-days

  • eyebrowoptional
    React.ReactNode
  • titleoptional
    React.ReactNode
  • descriptionoptional
    React.ReactNode
  • treatmentsoptional
    SalonTreatment[]
  • groupsoptional
    SalonPriceGroup[]
  • noteoptional
    string

    price-list: a line under the list, e.g. about consultation

  • stylistsoptional
    SalonStylist[]
  • amountsoptional
    number[]

    gift-cards: preset amounts

  • designsoptional
    { id: string; label: string; image?: React.ReactNode; dark?: boolean }[]

    gift-cards: card motifs, each a picture behind the text

  • brandoptional
    string

    gift-cards: name of the salon on the card

  • postageoptional
    number

    gift-cards: postage for delivery by post

  • daysoptional
    SalonSpaDay[]
  • currencyoptional
    string
  • onBuyoptional
    (data: Record<string, string>) => void

Built-in texts

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

Show all 43 texts
categoriesEnglish CategoriesGerman Kategorien
teamEnglish TeamGerman Team
minEnglish {n} minGerman {n} Min.
totalEnglish {n} min in totalGerman {n} Min. insgesamt
stepsEnglish Step by stepGerman Schritt für Schritt
suitsEnglish SuitsGerman Passt zu
bookEnglish Book this treatmentGerman Behandlung buchen
lengthEnglish Hair lengthGerman Haarlänge
shortEnglish ShortGerman Kurz
mediumEnglish MediumGerman Mittel
longEnglish LongGerman Lang
fromEnglish fromGerman ab
nextFreeEnglish Next freeGerman Nächster freier Termin
bookWithEnglish Book with {name}German Termin bei {name}
workEnglish Work by {name}German Arbeiten von {name}
amountEnglish AmountGerman Betrag
otherEnglish Own amountGerman Eigener Betrag
designEnglish DesignGerman Motiv
toEnglish ForGerman Für
toPhEnglish Name of the lucky oneGerman Name der beschenkten Person
from2English FromGerman Von
fromPhEnglish Your nameGerman Dein Name
messageEnglish A few wordsGerman Ein paar Worte
messagePhEnglish Happy birthday, time just for you.German Alles Gute zum Geburtstag, Zeit nur für dich.
deliveryEnglish DeliveryGerman Versand
emailEnglish By email, todayGerman Per E-Mail, noch heute
postEnglish By post in an envelopeGerman Per Post im Umschlag
postFeeEnglish plus {fee} postageGerman zzgl. {fee} Porto
buyEnglish Buy voucher for {amount}German Gutschein über {amount} kaufen
boughtEnglish Your voucher is on its wayGerman Dein Gutschein ist unterwegs
boughtTextEnglish You will receive it as a PDF to print or forward. It is valid for three years and works for every treatment.German Du bekommst ihn als PDF zum Ausdrucken oder Weiterleiten. Er gilt drei Jahre und für jede Behandlung.
againEnglish Create another voucherGerman Weiteren Gutschein gestalten
voucherEnglish VoucherGerman Gutschein
validEnglish Valid for 3 yearsGerman Gültig 3 Jahre
perPersonEnglish per personGerman pro Person
forTwoEnglish For twoGerman Zu zweit
forOneEnglish For oneGerman Allein
guestsEnglish GuestsGerman Gäste
total2English TotalGerman Gesamt
includesEnglish IncludedGerman Inklusive
dayPlanEnglish Your dayGerman Dein Tag
reserveEnglish Reserve this dayGerman Diesen Tag reservieren
requiredEnglish Please fill in this field.German Bitte fülle dieses Feld aus.

Accessibility

Read from the source of the component.

  • Salon and spa handles the keys Arrow up, Arrow down, Arrow left, Arrow right and Space itself.
  • Sets aria-checked, aria-controls, aria-expanded, aria-label, aria-live and aria-selected, so screen readers announce purpose and state.
  • Uses the roles radio, radiogroup, region, 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 Salon and spa?

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

Which variants does Salon and spa have?

5 variants, Treatments, Price list, Stylists, Gift vouchers and Spa days. You pick one with the variant prop, for example variant="price-list".

Can I translate the texts of Salon and spa?

Yes. Salon and spa carries 43 texts of its own in English and German, such as “Categories”, “Team” and “Step by step”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Salon and spa?

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

Can I adjust Salon and spa without code?

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

Often searched

Jump to

Copied to the clipboard