• Как сделать выделение элемента как на примере?

    @Eshil
    effect_tw, в базовом смысле хук с этим не поможет (если я правильно понял Вашу идею). Так как если ширина табов задается не статично (а, например, процентом от контейнера/окна), то эти данные не реактивны. И реф тоже не обновится, так как DOM-элемент остался тем же.
    Вижу несколько способов с этим разобраться (они не взаимоисключающие):

    Таки да сделать хук или метод у компонента, который будет тиггериться и измерять ширину активного таба и далее передаваться индикатору. А триггерить его одним из способов
    1) вешать эффектом слушатель на ресайз окна (плюсы: дешево, минусы: кроме ресайза окна есть еще ресайз контейнера, ширина текста в табе и многое другое, поэтому ненадежно)
    2) проверять ширину активного таба по интервалу (плюсы: универсальность, минусы: дорого, либо будет запаздывать)
    3) повесить на ResizeObserver (мой личный фаворит, но лучше завести полифил, если поддержка старых браузеров в планах. Комбинация надежности и умеренной цены)