UNPKG

@ray-js/components

Version:

Ray basic components

84 lines 2.9 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import React, { useRef } from 'react'; import { useEventListener } from 'ahooks'; import { defaultPageContainerProps } from './props'; import handleProps from '../utils/handleProps'; const PageContainer = props => { const { children } = props; const currentNode = useRef(null); useEventListener('clickoverlay', e => { var _props$onClickOverlay; (_props$onClickOverlay = props.onClickOverlay) === null || _props$onClickOverlay === void 0 || _props$onClickOverlay.call(props, _objectSpread(_objectSpread({}, e), {}, { type: 'clickoverlay', origin: e })); }, { target: currentNode }); useEventListener('beforeenter', e => { var _props$onBeforeEnter; (_props$onBeforeEnter = props.onBeforeEnter) === null || _props$onBeforeEnter === void 0 || _props$onBeforeEnter.call(props, _objectSpread(_objectSpread({}, e), {}, { type: 'beforeenter', origin: e })); }, { target: currentNode }); useEventListener('enter', e => { var _props$onEnter; (_props$onEnter = props.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props, _objectSpread(_objectSpread({}, e), {}, { type: 'enter', origin: e })); }, { target: currentNode }); useEventListener('afterenter', e => { var _props$onAfterEnter; (_props$onAfterEnter = props.onAfterEnter) === null || _props$onAfterEnter === void 0 || _props$onAfterEnter.call(props, _objectSpread(_objectSpread({}, e), {}, { type: 'afterenter', origin: e })); }, { target: currentNode }); useEventListener('beforeleave', e => { var _props$onBeforeLeave; (_props$onBeforeLeave = props.onBeforeLeave) === null || _props$onBeforeLeave === void 0 || _props$onBeforeLeave.call(props, _objectSpread(_objectSpread({}, e), {}, { type: 'beforeleave', origin: e })); }, { target: currentNode }); useEventListener('leave', e => { var _props$onLeave; (_props$onLeave = props.onLeave) === null || _props$onLeave === void 0 || _props$onLeave.call(props, _objectSpread(_objectSpread({}, e), {}, { type: 'leave', origin: e })); }, { target: currentNode }); useEventListener('afterleave', e => { var _props$onAfterLeave; (_props$onAfterLeave = props.onAfterLeave) === null || _props$onAfterLeave === void 0 || _props$onAfterLeave.call(props, _objectSpread(_objectSpread({}, e), {}, { type: 'afterleave', origin: e })); }, { target: currentNode }); return ( /*#__PURE__*/ // @ts-ignore React.createElement("v-page-container", _extends({}, handleProps(props), { ref: currentNode }), children) ); }; PageContainer.defaultProps = defaultPageContainerProps; export default PageContainer;