{"ast":null,"code":"import _defineProperty from \"C:/Users/user/Desktop/000newport/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectSpread from \"C:/Users/user/Desktop/000newport/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _objectWithoutProperties from \"C:/Users/user/Desktop/000newport/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _slicedToArray from \"C:/Users/user/Desktop/000newport/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _excluded = [\"__scopeScrollArea\", \"type\", \"dir\", \"scrollHideDelay\"],\n  _excluded2 = [\"__scopeScrollArea\", \"children\"],\n  _excluded3 = [\"forceMount\"],\n  _excluded4 = [\"forceMount\"],\n  _excluded5 = [\"forceMount\"],\n  _excluded6 = [\"forceMount\"],\n  _excluded7 = [\"orientation\"],\n  _excluded8 = [\"sizes\", \"onSizesChange\"],\n  _excluded9 = [\"sizes\", \"onSizesChange\"],\n  _excluded10 = [\"__scopeScrollArea\", \"sizes\", \"hasThumb\", \"onThumbChange\", \"onThumbPointerUp\", \"onThumbPointerDown\", \"onThumbPositionChange\", \"onDragScroll\", \"onWheelScroll\", \"onResize\"],\n  _excluded11 = [\"forceMount\"],\n  _excluded12 = [\"__scopeScrollArea\", \"style\"],\n  _excluded13 = [\"__scopeScrollArea\"];\nimport $fnFM9$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport { forwardRef as $fnFM9$forwardRef, useState as $fnFM9$useState, createElement as $fnFM9$createElement, useRef as $fnFM9$useRef, Fragment as $fnFM9$Fragment, useEffect as $fnFM9$useEffect, useCallback as $fnFM9$useCallback, useReducer as $fnFM9$useReducer } from \"react\";\nimport { Primitive as $fnFM9$Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence as $fnFM9$Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope as $fnFM9$createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs as $fnFM9$useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef as $fnFM9$useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection as $fnFM9$useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect as $fnFM9$useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp as $fnFM9$clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers as $fnFM9$composeEventHandlers } from \"@radix-ui/primitive\";\nfunction $6c2e24571c90391f$export$3e6543de14f8614f(initialState, machine) {\n  return $fnFM9$useReducer(function (state, event) {\n    var nextState = machine[state][event];\n    return nextState !== null && nextState !== void 0 ? nextState : state;\n  }, initialState);\n}\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollArea\n * -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$SCROLL_AREA_NAME = 'ScrollArea';\nvar _$fnFM9$createContext = $fnFM9$createContextScope($57acba87d6e25586$var$SCROLL_AREA_NAME),\n  _$fnFM9$createContext2 = _slicedToArray(_$fnFM9$createContext, 2),\n  $57acba87d6e25586$var$createScrollAreaContext = _$fnFM9$createContext2[0],\n  $57acba87d6e25586$export$488468afe3a6f2b1 = _$fnFM9$createContext2[1];\nvar _$57acba87d6e25586$va = $57acba87d6e25586$var$createScrollAreaContext($57acba87d6e25586$var$SCROLL_AREA_NAME),\n  _$57acba87d6e25586$va2 = _slicedToArray(_$57acba87d6e25586$va, 2),\n  $57acba87d6e25586$var$ScrollAreaProvider = _$57acba87d6e25586$va2[0],\n  $57acba87d6e25586$var$useScrollAreaContext = _$57acba87d6e25586$va2[1];\nvar $57acba87d6e25586$export$ccf8d8d7bbf3c2cc = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var _objectSpread2;\n  var __scopeScrollArea = props.__scopeScrollArea,\n    _props$type = props.type,\n    type = _props$type === void 0 ? 'hover' : _props$type,\n    dir = props.dir,\n    _props$scrollHideDela = props.scrollHideDelay,\n    scrollHideDelay = _props$scrollHideDela === void 0 ? 600 : _props$scrollHideDela,\n    scrollAreaProps = _objectWithoutProperties(props, _excluded);\n  var _$fnFM9$useState = $fnFM9$useState(null),\n    _$fnFM9$useState2 = _slicedToArray(_$fnFM9$useState, 2),\n    scrollArea = _$fnFM9$useState2[0],\n    setScrollArea = _$fnFM9$useState2[1];\n  var _$fnFM9$useState3 = $fnFM9$useState(null),\n    _$fnFM9$useState4 = _slicedToArray(_$fnFM9$useState3, 2),\n    viewport = _$fnFM9$useState4[0],\n    setViewport = _$fnFM9$useState4[1];\n  var _$fnFM9$useState5 = $fnFM9$useState(null),\n    _$fnFM9$useState6 = _slicedToArray(_$fnFM9$useState5, 2),\n    content = _$fnFM9$useState6[0],\n    setContent = _$fnFM9$useState6[1];\n  var _$fnFM9$useState7 = $fnFM9$useState(null),\n    _$fnFM9$useState8 = _slicedToArray(_$fnFM9$useState7, 2),\n    scrollbarX = _$fnFM9$useState8[0],\n    setScrollbarX = _$fnFM9$useState8[1];\n  var _$fnFM9$useState9 = $fnFM9$useState(null),\n    _$fnFM9$useState10 = _slicedToArray(_$fnFM9$useState9, 2),\n    scrollbarY = _$fnFM9$useState10[0],\n    setScrollbarY = _$fnFM9$useState10[1];\n  var _$fnFM9$useState11 = $fnFM9$useState(0),\n    _$fnFM9$useState12 = _slicedToArray(_$fnFM9$useState11, 2),\n    cornerWidth = _$fnFM9$useState12[0],\n    setCornerWidth = _$fnFM9$useState12[1];\n  var _$fnFM9$useState13 = $fnFM9$useState(0),\n    _$fnFM9$useState14 = _slicedToArray(_$fnFM9$useState13, 2),\n    cornerHeight = _$fnFM9$useState14[0],\n    setCornerHeight = _$fnFM9$useState14[1];\n  var _$fnFM9$useState15 = $fnFM9$useState(false),\n    _$fnFM9$useState16 = _slicedToArray(_$fnFM9$useState15, 2),\n    scrollbarXEnabled = _$fnFM9$useState16[0],\n    setScrollbarXEnabled = _$fnFM9$useState16[1];\n  var _$fnFM9$useState17 = $fnFM9$useState(false),\n    _$fnFM9$useState18 = _slicedToArray(_$fnFM9$useState17, 2),\n    scrollbarYEnabled = _$fnFM9$useState18[0],\n    setScrollbarYEnabled = _$fnFM9$useState18[1];\n  var composedRefs = $fnFM9$useComposedRefs(forwardedRef, function (node) {\n    return setScrollArea(node);\n  });\n  var direction = $fnFM9$useDirection(dir);\n  return /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaProvider, {\n    scope: __scopeScrollArea,\n    type: type,\n    dir: direction,\n    scrollHideDelay: scrollHideDelay,\n    scrollArea: scrollArea,\n    viewport: viewport,\n    onViewportChange: setViewport,\n    content: content,\n    onContentChange: setContent,\n    scrollbarX: scrollbarX,\n    onScrollbarXChange: setScrollbarX,\n    scrollbarXEnabled: scrollbarXEnabled,\n    onScrollbarXEnabledChange: setScrollbarXEnabled,\n    scrollbarY: scrollbarY,\n    onScrollbarYChange: setScrollbarY,\n    scrollbarYEnabled: scrollbarYEnabled,\n    onScrollbarYEnabledChange: setScrollbarYEnabled,\n    onCornerWidthChange: setCornerWidth,\n    onCornerHeightChange: setCornerHeight\n  }, /*#__PURE__*/$fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({\n    dir: direction\n  }, scrollAreaProps, {\n    ref: composedRefs,\n    style: _objectSpread((_objectSpread2 = {\n      position: 'relative'\n    }, _defineProperty(_objectSpread2, '--radix-scroll-area-corner-width', cornerWidth + 'px'), _defineProperty(_objectSpread2, '--radix-scroll-area-corner-height', cornerHeight + 'px'), _objectSpread2), props.style)\n  })));\n});\n/*#__PURE__*/\nObject.assign($57acba87d6e25586$export$ccf8d8d7bbf3c2cc, {\n  displayName: $57acba87d6e25586$var$SCROLL_AREA_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaViewport\n * -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$VIEWPORT_NAME = 'ScrollAreaViewport';\nvar $57acba87d6e25586$export$a21cbf9f11fca853 = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var __scopeScrollArea = props.__scopeScrollArea,\n    children = props.children,\n    viewportProps = _objectWithoutProperties(props, _excluded2);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$VIEWPORT_NAME, __scopeScrollArea);\n  var ref = $fnFM9$useRef(null);\n  var composedRefs = $fnFM9$useComposedRefs(forwardedRef, ref, context.onViewportChange);\n  return /*#__PURE__*/$fnFM9$createElement($fnFM9$Fragment, null, /*#__PURE__*/$fnFM9$createElement(\"style\", {\n    dangerouslySetInnerHTML: {\n      __html: \"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}\"\n    }\n  }), /*#__PURE__*/$fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({\n    \"data-radix-scroll-area-viewport\": \"\"\n  }, viewportProps, {\n    ref: composedRefs,\n    style: _objectSpread({\n      /**\n      * We don't support `visible` because the intention is to have at least one scrollbar\n      * if this component is used and `visible` will behave like `auto` in that case\n      * https://developer.mozilla.org/en-US/docs/Web/CSS/overflowed#description\n      *\n      * We don't handle `auto` because the intention is for the native implementation\n      * to be hidden if using this component. We just want to ensure the node is scrollable\n      * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n      * the browser from having to work out whether to render native scrollbars or not,\n      * we tell it to with the intention of hiding them in CSS.\n      */\n      overflowX: context.scrollbarXEnabled ? 'scroll' : 'hidden',\n      overflowY: context.scrollbarYEnabled ? 'scroll' : 'hidden'\n    }, props.style)\n  }), /*#__PURE__*/$fnFM9$createElement(\"div\", {\n    ref: context.onContentChange,\n    style: {\n      minWidth: '100%',\n      display: 'table'\n    }\n  }, children)));\n});\n/*#__PURE__*/\nObject.assign($57acba87d6e25586$export$a21cbf9f11fca853, {\n  displayName: $57acba87d6e25586$var$VIEWPORT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaScrollbar\n * -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$SCROLLBAR_NAME = 'ScrollAreaScrollbar';\nvar $57acba87d6e25586$export$2fabd85d0eba3c57 = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var forceMount = props.forceMount,\n    scrollbarProps = _objectWithoutProperties(props, _excluded3);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n  var onScrollbarXEnabledChange = context.onScrollbarXEnabledChange,\n    onScrollbarYEnabledChange = context.onScrollbarYEnabledChange;\n  var isHorizontal = props.orientation === 'horizontal';\n  $fnFM9$useEffect(function () {\n    isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n    return function () {\n      isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n    };\n  }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n  return context.type === 'hover' ? /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarHover, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n    ref: forwardedRef,\n    forceMount: forceMount\n  })) : context.type === 'scroll' ? /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarScroll, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n    ref: forwardedRef,\n    forceMount: forceMount\n  })) : context.type === 'auto' ? /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarAuto, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n    ref: forwardedRef,\n    forceMount: forceMount\n  })) : context.type === 'always' ? /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarVisible, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n    ref: forwardedRef\n  })) : null;\n});\n/*#__PURE__*/\nObject.assign($57acba87d6e25586$export$2fabd85d0eba3c57, {\n  displayName: $57acba87d6e25586$var$SCROLLBAR_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$ScrollAreaScrollbarHover = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var forceMount = props.forceMount,\n    scrollbarProps = _objectWithoutProperties(props, _excluded4);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n  var _$fnFM9$useState19 = $fnFM9$useState(false),\n    _$fnFM9$useState20 = _slicedToArray(_$fnFM9$useState19, 2),\n    visible = _$fnFM9$useState20[0],\n    setVisible = _$fnFM9$useState20[1];\n  $fnFM9$useEffect(function () {\n    var scrollArea = context.scrollArea;\n    var hideTimer = 0;\n    if (scrollArea) {\n      var handlePointerEnter = function handlePointerEnter() {\n        window.clearTimeout(hideTimer);\n        setVisible(true);\n      };\n      var handlePointerLeave = function handlePointerLeave() {\n        hideTimer = window.setTimeout(function () {\n          return setVisible(false);\n        }, context.scrollHideDelay);\n      };\n      scrollArea.addEventListener('pointerenter', handlePointerEnter);\n      scrollArea.addEventListener('pointerleave', handlePointerLeave);\n      return function () {\n        window.clearTimeout(hideTimer);\n        scrollArea.removeEventListener('pointerenter', handlePointerEnter);\n        scrollArea.removeEventListener('pointerleave', handlePointerLeave);\n      };\n    }\n  }, [context.scrollArea, context.scrollHideDelay]);\n  return /*#__PURE__*/$fnFM9$createElement($fnFM9$Presence, {\n    present: forceMount || visible\n  }, /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarAuto, $fnFM9$babelruntimehelpersesmextends({\n    \"data-state\": visible ? 'visible' : 'hidden'\n  }, scrollbarProps, {\n    ref: forwardedRef\n  })));\n});\nvar $57acba87d6e25586$var$ScrollAreaScrollbarScroll = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var forceMount = props.forceMount,\n    scrollbarProps = _objectWithoutProperties(props, _excluded5);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n  var isHorizontal = props.orientation === 'horizontal';\n  var debounceScrollEnd = $57acba87d6e25586$var$useDebounceCallback(function () {\n    return send('SCROLL_END');\n  }, 100);\n  var _$6c2e24571c90391f$ex = $6c2e24571c90391f$export$3e6543de14f8614f('hidden', {\n      hidden: {\n        SCROLL: 'scrolling'\n      },\n      scrolling: {\n        SCROLL_END: 'idle',\n        POINTER_ENTER: 'interacting'\n      },\n      interacting: {\n        SCROLL: 'interacting',\n        POINTER_LEAVE: 'idle'\n      },\n      idle: {\n        HIDE: 'hidden',\n        SCROLL: 'scrolling',\n        POINTER_ENTER: 'interacting'\n      }\n    }),\n    _$6c2e24571c90391f$ex2 = _slicedToArray(_$6c2e24571c90391f$ex, 2),\n    state = _$6c2e24571c90391f$ex2[0],\n    send = _$6c2e24571c90391f$ex2[1];\n  $fnFM9$useEffect(function () {\n    if (state === 'idle') {\n      var hideTimer = window.setTimeout(function () {\n        return send('HIDE');\n      }, context.scrollHideDelay);\n      return function () {\n        return window.clearTimeout(hideTimer);\n      };\n    }\n  }, [state, context.scrollHideDelay, send]);\n  $fnFM9$useEffect(function () {\n    var viewport = context.viewport;\n    var scrollDirection = isHorizontal ? 'scrollLeft' : 'scrollTop';\n    if (viewport) {\n      var prevScrollPos = viewport[scrollDirection];\n      var handleScroll = function handleScroll() {\n        var scrollPos = viewport[scrollDirection];\n        var hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n        if (hasScrollInDirectionChanged) {\n          send('SCROLL');\n          debounceScrollEnd();\n        }\n        prevScrollPos = scrollPos;\n      };\n      viewport.addEventListener('scroll', handleScroll);\n      return function () {\n        return viewport.removeEventListener('scroll', handleScroll);\n      };\n    }\n  }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n  return /*#__PURE__*/$fnFM9$createElement($fnFM9$Presence, {\n    present: forceMount || state !== 'hidden'\n  }, /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarVisible, $fnFM9$babelruntimehelpersesmextends({\n    \"data-state\": state === 'hidden' ? 'hidden' : 'visible'\n  }, scrollbarProps, {\n    ref: forwardedRef,\n    onPointerEnter: $fnFM9$composeEventHandlers(props.onPointerEnter, function () {\n      return send('POINTER_ENTER');\n    }),\n    onPointerLeave: $fnFM9$composeEventHandlers(props.onPointerLeave, function () {\n      return send('POINTER_LEAVE');\n    })\n  })));\n});\nvar $57acba87d6e25586$var$ScrollAreaScrollbarAuto = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n  var forceMount = props.forceMount,\n    scrollbarProps = _objectWithoutProperties(props, _excluded6);\n  var _$fnFM9$useState21 = $fnFM9$useState(false),\n    _$fnFM9$useState22 = _slicedToArray(_$fnFM9$useState21, 2),\n    visible = _$fnFM9$useState22[0],\n    setVisible = _$fnFM9$useState22[1];\n  var isHorizontal = props.orientation === 'horizontal';\n  var handleResize = $57acba87d6e25586$var$useDebounceCallback(function () {\n    if (context.viewport) {\n      var isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n      var isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n      setVisible(isHorizontal ? isOverflowX : isOverflowY);\n    }\n  }, 10);\n  $57acba87d6e25586$var$useResizeObserver(context.viewport, handleResize);\n  $57acba87d6e25586$var$useResizeObserver(context.content, handleResize);\n  return /*#__PURE__*/$fnFM9$createElement($fnFM9$Presence, {\n    present: forceMount || visible\n  }, /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarVisible, $fnFM9$babelruntimehelpersesmextends({\n    \"data-state\": visible ? 'visible' : 'hidden'\n  }, scrollbarProps, {\n    ref: forwardedRef\n  })));\n});\n/* -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$ScrollAreaScrollbarVisible = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var _props$orientation = props.orientation,\n    orientation = _props$orientation === void 0 ? 'vertical' : _props$orientation,\n    scrollbarProps = _objectWithoutProperties(props, _excluded7);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n  var thumbRef = $fnFM9$useRef(null);\n  var pointerOffsetRef = $fnFM9$useRef(0);\n  var _$fnFM9$useState23 = $fnFM9$useState({\n      content: 0,\n      viewport: 0,\n      scrollbar: {\n        size: 0,\n        paddingStart: 0,\n        paddingEnd: 0\n      }\n    }),\n    _$fnFM9$useState24 = _slicedToArray(_$fnFM9$useState23, 2),\n    sizes = _$fnFM9$useState24[0],\n    setSizes = _$fnFM9$useState24[1];\n  var thumbRatio = $57acba87d6e25586$var$getThumbRatio(sizes.viewport, sizes.content);\n  var commonProps = _objectSpread(_objectSpread({}, scrollbarProps), {}, {\n    sizes: sizes,\n    onSizesChange: setSizes,\n    hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n    onThumbChange: function onThumbChange(thumb) {\n      return thumbRef.current = thumb;\n    },\n    onThumbPointerUp: function onThumbPointerUp() {\n      return pointerOffsetRef.current = 0;\n    },\n    onThumbPointerDown: function onThumbPointerDown(pointerPos) {\n      return pointerOffsetRef.current = pointerPos;\n    }\n  });\n  function getScrollPosition(pointerPos, dir) {\n    return $57acba87d6e25586$var$getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n  }\n  if (orientation === 'horizontal') return /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarX, $fnFM9$babelruntimehelpersesmextends({}, commonProps, {\n    ref: forwardedRef,\n    onThumbPositionChange: function onThumbPositionChange() {\n      if (context.viewport && thumbRef.current) {\n        var scrollPos = context.viewport.scrollLeft;\n        var offset = $57acba87d6e25586$var$getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n        thumbRef.current.style.transform = \"translate3d(\".concat(offset, \"px, 0, 0)\");\n      }\n    },\n    onWheelScroll: function onWheelScroll(scrollPos) {\n      if (context.viewport) context.viewport.scrollLeft = scrollPos;\n    },\n    onDragScroll: function onDragScroll(pointerPos) {\n      if (context.viewport) context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n    }\n  }));\n  if (orientation === 'vertical') return /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarY, $fnFM9$babelruntimehelpersesmextends({}, commonProps, {\n    ref: forwardedRef,\n    onThumbPositionChange: function onThumbPositionChange() {\n      if (context.viewport && thumbRef.current) {\n        var scrollPos = context.viewport.scrollTop;\n        var offset = $57acba87d6e25586$var$getThumbOffsetFromScroll(scrollPos, sizes);\n        thumbRef.current.style.transform = \"translate3d(0, \".concat(offset, \"px, 0)\");\n      }\n    },\n    onWheelScroll: function onWheelScroll(scrollPos) {\n      if (context.viewport) context.viewport.scrollTop = scrollPos;\n    },\n    onDragScroll: function onDragScroll(pointerPos) {\n      if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n    }\n  }));\n  return null;\n});\n/* -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$ScrollAreaScrollbarX = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var sizes = props.sizes,\n    onSizesChange = props.onSizesChange,\n    scrollbarProps = _objectWithoutProperties(props, _excluded8);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n  var _$fnFM9$useState25 = $fnFM9$useState(),\n    _$fnFM9$useState26 = _slicedToArray(_$fnFM9$useState25, 2),\n    computedStyle = _$fnFM9$useState26[0],\n    setComputedStyle = _$fnFM9$useState26[1];\n  var ref = $fnFM9$useRef(null);\n  var composeRefs = $fnFM9$useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n  $fnFM9$useEffect(function () {\n    if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n  }, [ref]);\n  return /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarImpl, $fnFM9$babelruntimehelpersesmextends({\n    \"data-orientation\": \"horizontal\"\n  }, scrollbarProps, {\n    ref: composeRefs,\n    sizes: sizes,\n    style: _objectSpread(_defineProperty({\n      bottom: 0,\n      left: context.dir === 'rtl' ? 'var(--radix-scroll-area-corner-width)' : 0,\n      right: context.dir === 'ltr' ? 'var(--radix-scroll-area-corner-width)' : 0\n    }, '--radix-scroll-area-thumb-width', $57acba87d6e25586$var$getThumbSize(sizes) + 'px'), props.style),\n    onThumbPointerDown: function onThumbPointerDown(pointerPos) {\n      return props.onThumbPointerDown(pointerPos.x);\n    },\n    onDragScroll: function onDragScroll(pointerPos) {\n      return props.onDragScroll(pointerPos.x);\n    },\n    onWheelScroll: function onWheelScroll(event, maxScrollPos) {\n      if (context.viewport) {\n        var scrollPos = context.viewport.scrollLeft + event.deltaX;\n        props.onWheelScroll(scrollPos); // prevent window scroll when wheeling on scrollbar\n        if ($57acba87d6e25586$var$isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) event.preventDefault();\n      }\n    },\n    onResize: function onResize() {\n      if (ref.current && context.viewport && computedStyle) onSizesChange({\n        content: context.viewport.scrollWidth,\n        viewport: context.viewport.offsetWidth,\n        scrollbar: {\n          size: ref.current.clientWidth,\n          paddingStart: $57acba87d6e25586$var$toInt(computedStyle.paddingLeft),\n          paddingEnd: $57acba87d6e25586$var$toInt(computedStyle.paddingRight)\n        }\n      });\n    }\n  }));\n});\nvar $57acba87d6e25586$var$ScrollAreaScrollbarY = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var sizes = props.sizes,\n    onSizesChange = props.onSizesChange,\n    scrollbarProps = _objectWithoutProperties(props, _excluded9);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n  var _$fnFM9$useState27 = $fnFM9$useState(),\n    _$fnFM9$useState28 = _slicedToArray(_$fnFM9$useState27, 2),\n    computedStyle = _$fnFM9$useState28[0],\n    setComputedStyle = _$fnFM9$useState28[1];\n  var ref = $fnFM9$useRef(null);\n  var composeRefs = $fnFM9$useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n  $fnFM9$useEffect(function () {\n    if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n  }, [ref]);\n  return /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarImpl, $fnFM9$babelruntimehelpersesmextends({\n    \"data-orientation\": \"vertical\"\n  }, scrollbarProps, {\n    ref: composeRefs,\n    sizes: sizes,\n    style: _objectSpread(_defineProperty({\n      top: 0,\n      right: context.dir === 'ltr' ? 0 : undefined,\n      left: context.dir === 'rtl' ? 0 : undefined,\n      bottom: 'var(--radix-scroll-area-corner-height)'\n    }, '--radix-scroll-area-thumb-height', $57acba87d6e25586$var$getThumbSize(sizes) + 'px'), props.style),\n    onThumbPointerDown: function onThumbPointerDown(pointerPos) {\n      return props.onThumbPointerDown(pointerPos.y);\n    },\n    onDragScroll: function onDragScroll(pointerPos) {\n      return props.onDragScroll(pointerPos.y);\n    },\n    onWheelScroll: function onWheelScroll(event, maxScrollPos) {\n      if (context.viewport) {\n        var scrollPos = context.viewport.scrollTop + event.deltaY;\n        props.onWheelScroll(scrollPos); // prevent window scroll when wheeling on scrollbar\n        if ($57acba87d6e25586$var$isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) event.preventDefault();\n      }\n    },\n    onResize: function onResize() {\n      if (ref.current && context.viewport && computedStyle) onSizesChange({\n        content: context.viewport.scrollHeight,\n        viewport: context.viewport.offsetHeight,\n        scrollbar: {\n          size: ref.current.clientHeight,\n          paddingStart: $57acba87d6e25586$var$toInt(computedStyle.paddingTop),\n          paddingEnd: $57acba87d6e25586$var$toInt(computedStyle.paddingBottom)\n        }\n      });\n    }\n  }));\n});\n/* -----------------------------------------------------------------------------------------------*/\nvar _$57acba87d6e25586$va3 = $57acba87d6e25586$var$createScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME),\n  _$57acba87d6e25586$va4 = _slicedToArray(_$57acba87d6e25586$va3, 2),\n  $57acba87d6e25586$var$ScrollbarProvider = _$57acba87d6e25586$va4[0],\n  $57acba87d6e25586$var$useScrollbarContext = _$57acba87d6e25586$va4[1];\nvar $57acba87d6e25586$var$ScrollAreaScrollbarImpl = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var __scopeScrollArea = props.__scopeScrollArea,\n    sizes = props.sizes,\n    hasThumb = props.hasThumb,\n    onThumbChange = props.onThumbChange,\n    onThumbPointerUp = props.onThumbPointerUp,\n    onThumbPointerDown = props.onThumbPointerDown,\n    onThumbPositionChange = props.onThumbPositionChange,\n    onDragScroll = props.onDragScroll,\n    onWheelScroll = props.onWheelScroll,\n    onResize = props.onResize,\n    scrollbarProps = _objectWithoutProperties(props, _excluded10);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, __scopeScrollArea);\n  var _$fnFM9$useState29 = $fnFM9$useState(null),\n    _$fnFM9$useState30 = _slicedToArray(_$fnFM9$useState29, 2),\n    scrollbar = _$fnFM9$useState30[0],\n    setScrollbar = _$fnFM9$useState30[1];\n  var composeRefs = $fnFM9$useComposedRefs(forwardedRef, function (node) {\n    return setScrollbar(node);\n  });\n  var rectRef = $fnFM9$useRef(null);\n  var prevWebkitUserSelectRef = $fnFM9$useRef('');\n  var viewport = context.viewport;\n  var maxScrollPos = sizes.content - sizes.viewport;\n  var handleWheelScroll = $fnFM9$useCallbackRef(onWheelScroll);\n  var handleThumbPositionChange = $fnFM9$useCallbackRef(onThumbPositionChange);\n  var handleResize = $57acba87d6e25586$var$useDebounceCallback(onResize, 10);\n  function handleDragScroll(event) {\n    if (rectRef.current) {\n      var x = event.clientX - rectRef.current.left;\n      var y = event.clientY - rectRef.current.top;\n      onDragScroll({\n        x: x,\n        y: y\n      });\n    }\n  }\n  /**\n  * We bind wheel event imperatively so we can switch off passive\n  * mode for document wheel event to allow it to be prevented\n  */\n  $fnFM9$useEffect(function () {\n    var handleWheel = function handleWheel(event) {\n      var element = event.target;\n      var isScrollbarWheel = scrollbar === null || scrollbar === void 0 ? void 0 : scrollbar.contains(element);\n      if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n    };\n    document.addEventListener('wheel', handleWheel, {\n      passive: false\n    });\n    return function () {\n      return document.removeEventListener('wheel', handleWheel, {\n        passive: false\n      });\n    };\n  }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n  /**\n  * Update thumb position on sizes change\n  */\n  $fnFM9$useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n  $57acba87d6e25586$var$useResizeObserver(scrollbar, handleResize);\n  $57acba87d6e25586$var$useResizeObserver(context.content, handleResize);\n  return /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollbarProvider, {\n    scope: __scopeScrollArea,\n    scrollbar: scrollbar,\n    hasThumb: hasThumb,\n    onThumbChange: $fnFM9$useCallbackRef(onThumbChange),\n    onThumbPointerUp: $fnFM9$useCallbackRef(onThumbPointerUp),\n    onThumbPositionChange: handleThumbPositionChange,\n    onThumbPointerDown: $fnFM9$useCallbackRef(onThumbPointerDown)\n  }, /*#__PURE__*/$fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n    ref: composeRefs,\n    style: _objectSpread({\n      position: 'absolute'\n    }, scrollbarProps.style),\n    onPointerDown: $fnFM9$composeEventHandlers(props.onPointerDown, function (event) {\n      var mainPointer = 0;\n      if (event.button === mainPointer) {\n        var element = event.target;\n        element.setPointerCapture(event.pointerId);\n        rectRef.current = scrollbar.getBoundingClientRect(); // pointer capture doesn't prevent text selection in Safari\n        // so we remove text selection manually when scrolling\n        prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n        document.body.style.webkitUserSelect = 'none';\n        handleDragScroll(event);\n      }\n    }),\n    onPointerMove: $fnFM9$composeEventHandlers(props.onPointerMove, handleDragScroll),\n    onPointerUp: $fnFM9$composeEventHandlers(props.onPointerUp, function (event) {\n      var element = event.target;\n      if (element.hasPointerCapture(event.pointerId)) element.releasePointerCapture(event.pointerId);\n      document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n      rectRef.current = null;\n    })\n  })));\n});\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaThumb\n * -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$THUMB_NAME = 'ScrollAreaThumb';\nvar $57acba87d6e25586$export$9fba1154677d7cd2 = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var forceMount = props.forceMount,\n    thumbProps = _objectWithoutProperties(props, _excluded11);\n  var scrollbarContext = $57acba87d6e25586$var$useScrollbarContext($57acba87d6e25586$var$THUMB_NAME, props.__scopeScrollArea);\n  return /*#__PURE__*/$fnFM9$createElement($fnFM9$Presence, {\n    present: forceMount || scrollbarContext.hasThumb\n  }, /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaThumbImpl, $fnFM9$babelruntimehelpersesmextends({\n    ref: forwardedRef\n  }, thumbProps)));\n});\nvar $57acba87d6e25586$var$ScrollAreaThumbImpl = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var __scopeScrollArea = props.__scopeScrollArea,\n    style = props.style,\n    thumbProps = _objectWithoutProperties(props, _excluded12);\n  var scrollAreaContext = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$THUMB_NAME, __scopeScrollArea);\n  var scrollbarContext = $57acba87d6e25586$var$useScrollbarContext($57acba87d6e25586$var$THUMB_NAME, __scopeScrollArea);\n  var onThumbPositionChange = scrollbarContext.onThumbPositionChange;\n  var composedRef = $fnFM9$useComposedRefs(forwardedRef, function (node) {\n    return scrollbarContext.onThumbChange(node);\n  });\n  var removeUnlinkedScrollListenerRef = $fnFM9$useRef();\n  var debounceScrollEnd = $57acba87d6e25586$var$useDebounceCallback(function () {\n    if (removeUnlinkedScrollListenerRef.current) {\n      removeUnlinkedScrollListenerRef.current();\n      removeUnlinkedScrollListenerRef.current = undefined;\n    }\n  }, 100);\n  $fnFM9$useEffect(function () {\n    var viewport = scrollAreaContext.viewport;\n    if (viewport) {\n      /**\n      * We only bind to native scroll event so we know when scroll starts and ends.\n      * When scroll starts we start a requestAnimationFrame loop that checks for\n      * changes to scroll position. That rAF loop triggers our thumb position change\n      * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n      * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n      */\n      var handleScroll = function handleScroll() {\n        debounceScrollEnd();\n        if (!removeUnlinkedScrollListenerRef.current) {\n          var listener = $57acba87d6e25586$var$addUnlinkedScrollListener(viewport, onThumbPositionChange);\n          removeUnlinkedScrollListenerRef.current = listener;\n          onThumbPositionChange();\n        }\n      };\n      onThumbPositionChange();\n      viewport.addEventListener('scroll', handleScroll);\n      return function () {\n        return viewport.removeEventListener('scroll', handleScroll);\n      };\n    }\n  }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n  return /*#__PURE__*/$fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({\n    \"data-state\": scrollbarContext.hasThumb ? 'visible' : 'hidden'\n  }, thumbProps, {\n    ref: composedRef,\n    style: _objectSpread({\n      width: 'var(--radix-scroll-area-thumb-width)',\n      height: 'var(--radix-scroll-area-thumb-height)'\n    }, style),\n    onPointerDownCapture: $fnFM9$composeEventHandlers(props.onPointerDownCapture, function (event) {\n      var thumb = event.target;\n      var thumbRect = thumb.getBoundingClientRect();\n      var x = event.clientX - thumbRect.left;\n      var y = event.clientY - thumbRect.top;\n      scrollbarContext.onThumbPointerDown({\n        x: x,\n        y: y\n      });\n    }),\n    onPointerUp: $fnFM9$composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n  }));\n});\n/*#__PURE__*/\nObject.assign($57acba87d6e25586$export$9fba1154677d7cd2, {\n  displayName: $57acba87d6e25586$var$THUMB_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaCorner\n * -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$CORNER_NAME = 'ScrollAreaCorner';\nvar $57acba87d6e25586$export$56969d565df7cc4b = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$CORNER_NAME, props.__scopeScrollArea);\n  var hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n  var hasCorner = context.type !== 'scroll' && hasBothScrollbarsVisible;\n  return hasCorner ? /*#__PURE__*/$fnFM9$createElement($57acba87d6e25586$var$ScrollAreaCornerImpl, $fnFM9$babelruntimehelpersesmextends({}, props, {\n    ref: forwardedRef\n  })) : null;\n});\n/*#__PURE__*/\nObject.assign($57acba87d6e25586$export$56969d565df7cc4b, {\n  displayName: $57acba87d6e25586$var$CORNER_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$var$ScrollAreaCornerImpl = /*#__PURE__*/$fnFM9$forwardRef(function (props, forwardedRef) {\n  var __scopeScrollArea = props.__scopeScrollArea,\n    cornerProps = _objectWithoutProperties(props, _excluded13);\n  var context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$CORNER_NAME, __scopeScrollArea);\n  var _$fnFM9$useState31 = $fnFM9$useState(0),\n    _$fnFM9$useState32 = _slicedToArray(_$fnFM9$useState31, 2),\n    width1 = _$fnFM9$useState32[0],\n    setWidth = _$fnFM9$useState32[1];\n  var _$fnFM9$useState33 = $fnFM9$useState(0),\n    _$fnFM9$useState34 = _slicedToArray(_$fnFM9$useState33, 2),\n    height1 = _$fnFM9$useState34[0],\n    setHeight = _$fnFM9$useState34[1];\n  var hasSize = Boolean(width1 && height1);\n  $57acba87d6e25586$var$useResizeObserver(context.scrollbarX, function () {\n    var _context$scrollbarX;\n    var height = ((_context$scrollbarX = context.scrollbarX) === null || _context$scrollbarX === void 0 ? void 0 : _context$scrollbarX.offsetHeight) || 0;\n    context.onCornerHeightChange(height);\n    setHeight(height);\n  });\n  $57acba87d6e25586$var$useResizeObserver(context.scrollbarY, function () {\n    var _context$scrollbarY;\n    var width = ((_context$scrollbarY = context.scrollbarY) === null || _context$scrollbarY === void 0 ? void 0 : _context$scrollbarY.offsetWidth) || 0;\n    context.onCornerWidthChange(width);\n    setWidth(width);\n  });\n  return hasSize ? /*#__PURE__*/$fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({}, cornerProps, {\n    ref: forwardedRef,\n    style: _objectSpread({\n      width: width1,\n      height: height1,\n      position: 'absolute',\n      right: context.dir === 'ltr' ? 0 : undefined,\n      left: context.dir === 'rtl' ? 0 : undefined,\n      bottom: 0\n    }, props.style)\n  })) : null;\n});\n/* -----------------------------------------------------------------------------------------------*/\nfunction $57acba87d6e25586$var$toInt(value) {\n  return value ? parseInt(value, 10) : 0;\n}\nfunction $57acba87d6e25586$var$getThumbRatio(viewportSize, contentSize) {\n  var ratio = viewportSize / contentSize;\n  return isNaN(ratio) ? 0 : ratio;\n}\nfunction $57acba87d6e25586$var$getThumbSize(sizes) {\n  var ratio = $57acba87d6e25586$var$getThumbRatio(sizes.viewport, sizes.content);\n  var scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n  var thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio; // minimum of 18 matches macOS minimum\n  return Math.max(thumbSize, 18);\n}\nfunction $57acba87d6e25586$var$getScrollPositionFromPointer(pointerPos, pointerOffset, sizes) {\n  var dir = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'ltr';\n  var thumbSizePx = $57acba87d6e25586$var$getThumbSize(sizes);\n  var thumbCenter = thumbSizePx / 2;\n  var offset = pointerOffset || thumbCenter;\n  var thumbOffsetFromEnd = thumbSizePx - offset;\n  var minPointerPos = sizes.scrollbar.paddingStart + offset;\n  var maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n  var maxScrollPos = sizes.content - sizes.viewport;\n  var scrollRange = dir === 'ltr' ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n  var interpolate = $57acba87d6e25586$var$linearScale([minPointerPos, maxPointerPos], scrollRange);\n  return interpolate(pointerPos);\n}\nfunction $57acba87d6e25586$var$getThumbOffsetFromScroll(scrollPos, sizes) {\n  var dir = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'ltr';\n  var thumbSizePx = $57acba87d6e25586$var$getThumbSize(sizes);\n  var scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n  var scrollbar = sizes.scrollbar.size - scrollbarPadding;\n  var maxScrollPos = sizes.content - sizes.viewport;\n  var maxThumbPos = scrollbar - thumbSizePx;\n  var scrollClampRange = dir === 'ltr' ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n  var scrollWithoutMomentum = $fnFM9$clamp(scrollPos, scrollClampRange);\n  var interpolate = $57acba87d6e25586$var$linearScale([0, maxScrollPos], [0, maxThumbPos]);\n  return interpolate(scrollWithoutMomentum);\n} // https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nfunction $57acba87d6e25586$var$linearScale(input, output) {\n  return function (value) {\n    if (input[0] === input[1] || output[0] === output[1]) return output[0];\n    var ratio = (output[1] - output[0]) / (input[1] - input[0]);\n    return output[0] + ratio * (value - input[0]);\n  };\n}\nfunction $57acba87d6e25586$var$isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n  return scrollPos > 0 && scrollPos < maxScrollPos;\n} // Custom scroll handler to avoid scroll-linked effects\n// https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\nvar $57acba87d6e25586$var$addUnlinkedScrollListener = function $57acba87d6e25586$var$addUnlinkedScrollListener(node) {\n  var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n  var prevPosition = {\n    left: node.scrollLeft,\n    top: node.scrollTop\n  };\n  var rAF = 0;\n  (function loop() {\n    var position = {\n      left: node.scrollLeft,\n      top: node.scrollTop\n    };\n    var isHorizontalScroll = prevPosition.left !== position.left;\n    var isVerticalScroll = prevPosition.top !== position.top;\n    if (isHorizontalScroll || isVerticalScroll) handler();\n    prevPosition = position;\n    rAF = window.requestAnimationFrame(loop);\n  })();\n  return function () {\n    return window.cancelAnimationFrame(rAF);\n  };\n};\nfunction $57acba87d6e25586$var$useDebounceCallback(callback, delay) {\n  var handleCallback = $fnFM9$useCallbackRef(callback);\n  var debounceTimerRef = $fnFM9$useRef(0);\n  $fnFM9$useEffect(function () {\n    return function () {\n      return window.clearTimeout(debounceTimerRef.current);\n    };\n  }, []);\n  return $fnFM9$useCallback(function () {\n    window.clearTimeout(debounceTimerRef.current);\n    debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n  }, [handleCallback, delay]);\n}\nfunction $57acba87d6e25586$var$useResizeObserver(element, onResize) {\n  var handleResize = $fnFM9$useCallbackRef(onResize);\n  $fnFM9$useLayoutEffect(function () {\n    var rAF = 0;\n    if (element) {\n      /**\n      * Resize Observer will throw an often benign error that says `ResizeObserver loop\n      * completed with undelivered notifications`. This means that ResizeObserver was not\n      * able to deliver all observations within a single animation frame, so we use\n      * `requestAnimationFrame` to ensure we don't deliver unnecessary observations.\n      * Further reading: https://github.com/WICG/resize-observer/issues/38\n      */\n      var resizeObserver = new ResizeObserver(function () {\n        cancelAnimationFrame(rAF);\n        rAF = window.requestAnimationFrame(handleResize);\n      });\n      resizeObserver.observe(element);\n      return function () {\n        window.cancelAnimationFrame(rAF);\n        resizeObserver.unobserve(element);\n      };\n    }\n  }, [element, handleResize]);\n}\n/* -----------------------------------------------------------------------------------------------*/\nvar $57acba87d6e25586$export$be92b6f5f03c0fe9 = $57acba87d6e25586$export$ccf8d8d7bbf3c2cc;\nvar $57acba87d6e25586$export$d5c6c08dc2d3ca7 = $57acba87d6e25586$export$a21cbf9f11fca853;\nvar $57acba87d6e25586$export$9a4e88b92edfce6b = $57acba87d6e25586$export$2fabd85d0eba3c57;\nvar $57acba87d6e25586$export$6521433ed15a34db = $57acba87d6e25586$export$9fba1154677d7cd2;\nvar $57acba87d6e25586$export$ac61190d9fc311a9 = $57acba87d6e25586$export$56969d565df7cc4b;\nexport { $57acba87d6e25586$export$488468afe3a6f2b1 as createScrollAreaScope, $57acba87d6e25586$export$ccf8d8d7bbf3c2cc as ScrollArea, $57acba87d6e25586$export$a21cbf9f11fca853 as ScrollAreaViewport, $57acba87d6e25586$export$2fabd85d0eba3c57 as ScrollAreaScrollbar, $57acba87d6e25586$export$9fba1154677d7cd2 as ScrollAreaThumb, $57acba87d6e25586$export$56969d565df7cc4b as ScrollAreaCorner, $57acba87d6e25586$export$be92b6f5f03c0fe9 as Root, $57acba87d6e25586$export$d5c6c08dc2d3ca7 as Viewport, $57acba87d6e25586$export$9a4e88b92edfce6b as Scrollbar, $57acba87d6e25586$export$6521433ed15a34db as Thumb, $57acba87d6e25586$export$ac61190d9fc311a9 as Corner };","map":{"version":3,"names":["$6c2e24571c90391f$export$3e6543de14f8614f","useStateMachine","initialState","machine","$fnFM9$useReducer","state","event","nextState","$57acba87d6e25586$var$SCROLL_AREA_NAME","_$fnFM9$createContext","$fnFM9$createContextScope","_$fnFM9$createContext2","_slicedToArray","$57acba87d6e25586$var$createScrollAreaContext","$57acba87d6e25586$export$488468afe3a6f2b1","_$57acba87d6e25586$va","_$57acba87d6e25586$va2","$57acba87d6e25586$var$ScrollAreaProvider","$57acba87d6e25586$var$useScrollAreaContext","$57acba87d6e25586$export$ccf8d8d7bbf3c2cc","$fnFM9$forwardRef","props","forwardedRef","_objectSpread2","__scopeScrollArea","type","_props$type","dir","scrollHideDelay","_props$scrollHideDela","scrollAreaProps","_objectWithoutProperties","_excluded","_$fnFM9$useState","$fnFM9$useState","_$fnFM9$useState2","scrollArea","setScrollArea","_$fnFM9$useState3","_$fnFM9$useState4","viewport","setViewport","_$fnFM9$useState5","_$fnFM9$useState6","content","setContent","_$fnFM9$useState7","_$fnFM9$useState8","scrollbarX","setScrollbarX","_$fnFM9$useState9","_$fnFM9$useState10","scrollbarY","setScrollbarY","_$fnFM9$useState11","_$fnFM9$useState12","cornerWidth","setCornerWidth","_$fnFM9$useState13","_$fnFM9$useState14","cornerHeight","setCornerHeight","_$fnFM9$useState15","_$fnFM9$useState16","scrollbarXEnabled","setScrollbarXEnabled","_$fnFM9$useState17","_$fnFM9$useState18","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","$fnFM9$useComposedRefs","node","direction","$fnFM9$useDirection","$fnFM9$createElement","scope","onViewportChange","onContentChange","onScrollbarXChange","onScrollbarXEnabledChange","onScrollbarYChange","onScrollbarYEnabledChange","onCornerWidthChange","onCornerHeightChange","$fnFM9$Primitive","div","$fnFM9$babelruntimehelpersesmextends","ref","style","_objectSpread","position","_defineProperty","Object","assign","displayName","$57acba87d6e25586$var$VIEWPORT_NAME","$57acba87d6e25586$export$a21cbf9f11fca853","children","viewportProps","_excluded2","context","$fnFM9$useRef","$fnFM9$Fragment","dangerouslySetInnerHTML","__html","overflowX","overflowY","minWidth","display","$57acba87d6e25586$var$SCROLLBAR_NAME","$57acba87d6e25586$export$2fabd85d0eba3c57","forceMount","scrollbarProps","_excluded3","isHorizontal","orientation","$fnFM9$useEffect","$57acba87d6e25586$var$ScrollAreaScrollbarHover","$57acba87d6e25586$var$ScrollAreaScrollbarScroll","$57acba87d6e25586$var$ScrollAreaScrollbarAuto","$57acba87d6e25586$var$ScrollAreaScrollbarVisible","_excluded4","_$fnFM9$useState19","_$fnFM9$useState20","visible","setVisible","hideTimer","handlePointerEnter","window","clearTimeout","handlePointerLeave","setTimeout","addEventListener","removeEventListener","$fnFM9$Presence","present","_excluded5","debounceScrollEnd","$57acba87d6e25586$var$useDebounceCallback","send","_$6c2e24571c90391f$ex","hidden","SCROLL","scrolling","SCROLL_END","POINTER_ENTER","interacting","POINTER_LEAVE","idle","HIDE","_$6c2e24571c90391f$ex2","scrollDirection","prevScrollPos","handleScroll","scrollPos","hasScrollInDirectionChanged","onPointerEnter","$fnFM9$composeEventHandlers","onPointerLeave","_excluded6","_$fnFM9$useState21","_$fnFM9$useState22","handleResize","isOverflowX","offsetWidth","scrollWidth","isOverflowY","offsetHeight","scrollHeight","$57acba87d6e25586$var$useResizeObserver","_props$orientation","_excluded7","thumbRef","pointerOffsetRef","_$fnFM9$useState23","scrollbar","size","paddingStart","paddingEnd","_$fnFM9$useState24","sizes","setSizes","thumbRatio","$57acba87d6e25586$var$getThumbRatio","commonProps","onSizesChange","hasThumb","Boolean","onThumbChange","thumb","current","onThumbPointerUp","onThumbPointerDown","pointerPos","getScrollPosition","$57acba87d6e25586$var$getScrollPositionFromPointer","$57acba87d6e25586$var$ScrollAreaScrollbarX","onThumbPositionChange","scrollLeft","offset","$57acba87d6e25586$var$getThumbOffsetFromScroll","transform","concat","onWheelScroll","onDragScroll","$57acba87d6e25586$var$ScrollAreaScrollbarY","scrollTop","_excluded8","_$fnFM9$useState25","_$fnFM9$useState26","computedStyle","setComputedStyle","composeRefs","getComputedStyle","$57acba87d6e25586$var$ScrollAreaScrollbarImpl","bottom","left","right","$57acba87d6e25586$var$getThumbSize","x","maxScrollPos","deltaX","$57acba87d6e25586$var$isScrollingWithinScrollbarBounds","preventDefault","onResize","clientWidth","$57acba87d6e25586$var$toInt","paddingLeft","paddingRight","_excluded9","_$fnFM9$useState27","_$fnFM9$useState28","top","undefined","y","deltaY","clientHeight","paddingTop","paddingBottom","_$57acba87d6e25586$va3","_$57acba87d6e25586$va4","$57acba87d6e25586$var$ScrollbarProvider","$57acba87d6e25586$var$useScrollbarContext","_excluded10","_$fnFM9$useState29","_$fnFM9$useState30","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","$fnFM9$useCallbackRef","handleThumbPositionChange","handleDragScroll","clientX","clientY","handleWheel","element","target","isScrollbarWheel","contains","document","passive","onPointerDown","mainPointer","button","setPointerCapture","pointerId","getBoundingClientRect","body","webkitUserSelect","onPointerMove","onPointerUp","hasPointerCapture","releasePointerCapture","$57acba87d6e25586$var$THUMB_NAME","$57acba87d6e25586$export$9fba1154677d7cd2","thumbProps","_excluded11","scrollbarContext","$57acba87d6e25586$var$ScrollAreaThumbImpl","_excluded12","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","$57acba87d6e25586$var$addUnlinkedScrollListener","width","height","onPointerDownCapture","thumbRect","$57acba87d6e25586$var$CORNER_NAME","$57acba87d6e25586$export$56969d565df7cc4b","hasBothScrollbarsVisible","hasCorner","$57acba87d6e25586$var$ScrollAreaCornerImpl","cornerProps","_excluded13","_$fnFM9$useState31","_$fnFM9$useState32","width1","setWidth","_$fnFM9$useState33","_$fnFM9$useState34","height1","setHeight","hasSize","_context$scrollbarX","_context$scrollbarY","toInt","value","parseInt","getThumbRatio","viewportSize","contentSize","ratio","isNaN","getThumbSize","scrollbarPadding","thumbSize","Math","max","getScrollPositionFromPointer","pointerOffset","arguments","length","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","interpolate","$57acba87d6e25586$var$linearScale","getThumbOffsetFromScroll","maxThumbPos","scrollClampRange","scrollWithoutMomentum","$fnFM9$clamp","linearScale","input","output","isScrollingWithinScrollbarBounds","addUnlinkedScrollListener","handler","prevPosition","rAF","loop","isHorizontalScroll","isVerticalScroll","requestAnimationFrame","cancelAnimationFrame","useDebounceCallback","callback","delay","handleCallback","debounceTimerRef","$fnFM9$useCallback","useResizeObserver","$fnFM9$useLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","$57acba87d6e25586$export$be92b6f5f03c0fe9","$57acba87d6e25586$export$d5c6c08dc2d3ca7","$57acba87d6e25586$export$9a4e88b92edfce6b","$57acba87d6e25586$export$6521433ed15a34db","$57acba87d6e25586$export$ac61190d9fc311a9"],"sources":["C:\\Users\\user\\Desktop\\000newport\\node_modules\\@radix-ui\\react-scroll-area\\dist\\packages\\react\\scroll-area\\src\\index.ts","C:\\Users\\user\\Desktop\\000newport\\node_modules\\@radix-ui\\react-scroll-area\\dist\\packages\\react\\scroll-area\\src\\ScrollArea.tsx","C:\\Users\\user\\Desktop\\000newport\\node_modules\\@radix-ui\\react-scroll-area\\dist\\packages\\react\\scroll-area\\src\\useStateMachine.ts"],"sourcesContent":["export {\n  createScrollAreaScope,\n  //\n  ScrollArea,\n  ScrollAreaViewport,\n  ScrollAreaScrollbar,\n  ScrollAreaThumb,\n  ScrollAreaCorner,\n  //\n  Root,\n  Viewport,\n  Scrollbar,\n  Thumb,\n  Corner,\n} from './ScrollArea';\nexport type {\n  ScrollAreaProps,\n  ScrollAreaViewportProps,\n  ScrollAreaScrollbarProps,\n  ScrollAreaThumbProps,\n  ScrollAreaCornerProps,\n} from './ScrollArea';\n","/// <reference types=\"resize-observer-browser\" />\n\nimport * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { Presence } from '@radix-ui/react-presence';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { clamp } from '@radix-ui/number';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useStateMachine } from './useStateMachine';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\ntype Sizes = {\n  content: number;\n  viewport: number;\n  scrollbar: {\n    size: number;\n    paddingStart: number;\n    paddingEnd: number;\n  };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollArea\n * -----------------------------------------------------------------------------------------------*/\n\nconst SCROLL_AREA_NAME = 'ScrollArea';\n\ntype ScopedProps<P> = P & { __scopeScrollArea?: Scope };\nconst [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\n\ntype ScrollAreaContextValue = {\n  type: 'auto' | 'always' | 'scroll' | 'hover';\n  dir: Direction;\n  scrollHideDelay: number;\n  scrollArea: ScrollAreaElement | null;\n  viewport: ScrollAreaViewportElement | null;\n  onViewportChange(viewport: ScrollAreaViewportElement | null): void;\n  content: HTMLDivElement | null;\n  onContentChange(content: HTMLDivElement): void;\n  scrollbarX: ScrollAreaScrollbarElement | null;\n  onScrollbarXChange(scrollbar: ScrollAreaScrollbarElement | null): void;\n  scrollbarXEnabled: boolean;\n  onScrollbarXEnabledChange(rendered: boolean): void;\n  scrollbarY: ScrollAreaScrollbarElement | null;\n  onScrollbarYChange(scrollbar: ScrollAreaScrollbarElement | null): void;\n  scrollbarYEnabled: boolean;\n  onScrollbarYEnabledChange(rendered: boolean): void;\n  onCornerWidthChange(width: number): void;\n  onCornerHeightChange(height: number): void;\n};\n\nconst [ScrollAreaProvider, useScrollAreaContext] =\n  createScrollAreaContext<ScrollAreaContextValue>(SCROLL_AREA_NAME);\n\ntype ScrollAreaElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface ScrollAreaProps extends PrimitiveDivProps {\n  type?: ScrollAreaContextValue['type'];\n  dir?: ScrollAreaContextValue['dir'];\n  scrollHideDelay?: number;\n}\n\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>(\n  (props: ScopedProps<ScrollAreaProps>, forwardedRef) => {\n    const {\n      __scopeScrollArea,\n      type = 'hover',\n      dir,\n      scrollHideDelay = 600,\n      ...scrollAreaProps\n    } = props;\n    const [scrollArea, setScrollArea] = React.useState<ScrollAreaElement | null>(null);\n    const [viewport, setViewport] = React.useState<ScrollAreaViewportElement | null>(null);\n    const [content, setContent] = React.useState<HTMLDivElement | null>(null);\n    const [scrollbarX, setScrollbarX] = React.useState<ScrollAreaScrollbarElement | null>(null);\n    const [scrollbarY, setScrollbarY] = React.useState<ScrollAreaScrollbarElement | null>(null);\n    const [cornerWidth, setCornerWidth] = React.useState(0);\n    const [cornerHeight, setCornerHeight] = React.useState(0);\n    const [scrollbarXEnabled, setScrollbarXEnabled] = React.useState(false);\n    const [scrollbarYEnabled, setScrollbarYEnabled] = React.useState(false);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n    const direction = useDirection(dir);\n\n    return (\n      <ScrollAreaProvider\n        scope={__scopeScrollArea}\n        type={type}\n        dir={direction}\n        scrollHideDelay={scrollHideDelay}\n        scrollArea={scrollArea}\n        viewport={viewport}\n        onViewportChange={setViewport}\n        content={content}\n        onContentChange={setContent}\n        scrollbarX={scrollbarX}\n        onScrollbarXChange={setScrollbarX}\n        scrollbarXEnabled={scrollbarXEnabled}\n        onScrollbarXEnabledChange={setScrollbarXEnabled}\n        scrollbarY={scrollbarY}\n        onScrollbarYChange={setScrollbarY}\n        scrollbarYEnabled={scrollbarYEnabled}\n        onScrollbarYEnabledChange={setScrollbarYEnabled}\n        onCornerWidthChange={setCornerWidth}\n        onCornerHeightChange={setCornerHeight}\n      >\n        <Primitive.div\n          dir={direction}\n          {...scrollAreaProps}\n          ref={composedRefs}\n          style={{\n            position: 'relative',\n            // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n            ['--radix-scroll-area-corner-width' as any]: cornerWidth + 'px',\n            ['--radix-scroll-area-corner-height' as any]: cornerHeight + 'px',\n            ...props.style,\n          }}\n        />\n      </ScrollAreaProvider>\n    );\n  }\n);\n\nScrollArea.displayName = SCROLL_AREA_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaViewport\n * -----------------------------------------------------------------------------------------------*/\n\nconst VIEWPORT_NAME = 'ScrollAreaViewport';\n\ntype ScrollAreaViewportElement = React.ElementRef<typeof Primitive.div>;\ninterface ScrollAreaViewportProps extends PrimitiveDivProps {}\n\nconst ScrollAreaViewport = React.forwardRef<ScrollAreaViewportElement, ScrollAreaViewportProps>(\n  (props: ScopedProps<ScrollAreaViewportProps>, forwardedRef) => {\n    const { __scopeScrollArea, children, ...viewportProps } = props;\n    const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n    const ref = React.useRef<ScrollAreaViewportElement>(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n    return (\n      <>\n        {/* Hide scrollbars cross-browser and enable momentum scroll for touch devices */}\n        <style\n          dangerouslySetInnerHTML={{\n            __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`,\n          }}\n        />\n        <Primitive.div\n          data-radix-scroll-area-viewport=\"\"\n          {...viewportProps}\n          ref={composedRefs}\n          style={{\n            /**\n             * We don't support `visible` because the intention is to have at least one scrollbar\n             * if this component is used and `visible` will behave like `auto` in that case\n             * https://developer.mozilla.org/en-US/docs/Web/CSS/overflowed#description\n             *\n             * We don't handle `auto` because the intention is for the native implementation\n             * to be hidden if using this component. We just want to ensure the node is scrollable\n             * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n             * the browser from having to work out whether to render native scrollbars or not,\n             * we tell it to with the intention of hiding them in CSS.\n             */\n            overflowX: context.scrollbarXEnabled ? 'scroll' : 'hidden',\n            overflowY: context.scrollbarYEnabled ? 'scroll' : 'hidden',\n            ...props.style,\n          }}\n        >\n          {/**\n           * `display: table` ensures our content div will match the size of its children in both\n           * horizontal and vertical axis so we can determine if scroll width/height changed and\n           * recalculate thumb sizes. This doesn't account for children with *percentage*\n           * widths that change. We'll wait to see what use-cases consumers come up with there\n           * before trying to resolve it.\n           */}\n          <div ref={context.onContentChange} style={{ minWidth: '100%', display: 'table' }}>\n            {children}\n          </div>\n        </Primitive.div>\n      </>\n    );\n  }\n);\n\nScrollAreaViewport.displayName = VIEWPORT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaScrollbar\n * -----------------------------------------------------------------------------------------------*/\n\nconst SCROLLBAR_NAME = 'ScrollAreaScrollbar';\n\ntype ScrollAreaScrollbarElement = ScrollAreaScrollbarVisibleElement;\ninterface ScrollAreaScrollbarProps extends ScrollAreaScrollbarVisibleProps {\n  forceMount?: true;\n}\n\nconst ScrollAreaScrollbar = React.forwardRef<ScrollAreaScrollbarElement, ScrollAreaScrollbarProps>(\n  (props: ScopedProps<ScrollAreaScrollbarProps>, forwardedRef) => {\n    const { forceMount, ...scrollbarProps } = props;\n    const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n    const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n    const isHorizontal = props.orientation === 'horizontal';\n\n    React.useEffect(() => {\n      isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n      return () => {\n        isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n      };\n    }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n\n    return context.type === 'hover' ? (\n      <ScrollAreaScrollbarHover {...scrollbarProps} ref={forwardedRef} forceMount={forceMount} />\n    ) : context.type === 'scroll' ? (\n      <ScrollAreaScrollbarScroll {...scrollbarProps} ref={forwardedRef} forceMount={forceMount} />\n    ) : context.type === 'auto' ? (\n      <ScrollAreaScrollbarAuto {...scrollbarProps} ref={forwardedRef} forceMount={forceMount} />\n    ) : context.type === 'always' ? (\n      <ScrollAreaScrollbarVisible {...scrollbarProps} ref={forwardedRef} />\n    ) : null;\n  }\n);\n\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaScrollbarHoverElement = ScrollAreaScrollbarAutoElement;\ninterface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {\n  forceMount?: true;\n}\n\nconst ScrollAreaScrollbarHover = React.forwardRef<\n  ScrollAreaScrollbarHoverElement,\n  ScrollAreaScrollbarHoverProps\n>((props: ScopedProps<ScrollAreaScrollbarHoverProps>, forwardedRef) => {\n  const { forceMount, ...scrollbarProps } = props;\n  const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n  const [visible, setVisible] = React.useState(false);\n\n  React.useEffect(() => {\n    const scrollArea = context.scrollArea;\n    let hideTimer = 0;\n    if (scrollArea) {\n      const handlePointerEnter = () => {\n        window.clearTimeout(hideTimer);\n        setVisible(true);\n      };\n      const handlePointerLeave = () => {\n        hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n      };\n      scrollArea.addEventListener('pointerenter', handlePointerEnter);\n      scrollArea.addEventListener('pointerleave', handlePointerLeave);\n      return () => {\n        window.clearTimeout(hideTimer);\n        scrollArea.removeEventListener('pointerenter', handlePointerEnter);\n        scrollArea.removeEventListener('pointerleave', handlePointerLeave);\n      };\n    }\n  }, [context.scrollArea, context.scrollHideDelay]);\n\n  return (\n    <Presence present={forceMount || visible}>\n      <ScrollAreaScrollbarAuto\n        data-state={visible ? 'visible' : 'hidden'}\n        {...scrollbarProps}\n        ref={forwardedRef}\n      />\n    </Presence>\n  );\n});\n\ntype ScrollAreaScrollbarScrollElement = ScrollAreaScrollbarVisibleElement;\ninterface ScrollAreaScrollbarScrollProps extends ScrollAreaScrollbarVisibleProps {\n  forceMount?: true;\n}\n\nconst ScrollAreaScrollbarScroll = React.forwardRef<\n  ScrollAreaScrollbarScrollElement,\n  ScrollAreaScrollbarScrollProps\n>((props: ScopedProps<ScrollAreaScrollbarScrollProps>, forwardedRef) => {\n  const { forceMount, ...scrollbarProps } = props;\n  const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n  const isHorizontal = props.orientation === 'horizontal';\n  const debounceScrollEnd = useDebounceCallback(() => send('SCROLL_END'), 100);\n  const [state, send] = useStateMachine('hidden', {\n    hidden: {\n      SCROLL: 'scrolling',\n    },\n    scrolling: {\n      SCROLL_END: 'idle',\n      POINTER_ENTER: 'interacting',\n    },\n    interacting: {\n      SCROLL: 'interacting',\n      POINTER_LEAVE: 'idle',\n    },\n    idle: {\n      HIDE: 'hidden',\n      SCROLL: 'scrolling',\n      POINTER_ENTER: 'interacting',\n    },\n  });\n\n  React.useEffect(() => {\n    if (state === 'idle') {\n      const hideTimer = window.setTimeout(() => send('HIDE'), context.scrollHideDelay);\n      return () => window.clearTimeout(hideTimer);\n    }\n  }, [state, context.scrollHideDelay, send]);\n\n  React.useEffect(() => {\n    const viewport = context.viewport;\n    const scrollDirection = isHorizontal ? 'scrollLeft' : 'scrollTop';\n\n    if (viewport) {\n      let prevScrollPos = viewport[scrollDirection];\n      const handleScroll = () => {\n        const scrollPos = viewport[scrollDirection];\n        const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n        if (hasScrollInDirectionChanged) {\n          send('SCROLL');\n          debounceScrollEnd();\n        }\n        prevScrollPos = scrollPos;\n      };\n      viewport.addEventListener('scroll', handleScroll);\n      return () => viewport.removeEventListener('scroll', handleScroll);\n    }\n  }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n\n  return (\n    <Presence present={forceMount || state !== 'hidden'}>\n      <ScrollAreaScrollbarVisible\n        data-state={state === 'hidden' ? 'hidden' : 'visible'}\n        {...scrollbarProps}\n        ref={forwardedRef}\n        onPointerEnter={composeEventHandlers(props.onPointerEnter, () => send('POINTER_ENTER'))}\n        onPointerLeave={composeEventHandlers(props.onPointerLeave, () => send('POINTER_LEAVE'))}\n      />\n    </Presence>\n  );\n});\n\ntype ScrollAreaScrollbarAutoElement = ScrollAreaScrollbarVisibleElement;\ninterface ScrollAreaScrollbarAutoProps extends ScrollAreaScrollbarVisibleProps {\n  forceMount?: true;\n}\n\nconst ScrollAreaScrollbarAuto = React.forwardRef<\n  ScrollAreaScrollbarAutoElement,\n  ScrollAreaScrollbarAutoProps\n>((props: ScopedProps<ScrollAreaScrollbarAutoProps>, forwardedRef) => {\n  const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n  const { forceMount, ...scrollbarProps } = props;\n  const [visible, setVisible] = React.useState(false);\n  const isHorizontal = props.orientation === 'horizontal';\n  const handleResize = useDebounceCallback(() => {\n    if (context.viewport) {\n      const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n      const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n      setVisible(isHorizontal ? isOverflowX : isOverflowY);\n    }\n  }, 10);\n\n  useResizeObserver(context.viewport, handleResize);\n  useResizeObserver(context.content, handleResize);\n\n  return (\n    <Presence present={forceMount || visible}>\n      <ScrollAreaScrollbarVisible\n        data-state={visible ? 'visible' : 'hidden'}\n        {...scrollbarProps}\n        ref={forwardedRef}\n      />\n    </Presence>\n  );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaScrollbarVisibleElement = ScrollAreaScrollbarAxisElement;\ninterface ScrollAreaScrollbarVisibleProps\n  extends Omit<ScrollAreaScrollbarAxisProps, keyof ScrollAreaScrollbarAxisPrivateProps> {\n  orientation?: 'horizontal' | 'vertical';\n}\n\nconst ScrollAreaScrollbarVisible = React.forwardRef<\n  ScrollAreaScrollbarVisibleElement,\n  ScrollAreaScrollbarVisibleProps\n>((props: ScopedProps<ScrollAreaScrollbarVisibleProps>, forwardedRef) => {\n  const { orientation = 'vertical', ...scrollbarProps } = props;\n  const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n  const thumbRef = React.useRef<ScrollAreaThumbElement | null>(null);\n  const pointerOffsetRef = React.useRef(0);\n  const [sizes, setSizes] = React.useState<Sizes>({\n    content: 0,\n    viewport: 0,\n    scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 },\n  });\n  const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n\n  type UncommonProps = 'onThumbPositionChange' | 'onDragScroll' | 'onWheelScroll';\n  const commonProps: Omit<ScrollAreaScrollbarAxisPrivateProps, UncommonProps> = {\n    ...scrollbarProps,\n    sizes,\n    onSizesChange: setSizes,\n    hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n    onThumbChange: (thumb) => (thumbRef.current = thumb),\n    onThumbPointerUp: () => (pointerOffsetRef.current = 0),\n    onThumbPointerDown: (pointerPos) => (pointerOffsetRef.current = pointerPos),\n  };\n\n  function getScrollPosition(pointerPos: number, dir?: Direction) {\n    return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n  }\n\n  if (orientation === 'horizontal') {\n    return (\n      <ScrollAreaScrollbarX\n        {...commonProps}\n        ref={forwardedRef}\n        onThumbPositionChange={() => {\n          if (context.viewport && thumbRef.current) {\n            const scrollPos = context.viewport.scrollLeft;\n            const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n            thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n          }\n        }}\n        onWheelScroll={(scrollPos) => {\n          if (context.viewport) context.viewport.scrollLeft = scrollPos;\n        }}\n        onDragScroll={(pointerPos) => {\n          if (context.viewport) {\n            context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n          }\n        }}\n      />\n    );\n  }\n\n  if (orientation === 'vertical') {\n    return (\n      <ScrollAreaScrollbarY\n        {...commonProps}\n        ref={forwardedRef}\n        onThumbPositionChange={() => {\n          if (context.viewport && thumbRef.current) {\n            const scrollPos = context.viewport.scrollTop;\n            const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n            thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n          }\n        }}\n        onWheelScroll={(scrollPos) => {\n          if (context.viewport) context.viewport.scrollTop = scrollPos;\n        }}\n        onDragScroll={(pointerPos) => {\n          if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n        }}\n      />\n    );\n  }\n\n  return null;\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaScrollbarAxisPrivateProps = {\n  hasThumb: boolean;\n  sizes: Sizes;\n  onSizesChange(sizes: Sizes): void;\n  onThumbChange(thumb: ScrollAreaThumbElement | null): void;\n  onThumbPointerDown(pointerPos: number): void;\n  onThumbPointerUp(): void;\n  onThumbPositionChange(): void;\n  onWheelScroll(scrollPos: number): void;\n  onDragScroll(pointerPos: number): void;\n};\n\ntype ScrollAreaScrollbarAxisElement = ScrollAreaScrollbarImplElement;\ninterface ScrollAreaScrollbarAxisProps\n  extends Omit<ScrollAreaScrollbarImplProps, keyof ScrollAreaScrollbarImplPrivateProps>,\n    ScrollAreaScrollbarAxisPrivateProps {}\n\nconst ScrollAreaScrollbarX = React.forwardRef<\n  ScrollAreaScrollbarAxisElement,\n  ScrollAreaScrollbarAxisProps\n>((props: ScopedProps<ScrollAreaScrollbarAxisProps>, forwardedRef) => {\n  const { sizes, onSizesChange, ...scrollbarProps } = props;\n  const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n  const [computedStyle, setComputedStyle] = React.useState<CSSStyleDeclaration>();\n  const ref = React.useRef<ScrollAreaScrollbarAxisElement>(null);\n  const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n\n  React.useEffect(() => {\n    if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n  }, [ref]);\n\n  return (\n    <ScrollAreaScrollbarImpl\n      data-orientation=\"horizontal\"\n      {...scrollbarProps}\n      ref={composeRefs}\n      sizes={sizes}\n      style={{\n        bottom: 0,\n        left: context.dir === 'rtl' ? 'var(--radix-scroll-area-corner-width)' : 0,\n        right: context.dir === 'ltr' ? 'var(--radix-scroll-area-corner-width)' : 0,\n        ['--radix-scroll-area-thumb-width' as any]: getThumbSize(sizes) + 'px',\n        ...props.style,\n      }}\n      onThumbPointerDown={(pointerPos) => props.onThumbPointerDown(pointerPos.x)}\n      onDragScroll={(pointerPos) => props.onDragScroll(pointerPos.x)}\n      onWheelScroll={(event, maxScrollPos) => {\n        if (context.viewport) {\n          const scrollPos = context.viewport.scrollLeft + event.deltaX;\n          props.onWheelScroll(scrollPos);\n          // prevent window scroll when wheeling on scrollbar\n          if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n            event.preventDefault();\n          }\n        }\n      }}\n      onResize={() => {\n        if (ref.current && context.viewport && computedStyle) {\n          onSizesChange({\n            content: context.viewport.scrollWidth,\n            viewport: context.viewport.offsetWidth,\n            scrollbar: {\n              size: ref.current.clientWidth,\n              paddingStart: toInt(computedStyle.paddingLeft),\n              paddingEnd: toInt(computedStyle.paddingRight),\n            },\n          });\n        }\n      }}\n    />\n  );\n});\n\nconst ScrollAreaScrollbarY = React.forwardRef<\n  ScrollAreaScrollbarAxisElement,\n  ScrollAreaScrollbarAxisProps\n>((props: ScopedProps<ScrollAreaScrollbarAxisProps>, forwardedRef) => {\n  const { sizes, onSizesChange, ...scrollbarProps } = props;\n  const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n  const [computedStyle, setComputedStyle] = React.useState<CSSStyleDeclaration>();\n  const ref = React.useRef<ScrollAreaScrollbarAxisElement>(null);\n  const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n\n  React.useEffect(() => {\n    if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n  }, [ref]);\n\n  return (\n    <ScrollAreaScrollbarImpl\n      data-orientation=\"vertical\"\n      {...scrollbarProps}\n      ref={composeRefs}\n      sizes={sizes}\n      style={{\n        top: 0,\n        right: context.dir === 'ltr' ? 0 : undefined,\n        left: context.dir === 'rtl' ? 0 : undefined,\n        bottom: 'var(--radix-scroll-area-corner-height)',\n        ['--radix-scroll-area-thumb-height' as any]: getThumbSize(sizes) + 'px',\n        ...props.style,\n      }}\n      onThumbPointerDown={(pointerPos) => props.onThumbPointerDown(pointerPos.y)}\n      onDragScroll={(pointerPos) => props.onDragScroll(pointerPos.y)}\n      onWheelScroll={(event, maxScrollPos) => {\n        if (context.viewport) {\n          const scrollPos = context.viewport.scrollTop + event.deltaY;\n          props.onWheelScroll(scrollPos);\n          // prevent window scroll when wheeling on scrollbar\n          if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n            event.preventDefault();\n          }\n        }\n      }}\n      onResize={() => {\n        if (ref.current && context.viewport && computedStyle) {\n          onSizesChange({\n            content: context.viewport.scrollHeight,\n            viewport: context.viewport.offsetHeight,\n            scrollbar: {\n              size: ref.current.clientHeight,\n              paddingStart: toInt(computedStyle.paddingTop),\n              paddingEnd: toInt(computedStyle.paddingBottom),\n            },\n          });\n        }\n      }}\n    />\n  );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollbarContext = {\n  hasThumb: boolean;\n  scrollbar: ScrollAreaScrollbarElement | null;\n  onThumbChange(thumb: ScrollAreaThumbElement | null): void;\n  onThumbPointerUp(): void;\n  onThumbPointerDown(pointerPos: { x: number; y: number }): void;\n  onThumbPositionChange(): void;\n};\n\nconst [ScrollbarProvider, useScrollbarContext] =\n  createScrollAreaContext<ScrollbarContext>(SCROLLBAR_NAME);\n\ntype ScrollAreaScrollbarImplElement = React.ElementRef<typeof Primitive.div>;\ntype ScrollAreaScrollbarImplPrivateProps = {\n  sizes: Sizes;\n  hasThumb: boolean;\n  onThumbChange: ScrollbarContext['onThumbChange'];\n  onThumbPointerUp: ScrollbarContext['onThumbPointerUp'];\n  onThumbPointerDown: ScrollbarContext['onThumbPointerDown'];\n  onThumbPositionChange: ScrollbarContext['onThumbPositionChange'];\n  onWheelScroll(event: WheelEvent, maxScrollPos: number): void;\n  onDragScroll(pointerPos: { x: number; y: number }): void;\n  onResize(): void;\n};\ninterface ScrollAreaScrollbarImplProps\n  extends PrimitiveDivProps,\n    ScrollAreaScrollbarImplPrivateProps {}\n\nconst ScrollAreaScrollbarImpl = React.forwardRef<\n  ScrollAreaScrollbarImplElement,\n  ScrollAreaScrollbarImplProps\n>((props: ScopedProps<ScrollAreaScrollbarImplProps>, forwardedRef) => {\n  const {\n    __scopeScrollArea,\n    sizes,\n    hasThumb,\n    onThumbChange,\n    onThumbPointerUp,\n    onThumbPointerDown,\n    onThumbPositionChange,\n    onDragScroll,\n    onWheelScroll,\n    onResize,\n    ...scrollbarProps\n  } = props;\n  const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n  const [scrollbar, setScrollbar] = React.useState<ScrollAreaScrollbarElement | null>(null);\n  const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n  const rectRef = React.useRef<ClientRect | null>(null);\n  const prevWebkitUserSelectRef = React.useRef<string>('');\n  const viewport = context.viewport;\n  const maxScrollPos = sizes.content - sizes.viewport;\n  const handleWheelScroll = useCallbackRef(onWheelScroll);\n  const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n  const handleResize = useDebounceCallback(onResize, 10);\n\n  function handleDragScroll(event: React.PointerEvent<HTMLElement>) {\n    if (rectRef.current) {\n      const x = event.clientX - rectRef.current.left;\n      const y = event.clientY - rectRef.current.top;\n      onDragScroll({ x, y });\n    }\n  }\n\n  /**\n   * We bind wheel event imperatively so we can switch off passive\n   * mode for document wheel event to allow it to be prevented\n   */\n  React.useEffect(() => {\n    const handleWheel = (event: WheelEvent) => {\n      const element = event.target as HTMLElement;\n      const isScrollbarWheel = scrollbar?.contains(element);\n      if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n    };\n    document.addEventListener('wheel', handleWheel, { passive: false });\n    return () => document.removeEventListener('wheel', handleWheel, { passive: false } as any);\n  }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n\n  /**\n   * Update thumb position on sizes change\n   */\n  React.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n\n  useResizeObserver(scrollbar, handleResize);\n  useResizeObserver(context.content, handleResize);\n\n  return (\n    <ScrollbarProvider\n      scope={__scopeScrollArea}\n      scrollbar={scrollbar}\n      hasThumb={hasThumb}\n      onThumbChange={useCallbackRef(onThumbChange)}\n      onThumbPointerUp={useCallbackRef(onThumbPointerUp)}\n      onThumbPositionChange={handleThumbPositionChange}\n      onThumbPointerDown={useCallbackRef(onThumbPointerDown)}\n    >\n      <Primitive.div\n        {...scrollbarProps}\n        ref={composeRefs}\n        style={{ position: 'absolute', ...scrollbarProps.style }}\n        onPointerDown={composeEventHandlers(props.onPointerDown, (event) => {\n          const mainPointer = 0;\n          if (event.button === mainPointer) {\n            const element = event.target as HTMLElement;\n            element.setPointerCapture(event.pointerId);\n            rectRef.current = scrollbar!.getBoundingClientRect();\n            // pointer capture doesn't prevent text selection in Safari\n            // so we remove text selection manually when scrolling\n            prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n            document.body.style.webkitUserSelect = 'none';\n            handleDragScroll(event);\n          }\n        })}\n        onPointerMove={composeEventHandlers(props.onPointerMove, handleDragScroll)}\n        onPointerUp={composeEventHandlers(props.onPointerUp, (event) => {\n          const element = event.target as HTMLElement;\n          if (element.hasPointerCapture(event.pointerId)) {\n            element.releasePointerCapture(event.pointerId);\n          }\n          document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n          rectRef.current = null;\n        })}\n      />\n    </ScrollbarProvider>\n  );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaThumb\n * -----------------------------------------------------------------------------------------------*/\n\nconst THUMB_NAME = 'ScrollAreaThumb';\n\ntype ScrollAreaThumbElement = ScrollAreaThumbImplElement;\ninterface ScrollAreaThumbProps extends ScrollAreaThumbImplProps {\n  /**\n   * Used to force mounting when more control is needed. Useful when\n   * controlling animation with React animation libraries.\n   */\n  forceMount?: true;\n}\n\nconst ScrollAreaThumb = React.forwardRef<ScrollAreaThumbElement, ScrollAreaThumbProps>(\n  (props: ScopedProps<ScrollAreaThumbProps>, forwardedRef) => {\n    const { forceMount, ...thumbProps } = props;\n    const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n    return (\n      <Presence present={forceMount || scrollbarContext.hasThumb}>\n        <ScrollAreaThumbImpl ref={forwardedRef} {...thumbProps} />\n      </Presence>\n    );\n  }\n);\n\ntype ScrollAreaThumbImplElement = React.ElementRef<typeof Primitive.div>;\ninterface ScrollAreaThumbImplProps extends PrimitiveDivProps {}\n\nconst ScrollAreaThumbImpl = React.forwardRef<ScrollAreaThumbImplElement, ScrollAreaThumbImplProps>(\n  (props: ScopedProps<ScrollAreaThumbImplProps>, forwardedRef) => {\n    const { __scopeScrollArea, style, ...thumbProps } = props;\n    const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n    const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n    const { onThumbPositionChange } = scrollbarContext;\n    const composedRef = useComposedRefs(forwardedRef, (node) =>\n      scrollbarContext.onThumbChange(node)\n    );\n    const removeUnlinkedScrollListenerRef = React.useRef<() => void>();\n    const debounceScrollEnd = useDebounceCallback(() => {\n      if (removeUnlinkedScrollListenerRef.current) {\n        removeUnlinkedScrollListenerRef.current();\n        removeUnlinkedScrollListenerRef.current = undefined;\n      }\n    }, 100);\n\n    React.useEffect(() => {\n      const viewport = scrollAreaContext.viewport;\n      if (viewport) {\n        /**\n         * We only bind to native scroll event so we know when scroll starts and ends.\n         * When scroll starts we start a requestAnimationFrame loop that checks for\n         * changes to scroll position. That rAF loop triggers our thumb position change\n         * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n         * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n         */\n        const handleScroll = () => {\n          debounceScrollEnd();\n          if (!removeUnlinkedScrollListenerRef.current) {\n            const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n            removeUnlinkedScrollListenerRef.current = listener;\n            onThumbPositionChange();\n          }\n        };\n        onThumbPositionChange();\n        viewport.addEventListener('scroll', handleScroll);\n        return () => viewport.removeEventListener('scroll', handleScroll);\n      }\n    }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n\n    return (\n      <Primitive.div\n        data-state={scrollbarContext.hasThumb ? 'visible' : 'hidden'}\n        {...thumbProps}\n        ref={composedRef}\n        style={{\n          width: 'var(--radix-scroll-area-thumb-width)',\n          height: 'var(--radix-scroll-area-thumb-height)',\n          ...style,\n        }}\n        onPointerDownCapture={composeEventHandlers(props.onPointerDownCapture, (event) => {\n          const thumb = event.target as HTMLElement;\n          const thumbRect = thumb.getBoundingClientRect();\n          const x = event.clientX - thumbRect.left;\n          const y = event.clientY - thumbRect.top;\n          scrollbarContext.onThumbPointerDown({ x, y });\n        })}\n        onPointerUp={composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)}\n      />\n    );\n  }\n);\n\nScrollAreaThumb.displayName = THUMB_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaCorner\n * -----------------------------------------------------------------------------------------------*/\n\nconst CORNER_NAME = 'ScrollAreaCorner';\n\ntype ScrollAreaCornerElement = ScrollAreaCornerImplElement;\ninterface ScrollAreaCornerProps extends ScrollAreaCornerImplProps {}\n\nconst ScrollAreaCorner = React.forwardRef<ScrollAreaCornerElement, ScrollAreaCornerProps>(\n  (props: ScopedProps<ScrollAreaCornerProps>, forwardedRef) => {\n    const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n    const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n    const hasCorner = context.type !== 'scroll' && hasBothScrollbarsVisible;\n    return hasCorner ? <ScrollAreaCornerImpl {...props} ref={forwardedRef} /> : null;\n  }\n);\n\nScrollAreaCorner.displayName = CORNER_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaCornerImplElement = React.ElementRef<typeof Primitive.div>;\ninterface ScrollAreaCornerImplProps extends PrimitiveDivProps {}\n\nconst ScrollAreaCornerImpl = React.forwardRef<\n  ScrollAreaCornerImplElement,\n  ScrollAreaCornerImplProps\n>((props: ScopedProps<ScrollAreaCornerImplProps>, forwardedRef) => {\n  const { __scopeScrollArea, ...cornerProps } = props;\n  const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n  const [width, setWidth] = React.useState(0);\n  const [height, setHeight] = React.useState(0);\n  const hasSize = Boolean(width && height);\n\n  useResizeObserver(context.scrollbarX, () => {\n    const height = context.scrollbarX?.offsetHeight || 0;\n    context.onCornerHeightChange(height);\n    setHeight(height);\n  });\n\n  useResizeObserver(context.scrollbarY, () => {\n    const width = context.scrollbarY?.offsetWidth || 0;\n    context.onCornerWidthChange(width);\n    setWidth(width);\n  });\n\n  return hasSize ? (\n    <Primitive.div\n      {...cornerProps}\n      ref={forwardedRef}\n      style={{\n        width,\n        height,\n        position: 'absolute',\n        right: context.dir === 'ltr' ? 0 : undefined,\n        left: context.dir === 'rtl' ? 0 : undefined,\n        bottom: 0,\n        ...props.style,\n      }}\n    />\n  ) : null;\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction toInt(value?: string) {\n  return value ? parseInt(value, 10) : 0;\n}\n\nfunction getThumbRatio(viewportSize: number, contentSize: number) {\n  const ratio = viewportSize / contentSize;\n  return isNaN(ratio) ? 0 : ratio;\n}\n\nfunction getThumbSize(sizes: Sizes) {\n  const ratio = getThumbRatio(sizes.viewport, sizes.content);\n  const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n  const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n  // minimum of 18 matches macOS minimum\n  return Math.max(thumbSize, 18);\n}\n\nfunction getScrollPositionFromPointer(\n  pointerPos: number,\n  pointerOffset: number,\n  sizes: Sizes,\n  dir: Direction = 'ltr'\n) {\n  const thumbSizePx = getThumbSize(sizes);\n  const thumbCenter = thumbSizePx / 2;\n  const offset = pointerOffset || thumbCenter;\n  const thumbOffsetFromEnd = thumbSizePx - offset;\n  const minPointerPos = sizes.scrollbar.paddingStart + offset;\n  const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n  const maxScrollPos = sizes.content - sizes.viewport;\n  const scrollRange = dir === 'ltr' ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n  const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange as [number, number]);\n  return interpolate(pointerPos);\n}\n\nfunction getThumbOffsetFromScroll(scrollPos: number, sizes: Sizes, dir: Direction = 'ltr') {\n  const thumbSizePx = getThumbSize(sizes);\n  const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n  const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n  const maxScrollPos = sizes.content - sizes.viewport;\n  const maxThumbPos = scrollbar - thumbSizePx;\n  const scrollClampRange = dir === 'ltr' ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n  const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange as [number, number]);\n  const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n  return interpolate(scrollWithoutMomentum);\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nfunction linearScale(input: readonly [number, number], output: readonly [number, number]) {\n  return (value: number) => {\n    if (input[0] === input[1] || output[0] === output[1]) return output[0];\n    const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n    return output[0] + ratio * (value - input[0]);\n  };\n}\n\nfunction isScrollingWithinScrollbarBounds(scrollPos: number, maxScrollPos: number) {\n  return scrollPos > 0 && scrollPos < maxScrollPos;\n}\n\n// Custom scroll handler to avoid scroll-linked effects\n// https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\nconst addUnlinkedScrollListener = (node: HTMLElement, handler = () => {}) => {\n  let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n  let rAF = 0;\n  (function loop() {\n    const position = { left: node.scrollLeft, top: node.scrollTop };\n    const isHorizontalScroll = prevPosition.left !== position.left;\n    const isVerticalScroll = prevPosition.top !== position.top;\n    if (isHorizontalScroll || isVerticalScroll) handler();\n    prevPosition = position;\n    rAF = window.requestAnimationFrame(loop);\n  })();\n  return () => window.cancelAnimationFrame(rAF);\n};\n\nfunction useDebounceCallback(callback: () => void, delay: number) {\n  const handleCallback = useCallbackRef(callback);\n  const debounceTimerRef = React.useRef(0);\n  React.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n  return React.useCallback(() => {\n    window.clearTimeout(debounceTimerRef.current);\n    debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n  }, [handleCallback, delay]);\n}\n\nfunction useResizeObserver(element: HTMLElement | null, onResize: () => void) {\n  const handleResize = useCallbackRef(onResize);\n  useLayoutEffect(() => {\n    let rAF = 0;\n    if (element) {\n      /**\n       * Resize Observer will throw an often benign error that says `ResizeObserver loop\n       * completed with undelivered notifications`. This means that ResizeObserver was not\n       * able to deliver all observations within a single animation frame, so we use\n       * `requestAnimationFrame` to ensure we don't deliver unnecessary observations.\n       * Further reading: https://github.com/WICG/resize-observer/issues/38\n       */\n      const resizeObserver = new ResizeObserver(() => {\n        cancelAnimationFrame(rAF);\n        rAF = window.requestAnimationFrame(handleResize);\n      });\n      resizeObserver.observe(element);\n      return () => {\n        window.cancelAnimationFrame(rAF);\n        resizeObserver.unobserve(element);\n      };\n    }\n  }, [element, handleResize]);\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = ScrollArea;\nconst Viewport = ScrollAreaViewport;\nconst Scrollbar = ScrollAreaScrollbar;\nconst Thumb = ScrollAreaThumb;\nconst Corner = ScrollAreaCorner;\n\nexport {\n  createScrollAreaScope,\n  //\n  ScrollArea,\n  ScrollAreaViewport,\n  ScrollAreaScrollbar,\n  ScrollAreaThumb,\n  ScrollAreaCorner,\n  //\n  Root,\n  Viewport,\n  Scrollbar,\n  Thumb,\n  Corner,\n};\nexport type {\n  ScrollAreaProps,\n  ScrollAreaViewportProps,\n  ScrollAreaScrollbarProps,\n  ScrollAreaThumbProps,\n  ScrollAreaCornerProps,\n};\n","import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n  ? R\n  : never;\n\nexport function useStateMachine<M>(\n  initialState: MachineState<M>,\n  machine: M & Machine<MachineState<M>>\n) {\n  return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n    const nextState = (machine[state] as any)[event];\n    return nextState ?? state;\n  }, initialState);\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}