UNPKG

@ariakit/react-core

Version:

Ariakit React core

78 lines (63 loc) 2.74 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _FYIGTOVUcjs = require('../__chunks/FYIGTOVU.cjs'); require('../__chunks/LJMK4VH7.cjs'); require('../__chunks/LEJFGVJW.cjs'); require('../__chunks/VDYMVXFM.cjs'); var _DYMTSYDCcjs = require('../__chunks/DYMTSYDC.cjs'); require('../__chunks/MIBORXQW.cjs'); require('../__chunks/XFOFWDPY.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/EMYYI4CZ.cjs'); require('../__chunks/QJGTENWI.cjs'); var _WBFXWJUHcjs = require('../__chunks/WBFXWJUH.cjs'); var _MZ2HG624cjs = require('../__chunks/MZ2HG624.cjs'); require('../__chunks/XMDZRF6Y.cjs'); // src/composite/composite-overflow-disclosure.ts var _store = require('@ariakit/core/utils/store'); var _react = require('react'); var TagName = "button"; var useCompositeOverflowDisclosure = _WBFXWJUHcjs.createHook.call(void 0, function useCompositeOverflowDisclosure2({ store, ...props }) { const ref = _react.useRef.call(void 0, null); const [shouldRegisterItem, setShouldRegisterItem] = _react.useState.call(void 0, false); _react.useEffect.call(void 0, () => { return _store.sync.call(void 0, store, ["disclosureElement"], () => { store.setDisclosureElement(ref.current); }); }, [store]); const onFocusProp = props.onFocus; const onFocus = _MZ2HG624cjs.useEvent.call(void 0, (event) => { onFocusProp == null ? void 0 : onFocusProp(event); if (event.defaultPrevented) return; setShouldRegisterItem(true); }); const onBlurProp = props.onBlur; const onBlur = _MZ2HG624cjs.useEvent.call(void 0, (event) => { onBlurProp == null ? void 0 : onBlurProp(event); if (event.defaultPrevented) return; setShouldRegisterItem(false); }); props = { "aria-hidden": !shouldRegisterItem, ...props, ref: _MZ2HG624cjs.useMergeRefs.call(void 0, props.ref, ref), onFocus, onBlur }; props = _DYMTSYDCcjs.useCompositeItem.call(void 0, { ...props, shouldRegisterItem }); props = _FYIGTOVUcjs.usePopoverDisclosure.call(void 0, { store, ...props }); return props; }); var CompositeOverflowDisclosure = _WBFXWJUHcjs.forwardRef.call(void 0, function CompositeOverflowDisclosure2(props) { const htmlProps = useCompositeOverflowDisclosure(props); return _WBFXWJUHcjs.createElement.call(void 0, TagName, htmlProps); } ); exports.CompositeOverflowDisclosure = CompositeOverflowDisclosure; exports.useCompositeOverflowDisclosure = useCompositeOverflowDisclosure;