@grafana/ui
Version:
Grafana Components Library
1 lines • 4.9 kB
Source Map (JSON)
{"version":3,"file":"getMultiComboboxStyles.mjs","sources":["../../../../src/components/Combobox/getMultiComboboxStyles.ts"],"sourcesContent":["import { css, cx } from '@emotion/css';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nimport { getFocusStyles } from '../../themes/mixins';\nimport { getInputStyles } from '../Input/Input';\n\nexport const getMultiComboboxStyles = (\n theme: GrafanaTheme2,\n isOpen: boolean,\n invalid?: boolean,\n disabled?: boolean,\n width?: number | 'auto',\n minWidth?: number,\n maxWidth?: number,\n isClearable?: boolean\n) => {\n const inputStyles = getInputStyles({ theme, invalid });\n const focusStyles = getFocusStyles(theme);\n\n const wrapperWidth = width && width !== 'auto' ? theme.spacing(width) : '100%';\n const wrapperMinWidth = minWidth ? theme.spacing(minWidth) : '';\n const wrapperMaxWidth = maxWidth ? theme.spacing(maxWidth) : '';\n\n return {\n container: css({\n width: width === 'auto' ? 'auto' : wrapperWidth,\n minWidth: wrapperMinWidth,\n maxWidth: wrapperMaxWidth,\n display: width === 'auto' ? 'inline-block' : 'block',\n }), // wraps everything\n wrapper: cx(\n inputStyles.input,\n css({\n display: 'flex',\n width: '100%',\n gap: theme.spacing(0.5),\n padding: theme.spacing(0.5),\n paddingRight: isClearable ? theme.spacing(5) : 28, // Account for suffix\n '&:focus-within': {\n ...focusStyles,\n },\n })\n ),\n input: css({\n border: 'none',\n outline: 'none',\n background: 'transparent',\n flexGrow: 1,\n maxWidth: '100%',\n minWidth: 40, // This is a bit arbitrary, but is used to leave some space for clicking. This will override the minWidth property\n '&::placeholder': {\n color: theme.colors.text.disabled,\n },\n '&:focus': {\n outline: 'none',\n cursor: 'text',\n },\n cursor: 'pointer',\n }),\n\n pillWrapper: css({\n display: 'inline-flex',\n flexWrap: isOpen ? 'wrap' : 'nowrap',\n flexGrow: 1,\n minWidth: '50px',\n gap: theme.spacing(0.5),\n }),\n restNumber: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: theme.spacing(0, 1),\n border: disabled ? `1px solid ${theme.colors.border.weak}` : 'none',\n borderRadius: theme.shape.radius.default,\n backgroundColor: theme.colors.background.secondary,\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.colors.action.hover,\n },\n }),\n suffix: inputStyles.suffix,\n disabled: inputStyles.inputDisabled,\n };\n};\n"],"names":[],"mappings":"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"}