@base-ui/react
Version:
Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.
45 lines (44 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getDelay = getDelay;
exports.getRestMs = getRestMs;
exports.isClickLikeOpenEvent = isClickLikeOpenEvent;
exports.isHoverOpenEvent = isHoverOpenEvent;
Object.defineProperty(exports, "isInsideEnabledTrigger", {
enumerable: true,
get: function () {
return _element.isTargetInsideEnabledTrigger;
}
});
var _event = require("../utils/event");
var _element = require("../utils/element");
function resolveValue(value, pointerType) {
if (pointerType != null && !(0, _event.isMouseLikePointerType)(pointerType)) {
return 0;
}
if (typeof value === 'function') {
return value();
}
return value;
}
function getDelay(value, prop, pointerType) {
const result = resolveValue(value, pointerType);
if (typeof result === 'number') {
return result;
}
return result?.[prop];
}
function getRestMs(value) {
if (typeof value === 'function') {
return value();
}
return value;
}
function isClickLikeOpenEvent(openEventType, interactedInside) {
return interactedInside || openEventType === 'click' || openEventType === 'mousedown';
}
function isHoverOpenEvent(openEventType) {
return openEventType?.includes('mouse') && openEventType !== 'mousedown';
}