const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); const Icon = require('stremio-icons/dom'); const { Button, Popup, useBinaryState } = require('stremio/common'); require('./styles'); const PickerMenu = ({ className, name = '', value = '', options = [], onSelect }) => { const [menuOpen, openMenu, closeMenu, toggleMenu] = useBinaryState(false); const optionOnClick = React.useCallback((event) => { if (typeof onSelect === 'function') { onSelect(event); } if (!event.nativeEvent.closeMenuPrevented) { closeMenu(); } }, [onSelect]); return ( ( )} renderMenu={() => (
{ Array.isArray(options) ? options.map(({ label, value }) => ( )) : null }
)} /> ); }; PickerMenu.propTypes = { className: PropTypes.string, name: PropTypes.string, value: PropTypes.string, options: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })), onSelect: PropTypes.func }; module.exports = PickerMenu;