duskmoon_widgets 1.0.3
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:
- Widget override —
platformOverrideparameter on each widget - DmPlatformOverride — InheritedWidget for app-level override
- 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