"use strict"; const React = require("react"); const throttleit = require("throttleit"); const classnames = require("classnames"); const Window = require("../window"); module.exports = function Sidebar({elementRef, side, windows, onMouseOver, onMouseOut, highlight, onStartMove, onStartBottomResize, onClose, onFocus, onRecalculateWindowPosition, onWindowRef}) { let [onScroll, setOnScroll] = React.useState(null); React.useEffect(() => { onScroll = throttleit(() => { windows.forEach((window_) => { onRecalculateWindowPosition(window_.id); }); }, 100); /* NOTE: Lazy initializer */ setOnScroll(() => { return onScroll; }); }, [windows]); function onMouseOverHandler(event) { onMouseOver(event, side); } function onMouseOutHandler(event) { onMouseOut(event, side); } function trackRef(windowId) { return function (ref) { onWindowRef(windowId, ref); if (ref != null) { onRecalculateWindowPosition(windowId); } }; } return (