{ if (draggingSidebar || e.button !== 0) return; rootFontSize = parseFloat( getComputedStyle(document.documentElement).fontSize, ); e.currentTarget.setPointerCapture(e.pointerId); draggingSidebar = true; }} onpointermove={(e) => { if (!e.currentTarget.hasPointerCapture(e.pointerId)) return; const parentElement = e.currentTarget.parentElement; if (!parentElement) return; const { left, right } = parentElement.getBoundingClientRect(); setSidebarWidth( (document.documentElement.dir === "rtl" ? right - e.clientX : e.clientX - left) / rootFontSize, ); }} onlostpointercapture={() => (draggingSidebar = false)} >