[![Pub Version](https://img.shields.io/pub/v/sst_base.svg)](https://pub.dev/packages/sst_base)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

# SST Base

**SST Base** is a base template for all SSTeam Flutter/Dart packages.  
It provides a foundation of common utilities, UI helpers, and best practices to accelerate
Flutter/Dart development.

Clone this repository, rename the package, and start your new project instantly.

---

## Features

SST Base offers well-organized modules for rapid development:

### [Storage](docs/storages.md)

- `PrefStorage` — helper for shared preferences.
- `Storage` — generic storage helper for local data.

### Base UI Components (`base.dart`)

- `base_bloc.dart` — base BLoC class for state management.
- `base_event.dart` — base event definitions for BLoC.
- `base_screen.dart` — base screen widget for consistent UI structure.
- `base_state.dart` — base state definitions for BLoC.

### [Common UI Components](docs/commons.md)

- `app_bar.dart` — reusable app bar widget.
- `custom_button.dart` — styled button widget.
- `custom_check_box.dart` — custom checkbox widget.
- `custom_radio.dart` — styled radio button widget.
- `image_view.dart` — image display widget.
- `infinite_scroll_widget.dart` — infinite scroll helper widget.
- `line.dart` — divider line widget.
- `menu_item_check_box_widget.dart` — menu item with checkbox.
- `menu_item_widget.dart` — generic menu item widget.
- `no_data_widget.dart` — empty state widget.
- `pressable_container.dart` — container with press effect.
- `pressable_image.dart` — pressable image widget.
- `round_button_widget.dart` — button with rounded style.
- `scroll_to_hide.dart` — scroll listener to hide widgets.
- `search_view.dart` — reusable search input view.
- `timer_view.dart` — timer display widget.

### [Dialogs](docs/dialogs.md)

- `base_dialog.dart` — foundational dialog structure for reuse and customization.
- `custom_dialog.dart` — prebuilt customizable dialog widget.
- `dismissible_dialog.dart` — dialog supporting swipe/tap-to-dismiss.

### [Utility Classes](docs/utilities.md)

- `ad_utils.dart` — Google Mobile Ads helpers.
- `assets_utils.dart` — asset path helpers.
- `merged_asset_loader.dart` — load and merge multiple assets.
- `app_rest_client.dart` — configurable Dio HTTP client.
- `my_http.dart` — simplified HTTP helpers.
- `base_settings.dart` — app-wide configuration management.
- `bloc_utils.dart` — common utilities for BLoC architecture.
- `color_ext.dart` — color-related extensions.
- `color_utils.dart` — hex color parsing utilities.
- `datetime_utils.dart` — date and time helpers.
- `screen_utils.dart` — screen size/layout helpers.
- `scroll_controller_ext.dart` — scroll helpers.
- `device_utils.dart` — device-related utilities.
- `permisssion_utils.dart` — permission management.
- `file_utils.dart` — file I/O helpers.
- `firebase_utils.dart` — Firebase helper functions.
- `image_utils.dart` — image processing utilities.
- `in_app_purchase_utils.dart` — in-app purchase helpers.
- `logger_utils.dart` — logging with optional Firebase Crashlytics integration.
- `navigator_utils.dart` — navigation helpers.
- `number_utils.dart` — random number helpers.
- `string_ext.dart` — string extension helpers.
- `toast_utils.dart` — toast notification helpers.

### Localization Support

Tools to simplify multi-language support.

---