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