duskmoon_widgets 1.6.0
duskmoon_widgets: ^1.6.0 copied to clipboard
Adaptive widget library for DuskMoon Design System
duskmoon_widgets #
Adaptive widget library for the DuskMoon Design System. Includes platform-aware widgets plus chat components for LLM-style conversations.
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'));
// Chat
DmChatView(
messages: const [],
onSend: (text, attachments) {},
);
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 |
| Chat | DmChatView, DmChatInput, DmChatBubble, DmChatTheme |
License #
MIT