UNPKG

@bytedance/mona-client-web

Version:

web for mona

55 lines 2.64 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import React from 'react'; import { navigateTo, redirectTo, switchTab, navigateBack } from '../../apis/api'; import styles from './index.module.less'; import { useHandlers } from '../hooks'; var Navigator = function (props) { var children = props.children, url = props.url, _a = props.delta, delta = _a === void 0 ? 1 : _a, _b = props.openType, openType = _b === void 0 ? 'navigate' : _b, _c = props.hoverStartTime, hoverStartTime = _c === void 0 ? 50 : _c, _d = props.hoverStayTime, hoverStayTime = _d === void 0 ? 400 : _d, restProps = __rest(props, ["children", "url", "delta", "openType", "hoverStartTime", "hoverStayTime"]); var _e = useHandlers(__assign(__assign({}, restProps), { hoverClassName: styles.hover, hoverStayTime: hoverStayTime, hoverStartTime: hoverStartTime })), handleClassName = _e.handleClassName, onClick = _e.onClick, handlerProps = __rest(_e, ["handleClassName", "onClick"]); var handleClick = function (e) { switch (openType) { case 'navigate': navigateTo({ url: url }); break; case 'redirect': redirectTo({ url: url }); break; case 'switchTab': switchTab({ url: url }); break; case 'reLaunch': window.location.reload(); break; case 'navigateBack': navigateBack({ delta: delta }); break; default: console.error('invalid open type'); } onClick(e); }; return React.createElement("a", __assign({}, handlerProps, { onClick: handleClick, className: handleClassName(styles.nav) }), children); }; export default Navigator; //# sourceMappingURL=index.js.map