Поля конструктора шаблонов формы теряют переносы строк в предпросмотре

При редактировании поста, использующего шаблон формы, предпросмотр композера отображает любое многострочное поле composer как одну сплошную строку: заголовки сливаются с последующими предложениями, а списки и BBCode отображаются как литеральный текст. Сохранённый пост рендерится корректно — проблема только в предпросмотре.

Причина: файл form-template-field/composer.gjs дублирует каждое поле композера в скрытый <input type="text"> для нативной валидации:

<input id={{this.validationInputId}} type="text" name={{@id}} value={{this.composerValue}} ... class="form-template-field__composer-hidden-input" />

Ответ композера — тот, который обрабатывается в предпросмотре, — собирается из этих полей. Согласно правилам санитизации значений HTML, поле type="text"> удаляет CR/LF при назначении значения, поэтому к моменту, когда предпросмотр видит данные, все переносы строк в значении поля исчезают. При сохранении данные читаются непосредственно из редактора, поэтому сохранённый исходный текст не затрагивается.

Воспроизведение (2026.9.0-latest): любой шаблон формы с полем composer → введите текст, содержащий пустые строки (например, ## заголовок, абзац, список) → откройте редактирование сохранённого поста → в предпросмотре текст отображается схлопнутым в одну строку, хотя сам пост рендерится нормально.

Обходное решение, которое мы используем в теме: переключите скрытые поля на type="hidden" (что сохраняет переносы строк при назначении значения), восстановите уже схлопнутое значение из редактора поля и отправьте одно событие input, чтобы пересобрать ответ. Это полностью восстанавливает предпросмотр.

Примечание для исправления в ядре: type="hidden" пропускает нативную валицию ограничения required, поэтому контрол-заменитель, вероятно, должен быть визуально скрытым <textarea>, а не текстовым полем.