{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "around",
  "title": "Around Theme Toggle",
  "files": [
    {
      "path": "src/Around.tsx",
      "content": "import { type ButtonHTMLAttributes, type CSSProperties, useId } from \"react\";\n\nexport interface AroundProps extends Omit<\n  ButtonHTMLAttributes<HTMLButtonElement>,\n  \"children\"\n> {\n  duration?: number;\n  [key: `data-${string}`]: string | number | boolean | null | undefined;\n}\n\nexport function Around({\n  duration = 500,\n  className,\n  type = \"button\",\n  title = \"Toggle theme\",\n  \"aria-label\": ariaLabel = \"Toggle theme\",\n  ...props\n}: AroundProps) {\n  const toggleId = useId();\n\n  const clipMainId = `toggles.dev-around-main-${toggleId}`;\n\n  return (\n    <button\n      type={type}\n      title={title}\n      aria-label={ariaLabel}\n      className={className}\n      {...props}\n    >\n      <svg\n        width=\"1em\"\n        height=\"1em\"\n        viewBox=\"0 0 32 32\"\n        aria-hidden=\"true\"\n        fill={\"currentColor\"}\n        style={\n          { \"--toggles-around--duration\": `${duration}ms` } as CSSProperties\n        }\n      >\n        <defs>\n          <clipPath\n            id={clipMainId}\n            className=\"[transform-origin:center] [transition:transform_calc(var(--toggles-around--duration)_*_0.6)_ease] dark:[transform:rotate(-90deg)] dark:[transition:transform_var(--toggles-around--duration)_ease]\"\n          >\n            <path\n              d={\"M0 0h42v30a1 1 0 00-16 13H0Z\"}\n              className=\"transition-[d,translate] [transition-duration:calc(var(--toggles-around--duration)_*_0.6)] [transition-timing-function:ease] dark:[d:path('M-12_-14h42v30a1_1_0_00-16_13H0Z')] dark:not-supports-[d:path('M0_0')]:-translate-x-[12px] dark:not-supports-[d:path('M0_0')]:-translate-y-[14px] dark:[transition-duration:var(--toggles-around--duration)]\"\n            />\n          </clipPath>\n        </defs>\n        <g clipPath={`url(#${clipMainId})`}>\n          <circle\n            cx={16}\n            cy={16}\n            r={8.4}\n            className=\"[transform-origin:center] [transition:transform_calc(var(--toggles-around--duration)_*_0.6)_ease] dark:[transform:scale(1.4)] dark:[transition:transform_var(--toggles-around--duration)_ease]\"\n          />\n          <g>\n            <circle\n              cx={16}\n              cy={3.3}\n              r={2.3}\n              className=\"[transform-origin:center] [transition:transform_calc(var(--toggles-around--duration)_*_0.2)_ease_calc(var(--toggles-around--duration)_*_0.253)] dark:[transform:scale(0)] dark:[transition:transform_calc(var(--toggles-around--duration)_*_0.4)_ease]\"\n            />\n            <circle\n              cx={27}\n              cy={9.7}\n              r={2.3}\n              className=\"[transform-origin:center] [transition:transform_calc(var(--toggles-around--duration)_*_0.2)_ease_calc(var(--toggles-around--duration)_*_0.348)] dark:[transform:scale(0)] dark:[transition:transform_calc(var(--toggles-around--duration)_*_0.4)_ease]\"\n            />\n            <circle\n              cx={27}\n              cy={22.3}\n              r={2.3}\n              className=\"[transform-origin:center] [transition:transform_calc(var(--toggles-around--duration)_*_0.2)_ease_calc(var(--toggles-around--duration)_*_0.443)] dark:[transform:scale(0)] dark:[transition:transform_calc(var(--toggles-around--duration)_*_0.4)_ease]\"\n            />\n            <circle\n              cx={16}\n              cy={28.7}\n              r={2.3}\n              className=\"[transform-origin:center] [transition:transform_calc(var(--toggles-around--duration)_*_0.2)_ease_calc(var(--toggles-around--duration)_*_0.538)] dark:[transform:scale(0)] dark:[transition:transform_calc(var(--toggles-around--duration)_*_0.4)_ease]\"\n            />\n            <circle\n              cx={5}\n              cy={22.3}\n              r={2.3}\n              className=\"[transform-origin:center] [transition:transform_calc(var(--toggles-around--duration)_*_0.2)_ease_calc(var(--toggles-around--duration)_*_0.633)] dark:[transform:scale(0)] dark:[transition:transform_calc(var(--toggles-around--duration)_*_0.4)_ease]\"\n            />\n            <circle\n              cx={5}\n              cy={9.7}\n              r={2.3}\n              className=\"[transform-origin:center] [transition:transform_calc(var(--toggles-around--duration)_*_0.2)_ease_calc(var(--toggles-around--duration)_*_0.728)] dark:[transform:scale(0)] dark:[transition:transform_calc(var(--toggles-around--duration)_*_0.4)_ease]\"\n            />\n          </g>\n        </g>\n      </svg>\n    </button>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/around-theme-toggle.tsx"
    }
  ],
  "type": "registry:block"
}