ripplearc_coreui 0.7.0
ripplearc_coreui: ^0.7.0 copied to clipboard
A Flutter design system package with design tokens and basic components.
Changelog #
0.7.0 CoreCheckRowItem & CoreDatePicker #
✨ Features #
- UI Components
- CoreCheckRowItem: New selectable list row — leading widget, title (+ optional subtitle), and a trailing checkbox.
- Whole row is tappable; tapping toggles
selectedviaonChanged - Defaults the leading widget to a 24×24 circle showing the first initial of
title(derived from the first whitespace-delimited token, uppercased, e.g."John Doe"→"J"; blanktitlerenders an empty circle, no crash);avatarBackgroundColor/avatarTextColor/avatarTextStyletheme it (ignored when a customleadingis supplied);avatarTextColoris applied last and remains the single source of truth for the glyph colour - Trailing checkbox swaps between
CoreIcons.checkandCoreIcons.checkBlankbased onselected - Optional
subtitlefor a second line (e.g. an email address) - Localizable
semanticLabelparam (defaults totitle); exposed as aSemantics(button: true, checked: selected)node
- Whole row is tappable; tapping toggles
- CoreDatePicker: New modal calendar widget for picking a single date (CA-220).
- Header with a localizable label and a large spelled-out selected date (
"Mon, Aug 17"-style by default, fully overridable viadateLabelBuilder) - Month selector row with previous/next navigation; arrows disable themselves once an adjacent month would be entirely out of the optional
firstDate/lastDaterange - Day grid with selected (filled), "today" (outlined), and disabled (out-of-range) states
CoreDatePicker.showstatic helper presents the picker in a themed dialog and resolves with the confirmedDateTime, ornullon cancel/dismissmonthLabelBuilderandweekdayLabelsallow full localization of all date text without subclassing- Each day cell exposes a
Semantics(button: true, selected: ...)node with a full date label viaMaterialLocalizations.formatFullDate
- Header with a localizable label and a large spelled-out selected date (
- CoreCheckRowItem: New selectable list row — leading widget, title (+ optional subtitle), and a trailing checkbox.
0.5.0 Search components #
✨ Features #
- UI Components
- CoreSearchBox: New borderless search input field.
- Built-in leading search icon and auto-appearing clear button (shown only when the field has text)
- Flat appearance with no visible border — designed for global or in-page search bars
- Accepts an optional
TextEditingControllerandFocusNode; manages its own when none are supplied onChanged,onSearch(keyboard submit), andonClearcallbacksenabledflag renders the field non-interactive with abackgroundGrayMidfillclearSemanticLabellocalizable constructor param (defaults to'Clear search')hintTextlocalizable constructor param for placeholder text
- CoreSearchRowItem: New single-row item for search screens.
- Two named constructors:
CoreSearchRowItem.recentSearch(history icon) andCoreSearchRowItem.suggestion(search icon with bold-prefix query highlighting) - Trailing ↗ icon with independent
onTrailingTapcallback (e.g. fill the search field without triggering a search) showTrailingIconflag to hide the trailing iconsemanticLabelandtrailingSemanticLabellocalizable params for full screen-reader support- Custom variant via the default constructor: caller supplies any
leadingIconand a pre-builtlabelwidget
- Two named constructors:
- CoreSearchBox: New borderless search input field.
0.4.1 CoreIconSize token #
✨ Features #
- Design Tokens
- CoreIconSize: New icon size token with four canonical sizes —
size16(16dp),size20(20dp),size24(24dp),size32(32dp).- Value-based naming reflects how icon sizes are referenced in design tooling and specs
- Exported from the public barrel alongside other theme tokens
- Golden test verifying each size using
CoreIconWidget
- CoreIconSize: New icon size token with four canonical sizes —
0.4.0 CoreFilterChip component #
✨ Features #
- UI Components
- CoreFilterChip: New dropdown-style filter chip for filter rows.
- Filled pill design using
backgroundGrayMid(#F2F4F7) background token - Trailing dropdown arrow icon in
iconDark(#015B7C) color label(required) andonTap(optional) public API — chip is non-interactive whenonTapis null- Full accessibility support: outer
Semanticsnode exposes label and button role (only when enabled);Textand arrow icon wrapped inExcludeSemanticsto prevent double-announcement - Widget tests, accessibility tests, and golden tests (enabled, long label, disabled states)
- Filled pill design using
- CoreFilterChip: New dropdown-style filter chip for filter rows.
0.3.9 CoreToast title support #
0.3.8 CoreQuickSheet component #
✨ Features #
- UI Components
- CoreQuickSheet: New standardized bottom sheet component for consistent sheet presentation across the app
- Automatic content-based height (up to 90% of screen)
- Custom drag handle with consistent styling
- Theme-aware background color (defaults to
pageBackground) - Configurable dismiss behavior (
isDismissible,enableDrag) - Optional safe area handling (
useSafeArea) - Optional custom background color override
- Rounded top corners (28px) per design spec
- Returns values when dismissed for result handling
- CoreQuickSheet: New standardized bottom sheet component for consistent sheet presentation across the app
🔧 Fixes #
- Code Quality
- Fixed tooltip component forced unwrapping issue with overlay entry
- Improved null safety in tooltip overlay insertion
0.3.7 Add splash screen icons #
✨ Features #
- Icons
- Added splash screen animation icons (splashFirstState, splashSecondState, splashThirdState)
- New SVG icons available via CoreIcons for splash screen animations
0.3.6 Accessibility improvements #
✨ Features #
- Accessibility
- Added accessibility tests for all interactive components (CoreAvatar, CoreLetterAvatar, CoreKeyboard, CoreButton, CoreBottomNavBar, CoreLoadingIndicator)
- Tests verify tap target size, semantic labels, and text contrast guidelines
🔧 Fixes #
-
Design Tokens
- Updated text link color from orient600 to orient800 to match UI design specification
-
Accessibility
- Fixed CoreButton text overflow with ellipsis and FittedBox scaling for long labels
- Fixed accessibility-related contrast and layout issues across components
0.3.5 Code quality improvements #
✨ Features #
-
UI Components
- CoreLoadingIndicator: Added Lottie-based loading indicator component with customizable size and fit options
-
Dependencies
- Added lottie (^3.2.0) for animation support
-
Assets
- Added loading animation asset (
assets/animations/loading.json)
- Added loading animation asset (
0.3.4 Code quality improvements #
🔧 Fixes #
- Code Quality
- Fixed
avoid_static_colorslinter violations - Integrated shadow colors into theme system for consistent design token usage
- Fixed
0.3.3 Theme extension naming consistency #
⚠️ Breaking Changes #
- TypographyExtension has been renamed to AppTypographyExtension for consistency with other theme extensions
- Update your code:
Theme.of(context).extension<TypographyExtension>()→Theme.of(context).extension<AppTypographyExtension>()
0.3.2 Code quality improvements #
🔧 Fixes #
- Code Quality
- Fixed
avoid_static_typographylinter violations - Fixed
forbid_forced_unwrappinglinter violations - Fixed
specific_exceptions_typeslinter violations
- Fixed
0.3.1 Add transparent utility color #
✨ Features #
- Design Tokens
- Added transparent utility color to the core color palette and AppColorsExtension for consistent use across apps.
0.1.0 Initial Release #
✨ Features #
-
UI Components
- CoreBottomNavBar: A customizable bottom navigation bar component with responsive sizing and smooth animations.
- SuccessModal: A bottom sheet that is displayed to the user when an operation is successful.
- Toast: Provides a static interface to display toast messages, e.g., Toast.showSuccess, Toast.showError, Toast.showWarning.
- CoreButton: Customizable button with support for primary, secondary, and social variants, multiple sizes, icons, and disabled state.
- CoreTextField: Flexible text input with label, helper text, error handling, phone number input, prefix/suffix widgets, and country code selector.
- SingleItemSelector: Single-select dropdown with bottom sheet support.
- CoreIconWidget: Unified icon widget supporting both Material and SVG icons.
-
Design Tokens
- Color tokens (brand, gray, blue, red, etc.)
- Typography tokens (font sizes, weights, styles)
- Spacing tokens (consistent spacing system)
- Shadow tokens (multiple shadow levels)
- Icon tokens (Material and custom SVG icons)
-
Theming
- Light and dark theme support
- Easily extendable theme data for custom branding
-
Assets
- Extensive icon set (SVG and Material icons)
- IBM Plex Sans Hebrew font family included