import { cnb } from "cnbuilder"; import { type ReactElement } from "react"; import { Box, type BoxProps } from "../box/Box.js"; import { cssUtils } from "../cssUtils.js"; import { type OptionProps } from "./Option.js"; import { textField } from "./textFieldStyles.js"; /** * @since 6.0.0 * @internal */ export interface SelectedOptionProps extends BoxProps { option: OptionProps | undefined; disableAddon: boolean; } /** * This component is used to render the current option. * * @since 6.0.0 * @internal */ export function SelectedOption(props: SelectedOptionProps): ReactElement { const { disableAddon, option, className, disableWrap = true, disablePadding = true, ...remaining } = props; let { children } = remaining; // when the children are a string or number, wrap it in additional span so // that overflow can be ellipsis-ed if (typeof children === "string" || typeof children === "number") { children = ( {children} ); } return ( {!disableAddon && option?.leftAddon} {children} ); }