import React, { useId } from 'react'; import { forwardRef } from '../../../utils/forwardRef'; import type { FormRowProps } from '../../FormRow/FormRow'; import { FormRow } from '../../FormRow/FormRow'; import type { FormRowHelperTextOwnProps } from '../../FormRow/FormRowHelperText'; import { InputLoader } from '../../Inputs/InputLoader'; import type { MultiSelectProps } from '../../Inputs/MultiSelect/MultiSelect'; import { MultiSelect } from '../../Inputs/MultiSelect/MultiSelect'; export type { MultiSelectSelectors } from '../../Inputs/MultiSelect/hooks/useMultiSelectState'; export interface MultiSelectFieldProps extends Omit, Partial, Omit, 'error' | 'warning'> { /** * Displays a loading state instead of the MultiSelect input. */ loading?: boolean; /** * Addon to the right of the input. * * **INTERNAL USE ONLY:** It is unsafe to rely on this prop, as it may change or be removed in the future. * @internal */ UNSAFE_addon?: React.ReactNode; } export const MultiSelectField = forwardRef(function MultiSelectField( { id, error, hint, justify, label, required, tooltip, warning, loading, labelHidden, UNSAFE_addon: addon, ...multiSelectProps }: MultiSelectFieldProps, ref: React.ForwardedRef ) { const generatedId = useId(); id = id ?? generatedId; return (
{addon}
); });