Способ реализации может зависеть от того, что реально представляет собой блок.
1. Если это просто однородный или градиентный фон, то добавляем абсолютно позиционированный ::after в конце.
2. Если фон картинкой, то псевдоэлемент можно расположить от левого края, а ширину либо высчитать calc((100vw - 1000px)/2 + 1000px), где 1000px это ширина контейнера. Либо сделать ширину 100vw и поместить всю секцию в блок-обертку с обрезкой.
3. Если этот блок полностью содержит контент (а не просто фон), то думать надо. Навскиду, подойдет та же формула, что во втором пункте.
По первой части вопроса очень просто — пишем метод
isDisabled() {}
В котором на основе модели данных вычисляем активность чекбокса.
По второй части — кастомные элементы — допишите их нормально, чтобы они поддерживали disabled и нормально работали с v-model
Когда с тройкой работал, привык и не заморачивался. Просто старался не удалять папки во время разработки.
В четверке вроде такого не наблюдается. Или я настроил что-то, но не помню что =))
Вторая причина — побочные билды включаемых файлов, потому что их имена не начинаются с подчеркивания.