Skip to content

Commit 8b5b012

Browse files
fix(studio): dragging a Layers row no longer highlights the row names (#5104)
1 parent f6e419e commit 8b5b012

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

‎packages/studio/src/components/editor/LayersPanel.test.ts‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,4 +306,29 @@ describe("LayersPanel preview promotion", () => {
306306
expect(collectedRootIds()).toEqual(["a"]);
307307
fetchSpy.mockRestore();
308308
});
309+
310+
it("a row press starts no text selection, so dragging a row leaves no letters highlighted", () => {
311+
const doc = new Window().document;
312+
doc.body.innerHTML = `<div data-composition-id="a"><div id="back"></div><div id="front"></div></div>`;
313+
const iframe = document.createElement("iframe");
314+
Object.defineProperty(iframe, "contentDocument", { value: doc });
315+
const item = (id: string) =>
316+
({
317+
key: id,
318+
element: doc.getElementById(id),
319+
label: id,
320+
depth: 0,
321+
childCount: 0,
322+
id,
323+
}) as unknown as DomEditLayerItem;
324+
mocks.collect.mockReset().mockReturnValue([item("back"), item("front")]);
325+
mocks.previewIframeRef.current = iframe;
326+
usePreviewIframeStore.setState({ iframe });
327+
act(() => root.render(createElement(LayersPanel)));
328+
act(() => void iframe.dispatchEvent(new Event("load")));
329+
330+
const rows = [...host.querySelectorAll("[data-layer-index]")];
331+
expect(rows).toHaveLength(2);
332+
expect(rows.every((row) => row.closest(".select-none"))).toBe(true);
333+
});
309334
});

‎packages/studio/src/components/editor/LayersPanel.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ export const LayersPanel = memo(function LayersPanel({ host }: { host?: LayersPa
433433
</div>
434434
<div
435435
ref={scrollContainerRef}
436-
className="relative min-h-0 flex-1 overflow-y-auto py-1"
436+
className="relative min-h-0 flex-1 select-none overflow-y-auto py-1"
437437
onPointerMove={handleContainerPointerMove}
438438
onPointerUp={handleContainerPointerUp}
439439
onPointerCancel={handleContainerPointerUp}

0 commit comments

Comments
 (0)