East Blue
RemoveNot Applicable
Voucher Asset Component link

A ticket-shaped image clipped into a notched frame, used as the visual on voucher placements.

Superseded by Voucher
Superseded by Voucher. There is no standalone asset component any more: the ticket panel is a Voucher Asset frame inside each Voucher version, wrapping a real ⤷ AssetSlot. That is what the old verdict asked for — the use-case and fidelity axes are gone, artwork is instance-swapped rather than enumerated, and the notch is a vector rather than a raster mask. Kept as a record of the assessment that drove the consolidation.
Live Preview
Placeholder35% offPlaceholder35% off
placeholder
Restaurant35% offRestaurant35% off
restaurant
Vacation35% offVacation35% off
vacation
Beverage35% offBeverage35% off
beverage
Snack35% offSnack35% off
snack
Fashion35% offFashion35% off
fashion
Party35% offParty35% off
party
Meal35% offMeal35% off
meal
Games35% offGames35% off
games
Placeholder Image35% off
default · horizontal
Food35% off
food · horizontal
Variants
Categoriesplaceholder · restaurant · vacation · beverage · snack · fashion · party · meal · games · food
Sizes110×68 · 110×104 · 226×96
Discount badgealways shown
Composition
Image fillpublisher-supplied
Notch shapeSVG clip-path
DS Health
Reusable
Fail
Tied to specific illustration categories. Consumers cannot supply their own voucher image — they must pick from the 10 baked-in use cases or detach the component.
Self-contained
Warn
Ships the ticket frame and Badge instance, but the voucher amount ("35% off") is hardcoded into the image, not a property. Consumers can't change the discount without swapping the whole variant.
Consistent
Fail
Property schema is contradictory. type=midfi is an authoring state, use case is content, size and orientation are geometry. Cartesian space is sparse — only default and food exist in horizontal; most use cases don't. New categories require new variants.
Composable
Warn
Used inside Vertical Voucher, Horizontal Voucher, and Voucher Card Horizontal — composition works. But since content is locked to 10 categories, the parent voucher components inherit the same constraint.
Behavior
State iOS Android Figma Property Notes
Image source N/A N/A use case enum Native doesn't switch on an enum — it reads a named asset. The Figma enum is a Figma-only crutch.
Size N/A N/A size enum Two fixed sizes; horizontal variants override to 336×144.
Discount label N/A N/A Badge instance Currently hardcoded string. Should be a discount property on the parent component.
Clipping shape No No Mask Ticket notch + dashed center line is the only DS-specific visual primitive here.
1.0.0 — April 2026Major
Initial Assessment · node 5119:1664
Assessed with Restructure verdict. 20-variant sprawl driven by a 10-value use case enum and a type=midfi|hifi fidelity axis — both are anti-patterns. Open
Design Decision
Proposed restructure. Collapse to a single Voucher Image Frame with size + orientation + image Slot + discount string. Move category artwork to a sibling asset library. Target: 4 variants instead of 20. Open
Design Decision