Flower Fire 🌸πŸ”₯

A comprehensive Flutter package providing customizable UI components, utilities, and services for building modern applications.

Features

  • UI Components: A rich collection of customizable widgets for building beautiful interfaces
  • Data Management: HTTP and WebSocket services for efficient data handling
  • Utilities: Time and unit conversion tools
  • Services: Integration with maps, weather, and other external services

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  flower_fire: ^1.0.2

Usage

Import the package:

import 'package:flower_fire/flower.dart';

UI Components

// Example: Using the Animation widget
FlowerAnimation(
  child: YourWidget(),
  animationType: AnimationType.fade,
);

// Example: Using the Form Validation
FlowerForm(
  fields: [
    FlowerTextField(
      label: 'Email',
      validator: (value) => value?.isEmpty ?? true ? 'Required' : null,
    ),
  ],
);

Services

// Example: Using HTTP Service
final httpService = FlowerHttpService();
final response = await httpService.get('https://api.example.com/data');

// Example: Using WebSocket Service
final wsService = FlowerWebSocketService();
wsService.connect('wss://example.com/ws');

Utilities

// Example: Time Conversion
final convertedTime = FlowerTimeConverter.convert(
  time: DateTime.now(),
  fromZone: 'UTC',
  toZone: 'America/New_York',
);

// Example: Unit Conversion
final convertedValue = FlowerUnitConverter.convert(
  value: 100,
  fromUnit: 'km',
  toUnit: 'miles',
);

Platform Support

This package supports:

  • Android
  • iOS
  • Web
  • Windows
  • macOS
  • Linux

Additional Setup

Google Maps

For Google Maps functionality, add your API key to:

  • Android: android/app/src/main/AndroidManifest.xml
  • iOS: ios/Runner/AppDelegate.swift

Geolocation

For geolocation features, add the following permissions:

  • Android: android/app/src/main/AndroidManifest.xml
  • iOS: ios/Runner/Info.plist

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions, please:

  1. Check the documentation
  2. Search existing issues
  3. Create a new issue if needed

Changelog

See the CHANGELOG.md file for a list of changes between versions.