Commit Graph

12 Commits

Author SHA1 Message Date
Nathan Vasse
4fbd75cdcf 🐛(tokens) fix invalid sass with comma
The generated sass from tokens containing commas, like font families was
not valid due to the way maps are made in sass. So we wrap those value
in quotes.
2024-02-28 17:19:32 +01:00
Nathan Vasse
cce8eccf5b (theme) add themes management
This is made in order to be able to handle natively multiple themes
for the future light/dark themes and also allow consumers to create
their own.
2023-10-04 15:18:00 +02:00
Nathan Vasse
d85f9edac8 🚨(lint) update file for prettier 3.0.0
Prettier 3.0.0 comes with new standards so we need to upgrade our files
to comply with it.
2023-07-18 16:59:39 +02:00
Nathan Vasse
b2fd517bde 🔧(eslint) update eslint config to make import/order work
The autofix of import/order was not taken into account due to
a misconfiguration.
2023-03-28 12:00:27 +02:00
Nathan Vasse
b908136224 (tokens) generate css utility classes
These were the missing parts in order to use every design tokens
of Cunningham. Including: spacing, font weight, size, family, and
colors. In order to be really versatile and to allow users to
define new design tokens I had to re-organize the way those tokens
are sub divided in sub objects in cunningham.ts file. That's why
sub division are created for theme.typ.sizes for instance.
2023-01-20 17:00:31 +01:00
Nathan Vasse
b0f5b94834 ♻️(tokens) transform cunningham.dist.js to cunningham.ts
As of now configuration file can use the .ts extension so it
seemed more homogeneous as the bin own source code is using
Typescript.
2023-01-18 11:29:33 +01:00
Nathan Vasse
be2f220624 (tokens) mock default tokens in tests
If we don't do that we will have to update all tests each time the
default value of a token is changed.
2023-01-11 11:01:56 +01:00
Nathan Vasse
2457a93ebf (tokens) add the support for Typescript config file
Add the support to load cunningham.ts local config file based on ts-node.
Those files will be loaded as CommonJS to preserve to coherence regarding
the way the cunningham bin is ran by node.
2023-01-11 11:01:56 +01:00
Nathan Vasse
66e6aad84d (tokens) add TS generator and re-organize the repo
Add TS Generator which is a lot based on JS Generator.
2023-01-11 11:01:56 +01:00
Nathan Vasse
2876d29025 (tokens) add JS generator and re-organize the repo
Added JsGenerator which to implied to reorganize a bit the
repo in order to extract generator-specific test into specific
standalone files.
2023-01-11 11:01:56 +01:00
Nathan Vasse
3e98429d04 ♻️(typescript) move tokens sources to absolute import
Relatives import are quite ugly and reduces readability, but
hard to say that Typescript handles it very well for compilation
time, but nothing for runtime. That's why I had to add tsc-alias
to the build script. Please see this issue for more details.
https://github.com/Microsoft/TypeScript/issues/15479
Furthermore, some configuration was needed for Jest to work well.
2023-01-11 11:01:56 +01:00
Nathan Vasse
32a48e9e46 (bin) add tokens repo
This repo is made for the bin script that generates the tokens files,
at the moment it only generates a css file, but it is designed to be
able to generate any other file format ( Typescript, Javascript for example )
2022-12-07 17:07:18 +01:00