В форму нужно внести число, которое сначала приходится вычислить. После копирования ответа из калькулятора исходные значения теряются: при повторной проверке непонятно, откуда взялся результат.
Компонент calc-input позволяет написать
2 + 3 прямо в поле. Пока оно в фокусе, видна формула; после потери фокуса — ответ 5. При возвращении к полю выражение снова доступно для редактирования.Внутри используются обычные текстовые input в Light DOM и отдельный парсер выражений без
eval(). Незаконченная формула вызывает setCustomValidity() и блокирует обычную отправку формы.Атрибут
submit определяет, что попадёт на сервер: формула, результат или оба значения. Это стоит настроить явно: по умолчанию в основном поле отправляется формула. Компонент пригодится в интерфейсах с размерами, количествами и расчётными параметрами.
