# lstienon/simple_expander architecture

> Architecture diagram of the GitHub repository lstienon/simple_expander, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/lstienon/simple_expander
- Repository: https://github.com/lstienon/simple_expander

## Overview

simple_expander is a small Flutter UI package for configurable expandable headers and tiles. The documented workflow is an app configuring a SimpleExpander with a header and SimpleExpanderTile items, then responding to tile interactions. The tree identifies separate header, content, and tile modules, but no source excerpts were provided, so their internal call wiring is not asserted.

Main entry points: [`lib/src/base.dart`](https://github.com/lstienon/simple_expander/blob/master/lib/src/base.dart) (Expander base), [`lib/simple_expander.dart`](https://github.com/lstienon/simple_expander/blob/master/lib/simple_expander.dart) (Package entrypoint), [`lib/src/_header.dart`](https://github.com/lstienon/simple_expander/blob/master/lib/src/_header.dart) (Header), [`lib/src/_content.dart`](https://github.com/lstienon/simple_expander/blob/master/lib/src/_content.dart) (Expanded content)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_app(("Flutter app"))
node_entry["Package entrypoint"]
node_expander["Expander base<br/>[base.dart]"]
node_header["Header<br/>[_header.dart]"]
node_content["Expanded content<br/>[_content.dart]"]
node_tile["Expander tile<br/>[tile.dart]"]

node_app -->|"configures"| node_entry
node_entry -->|"exposes"| node_expander
node_app -->|"supplies tiles"| node_tile
node_expander -->|"renders header"| node_header
node_expander -->|"renders content"| node_content

click node_entry "https://github.com/lstienon/simple_expander/blob/master/lib/simple_expander.dart"
click node_expander "https://github.com/lstienon/simple_expander/blob/master/lib/src/base.dart"
click node_header "https://github.com/lstienon/simple_expander/blob/master/lib/src/_header.dart"
click node_content "https://github.com/lstienon/simple_expander/blob/master/lib/src/_content.dart"
click node_tile "https://github.com/lstienon/simple_expander/blob/master/lib/src/tile.dart"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app toneIndigo
class node_entry,node_expander,node_header,node_content,node_tile toneTeal
```

## Components

### Other components

- **Flutter app**
- [Package entrypoint](https://github.com/lstienon/simple_expander/blob/master/lib/simple_expander.dart): `lib/simple_expander.dart`
- [Expander base](https://github.com/lstienon/simple_expander/blob/master/lib/src/base.dart): `lib/src/base.dart`
- [Header](https://github.com/lstienon/simple_expander/blob/master/lib/src/_header.dart): `lib/src/_header.dart`
- [Expanded content](https://github.com/lstienon/simple_expander/blob/master/lib/src/_content.dart): `lib/src/_content.dart`
- [Expander tile](https://github.com/lstienon/simple_expander/blob/master/lib/src/tile.dart): `lib/src/tile.dart`

## Connections

- Flutter app → Package entrypoint: configures
- Package entrypoint → Expander base: exposes
- Flutter app → Expander tile: supplies tiles
- Expander base → Header: renders header
- Expander base → Expanded content: renders content
