@ariakit/react
Version:
Toolkit for building accessible web apps with React
121 lines (89 loc) • 4.63 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});
var _FHQLDZSWcjs = require('./FHQLDZSW.cjs');
var _KRBLRFH6cjs = require('./KRBLRFH6.cjs');
var _LZ6L3ECGcjs = require('./LZ6L3ECG.cjs');
// ../ariakit-react-components/dist/composite/composite-group.js
var TagName = "div";
var useCompositeGroup = _LZ6L3ECGcjs.createHook.call(void 0, function useCompositeGroup2({ store, ...props }) {
props = _KRBLRFH6cjs.useGroup.call(void 0, props);
return props;
});
var CompositeGroup = _LZ6L3ECGcjs.forwardRef.call(void 0, function CompositeGroup2(props) {
return _LZ6L3ECGcjs.createElement.call(void 0, TagName, useCompositeGroup(props));
});
// ../ariakit-react-components/dist/composite/composite-group-label.js
var TagName2 = "div";
var useCompositeGroupLabel = _LZ6L3ECGcjs.createHook.call(void 0, function useCompositeGroupLabel2({ store, ...props }) {
props = _KRBLRFH6cjs.useGroupLabel.call(void 0, props);
return props;
});
var CompositeGroupLabel = _LZ6L3ECGcjs.forwardRef.call(void 0, function CompositeGroupLabel2(props) {
return _LZ6L3ECGcjs.createElement.call(void 0, TagName2, useCompositeGroupLabel(props));
});
// ../ariakit-react-components/dist/composite/composite-hover.js
var _react = require('react');
var TagName3 = "div";
function hoveringInside(event) {
const nextElement = event.relatedTarget;
if (!_LZ6L3ECGcjs.isElement.call(void 0, nextElement)) return false;
return _LZ6L3ECGcjs.contains.call(void 0, event.currentTarget, nextElement);
}
var symbol = /* @__PURE__ */ Symbol("composite-hover");
function movingToAnotherItem(event) {
const { relatedTarget } = event;
if (!_LZ6L3ECGcjs.isElement.call(void 0, relatedTarget)) return false;
let dest = relatedTarget;
do {
if (_LZ6L3ECGcjs.hasOwnProperty.call(void 0, dest, symbol) && dest[symbol]) return true;
dest = dest.parentElement;
} while (dest);
return false;
}
var useCompositeHover = _LZ6L3ECGcjs.createHook.call(void 0, function useCompositeHover2({ store, focusOnHover = true, blurOnHoverEnd = !!focusOnHover, ...props }) {
const context = _FHQLDZSWcjs.useCompositeScopedContext.call(void 0, );
store = store || context;
_LZ6L3ECGcjs.invariant.call(void 0, store, process.env.NODE_ENV !== "production" && "CompositeHover must be wrapped in a Composite component.");
const isMouseMoving = _LZ6L3ECGcjs.useIsMouseMoving.call(void 0, );
const onMouseMoveProp = props.onMouseMove;
const focusOnHoverProp = _LZ6L3ECGcjs.useBooleanEvent.call(void 0, focusOnHover);
const onMouseMove = _LZ6L3ECGcjs.useEvent.call(void 0, (event) => {
onMouseMoveProp == null ? void 0 : onMouseMoveProp(event);
if (event.defaultPrevented) return;
if (!isMouseMoving()) return;
if (!focusOnHoverProp(event)) return;
if (!_LZ6L3ECGcjs.hasFocusWithin.call(void 0, event.currentTarget)) {
const baseElement = store == null ? void 0 : store.getState().baseElement;
if (baseElement && !_LZ6L3ECGcjs.hasFocus.call(void 0, baseElement)) baseElement.focus();
}
store == null ? void 0 : store.setActiveId(event.currentTarget.id);
});
const onMouseLeaveProp = props.onMouseLeave;
const blurOnHoverEndProp = _LZ6L3ECGcjs.useBooleanEvent.call(void 0, blurOnHoverEnd);
const onMouseLeave = _LZ6L3ECGcjs.useEvent.call(void 0, (event) => {
var _a;
onMouseLeaveProp == null ? void 0 : onMouseLeaveProp(event);
if (event.defaultPrevented) return;
if (!isMouseMoving()) return;
if (hoveringInside(event)) return;
if (movingToAnotherItem(event)) return;
if (!focusOnHoverProp(event)) return;
if (!blurOnHoverEndProp(event)) return;
store == null ? void 0 : store.setActiveId(null);
(_a = store == null ? void 0 : store.getState().baseElement) == null ? void 0 : _a.focus();
});
const ref = _react.useCallback.call(void 0, (element) => {
if (!element) return;
element[symbol] = true;
}, []);
props = {
...props,
ref: _LZ6L3ECGcjs.useMergeRefs.call(void 0, ref, props.ref),
onMouseMove,
onMouseLeave
};
return _LZ6L3ECGcjs.removeUndefinedValues.call(void 0, props);
});
var CompositeHover = _LZ6L3ECGcjs.memo.call(void 0, _LZ6L3ECGcjs.forwardRef.call(void 0, function CompositeHover2(props) {
return _LZ6L3ECGcjs.createElement.call(void 0, TagName3, useCompositeHover(props));
}));
exports.useCompositeGroup = useCompositeGroup; exports.CompositeGroup = CompositeGroup; exports.useCompositeGroupLabel = useCompositeGroupLabel; exports.CompositeGroupLabel = CompositeGroupLabel; exports.useCompositeHover = useCompositeHover; exports.CompositeHover = CompositeHover;