{"ast":null,"code":"var elementCouldBeVScrolled = function elementCouldBeVScrolled(node) {\n  var styles = window.getComputedStyle(node);\n  return styles.overflowY !== 'hidden' &&\n  // not-not-scrollable\n  !(styles.overflowY === styles.overflowX && styles.overflowY === 'visible') // scrollable\n  ;\n};\nvar elementCouldBeHScrolled = function elementCouldBeHScrolled(node) {\n  var styles = window.getComputedStyle(node);\n  return styles.overflowX !== 'hidden' &&\n  // not-not-scrollable\n  !(styles.overflowY === styles.overflowX && styles.overflowX === 'visible') // scrollable\n  ;\n};\nexport var locationCouldBeScrolled = function locationCouldBeScrolled(axis, node) {\n  var current = node;\n  do {\n    var isScrollable = elementCouldBeScrolled(axis, current);\n    if (isScrollable) {\n      var _a = getScrollVariables(axis, current),\n        s = _a[1],\n        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 getVScrollVariables(_a) {\n  var scrollTop = _a.scrollTop,\n    scrollHeight = _a.scrollHeight,\n    clientHeight = _a.clientHeight;\n  return [scrollTop, scrollHeight, clientHeight];\n};\nvar getHScrollVariables = function getHScrollVariables(_a) {\n  var scrollLeft = _a.scrollLeft,\n    scrollWidth = _a.scrollWidth,\n    clientWidth = _a.clientWidth;\n  return [scrollLeft, scrollWidth, clientWidth];\n};\nvar elementCouldBeScrolled = function elementCouldBeScrolled(axis, node) {\n  return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function getScrollVariables(axis, node) {\n  return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nexport var handleScroll = function handleScroll(axis, endTarget, event, sourceDelta, noOverscroll) {\n  var delta = 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),\n      position = _a[0],\n      scroll_1 = _a[1],\n      capacity = _a[2];\n    var elementScroll = scroll_1 - capacity - 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  } else if (!isDeltaPositive && (noOverscroll && availableScrollTop === 0 || !noOverscroll && -delta > availableScrollTop)) {\n    shouldCancelScroll = true;\n  }\n  return shouldCancelScroll;\n};","map":{"version":3,"names":["elementCouldBeVScrolled","node","styles","window","getComputedStyle","overflowY","overflowX","elementCouldBeHScrolled","locationCouldBeScrolled","axis","current","isScrollable","elementCouldBeScrolled","_a","getScrollVariables","s","d","parentNode","document","body","getVScrollVariables","scrollTop","scrollHeight","clientHeight","getHScrollVariables","scrollLeft","scrollWidth","clientWidth","handleScroll","endTarget","event","sourceDelta","noOverscroll","delta","target","targetInLock","contains","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","scroll_1","capacity","elementScroll"],"sources":["D:/DSP_Management/node_modules/react-remove-scroll/dist/es2015/handleScroll.js"],"sourcesContent":["var elementCouldBeVScrolled = function (node) {\n    var styles = window.getComputedStyle(node);\n    return (styles.overflowY !== 'hidden' && // not-not-scrollable\n        !(styles.overflowY === styles.overflowX && styles.overflowY === 'visible') // scrollable\n    );\n};\nvar elementCouldBeHScrolled = function (node) {\n    var styles = window.getComputedStyle(node);\n    return (styles.overflowX !== 'hidden' && // not-not-scrollable\n        !(styles.overflowY === styles.overflowX && styles.overflowX === 'visible') // scrollable\n    );\n};\nexport var locationCouldBeScrolled = function (axis, node) {\n    var current = node;\n    do {\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 [scrollTop, scrollHeight, clientHeight];\n};\nvar getHScrollVariables = function (_a) {\n    var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n    return [scrollLeft, scrollWidth, clientWidth];\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};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n    var delta = 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 - 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 &&\n        ((noOverscroll && availableScroll === 0) ||\n            (!noOverscroll && delta > availableScroll))) {\n        shouldCancelScroll = true;\n    }\n    else if (!isDeltaPositive &&\n        ((noOverscroll && availableScrollTop === 0) ||\n            (!noOverscroll && -delta > availableScrollTop))) {\n        shouldCancelScroll = true;\n    }\n    return shouldCancelScroll;\n};\n"],"mappings":"AAAA,IAAIA,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAaC,IAAI,EAAE;EAC1C,IAAIC,MAAM,GAAGC,MAAM,CAACC,gBAAgB,CAACH,IAAI,CAAC;EAC1C,OAAQC,MAAM,CAACG,SAAS,KAAK,QAAQ;EAAI;EACrC,EAAEH,MAAM,CAACG,SAAS,KAAKH,MAAM,CAACI,SAAS,IAAIJ,MAAM,CAACG,SAAS,KAAK,SAAS,CAAC,CAAC;EAAA;AAEnF,CAAC;AACD,IAAIE,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAaN,IAAI,EAAE;EAC1C,IAAIC,MAAM,GAAGC,MAAM,CAACC,gBAAgB,CAACH,IAAI,CAAC;EAC1C,OAAQC,MAAM,CAACI,SAAS,KAAK,QAAQ;EAAI;EACrC,EAAEJ,MAAM,CAACG,SAAS,KAAKH,MAAM,CAACI,SAAS,IAAIJ,MAAM,CAACI,SAAS,KAAK,SAAS,CAAC,CAAC;EAAA;AAEnF,CAAC;AACD,OAAO,IAAIE,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAaC,IAAI,EAAER,IAAI,EAAE;EACvD,IAAIS,OAAO,GAAGT,IAAI;EAClB,GAAG;IACC,IAAIU,YAAY,GAAGC,sBAAsB,CAACH,IAAI,EAAEC,OAAO,CAAC;IACxD,IAAIC,YAAY,EAAE;MACd,IAAIE,EAAE,GAAGC,kBAAkB,CAACL,IAAI,EAAEC,OAAO,CAAC;QAAEK,CAAC,GAAGF,EAAE,CAAC,CAAC,CAAC;QAAEG,CAAC,GAAGH,EAAE,CAAC,CAAC,CAAC;MAChE,IAAIE,CAAC,GAAGC,CAAC,EAAE;QACP,OAAO,IAAI;MACf;IACJ;IACAN,OAAO,GAAGA,OAAO,CAACO,UAAU;EAChC,CAAC,QAAQP,OAAO,IAAIA,OAAO,KAAKQ,QAAQ,CAACC,IAAI;EAC7C,OAAO,KAAK;AAChB,CAAC;AACD,IAAIC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAaP,EAAE,EAAE;EACpC,IAAIQ,SAAS,GAAGR,EAAE,CAACQ,SAAS;IAAEC,YAAY,GAAGT,EAAE,CAACS,YAAY;IAAEC,YAAY,GAAGV,EAAE,CAACU,YAAY;EAC5F,OAAO,CAACF,SAAS,EAAEC,YAAY,EAAEC,YAAY,CAAC;AAClD,CAAC;AACD,IAAIC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAaX,EAAE,EAAE;EACpC,IAAIY,UAAU,GAAGZ,EAAE,CAACY,UAAU;IAAEC,WAAW,GAAGb,EAAE,CAACa,WAAW;IAAEC,WAAW,GAAGd,EAAE,CAACc,WAAW;EAC1F,OAAO,CAACF,UAAU,EAAEC,WAAW,EAAEC,WAAW,CAAC;AACjD,CAAC;AACD,IAAIf,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAaH,IAAI,EAAER,IAAI,EAAE;EAC/C,OAAOQ,IAAI,KAAK,GAAG,GAAGT,uBAAuB,CAACC,IAAI,CAAC,GAAGM,uBAAuB,CAACN,IAAI,CAAC;AACvF,CAAC;AACD,IAAIa,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAaL,IAAI,EAAER,IAAI,EAAE;EAC3C,OAAOQ,IAAI,KAAK,GAAG,GAAGW,mBAAmB,CAACnB,IAAI,CAAC,GAAGuB,mBAAmB,CAACvB,IAAI,CAAC;AAC/E,CAAC;AACD,OAAO,IAAI2B,YAAY,GAAG,SAAfA,YAAYA,CAAanB,IAAI,EAAEoB,SAAS,EAAEC,KAAK,EAAEC,WAAW,EAAEC,YAAY,EAAE;EACnF,IAAIC,KAAK,GAAGF,WAAW;EACvB;EACA,IAAIG,MAAM,GAAGJ,KAAK,CAACI,MAAM;EACzB,IAAIC,YAAY,GAAGN,SAAS,CAACO,QAAQ,CAACF,MAAM,CAAC;EAC7C,IAAIG,kBAAkB,GAAG,KAAK;EAC9B,IAAIC,eAAe,GAAGL,KAAK,GAAG,CAAC;EAC/B,IAAIM,eAAe,GAAG,CAAC;EACvB,IAAIC,kBAAkB,GAAG,CAAC;EAC1B,GAAG;IACC,IAAI3B,EAAE,GAAGC,kBAAkB,CAACL,IAAI,EAAEyB,MAAM,CAAC;MAAEO,QAAQ,GAAG5B,EAAE,CAAC,CAAC,CAAC;MAAE6B,QAAQ,GAAG7B,EAAE,CAAC,CAAC,CAAC;MAAE8B,QAAQ,GAAG9B,EAAE,CAAC,CAAC,CAAC;IAC/F,IAAI+B,aAAa,GAAGF,QAAQ,GAAGC,QAAQ,GAAGF,QAAQ;IAClD,IAAIA,QAAQ,IAAIG,aAAa,EAAE;MAC3B,IAAIhC,sBAAsB,CAACH,IAAI,EAAEyB,MAAM,CAAC,EAAE;QACtCK,eAAe,IAAIK,aAAa;QAChCJ,kBAAkB,IAAIC,QAAQ;MAClC;IACJ;IACAP,MAAM,GAAGA,MAAM,CAACjB,UAAU;EAC9B,CAAC;EACD;EACC,CAACkB,YAAY,IAAID,MAAM,KAAKhB,QAAQ,CAACC,IAAI;EACtC;EACCgB,YAAY,KAAKN,SAAS,CAACO,QAAQ,CAACF,MAAM,CAAC,IAAIL,SAAS,KAAKK,MAAM,CAAE;EAC1E,IAAII,eAAe,KACbN,YAAY,IAAIO,eAAe,KAAK,CAAC,IAClC,CAACP,YAAY,IAAIC,KAAK,GAAGM,eAAgB,CAAC,EAAE;IACjDF,kBAAkB,GAAG,IAAI;EAC7B,CAAC,MACI,IAAI,CAACC,eAAe,KACnBN,YAAY,IAAIQ,kBAAkB,KAAK,CAAC,IACrC,CAACR,YAAY,IAAI,CAACC,KAAK,GAAGO,kBAAmB,CAAC,EAAE;IACrDH,kBAAkB,GAAG,IAAI;EAC7B;EACA,OAAOA,kBAAkB;AAC7B,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}