UNPKG

@diplodoc/transform

Version:

A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML

35 lines (24 loc) 924 B
import {WIDE_ELEMENTS_SELECTOR} from './constants'; import expand from './icons/expand'; import {modal} from './modal'; const wrap = (target: HTMLElement) => { if (target.parentElement?.classList.contains('wide-element-wrapper')) { return; } target.classList.add('wide-inner-element'); const handler = document.createElement('div'); handler.innerHTML = expand; handler.classList.add('wide-content-viewer'); handler.addEventListener('click', () => modal.render(target)); const container = document.createElement('div'); container.classList.add('wide-element-wrapper'); target.before(container); container.appendChild(target); container.appendChild(handler); }; export const applyWideMode = () => { const allWideElements = Array.from( document.querySelectorAll(WIDE_ELEMENTS_SELECTOR), ) as HTMLElement[]; allWideElements.forEach(wrap); };