@grafana/ui
Version:
Grafana Components Library
1 lines • 3.03 kB
Source Map (JSON)
{"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,YAAA,GAAe,UAAA;AAAA,EAC1B,SAASA,aAAAA,CAAa,EAAE,OAAA,EAAS,OAAA,EAAS,QAAA,EAAU,QAAA,EAAU,UAAA,EAAY,MAAA,EAAQ,GAAG,UAAA,EAAW,EAAG,GAAA,EAAK;AACtG,IAAA,MAAM,SAAS,UAAA,CAAW,qBAAA,EAAuB,OAAA,EAAS,CAAC,CAAC,MAAM,CAAA;AAElE,IAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,OAAO,KAAA,EAAQ,GAAG,YAAY,GAAA,EAC3C,QAAA,EAAA;AAAA,MAAA,MAAA,wBAAW,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,MAAA,CAAO,MAAM,GAAI,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,MACrD;AAAA,KAAA,EACH,CAAA;AAAA,EAEJ;AACF;AAEA,MAAM,qBAAA,GAAwB,CAAC,KAAA,EAAsB,OAAA,EAAkB,UAAA,KAAwB;AAC7F,EAAA,MAAM,MAAA,GAAS,cAAA,CAAe,EAAE,KAAA,EAAO,SAAS,CAAA;AAEhD,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,EAAA;AAAA,MACL,aAAa,KAAK,CAAA;AAAA,MAClB,GAAA,CAAI;AAAA,QACF,KAAA,EAAO,MAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,KAAA;AAAA,QACf,UAAA,EAAY,QAAA;AAAA,QACZ,QAAA,EAAU,MAAA;AAAA,QACV,cAAA,EAAgB,eAAA;AAAA,QAChB,YAAA,EAAc,CAAA;AAAA,QACd,QAAA,EAAU,UAAA;AAAA,QACV,SAAA,EAAW;AAAA,OACZ,CAAA;AAAA,MACD,cACE,GAAA,CAAI;AAAA,QACF,WAAA,EAAa;AAAA,OACd;AAAA,KACL;AAAA,IACA,MAAA,EAAQ,EAAA;AAAA,MACN,MAAA,CAAO,MAAA;AAAA,MACP,GAAA,CAAI;AAAA,QACF,QAAA,EAAU;AAAA,OACX;AAAA;AACH,GACF;AACF,CAAA;;;;"}