fossui 0.1.0 copy "fossui: ^0.1.0" to clipboard
fossui: ^0.1.0 copied to clipboard

An open-source Flutter UI library of themeable, accessible components (buttons, inputs, dialogs, overlays), inspired by coss.com/ui, Cal.com's design system.

fossui

Minimal, framework-agnostic Flutter components.
Themed from one source. Inspired by coss.com/ui, Cal.com's design system.

Pub Version Pub Points Coverage

fossui components

fossui is a component set for developers tired of every Flutter app looking like Material. It drops into any app, whether you use MaterialApp, CupertinoApp, or a bare WidgetsApp, and reads its own theme first rather than replacing yours. The look is drawn from coss.com/ui, Cal.com's design system: clean and neutral, with superellipse corners. One import, one theme, light and dark out of the box.

Important

Unofficial and independent. Not affiliated with or endorsed by Cal.com, Inc. or coss.com. See NOTICE for attribution.

Features #

  • A look that isn't Material. A neutral, understated aesthetic with superellipse corners, drawn from the coss/Cal.com design language.
  • Framework-agnostic. Built on package:flutter/widgets.dart, with no platform channels and no FossApp wrapper. The widgets work under any app shell.
  • Reads your theme, not the other way around. Components resolve context.fossTheme before falling back to Material, so they keep their look inside an existing app.
  • Themed from one source. A single FossThemeData holds every semantic token: color, type, radius, spacing, shadow, motion. Reskin the whole app, light and dark, in one call.
  • Light on dependencies. One runtime dependency and no bundled icon package. A worst-case app that imports nearly every component adds about 314 KB, most of it the Geist font (~36 KB over the wire), and the Dart code tree-shakes to what you use. Pass your own icons through plain Widget slots.
  • Preview-rich docs. Every component's API doc renders a live light and dark preview, not just text, and the same preview shows on hover in your IDE. Each one states plainly what it does and does not do.
  • Accessible by default. Semantics, focus, and touch targets are built into each component.

Install #

dependencies:
  fossui: ^0.1.0

Or from the command line:

flutter pub add fossui

Quick start #

Register the theme once, then use the widgets anywhere.

import 'package:flutter/material.dart';
import 'package:fossui/fossui.dart';

void main() => runApp(
      MaterialApp(
        theme: FossThemeData.light.toThemeData(),
        darkTheme: FossThemeData.dark.toThemeData(),
        home: Scaffold(
          body: Center(
            child: FossButton(
              onPressed: () {},
              child: const Text('Get started'),
            ),
          ),
        ),
      ),
    );

No wrapper lock-in. FossTheme drops into any app, and context.fossTheme resolves identically under MaterialApp, CupertinoApp, or a bare WidgetsApp.

See example/ for a runnable app.

Theming #

The defaults give fossui its look, but nothing is locked. Read tokens through one accessor:

final theme = context.fossTheme;
final color = theme.colors.primary;
final radius = theme.radii.md;

To reskin the app, layer a FossThemeSpec over a base theme. Every field is optional, and anything you leave unset keeps the default.

MaterialApp(
  theme: FossThemeData.light.retheme(
    const FossThemeSpec(primary: Color(0xFF16A34A), radius: 22),
  ).toThemeData(),
  darkTheme: FossThemeData.dark.retheme(
    const FossThemeSpec(primary: Color(0xFF51F0A8), radius: 22),
  ).toThemeData(),
);

Components #

The library covers input, feedback, overlays, and layout:

Group Components
Actions and input Button, TextField, Select, Combobox, Checkbox, Radio, Switch, Slider
Feedback Alert, Badge, Progress, Spinner, Toast, Tooltip
Overlays Dialog, Drawer
Layout and media Card, Tabs, Separator, Avatar

See the components roadmap for what is shipped and what is planned, and the component checklist for the bar each one clears.

Icons #

Icon slots accept a plain Widget, so any icon set works: Lucide, Material Icons, Cupertino, SVGs, or your own. The package pulls in no icon dependency of its own. Examples and docs use Lucide as the documented companion.

Platforms #

With no platform channels, fossui runs anywhere Flutter does: Android, iOS, web, macOS, Windows, and Linux are all supported.

Ecosystem #

Development #

This package pins its Flutter SDK with fvm:

fvm install          # uses .fvmrc (Flutter 3.41.9)
fvm flutter pub get
fvm flutter test

Coverage report: fossui.github.io/fossui. Contributions are welcome. See CONTRIBUTING.md and the Code of Conduct.

Star History #

Star History

27
likes
160
points
536
downloads
screenshot

Documentation

Documentation
API reference

Publisher

verified publisherfossui.org

Weekly Downloads

An open-source Flutter UI library of themeable, accessible components (buttons, inputs, dialogs, overlays), inspired by coss.com/ui, Cal.com's design system.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#ui #coss #design-system #components #theming

License

MIT (license)

Dependencies

flutter, theme_tailor_annotation

More

Packages that depend on fossui