{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "extends": "none",
  "name": "note",
  "title": "note",
  "description": "note",
  "dependencies": [
    "@heroicons/react",
    "tailwind-merge"
  ],
  "files": [
    {
      "path": "src/components/ui/note.tsx",
      "content": "import {\n  CheckCircleIcon,\n  ExclamationCircleIcon,\n  InformationCircleIcon,\n} from '@heroicons/react/24/solid'\nimport { twJoin, twMerge } from 'tailwind-merge'\n\nexport interface NoteProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n  intent?: 'default' | 'info' | 'warning' | 'danger' | 'success'\n  indicator?: boolean\n}\n\nexport function Note({ indicator = true, intent = 'default', className, ...props }: NoteProps) {\n  const iconMap: Record<string, React.ElementType | null> = {\n    info: InformationCircleIcon,\n    warning: ExclamationCircleIcon,\n    danger: ExclamationCircleIcon,\n    success: CheckCircleIcon,\n    default: null,\n  }\n\n  const IconComponent = iconMap[intent] || null\n\n  return (\n    <div\n      data-slot=\"note\"\n      className={twMerge([\n        'grid w-full grid-cols-[auto_1fr] overflow-hidden rounded-lg border border-current/15 p-4 text-base/6 backdrop-blur-2xl sm:text-sm/6',\n        '*:[a]:hover:underline **:[strong]:font-medium',\n        intent === 'default' && 'bg-muted/50 text-secondary-fg',\n        intent === 'info' &&\n          'bg-info-subtle text-info-subtle-fg **:[.text-muted-fg]:text-info-subtle-fg/70',\n        intent === 'warning' &&\n          'bg-warning-subtle text-warning-subtle-fg **:[.text-muted-fg]:text-warning-subtle-fg/80',\n        intent === 'danger' &&\n          'bg-danger-subtle text-danger-subtle-fg **:[.text-muted-fg]:text-danger-subtle-fg/80',\n        intent === 'success' &&\n          'bg-success-subtle text-success-subtle-fg **:[.text-muted-fg]:text-success-subtle-fg/80',\n        className,\n      ])}\n      {...props}\n    >\n      {IconComponent && indicator && (\n        <div\n          className={twJoin(\n            'me-3 grid size-8 place-content-center rounded-full border-2',\n            intent === 'warning' && 'border-warning-subtle-fg/40',\n            intent === 'success' && 'border-success-subtle-fg/40',\n            intent === 'danger' && 'border-danger-subtle-fg/40',\n            intent === 'info' && 'border-info-subtle-fg/40'\n          )}\n        >\n          <div\n            className={twJoin(\n              'grid size-6 place-content-center rounded-full border-2',\n              intent === 'warning' && 'border-warning-subtle-fg/85',\n              intent === 'success' && 'border-success-subtle-fg/85',\n              intent === 'danger' && 'border-danger-subtle-fg/85',\n              intent === 'info' && 'border-info-subtle-fg/85'\n            )}\n          >\n            <IconComponent className=\"size-5 shrink-0\" />\n          </div>\n        </div>\n      )}\n      <div className=\"text-pretty group-has-[svg]:col-start-2\">{props.children}</div>\n    </div>\n  )\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}