@conduction/theme 1.1.61 → 1.1.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/.claude/commands/nlds-reference.md +1216 -0
  2. package/.claude/skills/nlds-new/SKILL.md +48 -0
  3. package/.claude/skills/nlds-update/SKILL.md +53 -0
  4. package/.gitattributes +64 -0
  5. package/README.md +1 -0
  6. package/conduction-design-tokens/src/component/utrecht/extra-tokens/link.tokens.json +2 -1
  7. package/municipalities/vaals-design-tokens/LICENSE.md +17 -0
  8. package/municipalities/vaals-design-tokens/README.md +23 -0
  9. package/municipalities/vaals-design-tokens/documentation/color.stories.mdx +17 -0
  10. package/municipalities/vaals-design-tokens/documentation/components.stories.mdx +11 -0
  11. package/municipalities/vaals-design-tokens/documentation/design-tokens.stories.mdx +14 -0
  12. package/municipalities/vaals-design-tokens/documentation/readme.stories.mdx +7 -0
  13. package/municipalities/vaals-design-tokens/package.json +37 -0
  14. package/municipalities/vaals-design-tokens/src/brand/vaals/color.tokens.json +129 -0
  15. package/municipalities/vaals-design-tokens/src/brand/vaals/font-size.tokens.json +54 -0
  16. package/municipalities/vaals-design-tokens/src/brand/vaals/size.tokens.json +17 -0
  17. package/municipalities/vaals-design-tokens/src/brand/vaals/typography.tokens.json +40 -0
  18. package/municipalities/vaals-design-tokens/src/common/utrecht/action.tokens.json +9 -0
  19. package/municipalities/vaals-design-tokens/src/common/utrecht/space.tokens.json +28 -0
  20. package/municipalities/vaals-design-tokens/src/component/conduction/card-header.tokens.json +34 -0
  21. package/municipalities/vaals-design-tokens/src/component/conduction/card-wrapper.tokens.json +33 -0
  22. package/municipalities/vaals-design-tokens/src/component/conduction/logo.tokens.json +27 -0
  23. package/municipalities/vaals-design-tokens/src/component/conduction/pagination.tokens.json +95 -0
  24. package/municipalities/vaals-design-tokens/src/component/conduction/select.tokens.json +39 -0
  25. package/municipalities/vaals-design-tokens/src/component/conduction/table-wrapper.tokens.json +21 -0
  26. package/municipalities/vaals-design-tokens/src/component/conduction/tooltip.tokens.json +17 -0
  27. package/municipalities/vaals-design-tokens/src/component/utrecht/accordion.tokens.json +68 -0
  28. package/municipalities/vaals-design-tokens/src/component/utrecht/alert.tokens.json +46 -0
  29. package/municipalities/vaals-design-tokens/src/component/utrecht/badge-counter.tokens.json +13 -0
  30. package/municipalities/vaals-design-tokens/src/component/utrecht/badge-status.tokens.json +8 -0
  31. package/municipalities/vaals-design-tokens/src/component/utrecht/badge.tokens.json +15 -0
  32. package/municipalities/vaals-design-tokens/src/component/utrecht/blockquote.tokens.json +27 -0
  33. package/municipalities/vaals-design-tokens/src/component/utrecht/breadcrumb.tokens.json +44 -0
  34. package/municipalities/vaals-design-tokens/src/component/utrecht/button.tokens.json +152 -0
  35. package/municipalities/vaals-design-tokens/src/component/utrecht/calendar.tokens.json +80 -0
  36. package/municipalities/vaals-design-tokens/src/component/utrecht/checkbox.tokens.json +57 -0
  37. package/municipalities/vaals-design-tokens/src/component/utrecht/code.tokens.json +26 -0
  38. package/municipalities/vaals-design-tokens/src/component/utrecht/data-list.tokens.json +28 -0
  39. package/municipalities/vaals-design-tokens/src/component/utrecht/document.tokens.json +12 -0
  40. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/accordion.tokens.json +36 -0
  41. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/alert.tokens.json +9 -0
  42. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/badge-counter.tokens.json +11 -0
  43. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/breadcrumb.tokens.json +21 -0
  44. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/form-field.tokens.json +13 -0
  45. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/form-input.tokens.json +26 -0
  46. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/heading.tokens.json +28 -0
  47. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/icon.tokens.json +7 -0
  48. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/link.tokens.json +11 -0
  49. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/page-footer.tokens.json +46 -0
  50. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/page-header.tokens.json +15 -0
  51. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/radio-button.tokens.json +14 -0
  52. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/skip-link.tokens.json +24 -0
  53. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/table.tokens.json +37 -0
  54. package/municipalities/vaals-design-tokens/src/component/utrecht/extra-tokens/textbox.tokens.json +26 -0
  55. package/municipalities/vaals-design-tokens/src/component/utrecht/focus.tokens.json +15 -0
  56. package/municipalities/vaals-design-tokens/src/component/utrecht/form-field.tokens.json +17 -0
  57. package/municipalities/vaals-design-tokens/src/component/utrecht/form-input.tokens.json +31 -0
  58. package/municipalities/vaals-design-tokens/src/component/utrecht/form-label.tokens.json +23 -0
  59. package/municipalities/vaals-design-tokens/src/component/utrecht/heading.tokens.json +49 -0
  60. package/municipalities/vaals-design-tokens/src/component/utrecht/icon.tokens.json +12 -0
  61. package/municipalities/vaals-design-tokens/src/component/utrecht/link.tokens.json +33 -0
  62. package/municipalities/vaals-design-tokens/src/component/utrecht/list.tokens.json +31 -0
  63. package/municipalities/vaals-design-tokens/src/component/utrecht/page-footer.tokens.json +13 -0
  64. package/municipalities/vaals-design-tokens/src/component/utrecht/page-header.tokens.json +10 -0
  65. package/municipalities/vaals-design-tokens/src/component/utrecht/page.tokens.json +11 -0
  66. package/municipalities/vaals-design-tokens/src/component/utrecht/paragraph.tokens.json +25 -0
  67. package/municipalities/vaals-design-tokens/src/component/utrecht/radio-button.tokens.json +68 -0
  68. package/municipalities/vaals-design-tokens/src/component/utrecht/select.tokens.json +47 -0
  69. package/municipalities/vaals-design-tokens/src/component/utrecht/separator.tokens.json +10 -0
  70. package/municipalities/vaals-design-tokens/src/component/utrecht/skip-link.tokens.json +16 -0
  71. package/municipalities/vaals-design-tokens/src/component/utrecht/spotlight-section.tokens.json +24 -0
  72. package/municipalities/vaals-design-tokens/src/component/utrecht/surface.tokens.json +8 -0
  73. package/municipalities/vaals-design-tokens/src/component/utrecht/table.tokens.json +60 -0
  74. package/municipalities/vaals-design-tokens/src/component/utrecht/textbox.tokens.json +32 -0
  75. package/municipalities/vaals-design-tokens/src/config.json +73 -0
  76. package/municipalities/vaals-design-tokens/src/font/GT-Walsheim-Bold.woff2 +0 -0
  77. package/municipalities/vaals-design-tokens/src/font/GT-Walsheim-Light.woff2 +0 -0
  78. package/municipalities/vaals-design-tokens/src/font/GT-Walsheim-Medium.woff2 +0 -0
  79. package/municipalities/vaals-design-tokens/src/font/GT-Walsheim-Regular.woff2 +0 -0
  80. package/municipalities/vaals-design-tokens/src/font.scss +31 -0
  81. package/municipalities/vaals-design-tokens/src/index.scss +8 -0
  82. package/municipalities/vaals-design-tokens/style-dictionary.config.js +6 -0
  83. package/package.json +7 -3
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: nlds-new
3
+ description: Create a new NL Design System token set for an organisation — extracts branding from website/huisstijlhandboek via Playwright
4
+ ---
5
+
6
+ Create a new NL Design System token set for: $ARGUMENTS
7
+
8
+ ## Instructions
9
+
10
+ ### Gather required information
11
+
12
+ If `$ARGUMENTS` is empty or does not contain an organisation name, ask:
13
+
14
+ 1. **"What is the name of the organisation?"** (required — do not proceed until answered)
15
+
16
+ Once you have the name, ask:
17
+
18
+ 2. **"Should I extract the design from the organisation's website, a huisstijlhandboek (style guide), or both?"**
19
+
20
+ If the user says **website** or **both**, look up the most likely website URL (e.g. `https://www.<name>.nl/`) and ask:
21
+
22
+ 3. **"Is this the correct website: `<url>`? (or provide the right one)"**
23
+
24
+ If the user says **huisstijlhandboek**, ask:
25
+
26
+ 4. **"What is the URL of the huisstijlhandboek?"**
27
+
28
+ If `$ARGUMENTS` already contains a name and URL, confirm both with the user before proceeding.
29
+
30
+ ### Derive identifiers
31
+
32
+ From the organisation name:
33
+
34
+ - **slug**: lowercase, spaces replaced with hyphens (e.g. "den-haag", "vng-realisatie")
35
+ - **prefix**: same as slug
36
+ - **fullName**: the proper name (e.g. "Den Haag", "VNG Realisatie")
37
+ - **packageName**: `@nl-design-system-unstable/<slug>-design-tokens`
38
+ - **folderName**: `municipalities/<slug>-design-tokens`
39
+
40
+ ### Execute
41
+
42
+ Read the shared reference at `conduction-theme/.claude/commands/nlds-reference.md` and follow it from the top:
43
+
44
+ 1. **Extract** — follow the extraction procedure (website and/or huisstijlhandboek as the user requested)
45
+ 2. **Create all files** — follow the file creation procedure to create the full token set from scratch
46
+ 3. **Update component tokens** — follow the component update mapping to apply extracted values
47
+ 4. **Build and test** — follow the build procedure, fix any errors
48
+ 5. **Summary** — output the summary as described in the reference
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: nlds-update
3
+ description: Update an existing NL Design System token set — re-extracts branding from website/huisstijlhandboek and applies changes
4
+ ---
5
+
6
+ Update an existing NL Design System token set for: $ARGUMENTS
7
+
8
+ ## Instructions
9
+
10
+ ### Gather required information
11
+
12
+ If `$ARGUMENTS` is empty or does not contain an organisation name, ask:
13
+
14
+ 1. **"What is the name of the organisation to update?"** (required — do not proceed until answered)
15
+
16
+ Once you have the name, verify the token set exists at `municipalities/<slug>-design-tokens/`. If it does not exist, tell the user and suggest using `/nlds:new` instead.
17
+
18
+ Then ask:
19
+
20
+ 2. **"Should I re-extract the design from the organisation's website, a huisstijlhandboek (style guide), or both?"**
21
+
22
+ If the user says **website** or **both**, look up the website URL from the existing `package.json` (the `"website"` field) and ask:
23
+
24
+ 3. **"Is this still the correct website: `<url>`? (or provide the right one)"**
25
+
26
+ If the user says **huisstijlhandboek**, ask:
27
+
28
+ 4. **"What is the URL of the huisstijlhandboek?"**
29
+
30
+ ### Derive identifiers
31
+
32
+ From the existing token set, read `src/config.json` to get:
33
+
34
+ - **slug**: the `prefix` field
35
+ - **fullName**: the `fullName` field
36
+ - **prefix**: same as slug
37
+ - **packageName**: from `package.json` `name` field
38
+ - **folderName**: `municipalities/<slug>-design-tokens`
39
+
40
+ ### Execute
41
+
42
+ Read the shared reference at `conduction-theme/.claude/commands/nlds-reference.md` and follow it, **skipping Part B** (file creation):
43
+
44
+ 1. **Extract** (Part A) — follow the extraction procedure (website and/or huisstijlhandboek as the user requested)
45
+ 2. **Skip Part B** — files already exist, do not recreate them
46
+ 3. **Update component tokens** (Part C) — read existing token files, compare with new extraction data, update only values that changed
47
+ 4. **Update brand tokens** — if the extraction reveals new/changed colors or fonts:
48
+ - Update `color.tokens.json` with any new palette entries
49
+ - Update `typography.tokens.json` if the font changed
50
+ - Update `font-size.tokens.json` if sizes changed
51
+ - Download any new font files to `src/font/` and update `font.scss`
52
+ 5. **Build and test** (Part D) — follow the build procedure, fix any errors
53
+ 6. **Summary** (Part E) — output the summary, highlighting what changed vs the previous version
package/.gitattributes ADDED
@@ -0,0 +1,64 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
3
+
4
+ # Source code - always use LF
5
+ *.js text eol=lf
6
+ *.jsx text eol=lf
7
+ *.ts text eol=lf
8
+ *.tsx text eol=lf
9
+ *.mjs text eol=lf
10
+ *.cjs text eol=lf
11
+
12
+ # Configuration files - always use LF
13
+ *.json text eol=lf
14
+ *.yml text eol=lf
15
+ *.yaml text eol=lf
16
+ *.toml text eol=lf
17
+ *.xml text eol=lf
18
+
19
+ # Styles - always use LF
20
+ *.css text eol=lf
21
+ *.scss text eol=lf
22
+ *.sass text eol=lf
23
+ *.less text eol=lf
24
+
25
+ # HTML and templates - always use LF
26
+ *.html text eol=lf
27
+ *.htm text eol=lf
28
+ *.svg text eol=lf
29
+
30
+ # Documentation - always use LF
31
+ *.md text eol=lf
32
+ *.txt text eol=lf
33
+ *.rtf text eol=lf
34
+
35
+ # Docker and shell scripts - always use LF
36
+ Dockerfile text eol=lf
37
+ *.dockerfile text eol=lf
38
+ *.sh text eol=lf
39
+
40
+ # Git files - always use LF
41
+ .gitattributes text eol=lf
42
+ .gitignore text eol=lf
43
+ .gitmodules text eol=lf
44
+
45
+ # Windows script files - use CRLF
46
+ *.bat text eol=crlf
47
+ *.cmd text eol=crlf
48
+ *.ps1 text eol=crlf
49
+
50
+ # Binary files - do not modify
51
+ *.png binary
52
+ *.jpg binary
53
+ *.jpeg binary
54
+ *.gif binary
55
+ *.ico binary
56
+ *.webp binary
57
+ *.pdf binary
58
+ *.woff binary
59
+ *.woff2 binary
60
+ *.ttf binary
61
+ *.eot binary
62
+ *.zip binary
63
+ *.gz binary
64
+ *.tar binary
package/README.md CHANGED
@@ -6,6 +6,7 @@ Conduction's design tokens theme
6
6
 
7
7
  - **Version 1.1 (breaking changes from 1.0.x)**
8
8
 
9
+ - 1.1.62: Added Vaals theme.
9
10
  - 1.1.61: Updated footer tokens in Almere theme.
10
11
  - 1.1.60: Updated Almere theme.
11
12
  - Updated font size tokens.
@@ -3,7 +3,8 @@
3
3
  "link": {
4
4
  "hover": {
5
5
  "font-weight": {},
6
- "text-decoration-color": {}
6
+ "text-decoration-color": {},
7
+ "text-decoration-skip-ink": { "value": "auto" }
7
8
  }
8
9
  }
9
10
  }
@@ -0,0 +1,17 @@
1
+ # Auteursrecht Gemeente Vaals
2
+
3
+ Copyright (c) 2026 Gemeente Vaals
4
+
5
+ ## Logo en huisstijl
6
+
7
+ Op het huisstijl en logo zijn auteursrechten van toepassing. Het gebruik van logo en huisstijl is alleen toegestaan voor gebruik door Gemeente Vaals.
8
+
9
+ Wanneer je een bewerking van de software wilt gebruiken voor andere doeleinden, mag je niet het logo van Gemeente Vaals gebruiken en je ontwerpt een eigen huisstijl.
10
+
11
+ ## Lettertype
12
+
13
+ Lettertypes die worden gebruikt voor de huisstijl zijn niet allemaal gratis en open source. Let op dat bij gebruik van die bijgeleverde lettertypes je een (betaalde) licentie regelt. Pas anders de configuratie aan om minder of andere lettertypes te gebruiken.
14
+
15
+ ## Toestemming
16
+
17
+ Wanneer je het logo of de huisstijl wilt gebruiken kun je voor toestemming contact opnemen met Gemeente Vaals.
@@ -0,0 +1,23 @@
1
+ # Vaals Design Tokens
2
+
3
+ NL Design System design tokens for Vaals.
4
+
5
+ ## Usage
6
+
7
+ Install the package:
8
+
9
+ ```sh
10
+ npm install @nl-design-system-unstable/vaals-design-tokens
11
+ ```
12
+
13
+ Apply the theme class to your root element:
14
+
15
+ ```html
16
+ <html class="vaals-theme">
17
+ ```
18
+
19
+ ## Building
20
+
21
+ ```sh
22
+ npm run build
23
+ ```
@@ -0,0 +1,17 @@
1
+ import { Meta, ColorPalette, ColorItem } from "@storybook/addon-docs";
2
+ import tokens from "../dist/tokens.json";
3
+ import { ColorSearch } from "@nl-design-system-unstable/theme-toolkit/src/ColorSearch";
4
+ import { ColorTable } from "@nl-design-system-unstable/theme-toolkit/src/ColorTable";
5
+ import config from "../src/config.json";
6
+
7
+ <Meta title={`${config.name}/Color`} />
8
+
9
+ # Color
10
+
11
+ ## Find a color
12
+
13
+ <ColorSearch tokens={tokens[config.prefix]["color"]}></ColorSearch>
14
+
15
+ ## Color palette
16
+
17
+ <ColorTable tokens={tokens[config.prefix]["color"]}></ColorTable>
@@ -0,0 +1,11 @@
1
+ import { Meta, Story } from "@storybook/addon-docs";
2
+ import { ComponentStories } from "@nl-design-system-unstable/theme-toolkit/src/ComponentStories";
3
+ import config from "../src/config.json";
4
+
5
+ <Meta title={`${config.name}`} />
6
+
7
+ # Components
8
+
9
+ <Story name="Components">
10
+ <ComponentStories config={config} />
11
+ </Story>
@@ -0,0 +1,14 @@
1
+ import { Meta, ColorPalette, ColorItem } from "@storybook/addon-docs";
2
+ import { DesignTokensTable } from "@nl-design-system-unstable/theme-toolkit/src/DesignTokensTable";
3
+ import tokens from "../dist/index.json";
4
+ import config from "../src/config.json";
5
+
6
+ <Meta title={`${config.name}/Design Tokens`} />
7
+
8
+ # Design Tokens
9
+
10
+ <DesignTokensTable tokens={tokens.filter((token) => token.path[0] !== config.prefix)}></DesignTokensTable>
11
+
12
+ ## Proprietary Design Tokens
13
+
14
+ <DesignTokensTable tokens={tokens.filter((token) => token.path[0] === config.prefix)}></DesignTokensTable>
@@ -0,0 +1,7 @@
1
+ import { Meta, Description } from "@storybook/addon-docs";
2
+ import markdown from "../README.md";
3
+ import config from "../src/config.json";
4
+
5
+ <Meta title={`${config.name}/README`} />
6
+
7
+ <Description>{markdown}</Description>
@@ -0,0 +1,37 @@
1
+ {
2
+ "version": "1.0.0-alpha.1",
3
+ "author": "Community for NL Design System",
4
+ "description": "NL Design System design tokens for Vaals",
5
+ "website": "https://www.vaals.nl/",
6
+ "keywords": ["nl-design-system", "conduction"],
7
+ "license": "SEE LICENSE IN LICENSE.md",
8
+ "name": "@nl-design-system-unstable/vaals-design-tokens",
9
+ "private": false,
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "repository": {
14
+ "type": "git+ssh",
15
+ "url": "git@github.com:nl-design-system/themes.git"
16
+ },
17
+ "scripts": {
18
+ "clean": "rimraf -rf dist/",
19
+ "prebuild": "npm run clean",
20
+ "watch": "npm-run-all watch:**",
21
+ "watch:style-dictionary": "chokidar --follow-symlinks --command 'npm run --ignore-scripts build' 'src/**/*.tokens.json'",
22
+ "build": "npm-run-all build:**",
23
+ "build:scss": "sass --no-source-map src/:dist/",
24
+ "build:style-dictionary": "style-dictionary build --config ./style-dictionary.config.js"
25
+ },
26
+ "devDependencies": {
27
+ "@nl-design-system-unstable/theme-toolkit": "workspace:*",
28
+ "chokidar-cli": "3.0.0",
29
+ "npm-run-all": "4.1.5",
30
+ "rimraf": "3.0.2",
31
+ "style-dictionary": "3.8.0"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/ConductionNL/conduction-theme/issues"
35
+ },
36
+ "homepage": "https://github.com/ConductionNL/conduction-theme#readme"
37
+ }
@@ -0,0 +1,129 @@
1
+ {
2
+ "vaals": {
3
+ "color": {
4
+ "primary": { "value": "{vaals.color.red.46}" },
5
+ "primary-hover": { "value": "{vaals.color.red.36}" },
6
+ "error": { "value": "#dc3545" },
7
+ "alert-error": { "value": "#721c24" },
8
+ "alert-error-background": { "value": "#f8d7da" },
9
+ "warning": { "value": "#ffc107" },
10
+ "alert-warning": { "value": "#856404" },
11
+ "alert-warning-background": { "value": "#fff3cd" },
12
+ "succes": { "value": "#28a745" },
13
+ "alert-succes": { "value": "#155724" },
14
+ "alert-succes-background": { "value": "#d4edda" },
15
+ "info": { "value": "{vaals.color.primary}" },
16
+ "alert-info": { "value": "#004085" },
17
+ "alert-info-background": { "value": "#cce5ff" },
18
+ "red": {
19
+ "36": {
20
+ "value": "#b00812",
21
+ "comment": "Primary red hover / dark"
22
+ },
23
+ "46": {
24
+ "value": "#e10a17",
25
+ "comment": "Primary red"
26
+ }
27
+ },
28
+ "green": {
29
+ "41": {
30
+ "value": "#558052",
31
+ "comment": "Accent green"
32
+ }
33
+ },
34
+ "grey": {
35
+ "20": {
36
+ "value": "#333333"
37
+ },
38
+ "27": {
39
+ "value": "#444444"
40
+ },
41
+ "29": {
42
+ "value": "#4a4a4a"
43
+ },
44
+ "31": {
45
+ "value": "#4f4f4f"
46
+ },
47
+ "40": {
48
+ "value": "#666666"
49
+ },
50
+ "44": {
51
+ "value": "#677077"
52
+ },
53
+ "46": {
54
+ "value": "#767676"
55
+ },
56
+ "48": {
57
+ "value": "#7a7a7a"
58
+ },
59
+ "50": {
60
+ "value": "#808080",
61
+ "comment": "Base/Grey"
62
+ },
63
+ "70": {
64
+ "value": "#b3b3b3"
65
+ },
66
+ "82": {
67
+ "value": "#d1d1d1"
68
+ },
69
+ "84": {
70
+ "value": "#dbdbd3"
71
+ },
72
+ "87": {
73
+ "value": "#dddddd"
74
+ },
75
+ "90": {
76
+ "value": "#e6e6e6"
77
+ },
78
+ "94": {
79
+ "value": "#f2f3ee"
80
+ },
81
+ "95": {
82
+ "value": "#f2f2f2"
83
+ },
84
+ "97": {
85
+ "value": "#f7f7f7"
86
+ }
87
+ },
88
+ "lightgrey": {
89
+ "96": {
90
+ "value": "#f5f5f5",
91
+ "comment": "Base/LightGrey"
92
+ }
93
+ },
94
+ "white": {
95
+ "98": {
96
+ "value": "#fafafa"
97
+ },
98
+ "100": {
99
+ "value": "#ffffff",
100
+ "comment": "Base/White"
101
+ }
102
+ },
103
+ "black": {
104
+ "0": {
105
+ "value": "#000000",
106
+ "comment": "Base/Black"
107
+ },
108
+ "0-10t": {
109
+ "value": "#0000001a",
110
+ "comment": "Black with 10% transparency"
111
+ },
112
+ "0-60t": {
113
+ "value": "#00000099",
114
+ "comment": "Black with 60% transparency"
115
+ },
116
+ "0-75t": {
117
+ "value": "#000000bf",
118
+ "comment": "Black with 75% transparency"
119
+ },
120
+ "11": {
121
+ "value": "#1b1b1b"
122
+ },
123
+ "30": {
124
+ "value": "#4d4d4d"
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "vaals": {
3
+ "font-size": {
4
+ "4xs": {
5
+ "value": "0.625rem",
6
+ "comment": "10px"
7
+ },
8
+ "3xs": {
9
+ "value": "0.75rem",
10
+ "comment": "12px"
11
+ },
12
+ "2xs": {
13
+ "value": "0.875rem",
14
+ "comment": "14px"
15
+ },
16
+ "xs": {
17
+ "value": "1rem",
18
+ "comment": "16px"
19
+ },
20
+ "sm": {
21
+ "value": "1.125rem",
22
+ "comment": "18px"
23
+ },
24
+ "md": {
25
+ "value": "1.375rem",
26
+ "comment": "22px"
27
+ },
28
+ "lg": {
29
+ "value": "1.5rem",
30
+ "comment": "24px"
31
+ },
32
+ "xl": {
33
+ "value": "1.75rem",
34
+ "comment": "28px"
35
+ },
36
+ "2xl": {
37
+ "value": "3rem",
38
+ "comment": "48px"
39
+ },
40
+ "3xl": {
41
+ "value": "4.5rem",
42
+ "comment": "72px"
43
+ },
44
+ "4xl": {
45
+ "value": "5rem",
46
+ "comment": "80px"
47
+ },
48
+ "5xl": {
49
+ "value": "5.625rem",
50
+ "comment": "90px"
51
+ }
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "vaals": {
3
+ "size": {
4
+ "4xs": { "value": "1px" },
5
+ "3xs": { "value": "2px" },
6
+ "2xs": { "value": "4px" },
7
+ "xs": { "value": "8px" },
8
+ "sm": { "value": "14px" },
9
+ "md": { "value": "18px" },
10
+ "lg": { "value": "24px" },
11
+ "xl": { "value": "32px" },
12
+ "2xl": { "value": "48px" },
13
+ "3xl": { "value": "72px" },
14
+ "4xl": { "value": "96px" }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "vaals": {
3
+ "typography": {
4
+ "gt-walsheim": {
5
+ "font-family": {
6
+ "value": "\"GT Walsheim\", Helvetica, Arial, sans-serif"
7
+ }
8
+ },
9
+ "sans-serif": {
10
+ "font-family": {
11
+ "value": "\"GT Walsheim\", Helvetica, Arial, sans-serif"
12
+ }
13
+ },
14
+ "monospace": {
15
+ "font-family": {
16
+ "value": "Monospace, \"Lucida Console\""
17
+ }
18
+ },
19
+ "font-weight": {
20
+ "bold": { "value": "600" },
21
+ "semibold": { "value": "500" },
22
+ "normal": { "value": "400" },
23
+ "light": { "value": "300" }
24
+ },
25
+ "scale": {
26
+ "4xs": { "value": "{vaals.font-size.4xs}" },
27
+ "3xs": { "value": "{vaals.font-size.3xs}" },
28
+ "2xs": { "value": "{vaals.font-size.2xs}" },
29
+ "xs": { "value": "{vaals.font-size.xs}" },
30
+ "sm": { "value": "{vaals.font-size.sm}" },
31
+ "md": { "value": "{vaals.font-size.md}" },
32
+ "lg": { "value": "{vaals.font-size.lg}" },
33
+ "xl": { "value": "{vaals.font-size.xl}" },
34
+ "2xl": { "value": "{vaals.font-size.2xl}" },
35
+ "3xl": { "value": "{vaals.font-size.3xl}" },
36
+ "4xl": { "value": "{vaals.font-size.4xl}" }
37
+ }
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "utrecht": {
3
+ "action": {
4
+ "busy": { "cursor": { "value": "wait" } },
5
+ "disabled": { "cursor": { "value": "not-allowed" } },
6
+ "submit": { "cursor": { "value": "pointer" } }
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "utrecht": {
3
+ "space": {
4
+ "block": {
5
+ "3xs": { "value": "{vaals.size.3xs}" },
6
+ "2xs": { "value": "{vaals.size.2xs}" },
7
+ "xs": { "value": "{vaals.size.xs}" },
8
+ "sm": { "value": "{vaals.size.sm}" },
9
+ "md": { "value": "{vaals.size.md}" },
10
+ "lg": { "value": "{vaals.size.lg}" },
11
+ "xl": { "value": "{vaals.size.xl}" },
12
+ "2xl": { "value": "{vaals.size.2xl}" },
13
+ "3xl": { "value": "{vaals.size.3xl}" }
14
+ },
15
+ "inline": {
16
+ "3xs": { "value": "{vaals.size.3xs}" },
17
+ "2xs": { "value": "{vaals.size.2xs}" },
18
+ "xs": { "value": "{vaals.size.xs}" },
19
+ "sm": { "value": "{vaals.size.sm}" },
20
+ "md": { "value": "{vaals.size.md}" },
21
+ "lg": { "value": "{vaals.size.lg}" },
22
+ "xl": { "value": "{vaals.size.xl}" },
23
+ "2xl": { "value": "{vaals.size.2xl}" },
24
+ "3xl": { "value": "{vaals.size.3xl}" }
25
+ }
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "conduction": {
3
+ "card-header": {
4
+ "background-color": {},
5
+ "border-bottom-width": {},
6
+ "border-bottom-style": {},
7
+ "border-bottom-color": {},
8
+ "color": { "value": "{utrecht.document.color}" },
9
+ "hover": {
10
+ "background-color": {},
11
+ "border-bottom-width": {},
12
+ "border-bottom-style": {},
13
+ "border-bottom-color": {}
14
+ },
15
+ "title": {
16
+ "color": { "value": "{vaals.color.primary}" },
17
+ "text-decoration": { "value": "underline" },
18
+ "text-underline-offset": {},
19
+ "hover": {
20
+ "color": { "value": "{vaals.color.primary}" },
21
+ "text-decoration": { "value": "underline" },
22
+ "text-underline-offset": {}
23
+ }
24
+ },
25
+ "date": {
26
+ "color": { "value": "{vaals.color.black.0}" },
27
+ "font-size": { "value": "{vaals.font-size.2xs}" },
28
+ "font-weight": { "value": "{vaals.typography.font-weight.light}" },
29
+ "font-style": {},
30
+ "margin-block-end": { "value": "{vaals.size.xs}" }
31
+ }
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "conduction": {
3
+ "card-wrapper": {
4
+ "background-color": { "value": "{vaals.color.white.100}" },
5
+ "border-color": {},
6
+ "border-style": {},
7
+ "border-width": {},
8
+ "border-bottom-color": {},
9
+ "border-bottom-style": {},
10
+ "border-bottom-width": {},
11
+ "border-radius": { "value": "0px" },
12
+ "transition": {},
13
+ "box-shadow": {},
14
+ "color": { "value": "{vaals.color.black.0}" },
15
+ "hover": {
16
+ "background-color": { "value": "{vaals.color.black.0-10t}" },
17
+ "color": {},
18
+ "border-color": {},
19
+ "border-style": {},
20
+ "border-width": {},
21
+ "border-bottom-color": {},
22
+ "border-bottom-style": {},
23
+ "border-bottom-width": {},
24
+ "border-radius": {},
25
+ "box-shadow": {}
26
+ },
27
+ "padding-inline-end": { "value": "11px" },
28
+ "padding-inline-start": { "value": "11px" },
29
+ "padding-block-end": { "value": "11px" },
30
+ "padding-block-start": { "value": "11px" }
31
+ }
32
+ }
33
+ }