{"version":3,"file":"index.cjs","names":["React","useFormControlContext"],"sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { useFormControlContext } from \"../FormControl/context\";\n\nexport interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n  styles?: React.CSSProperties;\n  className?: string;\n  size?: \"small\" | \"medium\" | \"large\";\n  hasError?: boolean;\n}\n\nconst sizes = {\n  small: \"openui-input-small\",\n  medium: \"openui-input-medium\",\n  large: \"openui-input-large\",\n} as const;\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n  ({ className, styles, size = \"medium\", hasError, ...props }, ref) => {\n    const ctx = useFormControlContext();\n    const resolvedHasError = hasError ?? ctx?.hasError ?? false;\n    return (\n      <input\n        autoComplete=\"off\"\n        ref={ref}\n        className={clsx(\"openui-input\", sizes[size], className, {\n          \"openui-input-error\": resolvedHasError,\n        })}\n        style={styles}\n        {...props}\n      />\n    );\n  },\n);\n\nInput.displayName = \"Input\";\n"],"mappings":";;;;;;;;;AAWA,MAAM,QAAQ;CACZ,OAAO;CACP,QAAQ;CACR,OAAO;CACR;AAED,MAAa,QAAQA,MAAAA,QAAM,YACxB,EAAE,WAAW,QAAQ,OAAO,UAAU,UAAU,GAAG,SAAS,QAAQ;CACnE,MAAM,MAAMC,gBAAAA,uBAAuB;CACnC,MAAM,mBAAmB,YAAY,KAAK,YAAY;AACtD,QACE,iBAAA,GAAA,kBAAA,KAAC,SAAD;EACE,cAAa;EACR;EACL,YAAA,GAAA,KAAA,SAAgB,gBAAgB,MAAM,OAAO,WAAW,EACtD,sBAAsB,kBACvB,CAAC;EACF,OAAO;EACP,GAAI;EACJ,CAAA;EAGP;AAED,MAAM,cAAc"}