block_dialog 3.0.1
block_dialog: ^3.0.1 copied to clipboard
Block-based, animated dialogs for Flutter with composable layout, typed results, and fine-grained dismissal control.
3.0.1 #
- Added pub.dev topics to improve package discoverability.
3.0.0 #
💥 Breaking Changes #
- Renamed
InputFieldtoTextFieldto better match Flutter's naming conventions.
✨ New Features #
- Added a function to
BlockDialogControllerthat allows other blocks to trigger aBlockButton'sonTapcallback. - Added an optional
errorBuilderparameter toshowDialog(), allowing complete customization of the dialog error UI.
Migration Guide #
Replace all usages of:
InputField(...)
with:
TextField(...)
No other API changes are required.
2.0.2 #
BlockButtoncan now accept loadingWidget in case the user want to provide his own loading widget- Merged
Block's attributesresultIDandblockTaginto single value which isblockTag
2.0.0 #
⚠️ Breaking Changes #
- Added configurable dialog width through
DialogConfig. - Individual dialog rows can now override the dialog width.
- Added a global
TextStyletoDialogConfigthat is used by all standard text blocks by default. - Removed
BlockShaker. - Dialog shaking is now handled by
BlockDialogController. BlockCustomnow owns its own controller.BlockButtonremoved onValidate and added onPressedWithError
Added #
- Added
isPositivetoBlockButtonfor highlighting primary actions. - Added
isDialogTitletoBlockTextfor highlighting dialog titles. - Added interactive APIs to
BlockDialogControllerallowing blocks to communicate with and control other blocks. - Added
BlockCustomController, enabling custom blocks to:- rebuild themselves,
- produce block results,
- interact with other dialog blocks.
Changed #
- Dialog layout is now significantly more customizable.
- Styling can now be controlled globally while still allowing individual blocks to override styles.
- Internal controller architecture has been redesigned for greater flexibility and interaction between blocks.
1.2.0 #
Added #
- Added
getBlockByTagtoBlockDialogControllerto allow accessing blocks from anywhere using the controller. BlockButton.onValidateandBlockButton.onPressednow return the dialog controller instance for easier access to other blocks during interactions.
Fixed #
- Fixed
RenderFlexoverflow issues when the software keyboard pushes the dialog layout. - Fixed
DialogConfigchildren padding affectingDialogButtonbackground coloring on press states.
1.1.1 #
1.1.0 #
Added #
- Support for
initialValueinBlockInputField - New configuration options in
DialogConfig:maxWidthmaxHeightchildrenPaddingtextDirection
- Ability for individual blocks to override default padding
- Ability to trigger shake animation on specific blocks from
onValidatecallback (useful for validation feedback)
Improved #
- Enhanced layout flexibility and responsiveness through new sizing and padding controls
1.0.1 #
- Fixed BlockCustom decoration logic when
matchDialogThemeis enabled/disabled.
1.0.0 #
- Initial release of block-based dialog system.
- Composable rows and blocks with automatic position resolving.
- Built-in blocks: text, input, checkbox, radio group, button, spacer, custom.
- Typed results with
BlocksResultand per-blockresultIdkeys. - Animated dimmed barrier synchronized with dialog animation.
- Multiple block animations (slide, scale, elastic, depth, cinematic, expand-from-corner).
- Customizable styling via
DialogConfig.