`;
if (keyboard.normalizedLayouts.length > 1) {
for (const [i, l] of keyboard.normalizedLayouts.entries()) {
const layout = l;
const classes = [i === index ? "selected" : "layer-switch"];
if (layout.tooltip)
classes.push("MLK__tooltip");
if (layout.labelClass)
classes.push(...layout.labelClass.split(" "));
markup += `
${(_b3 = layout.label) != null ? _b3 : "untitled"}
`;
}
}
markup += "
";
return markup;
}
function makeEditToolbar(options, mathfield) {
let result = "";
const toolbarOptions = options.editToolbar;
if (toolbarOptions === "none")
return "";
const availableActions = [];
if (mathfield.selectionIsCollapsed)
availableActions.push("undo", "redo", "pasteFromClipboard");
else {
availableActions.push(
"cutToClipboard",
"copyToClipboard",
"pasteFromClipboard"
);
}
const actionsMarkup = {
undo: ``);
if (keyboard.normalizedLayouts.length > 1 || layout.displayEditToolbar) {
markup.push(`
`);
}
markup.push(makeLayer(keyboard, layer));
markup.push("
");
}
return markup.join("");
}
function makeLayer(keyboard, layer) {
if (typeof layer === "string")
return layer;
let layerMarkup = "";
if (typeof layer.style === "string")
layerMarkup += ``;
else if (typeof layer.style === "object")
layerMarkup += ``;
if (layer.backdrop)
layerMarkup += ``;
if (layer.container)
layerMarkup += `
`;
if (layer.rows) {
layerMarkup += `
`;
for (const row of layer.rows) {
layerMarkup += `
`;
for (const keycap of row) {
if (keycap) {
const keycapId = keyboard.registerKeycap(keycap);
const [markup, cls] = renderKeycap(keycap);
if (/(^|\s)separator/.test(cls))
layerMarkup += `
${markup}
`;
}
}
layerMarkup += `
`;
}
layerMarkup += `
`;
} else if (layer.markup)
layerMarkup += layer.markup;
if (layer.container)
layerMarkup += "
";
if (layer.backdrop)
layerMarkup += "
";
return layerMarkup;
}
function renderKeycap(keycap, options = { shifted: false }) {
var _a3, _b3, _c2, _d2, _e, _f, _g;
let markup = "";
let cls = (_a3 = keycap.class) != null ? _a3 : "";
if (options.shifted && isShiftKey(keycap))
cls += " is-active";
if (options.shifted && "shift" in keycap) {
if (typeof keycap.shift === "string")
markup = latexToMarkup2(keycap.shift);
else if (typeof keycap.shift === "object") {
markup = keycap.shift.label ? keycap.shift.label : (
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
(_b3 = latexToMarkup2(keycap.shift.latex || keycap.shift.insert || "") || keycap.shift.key) != null ? _b3 : ""
);
}
if (typeof keycap.shift === "object")
cls = (_d2 = (_c2 = keycap.shift.class) != null ? _c2 : keycap.class) != null ? _d2 : "";
} else {
markup = keycap.label ? keycap.label : (
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
(_e = latexToMarkup2(keycap.latex || keycap.insert || "") || keycap.key) != null ? _e : ""
);
if (keycap.shift) {
let shiftLabel;
if (typeof keycap.shift === "string")
shiftLabel = latexToMarkup2(keycap.shift);
else if (keycap.shift.label)
shiftLabel = keycap.shift.label;
else {
shiftLabel = // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
(_f = latexToMarkup2(keycap.shift.latex || keycap.shift.insert || "") || keycap.shift.key) != null ? _f : "";
}
markup += `