For those who are curious, here is the technical reasoning behind the way this framework is set up.
We use ITCSS to sort our CSS components
Sometimes, duplication is better than abstraction. To avoid tangling unrelated components, even if they share many similarities, code is duplicated (e.g. NavMenu vs SelectMenu)
We avoid using Svelte's style tag, so we can make use of consistent SCSS variables and have a way for variables to influence each other with a passthrough logic, something which CSS custom properties is not entirely ready for
When customizing this framework, I recommend throwing out all SCSS partials for components you do not use to minimize the final stylesheet
We use as much semantic HTML as possible
We use as much progressive enhancement that doesn't cause browser bugs
We use BEM for components to make it clear which components belong together e.g.
<ul class="c-pill-list">
<li class="c-pill-list__item">
<span class="c-pill c-pill--default">
</li>
<li class="c-pill-list__item">
<span class="c-pill c-pill--default">
</li>
</ul>