@s-ui/react-molecule-select
Version:
`MoleculeSelect` is a customized `select` created from a combination of `AtomInput`, `MoleculeInputTags`, `MoleculeDropdownList` and `MoleculeDropdownOption`
37 lines • 1.37 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { forwardRef } from 'react';
import AtomInput, { inputTypes } from '@s-ui/react-atom-input';
import { useDropdown } from '../config.js';
import { getClassSearch } from './config.js';
import { jsx as _jsx } from "react/jsx-runtime";
var Search = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
var _setInputRef$current;
var _useDropdown = useDropdown(),
setInputRef = _useDropdown.setInputRef,
isOpen = _useDropdown.isOpen,
onSearch = _useDropdown.onSearch,
searchPlaceholder = _useDropdown.searchPlaceholder,
searchIcon = _useDropdown.searchIcon;
var onChange = function onChange(_ev, _ref) {
var value = _ref.value;
typeof onSearch === 'function' && setTimeout(function () {
return onSearch({
value: value
});
});
};
return /*#__PURE__*/_jsx("div", {
className: getClassSearch(isOpen),
children: /*#__PURE__*/_jsx(AtomInput, _extends({
ref: forwardedRef,
type: inputTypes.TEXT,
value: setInputRef == null ? void 0 : (_setInputRef$current = setInputRef.current) == null ? void 0 : _setInputRef$current.value,
reference: setInputRef,
onChange: onChange,
placeholder: searchPlaceholder,
leftIcon: searchIcon
}, props))
});
});
Search.displayName = 'Search';
export default Search;