Acts as a container for all other DualListSelector sub-components when using a composable dual list selector.

interface DualListSelectorProps {
    addAll?: ((newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void);
    addAllAriaLabel?: string;
    addAllTooltip?: ReactNode;
    addAllTooltipProps?: any;
    addSelected?: ((newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void);
    addSelectedAriaLabel?: string;
    addSelectedTooltip?: ReactNode;
    addSelectedTooltipProps?: any;
    availableOptions?: ReactNode[] | DualListSelectorTreeItemData[];
    availableOptionsActions?: ReactNode[];
    availableOptionsSearchAriaLabel?: string;
    availableOptionsStatus?: string;
    availableOptionsTitle?: string;
    children?: ReactNode;
    chosenOptions?: ReactNode[] | DualListSelectorTreeItemData[];
    chosenOptionsActions?: ReactNode[];
    chosenOptionsSearchAriaLabel?: string;
    chosenOptionsStatus?: string;
    chosenOptionsTitle?: string;
    className?: string;
    controlsAriaLabel?: string;
    filterOption?: ((option: ReactNode, input: string) => boolean);
    id?: string;
    isDisabled?: boolean;
    isSearchable?: boolean;
    isTree?: boolean;
    onAvailableOptionsSearchInputChanged?: ((event: FormEvent<HTMLInputElement>, value: string) => void);
    onChosenOptionsSearchInputChanged?: ((event: FormEvent<HTMLInputElement>, value: string) => void);
    onListChange?: ((event: MouseEvent<HTMLElement, MouseEvent>, newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void);
    onOptionCheck?: ((event: MouseEvent<Element, MouseEvent> | KeyboardEvent<Element> | ChangeEvent<HTMLInputElement>, checked: boolean, checkedId: string, newCheckedItems: string[]) => void);
    onOptionSelect?: ((event: MouseEvent<Element, MouseEvent> | ChangeEvent<Element> | KeyboardEvent<Element>, index: number, isChosen: boolean, id: string, itemData: any, parentData: any) => void);
    removeAll?: ((newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void);
    removeAllAriaLabel?: string;
    removeAllTooltip?: ReactNode;
    removeAllTooltipProps?: any;
    removeSelected?: ((newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void);
    removeSelectedAriaLabel?: string;
    removeSelectedTooltip?: ReactNode;
    removeSelectedTooltipProps?: any;
}

Properties

addAll?: ((newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void)

Optional callback for the dynamically built add all button

addAllAriaLabel?: string

Accessible label for the dynamically built add all button

addAllTooltip?: ReactNode

Tooltip content for the dynamically built add all button

addAllTooltipProps?: any

Additonal tooltip properties for the dynamically built add all tooltip

addSelected?: ((newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void)

Optional callback for the dynamically built add selected button

addSelectedAriaLabel?: string

Accessible label for the dynamically built add selected button

addSelectedTooltip?: ReactNode

Tooltip content for the dynamically built add selected button

addSelectedTooltipProps?: any

Additonal tooltip properties for the dynamically built add selected tooltip

availableOptions?: ReactNode[] | DualListSelectorTreeItemData[]

Options to display in the dynamically built available options pane. When using trees, the options should be in the DualListSelectorTreeItemData[] format.

availableOptionsActions?: ReactNode[]

Actions to be displayed above the dynamically built available options pane.

availableOptionsSearchAriaLabel?: string

Accessible label for the search input on the dynamically built available options pane.

availableOptionsStatus?: string

Status message to display above the dynamically built available options pane.

availableOptionsTitle?: string

Title applied to the dynamically built available options pane.

children?: ReactNode

Content to be rendered in the dual list selector. Panes & controls will not be built dynamically when children are provided.

chosenOptions?: ReactNode[] | DualListSelectorTreeItemData[]

Options to display in the dynamically built chosen options pane. When using trees, the options should be in the DualListSelectorTreeItemData[] format.

chosenOptionsActions?: ReactNode[]

Actions to be displayed above the dynamically built chosen options pane.

chosenOptionsSearchAriaLabel?: string

Accessible label for the search input on the dynamically built chosen options pane.

chosenOptionsStatus?: string

Status message to display above the dynamically built chosen options pane.

chosenOptionsTitle?: string

Title applied to the dynamically built chosen options pane.

className?: string

Additional classes applied to the dual list selector.

controlsAriaLabel?: string

Accessible label for the dynamically built controls between the two panes.

filterOption?: ((option: ReactNode, input: string) => boolean)

Optional filter function for custom filtering based on search string. Used with a dynamically built search input.

id?: string

Id of the dual list selector.

isDisabled?: boolean

Flag indicating if the dual list selector is in a disabled state

isSearchable?: boolean

Flag indicating a search bar should be included above both the dynamically built available and chosen panes.

isTree?: boolean

Flag indicating if the dual list selector uses trees instead of simple lists

onAvailableOptionsSearchInputChanged?: ((event: FormEvent<HTMLInputElement>, value: string) => void)

A callback for when the search input value for the dynamically built available options changes.

onChosenOptionsSearchInputChanged?: ((event: FormEvent<HTMLInputElement>, value: string) => void)

A callback for when the search input value for the dynamically built chosen options changes.

onListChange?: ((event: MouseEvent<HTMLElement, MouseEvent>, newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void)

Callback fired every time dynamically built options are chosen or removed

onOptionCheck?: ((event: MouseEvent<Element, MouseEvent> | KeyboardEvent<Element> | ChangeEvent<HTMLInputElement>, checked: boolean, checkedId: string, newCheckedItems: string[]) => void)

Optional callback fired when a dynamically built option is checked

onOptionSelect?: ((event: MouseEvent<Element, MouseEvent> | ChangeEvent<Element> | KeyboardEvent<Element>, index: number, isChosen: boolean, id: string, itemData: any, parentData: any) => void)

Optional callback fired when a dynamically built option is selected

removeAll?: ((newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void)

Optional callback for the dynamically built remove all button

removeAllAriaLabel?: string

Accessible label for the dynamically built remove all button

removeAllTooltip?: ReactNode

Tooltip content for the dynamically built remove all button

removeAllTooltipProps?: any

Additonal tooltip properties for the dynamically built remove all tooltip

removeSelected?: ((newAvailableOptions: ReactNode[], newChosenOptions: ReactNode[]) => void)

Optional callback for the dynamically built remove selected button

removeSelectedAriaLabel?: string

Accessible label for the dynamically built remove selected button

removeSelectedTooltip?: ReactNode

Tooltip content for the dynamically built remove selected button

removeSelectedTooltipProps?: any

Additonal tooltip properties for the dynamically built remove selected tooltip