UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

39 lines (37 loc) 1.47 kB
import { cs } from "../utils/styles.js"; import styled from "../core/styled.js"; import { List } from "../list/list.js"; import Popover from "../popover/popover.js"; import { memo } from "react"; import { jsx, jsxs } from "react/jsx-runtime"; //#region src/textField/textFieldAutoComplete.tsx const TextFieldAutoCompleteContainer = styled.divBox` width: 100%; `; /** Wrapper for the autocomplete popover. */ const TextFieldAutoComplete = memo(function TextFieldAutoComplete({ autoCompleteOptions, autoCompleteMaxHeight, children, filterAutoCompleteOptions, onAutoCompleteSelect }) { if (!autoCompleteOptions?.length) return children; return /* @__PURE__ */ jsxs(Popover, { placement: "bottom-start", matchWidth: true, children: [/* @__PURE__ */ jsx(Popover.Trigger, { as: TextFieldAutoCompleteContainer, className: cs("vui-autoComplete-trigger"), children }), /* @__PURE__ */ jsx(Popover.Content, { children: /* @__PURE__ */ jsx(List, { maxH: autoCompleteMaxHeight, w: "100%", className: cs("vui-autoComplete-list"), children: autoCompleteOptions.filter(filterAutoCompleteOptions).map((i) => /* @__PURE__ */ jsx(List.Item, { cursor: "pointer", hoverBg: "skyBlue.hover", onClick: () => onAutoCompleteSelect(i), children: i }, i)) }) })] }); }); //#endregion export { TextFieldAutoComplete, TextFieldAutoComplete as default }; globalThis.__vuiVersion__ = "5.4.0-alpha" //# sourceMappingURL=textFieldAutoComplete.js.map