{"mappings":"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","sources":["packages/react/scroll-area/src/index.ts","packages/react/scroll-area/src/ScrollArea.tsx","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","/// \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 & { __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(SCROLL_AREA_NAME);\n\ntype ScrollAreaElement = React.ElementRef;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef;\ninterface ScrollAreaProps extends PrimitiveDivProps {\n type?: ScrollAreaContextValue['type'];\n dir?: ScrollAreaContextValue['dir'];\n scrollHideDelay?: number;\n}\n\nconst ScrollArea = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = 'hover',\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const [scrollbarX, setScrollbarX] = React.useState(null);\n const [scrollbarY, setScrollbarY] = React.useState(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 \n \n \n );\n }\n);\n\nScrollArea.displayName = SCROLL_AREA_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaViewport\n * -----------------------------------------------------------------------------------------------*/\n\nconst VIEWPORT_NAME = 'ScrollAreaViewport';\n\ntype ScrollAreaViewportElement = React.ElementRef;\ninterface ScrollAreaViewportProps extends PrimitiveDivProps {}\n\nconst ScrollAreaViewport = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeScrollArea, children, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React.useRef(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 \n

\n {children}\n
\n \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(\n (props: ScopedProps, 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 \n ) : context.type === 'scroll' ? (\n \n ) : context.type === 'auto' ? (\n \n ) : context.type === 'always' ? (\n \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, 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 \n \n \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, 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 \n send('POINTER_ENTER'))}\n onPointerLeave={composeEventHandlers(props.onPointerLeave, () => send('POINTER_LEAVE'))}\n />\n \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, 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 \n \n \n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaScrollbarVisibleElement = ScrollAreaScrollbarAxisElement;\ninterface ScrollAreaScrollbarVisibleProps\n extends Omit {\n orientation?: 'horizontal' | 'vertical';\n}\n\nconst ScrollAreaScrollbarVisible = React.forwardRef<\n ScrollAreaScrollbarVisibleElement,\n ScrollAreaScrollbarVisibleProps\n>((props: ScopedProps, forwardedRef) => {\n const { orientation = 'vertical', ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React.useRef(null);\n const pointerOffsetRef = React.useRef(0);\n const [sizes, setSizes] = React.useState({\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 = {\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 {\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 {\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,\n ScrollAreaScrollbarAxisPrivateProps {}\n\nconst ScrollAreaScrollbarX = React.forwardRef<\n ScrollAreaScrollbarAxisElement,\n ScrollAreaScrollbarAxisProps\n>((props: ScopedProps, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React.useState();\n const ref = React.useRef(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 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, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React.useState();\n const ref = React.useRef(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 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(SCROLLBAR_NAME);\n\ntype ScrollAreaScrollbarImplElement = React.ElementRef;\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 Omit,\n ScrollAreaScrollbarImplPrivateProps {}\n\nconst ScrollAreaScrollbarImpl = React.forwardRef<\n ScrollAreaScrollbarImplElement,\n ScrollAreaScrollbarImplProps\n>((props: ScopedProps, 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(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React.useRef(null);\n const prevWebkitUserSelectRef = React.useRef('');\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) {\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 \n {\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 if (context.viewport) context.viewport.style.scrollBehavior = 'auto';\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 if (context.viewport) context.viewport.style.scrollBehavior = '';\n rectRef.current = null;\n })}\n />\n \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(\n (props: ScopedProps, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return (\n \n \n \n );\n }\n);\n\ntype ScrollAreaThumbImplElement = React.ElementRef;\ninterface ScrollAreaThumbImplProps extends PrimitiveDivProps {}\n\nconst ScrollAreaThumbImpl = React.forwardRef(\n (props: ScopedProps, 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 {\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(\n (props: ScopedProps, 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 ? : null;\n }\n);\n\nScrollAreaCorner.displayName = CORNER_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaCornerImplElement = React.ElementRef;\ninterface ScrollAreaCornerImplProps extends PrimitiveDivProps {}\n\nconst ScrollAreaCornerImpl = React.forwardRef<\n ScrollAreaCornerImplElement,\n ScrollAreaCornerImplProps\n>((props: ScopedProps, 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 \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 = { [k: string]: { [k: string]: S } };\ntype MachineState = keyof T;\ntype MachineEvent = keyof UnionToIntersection;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n ? R\n : never;\n\nexport function useStateMachine(\n initialState: MachineState,\n machine: M & Machine>\n) {\n return React.useReducer((state: MachineState, event: MachineEvent): MachineState => {\n const nextState = (machine[state] as any)[event];\n return nextState ?? state;\n }, initialState);\n}\n"],"names":["createScrollAreaScope","ScrollArea","ScrollAreaViewport","ScrollAreaScrollbar","ScrollAreaThumb","ScrollAreaCorner","Root","Viewport","Scrollbar","Thumb","Corner","React","Primitive","Presence","createContextScope","useComposedRefs","useCallbackRef","useDirection","useLayoutEffect","clamp","composeEventHandlers","useStateMachine","SCROLL_AREA_NAME","createScrollAreaContext","ScrollAreaProvider","useScrollAreaContext","forwardRef","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","useState","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","node","direction","position","style","VIEWPORT_NAME","children","viewportProps","context","ref","useRef","onViewportChange","__html","overflowX","overflowY","onContentChange","minWidth","display","SCROLLBAR_NAME","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","orientation","useEffect","ScrollAreaScrollbarHover","visible","setVisible","hideTimer","handlePointerEnter","window","clearTimeout","handlePointerLeave","setTimeout","addEventListener","removeEventListener","ScrollAreaScrollbarScroll","debounceScrollEnd","useDebounceCallback","send","state","hidden","SCROLL","scrolling","SCROLL_END","POINTER_ENTER","interacting","POINTER_LEAVE","idle","HIDE","scrollDirection","prevScrollPos","handleScroll","scrollPos","hasScrollInDirectionChanged","onPointerEnter","onPointerLeave","ScrollAreaScrollbarAuto","handleResize","isOverflowX","offsetWidth","scrollWidth","isOverflowY","offsetHeight","scrollHeight","useResizeObserver","ScrollAreaScrollbarVisible","thumbRef","pointerOffsetRef","sizes","setSizes","scrollbar","size","paddingStart","paddingEnd","thumbRatio","getThumbRatio","commonProps","onSizesChange","hasThumb","Boolean","onThumbChange","thumb","current","onThumbPointerUp","onThumbPointerDown","pointerPos","getScrollPosition","getScrollPositionFromPointer","scrollLeft","offset","getThumbOffsetFromScroll","transform","scrollTop","ScrollAreaScrollbarX","computedStyle","setComputedStyle","composeRefs","onScrollbarXChange","getComputedStyle","bottom","left","right","getThumbSize","x","onDragScroll","event","maxScrollPos","deltaX","onWheelScroll","isScrollingWithinScrollbarBounds","preventDefault","clientWidth","toInt","paddingLeft","paddingRight","ScrollAreaScrollbarY","onScrollbarYChange","top","undefined","y","deltaY","clientHeight","paddingTop","paddingBottom","ScrollbarProvider","useScrollbarContext","ScrollAreaScrollbarImpl","onThumbPositionChange","onResize","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","handleThumbPositionChange","handleDragScroll","clientX","clientY","handleWheel","element","target","isScrollbarWheel","contains","document","passive","onPointerDown","mainPointer","button","setPointerCapture","pointerId","getBoundingClientRect","body","webkitUserSelect","scrollBehavior","onPointerMove","onPointerUp","hasPointerCapture","releasePointerCapture","THUMB_NAME","thumbProps","scrollbarContext","ScrollAreaThumbImpl","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","width","height","onPointerDownCapture","thumbRect","CORNER_NAME","hasBothScrollbarsVisible","hasCorner","ScrollAreaCornerImpl","cornerProps","setWidth","setHeight","hasSize","onCornerHeightChange","onCornerWidthChange","value","parseInt","viewportSize","contentSize","ratio","isNaN","scrollbarPadding","thumbSize","Math","max","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","interpolate","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","input","output","handler","prevPosition","rAF","loop","isHorizontalScroll","isVerticalScroll","requestAnimationFrame","cancelAnimationFrame","callback","delay","handleCallback","debounceTimerRef","useCallback","resizeObserver","ResizeObserver","observe","unobserve","initialState","machine","useReducer","nextState"],"version":3,"file":"index.mjs.map"}