А нет готовых решения, чтобы добавление новых строчек блочилась? но она не блочится, а добавляется скролл просто. Сейчас использую autosize textarea
Нет, готового решения нет. И ты путаешь количество строк и количество символов, визуально помещающихся в одну ширину. Строки разделяются символами переноса строк, можно валидировать строку в onChange и запрещать добавление новых переносов при достижении конкретного количества. С количеством символов без переносов сложнее — нужно знать, сколько символов помещается в одной строке. И это количество может быть разным в зависимости от настроек пользователя.
В любом случае костыли и велосипеды. Задача какая? Скорее всего она решается как-то иначе, если её озвучить, можно получить совет.