diff --git a/packages/slate-react/src/utils/scroll-to-selection.js b/packages/slate-react/src/utils/scroll-to-selection.js index a35db0307..f5fc16382 100644 --- a/packages/slate-react/src/utils/scroll-to-selection.js +++ b/packages/slate-react/src/utils/scroll-to-selection.js @@ -51,6 +51,19 @@ function findScrollContainer(el, window) { return scroller } +/** + * Get the current iOS version. Assumes that an IOS check was conducted + * prior to calling. + */ + +const IOS_VERSION_REGEX = /OS (\d+)_/ + +function getMajorIOSVersion() { + const { userAgent } = window.navigator + const matches = userAgent.match(IOS_VERSION_REGEX) + return matches ? parseInt(matches[1]) : null +} + /** * Scroll the current selection's focus point into view if needed. * @@ -58,7 +71,11 @@ function findScrollContainer(el, window) { */ function scrollToSelection(selection) { - if (IS_IOS) return + if (IS_IOS) { + const majorIOSVersion = getMajorIOSVersion() + if (majorIOSVersion && majorIOSVersion == 11) return + } + if (!selection.anchorNode) return const window = getWindow(selection.anchorNode)