{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "p-input-group-23",
  "description": "Search input group with loader and voice button",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "@coss/button",
    "@coss/input-group",
    "@coss/tooltip"
  ],
  "files": [
    {
      "path": "registry/default/particles/p-input-group-23.tsx",
      "content": "\"use client\";\n\nimport { LoaderCircleIcon, MicIcon, SearchIcon } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\nimport { Button } from \"@/registry/default/ui/button\";\nimport {\n  InputGroup,\n  InputGroupAddon,\n  InputGroupInput,\n} from \"@/registry/default/ui/input-group\";\nimport {\n  Tooltip,\n  TooltipPopup,\n  TooltipTrigger,\n} from \"@/registry/default/ui/tooltip\";\n\nexport default function Particle() {\n  const [inputValue, setInputValue] = useState(\"\");\n  const [isLoading, setIsLoading] = useState(false);\n\n  useEffect(() => {\n    if (inputValue) {\n      setIsLoading(true);\n      const timer = setTimeout(() => {\n        setIsLoading(false);\n      }, 500);\n      return () => clearTimeout(timer);\n    }\n    setIsLoading(false);\n  }, [inputValue]);\n\n  return (\n    <InputGroup>\n      <InputGroupAddon>\n        {isLoading ? (\n          <LoaderCircleIcon\n            aria-label=\"Loading...\"\n            className=\"animate-spin\"\n            role=\"status\"\n          />\n        ) : (\n          <SearchIcon aria-hidden=\"true\" />\n        )}\n      </InputGroupAddon>\n      <InputGroupInput\n        aria-label=\"Search\"\n        onChange={(e) => setInputValue(e.target.value)}\n        placeholder=\"Search...\"\n        type=\"search\"\n        value={inputValue}\n      />\n      <InputGroupAddon align=\"inline-end\">\n        <Tooltip>\n          <TooltipTrigger\n            render={\n              <Button\n                aria-label=\"Voice search\"\n                size=\"icon-xs\"\n                variant=\"ghost\"\n              />\n            }\n          >\n            <MicIcon aria-hidden=\"true\" />\n          </TooltipTrigger>\n          <TooltipPopup>Voice search</TooltipPopup>\n        </Tooltip>\n      </InputGroupAddon>\n    </InputGroup>\n  );\n}\n",
      "type": "registry:block"
    }
  ],
  "meta": {
    "className": "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64"
  },
  "categories": [
    "button",
    "input",
    "input group",
    "search",
    "tooltip"
  ],
  "type": "registry:block"
}