ntb_vistech_widgets 1.0.1 copy "ntb_vistech_widgets: ^1.0.1" to clipboard
ntb_vistech_widgets: ^1.0.1 copied to clipboard

NTB reusable Flutter widgets library

NTB Vistech Widgets #

A Flutter widget library for NTB applications, with NTB-themed inputs, buttons, navigation, feedback components, and design tokens built on top of shadcn_ui.

Pub Version License: MIT

Features #

  • NTB-themed UI building blocks for forms, navigation, feedback, and screens
  • Shared light and dark theme configuration via NTBTheme
  • Re-exported shadcn_ui, remixicon, and lottie for easier integration
  • Components designed for consistent styling across NTB apps

Included components #

Area Components
Inputs NTBButton, NTBInput, NTBCheckbox, NTBSwitch, NTBRadioButton, NTBDatePicker, NTBMultiDropdown
Feedback NTBBadge, NTBAvatar, NTBAccordion, NTBToast, NTBLabel, NTBSpinner
Navigation NTBAppBar, NTBBottomSheet, NTBBottomMenu, NTBBottomMenuItem
Layout and screens NTBListTileButtonGroup, NTBDivider, NTBSettingsPageWidget, NTBSplashPage, NTBLoginLandingPage, NTBLoginEmailPage

Installation #

Add the package to your app:

dependencies:
  ntb_vistech_widgets: ^1.0.0

Then run:

flutter pub get

Basic setup #

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

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return ShadApp(
      theme: NTBTheme.getTheme(
        NTBTheme.lightColorScheme,
        Brightness.light,
      ),
      home: const Scaffold(),
    );
  }
}

Usage #

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

class ExamplePage extends StatelessWidget {
  const ExamplePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Padding(
        padding: const EdgeInsets.all(16),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            NTBInput(
              placeholder: const Text('Email'),
            ),
            const SizedBox(height: 12),
            NTBBadge(
              label: const Text('Verified'),
              variant: NTBBadgeVariant.verified,
            ),
            const SizedBox(height: 12),
            NTBButton(
              label: 'Continue',
              icon: const Icon(Icons.arrow_forward),
              onPressed: () {},
            ),
          ],
        ),
      ),
    );
  }
}

Theming #

Use the provided NTB theme helpers to keep colors, typography, and spacing aligned with the design system:

final lightTheme = NTBTheme.getTheme(
  NTBTheme.lightColorScheme,
  Brightness.light,
);

final darkTheme = NTBTheme.getTheme(
  NTBTheme.darkColorScheme,
  Brightness.dark,
);

Developer documentation #

Repository setup, Widgetbook usage, publishing steps, and contribution workflow live in DEVELOPMENT.md.

Changelog #

See CHANGELOG.md for release history.

License #

MIT License. See LICENSE.


Made with ❤️ by NTB

2
likes
120
points
724
downloads

Documentation

API reference

Publisher

verified publishermediebank.dev

Weekly Downloads

NTB reusable Flutter widgets library

Repository
View/report issues

License

BSD-3-Clause (license)

Dependencies

collection, flutter, flutter_svg, intl, lottie, remixicon, shadcn_ui

More

Packages that depend on ntb_vistech_widgets