Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Database Tables Carousel Block for Solid

Six database tables for a schema browser, one per swipeable slide with a row count, a held list of typed columns and chips that jump to related tables, plus a Back button and a path that pop the jumps like a browser's history.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Browse a schema one table at a time and follow the links between them, with this database tables carousel for Solid with Ark UI. Schemalane, a schema browser, shows six tables (users, projects, memberships, orders, invoices and events) on one ruled track, one table per slide. Each slide has the table name in mono, its row count and size, a fixed-height list of its columns with their types and key marks in left-to-right mono that scrolls inside the slide, and chips for the tables it references and the ones that reference it. A chip jumps to that table and pushes the jump on a history stack; a Button "Back to users" pops it, like a browser's back, and the path above the track and the status line ("At orders, came from users.") follow it. Moving with the dots or the arrows leaves the history alone. The foot holds the status line, a dot for each table, and Previous and Next. The ruled bands come from Guides. Schemalane and the tables are made up for the example.

FAQ

How do I use my own tables?

Edit TABLES. A table has an id, a rows count, a size, its columns (a name, a type and a note of key, ref, null or empty) and the links it holds to other tables, each a to id and a via text such as owner_id → users.id. The chips for the tables that point back are derived from the other tables' links, so each relationship is typed once.

How does Back work?

Following a chip pushes a { from, to } jump. Back pops the last one and moves the track to where it came from, as long as you are still on the table that jump led to. If you moved on with the dots or the arrows since, the jump is stale: Back stays in place but is marked unavailable, and the next chip you follow starts a new history.

How does it work with a keyboard?

Tab reaches Back, then the column list of the table in view (it scrolls with the arrow keys), its chips, then the dots, Previous and Next. After a jump, focus moves to the new table's name so a screen reader hears where you landed. Tables that are out of view are hidden from the tab order and from screen readers.

Why doesn't scrolling the columns swipe the track?

The column list is marked data-no-drag, and the track ignores a drag that starts in one, so a finger or a pointer on the list scrolls the list. The Carousel's mouse drag is off and the list takes touch-action: pan-y.

Why are the columns always left to right?

Column names, types and the link text are code, and code reads the same way in any language, so the list is set with dir="ltr" while the rest of the slide follows the page. The arrows on the chips mirror.

What stays local in the demo?

Everything. The tables, counts and sizes are typed example data and nothing connects to a database. To wire it for real, build TABLES from your database's information schema (columns, keys, estimated row counts) and keep the rest as it is.