{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "input",
  "title": "Input",
  "description": "always with `Label`",
  "dependencies": [],
  "registryDependencies": [
    "@kit-native/lib-utils",
    "@kit-native/text"
  ],
  "files": [
    {
      "path": "components/ui/input.tsx",
      "content": "import { useFontStyle } from '@/components/ui/text';\nimport { cn } from '@/lib/utils';\nimport { Platform, TextInput } from 'react-native';\n\nfunction Input({ className, ...props }: React.ComponentProps<typeof TextInput> & React.RefAttributes<TextInput>) {\n  // The theme's body font, like Text (a custom font is one family per weight on native).\n  const font = useFontStyle(className ?? '');\n  return (\n    <TextInput\n      className={cn(\n        'dark:bg-input/30 border-input bg-background text-foreground flex h-control w-full min-w-0 flex-row items-center rounded-md border px-4 py-1 text-base leading-5 sm:h-9',\n        props.editable === false &&\n        cn(\n          'opacity-50',\n          Platform.select({ web: 'disabled:pointer-events-none disabled:cursor-not-allowed' })\n        ),\n        Platform.select({\n          web: cn(\n            // placeholder-shown: the CSS reset colours an empty input gray-400 (2.5:1), which is what\n            // contrast checkers measure; match it to the placeholder, which is muted-foreground.\n            'placeholder:text-muted-foreground placeholder-shown:text-muted-foreground selection:bg-primary selection:text-primary-foreground outline-none transition-[color,box-shadow] md:text-sm',\n            'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n            'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive'\n          ),\n          native: 'placeholder:text-muted-foreground/50',\n        }),\n        className\n      )}\n      // A read-only field is drawn disabled, so say so (web renders readonly otherwise).\n      aria-disabled={props.editable === false || undefined}\n      {...props}\n      style={font ? [font, props.style] : props.style}\n    />\n  );\n}\n\nexport { Input };\n",
      "type": "registry:ui",
      "target": "components/ui/input.tsx"
    }
  ],
  "meta": {
    "exports": [
      "Input"
    ],
    "api": "<Label htmlFor /> + <Input id placeholder keyboardType … />"
  },
  "docs": "Run `npx expo install --fix` afterwards so Expo SDK packages match your SDK. Needs the kit theme (`@kit-native/theme`) and `KitThemeProvider` from `@kit-native/lib-theme-context` at the root.",
  "categories": [
    "inputs"
  ],
  "type": "registry:ui"
}