turbo_widgets 1.1.0 copy "turbo_widgets: ^1.1.0" to clipboard
turbo_widgets: ^1.1.0 copied to clipboard

Common reusable UI widgets, extensions, and animation utilities for Flutter.

🎨 Turbo Widgets #

Pub Version License: BSD-3-Clause GitHub Stars

Turbo Widgets is a collection of common reusable UI widgets, extensions, and animation utilities for Flutter applications. It provides convenient widgets and extensions to speed up Flutter development.

Features #

  • Convenient Widgets: Pre-built widgets like TRow, TColumn, TPadding, TMargin, TDivider, and more
  • Animation Utilities: Widgets like TAnimatedSize and TSlideShrink for smooth animations
  • Extensions: Helpful extensions for numbers, strings, durations, and more
  • Badge & Chip Widgets: Ready-to-use badge and chip widgets for UI elements
  • Contextual Buttons: TContextualButtons for overlay buttons with position and variation support
  • Navigation Components: TBottomNavigation, TTopNavigation, TSideNavigation for flexible navigation bars
  • Component Playground: TPlayground for testing widgets with device frame preview
  • View Builder: TViewBuilder for combining TContextualButtons and TViewModelBuilder in a single widget

Installation #

Add turbo_widgets to your pubspec.yaml file:

dependencies:
  flutter:
    sdk: flutter
  turbo_widgets: ^1.1.0

Then run:

flutter pub get

Usage #

Widgets #

import 'package:turbo_widgets/turbo_widgets.dart';

// Convenient padding
TPadding.app() // Standard app padding (16.0)
TPadding.button() // Button padding (16.0 horizontal, 0 vertical)
TPadding.card() // Card padding (12.0)

// Layout widgets
TRow(
  children: [
    // Your widgets
  ],
)

TColumn(
  children: [
    // Your widgets
  ],
)

// Divider
TDivider(
  height: 1.0,
  color: Colors.grey,
)

Extensions #

// Number extensions
5.0.scale(0.5) // Scale a number

// String extensions
'hello'.capitalize() // Capitalize first letter

// Duration extensions
Duration(seconds: 5).format() // Format duration

Contextual Buttons #

// Create a service with button configuration
final service = TContextualButtonsService(
  TContextualButtonsConfig(
    bottom: TContextualButtonsSlotConfig(
      primary: [MyBottomBar()],
    ),
    left: TContextualButtonsSlotConfig(
      primary: [MySideNavigation()],
    ),
  ),
);

// Wrap your content
TContextualButtons(
  service: service,
  child: YourMainContent(),
)
// Bottom navigation
TBottomNavigation(
  buttons: {
    'home': TButtonConfig(icon: Icons.home, label: 'Home', onPressed: () {}),
    'search': TButtonConfig(icon: Icons.search, label: 'Search', onPressed: () {}),
  },
  selectedKey: 'home',
)

// Side navigation
TSideNavigation(
  buttons: buttonMap,
  selectedKey: 'home',
  direction: Axis.vertical,
)

// Top navigation
TTopNavigation(
  buttons: buttonMap,
  selectedKey: 'home',
)

TViewBuilder #

TViewBuilder is a convenience widget that combines TContextualButtons and TViewModelBuilder for views that need both contextual actions and view model management.

// Basic usage
TViewBuilder<MyViewModel>(
  viewModelBuilder: () => MyViewModel(),
  builder: (context, viewModel, isInitialised, child) {
    return MyViewContent(viewModel: viewModel);
  },
)

// With custom contextual buttons service
final service = TContextualButtonsService(
  TContextualButtonsConfig(
    bottom: TContextualButtonsSlotConfig(
      primary: [MyBottomBar()],
    ),
  ),
);

TViewBuilder<MyViewModel>(
  service: service,
  viewModelBuilder: () => MyViewModel(),
  builder: (context, viewModel, isInitialised, child) {
    return MyViewContent(viewModel: viewModel);
  },
)

Example #

Check the /example directory for a complete Flutter application demonstrating Turbo Widgets features.

Contributing #

Contributions are welcome! Please open issues or pull requests on our GitHub repository.

License #

This package is licensed under the BSD 3-Clause License. See the LICENSE file for details.

0
likes
160
points
122
downloads

Publisher

unverified uploader

Weekly Downloads

Common reusable UI widgets, extensions, and animation utilities for Flutter.

Homepage
Repository (GitHub)
View/report issues

Topics

#widget #flutter #ui #animations #layout

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

device_frame_plus, flutter, flutter_animate, flutter_quill, gap, shadcn_ui, turbo_forms, turbo_mvvm

More

Packages that depend on turbo_widgets