diff --git a/packages/calcite-components/src/components/slider/slider.e2e.ts b/packages/calcite-components/src/components/slider/slider.e2e.ts index cb124f5a7b7..c231e9a28a0 100644 --- a/packages/calcite-components/src/components/slider/slider.e2e.ts +++ b/packages/calcite-components/src/components/slider/slider.e2e.ts @@ -610,6 +610,34 @@ describe("calcite-slider", () => { expect(inputEvent).toHaveReceivedEventTimes(6); expect(changeEvent).toHaveReceivedEventTimes(1); }); + + it("does not allow text selection when slider is used", async () => { + const page = await newE2EPage({ + html: ` + `, + }); + await page.waitForChanges(); + + const thumbRect = await getElementRect(page, "calcite-slider", ".thumb"); + + await page.mouse.move(thumbRect.x, thumbRect.y); + await page.mouse.down(); + await page.mouse.move(thumbRect.x + 500, thumbRect.y + 200); + await page.mouse.up(); + await page.waitForChanges(); + + expect(await page.evaluate(() => window.getSelection().type)).toBe("None"); + }); }); describe("histogram", () => { diff --git a/packages/calcite-components/src/components/slider/slider.scss b/packages/calcite-components/src/components/slider/slider.scss index 2a188aa788a..afe5a70af51 100644 --- a/packages/calcite-components/src/components/slider/slider.scss +++ b/packages/calcite-components/src/components/slider/slider.scss @@ -49,6 +49,7 @@ ); touch-action: none; // disable browser swipe navigation to prevent interference with the slide thumb following a touch gesture + user-select: none; } @include disabled() {