Chico UI
Zero-dependency Flutter kit for minimal system interfaces. Tokens and custom widgets — not Material or Cupertino skins. Wrap the app once; every control reads theme, breakpoints, and writing direction on its own.
import 'package:chico_ui/chico_ui.dart';
void main() {
runApp(
ChicoApp(
home: ChicoScaffold(
bar: const ChicoBar(title: 'Inbox'),
body: const ChicoPage(
child: ChicoText('Hello', variant: ChicoTextVariant.title),
),
),
),
);
}
Install
dependencies:
chico_ui: ^1.7.0
Or from a path / git source while you iterate:
dependencies:
chico_ui:
path: ../chico_ui
Requires Dart 3.8+ and Flutter 3.32+.
Design contract
- No pub dependencies except the Flutter SDK.
- Widgets are built from primitives (
Text,GestureDetector,CustomPaint). - Semantic colors (label, fill, separator, tint). Tint is the only brand seed.
- 4-point spacing, small radii, hairlines — no drop shadows.
- 44pt minimum hit target. RTL-first (
EdgeInsetsDirectional,TextAlign.start). - Breakpoints: xs < 600, sm 600, md 840, lg 1200, xl 1600.
Brand the kit by passing tint into the theme:
ChicoApp(
theme: ChicoThemeData.light(tint: Color(0xFF007AFF)),
darkTheme: ChicoThemeData.dark(tint: Color(0xFF0A84FF)),
home: home,
)
Widgets
| Category | API |
|---|---|
| Foundation | ChicoApp, ChicoApp.router, ChicoTheme, ChicoMedia, ChicoLocalizations, tokens |
| Typography | ChicoText |
| Layout | ChicoGap, ChicoPad, ChicoRow, ChicoColumn, ChicoPage, ChicoScaffold, ChicoAdaptiveScaffold, ChicoSplitView, ChicoScrollbar, ChicoGrid |
| Actions | ChicoButton, ChicoIconButton, ChicoLink, ChicoGlyph |
| Forms | ChicoTextField, ChicoForm, ChicoTextFormField, ChicoSelect, ChicoAutocomplete, ChicoPinField, ChicoNumberField, ChicoTokenField, ChicoCheckbox, ChicoSwitch, ChicoRadio, ChicoSlider, ChicoRangeSlider, ChicoRating |
| Inputs+ | ChicoSearch, ChicoChip, ChicoStepper |
| Feedback | ChicoSpinner, ChicoProgress, ChicoBanner, ChicoDialog, ChicoBusy, ChicoSkeleton, ChicoLoadMore, ChicoStatusPage |
| Surfaces | ChicoDivider, ChicoCard, ChicoListTile, ChicoAvatar, ChicoAvatarStack, ChicoBadge, ChicoListSection, ChicoSwipe, ChicoTable, ChicoImage, ChicoReorderableList, ChicoStickyList, ChicoIndexedList |
| Navigation | ChicoBar, ChicoTabs, ChicoTabView, ChicoStepIndicator, ChicoBottomNav, ChicoRail, ChicoLargeTitle, ChicoPageControl, ChicoBreadcrumbs, ChicoCarousel, ChicoPageRoute |
| Overlays | ChicoTooltip, ChicoMenu, ChicoPopover, ChicoContextMenu, ChicoShortcuts |
| Sheets | ChicoSheet, ChicoActionSheet, ChicoToast |
| Pickers | ChicoDatePicker, ChicoTimePicker |
| Content+ | ChicoEmptyState, ChicoDisclosure, ChicoRefresh, ChicoStepIndicator |
Single import: package:chico_ui/chico_ui.dart.
Gallery
cd example
flutter run
Light / dark / system, English / Arabic / Hebrew, and a live catalog of every widget.
RTL
ChicoApp sets Directionality from the locale. Text fields follow the
keyboard script (first strong character, including IME marks) so a Latin
app can type Arabic in one field without changing the whole locale.
Publish
Add homepage and repository to pubspec.yaml once the package is on GitHub
(or similar), then:
dart format lib test example/lib
flutter analyze --fatal-infos
flutter test --concurrency=1
dart pub publish --dry-run
dart pub publish
Libraries
- chico_ui
- Chico UI — a zero-dependency Flutter kit for responsive, adaptive, minimal system interfaces.