button-states
SolidEvery interactive element needs a complete set of visual states — rest, hover, active/pressed, focus, disabled, and loading. States should be derived algorithmically from the base colour, not chosen arbitrarily. Use when designing buttons, links, inputs, or any clickable component.
Install
Quality Score: 87/100
Skill Content
Details
- Author
- dembrandt
- Repository
- dembrandt/dembrandt-skills
- Created
- 4 months ago
- Last Updated
- yesterday
- Language
- JavaScript
- License
- MIT
Integrates with
Similar Skills
Semantically similar based on skill content — not just same category
algorithmic-color-palette
Derive a full UI colour palette algorithmically from one or two brand colours. Darker and lighter variants for interactive states, desaturated greys from the brand hue for borders and backgrounds, and semantic colours that feel coherent with the brand rather than generic. Use when building a colour system from scratch or expanding a limited brand palette for UI use.
component-states
State matrix for interactive UI. Use when building or reviewing buttons, links, inputs, tabs, toggles, menus, cards, or controls that need hover, focus, active, disabled, loading, selected, error, keyboard, or ARIA states.
lonja-buttons
Enforces the CatchLaw action ladder, buttons as printed stamps — one primary per screen and never two, LonjaButtonVariant primary a solid harbour 1B4D5E field at radius 0, secondary an ink outline, quiet a rule-grey outline, destructive oxblood 7A2320 behind a confirmation, link only in prose, zero elevation and NoSplash.splashFactory instead of shadows, a default, hover, focus, pressed, disabled and busy matrix resolved in WidgetStateProperty, 56dp regular and 46dp compact heights glove mode floors to 66dp, 44dp IconButton carrying a real semanticLabel, a busy latch so a double tap never writes two rows, and a verb label naming exactly what happens. Use when adding a button, styling ElevatedButton, FilledButton, TextButton, IconButton or SegmentedButton, editing lib/ui/core/lonja_button.dart, wiring onPressed to a Notifier, choosing between primary and quiet, adding a destructive affordance, or reviewing any tappable in a diff.