{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "search-input",
  "title": "Search Input",
  "description": "An input component that allows users to search for content.",
  "registryDependencies": [
    "@tetra-ui/icons",
    "@tetra-ui/input"
  ],
  "files": [
    {
      "path": "ui/search-input.tsx",
      "content": "import { cn } from \"@/lib/utils\";\nimport { SearchIcon } from \"./icons\";\nimport {\n  Input,\n  InputAddon,\n  type InputAddonChildren,\n  InputAddonIcon,\n  InputPressable,\n  type InputProps,\n  useInputAddons,\n  useInputFocusState,\n} from \"./input\";\n\n// Types\nexport type SearchInputProps = InputProps & {\n  onFocus?: () => void;\n  onBlur?: () => void;\n  disabled?: boolean;\n  children?: InputAddonChildren;\n};\n\n// Components\nexport const SearchInput = ({\n  onFocus,\n  onBlur,\n  disabled,\n  children,\n  accessibilityRole = \"search\",\n  ...props\n}: SearchInputProps) => {\n  const { isFocused, internalRef, handleFocus, handleBlur, handlePress } =\n    useInputFocusState({ onBlur, onFocus });\n\n  const { startAddons, endAddons, pressableClassName } =\n    useInputAddons(children);\n\n  return (\n    <InputPressable\n      className={cn(\n        pressableClassName,\n        \"min-h-11 bg-input/40 py-1 pl-0 active:bg-input dark:active:bg-input\"\n      )}\n      disabled={disabled}\n      focused={isFocused}\n      onPress={handlePress}\n    >\n      <InputAddon align=\"inline-start\">\n        <InputAddonIcon>\n          <SearchIcon />\n        </InputAddonIcon>\n      </InputAddon>\n\n      {startAddons}\n\n      <Input\n        {...props}\n        accessibilityRole={accessibilityRole}\n        className={cn(\"shrink\", props.className)}\n        disabled={disabled}\n        onBlur={handleBlur}\n        onFocus={handleFocus}\n        ref={internalRef}\n      />\n\n      {endAddons}\n    </InputPressable>\n  );\n};\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}
