Button — Token Model (Shared for CTA, Icon, Link, Split)

button.bg.[appearance].[state]
button.text.[appearance].[state]
button.border.[appearance].[state]
button.icon.[appearance].[state]

button.size.[size]
button.size.[size].padding.x
button.size.[size].padding.y
button.size.[size].gap       // space between icon + label
button.size.[size].radius
button.size.[size].font

button.iconOnly.size.[size]
button.iconOnly.size.[size].padding
button.iconOnly.size.[size].icon

button.link.text.[appearance].[state]
button.link.underline.[appearance].[state]

button.split.main.bg.[appearance].[state]
button.split.main.text.[appearance].[state]
button.split.trigger.bg.[appearance].[state]
button.split.trigger.icon.[appearance].[state]
button.split.divider.[appearance]

You can plug in:


🧾 Quick Explanation

Core visual tokens


Sizing