constructor(props) {
        super(props);
        this.inputId = uniqueId('picklist-input');
        this.errorMessageId = uniqueId('error-message');
        this.listboxId = uniqueId('listbox');
        this.containerRef = React.createRef();
        this.triggerRef = React.createRef();
        this.dropdownRef = React.createRef();
        this.handleInputClick = this.handleInputClick.bind(this);
        this.handleFocus = this.handleFocus.bind(this);
        this.handleBlur = this.handleBlur.bind(this);
        this.handleKeyPressed = this.handleKeyPressed.bind(this);
        this.handleChange = this.handleChange.bind(this);
        this.closeAndFocusInput = this.closeAndFocusInput.bind(this);
        this.handleWindowScroll = this.handleWindowScroll.bind(this);
        this.handleWindowResize = this.handleWindowResize.bind(this);
        this.outsideClick = new OutsideClick();
        this.windowScrolling = new WindowScrolling();
        this.windowResize = new WindowResize();
        this.activeChildren = [];
        this.state = {
            isOpen: false,
        };
        this.keyHandlerMap = {
            [ESCAPE_KEY]: this.closeAndFocusInput,
            [TAB_KEY]: this.closeAndFocusInput,
        };
    }
A Picklist provides a user with an read-only input field that is accompanied with
 a listbox of pre-defined options.
@category Form