UNPKG

@grafana/ui

Version:
1 lines 3.02 kB
{"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;;;;"}