@diplodoc/transform
Version:
A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML
68 lines (66 loc) • 1.9 kB
JavaScript
() => {
// src/js/print/table.ts
var Selector = {
WRAPPED_TABLE: ".pdf .yfm-table-container table",
TABLE: ".pdf table"
};
var Padding = {
BOTTOM: 20
};
function resizeElement(element) {
var _a;
const availableWidth = (_a = element.parentElement) == null ? void 0 : _a.offsetWidth;
const contentWidth = element.firstElementChild.offsetWidth;
if (!availableWidth) {
return;
}
const needScale = contentWidth > availableWidth;
if (needScale) {
const scale = availableWidth / contentWidth;
element.style.transform = `scale(${scale})`;
}
element.parentElement.style.height = `${element.getBoundingClientRect().height + Padding.BOTTOM}px`;
}
function resizeElements() {
document.querySelectorAll(Selector.WRAPPED_TABLE).forEach((element) => {
resizeElement(element);
});
}
function wrapTables() {
const tables = document.querySelectorAll(Selector.TABLE);
for (let i = 0; i < tables.length; i++) {
const table = tables[i];
const parent = table.parentNode;
if (!parent) {
continue;
}
const wrapper = document.createElement("div");
parent.insertBefore(wrapper, table);
wrapper.appendChild(table);
wrapper.classList.add("yfm-table-container");
}
}
if (typeof document !== "undefined") {
window.addEventListener("load", () => {
wrapTables();
resizeElements();
});
}
// src/js/print/cut.ts
var Selector2 = {
CUT_ROOT: ".yfm details.yfm-cut"
};
function openCuts() {
document.querySelectorAll(Selector2.CUT_ROOT).forEach((element) => {
element.setAttribute("open", "true");
element.classList.add("open");
});
}
if (typeof document !== "undefined") {
window.addEventListener("load", () => {
openCuts();
});
}
})();
//# sourceMappingURL=print.js.map
;
(