ui_framework_kit 1.1.4 copy "ui_framework_kit: ^1.1.4" to clipboard
ui_framework_kit: ^1.1.4 copied to clipboard

Platformweb

Production-ready Flutter UI kit: adaptive light/dark theming, form widgets, MCQ, shimmer skeletons, HTML/image renderers, and responsive utilities — all in one import.

1.1.2 #

Docs-only patch release. No code changes.

  • Rewrote every inline screenshot reference in README.md to use absolute raw.githubusercontent.com URLs so the previews render on the pub.dev package page (pub.dev strips relative image links in rendered READMEs).
  • Removed the Contributing and License footer sections from README.md.

1.1.1 #

Docs-only patch release. No code changes.

  • Tightened the pub.dev description to 169 characters so it lands in the 60–180 sweet spot for the documentation score.
  • Lengthened the mcq and carousel screenshot descriptions to satisfy pub.dev's ≥10-character requirement.
  • Bumped LICENSE and README copyright year to 2026.
  • Removed a stale flutter create boilerplate test from the example app that referenced an old package name.
  • Migrated internal tests off the deprecated Semantics.hasFlag API onto flagsCollection (Flutter 3.32+ replacement).

1.1.0 #

Additive release — six new widgets and two design-token classes. No breaking changes; all existing APIs continue to work as in 1.0.0.

New widgets #

  • EmptyStateWidget — title, description, optional SVG illustration, optional CTA. Drop-in placeholder for "no data" / "no results" / terminal-error screens.
  • BannerWidget with BannerSeverity.{info, warning, error, success} — in-flow status strip with severity-coloured icon and optional dismiss. Different from the content-card-oriented DynamicMessageWidget.
  • AsyncBuilder<T> — typed wrapper around FutureBuilder<T> that swaps automatically between shimmer loading, success builder, and a retryable error widget. Replaces hand-written FutureBuilder boilerplate.
  • RetryableErrorWidget — standalone error block with icon, message, and retry button. Reusable directly or as AsyncBuilder's default error renderer.
  • ConfirmDialogWidget — theme-aware yes/no/destructive dialog with a static show() helper that resolves to Future<bool?>.
  • OtpInputWidget — N-digit OTP / PIN entry with auto-advance, paste-to-fill, backspace navigation, and digit-only filtering.

New theme tokens #

  • AppSpacing.{xxs, xs, sm, md, lg, xl, xxl} — 2, 4, 8, 12, 16, 24, 32.
  • AppRadius.{sm, md, lg, xl, full} plus pre-built AppRadius.{sm, md, lg, xl}Radius BorderRadius constants.

Tooling #

  • GitHub Actions CI workflow at .github/workflows/ci.yml running flutter analyze, flutter test, and flutter pub publish --dry-run on every push and pull request.
  • Test suite expanded with per-widget coverage for every new widget (~25 additional test cases).

1.0.0 #

First public release on pub.dev under the new name ui_framework_kit.

Package renamed #

  • The package is now published as ui_framework_kit. Update imports:
    // before
    import 'package:ui_framework/ui_framework.dart';
    // after
    import 'package:ui_framework_kit/ui_framework_kit.dart';
    

Breaking changes #

  • RenderHtmlWidget rewritten on top of flutter_widget_from_html (the previous flutter_html pre-release dep is gone). The parameter htmlCode is renamed to htmlContent; the niche styling parameters style, title, padding, alignment, backgroundColor, isLandscape, maxLines have been replaced by the simpler responsive, onLinkTap, and ambient DefaultTextStyle inheritance.
  • DatePickerTextField no longer depends on nepali_date_picker or clean_nepali_calendar. It now uses Flutter's built-in showDatePicker by default. Inject any calendar system (Nepali BS, Persian, Hijri…) via the new customPickerBuilder callback.
  • InputButtonWidget: debounceDuration type changed from int (seconds) to Duration (default Duration(milliseconds: 500)). Update call sites: debounceDuration: 2 becomes debounceDuration: const Duration(seconds: 2).
  • DropdownWidget: the module-level dropDownNotifier global has been removed. Use DropdownWidget.onMenuStateChange instead.
  • Re-exports trimmed: appinio_social_share and quiver/async are no longer re-exported from the kit. Add them as direct dependencies if you relied on the transitive exports.

New features #

  • Accessibility (WCAG 2.2 AA-aligned) — every interactive widget exposes a Semantics node (button, checkbox, switch, link), enforces a 48dp minimum touch target, honours MediaQuery.disableAnimationsOf (banner autoplay pauses, shimmer freezes), respects MediaQuery.textScalerOf for label sizing, and pairs MCQ correct/incorrect colour with a tick/cross icon so state is not conveyed through colour alone. New widget params: semanticLabel, semanticHint on InputButtonWidget, CheckBoxWidget, SwitchWidget, McqAnswerWidget, LinkPreviewWidget. New global config block: UiFrameworkConfig.configure(accessibility: AccessibilityConfig(...)) with fields for action-label localisation, min touch target, status-icon toggle, and reduce-motion handling. New AccessibilityContext extension on BuildContext exposes prefersReducedMotion, prefersBoldText, usesAccessibleNavigation, prefersHighContrast, textScaler, and a11yKit.
  • UiFrameworkConfig.configure({fontFamily, fontStyleBuilder}) — configure the font family or provide a fully custom TextStyle factory globally.
  • DatePickerTextField.customPickerBuilder — inject any calendar system.
  • DatePickerTextField.dateFormatter — custom DateTime-to-String formatter.
  • DatePickerTextField: new parameters initialDate, firstDate, lastDate, hintText, suffixIcon, validator.
  • TimePickerTextField: new parameters initialTime, timeFormatter, hintText, suffixIcon, validator.
  • InputButtonWidget.isLoading — shows a CircularProgressIndicator and blocks interaction while true.
  • InputButtonWidget now correctly implements tap debounce (was previously a no-op).
  • TextOptions constructor is now const.
  • TextWidget fields are all final; constructor is const-capable.
  • RenderHtmlWidget.onLinkTap — handle URL taps; falls back to url_launcher when omitted.
  • DynamicMessageBannerWidget and ScrollPositionListViewWidget are now exported from the public barrel.
  • Example app at example/ demonstrates every widget.
  • pub.dev screenshots: block scaffolded; drop captures into screenshots/ to populate the package page.

Bug fixes #

  • Critical: DynamicMessageWidget no longer shares its visible/hidden state across all instances (was a top-level ValueNotifier). Each banner now manages its own state and disposes it correctly.
  • The close button on DynamicMessageWidget now dismisses the banner even when no onClose callback is provided.
  • Added missing dispose() calls in CheckBoxWidget, MultipleItemSelector, MultiSelectDropDownWidget, SearchTextFieldWidget, and DynamicMessageBannerWidget to release controllers and ValueNotifiers.
  • Removed stray log() debug noise from YoutubePlayerWidget.
  • Fixed null assertion crash in TextFieldWidget when labelTextColor is null and enabled is true.
  • McqWidget card background now respects dark/light mode instead of being hardcoded to Colors.white.
  • McqWidget border colour uses AppColors.borderColor (theme-aware) instead of hardcoded 0xFFD7E1F0.
  • DropdownWidget and TimePickerTextField now properly dispose() their ValueNotifier instances.
  • Removed an unexported duplicate DynamicMessageWidget that shadowed the public class name inside the package.

Dependency updates #

  • Removed flutter_html (was pre-release ^3.0.0-beta.2); HTML rendering now uses flutter_widget_from_html only.
  • Removed appinio_social_share and quiver (no internal callers).
  • Removed nepali_date_picker and clean_nepali_calendar (git dependency).
  • Updated flutter_svg to ^2.1.0.
  • Updated flutter_inappwebview to ^6.1.5.
  • Updated url_launcher to ^6.3.1.
  • Minimum Flutter SDK raised to >=3.24.0; Dart SDK ^3.5.0.

Documentation #

  • Every public class in the library now carries a dartdoc summary so pub.dev's documentation score reflects the API surface.
  • README rewritten as a copy-paste–first walkthrough of every widget, with a Quick Start, Widget Catalog, Theming, and Common Mistakes.

0.0.1 #

  • Initial internal release (under the previous name ui_framework).