A SwiftUI package that provides a large collection of reusable and customizable ButtonStyles for iOS.
Ideal for building structured, stylish, and consistent UIs – including Primary, Secondary, Ghost, Gradient, Pills, Chips, and more.
- ✅ 15+ modern ButtonStyles
- ✅ Supports
Color,Gradient,Material,AnyShapeStyle - ✅ Ghost, Outline, Capsule, Toggle, Segment & Icon Buttons
- ✅
LoadingButtonwith async/await support - ✅
ButtonsKitPreviewViewfor live preview of all styles - ✅ Easy to customize and extend
| Category | Styles |
|---|---|
| Standard | PrimaryButtonStyle, SecondaryButtonStyle, DestructiveButtonStyle, DisabledButtonStyle |
| Custom | CustomColorButtonStyle, StyledBackgroundButtonStyle |
| Gradients | LinearGradientButtonStyle, RadialGradientButtonStyle, AngularGradientButtonStyle |
| Ghost & Outline | GhostButtonStyle, CapsuleGhostButtonStyle, OutlinedButtonStyle |
| Special Buttons | PillButtonStyle, ToggleButtonStyle, SegmentedButtonStyle |
| Icon & Label | IconButtonStyle, LabeledIconButtonStyle, ToolbarButtonStyle |
| Components | LoadingButton, ToggleChipButton |
In Xcode:
- Go to File > Add Packages
- Enter the repository URL: https://github.com/ceviixx/ButtonsKit.git
- Add the HapticsKit library to your target.
All styles are shown in a live preview:
ButtonsKitPreviewView()Button("Save") {
// Action
}
.primaryButtonStyle()Button("Get Started") { }
.linearGradientButtonStyle(
gradient: Gradient(colors: [.blue, .purple])
)@State private var isSelected = true
ToggleChipButton(isSelected: $isSelected) {
Label("Active", systemImage: "star.fill")
}@State private var isLoading = false
LoadingButton(isLoading: $isLoading, style: PrimaryButtonStyle()) {
try await Task.sleep(nanoseconds: 1_000_000_000)
} label: {
Text("Loading…")
}