{"version":3,"file":"Input-BbXXGsv_.mjs","names":["ComponentPropsWithRef","ReactNode","clsx","ThemeColor","InputProps","Omit","variant","disabled","prefix","suffix","color","size","flexibleWidth","children","inputClassName","prefixClassName","suffixClassName","sizeVariant","small","medium","large","custom","inputConfig","container","input","icon","Input","t0","$","_c","className","readOnly","ref","rest","t1","t2","t3","t4","t5","type","undefined","t6","t7","t8","t9","t10","t11","t12","t13","e","target","HTMLInputElement","select","t14","t15","t16","t17"],"sources":["../src/components/fields/text/Input.tsx"],"sourcesContent":["import { ComponentPropsWithRef, ReactNode } from \"react\";\nimport clsx from \"clsx\";\nimport type { ThemeColor } from \"../../../types\";\n\nexport interface InputProps extends Omit<ComponentPropsWithRef<\"input\">, \"prefix\" | \"size\"> {\n  variant?: \"normal\" | \"ghost\";\n  disabled?: boolean;\n  prefix?: ReactNode;\n  suffix?: ReactNode;\n  color?: ThemeColor;\n  size?: \"small\" | \"medium\" | \"large\" | \"custom\";\n  flexibleWidth?: boolean;\n  children?: ReactNode;\n  inputClassName?: string;\n  prefixClassName?: string;\n  suffixClassName?: string;\n}\n\nexport const sizeVariant = {\n  small: \"[--h-input:24px] h-(--h-input)\",\n  medium: \"[--h-input:32px] h-(--h-input)\",\n  large: \"[--h-input:48px] h-(--h-input)\",\n  custom: \"\",\n};\n\nexport const inputConfig = {\n  container: \"p8n-input-text rounded-full flex box-border\",\n  input: \"h-full flex-1 appearance-none outline-hidden filter-none min-w-0 bg-transparent\",\n  icon: \"[--h-icon:calc(var(--h-input)-2px)] h-(--h-icon) w-(--h-icon) inline-flex-center\",\n};\n\nexport function Input({\n  variant = \"normal\",\n  color = \"yellow\",\n  disabled = false,\n  prefix,\n  suffix,\n  className,\n  inputClassName,\n  readOnly,\n  size = \"medium\",\n  flexibleWidth = true,\n  type,\n  children,\n  ref,\n  prefixClassName,\n  suffixClassName,\n  ...rest\n}: InputProps) {\n  return (\n    <div\n      aria-disabled={disabled}\n      aria-readonly={readOnly}\n      data-color={color}\n      data-variant={variant}\n      className={clsx(inputConfig.container, sizeVariant[size], className)}\n    >\n      {prefix && (\n        <div\n          className={clsx([\n            \"flex-center relative\",\n            typeof prefix === \"string\" &&\n              \"text-gray-6 mr-2 px-2 select-none border-r border-r-custom-2\",\n            prefixClassName,\n          ])}\n        >\n          {prefix}\n        </div>\n      )}\n      <input\n        type={type}\n        ref={ref}\n        className={clsx(\n          inputConfig.input,\n          size !== \"custom\" && !prefix && \"pl-4\",\n          size !== \"custom\" && type !== \"date\" && type !== \"datetime-local\"\n            ? !suffix && \"pr-4\"\n            : \"pr-1\",\n          flexibleWidth && \"w-0\",\n          inputClassName,\n        )}\n        readOnly={readOnly}\n        onClick={(e) => {\n          if (readOnly) {\n            (e.target as HTMLInputElement)?.select();\n          }\n        }}\n        {...(disabled ? { disabled } : {})}\n        {...rest}\n      />\n      {suffix && (\n        <div\n          className={clsx([\n            \"flex-center relative\",\n            typeof suffix === \"string\" &&\n              \"text-gray-6 ml-2 px-2 select-none border-l border-l-custom-2\",\n            suffixClassName,\n          ])}\n        >\n          {suffix}\n        </div>\n      )}\n      {children}\n    </div>\n  );\n}\n"],"mappings":"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"}