{"version":3,"file":"InputControl.mjs","sources":["../../../../src/components/Select/InputControl.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport { forwardRef } from 'react';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nimport { useStyles2 } from '../../themes/ThemeContext';\nimport { inputPadding } from '../Forms/commonStyles';\nimport { getInputStyles } from '../Input/Input';\n\ninterface InputControlProps {\n  /** Show an icon as a prefix in the input */\n  prefix?: JSX.Element | string | null;\n  focused: boolean;\n  invalid: boolean;\n  disabled: boolean;\n  innerProps: JSX.IntrinsicElements['div'];\n}\n\nexport const InputControl = forwardRef<HTMLDivElement, React.PropsWithChildren<InputControlProps>>(\n  function InputControl({ focused, invalid, disabled, children, innerProps, prefix, ...otherProps }, ref) {\n    const styles = useStyles2(getInputControlStyles, invalid, !!prefix);\n\n    return (\n      <div className={styles.input} {...innerProps} ref={ref}>\n        {prefix && <div className={cx(styles.prefix)}>{prefix}</div>}\n        {children}\n      </div>\n    );\n  }\n);\n\nconst getInputControlStyles = (theme: GrafanaTheme2, invalid: boolean, withPrefix: boolean) => {\n  const styles = getInputStyles({ theme, invalid });\n\n  return {\n    input: cx(\n      inputPadding(theme),\n      css({\n        width: '100%',\n        maxWidth: '100%',\n        display: 'flex',\n        flexDirection: 'row',\n        alignItems: 'center',\n        flexWrap: 'wrap',\n        justifyContent: 'space-between',\n        paddingRight: 0,\n        position: 'relative',\n        boxSizing: 'border-box',\n      }),\n      withPrefix &&\n        css({\n          paddingLeft: 0,\n        })\n    ),\n    prefix: cx(\n      styles.prefix,\n      css({\n        position: 'relative',\n      })\n    ),\n  };\n};\n"],"names":["InputControl"],"mappings":";;;;;;;AAkBO,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,SAASA,aAAAA,CAAa,EAAE,OAAA,EAAS,OAAS,EAAA,QAAA,EAAU,QAAU,EAAA,UAAA,EAAY,MAAQ,EAAA,GAAG,UAAW,EAAA,EAAG,GAAK,EAAA;AACtG,IAAA,MAAM,SAAS,UAAW,CAAA,qBAAA,EAAuB,OAAS,EAAA,CAAC,CAAC,MAAM,CAAA;AAElE,IAAA,4BACG,KAAI,EAAA,EAAA,SAAA,EAAW,OAAO,KAAQ,EAAA,GAAG,YAAY,GAC3C,EAAA,QAAA,EAAA;AAAA,MAAA,MAAA,wBAAW,KAAI,EAAA,EAAA,SAAA,EAAW,GAAG,MAAO,CAAA,MAAM,GAAI,QAAO,EAAA,MAAA,EAAA,CAAA;AAAA,MACrD;AAAA,KACH,EAAA,CAAA;AAAA;AAGN;AAEA,MAAM,qBAAwB,GAAA,CAAC,KAAsB,EAAA,OAAA,EAAkB,UAAwB,KAAA;AAC7F,EAAA,MAAM,MAAS,GAAA,cAAA,CAAe,EAAE,KAAA,EAAO,SAAS,CAAA;AAEhD,EAAO,OAAA;AAAA,IACL,KAAO,EAAA,EAAA;AAAA,MACL,aAAa,KAAK,CAAA;AAAA,MAClB,GAAI,CAAA;AAAA,QACF,KAAO,EAAA,MAAA;AAAA,QACP,QAAU,EAAA,MAAA;AAAA,QACV,OAAS,EAAA,MAAA;AAAA,QACT,aAAe,EAAA,KAAA;AAAA,QACf,UAAY,EAAA,QAAA;AAAA,QACZ,QAAU,EAAA,MAAA;AAAA,QACV,cAAgB,EAAA,eAAA;AAAA,QAChB,YAAc,EAAA,CAAA;AAAA,QACd,QAAU,EAAA,UAAA;AAAA,QACV,SAAW,EAAA;AAAA,OACZ,CAAA;AAAA,MACD,cACE,GAAI,CAAA;AAAA,QACF,WAAa,EAAA;AAAA,OACd;AAAA,KACL;AAAA,IACA,MAAQ,EAAA,EAAA;AAAA,MACN,MAAO,CAAA,MAAA;AAAA,MACP,GAAI,CAAA;AAAA,QACF,QAAU,EAAA;AAAA,OACX;AAAA;AACH,GACF;AACF,CAAA;;;;"}