Contractus componentis
button
Button fundamentale design system — variantes primary/secondary cum statu disabled.
- Versio
- v1.0.0
Props
| Nomen | Genus | Valores | Praefinitum |
|---|---|---|---|
| variant | enum | primary, secondary, ghost | primary |
| size | enum | md, lg | md |
| disabled | boolean | — | false |
| type | enum | button, submit, reset | button |
| href | string | — | — |
Slot
- Nomen
- default
- Propositum
- button label content
Tokens
- colors
- interactive.button.primary.default, interactive.button.primary.hover, interactive.button.secondary.default, interactive.button.secondary.hover, interactive.button.primary.text, interactive.button.secondary.text, interactive.button.focus
- spacing
- primitive.spacing.sm, primitive.spacing.md, primitive.spacing.lg, primitive.spacing.xl
- radius
- primitive.radius.sm, primitive.radius.md
- font
- primitive.font.family, primitive.font.size-md
Aditus
- native_element
- button or a (when href is set)
- keyboard
- ["Enter activates","Space activates (for button element)"]
- disabled_semantics
- native_disabled_attribute (button only; a-element href does not respect disabled)
JSON probatum crudum
{
"name": "button",
"version": "1.0.0",
"props": {
"variant": {
"type": "enum",
"values": [
"primary",
"secondary",
"ghost"
],
"default": "primary"
},
"size": {
"type": "enum",
"values": [
"md",
"lg"
],
"default": "md"
},
"disabled": {
"type": "boolean",
"default": false
},
"type": {
"type": "enum",
"values": [
"button",
"submit",
"reset"
],
"default": "button"
},
"href": {
"type": "string"
}
},
"slot": {
"name": "default",
"purpose": "button label content"
},
"tokens_used": {
"colors": [
"interactive.button.primary.default",
"interactive.button.primary.hover",
"interactive.button.secondary.default",
"interactive.button.secondary.hover",
"interactive.button.primary.text",
"interactive.button.secondary.text",
"interactive.button.focus"
],
"spacing": [
"primitive.spacing.sm",
"primitive.spacing.md",
"primitive.spacing.lg",
"primitive.spacing.xl"
],
"radius": [
"primitive.radius.sm",
"primitive.radius.md"
],
"font": [
"primitive.font.family",
"primitive.font.size-md"
]
},
"a11y": {
"native_element": "button or a (when href is set)",
"keyboard": [
"Enter activates",
"Space activates (for button element)"
],
"disabled_semantics": "native_disabled_attribute (button only; a-element href does not respect disabled)"
}
}