UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

31 lines 2.15 kB
"use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.HintBox = void 0; var rxjs_1 = require("rxjs"); var operators_1 = require("rxjs/operators"); var html_1 = require("@connectv/html"); var style_1 = require("./style"); function HintBox(_, renderer) { var classes = this.theme.classes(style_1.HintBoxStyle); var target$ = this.expose.in('target', new rxjs_1.Subject()); var active$ = target$.pipe(operators_1.map(function (el) { return !!el; })); var top$ = rxjs_1.combineLatest(target$ .pipe(operators_1.map(function (el) { return el ? el.getBoundingClientRect().top : undefined; })), rxjs_1.fromEvent(document, 'mousemove') .pipe(operators_1.map(function (e) { return e.clientY; }))).pipe(operators_1.map(function (_a) { var top = _a[0], mouseY = _a[1]; return (top || mouseY) + 24; })); var left$ = rxjs_1.fromEvent(document, 'mousemove').pipe(operators_1.map(function (e) { return e.clientX + 24; })); return renderer.create("div", { class: html_1.rl(templateObject_1 || (templateObject_1 = __makeTemplateObject(["", " ", ""], ["", " ", ""])), classes.hintbox, html_1.toggleList({ 'active': active$.pipe(operators_1.startWith(false)) })), style: html_1.rl(templateObject_2 || (templateObject_2 = __makeTemplateObject(["top: ", "px;left: ", "px"], ["top: ", "px;left: ", "px"])), top$, left$) }, renderer.create("span", { class: "icon-font outline" }, "wb_incandescent"), target$.pipe(operators_1.filter(function (el) { return !!el; }), operators_1.map(function (el) { return el === null || el === void 0 ? void 0 : el.getAttribute('data-hint'); }))); } exports.HintBox = HintBox; var style_2 = require("./style"); Object.defineProperty(exports, "HintBoxStyle", { enumerable: true, get: function () { return style_2.HintBoxStyle; } }); var templateObject_1, templateObject_2; //# sourceMappingURL=component.js.map