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:
SignWithBtnwidget 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:
SignWithStyleclass 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:
StyleTypeenum 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:
onSigncallback for handling authentication flows - Extensibility: Abstract
SignWithTypebase class for creating custom providers - FontAwesome Integration: Beautiful icons using
font_awesome_flutterpackage
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.