laravilt/flutter

Flutter serialization and widget generation for Laravilt

Installs: 4

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/laravilt/flutter

v0.0.1 2025-11-12 16:20 UTC

This package is auto-updated.

Last update: 2025-12-02 13:11:16 UTC


README

Flutter widget generation and serialization for Laravilt Resources.

Installation

composer require laravilt/flutter

Overview

The Flutter package enables automatic Flutter widget generation from Laravilt Resources, providing seamless integration between your Laravel backend and Flutter mobile applications.

Features

  • Automatic Flutter widget generation from Resources
  • Dart/Flutter serialization with type safety
  • Field-level control over mobile UI components
  • Support for complex widget structures
  • Form validation mapping
  • State management integration
  • Flutter widget code generation

Usage

Basic Flutter Resource

use Laravilt\Flutter\Flutter;
use Laravilt\Flutter\Components\FlutterField;

class UserFlutter extends Flutter
{
    public function fields(): array
    {
        return [
            FlutterField::make('id'),
            FlutterField::make('name')
                ->widget('TextField')
                ->validator('required|min:3'),
            FlutterField::make('email')
                ->widget('EmailField')
                ->validator('required|email'),
            FlutterField::make('avatar')
                ->widget('CircleAvatar')
                ->computed(fn ($record) => $record->getAvatar()),
        ];
    }
}

Field Configuration

FlutterField::make('name')
    ->widget('TextField')
    ->hint('Enter your full name')
    ->validator('required|min:3');

FlutterField::make('birthdate')
    ->widget('DatePicker')
    ->format('yyyy-MM-dd');

FlutterField::make('posts')
    ->widget('ListView')
    ->relationship('posts')
    ->nested(PostFlutter::class);

Serialization

// Single record
$user = User::find(1);
$flutterData = UserFlutter::make($user)->toArray();

// Collection
$users = User::all();
$flutterData = UserFlutter::collection($users)->toArray();

Widget Generation

// Generate Dart model
$dartModel = UserFlutter::make()->generateDartModel();

// Generate Flutter widgets
$flutterWidgets = UserFlutter::make()->generateWidgets();

Testing

composer test              # Run tests
composer test:coverage     # With coverage
composer test:types        # PHPStan analysis
composer test:style        # Code style check
composer format            # Auto-fix code style

Changelog

Please see CHANGELOG for more information.

Contributing

Please see CONTRIBUTING for details.

Security

Please review SECURITY for security issues.

License

The MIT License (MIT). Please see License File for more information.