UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

46 lines 2.55 kB
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