{"version":3,"file":"react-remove-scroll-UunVfI2x.js","sources":["../../node_modules/react-remove-scroll/dist/es2015/medium.js","../../node_modules/react-remove-scroll/dist/es2015/UI.js","../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../../node_modules/react-remove-scroll/dist/es2015/sidecar.js","../../node_modules/react-remove-scroll/dist/es2015/Combination.js"],"sourcesContent":["import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), s = _a[1], d = _a[2];\n if (s > d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== document.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n target = target.parentNode;\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n if (isDeltaPositive && ((noOverscroll && availableScroll === 0) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && availableScrollTop === 0) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(function () { return styleSingleton(); })[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: \"margin\" }) : null));\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n"],"names":["effectCar","createSidecarMedium","nothing","RemoveScroll","React.forwardRef","forwardRef","props","parentRef","ref","React.useRef","_a","React.useState","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","_b","as","Container","rest","__rest","SideCar","containerRef","useMergeRefs","containerProps","__assign","React.createElement","React.Fragment","lockRef","React.cloneElement","React.Children","only","defaultProps","classNames","fullWidth","fullWidthClassName","zeroRight","zeroRightClassName","passiveSupported","window","options","Object","defineProperty","get","addEventListener","removeEventListener","err","nonPassive","passive","elementCanBeScrolled","node","overflow","styles","getComputedStyle","overflowY","overflowX","tagName","alwaysContainsScroll","locationCouldBeScrolled","axis","current","ShadowRoot","host","elementCouldBeScrolled","getScrollVariables","parentNode","document","body","elementCouldBeVScrolled","elementCouldBeHScrolled","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","getHScrollVariables","getTouchXY","event","changedTouches","clientX","clientY","getDeltaXY","deltaX","deltaY","extractRef","generateStyle","id","concat","idCounter","lockStack","exportSidecar","shouldPreventQueue","touchStartRef","useRef","activeAxis","useState","Style","styleSingleton","lastProps","React.useEffect","classList","add","allow_1","__spreadArray","map","filter","Boolean","forEach","el","remove","shouldCancelEvent","React.useCallback","parent","touches","length","currentAxis","touch","touchStart","target","moveDirection","Math","abs","type","canBeScrolledInMainDirection","cancelingAxis","endTarget","sourceDelta","noOverscroll","directionFactor","direction","getDirectionFactor","delta","targetInLock","contains","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","elementScroll","handleScroll","shouldPrevent","_event","sourceEvent","e","name","x","y","should","cancelable","preventDefault","shardNodes","shouldCancel","push","setTimeout","scrollTouchStart","scrollWheel","scrollTouchMove","inst","createElement","RemoveScrollBar","gapMode","ReactRemoveScroll"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}