Для создания редактора для динамического документа в Angular, можно использовать динамические компоненты Angular. В данном случае, каждый тип поля (например, input, select) может быть представлен как отдельный компонент, который будет создаваться и рендериться динамически в зависимости от типа поля в JSON объекте.
Например, можно создать компонент DynamicFieldComponent, который будет принимать входные данные о типе поля и значении, и динамически создавать и рендерить соответствующий HTML элемент.
Также можно использовать рекурсивный подход для обхода полей объекта на TypeScript и создания соответствующих компонентов. Например, можно создать сервис, который будет рекурсивно проходить по полям JSON объекта, определять их типы и создавать соответствующие компоненты для рендеринга.
Это более сложный подход, но он может быть эффективным в случае, если у вас есть большое количество различных типов полей и вложенности в JSON объекте.
В целом, использование динамических компонентов Angular или обход полей объекта на TypeScript - это стандартные способы реализации редактора для динамического документа в Angular. Если вам нужно более простое решение, можно рассмотреть библиотеки или плагины, которые могут упростить процесс создания динамических форм в Angular.