seedkit_ui 0.1.6
seedkit_ui: ^0.1.6 copied to clipboard
Пакет готовых UI-решений экосистемы SeedKit
seedkit_ui #
seedkit_ui содержит Flutter-виджеты SeedKit.
Пакет дополнительно экспортирует flutter_animate, чтобы в проекте можно было добавлять кастомные анимации через API этой библиотеки.
Подключение #
Добавьте пакет в pubspec.yaml проекта:
dependencies:
seedkit_ui: ^0.0.4
Импортируйте библиотеку:
import 'package:seedkit_ui/seedkit_ui.dart';
Добавьте все ThemeExtension, объявленные в этой библиотеке, в ThemeData Flutter-проекта:
ThemeData(
extensions: const [
UIBadgeThemeData(),
UICheckBoxThemeData(),
UICheckerThemeData(),
UIIconThemeData(),
UILoadingThemeData(),
UISnackbarThemeData(),
UISwitcherThemeData(),
],
)
Инструкция по пользованию #
- Чтобы изменить темизацию конкретного виджета, меняйте соответствующий
ThemeExtension, импортированный из этой либы. - Темизацию также можно менять напрямую у каждого виджета через поле
theme.
Виджеты #
BadgeWidget: точка уведомления поверх дочернего виджета.BaseErrorWidget: базовый экран ошибки или информационного состояния.ButtonWidget: кнопка с поддержкой иконок и состояния загрузки.CheckboxWidget: чекбокс.CheckerWidget: круглый переключатель выбора.FeedbackWidget: обёртка для кликабельных элементов с визуальным откликом.HtmlTextWidget: отображение HTML-текста.IconWidget: иконка с поддержкой клика и состояния загрузки.LoadingWidget: индикатор загрузки: circular, linear или shimmer.SliderWidget: слайдер на базеPageView.SnackbarWidget: показ всплывающего snackbar-уведомления.SwitcherWidget: переключатель on/off.TextFieldWidget: базовое текстовое поле.CountFieldWidget: поле для ввода числового количества.PhoneFieldWidget: поле для ввода телефона.SearchFieldWidget: поле поиска.TimeSpentFieldWidget: поле для ввода затраченного времени.ImageWidget: изображение из сети с placeholder и fallback-состоянием.ImagePlaceholderWidget: placeholder загрузки изображения.ImageErrorWidget: fallback при ошибке загрузки изображения.SliversWidget: контейнер для сборки sliver-экранов.SliverRefreshWidget: pull-to-refresh для sliver-списков.SliverListWidget: sliver-список.SliverShimmerListWidget: shimmer-заглушка sliver-списка.SliverGridWidget: sliver-сетка.SliverFillWidget: sliver-элемент, заполняющий доступное пространство.DetectedListEndedWidget: отслеживание приближения к концу списка.SliverStack: stack для sliver-виджетов.SliverPositioned: positioned-элемент дляSliverStack.
Utils #
ContextUIExtension: доступ кMediaQueryчерезcontext.mediaQuery.MaskFormatterUtils: готовые форматтеры для телефона, чисел, цены и затраченного времени.PriceExtension: форматированиеdoubleв строку цены.PriceFormatter: форматтер ввода цены.TimeSpentFormatter: форматтер ввода затраченного времени.WidgetContextBuilder: typedef для builder сBuildContext.WidgetItemBuilder<T>: typedef для builder элемента списка.WidgetIndexBuilder: typedef для builder с индексом.