{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "extends": "none",
  "name": "grid-list-infinite-scroll-example",
  "title": "Grid List Infinite Scroll",
  "description": "grid-list-infinite-scroll-example",
  "dependencies": [
    "@react-stately/data",
    "react-aria-components"
  ],
  "registryDependencies": [
    "https://intentui.com/r/grid-list",
    "https://intentui.com/r/progress-circle"
  ],
  "files": [
    {
      "path": "src/components/examples/collections/grid-list/grid-list-infinite-scroll-example.tsx",
      "content": "'use client'\nimport { useAsyncList } from '@react-stately/data'\nimport { Collection } from 'react-aria-components/Collection'\nimport { GridListLoadMoreItem } from 'react-aria-components/GridList'\nimport { GridList, GridListItem } from '@/components/ui/grid-list'\nimport { ProgressCircle } from '@/components/ui/progress-circle'\n\ninterface Character {\n  name: string\n}\n\nexport default function GridListInfiniteScrollDemo() {\n  const list = useAsyncList<Character>({\n    async load({ signal, cursor }) {\n      if (cursor) {\n        cursor = cursor.replace(/^http:\\/\\//i, 'https://')\n      }\n\n      const res = await fetch(cursor || `https://swapi.py4e.com/api/people/?search=`, {\n        signal,\n      })\n      const json = await res.json()\n\n      return {\n        items: json.results,\n        cursor: json.next,\n      }\n    },\n  })\n  return (\n    <GridList\n      className=\"max-h-56 overflow-y-auto\"\n      selectionMode=\"multiple\"\n      aria-label=\"Async loading ListView example\"\n    >\n      <Collection items={list.items}>\n        {(item) => <GridListItem id={item.name}>{item.name}</GridListItem>}\n      </Collection>\n      <GridListLoadMoreItem\n        onLoadMore={list.loadMore}\n        isLoading={list.loadingState === 'loadingMore'}\n      >\n        <ProgressCircle className=\"mx-auto mb-4\" isIndeterminate aria-label=\"Loading more...\" />\n      </GridListLoadMoreItem>\n    </GridList>\n  )\n}\n",
      "type": "registry:page",
      "target": "app/grid-list-infinite-scroll-example/page.tsx"
    }
  ],
  "type": "registry:page"
}