← Sweetie

Advanced Interface · WK04 · Sliders

Sliders

In the bowl builder, every ingredient bar is a slider. Slide across a bar and it tells you how much you're getting: None, Less, Good amount, More, A lot. Slide down to None and the ingredient leaves your bowl. Three tones, each with one stepped slider and one continuous slider, all about the same thing: how much goes in your bowl.

FunctionChoose an amount. Stepped sliders snap to named portions; continuous sliders pick any value in a range. Drag, tap the track, or use ← → Home End on the keyboard.
ValueEvery slider says its value: a bubble while you drag and a resting label (portion word, grams, ml or %).
ToneSerene (default Sweetie), Playful (toppings energy, elastic hexagon), Elegant (a single 1 px line).

In the prototype

Where the sliders live in Sweetie

The Serene stepped slider is every ingredient bar in the bowl builder (flow 03). The frame below is the real tablet prototype: the onion bar runs through its portions on its own, and you can slide any bar yourself. Phone isn’t built yet — the prototype is tablet only for now.

Used · 01 Serene · Stepped (Portion)Not in the prototype yet · 01 Serene · Continuous (Dressing)Not yet · 02 PlayfulNot yet · 03 Elegant

03 · Bowl builder · right panel

12345
Live prototype, tablet landscape 1210 × 834. Hover a number on the right to see where it is.
  1. 1Ingredient bar = the stepped sliderBases, Toppings and Dressings are all WK04 Serene bars: drag anywhere on a bar through None · Less · Good amount · More · A lot.
  2. 2Drag bubble names the portionWhile you slide, the deep green bubble and the stop dots appear; let go and the fill settles on the nearest portion (600 ms).
  3. 3None removes the ingredientSlide to None and let go: the × turns red, then the row fades out and the count (6/10) drops. Tapping × does the same.
  4. 4The bowl photo follows the sliderIngredient tags (WK02) show − for Less, +1 for More, +2 for A lot, and disappear at None.
  5. 5Calories update liveThe line under the bowl name recounts calories and the price as portions change, and Add to bag shows the same price.

01

Serene · Ingredient bars

The ingredient bar from the bowl builder is now the slider. Put your finger anywhere on the bar and slide: the colored fill follows you, small dots show where the portions are, and a deep green bubble names the portion you're on. Let go and the fill slowly settles on the nearest portion. The continuous version (dressing) uses the same bar with the Sweetie gradient and reads out a percentage.

drag anywhere on the barsettle 600 mscubic-bezier(.45, 0, .2, 1)5 portions · None removesno bounce
Stepped

Portion

5 stops: None · Less · Good amount · More · A lot. At None the bar empties back to cream. In the bowl builder, sliding to None and letting go removes the ingredient from the list. The fill always leaves room for the name (name + 56 px, at least 34%); the stops are spaced evenly up to 100%.

Continuous

Dressing

0–100%, step 1. Words cover ranges: None · Light · Just right · Generous · Drenched. At 0% the bar empties back to cream.

Your bowl
Slide a bar to change how much.
Bases
Toppings

Live prototype: slide any bar. Slide all the way down to None and let go to remove it, or tap ×.

Track

Sizefill × 55 (345 in Figma)
Radius40 · pill
Fill#EBE5DC cream 200
Stroke1.5 inside · #BDBDBD
Row gap12 · remove button gap 10

Active fill

ColorIngredient token (lettuce #8ED924 …)
Stroke1.5 inside · black 14%
Stopsmin = name + 56 (≥ 34%) → 100%, even
LabelFigtree 400 · 25 / 30 · −3% · inset 28
Stop dot5 × 5 · #909090 55% · on drag

Value label

BubbleFigtree 500 · 15 / 18
Padding8 × 14 · radius 40
Colors#00473D bg · #F5F3E8 text
Offset10 above track · tracks fill end
Resting15 · #595959 · right 20; moves inside fill end when full

Motion

Dragfill follows finger · 80 ms linear
Releasesettle to stop · 600 ms
Easingcubic-bezier(.45, 0, .2, 1)
Bubblefade + rise 6 · 300 ms
Continuousstep 1 · Sweetie Glow gradient
RemoveNone + release → 450 ms → row fades left 12 · 380 ms

02

Playful · Heat & tomatoes

Toppings energy, carried over from the WK03 Playful toggle. The thumb is a Sweetie hexagon: it squashes when you grab it, springs past each stop and settles, and turns 30° every step. In the continuous tomato slider, cherry tomatoes pop onto the bar as you slide further, so you can see the amount as well as read it in grams.

hexagon thumbelastic 700 mscubic-bezier(.34, 1.7, .5, 1)2 px ink outline
Stepped

Heat

5 stops: None · Mild · Medium · Hot · Fire. The bar goes from sage to tomato as it heats up, and the bubble shows one chili per level.

Continuous

Cherry tomatoes

0–120 g, step 1. One tomato pops in for every 10 g. Words: None · A few · Good amount · Hearty · A lot.

Track

Sizefill × 40
Radius20
Fill#EBE5DC cream 200
Stroke2 inside · #00473D
Stop notch8 × 8 diamond · r 2 · 35%

Thumb

ShapeHexagon 52 × 60 · corner 6
Fill / stroke#FFFFFF · 2.5 #00473D
Grabscale 1.12 × 0.9 (squash)
Steprotate +30° per stop
Tomato18 × 18 · every 10 g · pop 450 ms

Value label

BubbleFigtree 500 · 18 / 22
Padding7 × 14 · radius 20
Stroke2 · #00473D · 10 px pointer
Offset12 above thumb · always on
Changepop scale .82 → 1, −4° → 0

Motion

Steppedsnaps while dragging · 700 ms
Easingcubic-bezier(.34, 1.7, .5, 1)
Continuousfollows finger · 120 ms ease-out
Heat colors#C0E396 → #F7D8CD → #F5BD72 → #F2643A → #F22021
Releaseunsquash 500 ms elastic

03

Elegant · Avocado & olive oil

A tasting-menu feel in a single hairline, like the WK03 Elegant set. Thin ticks mark the stops, and the deep green line draws in behind a small cream ring. When you hold the thumb, a faint halo opens around it. The value is always written above in quiet type, and the label under the active stop turns to ink.

1 px line · 2 px active450 mscubic-bezier(.32, .72, 0, 1)no glow
Stepped

Avocado

5 stops: None · Less · Good amount · More · A lot. Labels sit under each tick; the active one turns green ink.

Continuous

Olive oil

0–15 ml, step 0.5. Minor ticks every 1 ml mark the scale; a small number follows the thumb while you drag.

Track

Inactive1 px · #BDBDBD
Active2 px · #00473D
Stop tick1 × 9 · #B3B3B3 → #00473D
Minor tick1 × 5 · every 1 ml
Hit areafill × 28

Thumb

Size18 × 18 · circle
Fill / stroke#F9F6E6 · 1 #00473D
Halo10 spread · #00473D 8% · on hold
Panel#F9F6E6 · 1 #BDBDBD · r 24
Padding36 / 32 / 32

Type

TitleFigtree 300 · 20 / 26 · #00473D
ValueFigtree 400 · 15 / 20 · tabular
Stop labelsFigtree 400 · 12 / 16 · +8% · caps
Active label500 · #00473D
Drag tip12 · 8 above thumb

Motion

Steppedsnaps · 450 ms
Easingcubic-bezier(.32, .72, 0, 1)
Continuousfollows finger · 60 ms linear
Halo400 ms ease-in-out
Labelscolor 450 ms ease-in-out