UNPKG

@geist-ui/react

Version:

Modern and minimalist React UI library.

50 lines (44 loc) 2.14 kB
import _JSXStyle from "../styled-jsx.es.js"; import React, { useMemo } from 'react'; import useTheme from '../use-theme'; import { useAutoCompleteContext } from './auto-complete-context'; import Dropdown from '../shared/dropdown'; var defaultProps = { className: '', dropdownStyle: {} }; var AutoCompleteDropdown = function AutoCompleteDropdown(_ref) { var children = _ref.children, visible = _ref.visible, className = _ref.className, dropdownStyle = _ref.dropdownStyle, disableMatchWidth = _ref.disableMatchWidth, getPopupContainer = _ref.getPopupContainer; var theme = useTheme(); var _useAutoCompleteConte = useAutoCompleteContext(), ref = _useAutoCompleteConte.ref; var isEmpty = useMemo(function () { return !visible || React.Children.count(children) === 0; }, [children, visible]); var clickHandler = function clickHandler(event) { event.preventDefault(); event.stopPropagation(); event.nativeEvent.stopImmediatePropagation(); }; return /*#__PURE__*/React.createElement(Dropdown, { parent: ref, visible: visible, disableMatchWidth: disableMatchWidth, getPopupContainer: getPopupContainer }, /*#__PURE__*/React.createElement("div", { style: dropdownStyle, onClick: clickHandler, className: _JSXStyle.dynamic([["155200262", [theme.layout.radius, isEmpty ? 'none' : theme.expressiveness.shadowLarge, theme.palette.background]]]) + " " + "auto-complete-dropdown ".concat(className) }, children, /*#__PURE__*/React.createElement(_JSXStyle, { id: "155200262", dynamic: [theme.layout.radius, isEmpty ? 'none' : theme.expressiveness.shadowLarge, theme.palette.background] }, ".auto-complete-dropdown.__jsx-style-dynamic-selector{border-radius:".concat(theme.layout.radius, ";box-shadow:").concat(isEmpty ? 'none' : theme.expressiveness.shadowLarge, ";background-color:").concat(theme.palette.background, ";overflow-y:auto;max-height:15rem;overflow-anchor:none;}")))); }; AutoCompleteDropdown.defaultProps = defaultProps; AutoCompleteDropdown.displayName = 'GeistAutoCompleteDropdown'; export default AutoCompleteDropdown;