···252252const sheetContainer = document.getElementById('sheet-container');
253253const sheetTabsContainer = document.getElementById('sheet-tabs');
254254255255+// Translate vertical wheel into horizontal scroll on the sheet-tabs strip,
256256+// so users can flick through tabs with a trackpad or mouse wheel. We only
257257+// hijack the event when the user is scrolling mostly-vertically and the
258258+// strip actually has horizontal overflow to consume.
259259+if (sheetTabsContainer) {
260260+ sheetTabsContainer.addEventListener('wheel', (e: WheelEvent) => {
261261+ const canScrollX = sheetTabsContainer.scrollWidth > sheetTabsContainer.clientWidth;
262262+ if (!canScrollX) return;
263263+ if (Math.abs(e.deltaY) > Math.abs(e.deltaX)) {
264264+ e.preventDefault();
265265+ sheetTabsContainer.scrollLeft += e.deltaY;
266266+ }
267267+ }, { passive: false });
268268+}
269269+255270// --- Grid rendering (extracted to grid-rendering.ts) ---
256271function _gridRenderingDeps() {
257272 return {