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