prism_settings 0.1.0
prism_settings: ^0.1.0 copied to clipboard
Ready-made adaptive settings screens for Flutter — tiles, toggles, sliders, dropdowns, and sections with built-in search. Two-pane on wide windows. Part of the Prism package family.
prism_settings #
Ready-made adaptive settings screens for Flutter — tiles, toggles, sliders, dropdowns, and sections with built-in search. Beautiful by default, one controller to persist everything.
Part of the Prism package family.
Features #
- ✅ Five tile types: action (navigate), switch, checkbox, slider, dropdown
- ✅ Titled sections in Material 3 grouped-card styling
- ✅ One
PrismSettingsController— read/write by key,onChangedhook for persistence, bulksetAllfor backups - ✅ Built-in search — filters tiles by title and subtitle
- ✅ Adaptive — content centers at a comfortable width on desktop, full-width cards on phones (family breakpoints)
- ✅ Pure Flutter, all six platforms
Installation #
dependencies:
prism_settings: ^0.1.0
Quick start #
final controller = PrismSettingsController(
onChanged: (key, value) => prefs.setString(key, value.toString()),
);
PrismSettingsPage(
controller: controller,
searchable: true,
sections: [
PrismSettingsSection(
title: 'Appearance',
tiles: [
PrismSwitchTile(
common: PrismTileCommon(
key: 'darkMode',
title: 'Dark mode',
subtitle: 'Follow system or override',
leading: Icons.dark_mode,
),
),
PrismSliderTile(
common: const PrismTileCommon(key: 'fontSize', title: 'Text size'),
min: 0.5,
max: 2,
divisions: 6,
),
],
),
PrismSettingsSection(
title: 'General',
tiles: [
PrismActionTile(
common: const PrismTileCommon(key: 'about', title: 'About'),
),
PrismDropdownTile<String>(
common: const PrismTileCommon(key: 'language', title: 'Language'),
items: const ['English', 'العربية'],
itemLabel: (item) => item,
),
],
),
],
)
Persistence pattern #
PrismSettingsController(
initialValues: storedValues, // restored on startup
onChanged: (key, value) => store.write(key, value), // save on change
)
The Prism package family #
| Package | What it does |
|---|---|
| prism_markdown | Markdown widget with full CommonMark + GFM support |
| prism_code_view | Syntax-highlighted code viewer (Dart/JSON/YAML built in) |
| prism_adaptive_scaffold | Responsive scaffolds: bottom bar → rail → extended rail |
| prism_adaptive_dialog | Dialogs that become bottom sheets on phones |
| prism_state_views | Empty, loading, error, and success states from one widget |
| prism_master_detail | Adaptive master-detail layouts |
| prism_banner | Dismissible announcement banners |
| prism_search | Adaptive search with suggestions |
| prism_toast | Adaptive toast notifications |
| prism_pagination | Infinite-scroll lists with all states handled |
| prism_form | Declarative forms with sealed submit states |
| prism_changelog | In-app "What's New" screens and changelog views |
| prism_settings | Ready-made settings screens with search |
All pure Flutter, all six platforms, MIT licensed, built to work together.
License #
MIT — see LICENSE.