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
placeholder
restaurant
vacation
beverage
snack
fashion
party
meal
games
default · horizontal
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
Design Decisionuse case enum and a type=midfi|hifi fidelity axis — both are anti-patterns. OpenProposed restructure. Collapse to a single Voucher Image Frame with
Design Decisionsize + orientation + image Slot + discount string. Move category artwork to a sibling asset library. Target: 4 variants instead of 20. Open