first commit

This commit is contained in:
rayd1o
2026-03-05 11:46:58 +08:00
commit e7033775d8
20657 changed files with 1988940 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useBubbleLock;
var _react = _interopRequireDefault(require("react"));
var _raf = _interopRequireDefault(require("rc-util/lib/raf"));
/**
* When click on the label,
* the event will be stopped to prevent the label from being clicked twice.
* label click -> input click -> label click again
*/
function useBubbleLock(onOriginInputClick) {
const labelClickLockRef = _react.default.useRef(null);
const clearLock = () => {
_raf.default.cancel(labelClickLockRef.current);
labelClickLockRef.current = null;
};
const onLabelClick = () => {
clearLock();
labelClickLockRef.current = (0, _raf.default)(() => {
labelClickLockRef.current = null;
});
};
const onInputClick = e => {
if (labelClickLockRef.current) {
e.stopPropagation();
clearLock();
}
onOriginInputClick === null || onOriginInputClick === void 0 ? void 0 : onOriginInputClick(e);
};
return [onLabelClick, onInputClick];
}