sign_with_btn 1.1.0
sign_with_btn: ^1.1.0 copied to clipboard
A beautiful Flutter package for creating customizable sign-in buttons with support for Google, Apple, Facebook, Email, and Phone authentication providers.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2025-10-03 #
π¨ Enhanced Styling Options & Official Brand Styling #
Added
-
New SignWithStyle Factories: 5 additional styling options for more design flexibility
SignWithStyle.elevated()
- Buttons with shadow and elevation effectsSignWithStyle.pill()
- Fully rounded pill-shaped buttonsSignWithStyle.minimal()
- Clean minimal design with subtle hover effectsSignWithStyle.neumorphic()
- Soft, tactile button design with inset/outset effectsSignWithStyle.gradient()
- Support for gradient backgrounds (base implementation)
-
Brand-Specific Style Factories: 14 new official brand styling presets
SignWithStyle.google()
- Google's official white style with subtle borderSignWithStyle.apple()
- Apple's official black style following HIGSignWithStyle.facebook()
- Facebook's official blue brand stylingSignWithStyle.twitter()
- Twitter's official blue with rounded stylingSignWithStyle.github()
- GitHub's official dark developer-focused styleSignWithStyle.linkedin()
- LinkedIn's official professional blue stylingSignWithStyle.microsoft()
- Microsoft's official modern blue stylingSignWithStyle.discord()
- Discord's official purple gaming-focused styleSignWithStyle.slack()
- Slack's official purple workspace stylingSignWithStyle.spotify()
- Spotify's official green with rounded stylingSignWithStyle.instagram()
- Instagram's official gradient-inspired stylingSignWithStyle.tiktok()
- TikTok's official black modern stylingSignWithStyle.twitch()
- Twitch's official purple streaming platform styleSignWithStyle.reddit()
- Reddit's official orange community-focused style
New Authentication Providers
- Social Media Providers: 4 new social authentication options
SignWithTwitter()
- Twitter/X authenticationSignWithInstagram()
- Instagram authenticationSignWithTikTok()
- TikTok authenticationSignWithReddit()
- Reddit authentication
- Professional Providers: 4 new business-focused options
SignWithLinkedIn()
- LinkedIn authenticationSignWithMicrosoft()
- Microsoft/Office 365/Azure AD authenticationSignWithGitHub()
- GitHub authentication (perfect for developer apps)SignWithSlack()
- Slack workspace authentication
- Gaming & Entertainment: 3 new entertainment platform options
SignWithDiscord()
- Discord authenticationSignWithTwitch()
- Twitch streaming platform authenticationSignWithSpotify()
- Spotify music platform authentication
Brand Guidelines Compliance
- Authentic Colors: Each style uses the exact brand colors from official guidelines
- Proper Border Radius: Matches each platform's design language (rounded, sharp, pill-shaped)
- Elevation & Shadows: Appropriate depth effects for each brand's visual style
- Typography: Consistent with each platform's text styling approach
Enhanced Example App
- 18 Comprehensive Examples: Demonstrations of all styling options and brand styles
- Categorized Brand Showcase: Core, Social Media, Professional, Gaming & Entertainment
- Mixed Style Examples: Combining official brand styles with custom styling
- Brand Compliance Guide: Visual examples of proper vs improper brand usage
- Interactive Demos: Real-time feedback for all new providers and styles
Documentation Updates
- Brand Guidelines Section: Comprehensive guide to using official brand styles
- Best Practices: Updated with brand compliance recommendations
- Categorized Provider Lists: Organized providers by use case
- Expanded Styling Guide: Detailed examples for all styling options
- Enhanced API Documentation: Comprehensive docs for all new factories and providers
π¨ Design Excellence #
- Pixel-Perfect Accuracy: Each brand style matches official design specifications
- Consistent API: All brand styles follow the same simple factory pattern
- Flexible Usage: Brand styles work with all StyleType options (icon, text, both)
- Professional Appearance: Authentic styling builds user trust and recognition
π§ Technical Improvements #
- Consistent API: All new providers follow the same pattern as existing ones
- Type Safety: Full type safety maintained across all new additions
- Performance: Efficient implementation with no performance impact
- Backwards Compatibility: All existing code continues to work unchanged
π Package Statistics #
- Total Providers: 16 (up from 5)
- Total Style Options: 23 (includes 14 brand-specific + 9 generic styles)
- Brand Coverage: 14 major platforms with official styling
- Example Demonstrations: 18 comprehensive examples
- Complete Brand Ecosystem: Core, Social, Professional, Gaming & Entertainment covered
1.0.0 - 2025-10-03 #
π Initial Release #
Added
- Core Widget:
SignWithBtn
widget for creating customizable sign-in button grids - Authentication Providers: Pre-built support for popular providers:
- Google (
SignWithGoogle
) - Apple (
SignWithApple
) - Facebook (
SignWithFacebook
) - Email (
SignWithEmail
) - Phone (
SignWithPhone
)
- Google (
- Flexible Styling:
SignWithStyle
class with multiple styling options:- Default style with Flutter's standard ButtonStyle
SignWithStyle.outline()
factory for outlined buttonsSignWithStyle.filled()
factory for filled buttons- Custom styling through ButtonStyle parameter
- Display Modes:
StyleType
enum for controlling button content:StyleType.both
- Show both icon and text (default)StyleType.icon
- Show only provider iconsStyleType.text
- Show only provider names
- Layout Customization: Configurable grid layout with:
- Adjustable number of buttons per row (
countInRow
) - Customizable button height (
height
) - Configurable spacing between buttons (
spaceBetween
)
- Adjustable number of buttons per row (
- Event Handling:
onSign
callback for handling authentication flows - Extensibility: Abstract
SignWithType
base class for creating custom providers - FontAwesome Integration: Beautiful icons using
font_awesome_flutter
package
Features
- π¨ Modern, customizable UI design
- π± Responsive grid layout
- π§ Extensive styling options
- π Easy integration with authentication flows
- π¦ Lightweight with minimal dependencies
- π― Type-safe provider identification
- πͺ Support for custom authentication providers
- β¨ Individual and global styling support
Documentation
- π Comprehensive API documentation with examples
- π Detailed README with usage guides and best practices
- π― Code examples for common use cases
- π οΈ Integration examples with Firebase Auth
- π¨ Styling guides and customization options
- πΈ Visual screenshots showcasing different styling options
Platform Support
- β Android
- β iOS
- β Web
- β macOS
- β Windows
- β Linux
Technical Details #
- Minimum Flutter Version: 1.17.0
- Minimum Dart SDK: 3.9.2
- Dependencies:
flutter
: SDKfont_awesome_flutter
: ^10.10.0
- License: MIT
Example Usage #
SignWithBtn(
signTypes: [
SignWithGoogle(),
SignWithApple(),
SignWithFacebook(),
SignWithEmail(),
],
style: SignWithStyle.outline(color: Colors.blue),
onSign: (signType) {
// Handle authentication
print('Signing in with ${signType.title}');
},
)
For more information, visit our GitHub repository or check the documentation.