Пробую использовать плагин "vite-plugin-dts", он упорно вместо нормальной генерации файлов типов создает ровно один файл index.d.ts с содержимым: export * from './src/lib/index'
которое, очевидно, неверное. Сколько не искал, никто с этой проблемой не сталкивался.
Почитал документы по ссылкам. Любопытно. Но про ИгроМир
В 2020-2021 годах фестиваль не проводился из-за пандемии Covid-19, а в 2022-м был отменён, из-за чего в том же году кредиторы подали на банкротство компании-организатора, которая вынуждена была свернуть деятельность в России.
Уже не первый раз вижу этот оборот "вынуждена была свернуть деятельность в России", можно подумать что где-то вне России деятельность у организатора продолжается. Между тем, таковой никогда не было.
То что я назвал его черным, не значит что он #000, просто он самый темный, так что не суть важно. Я к тому веду, что вариантов может быть слишком много и в конечном итоге это приведет к тому что вся красота минимализма, обычно, разваливается. Возвращаясь к popup - в нем надо красить disabled альтернативы, выделять hover альтернативу, красить иконки у пунктов в выбранном/задизебленом/обычном варианте и т.п. Я в своей библиотеке компонентов начал с того же, что и вы - решил что смогу определить базовый набор цветов, который буду применять ко всем компонентам. А когда понадобится темная тема, просто переопределю их. На практике так не работает. Простое переопределение всегда ведет к компромиссу между нормальным дизайном и удобством разработки. В конечном итоге я пришел к тому, что почти у каждого компонента есть собственный набор css-переменных, которые по умолчанию используют некий базовый набор цветов (также определенный в переменных), но могут быть переопределены на более глубоком уровне для конкретного компонента в конкретном окружении.
Я про то, что для некоторых случаев может потребоваться цвет, которого в другой теме нет вообще. Сходу не смогу привести пример адекватный, но что-то типа такого: пусть есть цвет фона, на него кладем панельку с цветом подложки, а поверх нее надо будет вывести popup с всплывающем меню. Так вот для popup в светлой теме может быть background такой же как и у фона - белый, но за счет тени все будет нормально выделяться. Для темной же темы это не годится т.к. тень уже недостаточна, делать цвет как у фона - будет смотреться как дыра, цвет как у панели - сольется с панелью. Значит или заводить еще один цвет или делать обводку. Обводка - не всегда хорошо, т.к. для светлой темы она не нужна. Ну и т.п.
Уже нашел в чем дело: последние версии vite изменили конфигурационные файлы для TS, а vite-plugin-dts использует старый формат
https://github.com/qmhc/vite-plugin-dts/issues/344
Мне помог вариант решения с добавлением tsconfigPath
plugins: [ react(), dts({ rollupTypes: true, tsconfigPath: "./tsconfig.app.json", }), ],
Похоже это проблемы последних версий плагина.
Откатился на 3.9.1 и теперь стало выдавать ошибку error TS6142
уже хоть что-то
Ну тестовое приложение работает 🤷♂️
https://github.com/alxgrn/telefrag-editor
Пробую использовать плагин "vite-plugin-dts", он упорно вместо нормальной генерации файлов типов создает ровно один файл index.d.ts с содержимым:
export * from './src/lib/index'
которое, очевидно, неверное. Сколько не искал, никто с этой проблемой не сталкивался.
Почитал документы по ссылкам. Любопытно.
Но про ИгроМир
В 2020-2021 годах фестиваль не проводился из-за пандемии Covid-19, а в 2022-м был отменён, из-за чего в том же году кредиторы подали на банкротство компании-организатора, которая вынуждена была свернуть деятельность в России.
Уже не первый раз вижу этот оборот "
вынуждена была свернуть деятельность в России
", можно подумать что где-то вне России деятельность у организатора продолжается. Между тем, таковой никогда не было.То что я назвал его черным, не значит что он #000, просто он самый темный, так что не суть важно. Я к тому веду, что вариантов может быть слишком много и в конечном итоге это приведет к тому что вся красота минимализма, обычно, разваливается. Возвращаясь к popup - в нем надо красить disabled альтернативы, выделять hover альтернативу, красить иконки у пунктов в выбранном/задизебленом/обычном варианте и т.п.
Я в своей библиотеке компонентов начал с того же, что и вы - решил что смогу определить базовый набор цветов, который буду применять ко всем компонентам. А когда понадобится темная тема, просто переопределю их.
На практике так не работает. Простое переопределение всегда ведет к компромиссу между нормальным дизайном и удобством разработки.
В конечном итоге я пришел к тому, что почти у каждого компонента есть собственный набор css-переменных, которые по умолчанию используют некий базовый набор цветов (также определенный в переменных), но могут быть переопределены на более глубоком уровне для конкретного компонента в конкретном окружении.
Я про то, что для некоторых случаев может потребоваться цвет, которого в другой теме нет вообще. Сходу не смогу привести пример адекватный, но что-то типа такого: пусть есть цвет фона, на него кладем панельку с цветом подложки, а поверх нее надо будет вывести popup с всплывающем меню. Так вот для popup в светлой теме может быть background такой же как и у фона - белый, но за счет тени все будет нормально выделяться. Для темной же темы это не годится т.к. тень уже недостаточна, делать цвет как у фона - будет смотреться как дыра, цвет как у панели - сольется с панелью. Значит или заводить еще один цвет или делать обводку. Обводка - не всегда хорошо, т.к. для светлой темы она не нужна. Ну и т.п.
Имелись в виду размеры для padding/margin
А для размеров не заводите переменные в верстке? Что-то типа:
--unit: 1rem;
--unit-half: .5rem;
--unit-small: .25rem;
И как боретесь с тем что для светлой и темной тем не всегда удается сделать однозначное переписывание цветов, а требуются дополнительные?
Вы правы. Почему-то совсем забыл про это. Добавил.
А как у вас делается авторизация пользователей при таком подходе?
Почему же не нравится? Очень нравится. Просто для данной задачи он, на мой взгляд, излишен.
Спасибо. Поправил.