Без vue, react и прочих библиотек. Интересует как писать js компоненты типа табы, модалки и т.п. Как реализовать их взаимодействие. Хочется посмотреть на примеры и реализации.
Если говорить о наборе компонентов интерфейса, особо не связанных между собой по данным (а в не-spa обычно это так и есть), то можете посмотреть мой
велосипед. Там все просто, он сделан как раз для изучения. Убрав компоненты и утилиты получите почти готовый шаблон для сборки.
для многостраничных сайтов
Количество страниц не так важно. Основная идея может состоять в том, чтобы делать отдельную коллекцию компонентов (как в велосипеде), по сути мини-фреймворк с фирменным стилем, а потом на нем уже клепать страницы. Особенно хорошо подход заходит, когда у компании несколько сайтов с единым стилем. Может показаться, что будет уходить много времени в начале работы, но на деле это не так, поскольку решение не нужно придумывать каждый раз заново. Копипасту никто не отменял.