{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "Shadcn Admin Kit",
  "homepage": "https://marmelab.com/shadcn-admin-kit/",
  "items": [
    {
      "name": "admin",
      "type": "registry:block",
      "title": "Shadcn Admin Kit Main Block",
      "description": "The Admin component, along with all the necessary components to create an admin (such as List, Edit, DataTable, TextField, TextInput, etc.)",
      "registryDependencies": [
        "accordion",
        "alert",
        "avatar",
        "badge",
        "breadcrumb",
        "button",
        "card",
        "checkbox",
        "command",
        "drawer",
        "dropdown-menu",
        "input",
        "label",
        "navigation-menu",
        "pagination",
        "popover",
        "radio-group",
        "select",
        "separator",
        "sheet",
        "sidebar",
        "switch",
        "skeleton",
        "sonner",
        "table",
        "textarea",
        "tooltip"
      ],
      "dependencies": [
        "@tanstack/react-query",
        "class-variance-authority",
        "clsx",
        "diacritic",
        "inflection",
        "lodash",
        "lucide-react",
        "query-string",
        "ra-core",
        "ra-i18n-polyglot",
        "ra-language-english",
        "react-dropzone",
        "react-hook-form",
        "react-router",
        "tailwind-merge",
        "tw-animate-css"
      ],
      "files": [
        {
          "path": "src/components/admin/admin.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/app-sidebar.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/array-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/array-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/authentication.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/autocomplete-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/autocomplete-array-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/badge-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/boolean-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/breadcrumb.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/bulk-actions-toolbar.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/bulk-delete-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/bulk-export-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/cancel-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/count.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/create.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/create-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/columns-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/data-table.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/date-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/date-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/date-time-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/delete-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/edit.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/edit-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/edit-guesser.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/email-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/export-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/field-toggle.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/file-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/file-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/filter-form.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/form.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/image-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/input-helper-text.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/layout.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/list.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/list-guesser.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/list-pagination.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/locales-menu-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/login-page.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/not-found.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/notification.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/number-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/number-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/radio-button-group-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/ready.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/record-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/reference-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/reference-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/reference-array-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/reference-array-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/reference-many-count.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/reference-many-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/refresh-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/saved-queries.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/search-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/select-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/select-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/show.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/show-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/show-guesser.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/simple-form.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/simple-form-iterator.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/simple-show-layout.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/single-field-list.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/sort-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/text-array-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/text-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/text-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/theme-mode-toggle.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/theme-context.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/theme-provider.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/use-theme.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/toggle-filter-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/url-field.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/user-menu.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/error.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/admin/loading.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/lib/field.type.ts",
          "type": "registry:lib"
        },
        {
          "path": "src/lib/i18nProvider.ts",
          "type": "registry:lib"
        },
        {
          "path": "src/lib/utils.ts",
          "type": "registry:lib"
        },
        {
          "path": "rules/AGENTS.md",
          "type": "registry:file",
          "target": "~/AGENTS.md"
        }
      ]
    },
    {
      "name": "rich-text-input",
      "type": "registry:block",
      "title": "RichTextInput",
      "description": "Optional rich text input for Shadcn Admin Kit. Includes the full Minimal TipTap block.",
      "registryDependencies": [
        "@shadcn-admin-kit/admin",
        "button",
        "dialog",
        "dropdown-menu",
        "input",
        "label",
        "popover",
        "separator",
        "sonner",
        "switch",
        "toggle",
        "toggle-group",
        "tooltip"
      ],
      "files": [
        {
          "path": "src/components/rich-text-input/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/rich-text-input.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/rich-text-input-toolbar.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/bubble-menu/link-bubble-menu.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/image/image-edit-block.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/image/image-edit-dialog.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/link/link-edit-block.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/link/link-edit-popover.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/link/link-popover-block.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/measured-container.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/section/five.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/section/four.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/section/one.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/section/three.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/section/two.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/shortcut-key.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/spinner.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/toolbar-button.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/components/toolbar-section.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/code-block-lowlight/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/color/color.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/color/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/file-handler/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/horizontal-rule/horizontal-rule.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/horizontal-rule/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/image/components/image-actions.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/image/components/image-overlay.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/image/components/image-view-block.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/image/components/resize-handle.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/image/hooks/use-drag-resize.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/image/hooks/use-image-actions.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/image/image.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/image/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/reset-marks-on-enter/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/reset-marks-on-enter/reset-marks-on-enter.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/unset-all-marks/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/extensions/unset-all-marks/unset-all-marks.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/hooks/use-container-size.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/hooks/use-minimal-tiptap.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/hooks/use-theme.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/hooks/use-throttle.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/hooks/use-tiptap-editor.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/index.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/minimal-tiptap.tsx",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/styles/index.css",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/styles/partials/code.css",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/styles/partials/lists.css",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/styles/partials/placeholder.css",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/styles/partials/typography.css",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/styles/partials/zoom.css",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/types.ts",
          "type": "registry:component"
        },
        {
          "path": "src/components/rich-text-input/minimal-tiptap/utils.ts",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@radix-ui/react-icons",
        "@tiptap/extension-code-block-lowlight",
        "@tiptap/extension-color",
        "@tiptap/extension-horizontal-rule",
        "@tiptap/extension-image",
        "@tiptap/extension-text-style",
        "@tiptap/extension-typography",
        "@tiptap/extensions",
        "@tiptap/pm",
        "@tiptap/react",
        "@tiptap/starter-kit",
        "lowlight",
        "react-medium-image-zoom"
      ]
    },
    {
      "name": "example-admin",
      "type": "registry:block",
      "title": "Example Admin built with Shadcn Admin Kit",
      "registryDependencies": [
        "@shadcn-admin-kit/admin"
      ],
      "files": [
        {
          "path": "src/examples/example-admin.tsx",
          "type": "registry:component"
        }
      ]
    }
  ]
}
