@codedoc/core
Version:
Create beautiful modern documentation websites.
31 lines • 1.36 kB
JavaScript
import { source } from '@connectv/core';
import { ref } from '@connectv/html';
import { ToCSearchBtnStyle } from './style';
import { ToCSearchOverlay } from '../overlay';
export function ToCSearchBtn(options, renderer) {
const classes = this.theme.classes(ToCSearchBtnStyle);
const results = this.expose.in('results');
const query = this.expose.out('query', source());
const holder = ref();
const keyhandler = (event) => {
if (event.key === 'f' && (event.ctrlKey || event.metaKey)) {
event.preventDefault();
holder.$.click();
}
};
this.track({
bind() {
document.addEventListener('keydown', keyhandler);
},
clear() {
document.removeEventListener('keydown', keyhandler);
}
});
return renderer.create("div", { _ref: holder, class: classes.holder, id: "-codedoc-search-btn", onclick: () => {
renderer.render(renderer.create(ToCSearchOverlay, { placeholder: options.label || 'Search the docs...', query: (q) => 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"));
}
export { ToCSearchBtnStyle } from './style';
//# sourceMappingURL=index.js.map