@itwin/itwinui-react
Version:
A react component library for iTwinUI
41 lines (40 loc) • 1.19 kB
JavaScript
import * as React from 'react';
import { StatusMessage } from '../StatusMessage/StatusMessage.js';
import {
InputContainer,
useSafeContext,
InputWithIcon,
} from '../../utils/index.js';
import { ComboBoxStateContext } from './helpers.js';
export const ComboBoxInputContainer = React.forwardRef(
(props, forwardedRef) => {
let { className, status, message, children, ...rest } = props;
let { id } = useSafeContext(ComboBoxStateContext);
return React.createElement(
InputContainer,
{
className: className,
status: status,
statusMessage:
'string' == typeof message
? React.createElement(
StatusMessage,
{
status: status,
},
message,
)
: React.isValidElement(message) &&
React.cloneElement(message, {
status,
}),
ref: forwardedRef,
...rest,
id: id,
},
React.createElement(InputWithIcon, null, children),
);
},
);
if ('development' === process.env.NODE_ENV)
ComboBoxInputContainer.displayName = 'ComboBoxInputContainer';