HQReact UI
DocsThemes
  • Getting Started
  • Introduction
  • Installation
  • Client Side Routing
  • MCP Server
  • LLMs
  • Framework Guides
  • Nextjs
  • Laravel
  • Vite
  • Tanstack Start
  • Components
  • Buttons
  • Button
  • File Trigger
  • Toggle
  • Charts
  • Chart
  • Collections
  • Accordion
  • Bubble
  • Collapsible
  • Context Menu
  • Dropdown Menu
  • Grid List
  • Item
  • List Box
  • Message
  • Table
  • Tag Group
  • Tree
  • Colors
  • Color
  • Controls
  • Command
  • Kbd
  • Slider
  • Switch
  • Toolbar
  • Date And Time
  • Calendar
  • Range Calendar
  • Date Field
  • Date Picker
  • Date Range Picker
  • Time Field
  • Drag And Drop
  • Drop Zone
  • Forms
  • Field
  • Input
  • Combobox
  • Input Group
  • Checkbox
  • Radio
  • Select
  • Text Field
  • Number Field
  • Search Field
  • Input OTP
  • Layouts
  • Container
  • Navbar
  • Sidebar
  • Media
  • Avatar
  • Carousel
  • Navigation
  • Link
  • Breadcrumbs
  • Tabs
  • Pagination
  • Overlays
  • Dialog
  • Alert Dialog
  • Sheet
  • Popover
  • Tooltip
  • Statuses
  • Alert
  • Badge
  • Empty
  • Meter
  • Progress
  • Skeleton
  • Toastalpha
  • Surfaces
  • Card
  • Separator

On this page

Grid List

GridList
grid-list-demo
Selection Mode
Layout
Ubuntu
Debian
Linux Mint
Fedora
Arch Linux
Manjaro
openSUSE
Kali Linux
Pop!_OS
Rocky Linux

Installation

CLI
Manual

npx shadcn add https://hq-ui.vercel.app/r/grid-list

Examples

Drag and drop

The grid list supports drag and drop functionalities if you use the dragAndDropHooks prop along with the useDragAndDrop hook. You can drop data on the entire list, individual items, add new items between existing ones, or rearrange items.

grid-list-drag-demo
The Beatles
Led Zeppelin
Pink Floyd
Queen
The Rolling Stones
The Beach Boys
The Kinks
The Who

Dragging between items

You can move items between positions within the grid list.

grid-list-drag-item-demo

Open

7 tasks
UI Button Alignment Issue

Buttons in the Settings menu are misaligned on smaller screens.

Login Page Redesign

Requesting a redesign of the login page to improve user experience.

Feature: Dark Mode

Implement a dark mode option for improved accessibility and user preference.

Missing User Profile Pictures

Some user profile pictures are not displaying properly in the user dashboard.

Broken Link on Homepage

The "Learn More" link on the homepage is leading to a 404 error.

Feature: Export to PDF

Implement a feature to allow users to export their data to PDF format.

Mobile Responsiveness Issue

The application is not rendering properly on certain mobile devices.

In Progress

2 tasks
Database Connection Error

Users are experiencing intermittent connection errors when accessing the database.

Feature: Two-Factor Authentication

Requesting the addition of two-factor authentication for improved security.

Closed

1 task
Performance Optimization

Requesting performance optimization for the application to reduce load times.

Render empty state

The grid list can display an empty state when no items are available using the renderEmptyState prop.

grid-list-empty-demo
No items!

Infinite scrolling

The grid list can handle large datasets efficiently with infinite scrolling. This allows for loading more data as the user scrolls down, improving performance and user experience.

grid-list-infinite-demo

Controlled

The grid list can be controlled, which means the parent component manages the selection state of each item.

grid-list-controlled-demo
The Beatles
Led Zeppelin
Pink Floyd
Queen
The Rolling Stones

You have selected:

Disabled

Similar to how the Tag Group component can be disabled using isDisabled for children and disabledKeys for the parent, the Grid List supports similar functionality. For example, items "Led Zeppelin" and "The Rolling Stones" are disabled.

grid-list-disabled-demo
The Beatles
Led Zeppelin
Pink Floyd
Queen
The Rolling Stones

To disable items via the parent component, you can use the disabledKeys prop like this:

<GridList
  items={items}
  aria-label="Select your favorite bands"
  selectionMode="multiple"
  disabledKeys={[2,5]}
  className="min-w-64"
>
  {(item) => <GridListItem id={item.id}>{item.name}</GridListItem>}
</GridList>
Dropdown Menu
Item

On this page

  • Installation
  • Examples
  • Drag and drop
  • Dragging between items
  • Render empty state
  • Infinite scrolling
  • Controlled
  • Disabled