{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "extend-ui", "homepage": "https://github.com/extend-hq/ui", "items": [ { "name": "utils", "type": "registry:lib", "title": "Utils", "description": "Shared class name helper used by Extend UI registry components.", "dependencies": ["clsx@^2.1.1", "tailwind-merge@^3.3.1"], "files": [ { "path": "registry/new-york-v4/lib/utils.ts", "type": "registry:lib", "target": "@lib/utils.ts" } ] }, { "name": "use-mobile", "type": "registry:hook", "title": "Use Mobile", "description": "A media query hook for mobile responsive UI.", "files": [ { "path": "registry/new-york-v4/hooks/use-mobile.ts", "type": "registry:hook", "target": "@hooks/use-mobile.ts" } ] }, { "name": "accordion", "type": "registry:ui", "title": "Accordion", "description": "A vertically stacked set of expandable content panels.", "dependencies": [ "@base-ui/react@^1.4.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/accordion.tsx", "type": "registry:ui", "target": "@ui/accordion.tsx" } ] }, { "name": "alert", "type": "registry:ui", "title": "Alert", "description": "A callout for displaying contextual messages.", "dependencies": ["class-variance-authority@^0.7.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/alert.tsx", "type": "registry:ui", "target": "@ui/alert.tsx" } ] }, { "name": "aspect-ratio", "type": "registry:ui", "title": "Aspect Ratio", "description": "A small wrapper for preserving media aspect ratios.", "files": [ { "path": "registry/new-york-v4/ui/aspect-ratio.tsx", "type": "registry:ui", "target": "@ui/aspect-ratio.tsx" } ] }, { "name": "autocomplete", "type": "registry:ui", "title": "Autocomplete", "description": "An autocomplete input built on Base UI primitives.", "dependencies": [ "@base-ui/react@^1.4.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": ["input", "scroll-area", "utils"], "files": [ { "path": "registry/new-york-v4/ui/autocomplete.tsx", "type": "registry:ui", "target": "@ui/autocomplete.tsx" } ] }, { "name": "badge", "type": "registry:ui", "title": "Badge", "description": "A compact label for status, metadata, and categorization.", "dependencies": [ "@base-ui/react@^1.4.1", "class-variance-authority@^0.7.1" ], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/badge.tsx", "type": "registry:ui", "target": "@ui/badge.tsx" } ] }, { "name": "breadcrumb", "type": "registry:ui", "title": "Breadcrumb", "description": "Navigation breadcrumbs for page hierarchy.", "dependencies": [ "@base-ui/react@^1.4.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/breadcrumb.tsx", "type": "registry:ui", "target": "@ui/breadcrumb.tsx" } ] }, { "name": "button", "type": "registry:ui", "title": "Button", "description": "A polymorphic button primitive with variants, sizes, and loading state.", "dependencies": [ "@base-ui/react@^1.4.1", "class-variance-authority@^0.7.1" ], "registryDependencies": ["spinner", "utils"], "files": [ { "path": "registry/new-york-v4/ui/button.tsx", "type": "registry:ui", "target": "@ui/button.tsx" } ] }, { "name": "card", "type": "registry:ui", "title": "Card", "description": "A flexible container primitive for grouped content.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/card.tsx", "type": "registry:ui", "target": "@ui/card.tsx" } ] }, { "name": "collapsible", "type": "registry:ui", "title": "Collapsible", "description": "A disclosure primitive for expandable content.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/collapsible.tsx", "type": "registry:ui", "target": "@ui/collapsible.tsx" } ] }, { "name": "color-picker", "type": "registry:ui", "title": "Color Picker", "description": "A compact popover color picker with hex, RGB, CSS, and HSL input formats.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": [ "button", "input", "popover", "select", "tooltip", "utils" ], "files": [ { "path": "components/ui/color-picker.tsx", "type": "registry:ui", "target": "@ui/color-picker.tsx" } ] }, { "name": "command", "type": "registry:ui", "title": "Command", "description": "A command menu surface powered by cmdk.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "cmdk@^1.1.1" ], "registryDependencies": ["dialog", "utils"], "files": [ { "path": "registry/new-york-v4/ui/command.tsx", "type": "registry:ui", "target": "@ui/command.tsx" } ] }, { "name": "dialog", "type": "registry:ui", "title": "Dialog", "description": "An accessible modal dialog built on Base UI.", "dependencies": [ "@base-ui/react@^1.4.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": ["button", "scroll-area", "utils"], "files": [ { "path": "registry/new-york-v4/ui/dialog.tsx", "type": "registry:ui", "target": "@ui/dialog.tsx" } ] }, { "name": "dropdown-menu", "type": "registry:ui", "title": "Dropdown Menu", "description": "A dropdown menu built on Base UI menu primitives.", "dependencies": [ "@base-ui/react@^1.4.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/dropdown-menu.tsx", "type": "registry:ui", "target": "@ui/dropdown-menu.tsx" } ] }, { "name": "input", "type": "registry:ui", "title": "Input", "description": "A styled text input built on Base UI.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/input.tsx", "type": "registry:ui", "target": "@ui/input.tsx" } ] }, { "name": "group", "type": "registry:ui", "title": "Group", "description": "A connected control group primitive for buttons, inputs, separators, and text addons.", "dependencies": [ "@base-ui/react@^1.4.1", "class-variance-authority@^0.7.1" ], "registryDependencies": ["separator", "utils"], "files": [ { "path": "components/ui/group.tsx", "type": "registry:ui", "target": "@ui/group.tsx" } ] }, { "name": "kbd", "type": "registry:ui", "title": "Kbd", "description": "A keyboard shortcut display primitive.", "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/kbd.tsx", "type": "registry:ui", "target": "@ui/kbd.tsx" } ] }, { "name": "popover", "type": "registry:ui", "title": "Popover", "description": "A floating popover built on Base UI.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/popover.tsx", "type": "registry:ui", "target": "@ui/popover.tsx" } ] }, { "name": "scroll-area", "type": "registry:ui", "title": "Scroll Area", "description": "A custom scroll area built on Base UI.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/scroll-area.tsx", "type": "registry:ui", "target": "@ui/scroll-area.tsx" } ] }, { "name": "select", "type": "registry:ui", "title": "Select", "description": "A select control built on Base UI.", "dependencies": [ "@base-ui/react@^1.4.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "class-variance-authority@^0.7.1" ], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/select.tsx", "type": "registry:ui", "target": "@ui/select.tsx" } ] }, { "name": "separator", "type": "registry:ui", "title": "Separator", "description": "A visual separator built on Base UI.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/separator.tsx", "type": "registry:ui", "target": "@ui/separator.tsx" } ] }, { "name": "sheet", "type": "registry:ui", "title": "Sheet", "description": "A side sheet built on Base UI dialog primitives.", "dependencies": [ "@base-ui/react@^1.4.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": ["button", "scroll-area", "utils"], "files": [ { "path": "registry/new-york-v4/ui/sheet.tsx", "type": "registry:ui", "target": "@ui/sheet.tsx" } ] }, { "name": "sidebar", "type": "registry:ui", "title": "Sidebar", "description": "A responsive application sidebar with menu, rail, and provider primitives.", "dependencies": [ "@base-ui/react@^1.4.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "class-variance-authority@^0.7.1" ], "registryDependencies": [ "button", "input", "scroll-area", "separator", "skeleton", "use-mobile", "utils" ], "files": [ { "path": "registry/new-york-v4/ui/sidebar.tsx", "type": "registry:ui", "target": "@ui/sidebar.tsx" } ] }, { "name": "skeleton", "type": "registry:ui", "title": "Skeleton", "description": "A loading placeholder with shimmer animation.", "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/skeleton.tsx", "type": "registry:ui", "target": "@ui/skeleton.tsx" } ] }, { "name": "sonner", "type": "registry:ui", "title": "Sonner", "description": "A themed toast provider for Sonner.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "next-themes@0.4.6", "sonner@^2.0.0" ], "files": [ { "path": "registry/new-york-v4/ui/sonner.tsx", "type": "registry:ui", "target": "@ui/sonner.tsx" } ] }, { "name": "spinner", "type": "registry:ui", "title": "Spinner", "description": "A compact loading spinner using Hugeicons.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/spinner.tsx", "type": "registry:ui", "target": "@ui/spinner.tsx" } ] }, { "name": "tabs", "type": "registry:ui", "title": "Tabs", "description": "A tabs primitive built on Base UI.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/tabs.tsx", "type": "registry:ui", "target": "@ui/tabs.tsx" } ] }, { "name": "tooltip", "type": "registry:ui", "title": "Tooltip", "description": "A tooltip primitive built on Base UI.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "registry/new-york-v4/ui/tooltip.tsx", "type": "registry:ui", "target": "@ui/tooltip.tsx" } ] }, { "name": "toggle", "type": "registry:ui", "title": "Toggle", "description": "A two-state command button and grouped toggle controls.", "dependencies": ["@base-ui/react@^1.4.1"], "registryDependencies": ["utils"], "files": [ { "path": "components/ui/toggle.tsx", "type": "registry:ui", "target": "@ui/toggle.tsx" } ] }, { "name": "resizable", "type": "registry:ui", "title": "Resizable", "description": "Resizable panel primitives using react-resizable-panels.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "react-resizable-panels@^4.11.2" ], "registryDependencies": ["utils"], "files": [ { "path": "components/ui/resizable.tsx", "type": "registry:ui", "target": "@ui/resizable.tsx" } ] }, { "name": "pdf-block-resizable-shell", "type": "registry:component", "title": "PDF Block Resizable Shell", "description": "A reusable resizable left document viewer and right review panel shell for PDF-style blocks.", "registryDependencies": ["resizable", "utils"], "categories": ["documents", "blocks"], "files": [ { "path": "components/extend/pdf-block-resizable-shell.tsx", "type": "registry:component", "target": "@components/extend/pdf-block-resizable-shell.tsx" } ] }, { "name": "file-upload", "type": "registry:ui", "title": "File Upload", "description": "A drag-and-drop file upload surface with accepted file type icons and a compact file list.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "border-beam@^1.0.1" ], "registryDependencies": ["card", "@extend/file-thumbnail", "utils"], "categories": ["documents"], "files": [ { "path": "components/extend/file-upload.tsx", "type": "registry:ui", "target": "@components/extend/file-upload.tsx" } ] }, { "name": "file-thumbnail", "type": "registry:ui", "title": "File Thumbnail", "description": "A compact file preview thumbnail shell for externally generated images, loading states, and fallback states.", "categories": ["documents"], "files": [ { "path": "components/extend/file-thumbnail.tsx", "type": "registry:ui", "target": "@components/extend/file-thumbnail.tsx" } ] }, { "name": "file-system", "type": "registry:ui", "title": "File System (Finder)", "description": "A macOS Finder-style file browser for flat object-store manifests with icon, list, column, and gallery views.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "@pierre/trees@1.0.0-beta.4" ], "registryDependencies": [ "button", "command", "dialog", "@extend/docx-viewer", "dropdown-menu", "@extend/file-thumbnail", "input", "@extend/pdf-viewer", "@extend/pptx-viewer", "popover", "scroll-area", "select", "spinner", "tabs", "utils", "@extend/xlsx-viewer" ], "categories": ["documents"], "files": [ { "path": "components/extend/file-system.tsx", "type": "registry:ui", "target": "@components/extend/file-system.tsx" } ] }, { "name": "file-system-block", "type": "registry:block", "title": "File System (Finder)", "description": "A Finder-style file browser block that opens PDF, DOCX, PowerPoint, XLSX, and image files in large viewer dialogs.", "registryDependencies": ["@extend/file-system"], "categories": ["documents", "blocks"], "files": [ { "path": "registry/new-york-v4/blocks/file-system-block.tsx", "type": "registry:component", "target": "@components/blocks/file-system-block.tsx" } ] }, { "name": "pdf-viewer", "type": "registry:ui", "title": "PDF Viewer", "description": "A PDF viewer with page virtualization, thumbnails, search, zoom, rotation, upload, and page overlay hooks.", "dependencies": [ "@embedpdf/core@^2.14.4", "@embedpdf/engines@^2.14.4", "@embedpdf/models@^2.14.4", "@embedpdf/plugin-document-manager@^2.14.4", "@embedpdf/plugin-interaction-manager@^2.14.4", "@embedpdf/plugin-render@^2.14.4", "@embedpdf/plugin-rotate@^2.14.4", "@embedpdf/plugin-scroll@^2.14.4", "@embedpdf/plugin-search@^2.14.4", "@embedpdf/plugin-selection@^2.14.4", "@embedpdf/plugin-thumbnail@^2.14.4", "@embedpdf/plugin-tiling@^2.14.4", "@embedpdf/plugin-viewport@^2.14.4", "@embedpdf/plugin-zoom@^2.14.4", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "pdf-lib@^1.17.1" ], "registryDependencies": [ "button", "@extend/document-viewer-sidebar", "dropdown-menu", "input", "popover", "scroll-area", "select", "separator", "spinner", "toggle", "tooltip", "utils" ], "categories": ["documents"], "files": [ { "path": "components/extend/pdf-viewer.tsx", "type": "registry:ui", "target": "@components/extend/pdf-viewer.tsx" }, { "path": "lib/pdf-thumbnail-utils.ts", "type": "registry:lib", "target": "@lib/pdf-thumbnail-utils.ts" } ] }, { "name": "docx-viewer", "type": "registry:ui", "title": "DOCX Viewer", "description": "A DOCX viewer with upload, zoom, theme controls, and read-only rendering.", "dependencies": [ "@extend-ai/react-docx@^0.8.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "@tanstack/react-virtual@^3.13.12" ], "registryDependencies": [ "badge", "button", "card", "@extend/document-viewer-sidebar", "dropdown-menu", "@extend/file-thumbnail", "input", "scroll-area", "select", "separator", "spinner", "tooltip", "utils" ], "categories": ["documents"], "files": [ { "path": "components/extend/docx-viewer.tsx", "type": "registry:ui", "target": "@components/extend/docx-viewer.tsx" }, { "path": "components/extend/docx-annotation-card.tsx", "type": "registry:ui", "target": "@components/extend/docx-annotation-card.tsx" } ] }, { "name": "docx-editor", "type": "registry:ui", "title": "DOCX Editor", "description": "An experimental DOCX editor with a Word-style toolbar, page thumbnails, import, export, and live document mutation.", "dependencies": [ "@base-ui/react@^1.4.1", "@extend-ai/react-docx@^0.8.1", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": [ "badge", "button", "card", "@extend/color-picker", "@extend/document-viewer-sidebar", "dropdown-menu", "@extend/file-thumbnail", "input", "scroll-area", "select", "separator", "spinner", "tooltip", "utils" ], "categories": ["documents"], "files": [ { "path": "components/extend/docx-editor.tsx", "type": "registry:ui", "target": "@components/extend/docx-editor.tsx" }, { "path": "components/extend/docx-annotation-card.tsx", "type": "registry:ui", "target": "@components/extend/docx-annotation-card.tsx" } ] }, { "name": "xlsx-viewer", "type": "registry:ui", "title": "Excel Viewer", "description": "An XLSX viewer with workbook loading, thumbnails, sheet tabs, upload, zoom, and theme controls.", "dependencies": [ "@extend-ai/react-xlsx@0.15.0", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": [ "button", "dropdown-menu", "scroll-area", "select", "separator", "spinner", "tabs", "tooltip", "utils" ], "categories": ["documents"], "files": [ { "path": "components/extend/xlsx-viewer.tsx", "type": "registry:ui", "target": "@components/extend/xlsx-viewer.tsx" } ] }, { "name": "pptx-viewer", "type": "registry:ui", "title": "PowerPoint Viewer", "description": "A PowerPoint viewer with slide navigation, zoom, upload, download, custom scroll areas, and virtualized thumbnails.", "dependencies": [ "@extend-ai/react-pptx@0.1.2", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "@tanstack/react-virtual@^3.13.12" ], "registryDependencies": [ "button", "@extend/document-viewer-sidebar", "dropdown-menu", "@extend/file-thumbnail", "input", "scroll-area", "select", "separator", "spinner", "tooltip", "utils" ], "categories": ["documents"], "files": [ { "path": "components/extend/pptx-viewer.tsx", "type": "registry:ui", "target": "@components/extend/pptx-viewer.tsx" } ] }, { "name": "xlsx-editor", "type": "registry:ui", "title": "Excel Editor", "description": "An experimental XLSX editor with formula input, undo and redo, sheet controls, export, and live workbook mutation.", "dependencies": [ "@extend-ai/react-xlsx@0.15.0", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": [ "button", "color-picker", "@extend/group", "input", "scroll-area", "select", "separator", "spinner", "toggle", "tooltip", "utils", "@extend/xlsx-viewer" ], "categories": ["documents"], "files": [ { "path": "components/extend/xlsx-editor.tsx", "type": "registry:ui", "target": "@components/extend/xlsx-editor.tsx" } ] }, { "name": "csv-viewer", "type": "registry:ui", "title": "CSV Viewer", "description": "A CSV and TSV viewer with parsing, upload, search, zoom, theme-aware grid rendering, and Glide Data Grid.", "dependencies": [ "@glideapps/glide-data-grid@6.0.4-alpha24", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "papaparse@^5.5.3" ], "devDependencies": ["@types/papaparse@^5.5.2"], "registryDependencies": [ "button", "input", "popover", "select", "separator", "spinner", "tooltip" ], "categories": ["documents"], "files": [ { "path": "components/extend/csv-viewer.tsx", "type": "registry:ui", "target": "@components/extend/csv-viewer.tsx" } ] }, { "name": "pdf-dropzone", "type": "registry:block", "title": "PDF Dropzone", "description": "A PDF-only upload dropzone that opens the dropped file in the shared PDF viewer.", "dependencies": ["@hugeicons/core-free-icons@^4.2.0"], "registryDependencies": ["@extend/file-upload", "@extend/pdf-viewer"], "categories": ["documents", "blocks"], "files": [ { "path": "registry/new-york-v4/blocks/pdf-dropzone.tsx", "type": "registry:component", "target": "@components/blocks/pdf-dropzone.tsx" } ] }, { "name": "layout-blocks", "type": "registry:ui", "title": "Layout Blocks", "description": "A structured layout review panel with typed blocks and confidence cards.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "@tanstack/react-virtual@^3.13.26", "react-markdown@^10.1.0", "rehype-raw@^7.0.0", "rehype-sanitize@^6.0.0", "remark-gfm@^4.0.1" ], "registryDependencies": ["scroll-area", "utils"], "categories": ["documents"], "files": [ { "path": "components/extend/layout-blocks.tsx", "type": "registry:ui", "target": "@components/extend/layout-blocks.tsx" } ] }, { "name": "layout-blocks-block", "type": "registry:block", "title": "Layout Blocks", "description": "A structured layout review block with confidence cards and PDF region overlays.", "registryDependencies": [ "@extend/layout-blocks", "@extend/pdf-block-resizable-shell", "@extend/pdf-viewer" ], "categories": ["documents", "blocks"], "files": [ { "path": "registry/new-york-v4/blocks/layout-blocks-block.tsx", "type": "registry:component", "target": "@components/blocks/layout-blocks-block.tsx" } ] }, { "name": "e-signature", "type": "registry:block", "title": "E-Signature", "description": "A PDF signature review block with field overlays and signing actions.", "dependencies": [ "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "pdf-lib@^1.17.1", "signature_pad@^5.1.3" ], "registryDependencies": [ "button", "dialog", "@extend/pdf-block-resizable-shell", "@extend/pdf-viewer", "scroll-area", "utils" ], "categories": ["documents", "blocks"], "files": [ { "path": "registry/new-york-v4/blocks/e-signature.tsx", "type": "registry:component", "target": "@components/blocks/e-signature.tsx" } ] }, { "name": "bounding-box-citations", "type": "registry:ui", "title": "Bounding Box Citations", "description": "An extraction citation panel connected to source bounding boxes and editable values.", "dependencies": [ "@glideapps/glide-data-grid@6.0.4-alpha24", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "@pierre/diffs@^1.1.22" ], "registryDependencies": [ "button", "input", "scroll-area", "tabs", "tooltip", "utils" ], "categories": ["documents"], "files": [ { "path": "components/extend/bounding-box-citations.tsx", "type": "registry:ui", "target": "@components/extend/bounding-box-citations.tsx" } ] }, { "name": "schema-builder", "type": "registry:ui", "title": "Schema Builder", "description": "A JSON schema builder with form and JSON views for extraction schemas.", "dependencies": [ "@dnd-kit/core@^6.3.1", "@dnd-kit/sortable@^10.0.0", "@dnd-kit/utilities@^3.2.2", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6", "@pierre/diffs@^1.2.7", "next-themes@0.4.6" ], "registryDependencies": [ "button", "collapsible", "dropdown-menu", "scroll-area", "tabs", "utils" ], "categories": ["documents"], "files": [ { "path": "components/extend/schema-builder.tsx", "type": "registry:ui", "target": "@components/extend/schema-builder.tsx" } ] }, { "name": "bounding-box-citations-block", "type": "registry:block", "title": "Bounding Box Citations", "description": "An extraction citation block linked to source PDF bounding boxes.", "registryDependencies": [ "@extend/bounding-box-citations", "@extend/pdf-block-resizable-shell", "@extend/pdf-viewer" ], "categories": ["documents", "blocks"], "files": [ { "path": "registry/new-york-v4/blocks/bounding-box-citations-block.tsx", "type": "registry:component", "target": "@components/blocks/bounding-box-citations-block.tsx" } ] }, { "name": "document-splits", "type": "registry:ui", "title": "Document Splits", "description": "A split-group review panel for organizing pages into output documents.", "dependencies": [ "@dnd-kit/core@^6.3.1", "@dnd-kit/sortable@^10.0.0", "@dnd-kit/utilities@^3.2.2", "@hugeicons/core-free-icons@^4.2.0", "@hugeicons/react@^1.1.6" ], "registryDependencies": [ "button", "@extend/file-thumbnail", "scroll-area", "utils" ], "categories": ["documents"], "files": [ { "path": "components/extend/document-splits.tsx", "type": "registry:ui", "target": "@components/extend/document-splits.tsx" } ] }, { "name": "document-splits-block", "type": "registry:block", "title": "Document Splits", "description": "A split-group review block for organizing PDF pages into output documents.", "registryDependencies": [ "@extend/document-splits", "@extend/pdf-block-resizable-shell", "@extend/pdf-viewer" ], "categories": ["documents", "blocks"], "files": [ { "path": "registry/new-york-v4/blocks/document-splits-block.tsx", "type": "registry:component", "target": "@components/blocks/document-splits-block.tsx" } ] }, { "name": "excel-editor", "type": "registry:block", "title": "Excel Editor", "description": "A full Excel editor block with workbook upload, cell formatting, merge tools, sheets, zoom, and export controls.", "registryDependencies": ["@extend/xlsx-editor"], "categories": ["documents", "blocks"], "files": [ { "path": "registry/new-york-v4/blocks/excel-editor.tsx", "type": "registry:component", "target": "@components/blocks/excel-editor.tsx" } ] }, { "name": "docx-editor-block", "type": "registry:block", "title": "DOCX Editor", "description": "A full DOCX editor block with a Word-style toolbar, page thumbnails, and export controls.", "registryDependencies": ["@extend/docx-editor"], "categories": ["documents", "blocks"], "files": [ { "path": "registry/new-york-v4/blocks/docx-editor.tsx", "type": "registry:component", "target": "@components/blocks/docx-editor.tsx" } ] }, { "name": "document-viewer-sidebar", "type": "registry:ui", "title": "Document Viewer Sidebar", "description": "Shared thumbnail sidebar behavior for document viewers, including viewer-width responsive overlay and inline modes.", "registryDependencies": ["utils"], "categories": ["documents"], "files": [ { "path": "components/extend/document-viewer-sidebar.tsx", "type": "registry:ui", "target": "@components/extend/document-viewer-sidebar.tsx" } ] } ] }