{"version":3,"file":"PillsInputField.cjs","sources":["../../../../src/components/PillsInput/PillsInputField/PillsInputField.tsx"],"sourcesContent":["import { useMergedRef } from '@raikou/hooks';\nimport {\n  Box,\n  BoxProps,\n  ElementProps,\n  factory,\n  Factory,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../../core';\nimport { useInputWrapperContext } from '../../Input';\nimport { usePillsInputContext } from '../PillsInput.context';\nimport { PillsInputFieldStyle } from '../PillsInput.css';\n\nexport type PillsInputFieldStylesNames = 'field';\n\nexport interface PillsInputFieldProps\n  extends BoxProps,\n    StylesApiProps<PillsInputFieldFactory>,\n    ElementProps<'input', 'type'> {\n  /** Controls input styles when focused. If `auto` the input is hidden when not focused. If `visible` the input will always remain visible. `'visible'` by default  */\n  type?: 'auto' | 'visible' | 'hidden';\n\n  /** If set, cursor is changed to pointer */\n  pointer?: boolean;\n}\n\nexport type PillsInputFieldFactory = Factory<{\n  props: PillsInputFieldProps;\n  ref: HTMLInputElement;\n  stylesNames: PillsInputFieldStylesNames;\n}>;\n\nconst defaultProps: Partial<PillsInputFieldProps> = {\n  type: 'visible',\n};\n\nexport const PillsInputField = factory<PillsInputFieldFactory>((_props, ref) => {\n  const props = useProps('PillsInputField', defaultProps, _props);\n  const {\n    classNames,\n    className,\n    style,\n    styles,\n    unstyled,\n    vars,\n    type,\n    disabled,\n    id,\n    pointer,\n    mod,\n    ...others\n  } = props;\n  const ctx = usePillsInputContext();\n  const inputWrapperCtx = useInputWrapperContext();\n\n  const getStyles = useStyles<PillsInputFieldFactory>({\n    name: 'PillsInputField',\n    classes: {\n      field: PillsInputFieldStyle,\n    },\n    props,\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    rootSelector: 'field',\n  });\n\n  const _disabled = disabled || ctx?.disabled;\n\n  return (\n    <Box\n      component=\"input\"\n      ref={useMergedRef(ref, ctx?.fieldRef)}\n      data-type={type}\n      disabled={_disabled}\n      mod={[{ disabled: _disabled, pointer }, mod]}\n      {...getStyles('field')}\n      {...others}\n      id={inputWrapperCtx?.inputId || id}\n      aria-invalid={ctx?.hasError}\n      aria-describedby={inputWrapperCtx?.describedBy}\n      type=\"text\"\n      onMouseDown={(event) => !pointer && event.stopPropagation()}\n    />\n  );\n});\n\nPillsInputField.displayName = '@raikou/core/PillsInputField';\n"],"names":["factory","useProps","usePillsInputContext","useInputWrapperContext","useStyles","PillsInputFieldStyle","jsx","Box","useMergedRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,YAA8C,GAAA;AAAA,EAClD,IAAM,EAAA;AACR,CAAA;AAEO,MAAM,eAAkB,GAAAA,eAAA,CAAgC,CAAC,MAAA,EAAQ,GAAQ,KAAA;AAC9E,EAAA,MAAM,KAAQ,GAAAC,iBAAA,CAAS,iBAAmB,EAAA,YAAA,EAAc,MAAM,CAAA;AAC9D,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,EAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAA,KAAA;AACJ,EAAA,MAAM,MAAMC,uCAAqB,EAAA;AACjC,EAAA,MAAM,kBAAkBC,2CAAuB,EAAA;AAE/C,EAAA,MAAM,YAAYC,mBAAkC,CAAA;AAAA,IAClD,IAAM,EAAA,iBAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,KAAO,EAAAC;AAAA,KACT;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAc,EAAA;AAAA,GACf,CAAA;AAED,EAAM,MAAA,SAAA,GAAY,YAAY,GAAK,EAAA,QAAA;AAEnC,EACE,uBAAAC,cAAA;AAAA,IAACC,OAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,OAAA;AAAA,MACV,GAAK,EAAAC,kBAAA,CAAa,GAAK,EAAA,GAAA,EAAK,QAAQ,CAAA;AAAA,MACpC,WAAW,EAAA,IAAA;AAAA,MACX,QAAU,EAAA,SAAA;AAAA,MACV,KAAK,CAAC,EAAE,UAAU,SAAW,EAAA,OAAA,IAAW,GAAG,CAAA;AAAA,MAC1C,GAAG,UAAU,OAAO,CAAA;AAAA,MACpB,GAAG,MAAA;AAAA,MACJ,EAAA,EAAI,iBAAiB,OAAW,IAAA,EAAA;AAAA,MAChC,gBAAc,GAAK,EAAA,QAAA;AAAA,MACnB,oBAAkB,eAAiB,EAAA,WAAA;AAAA,MACnC,IAAK,EAAA,MAAA;AAAA,MACL,aAAa,CAAC,KAAA,KAAU,CAAC,OAAA,IAAW,MAAM,eAAgB;AAAA;AAAA,GAC5D;AAEJ,CAAC;AAED,eAAA,CAAgB,WAAc,GAAA,8BAAA;;;;"}