UNPKG

@modern-kit/react

Version:
34 lines (30 loc) 823 B
'use strict'; var React = require('react'); var hooksUseDebounce = require('../../hooks/useDebounce/index.cjs'); var utils = require('@modern-kit/utils'); require('../../hooks/useUnmount/index.cjs'); require('../../hooks/usePreservedCallback/index.cjs'); const DebounceHandler = ({ children, capture, wait, options }) => { const child = React.Children.only(children); const debouncedCallback = hooksUseDebounce.useDebounce( (...args) => { const childProps = child?.props; if (!childProps) return; if (utils.isFunction(childProps[capture])) { return childProps[capture](...args); } }, wait, options ); return React.cloneElement(child, { [capture]: debouncedCallback }); }; exports.DebounceHandler = DebounceHandler; //# sourceMappingURL=index.cjs.map