UNPKG

@shinyongjun/react-datepicker

Version:
26 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useElementSize = useElementSize; var react_1 = require("react"); var useEventListener_1 = require("./useEventListener"); var useIsomorphicLayoutEffect_1 = require("./useIsomorphicLayoutEffect"); function useElementSize() { var _a = (0, react_1.useState)(null), ref = _a[0], setRef = _a[1]; var _b = (0, react_1.useState)({ width: 0, height: 0, }), size = _b[0], setSize = _b[1]; var handleSize = (0, react_1.useCallback)(function () { console.log('handleSize'); setSize({ width: (ref === null || ref === void 0 ? void 0 : ref.offsetWidth) || 0, height: (ref === null || ref === void 0 ? void 0 : ref.offsetHeight) || 0, }); }, [ref === null || ref === void 0 ? void 0 : ref.offsetHeight, ref === null || ref === void 0 ? void 0 : ref.offsetWidth]); (0, useEventListener_1.useEventListener)('resize', handleSize); (0, useIsomorphicLayoutEffect_1.useIsomorphicLayoutEffect)(function () { handleSize(); }, [ref === null || ref === void 0 ? void 0 : ref.offsetHeight, ref === null || ref === void 0 ? void 0 : ref.offsetWidth]); return [ref, setRef, size]; } //# sourceMappingURL=useElementSize.js.map