levit_flutter 0.0.9 copy "levit_flutter: ^0.0.9" to clipboard
levit_flutter: ^0.0.9 copied to clipboard

Deterministic ownership and fine-grained reactivity for Flutter applications.

levit_flutter #

Pub Version Platforms License: MIT codecov

Purpose & Scope #

levit_flutter is the recommended single import for Flutter applications using Levit.

This kit composes:

  • levit_flutter_core widget bindings.
  • levit_dart controller utility layer.
  • Flutter-specific mixins/widgets in this package.

This package is responsible for ergonomic adoption, not replacing core behavior. Add levit_monitor separately when you need runtime telemetry; this kit keeps observability opt-in.

Conceptual Overview #

levit_flutter keeps runtime semantics in core packages and adds practical Flutter integrations:

  • Lifecycle-aware controller mixins that react to app lifecycle.
  • Utility widgets for subtree lifecycle monitoring and keep-alive behavior.
  • Unified import surface for common Flutter usage.

Getting Started #

dependencies:
  levit_flutter: ^latest
import 'package:flutter/material.dart';
import 'package:levit_flutter/levit_flutter.dart';

class CounterController extends LevitController {
  final count = 0.lx;
  void increment() => count(count() + 1);
}

class CounterPage extends StatelessWidget {
  const CounterPage({super.key});

  @override
  Widget build(BuildContext context) {
    return LScopedView<CounterController>.put(
      () => CounterController(),
      // autoWatch is true by default — read reactives directly; no outer LWatch.
      builder: (context, controller) => Scaffold(
        body: Center(
          child: Text('Count: ${controller.count()}'),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: controller.increment,
          child: const Icon(Icons.add),
        ),
      ),
    );
  }
}

Overlays #

Use showLevitDialog / showLevitModalBottomSheet when an imperative overlay must resolve page- or app-local dependencies with context.levit.find (they wrap content with LScope.capture).

Design Principles #

  • Widget-tree ownership for scopes and controller lifecycles.
  • Fine-grained rebuild behavior inherited from reactive core bindings.
  • Composition-first kit design with explicit package boundaries.
1
likes
160
points
166
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Deterministic ownership and fine-grained reactivity for Flutter applications.

Repository (GitHub)
View/report issues
Contributing

Topics

#flutter #utilities #widget

License

MIT (license)

Dependencies

flutter, levit_dart, levit_flutter_core

More

Packages that depend on levit_flutter