caravaggio_ui 1.0.6
caravaggio_ui: ^1.0.6 copied to clipboard
A comprehensive UI package designed to streamline your Flutter app development process.
Changelog #
All notable changes to this project will be documented in this file.
1.0.6 #
Added #
- Official website at caravaggioui.com.
- Live browser demo at caravaggioui.com/demo/ — interactive example app built for web with
--dart-define=preview=true. - GitHub Actions workflow to deploy the static site and rebuild the web demo on push to
main.
Changed #
- pubspec.yaml:
homepagepoints to caravaggioui.com; addedrepositoryandissue_trackerlinks. - README: added website and live demo links, plus a dedicated Live demo section.
1.0.4 #
Added #
- CScaffold: design-system scaffold with gradient background, scroll-linked app bar overlay, scroll-aware title, and configurable default back pill.
scrollOverlayColor(Color?) — top scroll overlay gradient tint; null usesCColors.secondaryColorLight.backButtonScrolledBackgroundColor(Color?) — back pill background when scrolled; null usesCColors.secondaryColor.backButtonScrolledBackgroundAlpha(double, default0.7) — opacity of the scrolled back pill background.backButtonTopBackgroundAlpha(double, default0.5) — white back pill opacity at scroll offset 0.- Also:
hideTitleOnScroll,titleAlignment,bodyBuilder,scrollController,backgroundGradient,backgroundLayers, and related back-pill options.
- CTabs: rounded pill tab bar with optional swipe navigation (
fromLabelsfactory,enableSwipe,contentHeight). - CPopup / showCPopup: centered modal dialog with gradient icon header, optional body, and action row.
- CModalBottomSheet / showCModalBottomSheet: bottom sheet with the same header pattern as [CPopup].
- CToast: overlay toasts with semantic variants (
error,success,warning,info) and top/bottom positioning via [CToastScope]. - CWrapper: loading overlay wrapper with optional scrim, message, and custom loader.
- CIconBadge and CPopupHeader: shared icon header used by popups, bottom sheets, and tiles.
- CCarousel: rounded carousel card with two layouts (
stacked,overlay) and simplified factories (stackedSimple,overlaySimple).- Header: one of image ([Widget] or [ImageProvider]), [LinearGradient], or [Color]; fallback
CGradient.primaryToSecondary. - Content slots:
title, optionalsubtitle,description,bottom, and top-lefttags. backgroundColor: content background in stacked mode; scrim base in overlay mode.onTap: optional tap handler;aspectRatio(default16 / 9); requiredwidth.
- Header: one of image ([Widget] or [ImageProvider]), [LinearGradient], or [Color]; fallback
- CTagChip: shared text badge for [CCarousel] and [CTile] tags (
normalandoverlayvariants). - CTile: rounded list/modal row with leading, center slots (
header,content,footer), and optional trailing chevron.- Factories:
simple,withDateTime(header date/time), andiconshortcut. tagspopulate the header;onTapenables tap + default chevron; intrinsic height.
- Factories:
- CColorsBuilder: fluent builder for runtime primary/secondary color updates.
- CaravaggioUI.updateColors() and colorsListenable for live theme color changes.
- CButton:
CButtonIconAlignment,CButtonHintSize, optional press animation, and customizable gradient text color.
Changed #
- CDatePicker moved to the
caravaggio_calendar_pickerpackage and is re-exported fromcaravaggio_ui.
1.0.3 #
Added #
- CLoader: new animated loaders with three styles:
CLoader.bouncing()— bouncing dots animationCLoader.orbit()— dots orbiting in a circleCLoader.pulsing()— pulsing dots animation
- Customization:
colorandnumberOfDots(default 3) for all loaders. For bouncing and pulsing types,numberOfDotsis limited to at most 5.
Fixed #
- Animation intervals for bouncing and pulsing loaders now scale correctly with
numberOfDotsand stay within valid range, avoiding assertion errors with many dots.
1.0.2 #
- Added support to explicitly set light and dark variants for primary and secondary colors in
CaravaggioUI.initialize. - Improved
MaterialColorgeneration to respect custom light/dark overrides when provided. - Added
DatePickerandTimePickercomponents to the library.
1.0.1 #
- Minor fixes.
1.0.0 - 2025-09-02 #
First stable release of the Caravaggio UI package.
Includes significant updates compared to 0.0.13:
Added #
- Introduced
CColorsandCUIclasses for simpler and cleaner access to colors and theme. - Added the ability to initialize the theme with custom primary and secondary colors via
CaravaggioUI.initialize. - Optional support for the
fontFamilyproperty in the theme. - Added handling of “onPrimary” and “onSecondary” colors with Light/Dark variants.
- Improved inline documentation with DartDoc comments.
Changed #
- Getters in
CaravaggioUI.instancefor colors have been deprecated in favor ofCColorsandCUI. - Improved handling of
MaterialColorfor primary and secondary colors. - Theme updated with Material 3 support (
useMaterial3: true). - Improved consistency between main colors and Light/Dark variants.
scaffoldBackgroundColorhandling can now be customized.
Deprecated #
- All direct color getters in
CaravaggioUI.instance(primaryColor,secondaryColor,onPrimaryColor, etc.) are now marked as@Deprecatedand replaced byCColors.
Removed #
- No significant removals: all previous APIs remain compatible via deprecated getters.
Fixed #
- Minor bugs in generating “onPrimary” and “onSecondary” colors for Light/Dark variants.
- Fixed references to
MaterialColor[200]andMaterialColor[800]to avoid null exceptions.
0.0.13 - 2025-08-01 #
- Previous beta version with API for
CaravaggioUI.instanceand basic primary/secondary color handling. - Initial theme and widget helper functionality.
- Minimal documentation.
0.0.12 #
CTextbugfix
0.0.11 #
- Added
flexparameter toCTableCell. - In
CTableHeader, thevaluesproperty is now a list ofCTableCellinstead of a list ofString.
0.0.10 #
- In the
CTableRowclass, thevaluesproperty is now a list ofCTableCellinstead of a list ofString. EachCTableCellcan have either achild(Widget) ortext(String).
0.0.9 #
- Refactored
CircularIndicatorto use the newCircularValueclass for value representation. - Replaced previous parameters in
CircularIndicator.single(int currentValue, int maxValue)withCircularIndicator.single(CircularValue value). - Applied the same change to
CircularIndicator.double, now acceptingCircularValueinstances. - Introduced
CircularIndicator.percent, which displays a single indicator with the percentage value shown at the center and between the labels.
0.0.8 #
Initial version