Skip to content

Commit

Permalink
[#2452] Add paragraph tokens, bump version (#9)
Browse files Browse the repository at this point in the history
Merge with develop for OIP release 1.17.2
  • Loading branch information
jiromaykin authored Jun 6, 2024
2 parents 91d4e8a + 9705946 commit 5cf1ec6
Show file tree
Hide file tree
Showing 13 changed files with 186 additions and 176 deletions.
115 changes: 72 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,39 @@
# Design Tokens

The Open Inwoner project has the goal to follow the
[NL Design System](https://github.com/nl-design-system). We organize
the design tokens in JSON files and use them within the Open Inwoner
The Open Inwoner Platform (OIP) project has the goal to follow the [NL Design System](https://github.com/nl-design-system). We organize the design tokens in JSON files and use them within the Open Inwoner
backend project.

## How it works

Specify the design tokens in JSON files, which are picked up and merged using the
[style-dictionary](https://www.npmjs.com/package/style-dictionary) library. The resulting packages
include various build targets, such as ES6 modules, CSS variables files, SASS vars... to be consumed
in downstream projects.

The draft [Design Token Format](https://design-tokens.github.io/community-group/format/) drives the
structure of these design tokens.
For any component that OIP has that corresponds with a community component, we use the community
classes. But for any component that OIP has that does not have an NLDS equivalent, we use our own
OIP brand tokens. We also set OIP (brand/component) tokens in case we have certain values that are
used repeatedly, like for example `border-radius`.

## Add this as a submodule
Long term goal is to make it possible for different municipalities to make their own design-tokens
and then simply switch themes in OIP.

In the root folder of your project, create a dir or directly add the submodule in its own directory:
## How it works

```bash
cd open-inwoner-design-tokens
The design tokens are specified in JSON files, which are picked up and merged using the
[style-dictionary](https://www.npmjs.com/package/style-dictionary) library. The resulting packages
include various build targets, such as CSS variables files, SASS vars... to be consumed in downstream projects.

git submodule add git@github.com:maykinmedia/open-inwoner-design-tokens.git
The draft [Design Token Format](https://design-tokens.github.io/community-group/format/) drives the structure of these design tokens.

git status
**Using tokens**

git submodule update --init
```
If you are only _consuming_ the design tokens, the easiest integration path is adding the
NPM-package in your own project.

Do not forget to commit these changes to your repository.
## Add this package to your project

If you are using Github actions, add these to your script:
This package can be added to your project as an NPM node module: after building the node, you will
only need to work with its rendered CSS. The easiest integration path is adding the NPM package as dependency to your project:

```bash
- uses: actions/checkout@v3
with:
submodules: 'true'
npm install --save-dev @open-inwoner/design-tokens
```

This gets the node module from https://www.npmjs.com/package/@open-inwoner/design-tokens

## Usage

Expand All @@ -54,27 +49,24 @@ Generate the CSS files
npm run build
```

In order to update an existing Git submodule, you need to execute the “git submodule update” with the “–remote” and the “–merge” option.

```bash
git submodule update --remote --merge
```
Import the CSS in your own CSS files by using our theme class in your Master HTML template

**Using tokens**
```HTML

If you are only _consuming_ the design tokens, the easiest integration path is adding this
package in your own project.
<html lang="nl" class="view openinwoner-theme">
```

Then, import the desired build target artifact and run your usual build chain.
```css
.openinwoner-theme {
...
}
```

**Developing and using tokens**
## Developing and using tokens

If you actively need to add or change design tokens, we recommend installing the package locally and
using npm workspaces or `npm link` for the least-friction experience. You can include the package as
a git-submodule and leverage npm workspaces with instructions in the downstream projects.
In case you do not just wish to consume, but add completely new tokens or adjust their values, we recommend installing the package locally and using npm workspaces or `npm link` for the least-friction experience. You can include the package as a git-submodule and leverage npm workspaces with instructions in the downstream projects.

This allows you to create atomic PRs with design token changes, while being able to develop against
the newest changes.
This allows you to create atomic PRs with design token changes, while being able to develop against the newest changes.

Run:

Expand All @@ -101,7 +93,9 @@ tokens. E.g. if you have two tokens definition files like:
{
"oip": {
"color": {
"fg": {"value": "#000000"}
"fg": {
"value": "#000000"
}
}
}
}
Expand All @@ -112,7 +106,9 @@ tokens. E.g. if you have two tokens definition files like:
"oip": {
"color": {
"fg": {
"muted": {"value": "#000000"}
"muted": {
"value": "#000000"
}
}
}
}
Expand All @@ -137,10 +133,43 @@ e.g.:
{
"oip": {
"color": {
"fg-muted": {"value": "#000000"}
"fg-muted": {
"value": "#000000"
}
}
}
}
```

The latter form is harder to keep track off across files though.

### Add as a submodule instead of NPM

From the root folder of your project:

```bash
cd open-inwoner-design-tokens

git submodule add [email protected]:maykinmedia/open-inwoner-design-tokens.git

git status

git submodule update --init
```

Do not forget to commit these changes to your repository.

If you are using Github actions, add these to your script:

```bash
- uses: actions/checkout@v3
with:
submodules: 'true'
```

In order to update an existing Git submodule, you need to execute the “git submodule update” with
the “–remote” and the “–merge” option.

```bash
git submodule update --remote --merge
```
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@open-inwoner/design-tokens",
"version": "0.0.3-alpha.0",
"version": "0.0.5-alpha.5",
"description": "Design tokens for Open Inwoner",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
Expand Down
88 changes: 14 additions & 74 deletions src/brand/openinwoner/color.tokens.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,101 +59,43 @@
},
"success": {
"value": "#4A7746",
"comment": "The dark green text color for success states and/or messages.",
"$extensions": {
"dte.metadata": {
"isCurated": true,
"category": "color"
}
}
"comment": "The dark green text color for success states and/or messages."
},
"success-light": {
"value": "#ecf4ec",
"comment": "The light green background color for success states and/or messages.",
"$extensions": {
"dte.metadata": {
"isCurated": true,
"category": "color"
}
}
"comment": "The light green background color for success states and/or messages."
},
"warning": {
"value": "#704000",
"comment": "The dark orange text color for warning states and/or messages.",
"$extensions": {
"dte.metadata": {
"isCurated": true,
"category": "color"
}
}
"comment": "The dark orange text color for warning states and/or messages."
},
"warning-light": {
"value": "#ffdcad",
"comment": "The light orange background color for warning states and/or messages.",
"$extensions": {
"dte.metadata": {
"isCurated": true,
"category": "color"
}
}
"comment": "The light orange background color for warning states and/or messages."
},
"danger": {
"value": "#5c000f",
"comment": "The dark red text color for error/critical states and/or messages.",
"$extensions": {
"dte.metadata": {
"isCurated": true,
"category": "color"
}
}
"comment": "The dark red text color for error/critical states and/or messages."
},
"danger-light": {
"value": "#ffdbe1",
"comment": "The light red background color for error/critical states and/or messages.",
"$extensions": {
"dte.metadata": {
"isCurated": true,
"category": "color"
}
}
"comment": "The light red background color for error/critical states and/or messages."
},
"bg": {
"value": "#ffffff",
"comment": "Background color for the (main) user interface.",
"$extensions": {
"dte.metadata": {
"isCurated": true,
"category": "color"
}
}
"comment": "Background color for the (main) user interface."
},
"fg": {
"value": "#4b4b4b",
"comment": "Blackish foreground color for the (main) user interface.",
"$extensions": {
"dte.metadata": {
"isCurated": true,
"category": "color"
}
}
"comment": "Blackish foreground color for the (main) user interface."
},
"fg-muted": {
"value": "#d2d2d2",
"comment": "Font/foreground color for non-actionable or less-important content.",
"$extensions": {
"dte.metadata": {
"category": "color"
}
}
"value": "#949494",
"comment": "Font/foreground color for non-actionable or less-important content."
},
"fg-heading": {
"value": "#000000",
"comment": "Black foreground color for fully black elements.",
"$extensions": {
"dte.metadata": {
"category": "color"
}
}
"comment": "Black foreground color for fully black elements."
},
"border": {
"value": "#d2d2d2",
Expand All @@ -167,11 +109,9 @@
},
"border": {}
},
"read-only": {
"bg": {
"value": "#d2d2d2",
"comment": "Default color for disabled/non-interactable input elements."
}
"red-notification": {
"value": "#d94100",
"comment": "The bright red color for notification badges and texts."
}
}
}
Expand Down
3 changes: 0 additions & 3 deletions src/brand/openinwoner/typography.tokens.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
"fg": {"value": "{oip.color.fg}"},
"font-family": {"value": "Heading"}
},
"utrecht-link": {
"font-family": {"value": "{oip.typography.sans-serif.font-family}"}
},
"text": {
"margin": {"value": "20px"},
"font-size": {"value": "16px"},
Expand Down
13 changes: 0 additions & 13 deletions src/community/utrecht/heading-1.tokens.json

This file was deleted.

14 changes: 0 additions & 14 deletions src/community/utrecht/heading-2.tokens.json

This file was deleted.

13 changes: 0 additions & 13 deletions src/community/utrecht/heading-3.tokens.json

This file was deleted.

13 changes: 0 additions & 13 deletions src/community/utrecht/heading-4.tokens.json

This file was deleted.

Loading

0 comments on commit 5cf1ec6

Please sign in to comment.