//
class AccentModifier extends Modifier {
modify(element) { let baseWrapperElement = this.findChild(element, "math-basewrap"); let overElement = this.findChild(element, "math-over"); let contentElement = baseWrapperElement.children[0]; let parentElements = [baseWrapperElement.children[1], overElement]; for (let position of [0, 1]) { let parentElement = parentElements[position]; if (parentElement) { this.modifyPosition(contentElement, parentElement, position); } } } modifyPosition(contentElement, parentElement, position) { let charElement = contentElement.children[0]; let string = charElement && charElement.textContent; if (string && string.length == 1 && contentElement.children.length == 1) { let char = string.substring(0, 1); let shift = DATA["shift"][position][char]; if (shift) { let marginString; if (position == 0) { marginString = window.getComputedStyle(parentElement).marginTop; } else { marginString = window.getComputedStyle(parentElement).marginBottom; } let margin = parseFloat(marginString) / this.getFontSize(parentElement); if (position == 0) { parentElement.style.marginTop = "" + (margin + shift) + "em"; } else { parentElement.style.marginBottom = "" + (margin - shift) + "em"; } } } }
}