Переключение режима
Редактирование текста — режим по умолчанию, отдельной кнопки нет. HTML/Markdown — удерживаемые переключатели; повторное нажатие возвращает текст. После setMode('html') дождитесь готовности source-полей.
editor.setMode('html');
await editor.whenSourceReady();
console.log(editor.getMode());
setMode возвращает void. Ожидающая корректная правка применяется перед переходом; ошибка может оставить текущий режим. Проверяйте фактический getMode.
Автоприменение
После 250 ms без ввода исходник проверяется и применяется. Отдельных «Сохранить» и «Предпросмотр» нет. Это применение в документ, а не серверное сохранение. Проверяются закрытие/вложенность HTML-тегов, комментарии и кавычки. Void-теги img/br/hr не требуют закрытия; обычный незакрытый p блокирует переход.
Ошибка показана в статусе на широком экране. Последний корректный документ сохранён; ошибочный текст остаётся в поле. Исправьте его или нажмите «Сбросить исходник». Неподдерживаемая разметка отдельно требует «Применить с упрощением»; это не обход синтаксиса и безопасности.
Стили содержимого
В pro CSS редактируется свёрнутым style-блоком под HTML. Обе части применяются атомарно. Сохраняйте их согласованно:
await editor.setContent('<p>Документ</p>', {
css: 'p { color: #246a50; line-height: 1.6; }'
});
const html = editor.getHTML();
const css = editor.getCSS();
Без options.css импорт сохраняет текущие стили; css: '' очищает их. CSS экспортируется отдельно, getHTML не содержит глобального style.
Ограничения CSS
Максимум 50 000 символов. Разрешены поддерживаемые HTML-теги и комбинации через пробел, >, +, ~, запятую. Классы, ID, псевдо/атрибутные селекторы, at-rules, внешние ресурсы, url(), var() и !important запрещены. Допустимы ограниченные цвета, типографика, интервалы, списки, отступы и границы; значения проходят грамматику свойств. Ошибка отклоняет всю операцию.
Shadow DOM защищает окружающую страницу от этих стилей; приложение отдельно изолирует CSS при публикации экспорта. Безопасность.