tsai_ui 0.2.0 copy "tsai_ui: ^0.2.0" to clipboard
tsai_ui: ^0.2.0 copied to clipboard

Enterprise Flutter UI components backed by the Tsai design system.

tsai-ui-flutter #

Enterprise Flutter UI library for Android, iOS, and web. The source of truth is the Penpot Design System.

Public documentation · Interactive example

The library is being prepared for its stable 1.0.0 release.

Installation #

Add the package from pub.dev:

dependencies:
  tsai_ui: ^0.2.0

Or run:

flutter pub add tsai_ui

Complete installation and theming instructions are in the public documentation.

Usage #

import 'package:tsai_ui/tsai_icons.dart';
import 'package:tsai_ui/tsai_ui.dart';

MaterialApp(
  theme: TsaiTheme.light(),
  darkTheme: TsaiTheme.dark(),
  home: TsaiButton(
    label: 'Create',
    leadingIcon: const TsaiIcon(LucideIcons.plus, size: 16),
    onPressed: () {},
  ),
);

const TsaiHeading(
  'Portfolio',
  size: TsaiHeadingSize.extraLarge,
);

const TsaiBody(
  'Review current positions and recent activity.',
  size: TsaiBodySize.large,
  weight: TsaiTextWeight.regular,
);

TsaiCheckbox(
  value: accepted,
  label: 'Accept terms',
  onChanged: (value) => setState(() => accepted = value!),
);

TsaiLink(
  label: 'View details',
  trailingIcon: const TsaiIcon(LucideIcons.chevron_right, size: 16),
  onPressed: () {},
);

TsaiTabs(
  sections: const [
    TsaiTabSection(tab: Text('Overview'), content: OverviewSection()),
    TsaiTabSection(tab: Text('Activity'), content: ActivitySection()),
  ],
);

TsaiInput(
  placeholder: 'Promo code',
  showClearButton: false,
  trailingAction: TsaiButton(
    label: 'Apply',
    size: TsaiButtonSize.medium,
    variant: TsaiButtonVariant.secondary,
    onPressed: () {},
  ),
);

TsaiOtpInput(
  length: 6,
  onChanged: (value) {},
  onCompleted: (value) {},
);

Component colors, typography, spacing, radii, borders, shadows, and motion consume semantic tokens. Fixed component geometry remains private until Penpot defines corresponding sizing tokens. Reference palette values and Penpot identifiers are not part of the public API.

Structure #

lib/
  tsai_ui.dart
  tsai_icons.dart
  src/
    foundation/
      primitives/
      semantic/
      theme/
    components/
      button/
      input/
      link/
      select/
      selection/
      tabs/
      typography/
    icons/
example/
  lib/
  web/
test/
  foundation/
  components/
  icons/
docs/                    # Public documentation site
doc/                     # Architecture and engineering records

Project documentation:

  • Architecture
  • Public API inventory
  • Development and release readiness
  • Penpot synchronization
  • Publishing and release automation

Local development #

flutter pub get
flutter analyze
flutter test
(cd example && flutter test)
cd example && flutter run -d chrome

License #

Tsai UI is available under the MIT License.

0
likes
0
points
1.27k
downloads

Documentation

Documentation

Publisher

verified publishertsai.tech

Weekly Downloads

Enterprise Flutter UI components backed by the Tsai design system.

Homepage
Repository (GitHub)
View/report issues

Topics

#components #design-system #flutter #ui #widget

License

unknown (license)

Dependencies

flutter, flutter_lucide

More

Packages that depend on tsai_ui