@shopify/polaris
Version:
Shopify’s admin product component library
36 lines • 1.88 kB
TypeScript
import React, { ReactNode } from 'react';
export declare enum AutoSelection {
/** Default active option is the first selected option. If no options are selected, defaults to first interactive option. */
FirstSelected = "FIRST_SELECTED",
/** Default active option is always the first interactive option. */
First = "FIRST"
}
export interface ListboxProps {
/** Inner content of the listbox */
children: ReactNode;
/** Indicates the default active option in the list. Patterns that support option creation should default the active option to the first option.
* @default AutoSelection.FirstSelected
*/
autoSelection?: AutoSelection;
/** Explicitly enable keyboard control */
enableKeyboardControl?: boolean;
/** Visually hidden text for screen readers */
accessibilityLabel?: string;
/** Provide a custom ID for the list element */
customListId?: string;
/** Callback fired when an option is selected */
onSelect?(value: string): void;
/** Callback fired when an option becomes active */
onActiveOptionChange?(value: string, domId: string): void;
}
export declare type ArrowKeys = 'up' | 'down';
export declare function Listbox({ children, autoSelection, enableKeyboardControl, accessibilityLabel, customListId, onSelect, onActiveOptionChange, }: ListboxProps): JSX.Element;
export declare namespace Listbox {
var Option: React.NamedExoticComponent<import("./components").OptionProps>;
var TextOption: React.NamedExoticComponent<import("./components/TextOption/TextOption").TextOptionProps>;
var Loading: React.NamedExoticComponent<import("./components/Loading/Loading").LoadingProps>;
var Section: typeof import("./components").Section;
var Header: typeof import("./components").Header;
var Action: typeof import("./components").Action;
}
//# sourceMappingURL=Listbox.d.ts.map