Skip to content
CAI
Software that uses CAICheck a score

letsar/flutter_slidable

56.6

Adequate · 23 September 2026

4.1k

lines of production code

Dart

primary language

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Flutter package that provides a widget for creating swipeable list items with directional slide actions. It enables users to define custom action panes, handle item dismissal with animations, and manage the state of slidable items programmatically. The library supports various motion effects and includes features for automatically closing other slidable items in a group.

Features

Add Android example app configuration and resources

The Android example app now includes the necessary configuration files to run as a standalone Flutter application. This includes the main and debug/manifest files, the Kotlin MainActivity, and the resource files for the launch splash screen and themes (including support for dark mode). Additionally, the project now uses Gradle 7.4 for building the Android application.

example/android · high confidence

Added example app demonstrating Slidable controller and auto-close behavior

The example app now includes a new \SlidableController\ to programmatically open, close, and manage the state of slidable items. Additionally, the \SlidableAutoCloseBehavior\ widget has been introduced to automatically close other slidable items within the same group when one is opened. The example also demonstrates using a \DismissiblePane\ with a confirmation dialog and the \closeOnCancel\ option to prevent dismissal if the user cancels the confirmation.

example/lib · high confidence

Added example project scaffolding and configuration

The example directory now includes essential configuration files for a Flutter project, including .gitignore, .metadata, analysis\_options.yaml, and README.md. These files establish the standard structure for the example app, defining linting rules, version tracking, and build exclusions.

example · high confidence

Added iOS project scaffolding for the example app

The example/ios directory now contains the complete iOS project structure, including the Xcode project file, workspace configuration, and all necessary build and resource files. This provides a functional iOS environment for the example app, enabling users to build and run the application on iOS devices and simulators.

example/ios · high confidence

Initial release of the Flutter Slidable package

The package is initialized with a complete feature set for creating slidable list items with directional slide actions. The release includes four built-in action panes, two built-in slide action widgets, and a built-in dismiss animation. Users can easily create custom layouts and animations, use a builder for special effects, and control the pane via a SlidableController. The README provides a comprehensive guide, including migration instructions from version 0.6.0 and examples of different motion types (Behind, Drawer, Scroll, Stretch).

(repo-wide) · high confidence

Introduce new Slidable architecture with ActionPane, DismissiblePane, and AutoCloseBehavior

The library has been refactored to use a new component-based architecture. Users can now define action panes using the new \ActionPane\ widget, which supports various motion effects like \BehindMotion\, \StretchMotion\, \ScrollMotion\, and \DrawerMotion\. Dismissal is handled by the \DismissiblePane\ widget, which allows for custom dismissal animations and confirmation callbacks. Additionally, a new \SlidableAutoCloseBehavior\ widget has been introduced to automatically close other slidable widgets within the same group when one is opened. The previous \SlidableGroup\ and \SlidableAction\ implementations have been replaced by these new, more flexible components.

lib/src · high confidence

Introduce new slidable widget and associated components

Users can now use the new Slidable widget along with related components like SlidableController, SlidableAutoCloseBehavior, and notification systems to create interactive swipeable list items with dismissible and action panes.

lib · high confidence

Test coverage

Added comprehensive test coverage for Flutter Slidable components; Added widget smoke test for the example app.

Dependencies

Update example app to Flutter 3.27+ and Dart 3.6+ with modern Android build configuration

The example app's build configuration has been updated to support modern Flutter and Dart versions. The main package's \pubspec.yaml\ now requires Dart 3.6.0+ and Flutter 3.27.0+, and includes \mocktail\ and \collection\ as dev dependencies. The Android example app's \build.gradle\ files have been regenerated to use Gradle 7.1.2, Kotlin 1.6.10, and Java 1.8/1.6, aligning the example with current Android/Flutter standards.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 52 → 57 (+4.2)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 99 (-1.4)
  • Architecture 100 → 97 (-2.9)
  • Maturity 48 → 48 (+0.0)
  • Readiness 26 → 36 (+10.3)
  • Security 100 → 100 (+0.0)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (5)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No exposed public API
  • Test reliability not included
  • complexity unreadable for .dart, .swift — churn × complexity hotspots could not be measured

New (19)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • Duplicated block (10 lines × 2) (lib/src/flex_entrance_transition.dart)
  • Duplicated block (14 lines × 2) (example/lib/main_demo.dart)
  • Duplicated block (15–17 lines × 6) (example/lib/main_demo.dart)
  • Duplicated block (17 lines × 2) (example/lib/main_demo.dart)
  • Duplicated block (18 lines × 2) (example/lib/main_demo.dart)
  • Duplicated block (18 lines × 2) (lib/src/flex_entrance_transition.dart)
  • Duplicated block (20 lines × 2) (example/lib/main.dart)
  • Duplicated block (21 lines × 2) (lib/src/flex_entrance_transition.dart)
  • Duplicated block (21–23 lines × 2) (example/lib/main_demo.dart)
  • Duplicated block (53–55 lines × 2) (example/lib/main_demo.dart)
  • Duplicated block (7 lines × 2) (example/lib/main_demo.dart)
  • Low cohesion: _RenderFlexEntranceTransition (LCOM4 5) (lib/src/flex_entrance_transition.dart)
  • Low cohesion: _RenderFlexExitTransition (LCOM4 6) (lib/src/flex_exit_transition.dart)
  • Low cohesion: _SlidableGestureDetectorState (LCOM4 4) (lib/src/gesture_detector.dart)
  • Low cohesion: _SlidablePlayerState (LCOM4 4) (example/lib/main_example.dart)
  • Near-duplicate member pair (113 shared lines) (example/lib/main_demo.dart)
  • TodoComment (lib/src/auto_close_behavior.dart)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

letsar/flutter_slidable was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 23 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 0563760f9dcf22f5498a3126deec611af5604072 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-955b9cee9818.