shadowed_carded_list 0.2.0 copy "shadowed_carded_list: ^0.2.0" to clipboard
shadowed_carded_list: ^0.2.0 copied to clipboard

A Flutter widget package providing a carded list with shadowed, scrollable content and small UI helpers.

License pub version

shadowed_carded_list #

Lightweight Flutter package that provides a polished card-style container with a shadowed, scrollable list area. The package includes a small set of UI helpers (a tertiary icon button) and an example app demonstrating usage.

This package is intended for apps that need a reusable, visually consistent carded list with subtle shadow gradients and a convenient scroll-to-bottom control.

Features #

  • Carded container with configurable decoration and spacing
  • Shadowed scroll area with top/bottom fade shadows that appear when content overflows
  • Optional scroll-to-bottom control (tertiary icon button)
  • Empty-list messaging
  • Small, dependency-free API suitable for publishing to pub.dev

Quick example #

import 'package:shadowed_carded_list/shadowed_carded_list.dart';
import 'package:flutter/material.dart';

class Example extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final items = List.generate(10, (i) => 'Item ${i + 1}');

    return CardedList<String>(
      header: const Text('My list'),
      footer: Text('${items.length} items'),
      items: items,
      itemBuilder: (context, index) => ListTile(title: Text(items[index])),
    );
  }
}

Getting started #

  1. Add the package to your pubspec.yaml:
dependencies:
  shadowed_carded_list: ^0.2.0
  1. Import the package and use CardedList as shown in the quick example.

API #

Public symbols exported from the package:

  • CardedList<T> — Primary widget. Key parameters:

    • header: required header widget
    • footer: optional footer widget
    • items: required List<T> of items
    • itemBuilder: required builder (BuildContext, int) -> Widget?
    • emptyListMessage: optional text shown when list is empty
    • shadowSize: optional double to control the height of scroll shadows (default: 16.0)
    • shadowColor: optional Color for the scroll shadows
    • cardDecoration, headerPadding, spacing for styling
  • ShadowedScrollableList<T> — Lower-level widget if you need the scroll region without the outer card.

  • TertiaryIconButton — Small circular icon control used by the scroll-to-bottom behavior.

See the example/ folder for a working demo.

Example app #

Run the example app to see the widget in action:

cd example
flutter pub get
flutter run

Contributing #

Contributions are welcome. Please open issues for bugs and feature requests and send pull requests for improvements. Follow the repository coding style and include tests where possible.

License #

This project includes a LICENSE file in the repository root. By contributing you agree to the terms of that license.


Package maintained by Rediflow AI.

Advanced usage #

You can customize the appearance and behavior of CardedList and the inner ShadowedScrollableList using the following examples.

  • Custom card decoration and spacing:
CardedList<String>(
  header: Text('Users'),
  items: users,
  cardDecoration: BoxDecoration(
    color: Colors.white,
    borderRadius: BorderRadius.circular(12),
    boxShadow: [BoxShadow(color: Colors.black12, blurRadius: 12)],
  ),
  headerPadding: EdgeInsets.symmetric(horizontal: 20, vertical: 18),
  spacing: 12,
  itemBuilder: (c, i) => ListTile(title: Text(users[i])),
)
  • Custom shadow appearance:
CardedList<String>(
  header: Text('My Items'),
  items: items,
  shadowSize: 24.0,  // Larger shadow for more pronounced effect
  shadowColor: Colors.black26,  // Darker shadow color
  itemBuilder: (c, i) => ListTile(title: Text(items[i])),
)
  • Using ShadowedScrollableList standalone (no outer card):
ShadowedScrollableList<String>(
  items: items,
  listBuilder: (c, i) => Text(items[i]),
  shadowSize: 18.0,
  showScrollbar: true,
)

Screenshots #

Preview images are included as placeholders in assets/screenshots/. Replace them with your own screenshots for documentation or the package page on pub.dev.

Preview

Publishing checklist #

Before publishing to pub.dev:

  1. Remove publish_to: 'none' from pubspec.yaml.
  2. Bump the package version in pubspec.yaml.
  3. Run the publish dry-run locally (see PUBLISHING.md for exact steps).

0
likes
140
points
125
downloads

Publisher

verified publisherrediflowai.com

Weekly Downloads

A Flutter widget package providing a carded list with shadowed, scrollable content and small UI helpers.

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on shadowed_carded_list