Commit Graph

24 Commits

Author SHA1 Message Date
Romain Le Cellier
0e6532f098 🎨(all) global lint
Executiing `yarn format` should not generate any changes in the
project.
Apply yarn format to all files.
2023-05-05 10:54:50 +02:00
jbpenrath
7eac0bfca1 (tokens) make sass maps overridable
We suffix all sass maps with `!default` flag. In this way, if a consumer
 needs to override cunningham tokens, it will be able to.
2023-05-03 15:56:40 +02:00
jbpenrath
fb2fb3e107 🔥(tokens) remove colors sub maps
Create color sub maps seems to be a good idea but in fact was not. In
fact if with need to create token sub map this structure should appear
within the tokens module.
2023-05-03 15:56:40 +02:00
Romain Le Cellier
b9d2f2955f 🐛(tokens) fix scss generator
scss maps expect keys between quotes like:
$map = (
  'key': value,
)
2023-04-28 09:44:54 +02:00
Romain Le Cellier
1b9fb93bda (tokens) add a test token with a hyphen
tokens that includes hyphen are allowed but the feature wasn't been
tested
2023-04-28 09:44:54 +02:00
jbpenrath
1667d9b501 (tokens) add scss generator
Add a Sass generator which generate a scss file declaring colors, font
families, weights, sizes and spacings as maps.
2023-04-18 14:59:16 +02:00
jbpenrath
72091eecbc 🩹(tokens) add blank line at end of token files
Cunningham CLI did not add a blank line at the end of generated
token files.
2023-04-18 14:59:16 +02:00
jbpenrath
cf325719d5 🩹(tokens) fix typo within cunningham.ts file
The fontSizes.h3 contained an extra ";" chars.
2023-04-18 14:59:16 +02:00
jbpenrath
b79c23da30 💫(tokens) change transitions timing functions
Increase duration by 50ms then switch to ease cubic timing function in
order to get smoother but enough speed transitions.
2023-04-12 17:21:19 +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
2a5acea4a4 (tokens) css utility classes are now optionnal
Previously, when using the cunningham bin to build tokens, the CSS
file always included utility classes, resulting in duplicated CSS
utility classes on the consumer side if no specific CSS optimizer
is defined ( its local cunningham-tokens.css + the one from the
react package ). Now, this new feature introduces a param named
--utility-classes that must be provided to generate those classes.
This params is henceforth only provided to the bin inside the tokens
package.
2023-02-21 09:29:24 +01:00
ALC Consulting
479e0777b6 🐛(tokens) fix windows generate tokens
The tokens generation was failing on windows because
of the path separator.
This commit fixes this issue.
2023-02-20 11:29:36 +01: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
e5c1693454 (tokens) add official default theme tokens
Due to the recent delivery of the design system document from
designers we are now able to define official design tokens.
2023-01-18 11:29:33 +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
be1c9d000b (react) add tokens.ts files handling
These files will be used to define the custom design tokens per components.
They are automatically aggregated by the packages/react/cunningham.ts file,
this is why handling typescript config file was important.
2023-01-11 11:01:56 +01:00
Nathan Vasse
67dd0048d0 ♻️(tokens) expose default tokens in a lib and various config
This allow to use the default tokens from Typescript or Javascript file
of dependents repos. For instance this wîll be used by packages/react
to aggregate components tokens files.
2023-01-11 11:01:56 +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
56da7dde48 (tokens) add -cwd, --working-dir options to the bin
This allows to modify the working dir of the bin. This will be
particularly useful when running tests, this is not especially
intended to be vastly used by end-users.
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