{"version":3,"file":"ScrollAreaViewport.cjs","names":["useScrollAreaContext","Box"],"sources":["../../../../src/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.tsx"],"sourcesContent":["import { useMergedRef } from '@mantine/hooks';\nimport { Box, BoxProps, ElementProps } from '../../../core';\nimport { useScrollAreaContext } from '../ScrollArea.context';\n\nexport interface ScrollAreaViewportProps extends BoxProps, ElementProps<'div'> {}\n\nexport function ScrollAreaViewport({\n  children,\n  style,\n  ref,\n  onWheel,\n  ...others\n}: ScrollAreaViewportProps) {\n  const ctx = useScrollAreaContext();\n  const rootRef = useMergedRef(ref, ctx.onViewportChange);\n\n  const handleWheel = (event: React.WheelEvent<HTMLDivElement>) => {\n    onWheel?.(event);\n\n    // Fix for Windows: Allow horizontal scrolling even when vertical scroll is at boundaries\n    // When at vertical boundaries, Windows tries to scroll the parent/page instead of allowing horizontal scroll\n    if (ctx.scrollbarXEnabled && ctx.viewport && event.shiftKey) {\n      const { scrollTop, scrollHeight, clientHeight, scrollWidth, clientWidth } = ctx.viewport;\n      const isAtTop = scrollTop < 1;\n      const isAtBottom = scrollTop >= scrollHeight - clientHeight - 1;\n      const canScrollHorizontally = scrollWidth > clientWidth;\n\n      if (canScrollHorizontally && (isAtTop || isAtBottom)) {\n        event.stopPropagation();\n      }\n    }\n  };\n\n  return (\n    <Box\n      {...others}\n      ref={rootRef}\n      onWheel={handleWheel}\n      style={{\n        overflowX: ctx.scrollbarXEnabled ? 'scroll' : 'hidden',\n        overflowY: ctx.scrollbarYEnabled ? 'scroll' : 'hidden',\n        ...style,\n      }}\n    >\n      <div {...ctx.getStyles('content')} ref={ctx.onContentChange}>\n        {children}\n      </div>\n    </Box>\n  );\n}\n\nScrollAreaViewport.displayName = '@mantine/core/ScrollAreaViewport';\n"],"mappings":";;;;;;;AAMA,SAAgB,mBAAmB,EACjC,UACA,OACA,KACA,SACA,GAAG,UACuB;CAC1B,MAAM,MAAMA,2BAAAA,sBAAsB;CAClC,MAAM,WAAA,GAAA,eAAA,cAAuB,KAAK,IAAI,iBAAiB;CAEvD,MAAM,eAAe,UAA4C;AAC/D,YAAU,MAAM;AAIhB,MAAI,IAAI,qBAAqB,IAAI,YAAY,MAAM,UAAU;GAC3D,MAAM,EAAE,WAAW,cAAc,cAAc,aAAa,gBAAgB,IAAI;GAChF,MAAM,UAAU,YAAY;GAC5B,MAAM,aAAa,aAAa,eAAe,eAAe;AAG9D,OAF8B,cAAc,gBAEd,WAAW,YACvC,OAAM,iBAAiB;;;AAK7B,QACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EACE,GAAI;EACJ,KAAK;EACL,SAAS;EACT,OAAO;GACL,WAAW,IAAI,oBAAoB,WAAW;GAC9C,WAAW,IAAI,oBAAoB,WAAW;GAC9C,GAAG;GACJ;YAED,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,GAAI,IAAI,UAAU,UAAU;GAAE,KAAK,IAAI;GACzC;GACG,CAAA;EACF,CAAA;;AAIV,mBAAmB,cAAc"}