Skip to main content

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

A premium, clean, and highly customizable UI component design system for Flutter, featuring beautiful colors, smooth typography, and refined feedback elements.

Tc #

pub package License

A sleek, premium, and highly-customizable Flutter UI design system inspired by the modern MUI (Material UI) and Minimals design language.

Tc provides a complete set of visually stunning, flexible, and robust components designed to speed up development while offering custom theme structures (typography, shadow depths, and curated HSL palettes).


🚀 Key Features #

  • Beautiful Foundations: Comprehensive brand colors (Primary, Secondary, Success, Warning, Info, Error, and Grey shades), modern typography scale (using Google Sans), and smooth elevation shadows.
  • Segmented & Contained Controls: Premium iOS/macOS styled contained tabs tray, capsule pill tabs, and classic line indicators with zero horizontal layout overflows.
  • Google-Style Progress Loaders: Indeterminate progress bars that cycle smoothly through a list of custom brand colors.
  • Robust Feedback & Modals: Overlay-based tooltip bubble notes with 4 direction support, rating star bars (half stars & tap gestures), timeline step guides, drag sliders, sheet drawers, dialogs, and snackbars.
  • Responsive & Adaptive: Zero hardcoded overflows, flexible layout constraints, and cross-platform layout compatibility.

🤖 AI & Agent Ready #

Tc is built to be easily understood and integrated by AI coding assistants (such as Copilot, Cursor, Gemini, and GPT). We provide a single-file, structured API specification that you can feed directly to your AI agents:

  • TECTA_SPECS.md: A complete, structured cheatsheet containing all design tokens, signatures, constructor parameters, and code snippets for our 23+ components.

How to use with AI: #

When prompting your coding assistant, simply reference @TECTA_SPECS.md in your IDE context window (or copy its content to the system prompt) and say:

"Create a page using Tc components. Refer to TECTA_SPECS.md for accurate widget signatures."


📦 Installed Components #

Category Components
Foundation TcColors, TcTypography, TcShadows
Buttons TcButton, TcIconButton, TcFab (Outlined, Soft, Contained)
Inputs TcTextField (Text & Selection), TcCheckbox, TcRadio, TcSwitch, TcUpload (Box & Avatar Upload zones)
Data Display TcCard (with compartment zones & hover lift animations), TcAccordion, TcAvatar, TcAvatarGroup, TcBadge, TcChip (Tag style), TcLabel (Status chips), TcTimeline (Solid & dashed step paths)
Feedback & Modal TcAlert, TcSnackbar (Toasts), TcDialog, TcBottomSheet (Scrollable / Draggable layout)
Overlays & Controls TcTooltip (4-direction overlays), TcRating (half/full stars), TcSlider, TcTabs (Line, Pill, Contained)
Loading & Placeholders TcSkeleton (pulsing shimmers), TcEmptyState (clean placeholder layout screens)

🏁 Getting Started #

1. Add dependency #

Add tecta_ui to your pubspec.yaml file:

dependencies:
  flutter:
    sdk: flutter
  tecta_ui: ^0.1.0 # Or latest version from pub.dev

Or run this command in your terminal:

flutter pub add tecta_ui

2. Import package #

Import the library in your Dart code:

import 'package:tecta_ui/tecta_ui.dart';

💡 Usage Examples #

1. Primary Button #

TcButton(
  label: 'Get Started',
  variant: TcButtonVariant.contained,
  onPressed: () {
    print('Button Pressed!');
  },
)

2. Contained Segmented Tabs (iOS/macOS Control Style) #

TcTabs(
  selectedIndex: _activeIndex,
  variant: TcTabsVariant.contained,
  tabs: const [
    TcTab(label: 'Daily'),
    TcTab(label: 'Weekly'),
    TcTab(label: 'Monthly'),
  ],
  onTabChanged: (index) {
    setState(() => _activeIndex = index);
  },
)

3. Google-Style Multi-Color Progress Spinner #

TcCircularProgress(
  size: 40.0,
  strokeWidth: 4.0,
  colors: [
    TcColors.infoMain,
    TcColors.errorMain,
    TcColors.warningMain,
    TcColors.successMain,
  ],
)

4. Interactive Rating Star Bar #

TcRating(
  rating: 3.5,
  allowHalfRating: true,
  onRatingChanged: (newRating) {
    print('New rating: $newRating');
  },
)

5. Premium Empty State Screen #

TcEmptyState(
  title: 'No Mail Found',
  description: 'Your inbox is clear! Check back later for incoming messages.',
  iconData: Icons.folder_off_outlined,
  action: TcButton(
    label: 'Refresh Inbox',
    onPressed: () => refresh(),
  ),
)

🎨 Theme Customization #

Tc UI components support dynamic brand colors. By default, components will look up and inherit colors from Theme.of(context).colorScheme.primary and secondary.

1. Standard ThemeData Customization #

If you use standard Flutter themes, components automatically adjust to the active colors:

MaterialApp(
  theme: ThemeData(
    useMaterial3: true,
    colorScheme: ColorScheme.fromSeed(
      seedColor: Colors.deepPurple,
      primary: Colors.deepPurple,
      secondary: Colors.amber,
    ),
  ),
  // ...
);

2. Custom TcTheme Builder #

Alternatively, use the custom TcTheme builder from the package to preserve MUI/Minimals styled radius, elevation, and fonts while applying custom colors:

MaterialApp(
  theme: TcTheme.buildTheme(
    brightness: Brightness.light,
    primaryColor: Colors.teal,
    secondaryColor: Colors.pink,
  ),
  darkTheme: TcTheme.buildTheme(
    brightness: Brightness.dark,
    primaryColor: Colors.tealAccent,
    secondaryColor: Colors.pinkAccent,
  ),
  // ...
);

🛠️ Running the Showcase Application #

To see all components in action and inspect their design parameters, run the included example app:

cd example
flutter run

📄 License #

This project is licensed under the MIT License - see the LICENSE file for details.

0
likes
150
points
82
downloads

Documentation

API reference

Publisher

verified publisheragis.web.id

Weekly Downloads

A premium, clean, and highly customizable UI component design system for Flutter, featuring beautiful colors, smooth typography, and refined feedback elements.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, flutter_svg, google_fonts

More

Packages that depend on tecta_ui