UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

36 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ToCSearchBtn = void 0; var core_1 = require("@connectv/core"); var html_1 = require("@connectv/html"); var style_1 = require("./style"); var overlay_1 = require("../overlay"); function ToCSearchBtn(options, renderer) { var classes = this.theme.classes(style_1.ToCSearchBtnStyle); var results = this.expose.in('results'); var query = this.expose.out('query', core_1.source()); var holder = html_1.ref(); var keyhandler = function (event) { if (event.key === 'f' && (event.ctrlKey || event.metaKey)) { event.preventDefault(); holder.$.click(); } }; this.track({ bind: function () { document.addEventListener('keydown', keyhandler); }, clear: function () { document.removeEventListener('keydown', keyhandler); } }); return renderer.create("div", { _ref: holder, class: classes.holder, id: "-codedoc-search-btn", onclick: function () { renderer.render(renderer.create(overlay_1.ToCSearchOverlay, { placeholder: options.label || 'Search the docs...', query: function (q) { return query.send(q); }, results: results })).on(document.body); } }, renderer.create("span", { class: "label" }, options.label || 'Search the docs...'), renderer.create("span", { class: "icon-font" }, "search")); } exports.ToCSearchBtn = ToCSearchBtn; var style_2 = require("./style"); Object.defineProperty(exports, "ToCSearchBtnStyle", { enumerable: true, get: function () { return style_2.ToCSearchBtnStyle; } }); //# sourceMappingURL=index.js.map