neo_mobile_kit 0.1.2
neo_mobile_kit: ^0.1.2 copied to clipboard
A mobile-first neobrutalist Flutter UI kit with theme tokens, widgets, navigation, backgrounds, and motion helpers.
Neo Mobile Kit #
A mobile-first neobrutalist Flutter UI kit built for fast app prototyping.
It includes:
- Theme tokens and color presets.
- Core neobrutalist widgets.
- Mobile app bar and bottom navigation.
- Orb/moon animated backgrounds.
- Page shell and layout helpers.
- Submit and theme reveal transitions.
Install #
From pub.dev:
dependencies:
neo_mobile_kit: ^0.1.2
For local competition practice:
dependencies:
neo_mobile_kit:
path: ../packages/neo_mobile_kit
Basic Usage #
import 'package:flutter/material.dart';
import 'package:neo_mobile_kit/neo_mobile_kit.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: NeoTheme.buildTheme(Brightness.light),
darkTheme: NeoTheme.buildTheme(Brightness.dark),
home: const DemoPage(),
);
}
}
class DemoPage extends StatelessWidget {
const DemoPage({super.key});
@override
Widget build(BuildContext context) {
final palette = NeoPalette.of(context);
return NeoPageShell(
background: NeoOrbBackground(specs: buildAuthOrbs(palette)),
child: NeoPanel(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const NeoPill(label: 'NEO KIT'),
const SizedBox(height: 16),
NeoButton(
label: 'Comecar',
icon: Icons.arrow_forward_rounded,
onPressed: () {},
),
],
),
),
);
}
}
Offline Preparation #
Expressive Onboarding #
NeoSplashPage(
logoText: 'WorldSkills',
nextPageBuilder: (onboardingContext) => NeoOnboardingPage(
appName: 'Nome do App',
steps: const [
NeoOnboardingStep(
title: 'Organize dados',
description: 'Gerencie as informacoes principais do app.',
icon: Icons.dashboard_rounded,
),
NeoOnboardingStep(
title: 'Acompanhe indicadores',
description: 'Veja resumo, status e progresso rapidamente.',
icon: Icons.bar_chart_rounded,
),
NeoOnboardingStep(
title: 'Personalize',
description: 'Troque tema, paleta e aparencia quando quiser.',
icon: Icons.tune_rounded,
),
],
onFinish: () {
Navigator.of(onboardingContext).pushReplacement(
MaterialPageRoute(builder: (_) => const WelcomePage()),
);
},
),
)
Before going offline, run:
flutter pub get
flutter pub get --offline
flutter test
If the offline command works, the package and its dependencies are already in the local Pub cache.