{"name":"input","type":"registry:ui","files":[{"path":"input.tsx","type":"registry:ui","content":"\"use client\"\n\nimport { Input as InputPrimitive } from \"@base-ui-components/react/input\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({\n  className,\n  size = \"default\",\n  variant = \"default\",\n  ...props\n}: Omit<InputPrimitive.Props, \"size\"> & {\n  size?: \"sm\" | \"default\" | \"lg\" | number\n  variant?: \"default\" | \"borderless\"\n}) {\n  return (\n    <span\n      data-slot=\"input-control\"\n      data-disabled={props.disabled ? \"\" : undefined}\n      data-variant={variant}\n      className={cn(\n        \"relative flex min-h-[var(--hui-space-9)] w-full items-center overflow-hidden rounded-[var(--hui-radius-2)] border-[0.5px] border-[var(--hui-color-border-base-tertiary)] bg-[var(--hui-color-background-base-primary)] [transition:var(--hui-transition-interactive)] focus-within:border-[var(--hui-color-border-accent-emphasis)] focus-within:bg-[var(--hui-color-background-base-primary)] focus-within:outline-none has-[[data-slot=input][data-active=true]]:border-[var(--hui-color-border-accent-emphasis)] has-[[data-slot=input][data-invalid]]:border-[var(--hui-color-border-danger-emphasis)] has-[[data-slot=input][data-invalid]]:focus-within:border-[var(--hui-color-border-danger-emphasis-hover)] has-[[data-slot=input][aria-invalid=true]]:border-[var(--hui-color-border-danger-emphasis)] has-[[data-slot=input][aria-invalid=true]]:focus-within:border-[var(--hui-color-border-danger-emphasis-hover)] has-[[data-slot=input][data-disabled]]:cursor-not-allowed has-[[data-slot=input][data-disabled]]:opacity-50 data-disabled:cursor-not-allowed data-disabled:opacity-50\",\n        size === \"sm\" && \"min-h-[var(--hui-space-7)]\",\n        variant === \"borderless\" &&\n          \"border-transparent focus-within:border-transparent has-[[data-slot=input]:focus-visible]:shadow-[var(--hui-focus-ring-shadow)]\",\n        className\n      )}\n    >\n      <InputPrimitive\n        data-slot=\"input\"\n        className={cn(\n          \"m-0 box-border h-[var(--hui-space-9)] w-full min-w-0 rounded-none border-0 bg-transparent pr-[var(--hui-space-2)] pl-[var(--hui-space-3)] text-[var(--hui-color-foreground-base-primary)] outline-none [font-size:var(--hui-font-size-small)] [font-weight:var(--hui-font-weight-regular)] [letter-spacing:var(--hui-letter-spacing-small)] [line-height:var(--hui-line-height-t2)] placeholder:text-[var(--hui-color-foreground-base-tertiary)] placeholder:[font-size:var(--hui-font-size-small)] placeholder:[font-weight:var(--hui-font-weight-regular)] placeholder:[letter-spacing:var(--hui-letter-spacing-small)] placeholder:[line-height:var(--hui-line-height-t2)] focus:border-[var(--hui-color-border-accent-emphasis)] data-disabled:cursor-not-allowed data-disabled:text-[var(--hui-color-foreground-base-tertiary)]\",\n          size === \"sm\" &&\n            \"h-[var(--hui-space-7)] [line-height:var(--hui-line-height-large)]\",\n          props.type === \"search\" &&\n            \"[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none [&::-webkit-search-results-button]:appearance-none [&::-webkit-search-results-decoration]:appearance-none\",\n          props.type === \"file\" &&\n            \"text-muted-foreground file:me-3 file:bg-transparent file:text-sm file:font-medium file:text-foreground\"\n        )}\n        size={typeof size === \"number\" ? size : undefined}\n        {...props}\n      />\n    </span>\n  )\n}\n\nexport { Input }\n","target":"components/ui/input.tsx"}],"dependencies":["@base-ui-components/react"]}