chromonym 3.4.0 → 3.5.1

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 (54) hide show
  1. package/NOTICE.md +75 -0
  2. package/README.md +11 -5
  3. package/dist/conversions/hex.d.ts.map +1 -1
  4. package/dist/conversions/hsl.d.ts.map +1 -1
  5. package/dist/conversions/hsv.d.ts.map +1 -1
  6. package/dist/conversions/pantone.d.ts.map +1 -1
  7. package/dist/conversions/rgb.d.ts.map +1 -1
  8. package/dist/convert.d.ts.map +1 -1
  9. package/dist/defineColorPalette.d.ts.map +1 -1
  10. package/dist/detectFormat.d.ts.map +1 -1
  11. package/dist/identify.d.ts.map +1 -1
  12. package/dist/index.d.ts +4 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +4 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/indexing.d.ts.map +1 -1
  17. package/dist/math/clamp.d.ts.map +1 -1
  18. package/dist/math/colorSpace.d.ts.map +1 -1
  19. package/dist/math/deltaE.d.ts.map +1 -1
  20. package/dist/math/editDistance.d.ts.map +1 -1
  21. package/dist/math/euclideanDistance.d.ts.map +1 -1
  22. package/dist/math/hueSector.d.ts.map +1 -1
  23. package/dist/palettes/crayola.d.ts.map +1 -1
  24. package/dist/palettes/fs595b.d.ts.map +1 -1
  25. package/dist/palettes/fs595c.d.ts.map +1 -1
  26. package/dist/palettes/isccNbs.d.ts.map +1 -1
  27. package/dist/palettes/nbs.d.ts.map +1 -1
  28. package/dist/palettes/ncs.d.ts.map +1 -1
  29. package/dist/palettes/normalize.d.ts.map +1 -1
  30. package/dist/palettes/ntc.d.ts.map +1 -1
  31. package/dist/palettes/pantone.d.ts.map +1 -1
  32. package/dist/palettes/pokemon.d.ts +81 -0
  33. package/dist/palettes/pokemon.d.ts.map +1 -0
  34. package/dist/palettes/pokemon.js +64 -0
  35. package/dist/palettes/pokemon.js.map +1 -0
  36. package/dist/palettes/ral.d.ts +480 -0
  37. package/dist/palettes/ral.d.ts.map +1 -0
  38. package/dist/palettes/ral.js +271 -0
  39. package/dist/palettes/ral.js.map +1 -0
  40. package/dist/palettes/resene.d.ts.map +1 -1
  41. package/dist/palettes/tailwind.d.ts +539 -0
  42. package/dist/palettes/tailwind.d.ts.map +1 -0
  43. package/dist/palettes/tailwind.js +317 -0
  44. package/dist/palettes/tailwind.js.map +1 -0
  45. package/dist/palettes/web.d.ts.map +1 -1
  46. package/dist/palettes/werner.d.ts +270 -0
  47. package/dist/palettes/werner.d.ts.map +1 -0
  48. package/dist/palettes/werner.js +168 -0
  49. package/dist/palettes/werner.js.map +1 -0
  50. package/dist/palettes/x11.d.ts.map +1 -1
  51. package/dist/palettes/xkcd.d.ts.map +1 -1
  52. package/dist/resolve.d.ts.map +1 -1
  53. package/dist/types.d.ts.map +1 -1
  54. package/package.json +44 -17
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Werner's Nomenclature of Colours (1821) — Patrick Syme's adaptation of
3
+ * Abraham Werner's mineralogical color system, famously the reference
4
+ * Charles Darwin carried aboard HMS Beagle.
5
+ *
6
+ * 110 named pigments organized into ten classes (Whites, Greys, Blacks,
7
+ * Blues, Purples, Greens, Yellows, Oranges, Reds, Browns). Each name is
8
+ * a piece of natural-history vocabulary: animal/vegetable/mineral
9
+ * exemplars rather than abstract color labels (`'Lake Red'` is named
10
+ * for the dark spot on a ladybird; `'Verdigris Green'` for the patina
11
+ * on weathered copper).
12
+ *
13
+ * Keys are Title Case ('Snow White', 'Berlin Blue', 'Tile Red') matching
14
+ * the 1821 typography. `standardNormalize` strips case and punctuation
15
+ * on input, so `resolve('snow-white')`, `resolve('SNOW WHITE')`, and
16
+ * `resolve('Snow White')` all hit the same entry.
17
+ *
18
+ * sRGB values are taken from Nicholas Rougeux's CC-BY digitization at
19
+ * <https://www.c82.net/werner/>, which photographed and sampled the
20
+ * original chip swatches. See NOTICE.md for attribution and license.
21
+ *
22
+ * Default metric: `deltaE2000`. The palette is mostly muted earth tones
23
+ * and pigment darks; subtle perceptual distinctions matter more than
24
+ * the cheap-fast ΔE76 can resolve.
25
+ */
26
+ declare const wernerColors: {
27
+ readonly 'Snow White': '#f1e9cd';
28
+ readonly 'Reddish White': '#f2e7cf';
29
+ readonly 'Purplish White': '#ece6d0';
30
+ readonly 'Yellowish White': '#f2eacc';
31
+ readonly 'Orange coloured White': '#f3e9ca';
32
+ readonly 'Greenish White': '#f2ebcd';
33
+ readonly 'Skimmed milk White': '#e6e1c9';
34
+ readonly 'Greyish White': '#e2ddc6';
35
+ readonly 'Ash Grey': '#cbc8b7';
36
+ readonly 'Smoke Grey': '#bfbbb0';
37
+ readonly 'French Grey': '#bebeb3';
38
+ readonly 'Pearl Grey': '#b7b5ac';
39
+ readonly 'Yellowish Grey': '#bab191';
40
+ readonly 'Bluish Grey': '#9c9d9a';
41
+ readonly 'Greenish Grey': '#8a8d84';
42
+ readonly 'Blackish Grey': '#5b5c61';
43
+ readonly 'Greyish Black': '#555152';
44
+ readonly 'Bluish Black': '#413f44';
45
+ readonly 'Greenish Black': '#454445';
46
+ readonly 'Pitch or Brownish Black': '#423937';
47
+ readonly 'Reddish Black': '#433635';
48
+ readonly 'Ink Black': '#252024';
49
+ readonly 'Velvet Black': '#241f20';
50
+ readonly 'Scotch Blue': '#281f3f';
51
+ readonly 'Prussian Blue': '#1c1949';
52
+ readonly 'Indigo Blue': '#4f638d';
53
+ readonly 'China Blue': '#383867';
54
+ readonly 'Azure Blue': '#5c6b8f';
55
+ readonly 'Ultramarine Blue': '#657abb';
56
+ readonly 'Flax-Flower Blue': '#6f88af';
57
+ readonly 'Berlin Blue': '#7994b5';
58
+ readonly 'Verditter Blue': '#6fb5a8';
59
+ readonly 'Greenish Blue': '#719ba2';
60
+ readonly 'Greyish Blue': '#8aa1a6';
61
+ readonly 'Bluish Lilac Purple': '#d0d5d3';
62
+ readonly 'Bluish Purple': '#8590ae';
63
+ readonly 'Violet Purple': '#3a2f52';
64
+ readonly 'Pansy Purple': '#39334a';
65
+ readonly 'Campanula Purple': '#6c6d94';
66
+ readonly 'Imperial Purple': '#584c77';
67
+ readonly 'Auricula Purple': '#533552';
68
+ readonly 'Plum Purple': '#463759';
69
+ readonly 'Red Lilac Purple': '#bfbac0';
70
+ readonly 'Lavender Purple': '#77747f';
71
+ readonly 'Pale Blackish Purple': '#4a475c';
72
+ readonly 'Celadine Green': '#b8bfaf';
73
+ readonly 'Mountain Green': '#b2b599';
74
+ readonly 'Leek Green': '#979c84';
75
+ readonly 'Blackish Green': '#5d6161';
76
+ readonly 'Verdigris Green': '#61ac86';
77
+ readonly 'Bluish Green': '#a4b6a7';
78
+ readonly 'Apple Green': '#adba98';
79
+ readonly 'Emerald Green': '#93b778';
80
+ readonly 'Grass Green': '#7d8c55';
81
+ readonly 'Duck Green': '#33431e';
82
+ readonly 'Sap Green': '#7c8635';
83
+ readonly 'Pistachio Green': '#8e9849';
84
+ readonly 'Asparagus Green': '#c2c190';
85
+ readonly 'Olive Green': '#67765b';
86
+ readonly 'Oil Green': '#ab924b';
87
+ readonly 'Siskin Green': '#c8c76f';
88
+ readonly 'Sulphur Yellow': '#ccc050';
89
+ readonly 'Primrose Yellow': '#ebdd99';
90
+ readonly 'Wax Yellow': '#ab9649';
91
+ readonly 'Lemon Yellow': '#dbc364';
92
+ readonly 'Gamboge Yellow': '#e6d058';
93
+ readonly 'Kings Yellow': '#ead665';
94
+ readonly 'Saffron Yellow': '#d09b2c';
95
+ readonly 'Gallstone Yellow': '#a36629';
96
+ readonly 'Honey Yellow': '#a77d35';
97
+ readonly 'Straw Yellow': '#f0d696';
98
+ readonly 'Wine Yellow': '#d7c485';
99
+ readonly 'Sienna Yellow': '#f1d28c';
100
+ readonly 'Ochre Yellow': '#efcc83';
101
+ readonly 'Cream Yellow': '#f3daa7';
102
+ readonly 'Dutch Orange': '#dfa837';
103
+ readonly 'Buff Orange': '#ebbc71';
104
+ readonly 'Orpiment Orange': '#d17c3f';
105
+ readonly 'Brownish Orange': '#92462f';
106
+ readonly 'Reddish Orange': '#be7249';
107
+ readonly 'Deep Reddish Orange': '#bb603c';
108
+ readonly 'Tile Red': '#c76b4a';
109
+ readonly 'Hyacinth Red': '#a75536';
110
+ readonly 'Scarlet Red': '#b63e36';
111
+ readonly 'Vermilion Red': '#b5493a';
112
+ readonly 'Aurora Red': '#cd6d57';
113
+ readonly 'Arterial Blood Red': '#711518';
114
+ readonly 'Flesh Red': '#e9c49d';
115
+ readonly 'Rose Red': '#eedac3';
116
+ readonly 'Peach Blossom Red': '#eecfbf';
117
+ readonly 'Carmine Red': '#ce536b';
118
+ readonly 'Lake Red': '#b74a70';
119
+ readonly 'Crimson Red': '#b7757c';
120
+ readonly 'Purplish Red': '#612741';
121
+ readonly 'Cochineal Red': '#7a4848';
122
+ readonly 'Veinous Blood Red': '#3f3033';
123
+ readonly 'Brownish Purple Red': '#8d746f';
124
+ readonly 'Chocolate Red': '#4d3635';
125
+ readonly 'Brownish Red': '#6e3b31';
126
+ readonly 'Deep Orange-coloured Brown': '#864735';
127
+ readonly 'Deep Reddish Brown': '#553d3a';
128
+ readonly 'Umber Brown': '#613936';
129
+ readonly 'Chestnut Brown': '#7a4b3a';
130
+ readonly 'Yellowish Brown': '#946943';
131
+ readonly 'Wood Brown': '#c39e6d';
132
+ readonly 'Liver Brown': '#513e32';
133
+ readonly 'Hair Brown': '#8b7859';
134
+ readonly 'Broccoli Brown': '#9b856b';
135
+ readonly 'Clove Brown': '#766051';
136
+ readonly 'Blackish Brown': '#453b32';
137
+ };
138
+ export type WernerColorName = keyof typeof wernerColors;
139
+ /**
140
+ * Werner's Nomenclature of Colours (1821) as a `Palette<WernerColorName>`.
141
+ *
142
+ * 110 entries spanning ten Werner classes (Whites → Browns). Keys are
143
+ * the original 1821 names ('Berlin Blue', 'Lake Red'). Default metric
144
+ * is `'deltaE2000'`: the palette's muted earth-tone distribution rewards
145
+ * perceptually uniform comparisons over fast Euclidean distance.
146
+ *
147
+ * @example
148
+ * identify('#1c1949', { palette: werner }); // 'Prussian Blue'
149
+ * resolve('Berlin Blue', { palette: werner }); // '#7994b5'
150
+ * werner.colors['Lake Red']; // '#b74a70'
151
+ */
152
+ export declare const werner: {
153
+ readonly name: 'werner';
154
+ readonly colors: {
155
+ readonly 'Snow White': '#f1e9cd';
156
+ readonly 'Reddish White': '#f2e7cf';
157
+ readonly 'Purplish White': '#ece6d0';
158
+ readonly 'Yellowish White': '#f2eacc';
159
+ readonly 'Orange coloured White': '#f3e9ca';
160
+ readonly 'Greenish White': '#f2ebcd';
161
+ readonly 'Skimmed milk White': '#e6e1c9';
162
+ readonly 'Greyish White': '#e2ddc6';
163
+ readonly 'Ash Grey': '#cbc8b7';
164
+ readonly 'Smoke Grey': '#bfbbb0';
165
+ readonly 'French Grey': '#bebeb3';
166
+ readonly 'Pearl Grey': '#b7b5ac';
167
+ readonly 'Yellowish Grey': '#bab191';
168
+ readonly 'Bluish Grey': '#9c9d9a';
169
+ readonly 'Greenish Grey': '#8a8d84';
170
+ readonly 'Blackish Grey': '#5b5c61';
171
+ readonly 'Greyish Black': '#555152';
172
+ readonly 'Bluish Black': '#413f44';
173
+ readonly 'Greenish Black': '#454445';
174
+ readonly 'Pitch or Brownish Black': '#423937';
175
+ readonly 'Reddish Black': '#433635';
176
+ readonly 'Ink Black': '#252024';
177
+ readonly 'Velvet Black': '#241f20';
178
+ readonly 'Scotch Blue': '#281f3f';
179
+ readonly 'Prussian Blue': '#1c1949';
180
+ readonly 'Indigo Blue': '#4f638d';
181
+ readonly 'China Blue': '#383867';
182
+ readonly 'Azure Blue': '#5c6b8f';
183
+ readonly 'Ultramarine Blue': '#657abb';
184
+ readonly 'Flax-Flower Blue': '#6f88af';
185
+ readonly 'Berlin Blue': '#7994b5';
186
+ readonly 'Verditter Blue': '#6fb5a8';
187
+ readonly 'Greenish Blue': '#719ba2';
188
+ readonly 'Greyish Blue': '#8aa1a6';
189
+ readonly 'Bluish Lilac Purple': '#d0d5d3';
190
+ readonly 'Bluish Purple': '#8590ae';
191
+ readonly 'Violet Purple': '#3a2f52';
192
+ readonly 'Pansy Purple': '#39334a';
193
+ readonly 'Campanula Purple': '#6c6d94';
194
+ readonly 'Imperial Purple': '#584c77';
195
+ readonly 'Auricula Purple': '#533552';
196
+ readonly 'Plum Purple': '#463759';
197
+ readonly 'Red Lilac Purple': '#bfbac0';
198
+ readonly 'Lavender Purple': '#77747f';
199
+ readonly 'Pale Blackish Purple': '#4a475c';
200
+ readonly 'Celadine Green': '#b8bfaf';
201
+ readonly 'Mountain Green': '#b2b599';
202
+ readonly 'Leek Green': '#979c84';
203
+ readonly 'Blackish Green': '#5d6161';
204
+ readonly 'Verdigris Green': '#61ac86';
205
+ readonly 'Bluish Green': '#a4b6a7';
206
+ readonly 'Apple Green': '#adba98';
207
+ readonly 'Emerald Green': '#93b778';
208
+ readonly 'Grass Green': '#7d8c55';
209
+ readonly 'Duck Green': '#33431e';
210
+ readonly 'Sap Green': '#7c8635';
211
+ readonly 'Pistachio Green': '#8e9849';
212
+ readonly 'Asparagus Green': '#c2c190';
213
+ readonly 'Olive Green': '#67765b';
214
+ readonly 'Oil Green': '#ab924b';
215
+ readonly 'Siskin Green': '#c8c76f';
216
+ readonly 'Sulphur Yellow': '#ccc050';
217
+ readonly 'Primrose Yellow': '#ebdd99';
218
+ readonly 'Wax Yellow': '#ab9649';
219
+ readonly 'Lemon Yellow': '#dbc364';
220
+ readonly 'Gamboge Yellow': '#e6d058';
221
+ readonly 'Kings Yellow': '#ead665';
222
+ readonly 'Saffron Yellow': '#d09b2c';
223
+ readonly 'Gallstone Yellow': '#a36629';
224
+ readonly 'Honey Yellow': '#a77d35';
225
+ readonly 'Straw Yellow': '#f0d696';
226
+ readonly 'Wine Yellow': '#d7c485';
227
+ readonly 'Sienna Yellow': '#f1d28c';
228
+ readonly 'Ochre Yellow': '#efcc83';
229
+ readonly 'Cream Yellow': '#f3daa7';
230
+ readonly 'Dutch Orange': '#dfa837';
231
+ readonly 'Buff Orange': '#ebbc71';
232
+ readonly 'Orpiment Orange': '#d17c3f';
233
+ readonly 'Brownish Orange': '#92462f';
234
+ readonly 'Reddish Orange': '#be7249';
235
+ readonly 'Deep Reddish Orange': '#bb603c';
236
+ readonly 'Tile Red': '#c76b4a';
237
+ readonly 'Hyacinth Red': '#a75536';
238
+ readonly 'Scarlet Red': '#b63e36';
239
+ readonly 'Vermilion Red': '#b5493a';
240
+ readonly 'Aurora Red': '#cd6d57';
241
+ readonly 'Arterial Blood Red': '#711518';
242
+ readonly 'Flesh Red': '#e9c49d';
243
+ readonly 'Rose Red': '#eedac3';
244
+ readonly 'Peach Blossom Red': '#eecfbf';
245
+ readonly 'Carmine Red': '#ce536b';
246
+ readonly 'Lake Red': '#b74a70';
247
+ readonly 'Crimson Red': '#b7757c';
248
+ readonly 'Purplish Red': '#612741';
249
+ readonly 'Cochineal Red': '#7a4848';
250
+ readonly 'Veinous Blood Red': '#3f3033';
251
+ readonly 'Brownish Purple Red': '#8d746f';
252
+ readonly 'Chocolate Red': '#4d3635';
253
+ readonly 'Brownish Red': '#6e3b31';
254
+ readonly 'Deep Orange-coloured Brown': '#864735';
255
+ readonly 'Deep Reddish Brown': '#553d3a';
256
+ readonly 'Umber Brown': '#613936';
257
+ readonly 'Chestnut Brown': '#7a4b3a';
258
+ readonly 'Yellowish Brown': '#946943';
259
+ readonly 'Wood Brown': '#c39e6d';
260
+ readonly 'Liver Brown': '#513e32';
261
+ readonly 'Hair Brown': '#8b7859';
262
+ readonly 'Broccoli Brown': '#9b856b';
263
+ readonly 'Clove Brown': '#766051';
264
+ readonly 'Blackish Brown': '#453b32';
265
+ };
266
+ readonly normalize: import("../types.js").NormalizeFn;
267
+ readonly defaultMetric: 'deltaE2000';
268
+ };
269
+ export {};
270
+ //# sourceMappingURL=werner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"werner.d.ts","sourceRoot":"","sources":["../../src/palettes/werner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import { standardNormalize } from './normalize.js';
2
+ /**
3
+ * Werner's Nomenclature of Colours (1821) — Patrick Syme's adaptation of
4
+ * Abraham Werner's mineralogical color system, famously the reference
5
+ * Charles Darwin carried aboard HMS Beagle.
6
+ *
7
+ * 110 named pigments organized into ten classes (Whites, Greys, Blacks,
8
+ * Blues, Purples, Greens, Yellows, Oranges, Reds, Browns). Each name is
9
+ * a piece of natural-history vocabulary: animal/vegetable/mineral
10
+ * exemplars rather than abstract color labels (`'Lake Red'` is named
11
+ * for the dark spot on a ladybird; `'Verdigris Green'` for the patina
12
+ * on weathered copper).
13
+ *
14
+ * Keys are Title Case ('Snow White', 'Berlin Blue', 'Tile Red') matching
15
+ * the 1821 typography. `standardNormalize` strips case and punctuation
16
+ * on input, so `resolve('snow-white')`, `resolve('SNOW WHITE')`, and
17
+ * `resolve('Snow White')` all hit the same entry.
18
+ *
19
+ * sRGB values are taken from Nicholas Rougeux's CC-BY digitization at
20
+ * <https://www.c82.net/werner/>, which photographed and sampled the
21
+ * original chip swatches. See NOTICE.md for attribution and license.
22
+ *
23
+ * Default metric: `deltaE2000`. The palette is mostly muted earth tones
24
+ * and pigment darks; subtle perceptual distinctions matter more than
25
+ * the cheap-fast ΔE76 can resolve.
26
+ */
27
+ const wernerColors = {
28
+ // --- Whites (#1-8) ---
29
+ 'Snow White': '#f1e9cd',
30
+ 'Reddish White': '#f2e7cf',
31
+ 'Purplish White': '#ece6d0',
32
+ 'Yellowish White': '#f2eacc',
33
+ 'Orange coloured White': '#f3e9ca',
34
+ 'Greenish White': '#f2ebcd',
35
+ 'Skimmed milk White': '#e6e1c9',
36
+ 'Greyish White': '#e2ddc6',
37
+ // --- Greys (#9-16) ---
38
+ 'Ash Grey': '#cbc8b7',
39
+ 'Smoke Grey': '#bfbbb0',
40
+ 'French Grey': '#bebeb3',
41
+ 'Pearl Grey': '#b7b5ac',
42
+ 'Yellowish Grey': '#bab191',
43
+ 'Bluish Grey': '#9c9d9a',
44
+ 'Greenish Grey': '#8a8d84',
45
+ 'Blackish Grey': '#5b5c61',
46
+ // --- Blacks (#17-23) ---
47
+ 'Greyish Black': '#555152',
48
+ 'Bluish Black': '#413f44',
49
+ 'Greenish Black': '#454445',
50
+ 'Pitch or Brownish Black': '#423937',
51
+ 'Reddish Black': '#433635',
52
+ 'Ink Black': '#252024',
53
+ 'Velvet Black': '#241f20',
54
+ // --- Blues (#24-34) ---
55
+ 'Scotch Blue': '#281f3f',
56
+ 'Prussian Blue': '#1c1949',
57
+ 'Indigo Blue': '#4f638d',
58
+ 'China Blue': '#383867',
59
+ 'Azure Blue': '#5c6b8f',
60
+ 'Ultramarine Blue': '#657abb',
61
+ 'Flax-Flower Blue': '#6f88af',
62
+ 'Berlin Blue': '#7994b5',
63
+ 'Verditter Blue': '#6fb5a8',
64
+ 'Greenish Blue': '#719ba2',
65
+ 'Greyish Blue': '#8aa1a6',
66
+ // --- Purples (#35-45) ---
67
+ 'Bluish Lilac Purple': '#d0d5d3',
68
+ 'Bluish Purple': '#8590ae',
69
+ 'Violet Purple': '#3a2f52',
70
+ 'Pansy Purple': '#39334a',
71
+ 'Campanula Purple': '#6c6d94',
72
+ 'Imperial Purple': '#584c77',
73
+ 'Auricula Purple': '#533552',
74
+ 'Plum Purple': '#463759',
75
+ 'Red Lilac Purple': '#bfbac0',
76
+ 'Lavender Purple': '#77747f',
77
+ 'Pale Blackish Purple': '#4a475c',
78
+ // --- Greens (#46-61) ---
79
+ 'Celadine Green': '#b8bfaf',
80
+ 'Mountain Green': '#b2b599',
81
+ 'Leek Green': '#979c84',
82
+ 'Blackish Green': '#5d6161',
83
+ 'Verdigris Green': '#61ac86',
84
+ 'Bluish Green': '#a4b6a7',
85
+ 'Apple Green': '#adba98',
86
+ 'Emerald Green': '#93b778',
87
+ 'Grass Green': '#7d8c55',
88
+ 'Duck Green': '#33431e',
89
+ 'Sap Green': '#7c8635',
90
+ 'Pistachio Green': '#8e9849',
91
+ 'Asparagus Green': '#c2c190',
92
+ 'Olive Green': '#67765b',
93
+ 'Oil Green': '#ab924b',
94
+ 'Siskin Green': '#c8c76f',
95
+ // --- Yellows (#62-75) ---
96
+ 'Sulphur Yellow': '#ccc050',
97
+ 'Primrose Yellow': '#ebdd99',
98
+ 'Wax Yellow': '#ab9649',
99
+ 'Lemon Yellow': '#dbc364',
100
+ 'Gamboge Yellow': '#e6d058',
101
+ 'Kings Yellow': '#ead665',
102
+ 'Saffron Yellow': '#d09b2c',
103
+ 'Gallstone Yellow': '#a36629',
104
+ 'Honey Yellow': '#a77d35',
105
+ 'Straw Yellow': '#f0d696',
106
+ 'Wine Yellow': '#d7c485',
107
+ 'Sienna Yellow': '#f1d28c',
108
+ 'Ochre Yellow': '#efcc83',
109
+ 'Cream Yellow': '#f3daa7',
110
+ // --- Oranges (#76-81) ---
111
+ 'Dutch Orange': '#dfa837',
112
+ 'Buff Orange': '#ebbc71',
113
+ 'Orpiment Orange': '#d17c3f',
114
+ 'Brownish Orange': '#92462f',
115
+ 'Reddish Orange': '#be7249',
116
+ 'Deep Reddish Orange': '#bb603c',
117
+ // --- Reds (#82-99) ---
118
+ 'Tile Red': '#c76b4a',
119
+ 'Hyacinth Red': '#a75536',
120
+ 'Scarlet Red': '#b63e36',
121
+ 'Vermilion Red': '#b5493a',
122
+ 'Aurora Red': '#cd6d57',
123
+ 'Arterial Blood Red': '#711518',
124
+ 'Flesh Red': '#e9c49d',
125
+ 'Rose Red': '#eedac3',
126
+ 'Peach Blossom Red': '#eecfbf',
127
+ 'Carmine Red': '#ce536b',
128
+ 'Lake Red': '#b74a70',
129
+ 'Crimson Red': '#b7757c',
130
+ 'Purplish Red': '#612741',
131
+ 'Cochineal Red': '#7a4848',
132
+ 'Veinous Blood Red': '#3f3033',
133
+ 'Brownish Purple Red': '#8d746f',
134
+ 'Chocolate Red': '#4d3635',
135
+ 'Brownish Red': '#6e3b31',
136
+ // --- Browns (#100-110) ---
137
+ 'Deep Orange-coloured Brown': '#864735',
138
+ 'Deep Reddish Brown': '#553d3a',
139
+ 'Umber Brown': '#613936',
140
+ 'Chestnut Brown': '#7a4b3a',
141
+ 'Yellowish Brown': '#946943',
142
+ 'Wood Brown': '#c39e6d',
143
+ 'Liver Brown': '#513e32',
144
+ 'Hair Brown': '#8b7859',
145
+ 'Broccoli Brown': '#9b856b',
146
+ 'Clove Brown': '#766051',
147
+ 'Blackish Brown': '#453b32',
148
+ };
149
+ /**
150
+ * Werner's Nomenclature of Colours (1821) as a `Palette<WernerColorName>`.
151
+ *
152
+ * 110 entries spanning ten Werner classes (Whites → Browns). Keys are
153
+ * the original 1821 names ('Berlin Blue', 'Lake Red'). Default metric
154
+ * is `'deltaE2000'`: the palette's muted earth-tone distribution rewards
155
+ * perceptually uniform comparisons over fast Euclidean distance.
156
+ *
157
+ * @example
158
+ * identify('#1c1949', { palette: werner }); // 'Prussian Blue'
159
+ * resolve('Berlin Blue', { palette: werner }); // '#7994b5'
160
+ * werner.colors['Lake Red']; // '#b74a70'
161
+ */
162
+ export const werner = {
163
+ name: 'werner',
164
+ colors: wernerColors,
165
+ normalize: standardNormalize,
166
+ defaultMetric: 'deltaE2000',
167
+ };
168
+ //# sourceMappingURL=werner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"werner.js","sourceRoot":"","sources":["../../src/palettes/werner.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Palette } from '../types.js';\nimport { standardNormalize } from './normalize.js';\n\n/**\n * Werner's Nomenclature of Colours (1821) — Patrick Syme's adaptation of\n * Abraham Werner's mineralogical color system, famously the reference\n * Charles Darwin carried aboard HMS Beagle.\n *\n * 110 named pigments organized into ten classes (Whites, Greys, Blacks,\n * Blues, Purples, Greens, Yellows, Oranges, Reds, Browns). Each name is\n * a piece of natural-history vocabulary: animal/vegetable/mineral\n * exemplars rather than abstract color labels (`'Lake Red'` is named\n * for the dark spot on a ladybird; `'Verdigris Green'` for the patina\n * on weathered copper).\n *\n * Keys are Title Case ('Snow White', 'Berlin Blue', 'Tile Red') matching\n * the 1821 typography. `standardNormalize` strips case and punctuation\n * on input, so `resolve('snow-white')`, `resolve('SNOW WHITE')`, and\n * `resolve('Snow White')` all hit the same entry.\n *\n * sRGB values are taken from Nicholas Rougeux's CC-BY digitization at\n * <https://www.c82.net/werner/>, which photographed and sampled the\n * original chip swatches. See NOTICE.md for attribution and license.\n *\n * Default metric: `deltaE2000`. The palette is mostly muted earth tones\n * and pigment darks; subtle perceptual distinctions matter more than\n * the cheap-fast ΔE76 can resolve.\n */\nconst wernerColors = {\n // --- Whites (#1-8) ---\n 'Snow White': '#f1e9cd',\n 'Reddish White': '#f2e7cf',\n 'Purplish White': '#ece6d0',\n 'Yellowish White': '#f2eacc',\n 'Orange coloured White': '#f3e9ca',\n 'Greenish White': '#f2ebcd',\n 'Skimmed milk White': '#e6e1c9',\n 'Greyish White': '#e2ddc6',\n // --- Greys (#9-16) ---\n 'Ash Grey': '#cbc8b7',\n 'Smoke Grey': '#bfbbb0',\n 'French Grey': '#bebeb3',\n 'Pearl Grey': '#b7b5ac',\n 'Yellowish Grey': '#bab191',\n 'Bluish Grey': '#9c9d9a',\n 'Greenish Grey': '#8a8d84',\n 'Blackish Grey': '#5b5c61',\n // --- Blacks (#17-23) ---\n 'Greyish Black': '#555152',\n 'Bluish Black': '#413f44',\n 'Greenish Black': '#454445',\n 'Pitch or Brownish Black': '#423937',\n 'Reddish Black': '#433635',\n 'Ink Black': '#252024',\n 'Velvet Black': '#241f20',\n // --- Blues (#24-34) ---\n 'Scotch Blue': '#281f3f',\n 'Prussian Blue': '#1c1949',\n 'Indigo Blue': '#4f638d',\n 'China Blue': '#383867',\n 'Azure Blue': '#5c6b8f',\n 'Ultramarine Blue': '#657abb',\n 'Flax-Flower Blue': '#6f88af',\n 'Berlin Blue': '#7994b5',\n 'Verditter Blue': '#6fb5a8',\n 'Greenish Blue': '#719ba2',\n 'Greyish Blue': '#8aa1a6',\n // --- Purples (#35-45) ---\n 'Bluish Lilac Purple': '#d0d5d3',\n 'Bluish Purple': '#8590ae',\n 'Violet Purple': '#3a2f52',\n 'Pansy Purple': '#39334a',\n 'Campanula Purple': '#6c6d94',\n 'Imperial Purple': '#584c77',\n 'Auricula Purple': '#533552',\n 'Plum Purple': '#463759',\n 'Red Lilac Purple': '#bfbac0',\n 'Lavender Purple': '#77747f',\n 'Pale Blackish Purple': '#4a475c',\n // --- Greens (#46-61) ---\n 'Celadine Green': '#b8bfaf',\n 'Mountain Green': '#b2b599',\n 'Leek Green': '#979c84',\n 'Blackish Green': '#5d6161',\n 'Verdigris Green': '#61ac86',\n 'Bluish Green': '#a4b6a7',\n 'Apple Green': '#adba98',\n 'Emerald Green': '#93b778',\n 'Grass Green': '#7d8c55',\n 'Duck Green': '#33431e',\n 'Sap Green': '#7c8635',\n 'Pistachio Green': '#8e9849',\n 'Asparagus Green': '#c2c190',\n 'Olive Green': '#67765b',\n 'Oil Green': '#ab924b',\n 'Siskin Green': '#c8c76f',\n // --- Yellows (#62-75) ---\n 'Sulphur Yellow': '#ccc050',\n 'Primrose Yellow': '#ebdd99',\n 'Wax Yellow': '#ab9649',\n 'Lemon Yellow': '#dbc364',\n 'Gamboge Yellow': '#e6d058',\n 'Kings Yellow': '#ead665',\n 'Saffron Yellow': '#d09b2c',\n 'Gallstone Yellow': '#a36629',\n 'Honey Yellow': '#a77d35',\n 'Straw Yellow': '#f0d696',\n 'Wine Yellow': '#d7c485',\n 'Sienna Yellow': '#f1d28c',\n 'Ochre Yellow': '#efcc83',\n 'Cream Yellow': '#f3daa7',\n // --- Oranges (#76-81) ---\n 'Dutch Orange': '#dfa837',\n 'Buff Orange': '#ebbc71',\n 'Orpiment Orange': '#d17c3f',\n 'Brownish Orange': '#92462f',\n 'Reddish Orange': '#be7249',\n 'Deep Reddish Orange': '#bb603c',\n // --- Reds (#82-99) ---\n 'Tile Red': '#c76b4a',\n 'Hyacinth Red': '#a75536',\n 'Scarlet Red': '#b63e36',\n 'Vermilion Red': '#b5493a',\n 'Aurora Red': '#cd6d57',\n 'Arterial Blood Red': '#711518',\n 'Flesh Red': '#e9c49d',\n 'Rose Red': '#eedac3',\n 'Peach Blossom Red': '#eecfbf',\n 'Carmine Red': '#ce536b',\n 'Lake Red': '#b74a70',\n 'Crimson Red': '#b7757c',\n 'Purplish Red': '#612741',\n 'Cochineal Red': '#7a4848',\n 'Veinous Blood Red': '#3f3033',\n 'Brownish Purple Red': '#8d746f',\n 'Chocolate Red': '#4d3635',\n 'Brownish Red': '#6e3b31',\n // --- Browns (#100-110) ---\n 'Deep Orange-coloured Brown': '#864735',\n 'Deep Reddish Brown': '#553d3a',\n 'Umber Brown': '#613936',\n 'Chestnut Brown': '#7a4b3a',\n 'Yellowish Brown': '#946943',\n 'Wood Brown': '#c39e6d',\n 'Liver Brown': '#513e32',\n 'Hair Brown': '#8b7859',\n 'Broccoli Brown': '#9b856b',\n 'Clove Brown': '#766051',\n 'Blackish Brown': '#453b32',\n} as const;\n\nexport type WernerColorName = keyof typeof wernerColors;\n\n/**\n * Werner's Nomenclature of Colours (1821) as a `Palette<WernerColorName>`.\n *\n * 110 entries spanning ten Werner classes (Whites → Browns). Keys are\n * the original 1821 names ('Berlin Blue', 'Lake Red'). Default metric\n * is `'deltaE2000'`: the palette's muted earth-tone distribution rewards\n * perceptually uniform comparisons over fast Euclidean distance.\n *\n * @example\n * identify('#1c1949', { palette: werner }); // 'Prussian Blue'\n * resolve('Berlin Blue', { palette: werner }); // '#7994b5'\n * werner.colors['Lake Red']; // '#b74a70'\n */\nexport const werner = {\n name: 'werner',\n colors: wernerColors,\n normalize: standardNormalize,\n defaultMetric: 'deltaE2000',\n} as const satisfies Palette<WernerColorName>;\n"]}