Skip to content
Skip design navigation
Etesie Alpha
Loading account
← Back to the shape editor
Shape · Learn · Guide

One profile, two consequences

A profile is a sourcing recipe, not an exported token. Choosing one does two things at once: it sets the nine Material corner values, and it re-maps which value each component part reaches for. That second half is what makes Sharp feel deliberate rather than just flat — pills become rectangles instead of staying pills at 0px.

Side by side

The corner scale each profile produces

Selecting a profile here changes the live theme, exactly as the sidebar control does.

Corner styleSharpSubtleStandardRoundedExpressive
none0px0px0px0px0px
extra-small0px2px4px6px6px
small0px6px8px10px12px
medium0px8px12px16px18px
large0px10px16px20px24px
large-increased0px14px20px26px30px
extra-large0px18px28px36px42px
extra-large-increased0px20px32px40px48px
extra-extra-large0px32px48px60px72px
full9999px9999px9999px9999px9999px
Component values changed93active102102102

Why a recipe instead of a semantic corner token

Material's corner scale describes magnitude, not intent — nothing in corner-value.medium says "card". If Etesie exported a --et-shape-card token it would be inventing vocabulary Material already covers a different way: the component token carries the semantics, and the profile decides which magnitude it resolves to.

Profile → --md-sys-shape-corner-value-*Material scale → --et-comp-*-container-shapecomponent intent

The middle link is Material's, so a theme stays portable. The component layer is namespaced --et-comp-* because Material does not publish a web component-token ledger.