{"version":3,"file":"index-CDzNhFWE.mjs","sources":["../../node_modules/@radix-ui/react-focus-scope/dist/index.mjs","../../node_modules/@radix-ui/react-focus-guards/dist/index.mjs","../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../../node_modules/use-callback-ref/dist/es2015/assignRef.js","../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../../node_modules/use-callback-ref/dist/es2015/useRef.js","../../node_modules/use-sidecar/dist/es2015/medium.js","../../node_modules/use-sidecar/dist/es2015/exports.js","../../node_modules/react-remove-scroll/dist/es2015/medium.js","../../node_modules/react-remove-scroll/dist/es2015/UI.js","../../node_modules/react-style-singleton/dist/es2015/singleton.js","../../node_modules/get-nonce/dist/es2015/index.js","../../node_modules/react-style-singleton/dist/es2015/component.js","../../node_modules/react-style-singleton/dist/es2015/hook.js","../../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../../node_modules/react-remove-scroll-bar/dist/es2015/component.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","../../node_modules/aria-hidden/dist/es2015/index.js"],"sourcesContent":["\"use client\";\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n  const {\n    loop = false,\n    trapped = false,\n    onMountAutoFocus: onMountAutoFocusProp,\n    onUnmountAutoFocus: onUnmountAutoFocusProp,\n    ...scopeProps\n  } = props;\n  const [container, setContainer] = React.useState(null);\n  const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n  const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n  const lastFocusedElementRef = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n  const focusScope = React.useRef({\n    paused: false,\n    pause() {\n      this.paused = true;\n    },\n    resume() {\n      this.paused = false;\n    }\n  }).current;\n  React.useEffect(() => {\n    if (trapped) {\n      let handleFocusIn2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const target = event.target;\n        if (container.contains(target)) {\n          lastFocusedElementRef.current = target;\n        } else {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleFocusOut2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const relatedTarget = event.relatedTarget;\n        if (relatedTarget === null) return;\n        if (!container.contains(relatedTarget)) {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleMutations2 = function(mutations) {\n        const focusedElement = document.activeElement;\n        if (focusedElement !== document.body) return;\n        for (const mutation of mutations) {\n          if (mutation.removedNodes.length > 0) focus(container);\n        }\n      };\n      var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n      document.addEventListener(\"focusin\", handleFocusIn2);\n      document.addEventListener(\"focusout\", handleFocusOut2);\n      const mutationObserver = new MutationObserver(handleMutations2);\n      if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n      return () => {\n        document.removeEventListener(\"focusin\", handleFocusIn2);\n        document.removeEventListener(\"focusout\", handleFocusOut2);\n        mutationObserver.disconnect();\n      };\n    }\n  }, [trapped, container, focusScope.paused]);\n  React.useEffect(() => {\n    if (container) {\n      focusScopesStack.add(focusScope);\n      const previouslyFocusedElement = document.activeElement;\n      const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n      if (!hasFocusedCandidate) {\n        const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n        container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        container.dispatchEvent(mountEvent);\n        if (!mountEvent.defaultPrevented) {\n          focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n          if (document.activeElement === previouslyFocusedElement) {\n            focus(container);\n          }\n        }\n      }\n      return () => {\n        container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        setTimeout(() => {\n          const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n          container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          container.dispatchEvent(unmountEvent);\n          if (!unmountEvent.defaultPrevented) {\n            focus(previouslyFocusedElement ?? document.body, { select: true });\n          }\n          container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          focusScopesStack.remove(focusScope);\n        }, 0);\n      };\n    }\n  }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n  const handleKeyDown = React.useCallback(\n    (event) => {\n      if (!loop && !trapped) return;\n      if (focusScope.paused) return;\n      const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n      const focusedElement = document.activeElement;\n      if (isTabKey && focusedElement) {\n        const container2 = event.currentTarget;\n        const [first, last] = getTabbableEdges(container2);\n        const hasTabbableElementsInside = first && last;\n        if (!hasTabbableElementsInside) {\n          if (focusedElement === container2) event.preventDefault();\n        } else {\n          if (!event.shiftKey && focusedElement === last) {\n            event.preventDefault();\n            if (loop) focus(first, { select: true });\n          } else if (event.shiftKey && focusedElement === first) {\n            event.preventDefault();\n            if (loop) focus(last, { select: true });\n          }\n        }\n      }\n    },\n    [loop, trapped, focusScope.paused]\n  );\n  return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n  const previouslyFocusedElement = document.activeElement;\n  for (const candidate of candidates) {\n    focus(candidate, { select });\n    if (document.activeElement !== previouslyFocusedElement) return;\n  }\n}\nfunction getTabbableEdges(container) {\n  const candidates = getTabbableCandidates(container);\n  const first = findVisible(candidates, container);\n  const last = findVisible(candidates.reverse(), container);\n  return [first, last];\n}\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction findVisible(elements, container) {\n  for (const element of elements) {\n    if (!isHidden(element, { upTo: container })) return element;\n  }\n}\nfunction isHidden(node, { upTo }) {\n  if (getComputedStyle(node).visibility === \"hidden\") return true;\n  while (node) {\n    if (upTo !== void 0 && node === upTo) return false;\n    if (getComputedStyle(node).display === \"none\") return true;\n    node = node.parentElement;\n  }\n  return false;\n}\nfunction isSelectableInput(element) {\n  return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n  if (element && element.focus) {\n    const previouslyFocusedElement = document.activeElement;\n    element.focus({ preventScroll: true });\n    if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n      element.select();\n  }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n  let stack = [];\n  return {\n    add(focusScope) {\n      const activeFocusScope = stack[0];\n      if (focusScope !== activeFocusScope) {\n        activeFocusScope?.pause();\n      }\n      stack = arrayRemove(stack, focusScope);\n      stack.unshift(focusScope);\n    },\n    remove(focusScope) {\n      stack = arrayRemove(stack, focusScope);\n      stack[0]?.resume();\n    }\n  };\n}\nfunction arrayRemove(array, item) {\n  const updatedArray = [...array];\n  const index = updatedArray.indexOf(item);\n  if (index !== -1) {\n    updatedArray.splice(index, 1);\n  }\n  return updatedArray;\n}\nfunction removeLinks(items) {\n  return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n  FocusScope,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/focus-guards/src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n  useFocusGuards();\n  return props.children;\n}\nfunction useFocusGuards() {\n  React.useEffect(() => {\n    const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n    document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n    document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n    count++;\n    return () => {\n      if (count === 1) {\n        document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n      }\n      count--;\n    };\n  }, []);\n}\nfunction createFocusGuard() {\n  const element = document.createElement(\"span\");\n  element.setAttribute(\"data-radix-focus-guard\", \"\");\n  element.tabIndex = 0;\n  element.style.outline = \"none\";\n  element.style.opacity = \"0\";\n  element.style.position = \"fixed\";\n  element.style.pointerEvents = \"none\";\n  return element;\n}\nvar Root = FocusGuards;\nexport {\n  FocusGuards,\n  Root,\n  useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n    if (typeof ref === 'function') {\n        ref(value);\n    }\n    else if (ref) {\n        ref.current = value;\n    }\n    return ref;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n *   const ownRef = useRef();\n *   const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n *   return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n    var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n        return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n    });\n    // handle refs changes - added or removed\n    useIsomorphicLayoutEffect(function () {\n        var oldValue = currentValues.get(callbackRef);\n        if (oldValue) {\n            var prevRefs_1 = new Set(oldValue);\n            var nextRefs_1 = new Set(refs);\n            var current_1 = callbackRef.current;\n            prevRefs_1.forEach(function (ref) {\n                if (!nextRefs_1.has(ref)) {\n                    assignRef(ref, null);\n                }\n            });\n            nextRefs_1.forEach(function (ref) {\n                if (!prevRefs_1.has(ref)) {\n                    assignRef(ref, current_1);\n                }\n            });\n        }\n        currentValues.set(callbackRef, refs);\n    }, [refs]);\n    return callbackRef;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n    var ref = useState(function () { return ({\n        // value\n        value: initialValue,\n        // last callback\n        callback: callback,\n        // \"memoized\" public interface\n        facade: {\n            get current() {\n                return ref.value;\n            },\n            set current(value) {\n                var last = ref.value;\n                if (last !== value) {\n                    ref.value = value;\n                    ref.callback(value, last);\n                }\n            },\n        },\n    }); })[0];\n    // update callback\n    ref.callback = callback;\n    return ref.facade;\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n    return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    var buffer = [];\n    var assigned = false;\n    var medium = {\n        read: function () {\n            if (assigned) {\n                throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n            }\n            if (buffer.length) {\n                return buffer[buffer.length - 1];\n            }\n            return defaults;\n        },\n        useMedium: function (data) {\n            var item = middleware(data, assigned);\n            buffer.push(item);\n            return function () {\n                buffer = buffer.filter(function (x) { return x !== item; });\n            };\n        },\n        assignSyncMedium: function (cb) {\n            assigned = true;\n            while (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n            }\n            buffer = {\n                push: function (x) { return cb(x); },\n                filter: function () { return buffer; },\n            };\n        },\n        assignMedium: function (cb) {\n            assigned = true;\n            var pendingQueue = [];\n            if (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n                pendingQueue = buffer;\n            }\n            var executeQueue = function () {\n                var cbs = pendingQueue;\n                pendingQueue = [];\n                cbs.forEach(cb);\n            };\n            var cycle = function () { return Promise.resolve().then(executeQueue); };\n            cycle();\n            buffer = {\n                push: function (x) {\n                    pendingQueue.push(x);\n                    cycle();\n                },\n                filter: function (filter) {\n                    pendingQueue = pendingQueue.filter(filter);\n                    return buffer;\n                },\n            };\n        },\n    };\n    return medium;\n}\nexport function createMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n    if (options === void 0) { options = {}; }\n    var medium = innerCreateMedium(null);\n    medium.options = __assign({ async: true, ssr: false }, options);\n    return medium;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n    var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n    if (!sideCar) {\n        throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n    }\n    var Target = sideCar.read();\n    if (!Target) {\n        throw new Error('Sidecar medium not found');\n    }\n    return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n    medium.useMedium(exported);\n    return SideCar;\n}\n","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, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noRelative\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\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, noRelative: noRelative, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\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","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n    if (!document)\n        return null;\n    var tag = document.createElement('style');\n    tag.type = 'text/css';\n    var nonce = getNonce();\n    if (nonce) {\n        tag.setAttribute('nonce', nonce);\n    }\n    return tag;\n}\nfunction injectStyles(tag, css) {\n    // @ts-ignore\n    if (tag.styleSheet) {\n        // @ts-ignore\n        tag.styleSheet.cssText = css;\n    }\n    else {\n        tag.appendChild(document.createTextNode(css));\n    }\n}\nfunction insertStyleTag(tag) {\n    var head = document.head || document.getElementsByTagName('head')[0];\n    head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n    var counter = 0;\n    var stylesheet = null;\n    return {\n        add: function (style) {\n            if (counter == 0) {\n                if ((stylesheet = makeStyleTag())) {\n                    injectStyles(stylesheet, style);\n                    insertStyleTag(stylesheet);\n                }\n            }\n            counter++;\n        },\n        remove: function () {\n            counter--;\n            if (!counter && stylesheet) {\n                stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n                stylesheet = null;\n            }\n        },\n    };\n};\n","var currentNonce;\nexport var setNonce = function (nonce) {\n    currentNonce = nonce;\n};\nexport var getNonce = function () {\n    if (currentNonce) {\n        return currentNonce;\n    }\n    if (typeof __webpack_nonce__ !== 'undefined') {\n        return __webpack_nonce__;\n    }\n    return undefined;\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n    var useStyle = styleHookSingleton();\n    var Sheet = function (_a) {\n        var styles = _a.styles, dynamic = _a.dynamic;\n        useStyle(styles, dynamic);\n        return null;\n    };\n    return Sheet;\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n    var sheet = stylesheetSingleton();\n    return function (styles, isDynamic) {\n        React.useEffect(function () {\n            sheet.add(styles);\n            return function () {\n                sheet.remove();\n            };\n        }, [styles && isDynamic]);\n    };\n};\n","export var zeroGap = {\n    left: 0,\n    top: 0,\n    right: 0,\n    gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n    var cs = window.getComputedStyle(document.body);\n    var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n    var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n    var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n    return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    if (typeof window === 'undefined') {\n        return zeroGap;\n    }\n    var offsets = getOffset(gapMode);\n    var documentWidth = document.documentElement.clientWidth;\n    var windowWidth = window.innerWidth;\n    return {\n        left: offsets[0],\n        top: offsets[1],\n        right: offsets[2],\n        gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n    };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n    var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    return \"\\n  .\".concat(noScrollbarsClassName, \" {\\n   overflow: hidden \").concat(important, \";\\n   padding-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  body[\").concat(lockAttribute, \"] {\\n    overflow: hidden \").concat(important, \";\\n    overscroll-behavior: contain;\\n    \").concat([\n        allowRelative && \"position: relative \".concat(important, \";\"),\n        gapMode === 'margin' &&\n            \"\\n    padding-left: \".concat(left, \"px;\\n    padding-top: \").concat(top, \"px;\\n    padding-right: \").concat(right, \"px;\\n    margin-left:0;\\n    margin-top:0;\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n    \"),\n        gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n    ]\n        .filter(Boolean)\n        .join(''), \"\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" {\\n    right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" {\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n    right: 0 \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n    margin-right: 0 \").concat(important, \";\\n  }\\n  \\n  body[\").concat(lockAttribute, \"] {\\n    \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n  }\\n\");\n};\nvar getCurrentUseCounter = function () {\n    var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n    return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n    React.useEffect(function () {\n        document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n        return function () {\n            var newCounter = getCurrentUseCounter() - 1;\n            if (newCounter <= 0) {\n                document.body.removeAttribute(lockAttribute);\n            }\n            else {\n                document.body.setAttribute(lockAttribute, newCounter.toString());\n            }\n        };\n    }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n    var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n    useLockAttribute();\n    /*\n     gap will be measured on every component mount\n     however it will be used only by the \"first\" invocation\n     due to singleton nature of <Style\n     */\n    var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n    return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\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    if (!(node instanceof Element)) {\n        return false;\n    }\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 ownerDocument = node.ownerDocument;\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), scrollHeight = _a[1], clientHeight = _a[2];\n            if (scrollHeight > clientHeight) {\n                return true;\n            }\n        }\n        current = current.parentNode;\n    } while (current && current !== ownerDocument.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        // we will \"bubble\" from ShadowDom in case we are, or just to the parent in normal case\n        // this is the same logic used in focus-lock\n        target = (target.parentNode.host || target.parentNode);\n    } while (\n    // portaled content\n    (!targetInLock && target !== document.body) ||\n        // self content\n        (targetInLock && (endTarget.contains(target) || endTarget === target)));\n    // handle epsilon around 0 (non standard zoom levels)\n    if (isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n        shouldCancelScroll = true;\n    }\n    else if (!isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!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(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) || (event.type === 'wheel' && event.ctrlKey)) {\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 || event.target === e.shadowParent) && 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, shadowParent: getOutermostShadowParent(target) };\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, { noRelative: props.noRelative, gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n    var shadowParent = null;\n    while (node !== null) {\n        if (node instanceof ShadowRoot) {\n            shadowParent = node.host;\n            node = node.host;\n        }\n        node = node.parentNode;\n    }\n    return shadowParent;\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","var getDefaultParent = function (originalTarget) {\n    if (typeof document === 'undefined') {\n        return null;\n    }\n    var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n    return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n    return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n    return targets\n        .map(function (target) {\n        if (parent.contains(target)) {\n            return target;\n        }\n        var correctedTarget = unwrapHost(target);\n        if (correctedTarget && parent.contains(correctedTarget)) {\n            return correctedTarget;\n        }\n        console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n        return null;\n    })\n        .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n    var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    if (!markerMap[markerName]) {\n        markerMap[markerName] = new WeakMap();\n    }\n    var markerCounter = markerMap[markerName];\n    var hiddenNodes = [];\n    var elementsToKeep = new Set();\n    var elementsToStop = new Set(targets);\n    var keep = function (el) {\n        if (!el || elementsToKeep.has(el)) {\n            return;\n        }\n        elementsToKeep.add(el);\n        keep(el.parentNode);\n    };\n    targets.forEach(keep);\n    var deep = function (parent) {\n        if (!parent || elementsToStop.has(parent)) {\n            return;\n        }\n        Array.prototype.forEach.call(parent.children, function (node) {\n            if (elementsToKeep.has(node)) {\n                deep(node);\n            }\n            else {\n                try {\n                    var attr = node.getAttribute(controlAttribute);\n                    var alreadyHidden = attr !== null && attr !== 'false';\n                    var counterValue = (counterMap.get(node) || 0) + 1;\n                    var markerValue = (markerCounter.get(node) || 0) + 1;\n                    counterMap.set(node, counterValue);\n                    markerCounter.set(node, markerValue);\n                    hiddenNodes.push(node);\n                    if (counterValue === 1 && alreadyHidden) {\n                        uncontrolledNodes.set(node, true);\n                    }\n                    if (markerValue === 1) {\n                        node.setAttribute(markerName, 'true');\n                    }\n                    if (!alreadyHidden) {\n                        node.setAttribute(controlAttribute, 'true');\n                    }\n                }\n                catch (e) {\n                    console.error('aria-hidden: cannot operate on ', node, e);\n                }\n            }\n        });\n    };\n    deep(parentNode);\n    elementsToKeep.clear();\n    lockCount++;\n    return function () {\n        hiddenNodes.forEach(function (node) {\n            var counterValue = counterMap.get(node) - 1;\n            var markerValue = markerCounter.get(node) - 1;\n            counterMap.set(node, counterValue);\n            markerCounter.set(node, markerValue);\n            if (!counterValue) {\n                if (!uncontrolledNodes.has(node)) {\n                    node.removeAttribute(controlAttribute);\n                }\n                uncontrolledNodes.delete(node);\n            }\n            if (!markerValue) {\n                node.removeAttribute(markerName);\n            }\n        });\n        lockCount--;\n        if (!lockCount) {\n            // clear\n            counterMap = new WeakMap();\n            counterMap = new WeakMap();\n            uncontrolledNodes = new WeakMap();\n            markerMap = {};\n        }\n    };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n    var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    // we should not hide aria-live elements - https://github.com/theKashey/aria-hidden/issues/10\n    // and script elements, as they have no impact on accessibility.\n    targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live], script')));\n    return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-inert-ed'; }\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n    return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-suppressed'; }\n    return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n"],"names":["AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","bubbles","cancelable","FocusScope","React","forwardRef","props","forwardedRef","loop","trapped","onMountAutoFocus","onMountAutoFocusProp","onUnmountAutoFocus","onUnmountAutoFocusProp","scopeProps","container","setContainer","useState","useCallbackRef","lastFocusedElementRef","useRef","composedRefs","useComposedRefs","node","focusScope","paused","pause","this","resume","current","useEffect","handleFocusIn","event","target","contains","focus","select","handleFocusOut","relatedTarget","handleMutations","mutations","document","activeElement","body","mutation","removedNodes","length","addEventListener","mutationObserver","MutationObserver","observe","childList","subtree","removeEventListener","disconnect","focusScopesStack","add","previouslyFocusedElement","mountEvent","CustomEvent","dispatchEvent","defaultPrevented","candidates","candidate","focusFirst","items","getTabbableCandidates","filter","item","tagName","setTimeout","unmountEvent","remove","handleKeyDown","useCallback","isTabKey","key","altKey","ctrlKey","metaKey","focusedElement","currentTarget","first","last","findVisible","reverse","getTabbableEdges","shiftKey","preventDefault","jsx","Primitive","div","tabIndex","ref","onKeyDown","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","type","disabled","hidden","FILTER_SKIP","FILTER_ACCEPT","nextNode","push","currentNode","elements","element","isHidden","upTo","getComputedStyle","visibility","display","parentElement","preventScroll","HTMLInputElement","isSelectableInput","displayName","stack","activeFocusScope","arrayRemove","unshift","createFocusScopesStack","array","updatedArray","index","indexOf","splice","count","useFocusGuards","edgeGuards","querySelectorAll","insertAdjacentElement","createFocusGuard","forEach","createElement","setAttribute","style","outline","opacity","position","pointerEvents","zeroRightClassName","fullWidthClassName","assignRef","value","useIsomorphicLayoutEffect","window","useLayoutEffect","currentValues","WeakMap","useMergeRefs","refs","defaultValue","initialValue","callback","callbackRef","newValue","facade","oldValue","get","prevRefs_1","Set","nextRefs_1","current_1","has","set","ItoI","a","SideCar","_a","sideCar","rest","__rest","Error","Target","read","__assign","isSideCarExport","effectCar","options","medium","defaults","middleware","buffer","assigned","useMedium","data","x","assignSyncMedium","cb","cbs","assignMedium","pendingQueue","executeQueue","cycle","Promise","resolve","then","innerCreateMedium","async","ssr","createSidecarMedium","nothing","RemoveScroll","parentRef","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","children","className","removeScrollBar","enabled","shards","noRelative","noIsolation","inert","allowPinchZoom","_b","as","Container","gapMode","containerRef","containerProps","Fragment","lockRef","cloneElement","Children","only","defaultProps","classNames","fullWidth","zeroRight","makeStyleTag","tag","nonce","__webpack_nonce__","getNonce","stylesheetSingleton","counter","stylesheet","css","styleSheet","cssText","appendChild","createTextNode","head","getElementsByTagName","insertStyleTag","parentNode","removeChild","styleSingleton","sheet","useStyle","styles","isDynamic","dynamic","zeroGap","left","top","right","gap","parse","parseInt","getGapWidth","offsets","cs","getOffset","documentWidth","documentElement","clientWidth","windowWidth","innerWidth","Math","max","Style","lockAttribute","getStyles","allowRelative","important","concat","Boolean","join","getCurrentUseCounter","getAttribute","isFinite","RemoveScrollBar","noImportant","toString","newCounter","removeAttribute","useMemo","passiveSupported","Object","defineProperty","err","nonPassive","passive","elementCanBeScrolled","overflow","Element","overflowY","overflowX","alwaysContainsScroll","locationCouldBeScrolled","axis","ownerDocument","ShadowRoot","host","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","getHScrollVariables","getTouchXY","changedTouches","clientX","clientY","getDeltaXY","deltaX","deltaY","extractRef","generateStyle","id","idCounter","lockStack","getOutermostShadowParent","shadowParent","exported","shouldPreventQueue","touchStartRef","activeAxis","lastProps","classList","allow_1","__spreadArray","map","el","shouldCancelEvent","parent","touches","currentAxis","touch","touchStart","moveDirection","abs","canBeScrolledInMainDirection","cancelingAxis","endTarget","sourceDelta","directionFactor","direction","getDirectionFactor","delta","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","handleScroll","shouldPrevent","_event","sourceEvent","e","name","y","should","shardNodes","shouldCancel","scrollTouchStart","undefined","scrollWheel","scrollTouchMove","inst","ReactRemoveScroll","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","applyAttributeToOthers","originalTarget","markerName","controlAttribute","targets","correctedTarget","correctTargets","Array","isArray","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","deep","prototype","call","attr","alreadyHidden","counterValue","markerValue","clear","delete","hideOthers","from","activeParentNode","getDefaultParent","apply"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}