Skip to content

Add Button support #1024

Description

@Kyle-Ye

Summary

Complete public Button support so buttons render their labels and invoke their actions through supported input mechanisms.

Scope

  • Complete the generic Button implementation and its common label, title, and role initializers.
  • Connect pointer or touch activation to the button action, including disabled-state handling.
  • Integrate ButtonStyle, PrimitiveButtonStyle, their configuration values, .buttonStyle(_:), and baseline default, plain, and borderless styles.
  • Propagate label, role, enabled, and pressed state through the style pipeline.
  • Add examples and focused coverage for rendering, activation, disabled buttons, roles, and custom styles.

Acceptance criteria

  • Button("Run") { ... } renders its label and invokes its action once per activation.
  • A disabled button does not invoke its action.
  • Custom button styles receive the expected label, role, and pressed state.
  • Primitive button styles can trigger the configured action.
  • Button activation participates in the supported host's normal focus and accessibility behavior.

API reference

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area: event-gestureEvents, gestures, tracing, or interaction plumbing.area: viewView APIs, modifiers, AnyView, ForEach, DynamicView, and related behavior.type: featureNew API, behavior, platform support, or user-facing capability.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions