UNPKG

@ariakit/react-core

Version:

Ariakit React core

99 lines (82 loc) 3.3 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _7GKSQOUWcjs = require('../__chunks/7GKSQOUW.cjs'); require('../__chunks/5K46XOEI.cjs'); var _IOFHSY3Lcjs = require('../__chunks/IOFHSY3L.cjs'); require('../__chunks/7X7JMIHX.cjs'); require('../__chunks/WDV6EJ2U.cjs'); require('../__chunks/VFNUZFXS.cjs'); require('../__chunks/EOGOO37X.cjs'); require('../__chunks/F6OAWDMC.cjs'); require('../__chunks/HAR6UDZU.cjs'); require('../__chunks/BB34VMZX.cjs'); require('../__chunks/T3QB4FR3.cjs'); var _RDNUVX4Vcjs = require('../__chunks/RDNUVX4V.cjs'); require('../__chunks/ZYZTL3IQ.cjs'); var _SQLDFLTEcjs = require('../__chunks/SQLDFLTE.cjs'); var _4KGS3DOWcjs = require('../__chunks/4KGS3DOW.cjs'); require('../__chunks/TWX5YNTH.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 = _SQLDFLTEcjs.createHook.call(void 0, function useComboboxDisclosure2({ store, ...props }) { const context = _IOFHSY3Lcjs.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 = _4KGS3DOWcjs.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 = _4KGS3DOWcjs.useEvent.call(void 0, (event) => { onClickProp == null ? void 0 : onClickProp(event); if (event.defaultPrevented) return; if (!store) return; const { baseElement: baseElement2 } = store.getState(); store.setDisclosureElement(baseElement2); }); const baseElement = _RDNUVX4Vcjs.useStoreState.call(void 0, store, "baseElement"); const open = _RDNUVX4Vcjs.useStoreState.call(void 0, store, "open"); _4KGS3DOWcjs.useSafeLayoutEffect.call(void 0, () => { if (!baseElement) return; store.setDisclosureElement(baseElement); }, [store, baseElement]); props = { children, tabIndex: -1, "aria-label": open ? "Hide popup" : "Show popup", "aria-expanded": open, ...props, onMouseDown, onClick }; props = _7GKSQOUWcjs.useDialogDisclosure.call(void 0, { store, ...props }); return props; }); var ComboboxDisclosure = _SQLDFLTEcjs.forwardRef.call(void 0, function ComboboxDisclosure2(props) { const htmlProps = useComboboxDisclosure(props); return _SQLDFLTEcjs.createElement.call(void 0, TagName, htmlProps); }); exports.ComboboxDisclosure = ComboboxDisclosure; exports.useComboboxDisclosure = useComboboxDisclosure;