UNPKG

@jbrowse/plugin-wiggle

Version:

JBrowse 2 wiggle adapters, tracks, etc.

35 lines (34 loc) 1.8 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const BaseTooltip_1 = __importDefault(require("@jbrowse/core/ui/BaseTooltip")); const mobx_react_1 = require("mobx-react"); const mui_1 = require("tss-react/mui"); const util_1 = require("./util"); const useStyles = (0, mui_1.makeStyles)()({ hoverVertical: { background: '#333', border: 'none', width: 1, height: '100%', top: util_1.YSCALEBAR_LABEL_OFFSET, cursor: 'default', position: 'absolute', pointerEvents: 'none', }, }); const Tooltip = (0, mobx_react_1.observer)(function Tooltip({ model, height, clientMouseCoord, offsetMouseCoord, clientRect, TooltipContents, useClientY, }) { const { featureUnderMouse } = model; const { classes } = useStyles(); const x = clientMouseCoord[0] + 5; const y = useClientY ? clientMouseCoord[1] : (clientRect === null || clientRect === void 0 ? void 0 : clientRect.top) || 0; return featureUnderMouse ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(BaseTooltip_1.default, { clientPoint: { x, y }, children: (0, jsx_runtime_1.jsx)(TooltipContents, { model: model, feature: featureUnderMouse }) }) }), (0, jsx_runtime_1.jsx)("div", { className: classes.hoverVertical, style: { left: offsetMouseCoord[0], height: height - util_1.YSCALEBAR_LABEL_OFFSET * 2, } })] })) : null; }); exports.default = Tooltip;