UNPKG

@ariakit/react-core

Version:

Ariakit React core

90 lines (76 loc) 2.95 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _LEJFGVJWcjs = require('../__chunks/LEJFGVJW.cjs'); require('../__chunks/VDYMVXFM.cjs'); var _2MWKJ5UMcjs = require('../__chunks/2MWKJ5UM.cjs'); require('../__chunks/QXXNZT2I.cjs'); require('../__chunks/5WCU5NVK.cjs'); require('../__chunks/57Z4CQLB.cjs'); require('../__chunks/GCJBB4ZT.cjs'); require('../__chunks/72TB42XG.cjs'); require('../__chunks/HMZCNR7F.cjs'); require('../__chunks/YAKNSXYI.cjs'); require('../__chunks/T3QB4FR3.cjs'); require('../__chunks/QJGTENWI.cjs'); var _WBFXWJUHcjs = require('../__chunks/WBFXWJUH.cjs'); var _MZ2HG624cjs = require('../__chunks/MZ2HG624.cjs'); require('../__chunks/XMDZRF6Y.cjs'); // src/combobox/combobox-disclosure.tsx var _misc = require('@ariakit/core/utils/misc'); var _jsxruntime = require('react/jsx-runtime'); var TagName = "button"; var children = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { "aria-hidden": "true", display: "block", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, viewBox: "0 0 16 16", height: "1em", width: "1em", pointerEvents: "none", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polyline", { points: "4,6 8,10 12,6" }) } ); var useComboboxDisclosure = _WBFXWJUHcjs.createHook.call(void 0, function useComboboxDisclosure2({ store, ...props }) { const context = _2MWKJ5UMcjs.useComboboxProviderContext.call(void 0, ); store = store || context; _misc.invariant.call(void 0, store, process.env.NODE_ENV !== "production" && "ComboboxDisclosure must receive a `store` prop or be wrapped in a ComboboxProvider component." ); const onMouseDownProp = props.onMouseDown; const onMouseDown = _MZ2HG624cjs.useEvent.call(void 0, (event) => { onMouseDownProp == null ? void 0 : onMouseDownProp(event); event.preventDefault(); store == null ? void 0 : store.move(null); }); const onClickProp = props.onClick; const onClick = _MZ2HG624cjs.useEvent.call(void 0, (event) => { onClickProp == null ? void 0 : onClickProp(event); if (event.defaultPrevented) return; if (!store) return; const { baseElement } = store.getState(); store.setDisclosureElement(baseElement); }); const open = store.useState("open"); props = { children, tabIndex: -1, "aria-label": open ? "Hide popup" : "Show popup", "aria-expanded": open, ...props, onMouseDown, onClick }; props = _LEJFGVJWcjs.useDialogDisclosure.call(void 0, { store, ...props }); return props; }); var ComboboxDisclosure = _WBFXWJUHcjs.forwardRef.call(void 0, function ComboboxDisclosure2(props) { const htmlProps = useComboboxDisclosure(props); return _WBFXWJUHcjs.createElement.call(void 0, TagName, htmlProps); }); exports.ComboboxDisclosure = ComboboxDisclosure; exports.useComboboxDisclosure = useComboboxDisclosure;