{
  "name": "sonner",
  "type": "registry:ui",
  "dependencies": [
    "@vueuse/core",
    "vue-sonner"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "ui/sonner/Sonner.vue",
      "type": "registry:ui",
      "content": "<script lang=\"ts\" setup>\nimport type { ToasterProps } from \"vue-sonner\"\nimport { reactiveOmit } from \"@vueuse/core\"\nimport { Toaster as Sonner } from \"vue-sonner\"\nimport { cn } from \"@/lib/utils\"\nimport { IconPlaceholder } from \"@/components/docs/icon-placeholder\"\n\nconst props = defineProps<ToasterProps>()\nconst delegatedProps = reactiveOmit(props, \"class\", \"toastOptions\")\n</script>\n\n<template>\n  <Sonner\n    :class=\"cn('toaster group', props.class)\"\n    :style=\"{\n      '--normal-bg': 'var(--popover)',\n      '--normal-text': 'var(--popover-foreground)',\n      '--normal-border': 'var(--border)',\n      '--border-radius': 'var(--radius)',\n      '--gray2': 'hsl(var(--popover) / 0.9)',\n      '--gray3': 'var(--border)',\n      '--gray4': 'var(--border)',\n      '--gray5': 'var(--border)',\n      '--gray12': 'var(--popover-foreground)',\n    }\"\n    :toast-options=\"props.toastOptions ?? {\n      classes: {\n        toast: 'cn-toast',\n      },\n    }\"\n    v-bind=\"delegatedProps\"\n  >\n    <template #success-icon>\n      <IconPlaceholder lucide=\"CircleCheckIcon\" tabler=\"IconCircleCheck\" hugeicons=\"CheckmarkCircle01Icon\" phosphor=\"CheckCircleIcon\" remixicon=\"RiCheckboxCircleLine\" class=\"size-4\" />\n    </template>\n    <template #info-icon>\n      <IconPlaceholder lucide=\"InfoIcon\" tabler=\"IconInfoCircle\" hugeicons=\"InformationCircleIcon\" phosphor=\"InfoIcon\" remixicon=\"RiInformationLine\" class=\"size-4\" />\n    </template>\n    <template #warning-icon>\n      <IconPlaceholder lucide=\"TriangleAlertIcon\" tabler=\"IconAlertTriangle\" hugeicons=\"Alert02Icon\" phosphor=\"WarningIcon\" remixicon=\"RiAlertLine\" class=\"size-4\" />\n    </template>\n    <template #error-icon>\n      <IconPlaceholder lucide=\"OctagonXIcon\" tabler=\"IconOctagonOff\" hugeicons=\"CancelCircleIcon\" phosphor=\"XCircleIcon\" remixicon=\"RiCloseCircleLine\" class=\"size-4\" />\n    </template>\n    <template #loading-icon>\n      <div>\n        <IconPlaceholder lucide=\"Loader2Icon\" tabler=\"IconLoader2\" hugeicons=\"Loading03Icon\" phosphor=\"SpinnerGapIcon\" remixicon=\"RiLoader4Line\" class=\"size-4 animate-spin\" />\n      </div>\n    </template>\n    <template #close-icon>\n      <IconPlaceholder lucide=\"XIcon\" tabler=\"IconX\" hugeicons=\"Cancel01Icon\" phosphor=\"XIcon\" remixicon=\"RiCloseLine\" class=\"size-4\" />\n    </template>\n  </Sonner>\n</template>\n"
    },
    {
      "path": "ui/sonner/index.ts",
      "type": "registry:ui",
      "content": "export { default as Toaster } from \"./Sonner.vue\"\n"
    }
  ]
}
