@humanforest/tokens 0.1.0
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.
- package/LICENSE +67 -0
- package/dataviz/dataviz.css +149 -0
- package/dataviz/tokens.json +1591 -0
- package/dataviz/unovis.css +151 -0
- package/deck/deck.css +515 -0
- package/deck/deck.json +358 -0
- package/geo/london-boroughs.json +1 -0
- package/geo/london-dots-coarse.json +1 -0
- package/geo/london-dots-fine.json +1 -0
- package/geo/london-dots-medium.json +1 -0
- package/geo/london-dots-ultra.json +1 -0
- package/geo/london-wards.json +1 -0
- package/glyphs/glyphs.json +1 -0
- package/logos/f-rot.svg +4 -0
- package/logos/f.svg +4 -0
- package/logos/favicon-c2w.svg +9 -0
- package/logos/favicon-console.svg +9 -0
- package/logos/favicon-ds.svg +9 -0
- package/logos/favicon-fleet.svg +9 -0
- package/logos/favicon-flex.svg +9 -0
- package/logos/favicon-plus.svg +9 -0
- package/logos/favicon-radar.svg +9 -0
- package/logos/favicon-tower.svg +9 -0
- package/logos/lockup-horizontal.svg +17 -0
- package/logos/lockup-vertical.svg +17 -0
- package/logos/mark-mono.svg +4 -0
- package/logos/mark.svg +7 -0
- package/logos/wordmark.svg +9 -0
- package/motion/motion.css +104 -0
- package/motion/motion.json +85 -0
- package/motion/motion.theme.css +16 -0
- package/package.json +50 -0
- package/scales/ramps.css +182 -0
- package/scales/ramps.json +605 -0
- package/scales/theme.css +256 -0
- package/src/colourEngine.ts +604 -0
- package/src/glyphs.ts +127 -0
- package/src/logo.ts +50 -0
- package/src/subbrands.ts +44 -0
- package/src/sublogo.ts +80 -0
- package/src/sublogoSvg.ts +134 -0
- package/type/type.css +232 -0
- package/type/type.deck.css +74 -0
- package/type/type.json +548 -0
- package/type/type.theme.css +31 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Forest Design System — Licence
|
|
2
|
+
Copyright (c) 2026 HumanForest Ltd. All rights reserved.
|
|
3
|
+
|
|
4
|
+
This software is published openly so that people building Forest products can install it
|
|
5
|
+
without access to its source repository. It is not open-source software.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
1. GRANT
|
|
9
|
+
|
|
10
|
+
You may install, use, copy and modify this software, and incorporate it into applications,
|
|
11
|
+
prototypes, documents and presentations, for the purpose of building or operating Forest
|
|
12
|
+
products, services and communications.
|
|
13
|
+
|
|
14
|
+
This grant is free of charge and requires no separate agreement. It runs to anyone who
|
|
15
|
+
obtains the software from a public registry.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
2. RESERVED
|
|
19
|
+
|
|
20
|
+
All rights not granted above are reserved. In particular, you may not:
|
|
21
|
+
|
|
22
|
+
(a) redistribute this software, modified or unmodified, as a design system, component
|
|
23
|
+
library, template or theme of your own;
|
|
24
|
+
|
|
25
|
+
(b) use the HumanForest and Forest names, logos, wordmarks, sub-brand marks or any
|
|
26
|
+
confusingly similar mark. Nothing here grants any trademark right. The brand marks
|
|
27
|
+
included in these packages are provided to render Forest's own products correctly,
|
|
28
|
+
not as artwork you may adopt;
|
|
29
|
+
|
|
30
|
+
(c) represent your product as being made, endorsed or approved by HumanForest.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
3. THIRD-PARTY MATERIAL
|
|
34
|
+
|
|
35
|
+
Parts of these packages are not HumanForest's to license, and the grant in section 1 does
|
|
36
|
+
not extend to them. Each keeps its own terms:
|
|
37
|
+
|
|
38
|
+
TYPEFACES — Mohr and GT Haptik are licensed to HumanForest by their foundries and are NOT
|
|
39
|
+
sublicensed to you. No font binary is included in any published package. The stylesheets
|
|
40
|
+
reference https://assets.forest.bike/fonts/, which serves them to those entitled to use
|
|
41
|
+
them. If you are not covered by Forest's licences, substitute your own faces. JetBrains
|
|
42
|
+
Mono is licensed under the SIL Open Font License 1.1 and may be used under those terms.
|
|
43
|
+
|
|
44
|
+
GLYPH OUTLINES — packages/tokens ships `glyphs/glyphs.json`, letterforms of the above
|
|
45
|
+
typefaces outlined as vector paths so sub-brand lockups can be composed at runtime. It is
|
|
46
|
+
covered by the same foundry terms as the typefaces themselves, not by section 1.
|
|
47
|
+
|
|
48
|
+
DEVICE ARTWORK — packages/frames ships device renders from Wikimedia Commons under the
|
|
49
|
+
Creative Commons Attribution-ShareAlike 4.0 International licence
|
|
50
|
+
(https://creativecommons.org/licenses/by-sa/4.0/). They are unmodified. Attribution is a
|
|
51
|
+
condition of that licence: see ATTRIBUTION.md in that package, and keep it with the art
|
|
52
|
+
wherever the art travels. Works derived from the artwork must themselves be CC BY-SA 4.0.
|
|
53
|
+
|
|
54
|
+
DEPENDENCIES — third-party packages installed alongside these keep their own licences.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
4. NO WARRANTY
|
|
58
|
+
|
|
59
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
60
|
+
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
61
|
+
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
|
62
|
+
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
63
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
64
|
+
DEALINGS IN THE SOFTWARE.
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
Questions about use beyond this grant: design@forest.bike
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/* Forest data-visualization palette — generated by scripts/dataviz.ts. Do not edit by hand. */
|
|
2
|
+
/* Three categorical variants: -safe- = the 6-colour brand-led CVD-safe set (the default, on
|
|
3
|
+
--vis-color0..5); -vivid- = vivid 12 (first 6 = curated 6, label-dependent, NOT CVD-safe); -pairs- =
|
|
4
|
+
brand pairs (3 hues × deep/soft, brand-forward, NOT CVD-safe). All flip light/dark. Sequential:
|
|
5
|
+
invert stop order in dark mode. Diverging: darken the centre stop in dark mode. */
|
|
6
|
+
:root {
|
|
7
|
+
--dataviz-categorical-safe-1: #009d7c;
|
|
8
|
+
--dataviz-categorical-safe-2: #cc7044;
|
|
9
|
+
--dataviz-categorical-safe-3: #617de6;
|
|
10
|
+
--dataviz-categorical-safe-4: #b0175f;
|
|
11
|
+
--dataviz-categorical-safe-5: #8a34ab;
|
|
12
|
+
--dataviz-categorical-safe-6: #5b6c00;
|
|
13
|
+
--dataviz-categorical-vivid-green: #00a447;
|
|
14
|
+
--dataviz-categorical-vivid-amber: #da7600;
|
|
15
|
+
--dataviz-categorical-vivid-sky: #0084c8;
|
|
16
|
+
--dataviz-categorical-vivid-indigo: #4f39f6;
|
|
17
|
+
--dataviz-categorical-vivid-pink: #e30076;
|
|
18
|
+
--dataviz-categorical-vivid-red: #e40015;
|
|
19
|
+
--dataviz-categorical-vivid-emerald: #009669;
|
|
20
|
+
--dataviz-categorical-vivid-orange: #ec5600;
|
|
21
|
+
--dataviz-categorical-vivid-blue: #155dfc;
|
|
22
|
+
--dataviz-categorical-vivid-purple: #9810fa;
|
|
23
|
+
--dataviz-categorical-vivid-fuchsia: #c500da;
|
|
24
|
+
--dataviz-categorical-vivid-rose: #e60044;
|
|
25
|
+
--dataviz-categorical-pairs-forest-deep: #019f6d;
|
|
26
|
+
--dataviz-categorical-pairs-forest-soft: #3bd996;
|
|
27
|
+
--dataviz-categorical-pairs-warm-deep: #db6300;
|
|
28
|
+
--dataviz-categorical-pairs-warm-soft: #feaf59;
|
|
29
|
+
--dataviz-categorical-pairs-river-deep: #3588df;
|
|
30
|
+
--dataviz-categorical-pairs-river-soft: #81c0ff;
|
|
31
|
+
--dataviz-sequential-forest-0: #dcffee;
|
|
32
|
+
--dataviz-sequential-forest-1: #bef9de;
|
|
33
|
+
--dataviz-sequential-forest-2: #99e8c5;
|
|
34
|
+
--dataviz-sequential-forest-3: #69d2a8;
|
|
35
|
+
--dataviz-sequential-forest-4: #30b889;
|
|
36
|
+
--dataviz-sequential-forest-5: #289c74;
|
|
37
|
+
--dataviz-sequential-forest-6: #208361;
|
|
38
|
+
--dataviz-sequential-forest-7: #186c4f;
|
|
39
|
+
--dataviz-sequential-forest-8: #11563e;
|
|
40
|
+
--dataviz-sequential-indigo-0: #f3f4fe;
|
|
41
|
+
--dataviz-sequential-indigo-1: #e6e8fd;
|
|
42
|
+
--dataviz-sequential-indigo-2: #ced0fc;
|
|
43
|
+
--dataviz-sequential-indigo-3: #b1b3f8;
|
|
44
|
+
--dataviz-sequential-indigo-4: #9494e8;
|
|
45
|
+
--dataviz-sequential-indigo-5: #7b78da;
|
|
46
|
+
--dataviz-sequential-indigo-6: #6763bb;
|
|
47
|
+
--dataviz-sequential-indigo-7: #54519b;
|
|
48
|
+
--dataviz-sequential-indigo-8: #43407b;
|
|
49
|
+
--dataviz-sequential-moss-0: #ffffe5;
|
|
50
|
+
--dataviz-sequential-moss-1: #f7fcb9;
|
|
51
|
+
--dataviz-sequential-moss-2: #d9f0a3;
|
|
52
|
+
--dataviz-sequential-moss-3: #addd8e;
|
|
53
|
+
--dataviz-sequential-moss-4: #78c679;
|
|
54
|
+
--dataviz-sequential-moss-5: #41ab5d;
|
|
55
|
+
--dataviz-sequential-moss-6: #238443;
|
|
56
|
+
--dataviz-sequential-moss-7: #006837;
|
|
57
|
+
--dataviz-sequential-moss-8: #004529;
|
|
58
|
+
--dataviz-sequential-cividis-0: #00204d;
|
|
59
|
+
--dataviz-sequential-cividis-1: #00336f;
|
|
60
|
+
--dataviz-sequential-cividis-2: #39486b;
|
|
61
|
+
--dataviz-sequential-cividis-3: #575d6d;
|
|
62
|
+
--dataviz-sequential-cividis-4: #707173;
|
|
63
|
+
--dataviz-sequential-cividis-5: #8a8779;
|
|
64
|
+
--dataviz-sequential-cividis-6: #a69d75;
|
|
65
|
+
--dataviz-sequential-cividis-7: #c4b56c;
|
|
66
|
+
--dataviz-sequential-cividis-8: #e4cf5b;
|
|
67
|
+
--dataviz-sequential-cividis-9: #ffea46;
|
|
68
|
+
--dataviz-sequential-viridis-0: #440154;
|
|
69
|
+
--dataviz-sequential-viridis-1: #482878;
|
|
70
|
+
--dataviz-sequential-viridis-2: #3e4a89;
|
|
71
|
+
--dataviz-sequential-viridis-3: #31688e;
|
|
72
|
+
--dataviz-sequential-viridis-4: #26828e;
|
|
73
|
+
--dataviz-sequential-viridis-5: #1f9e89;
|
|
74
|
+
--dataviz-sequential-viridis-6: #35b779;
|
|
75
|
+
--dataviz-sequential-viridis-7: #6dcd59;
|
|
76
|
+
--dataviz-sequential-viridis-8: #b4de2c;
|
|
77
|
+
--dataviz-sequential-viridis-9: #fde725;
|
|
78
|
+
--dataviz-sequential-magma-0: #000004;
|
|
79
|
+
--dataviz-sequential-magma-1: #1c1044;
|
|
80
|
+
--dataviz-sequential-magma-2: #4f127b;
|
|
81
|
+
--dataviz-sequential-magma-3: #812581;
|
|
82
|
+
--dataviz-sequential-magma-4: #b5367a;
|
|
83
|
+
--dataviz-sequential-magma-5: #e65164;
|
|
84
|
+
--dataviz-sequential-magma-6: #fb8861;
|
|
85
|
+
--dataviz-sequential-magma-7: #fec287;
|
|
86
|
+
--dataviz-sequential-magma-8: #fcfdbf;
|
|
87
|
+
--dataviz-diverging-forest-warm-0: #155e42;
|
|
88
|
+
--dataviz-diverging-forest-warm-1: #238862;
|
|
89
|
+
--dataviz-diverging-forest-warm-2: #38b484;
|
|
90
|
+
--dataviz-diverging-forest-warm-3: #69deac;
|
|
91
|
+
--dataviz-diverging-forest-warm-4: #f6ece8;
|
|
92
|
+
--dataviz-diverging-forest-warm-5: #fab18b;
|
|
93
|
+
--dataviz-diverging-forest-warm-6: #dc804f;
|
|
94
|
+
--dataviz-diverging-forest-warm-7: #b05925;
|
|
95
|
+
--dataviz-diverging-forest-warm-8: #7d3a11;
|
|
96
|
+
--dataviz-diverging-blue-orange-0: #12518d;
|
|
97
|
+
--dataviz-diverging-blue-orange-1: #3377be;
|
|
98
|
+
--dataviz-diverging-blue-orange-2: #5b9fe9;
|
|
99
|
+
--dataviz-diverging-blue-orange-3: #9dc8f9;
|
|
100
|
+
--dataviz-diverging-blue-orange-4: #f6ece8;
|
|
101
|
+
--dataviz-diverging-blue-orange-5: #fab18b;
|
|
102
|
+
--dataviz-diverging-blue-orange-6: #dc804f;
|
|
103
|
+
--dataviz-diverging-blue-orange-7: #b05925;
|
|
104
|
+
--dataviz-diverging-blue-orange-8: #7d3a11;
|
|
105
|
+
--dataviz-diverging-purple-green-0: #673682;
|
|
106
|
+
--dataviz-diverging-purple-green-1: #8e5bab;
|
|
107
|
+
--dataviz-diverging-purple-green-2: #b682d5;
|
|
108
|
+
--dataviz-diverging-purple-green-3: #ddaff9;
|
|
109
|
+
--dataviz-diverging-purple-green-4: #e8f1ec;
|
|
110
|
+
--dataviz-diverging-purple-green-5: #69deac;
|
|
111
|
+
--dataviz-diverging-purple-green-6: #38b484;
|
|
112
|
+
--dataviz-diverging-purple-green-7: #238862;
|
|
113
|
+
--dataviz-diverging-purple-green-8: #155e42;
|
|
114
|
+
--dataviz-diverging-red-blue-0: #b2182b;
|
|
115
|
+
--dataviz-diverging-red-blue-1: #d6604d;
|
|
116
|
+
--dataviz-diverging-red-blue-2: #f4a582;
|
|
117
|
+
--dataviz-diverging-red-blue-3: #fddbc7;
|
|
118
|
+
--dataviz-diverging-red-blue-4: #f7f7f7;
|
|
119
|
+
--dataviz-diverging-red-blue-5: #d1e5f0;
|
|
120
|
+
--dataviz-diverging-red-blue-6: #92c5de;
|
|
121
|
+
--dataviz-diverging-red-blue-7: #4393c3;
|
|
122
|
+
--dataviz-diverging-red-blue-8: #2166ac;
|
|
123
|
+
}
|
|
124
|
+
.dark {
|
|
125
|
+
--dataviz-categorical-safe-1: #029e72;
|
|
126
|
+
--dataviz-categorical-safe-2: #d46b01;
|
|
127
|
+
--dataviz-categorical-safe-3: #89b0ff;
|
|
128
|
+
--dataviz-categorical-safe-4: #ff9cb2;
|
|
129
|
+
--dataviz-categorical-safe-5: #a663ac;
|
|
130
|
+
--dataviz-categorical-safe-6: #becf68;
|
|
131
|
+
--dataviz-categorical-vivid-green: #05df72;
|
|
132
|
+
--dataviz-categorical-vivid-amber: #fabc00;
|
|
133
|
+
--dataviz-categorical-vivid-sky: #00bbfd;
|
|
134
|
+
--dataviz-categorical-vivid-indigo: #7d87ff;
|
|
135
|
+
--dataviz-categorical-vivid-pink: #fb64b6;
|
|
136
|
+
--dataviz-categorical-vivid-red: #ff6568;
|
|
137
|
+
--dataviz-categorical-vivid-emerald: #00d294;
|
|
138
|
+
--dataviz-categorical-vivid-orange: #ff8b1e;
|
|
139
|
+
--dataviz-categorical-vivid-blue: #56a2ff;
|
|
140
|
+
--dataviz-categorical-vivid-purple: #bf7eff;
|
|
141
|
+
--dataviz-categorical-vivid-fuchsia: #ec6dff;
|
|
142
|
+
--dataviz-categorical-vivid-rose: #ff6880;
|
|
143
|
+
--dataviz-categorical-pairs-forest-deep: #0abb7f;
|
|
144
|
+
--dataviz-categorical-pairs-forest-soft: #99e9bc;
|
|
145
|
+
--dataviz-categorical-pairs-warm-deep: #f48519;
|
|
146
|
+
--dataviz-categorical-pairs-warm-soft: #ffd6a6;
|
|
147
|
+
--dataviz-categorical-pairs-river-deep: #43a2ff;
|
|
148
|
+
--dataviz-categorical-pairs-river-soft: #b2d9ff;
|
|
149
|
+
}
|