Skip to content

shadcn.io is an independent project built on shadcn/ui

Wellness Product Card Block for Ark UI

An essential oil tile beside a dilution calculator: choose lavender or bergamot, a use (Diffuser, Roll-on, Bath) and an amount, and it writes the drops in words, draws them and keeps a Patch-test first line.

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Do the arithmetic for the shopper with this wellness product card for React with Ark UI. A hairline frame with a divider holds the oil at the start, a dropper bottle drawn in greyscale with a lavender or bergamot choice, its price and an outline Button to add it. At the end is a calculator in two ruled bands. A Segment Group picks the use, Diffuser, Roll-on or Bath, and a Toggle Group picks the amount. A typed rule of 30 drops to a millilitre and a strength per use and oil writes the answer, "Roll-on 10 ml at 2%: 6 drops of lavender", and draws that many drops in a row whose space is always reserved. "Patch-test first" stays in view. The rules are typed, not medical advice. Nothing is stored or bought. For aromatherapy and natural-care shops.

FAQ

How do I change the rules?

Edit WAYS: each has a strength in tenths of a percent for each oil and the amounts offered. The drops are the amount times the strength times DROPS_PER_ML, rounded to a whole drop.

Is this safe advice?

The block is an interface demo. The strengths are typed for a fictional brand and the page says so and says patch-test first. Use your supplier's safety data and a reviewed rule table before you publish a real calculator.

Why does bergamot show a different strength?

It is a typed rule to show how an oil can change the answer: bergamot uses half the skin strength and carries a typed note about the sun. Change or remove it as your data requires.

What stays local, and how do I wire it for real?

The oil, use, amount and bag are page state; nothing is stored, charged or sent. Replace the bodies of add and undo with calls to your cart.

How does it look on a phone?

The oil tile stacks above the calculator. The segmented control fills the width and the drops wrap on a reserved grid.

Is it accessible?

Both controls are labelled groups with arrow keys, the result is a sentence read by the status line, and the drops are decoration beside it.