@codedoc/core
Version:
Create beautiful modern documentation websites.
46 lines • 2.55 kB
JavaScript
import { ref } from '@connectv/html';
import { transport } from '@connectv/sdh/transport';
import { ToCPrevNextStyle } from './style';
export function ToCPrevNext(options, renderer) {
const classes = this.theme.classes(ToCPrevNextStyle);
const holder = ref();
this.track({
bind() {
setTimeout(() => {
const toc = document.getElementById('-codedoc-toc');
if (toc) {
let prev$;
let curr$;
let next$;
toc.querySelectorAll('a').forEach(a$ => {
const href = a$.getAttribute('href') || '';
if (href === location.pathname && !curr$)
curr$ = a$;
else if (curr$ && href.startsWith('/') && !next$)
next$ = a$;
else if (!curr$ && href.startsWith('/'))
prev$ = a$;
});
if (prev$ && options.prev !== 'false') {
renderer.render(renderer.create("a", { class: `${classes.button} prev`, href: prev$.getAttribute('href') || '' },
renderer.create("div", null,
renderer.create("span", { class: classes.label }, options['prev-label'] || 'Previous'),
renderer.create("span", { class: classes.title }, prev$.textContent)),
renderer.create("span", { class: "icon-font" }, options["prev-icon"] || 'arrow_back_ios'))).on(holder.$);
}
if (next$ && options.next !== 'false') {
renderer.render(renderer.create("a", { class: `${classes.button} next`, href: next$.getAttribute('href') || '' },
renderer.create("div", null,
renderer.create("span", { class: classes.label }, options['next-label'] || 'Next'),
renderer.create("span", { class: classes.title }, next$.textContent)),
renderer.create("span", { class: "icon-font" }, options["next-icon"] || 'arrow_forward_ios'))).on(holder.$);
}
}
}, 10);
}
});
return renderer.create("div", { class: classes.prevnext, _ref: holder });
}
export const ToCPrevNext$ = /*#__PURE__*/ transport(ToCPrevNext);
export { ToCPrevNextStyle } from './style';
//# sourceMappingURL=index.js.map