UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

112 lines (111 loc) 5.21 kB
"use client"; require("../../_virtual/_rolldown/runtime.cjs"); const require_rem = require("../../core/utils/units-converters/rem.cjs"); const require_get_size = require("../../core/utils/get-size/get-size.cjs"); const require_create_vars_resolver = require("../../core/styles-api/create-vars-resolver/create-vars-resolver.cjs"); const require_use_props = require("../../core/MantineProvider/use-props/use-props.cjs"); const require_use_styles = require("../../core/styles-api/use-styles/use-styles.cjs"); const require_Popover = require("../Popover/Popover.cjs"); const require_Combobox_module = require("./Combobox.module.cjs"); const require_ComboboxChevron = require("./ComboboxChevron/ComboboxChevron.cjs"); const require_Combobox_context = require("./Combobox.context.cjs"); const require_ComboboxClearButton = require("./ComboboxClearButton/ComboboxClearButton.cjs"); const require_ComboboxDropdown = require("./ComboboxDropdown/ComboboxDropdown.cjs"); const require_ComboboxDropdownTarget = require("./ComboboxDropdownTarget/ComboboxDropdownTarget.cjs"); const require_ComboboxEmpty = require("./ComboboxEmpty/ComboboxEmpty.cjs"); const require_ComboboxEventsTarget = require("./ComboboxEventsTarget/ComboboxEventsTarget.cjs"); const require_ComboboxFooter = require("./ComboboxFooter/ComboboxFooter.cjs"); const require_ComboboxGroup = require("./ComboboxGroup/ComboboxGroup.cjs"); const require_ComboboxHeader = require("./ComboboxHeader/ComboboxHeader.cjs"); const require_ComboboxHiddenInput = require("./ComboboxHiddenInput/ComboboxHiddenInput.cjs"); const require_ComboboxOption = require("./ComboboxOption/ComboboxOption.cjs"); const require_ComboboxOptions = require("./ComboboxOptions/ComboboxOptions.cjs"); const require_ComboboxSearch = require("./ComboboxSearch/ComboboxSearch.cjs"); const require_ComboboxTarget = require("./ComboboxTarget/ComboboxTarget.cjs"); const require_use_combobox = require("./use-combobox/use-combobox.cjs"); let react_jsx_runtime = require("react/jsx-runtime"); //#region packages/@mantine/core/src/components/Combobox/Combobox.tsx const defaultProps = { keepMounted: true, withinPortal: true, resetSelectionOnOptionHover: false, width: "target", transitionProps: { transition: "fade", duration: 0 }, size: "sm" }; const varsResolver = require_create_vars_resolver.createVarsResolver((_, { size, dropdownPadding }) => ({ options: { "--combobox-option-fz": require_get_size.getFontSize(size), "--combobox-option-padding": require_get_size.getSize(size, "combobox-option-padding") }, dropdown: { "--combobox-padding": dropdownPadding === void 0 ? void 0 : require_rem.rem(dropdownPadding), "--combobox-option-fz": require_get_size.getFontSize(size), "--combobox-option-padding": require_get_size.getSize(size, "combobox-option-padding") } })); const Combobox = (_props) => { const props = require_use_props.useProps("Combobox", defaultProps, _props); const { classNames, styles, unstyled, children, store: controlledStore, vars, onOptionSubmit, onClose, size, dropdownPadding, resetSelectionOnOptionHover, __staticSelector, readOnly, attributes, ...others } = props; const uncontrolledStore = require_use_combobox.useCombobox(); const store = controlledStore || uncontrolledStore; const getStyles = require_use_styles.useStyles({ name: __staticSelector || "Combobox", classes: require_Combobox_module.default, props, classNames, styles, unstyled, attributes, vars, varsResolver }); const onDropdownClose = () => { onClose?.(); store.closeDropdown(); }; return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Combobox_context.ComboboxProvider, { value: { getStyles, store, onOptionSubmit, size, resetSelectionOnOptionHover, readOnly }, children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Popover.Popover, { opened: store.dropdownOpened, preventPositionChangeWhenVisible: false, ...others, onChange: (_opened) => !_opened && onDropdownClose(), withRoles: false, unstyled, children }) }); }; const extendCombobox = (c) => c; Combobox.extend = extendCombobox; Combobox.classes = require_Combobox_module.default; Combobox.varsResolver = varsResolver; Combobox.displayName = "@mantine/core/Combobox"; Combobox.Target = require_ComboboxTarget.ComboboxTarget; Combobox.Dropdown = require_ComboboxDropdown.ComboboxDropdown; Combobox.Options = require_ComboboxOptions.ComboboxOptions; Combobox.Option = require_ComboboxOption.ComboboxOption; Combobox.Search = require_ComboboxSearch.ComboboxSearch; Combobox.Empty = require_ComboboxEmpty.ComboboxEmpty; Combobox.Chevron = require_ComboboxChevron.ComboboxChevron; Combobox.Footer = require_ComboboxFooter.ComboboxFooter; Combobox.Header = require_ComboboxHeader.ComboboxHeader; Combobox.EventsTarget = require_ComboboxEventsTarget.ComboboxEventsTarget; Combobox.DropdownTarget = require_ComboboxDropdownTarget.ComboboxDropdownTarget; Combobox.Group = require_ComboboxGroup.ComboboxGroup; Combobox.ClearButton = require_ComboboxClearButton.ComboboxClearButton; Combobox.HiddenInput = require_ComboboxHiddenInput.ComboboxHiddenInput; //#endregion exports.Combobox = Combobox; //# sourceMappingURL=Combobox.cjs.map