function __getSlideHtml({
deckIndex,
slideIndex,
slideCount,
currentIndex,
prevIndex,
nextIndex,
firstIndex,
lastIndex
}) {
const slide = __decks[deckIndex][slideIndex];
const c = __deckConfigs[deckIndex];
const classes = [
"slide",
...c.theme.map((t) => `${t}-slide`),
`slide-${slideIndex}`
];
if (slideIndex < currentIndex) {
classes.push("slide-past");
classes.push("slide-not-current");
} else if (slideIndex > currentIndex) {
classes.push("slide-upcoming");
classes.push("slide-not-current");
} else {
classes.push("slide-current");
}
if (slideIndex === firstIndex) {
classes.push("slide-first");
}
if (slideIndex === lastIndex) {
classes.push("slide-last");
}
if (slideIndex === prevIndex) {
classes.push("slide-prev");
}
if (slideIndex === nextIndex) {
classes.push("slide-next");
}
const tags = ["h1", "h2", "h3", "h4", "h5", "h6", "p", "ul", "ol", "pre"];
for (let i = 0; i < tags.length; ++i) {
if (slide[tags[i]]) {
classes.push(`slide-with-${tags[i]}`);
}
}
if (slide.isCover) {
classes.push("slide-cover");
}
const content = slide.prerendered ? slide.prerendered : md`${slide.markdown}`;
return html`<div
data-slide-i="${slideIndex}"
class="${classes.join(" ")}"
style="font-size: ${c.fontSize}em;"
>${!slide.hasWrapper ? "<div>" : ""}${content}${
!slide.hasWrapper ? "</div>" : ""
}</div>`;
}