{"version":3,"file":"scrollFade.mjs","names":[],"sources":["../../../../package/common/scrollFade/scrollFade.tsx"],"sourcesContent":["import { useRef, type CSSProperties, type ReactElement } from 'react';\nimport cx from 'classnames';\nimport { useScrollEdges } from 'components/common/hooks/useScrollEdges';\nimport { mergeRefs } from 'components/common/utils/mergeRefs';\n\nimport { ScrollFadeAxis, type ScrollFadeProps } from './scrollFade.types';\nimport styles from './scrollFade.module.pcss';\nimport fadeStyles from 'components/common/styles/scrollFade.module.pcss';\n\nfunction ScrollFade({\n  children = null,\n  axis = ScrollFadeAxis.Vertical,\n  fadeLength,\n  isAlwaysFaded = false,\n  className,\n  style,\n  ref,\n  ...rest\n}: ScrollFadeProps): ReactElement {\n  const scrollRef = useRef<HTMLDivElement>(null);\n  const isHorizontal = axis === ScrollFadeAxis.Horizontal;\n  const { hasStart, hasEnd } = useScrollEdges(scrollRef, {\n    axis,\n    isEnabled: !isAlwaysFaded,\n  });\n\n  return (\n    <div\n      {...rest}\n      ref={mergeRefs(scrollRef, ref)}\n      className={cx(\n        isHorizontal ? styles.scrollFadeHorizontal : styles.scrollFadeVertical,\n        fadeStyles.scrollFade,\n        isHorizontal ? fadeStyles.scrollFadeX : fadeStyles.scrollFadeY,\n        (isAlwaysFaded || hasStart) && fadeStyles.scrollFadeFadedStart,\n        (isAlwaysFaded || hasEnd) && fadeStyles.scrollFadeFadedEnd,\n        className,\n      )}\n      // The shared sheet's private length, not `--scroll-fade-length`: an inline custom property\n      // would otherwise reach a `ScrollFade` nested in the content.\n      style={{\n        ...(fadeLength ? ({ '--custom-scroll-fade-length': fadeLength } as CSSProperties) : undefined),\n        ...style,\n      }}\n    >\n      {children}\n    </div>\n  );\n}\n\nexport default ScrollFade;\n"],"mappings":"4WASA,SAAS,EAAW,CAClB,WAAW,KACX,OAAO,EAAe,SACtB,aACA,gBAAgB,GAChB,YACA,QACA,MACA,GAAG,GAC6B,CAChC,IAAM,EAAY,EAAuB,IAAI,EACvC,EAAe,IAAS,EAAe,WACvC,CAAE,WAAU,UAAW,EAAe,EAAW,CACrD,OACA,UAAW,CAAC,CACd,CAAC,EAED,OACE,EAAC,MAAD,CACE,GAAI,EACJ,IAAK,EAAU,EAAW,CAAG,EAC7B,UAAW,EACT,EAAe,EAAO,qBAAuB,EAAO,mBACpD,EAAW,WACX,EAAe,EAAW,YAAc,EAAW,aAClD,GAAiB,IAAa,EAAW,sBACzC,GAAiB,IAAW,EAAW,mBACxC,CACF,EAGA,MAAO,CACL,GAAI,EAAc,CAAE,8BAA+B,CAAW,EAAsB,IAAA,GACpF,GAAG,CACL,EAEC,UACE,CAAA,CAET"}