@astryxdesign/theme-neutral 0.5.2 → 0.5.3

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.
@@ -0,0 +1,498 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ // Generated by astryx-oklch-v1. Review before committing.
4
+ // prettier-ignore
5
+ export const palette = {
6
+ "neutral": {
7
+ "name": "Neutral",
8
+ "light": {
9
+ "0": "#000000",
10
+ "5": "#111111",
11
+ "10": "#1b1b1b",
12
+ "15": "#262626",
13
+ "20": "#303030",
14
+ "25": "#3b3b3b",
15
+ "30": "#474747",
16
+ "35": "#525252",
17
+ "40": "#5e5e5e",
18
+ "45": "#6a6a6a",
19
+ "50": "#777777",
20
+ "55": "#848484",
21
+ "60": "#919191",
22
+ "65": "#9e9e9e",
23
+ "70": "#ababab",
24
+ "75": "#b9b9b9",
25
+ "80": "#c6c6c6",
26
+ "85": "#d4d4d4",
27
+ "90": "#e2e2e2",
28
+ "95": "#f1f1f1",
29
+ "100": "#ffffff"
30
+ },
31
+ "dark": {
32
+ "0": "#000000",
33
+ "5": "#111111",
34
+ "10": "#1b1b1b",
35
+ "15": "#262626",
36
+ "20": "#303030",
37
+ "25": "#3b3b3b",
38
+ "30": "#474747",
39
+ "35": "#525252",
40
+ "40": "#5e5e5e",
41
+ "45": "#6a6a6a",
42
+ "50": "#777777",
43
+ "55": "#848484",
44
+ "60": "#919191",
45
+ "65": "#9e9e9e",
46
+ "70": "#ababab",
47
+ "75": "#b9b9b9",
48
+ "80": "#c6c6c6",
49
+ "85": "#d4d4d4",
50
+ "90": "#e2e2e2",
51
+ "95": "#f1f1f1",
52
+ "100": "#ffffff"
53
+ }
54
+ },
55
+ "red": {
56
+ "name": "Red",
57
+ "light": {
58
+ "0": "#000000",
59
+ "5": "#2c0000",
60
+ "10": "#3e0002",
61
+ "15": "#500004",
62
+ "20": "#620008",
63
+ "25": "#76000c",
64
+ "30": "#8a0011",
65
+ "35": "#9e0015",
66
+ "40": "#af1320",
67
+ "45": "#c0262c",
68
+ "50": "#cf3738",
69
+ "55": "#de4745",
70
+ "60": "#ed5753",
71
+ "65": "#fa6762",
72
+ "70": "#ff7f77",
73
+ "75": "#ff9890",
74
+ "80": "#ffaea7",
75
+ "85": "#ffc4be",
76
+ "90": "#ffd8d4",
77
+ "95": "#ffece9",
78
+ "100": "#ffffff"
79
+ },
80
+ "dark": {
81
+ "0": "#000000",
82
+ "5": "#200908",
83
+ "10": "#2f1110",
84
+ "15": "#3d1917",
85
+ "20": "#4c221f",
86
+ "25": "#5b2b28",
87
+ "30": "#6b3431",
88
+ "35": "#7e3c38",
89
+ "40": "#92423e",
90
+ "45": "#a84743",
91
+ "50": "#be4e49",
92
+ "55": "#d15752",
93
+ "60": "#e1645e",
94
+ "65": "#ee736c",
95
+ "70": "#fb837b",
96
+ "75": "#ff9890",
97
+ "80": "#ffaea7",
98
+ "85": "#ffc4be",
99
+ "90": "#ffd8d4",
100
+ "95": "#ffece9",
101
+ "100": "#ffffff"
102
+ }
103
+ },
104
+ "orange": {
105
+ "name": "Orange",
106
+ "light": {
107
+ "0": "#000000",
108
+ "5": "#250500",
109
+ "10": "#340d00",
110
+ "15": "#431600",
111
+ "20": "#521f00",
112
+ "25": "#622700",
113
+ "30": "#733100",
114
+ "35": "#833a00",
115
+ "40": "#944400",
116
+ "45": "#a54f00",
117
+ "50": "#b45c00",
118
+ "55": "#c76600",
119
+ "60": "#d97000",
120
+ "65": "#e97e1d",
121
+ "70": "#f58d3a",
122
+ "75": "#ff9e55",
123
+ "80": "#ffb37e",
124
+ "85": "#ffc7a1",
125
+ "90": "#ffdac2",
126
+ "95": "#ffede1",
127
+ "100": "#ffffff"
128
+ },
129
+ "dark": {
130
+ "0": "#000000",
131
+ "5": "#1c0c05",
132
+ "10": "#29160d",
133
+ "15": "#362014",
134
+ "20": "#43291c",
135
+ "25": "#503424",
136
+ "30": "#603d2a",
137
+ "35": "#72462d",
138
+ "40": "#864f2c",
139
+ "45": "#9b5627",
140
+ "50": "#af5f1d",
141
+ "55": "#c2691b",
142
+ "60": "#d1762b",
143
+ "65": "#df843f",
144
+ "70": "#eb9352",
145
+ "75": "#f7a266",
146
+ "80": "#ffb37e",
147
+ "85": "#ffc7a1",
148
+ "90": "#ffdac2",
149
+ "95": "#ffede1",
150
+ "100": "#ffffff"
151
+ }
152
+ },
153
+ "yellow": {
154
+ "name": "Yellow",
155
+ "light": {
156
+ "0": "#000000",
157
+ "5": "#190f00",
158
+ "10": "#251a00",
159
+ "15": "#312400",
160
+ "20": "#3e2e00",
161
+ "25": "#4b3900",
162
+ "30": "#584400",
163
+ "35": "#664f00",
164
+ "40": "#745b00",
165
+ "45": "#836700",
166
+ "50": "#927300",
167
+ "55": "#a17f00",
168
+ "60": "#b18c00",
169
+ "65": "#c29900",
170
+ "70": "#d2a700",
171
+ "75": "#e2b623",
172
+ "80": "#eec448",
173
+ "85": "#f8d36a",
174
+ "90": "#ffe193",
175
+ "95": "#fff0ca",
176
+ "100": "#ffffff"
177
+ },
178
+ "dark": {
179
+ "0": "#000000",
180
+ "5": "#161002",
181
+ "10": "#221b08",
182
+ "15": "#2d250e",
183
+ "20": "#392f15",
184
+ "25": "#453a1c",
185
+ "30": "#524521",
186
+ "35": "#615124",
187
+ "40": "#705c24",
188
+ "45": "#80681f",
189
+ "50": "#907316",
190
+ "55": "#a17f07",
191
+ "60": "#b18c00",
192
+ "65": "#be9921",
193
+ "70": "#cba73d",
194
+ "75": "#d7b554",
195
+ "80": "#e3c36c",
196
+ "85": "#efd284",
197
+ "90": "#fae19e",
198
+ "95": "#fff0c8",
199
+ "100": "#ffffff"
200
+ }
201
+ },
202
+ "green": {
203
+ "name": "Green",
204
+ "light": {
205
+ "0": "#000000",
206
+ "5": "#001800",
207
+ "10": "#002400",
208
+ "15": "#003002",
209
+ "20": "#003d05",
210
+ "25": "#00490b",
211
+ "30": "#0b5615",
212
+ "35": "#17631e",
213
+ "40": "#237028",
214
+ "45": "#2f7d33",
215
+ "50": "#3c8a3f",
216
+ "55": "#4a984c",
217
+ "60": "#59a55b",
218
+ "65": "#6ab26b",
219
+ "70": "#7dbe7e",
220
+ "75": "#90ca90",
221
+ "80": "#a4d6a3",
222
+ "85": "#b7e2b6",
223
+ "90": "#cbeeca",
224
+ "95": "#defadd",
225
+ "100": "#ffffff"
226
+ },
227
+ "dark": {
228
+ "0": "#000000",
229
+ "5": "#091409",
230
+ "10": "#112011",
231
+ "15": "#192b19",
232
+ "20": "#223622",
233
+ "25": "#2b422b",
234
+ "30": "#344e34",
235
+ "35": "#3c5c3c",
236
+ "40": "#436a43",
237
+ "45": "#497849",
238
+ "50": "#508651",
239
+ "55": "#59945a",
240
+ "60": "#65a266",
241
+ "65": "#74af75",
242
+ "70": "#85bb85",
243
+ "75": "#97c897",
244
+ "80": "#aad4a9",
245
+ "85": "#bce0bb",
246
+ "90": "#ceecce",
247
+ "95": "#e1f8e0",
248
+ "100": "#ffffff"
249
+ }
250
+ },
251
+ "teal": {
252
+ "name": "Teal",
253
+ "light": {
254
+ "0": "#000000",
255
+ "5": "#001612",
256
+ "10": "#00221c",
257
+ "15": "#002e27",
258
+ "20": "#003a32",
259
+ "25": "#00463d",
260
+ "30": "#005348",
261
+ "35": "#006154",
262
+ "40": "#006e60",
263
+ "45": "#007c6d",
264
+ "50": "#008b7a",
265
+ "55": "#009986",
266
+ "60": "#01a894",
267
+ "65": "#34b5a1",
268
+ "70": "#56c0ae",
269
+ "75": "#74ccbb",
270
+ "80": "#90d7c8",
271
+ "85": "#a9e2d6",
272
+ "90": "#c1eee4",
273
+ "95": "#d7f9f2",
274
+ "100": "#ffffff"
275
+ },
276
+ "dark": {
277
+ "0": "#000000",
278
+ "5": "#071411",
279
+ "10": "#0f1f1c",
280
+ "15": "#172a26",
281
+ "20": "#1f3531",
282
+ "25": "#28413c",
283
+ "30": "#2f4e48",
284
+ "35": "#325b53",
285
+ "40": "#326a60",
286
+ "45": "#2d796c",
287
+ "50": "#248979",
288
+ "55": "#299786",
289
+ "60": "#39a593",
290
+ "65": "#4fb1a0",
291
+ "70": "#68bdad",
292
+ "75": "#81c9bb",
293
+ "80": "#99d5c8",
294
+ "85": "#b1e0d6",
295
+ "90": "#c6ece3",
296
+ "95": "#dbf8f1",
297
+ "100": "#ffffff"
298
+ }
299
+ },
300
+ "cyan": {
301
+ "name": "Cyan",
302
+ "light": {
303
+ "0": "#000000",
304
+ "5": "#00151b",
305
+ "10": "#002028",
306
+ "15": "#002c35",
307
+ "20": "#003743",
308
+ "25": "#004351",
309
+ "30": "#00505f",
310
+ "35": "#005d6e",
311
+ "40": "#006a7d",
312
+ "45": "#00788d",
313
+ "50": "#00859d",
314
+ "55": "#0093ad",
315
+ "60": "#00a2be",
316
+ "65": "#29afcb",
317
+ "70": "#45bdd7",
318
+ "75": "#5ecae3",
319
+ "80": "#75d7ef",
320
+ "85": "#8ee4f9",
321
+ "90": "#afefff",
322
+ "95": "#d9f7ff",
323
+ "100": "#ffffff"
324
+ },
325
+ "dark": {
326
+ "0": "#000000",
327
+ "5": "#071316",
328
+ "10": "#0f1e22",
329
+ "15": "#17292e",
330
+ "20": "#1f343a",
331
+ "25": "#274046",
332
+ "30": "#2e4c54",
333
+ "35": "#325963",
334
+ "40": "#326774",
335
+ "45": "#2d7586",
336
+ "50": "#228499",
337
+ "55": "#2592a9",
338
+ "60": "#35a0b7",
339
+ "65": "#49adc4",
340
+ "70": "#5dbad1",
341
+ "75": "#71c7dd",
342
+ "80": "#85d5e9",
343
+ "85": "#9ae2f4",
344
+ "90": "#b1eefe",
345
+ "95": "#d9f7ff",
346
+ "100": "#ffffff"
347
+ }
348
+ },
349
+ "blue": {
350
+ "name": "Blue",
351
+ "light": {
352
+ "0": "#000000",
353
+ "5": "#000f30",
354
+ "10": "#001a41",
355
+ "15": "#002452",
356
+ "20": "#002f65",
357
+ "25": "#003978",
358
+ "30": "#00458c",
359
+ "35": "#0050a2",
360
+ "40": "#005cb8",
361
+ "45": "#0067ce",
362
+ "50": "#0074e2",
363
+ "55": "#1e81f0",
364
+ "60": "#348ffd",
365
+ "65": "#529fff",
366
+ "70": "#6eaeff",
367
+ "75": "#88bcff",
368
+ "80": "#a1caff",
369
+ "85": "#b9d7ff",
370
+ "90": "#d0e5ff",
371
+ "95": "#e8f2ff",
372
+ "100": "#ffffff"
373
+ },
374
+ "dark": {
375
+ "0": "#000000",
376
+ "5": "#051121",
377
+ "10": "#0d1c2f",
378
+ "15": "#15263d",
379
+ "20": "#1d314b",
380
+ "25": "#253c5a",
381
+ "30": "#2b486c",
382
+ "35": "#2f5382",
383
+ "40": "#315f99",
384
+ "45": "#346bb1",
385
+ "50": "#3778c7",
386
+ "55": "#3e84dc",
387
+ "60": "#4a92eb",
388
+ "65": "#5aa0f8",
389
+ "70": "#6eaeff",
390
+ "75": "#88bcff",
391
+ "80": "#a1caff",
392
+ "85": "#b9d7ff",
393
+ "90": "#d0e5ff",
394
+ "95": "#e8f2ff",
395
+ "100": "#ffffff"
396
+ }
397
+ },
398
+ "purple": {
399
+ "name": "Purple",
400
+ "light": {
401
+ "0": "#000000",
402
+ "5": "#210028",
403
+ "10": "#31003b",
404
+ "15": "#3f004c",
405
+ "20": "#4e045c",
406
+ "25": "#5c0e6c",
407
+ "30": "#6b187c",
408
+ "35": "#781f8a",
409
+ "40": "#842699",
410
+ "45": "#9130a7",
411
+ "50": "#9f3cb5",
412
+ "55": "#ad4dc3",
413
+ "60": "#bb5fd1",
414
+ "65": "#ca72de",
415
+ "70": "#d885eb",
416
+ "75": "#e496f6",
417
+ "80": "#efa8ff",
418
+ "85": "#f3bfff",
419
+ "90": "#f7d5ff",
420
+ "95": "#fbeaff",
421
+ "100": "#ffffff"
422
+ },
423
+ "dark": {
424
+ "0": "#000000",
425
+ "5": "#180b1b",
426
+ "10": "#251329",
427
+ "15": "#311c36",
428
+ "20": "#3e2544",
429
+ "25": "#4a2f51",
430
+ "30": "#58395f",
431
+ "35": "#674270",
432
+ "40": "#784983",
433
+ "45": "#895196",
434
+ "50": "#9a59a9",
435
+ "55": "#aa63ba",
436
+ "60": "#b870c9",
437
+ "65": "#c57ed5",
438
+ "70": "#d28de2",
439
+ "75": "#de9ced",
440
+ "80": "#eaacf8",
441
+ "85": "#f3bfff",
442
+ "90": "#f7d5ff",
443
+ "95": "#fbeaff",
444
+ "100": "#ffffff"
445
+ }
446
+ },
447
+ "pink": {
448
+ "name": "Pink",
449
+ "light": {
450
+ "0": "#000000",
451
+ "5": "#290013",
452
+ "10": "#3b001e",
453
+ "15": "#4b0028",
454
+ "20": "#5d0034",
455
+ "25": "#70003f",
456
+ "30": "#83004b",
457
+ "35": "#950457",
458
+ "40": "#a61863",
459
+ "45": "#b52970",
460
+ "50": "#c5387c",
461
+ "55": "#d44789",
462
+ "60": "#e25796",
463
+ "65": "#ef67a3",
464
+ "70": "#fc78b1",
465
+ "75": "#ff90bd",
466
+ "80": "#ffa9ca",
467
+ "85": "#ffc0d7",
468
+ "90": "#ffd5e4",
469
+ "95": "#ffeaf1",
470
+ "100": "#ffffff"
471
+ },
472
+ "dark": {
473
+ "0": "#000000",
474
+ "5": "#1e0912",
475
+ "10": "#2d111d",
476
+ "15": "#3b1927",
477
+ "20": "#492132",
478
+ "25": "#572b3d",
479
+ "30": "#663449",
480
+ "35": "#783b55",
481
+ "40": "#8c4161",
482
+ "45": "#a1476e",
483
+ "50": "#b54e7b",
484
+ "55": "#c85688",
485
+ "60": "#d76395",
486
+ "65": "#e572a3",
487
+ "70": "#f181b0",
488
+ "75": "#fd92bd",
489
+ "80": "#ffa9ca",
490
+ "85": "#ffc0d7",
491
+ "90": "#ffd5e4",
492
+ "95": "#ffeaf1",
493
+ "100": "#ffffff"
494
+ }
495
+ }
496
+ } as const;
497
+
498
+ export default palette;
@@ -0,0 +1,67 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ import {describe, expect, it} from 'vitest';
4
+ import {neutralPalettes} from './neutralPalettes';
5
+
6
+ const neutralPaletteStops = [
7
+ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95,
8
+ 100,
9
+ ] as const;
10
+
11
+ describe('neutral palette artifact', () => {
12
+ it('keeps the approved palette structurally valid', () => {
13
+ expect(Object.keys(neutralPalettes)).toEqual([
14
+ 'neutral',
15
+ 'red',
16
+ 'orange',
17
+ 'yellow',
18
+ 'green',
19
+ 'teal',
20
+ 'cyan',
21
+ 'blue',
22
+ 'purple',
23
+ 'pink',
24
+ ]);
25
+
26
+ for (const family of Object.values(neutralPalettes)) {
27
+ for (const stop of neutralPaletteStops) {
28
+ expect(family.light[stop]).toMatch(/^#[0-9a-f]{6}$/i);
29
+ expect(family.dark[stop]).toMatch(/^#[0-9a-f]{6}$/i);
30
+ }
31
+ expect(family.light[0]).toBe('#000000');
32
+ expect(family.dark[0]).toBe('#000000');
33
+ expect(family.light[100]).toBe('#ffffff');
34
+ expect(family.dark[100]).toBe('#ffffff');
35
+ }
36
+ });
37
+
38
+ it('keeps the approved muted dark edge values', () => {
39
+ expect(
40
+ Object.fromEntries(
41
+ (
42
+ [
43
+ 'red',
44
+ 'orange',
45
+ 'yellow',
46
+ 'green',
47
+ 'teal',
48
+ 'cyan',
49
+ 'blue',
50
+ 'purple',
51
+ 'pink',
52
+ ] as const
53
+ ).map(family => [family, neutralPalettes[family].dark[25]]),
54
+ ),
55
+ ).toEqual({
56
+ red: '#5b2b28',
57
+ orange: '#503424',
58
+ yellow: '#453a1c',
59
+ green: '#2b422b',
60
+ teal: '#28413c',
61
+ cyan: '#274046',
62
+ blue: '#253c5a',
63
+ purple: '#4a2f51',
64
+ pink: '#572b3d',
65
+ });
66
+ });
67
+ });
@@ -0,0 +1,7 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** Neutral's reviewed palette, generated from ../palette.config.json. */
4
+ export {
5
+ palette as neutralPalettes,
6
+ palette as default,
7
+ } from './neutralPalettes.generated';