While css-in-js is a powerful tool it can come with a host of issues such as:
Unfamiliarity for people who are used to writing more traditional CSS
Bad tooling integration
Configuration overhead
Complexity
While the most popular libraries out there try to tackle these issues head on by sticking close to standard css syntax and by providing extra tooling - those tools are often plenty, might not play well with other tools or might be maintained by different people featuring various levels of quality.
This approach should theoretically be compatible with our current Lit style declaration but has a few potential shortcomings that we need to look at in more detail. Namely:
css-modules aren't natively supported in typescript. This means that we have to take extra care not to end up with unmanaged, loosely-coupled class name references. Our build script should ideally throw an error when we try to reference non-existing css class names.
typescript-plugin-vscoce for editor support
SASS might not be a powerful enough language to support our TokenIterator concept.
We have to implement a SASS output target for our figma-design-tokens package.
Overall i think that this approach is worthy of further investigation as it could lead to a much better dev experience.
Code of Conduct
[X] I agree to follow this project's Code of Conduct
Improving our current CSS approach with #922 and #1021 (and follow up tasks for all other components to remove class maps) seems to be the more safe next steps than to invest time in this task.
Description / User story
We want to invest some more time too investigate if SASS is a potential CSS library to use, as recommended by https://github.com/deven-org/boiler/issues/1081 .
The following key factors need to be considered:
Requirements / Prerequisites
Acceptance Criteria
Additional information
Current findings as researched via https://github.com/deven-org/boiler/issues/1081
Code of Conduct