@codedoc/core
Version:
Create beautiful modern documentation websites.
31 lines • 2.15 kB
JavaScript
;
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