duskmoon_widgets 1.0.3 copy "duskmoon_widgets: ^1.0.3" to clipboard
duskmoon_widgets: ^1.0.3 copied to clipboard

Adaptive widget library for DuskMoon Design System

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