глобальные классы, такие как focused, pressed.
https://t.me/sveltejs/25011
Мы там остановились на том что:
:global(.focused).root { }
превращается не в:
.focused.root.svelte-asd731s
а просто в:
.focused.root.
Там же посоветовали делать class:focus (чтобы свелт не выпиливал focus класс если он не глобальный). Да, это помогает, но до первого изменения classList у ноды, то есть если у нас в шаблоне <div class=“root {className}”> — то всё, после перерендера шаблона ранее высталвенный .focus слетит. Почему слетит? Потому что выставлялся он отдельной либой которая не имеет отношения к нему. Чтобы она этого не делала нужно было вынести взаимодействие в свелт-компонент или экшен. Я привел выше пример как это вижу я. Почему нужна обертка с реактивными переменными? Потому что в либе остается логика поиска дом нод по классам. Эту логику можно упразднить если подскажешь как наладить общение между либой и свелтом. Сейчас оно происходит посредством ивентов, таким оно и должно остаться, я считаю. Остается придумать то как компоненты будут работать с ней. В варианте выше было идеально всё, и оно работает если объявить focusable (которого не хватает для use:focusable). В общем, жаль что для class:focused это работает, а для use:focusable — нет.
а что за стороняя либа?
Я напомню тему топика!
Обсуждают сегодня