duskmoon_widgets

Adaptive widget library for the DuskMoon Design System. 18 widgets that automatically render Material or Cupertino variants based on platform.

Installation

flutter pub add duskmoon_widgets

Usage

import 'package:duskmoon_widgets/duskmoon_widgets.dart';

// Buttons
DmButton(
  variant: DmButtonVariant.filled,
  onPressed: () {},
  child: const Text('Submit'),
);

// Inputs
DmTextField(placeholder: 'Enter text');
DmSwitch(value: true, onChanged: (v) {});

// Navigation
DmAppBar(title: const Text('Home'));

Platform Resolution

Three-tier resolution order:

  1. Widget overrideplatformOverride parameter on each widget
  2. DmPlatformOverride — InheritedWidget for app-level override
  3. Theme.of(context).platform — automatic platform detection
// Override globally
DmPlatformOverride(
  style: DmPlatformStyle.cupertino,
  child: MyApp(),
);

// Override per widget
DmButton(
  platformOverride: DmPlatformStyle.material,
  onPressed: () {},
  child: const Text('Always Material'),
);

Available Widgets

Category Widgets
Scaffold DmScaffold, DmActionList
Buttons DmButton, DmIconButton, DmFab
Inputs DmTextField, DmCheckbox, DmSwitch, DmSlider
Layout DmCard, DmDivider
Navigation DmAppBar, DmBottomNav, DmTabBar, DmDrawer
Data Display DmBadge, DmChip, DmAvatar

License

MIT

Libraries

duskmoon_widgets
Adaptive widget library for the DuskMoon Design System.