Blame view

天文台pc/tianwentai-ui/node_modules/react-remove-scroll/dist/es2019/UI.js 1.73 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  import * as React from 'react';
  import { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';
  import { useMergeRefs } from 'use-callback-ref';
  import { effectCar } from './medium';
  const nothing = () => {
      return;
  };
  /**
   * Removes scrollbar from the page and contain the scroll within the Lock
   */
  const RemoveScroll = React.forwardRef((props, parentRef) => {
      const ref = React.useRef(null);
      const [callbacks, setCallbacks] = React.useState({
          onScrollCapture: nothing,
          onWheelCapture: nothing,
          onTouchMoveCapture: nothing,
      });
      const { forwardProps, children, className, removeScrollBar, enabled, shards, sideCar, noRelative, noIsolation, inert, allowPinchZoom, as: Container = 'div', gapMode, ...rest } = props;
      const SideCar = sideCar;
      const containerRef = useMergeRefs([ref, parentRef]);
      const containerProps = {
          ...rest,
          ...callbacks,
      };
      return (React.createElement(React.Fragment, null,
          enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noRelative: noRelative, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),
          forwardProps ? (React.cloneElement(React.Children.only(children), {
              ...containerProps,
              ref: containerRef,
          })) : (React.createElement(Container, { ...containerProps, className: className, ref: containerRef }, children))));
  });
  RemoveScroll.defaultProps = {
      enabled: true,
      removeScrollBar: true,
      inert: false,
  };
  RemoveScroll.classNames = {
      fullWidth: fullWidthClassName,
      zeroRight: zeroRightClassName,
  };
  export { RemoveScroll };