@modern-kit/react
Version:
41 lines (37 loc) • 1.71 kB
JavaScript
;
var jsxRuntime = require('react/jsx-runtime');
var React = require('react');
var hooksUseOutsidePointerDown = require('../../hooks/useOutsidePointerDown/index.cjs');
var hooksUseMergeRefs = require('../../hooks/useMergeRefs/index.cjs');
var utilsPolymorphicForwardRef = require('../../utils/polymorphicForwardRef/index.cjs');
var componentsSlot = require('../Slot/index.cjs');
require('@modern-kit/utils');
require('../../hooks/useEventListener/index.cjs');
require('../../hooks/usePreservedCallback/index.cjs');
require('../../hooks/useIsomorphicLayoutEffect/index.cjs');
require('../../utils/mergeRefs/index.cjs');
const OUTSIDE_POINTER_DOWN_HANDLER_ERROR_MESSAGE = "OutsidePointerDownHandler\uB294 asChild\uAC00 true\uC77C \uACBD\uC6B0 children\uC73C\uB85C \uC720\uD6A8\uD55C React \uC694\uC18C\uB9CC\uC744 \uD5C8\uC6A9\uD569\uB2C8\uB2E4. \uB610\uD55C, \uB2E8\uC77C \uC694\uC18C\uB9CC \uD5C8\uC6A9\uD569\uB2C8\uB2E4.";
const OutsidePointerDownHandler = utilsPolymorphicForwardRef.polymorphicForwardRef(
({
children,
as = "div",
asChild = false,
onPointerDown,
excludeRefs = [],
...props
}, ref) => {
const { ref: targetRef } = hooksUseOutsidePointerDown.useOutsidePointerDown(
onPointerDown,
{
excludeRefs
}
);
const Wrapper = asChild ? componentsSlot.Slot : as;
if (asChild && !React.isValidElement(children)) {
throw new Error(OUTSIDE_POINTER_DOWN_HANDLER_ERROR_MESSAGE);
}
return /* @__PURE__ */ jsxRuntime.jsx(Wrapper, { ref: hooksUseMergeRefs.useMergeRefs(targetRef, ref), ...props, children });
}
);
exports.OutsidePointerDownHandler = OutsidePointerDownHandler;
//# sourceMappingURL=index.cjs.map