From d36e77f78fc65fdf6a6e6b1a4b5e040841593851 Mon Sep 17 00:00:00 2001 From: David Baumgold Date: Wed, 1 Jan 2025 12:18:01 +0100 Subject: [PATCH] iOS: scroll lock should still allow pinch-to-zoom --- .../src/hooks/document-overflow/handle-ios-locking.ts | 4 +++- .../src/hooks/document-overflow/handle-ios-locking.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/@headlessui-react/src/hooks/document-overflow/handle-ios-locking.ts b/packages/@headlessui-react/src/hooks/document-overflow/handle-ios-locking.ts index 3a70893e8f..f97b648373 100644 --- a/packages/@headlessui-react/src/hooks/document-overflow/handle-ios-locking.ts +++ b/packages/@headlessui-react/src/hooks/document-overflow/handle-ios-locking.ts @@ -83,7 +83,9 @@ export function handleIOSLocking(): ScrollLockStep { d.style(rootContainer, 'overscrollBehavior', 'contain') } else { - d.style(e.target, 'touchAction', 'none') + // Disable all touch actions related to scrolling, + // but still allow pinch-to-zoom. + d.style(e.target, 'touchAction', 'pinch-zoom') } } }) diff --git a/packages/@headlessui-vue/src/hooks/document-overflow/handle-ios-locking.ts b/packages/@headlessui-vue/src/hooks/document-overflow/handle-ios-locking.ts index de139c19f8..3eb1c0c07d 100644 --- a/packages/@headlessui-vue/src/hooks/document-overflow/handle-ios-locking.ts +++ b/packages/@headlessui-vue/src/hooks/document-overflow/handle-ios-locking.ts @@ -83,7 +83,9 @@ export function handleIOSLocking(): ScrollLockStep { d.style(rootContainer, 'overscrollBehavior', 'contain') } else { - d.style(e.target, 'touchAction', 'none') + // Disable all touch actions related to scrolling, + // but still allow pinch-to-zoom. + d.style(e.target, 'touchAction', 'pinch-zoom') } } })