Skip to content

refactor(frontend): Button with intent and size replaces the text buttons - #4006

Open
Kadrian wants to merge 4 commits into
refactor/icon-componentfrom
refactor/button-component
Open

refactor(frontend): Button with intent and size replaces the text buttons#4006
Kadrian wants to merge 4 commits into
refactor/icon-componentfrom
refactor/button-component

Conversation

@Kadrian

@Kadrian Kadrian commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Design-system prep, step 6: the Button

Stacked on #4005. ui-components/Button replaces PrimaryButton, TransparentButton, DestroyButton and SelectFileButton: one component, two axes, fixed heights. IconButton follows in the next step.

<Button intent="primary" size="md" onPress={save}><Icon icon={faCheck} />Save</Button>
<Button intent="tertiary" aria-label="Delete"><Icon icon={faTrash} /></Button>
  • intent: primary (filled), secondary (outlined, the default), tertiary (ghost with hover background), danger (outlined red, fills on hover), link (reads as a text link, no box, no padding; the dropzones' import buttons)
  • size: sm 24, md 30 (the default, 88 of the app's 119 buttons), lg 36 px, each a fixed height with its own text size and icon gap, so text buttons and icon buttons line up; a button whose only children are icons is a square of the same height
  • pressed state is aria-pressed, which colors the button; the active flag is gone
  • react-aria's API throughout: onPress (press events don't bubble, the one stopPropagation went), isDisabled, autoFocus, excludeFromTabOrder
  • Button stories: intents, all sizes with text, icon plus text and icon-only, pressed state

@awildturtok awildturtok left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Danke auch für die Tests!

@Kadrian
Kadrian force-pushed the refactor/button-component branch from a121f61 to 21bd5a6 Compare September 3, 2026 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants