{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "Spinner",
  "dependencies": [
    "cn",
    "lucide-react"
  ],
  "registryDependencies": [
    "@rescript-shadcn/Icons"
  ],
  "files": [
    {
      "path": "registry/base/ui/Spinner.res",
      "content": "@module(\"cn\")\nexternal cn: (string, option<string>) => string = \"cn\"\n\n@unboxed\ntype dataIcon =\n  | @as(\"inline-start\") InlineStart\n  | @as(\"inline-end\") InlineEnd\n\ntype props = {\n  ...JsxDOM.domProps,\n  @as(\"data-icon\") dataIcon?: dataIcon,\n  @as(\"data-slot\") dataSlot?: string,\n}\n\nexternal toIconProps: props => Icons.props = \"%identity\"\n\n@react.componentWithProps(props)\nlet make = (props: props) =>\n  <Icons.Loader2\n    {...props->toIconProps}\n    dataSlot={props.dataSlot->Option.getOr(\"spinner\")}\n    role={props.role->Option.getOr(\"status\")}\n    ariaLabel={props.ariaLabel->Option.getOr(\"Loading\")}\n    className={cn(\"size-4 animate-spin\", props.className)}\n  />\n",
      "type": "registry:file",
      "target": "@ui/Spinner.res"
    }
  ],
  "type": "registry:ui"
}