@northstar-js/tokens 0.1.0 → 0.2.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/src/scales.json CHANGED
@@ -3,72 +3,240 @@
3
3
  "font": {
4
4
  "family": {
5
5
  "$type": "fontFamily",
6
- "ui": { "$value": "Inter, ui-sans-serif, system-ui, sans-serif" },
7
- "mono": { "$value": "'IBM Plex Mono', ui-monospace, monospace" }
6
+ "ui": {
7
+ "$value": "Inter, ui-sans-serif, system-ui, sans-serif"
8
+ },
9
+ "mono": {
10
+ "$value": "'IBM Plex Mono', ui-monospace, monospace"
11
+ }
8
12
  },
9
13
  "weight": {
10
14
  "$type": "fontWeight",
11
- "regular": { "$value": 400 },
12
- "medium": { "$value": 500 },
13
- "semibold": { "$value": 600 }
15
+ "regular": {
16
+ "$value": 400
17
+ },
18
+ "medium": {
19
+ "$value": 500
20
+ },
21
+ "semibold": {
22
+ "$value": 600
23
+ }
14
24
  },
15
25
  "size": {
26
+ "11": {
27
+ "$value": "11px"
28
+ },
29
+ "12": {
30
+ "$value": "12px"
31
+ },
32
+ "13": {
33
+ "$value": "13px"
34
+ },
35
+ "15": {
36
+ "$value": "15px"
37
+ },
38
+ "18": {
39
+ "$value": "18px"
40
+ },
41
+ "24": {
42
+ "$value": "24px"
43
+ },
44
+ "32": {
45
+ "$value": "32px"
46
+ },
47
+ "48": {
48
+ "$value": "48px"
49
+ },
16
50
  "$type": "dimension",
17
- "11": { "$value": "11px" },
18
- "12": { "$value": "12px" },
19
- "13": { "$value": "13px" },
20
- "15": { "$value": "15px" },
21
- "18": { "$value": "18px" },
22
- "24": { "$value": "24px" },
23
- "32": { "$value": "32px" },
24
- "48": { "$value": "48px" },
25
- "base": { "$value": "{font.size.13}" }
51
+ "base": {
52
+ "$value": "{font.size.13}"
53
+ }
26
54
  },
27
55
  "line-height": {
28
- "$type": "dimension",
29
- "11": { "$value": "16px" },
30
- "12": { "$value": "18px" },
31
- "13": { "$value": "20px" },
32
- "15": { "$value": "22px" },
33
- "18": { "$value": "26px" },
34
- "24": { "$value": "32px" },
35
- "32": { "$value": "40px" },
36
- "48": { "$value": "52px" }
37
- },
38
- "numeric": { "figures": { "$type": "other", "$value": "tabular-nums" } }
56
+ "11": {
57
+ "$value": "16px"
58
+ },
59
+ "12": {
60
+ "$value": "18px"
61
+ },
62
+ "13": {
63
+ "$value": "20px"
64
+ },
65
+ "15": {
66
+ "$value": "22px"
67
+ },
68
+ "18": {
69
+ "$value": "26px"
70
+ },
71
+ "24": {
72
+ "$value": "32px"
73
+ },
74
+ "32": {
75
+ "$value": "40px"
76
+ },
77
+ "48": {
78
+ "$value": "52px"
79
+ },
80
+ "$type": "dimension"
81
+ },
82
+ "numeric": {
83
+ "figures": {
84
+ "$type": "other",
85
+ "$value": "tabular-nums"
86
+ }
87
+ }
39
88
  },
40
89
  "space": {
90
+ "2": {
91
+ "$value": "2px"
92
+ },
93
+ "4": {
94
+ "$value": "4px"
95
+ },
96
+ "6": {
97
+ "$value": "6px"
98
+ },
99
+ "8": {
100
+ "$value": "8px"
101
+ },
102
+ "12": {
103
+ "$value": "12px"
104
+ },
105
+ "16": {
106
+ "$value": "16px"
107
+ },
108
+ "20": {
109
+ "$value": "20px"
110
+ },
111
+ "24": {
112
+ "$value": "24px"
113
+ },
114
+ "32": {
115
+ "$value": "32px"
116
+ },
117
+ "40": {
118
+ "$value": "40px"
119
+ },
120
+ "48": {
121
+ "$value": "48px"
122
+ },
123
+ "64": {
124
+ "$value": "64px"
125
+ },
126
+ "$type": "dimension"
127
+ },
128
+ "spacing": {
129
+ "$description": "Spacing roles, Option A (Instrument 4). Components use these, not raw steps.",
41
130
  "$type": "dimension",
42
- "2": { "$value": "2px" },
43
- "4": { "$value": "4px" },
44
- "6": { "$value": "6px" },
45
- "8": { "$value": "8px" },
46
- "12": { "$value": "12px" },
47
- "16": { "$value": "16px" },
48
- "20": { "$value": "20px" },
49
- "24": { "$value": "24px" },
50
- "32": { "$value": "32px" },
51
- "40": { "$value": "40px" },
52
- "48": { "$value": "48px" },
53
- "64": { "$value": "64px" }
131
+ "inline": {
132
+ "icon": {
133
+ "$value": "{space.6}"
134
+ },
135
+ "label": {
136
+ "$value": "{space.6}"
137
+ },
138
+ "toolbar": {
139
+ "$value": "{space.4}"
140
+ }
141
+ },
142
+ "stack": {
143
+ "default": {
144
+ "$value": "{space.12}"
145
+ },
146
+ "tight": {
147
+ "$value": "{space.8}"
148
+ }
149
+ },
150
+ "control": {
151
+ "button-x": {
152
+ "$value": "{space.16}"
153
+ },
154
+ "field-x": {
155
+ "$value": "{space.12}"
156
+ }
157
+ },
158
+ "card": {
159
+ "padding": {
160
+ "$value": "{space.20}"
161
+ }
162
+ },
163
+ "row": {
164
+ "y": {
165
+ "$value": "{space.8}"
166
+ },
167
+ "x": {
168
+ "$value": "{space.12}"
169
+ }
170
+ },
171
+ "section": {
172
+ "default": {
173
+ "$value": "{space.40}"
174
+ },
175
+ "phone": {
176
+ "$value": "{space.32}"
177
+ }
178
+ },
179
+ "page": {
180
+ "margin-phone": {
181
+ "$value": "{space.16}"
182
+ },
183
+ "margin-tablet": {
184
+ "$value": "{space.24}"
185
+ },
186
+ "margin-desktop": {
187
+ "$value": "{space.48}"
188
+ },
189
+ "gutter-phone": {
190
+ "$value": "{space.16}"
191
+ },
192
+ "gutter-tablet": {
193
+ "$value": "{space.20}"
194
+ },
195
+ "gutter-desktop": {
196
+ "$value": "{space.24}"
197
+ },
198
+ "content-max": {
199
+ "$value": "1280px"
200
+ }
201
+ }
54
202
  },
55
203
  "size": {
56
204
  "$type": "dimension",
57
205
  "control": {
58
- "sm": { "$value": "28px" },
59
- "md": { "$value": "32px" },
60
- "lg": { "$value": "36px" },
61
- "xl": { "$value": "44px" }
206
+ "sm": {
207
+ "$value": "28px"
208
+ },
209
+ "md": {
210
+ "$value": "32px"
211
+ },
212
+ "lg": {
213
+ "$value": "36px"
214
+ },
215
+ "xl": {
216
+ "$value": "44px"
217
+ }
62
218
  },
63
219
  "row": {
64
- "sm": { "$value": "32px" },
65
- "md": { "$value": "36px" },
66
- "lg": { "$value": "40px" }
220
+ "sm": {
221
+ "$value": "32px"
222
+ },
223
+ "md": {
224
+ "$value": "36px"
225
+ },
226
+ "lg": {
227
+ "$value": "40px"
228
+ }
67
229
  },
68
230
  "icon": {
69
- "sm": { "$value": "16px" },
70
- "md": { "$value": "20px" },
71
- "lg": { "$value": "24px" }
231
+ "sm": {
232
+ "$value": "16px"
233
+ },
234
+ "md": {
235
+ "$value": "20px"
236
+ },
237
+ "lg": {
238
+ "$value": "24px"
239
+ }
72
240
  },
73
241
  "target": {
74
242
  "coarse": {
@@ -80,53 +248,375 @@
80
248
  "density": {
81
249
  "$type": "dimension",
82
250
  "compact": {
83
- "control-height": { "$value": "{size.control.sm}" },
84
- "row-height": { "$value": "{size.row.sm}" },
85
- "row-padding": { "$value": "{space.4}" }
251
+ "control-height": {
252
+ "$value": "{size.control.sm}"
253
+ },
254
+ "row-height": {
255
+ "$value": "{size.row.sm}"
256
+ },
257
+ "row-padding": {
258
+ "$value": "{space.4}"
259
+ },
260
+ "card-padding": {
261
+ "$value": "{space.16}"
262
+ },
263
+ "stack-gap": {
264
+ "$value": "{space.8}"
265
+ },
266
+ "section-gap": {
267
+ "$value": "{space.32}"
268
+ }
86
269
  },
87
270
  "default": {
88
- "control-height": { "$value": "{size.control.md}" },
89
- "row-height": { "$value": "{size.row.md}" },
90
- "row-padding": { "$value": "{space.6}" }
271
+ "control-height": {
272
+ "$value": "{size.control.md}"
273
+ },
274
+ "row-height": {
275
+ "$value": "{size.row.md}"
276
+ },
277
+ "row-padding": {
278
+ "$value": "{space.6}"
279
+ },
280
+ "card-padding": {
281
+ "$value": "{space.20}"
282
+ },
283
+ "stack-gap": {
284
+ "$value": "{space.12}"
285
+ },
286
+ "section-gap": {
287
+ "$value": "{space.40}"
288
+ }
91
289
  },
92
290
  "comfortable": {
93
- "control-height": { "$value": "{size.control.lg}" },
94
- "row-height": { "$value": "{size.row.lg}" },
95
- "row-padding": { "$value": "{space.8}" }
291
+ "control-height": {
292
+ "$value": "{size.control.lg}"
293
+ },
294
+ "row-height": {
295
+ "$value": "{size.row.lg}"
296
+ },
297
+ "row-padding": {
298
+ "$value": "{space.8}"
299
+ },
300
+ "card-padding": {
301
+ "$value": "{space.24}"
302
+ },
303
+ "stack-gap": {
304
+ "$value": "{space.16}"
305
+ },
306
+ "section-gap": {
307
+ "$value": "{space.48}"
308
+ }
96
309
  }
97
310
  },
98
311
  "radius": {
312
+ "4": {
313
+ "$value": "4px"
314
+ },
315
+ "6": {
316
+ "$value": "6px"
317
+ },
318
+ "8": {
319
+ "$value": "8px"
320
+ },
321
+ "12": {
322
+ "$value": "12px"
323
+ },
99
324
  "$type": "dimension",
100
- "4": { "$value": "4px" },
101
- "6": { "$value": "6px" },
102
- "8": { "$value": "8px" },
103
- "12": { "$value": "12px" },
104
- "full": { "$value": "9999px" }
325
+ "full": {
326
+ "$value": "9999px"
327
+ },
328
+ "control": {
329
+ "$description": "Button shapes. Every button is a pill by default (an icon-only button is a circle); shape=\"rounded\" opts out.",
330
+ "pill": {
331
+ "$value": "{radius.full}",
332
+ "$description": "The default button shape: a capsule, or a circle when the button is square."
333
+ },
334
+ "rounded": {
335
+ "$value": "{radius.6}",
336
+ "$description": "The shape=\"rounded\" opt-out off glass (on glass the opt-out is radius.glass.control)."
337
+ }
338
+ },
339
+ "glass": {
340
+ "$description": "Liquid glass corners, kept tight for precision: glass panels and bars are never fully round. Buttons on glass are pills unless shape=\"rounded\".",
341
+ "panel": {
342
+ "$value": "10px",
343
+ "$description": "Cards, panels, dialogs and sheets on glass."
344
+ },
345
+ "bar": {
346
+ "$value": "10px",
347
+ "$description": "Toolbars, pill bars and glass tab lists."
348
+ },
349
+ "control": {
350
+ "$value": "7px",
351
+ "$description": "The shape=\"rounded\" opt-out for buttons on glass; by default they are pills (radius.control.pill)."
352
+ },
353
+ "inner": {
354
+ "$value": "6px",
355
+ "$description": "A rounded (shape=\"rounded\") control nested in a bar: bar radius less the bar's 4px padding."
356
+ }
357
+ }
105
358
  },
106
359
  "z": {
107
360
  "$type": "number",
108
- "banner": { "$value": 30 },
109
- "dropdown": { "$value": 40 },
110
- "popover": { "$value": 50 },
111
- "sheet": { "$value": 60 },
112
- "dialog": { "$value": 70 },
113
- "toast": { "$value": 80 },
114
- "tooltip": { "$value": 90 }
361
+ "banner": {
362
+ "$value": 30
363
+ },
364
+ "dropdown": {
365
+ "$value": 40
366
+ },
367
+ "popover": {
368
+ "$value": 50
369
+ },
370
+ "sheet": {
371
+ "$value": 60
372
+ },
373
+ "dialog": {
374
+ "$value": 70
375
+ },
376
+ "toast": {
377
+ "$value": 80
378
+ },
379
+ "tooltip": {
380
+ "$value": 90
381
+ }
115
382
  },
116
383
  "motion": {
117
384
  "duration": {
385
+ "120": {
386
+ "$value": "120ms"
387
+ },
388
+ "200": {
389
+ "$value": "200ms"
390
+ },
391
+ "320": {
392
+ "$value": "320ms"
393
+ },
394
+ "600": {
395
+ "$value": "600ms"
396
+ },
118
397
  "$type": "duration",
119
- "120": { "$value": "120ms" },
120
- "200": { "$value": "200ms" },
121
- "320": { "$value": "320ms" },
122
- "600": { "$value": "600ms" }
398
+ "press": {
399
+ "$value": "90ms",
400
+ "$description": "Press-in: fast, so the control answers the finger."
401
+ },
402
+ "release": {
403
+ "$value": "280ms",
404
+ "$description": "Release: long enough for the spring overshoot to read."
405
+ },
406
+ "settle": {
407
+ "$value": "420ms",
408
+ "$description": "Layers and indicators coming to rest."
409
+ },
410
+ "micro": {
411
+ "$value": "180ms",
412
+ "$description": "Hover and focus micro-transitions: eased in and out, never snapping."
413
+ },
414
+ "layout": {
415
+ "$value": "560ms",
416
+ "$description": "Layout moves: shared indicators, expanding labels, step changes."
417
+ },
418
+ "reveal": {
419
+ "$value": "700ms",
420
+ "$description": "Scroll-linked reveals and first appearance of a section."
421
+ },
422
+ "stagger": {
423
+ "$value": "45ms",
424
+ "$description": "Delay between siblings in a staggered list."
425
+ }
123
426
  },
124
427
  "easing": {
125
428
  "$type": "cubicBezier",
126
- "settle": { "$value": [0.2, 0, 0, 1], "$description": "Comes to rest; state changes." },
127
- "enter": { "$value": [0, 0, 0.2, 1], "$description": "Decelerates in." },
128
- "travel": { "$value": [0.4, 0, 0.2, 1], "$description": "Moves across the screen." },
129
- "exit": { "$value": [0.4, 0, 1, 1], "$description": "Accelerates out." }
429
+ "settle": {
430
+ "$value": [
431
+ 0.2,
432
+ 0,
433
+ 0,
434
+ 1
435
+ ],
436
+ "$description": "Comes to rest; state changes."
437
+ },
438
+ "enter": {
439
+ "$value": [
440
+ 0,
441
+ 0,
442
+ 0.2,
443
+ 1
444
+ ],
445
+ "$description": "Decelerates in."
446
+ },
447
+ "travel": {
448
+ "$value": [
449
+ 0.4,
450
+ 0,
451
+ 0.2,
452
+ 1
453
+ ],
454
+ "$description": "Moves across the screen."
455
+ },
456
+ "exit": {
457
+ "$value": [
458
+ 0.4,
459
+ 0,
460
+ 1,
461
+ 1
462
+ ],
463
+ "$description": "Accelerates out."
464
+ },
465
+ "glide": {
466
+ "$value": [
467
+ 0.22,
468
+ 1,
469
+ 0.36,
470
+ 1
471
+ ],
472
+ "$description": "Long, soft ease-out for layout and reveals."
473
+ },
474
+ "hover": {
475
+ "$value": [
476
+ 0.45,
477
+ 0,
478
+ 0.25,
479
+ 1
480
+ ],
481
+ "$description": "Symmetric ease-in-out for hover in and out."
482
+ }
483
+ },
484
+ "spring": {
485
+ "$type": "cubicBezier",
486
+ "$description": "Spring-like curves for direct manipulation. Plain cubic-beziers, so they degrade to 0 ms with the durations.",
487
+ "press": {
488
+ "$value": [
489
+ 0.3,
490
+ 0,
491
+ 0.5,
492
+ 1
493
+ ],
494
+ "$description": "Press-in. No overshoot."
495
+ },
496
+ "release": {
497
+ "$value": [
498
+ 0.34,
499
+ 1.56,
500
+ 0.64,
501
+ 1
502
+ ],
503
+ "$description": "Release. One small overshoot, then rest."
504
+ },
505
+ "settle": {
506
+ "$value": [
507
+ 0.22,
508
+ 1.24,
509
+ 0.36,
510
+ 1
511
+ ],
512
+ "$description": "Layers, thumbs and indicators settling into place."
513
+ },
514
+ "layout": {
515
+ "$value": [
516
+ 0.32,
517
+ 0.72,
518
+ 0,
519
+ 1
520
+ ],
521
+ "$description": "Shared-layout moves: quick start, very long settle, no overshoot."
522
+ }
523
+ }
524
+ },
525
+ "material": {
526
+ "blur": {
527
+ "$type": "dimension",
528
+ "sm": {
529
+ "$value": "8px"
530
+ },
531
+ "md": {
532
+ "$value": "16px"
533
+ },
534
+ "lg": {
535
+ "$value": "28px"
536
+ }
537
+ },
538
+ "saturate": {
539
+ "$type": "number",
540
+ "$value": 1.7,
541
+ "$description": "Backdrop saturation behind glass."
542
+ },
543
+ "lift": {
544
+ "$type": "dimension",
545
+ "$value": "-2px",
546
+ "$description": "Hover lift of interactive cards and rows."
547
+ },
548
+ "press": {
549
+ "$type": "number",
550
+ "$value": 0.97,
551
+ "$description": "Scale of a pressed control."
552
+ },
553
+ "spin": {
554
+ "$description": "Motion of the machined spin button finish (the colours are per theme, in material.spin.*).",
555
+ "sweep": {
556
+ "$type": "duration",
557
+ "$value": "700ms",
558
+ "$description": "The light band sliding across on hover and focus. 0ms under reduced motion."
559
+ },
560
+ "sweep-easing": {
561
+ "$type": "cubicBezier",
562
+ "$value": [
563
+ 0.2,
564
+ 0.8,
565
+ 0.2,
566
+ 1
567
+ ],
568
+ "$description": "Fast start, long settle."
569
+ },
570
+ "turn": {
571
+ "$type": "dimension",
572
+ "$value": "16deg",
573
+ "$description": "How far the conic turns as the pointer crosses the button, end to end."
574
+ },
575
+ "angle": {
576
+ "$type": "dimension",
577
+ "$value": "200deg",
578
+ "$description": "Where the conic sweep starts at rest."
579
+ },
580
+ "press": {
581
+ "$type": "number",
582
+ "$value": 0.985,
583
+ "$description": "Scale of a pressed spin button (it also drops 1px)."
584
+ }
585
+ },
586
+ "liquid": {
587
+ "$description": "Liquid glass: SVG displacement refraction at the rim (Chromium), blur and specular elsewhere. Scales are feDisplacementMap px.",
588
+ "scale": {
589
+ "$type": "number",
590
+ "sm": {
591
+ "$value": 14
592
+ },
593
+ "md": {
594
+ "$value": 28
595
+ },
596
+ "lg": {
597
+ "$value": 44
598
+ }
599
+ },
600
+ "bevel": {
601
+ "$type": "number",
602
+ "$value": 0.16,
603
+ "$description": "Rim width as a fraction of the shorter side."
604
+ },
605
+ "aberration": {
606
+ "$type": "number",
607
+ "$value": 2,
608
+ "$description": "Per-channel scale spread for the colour fringe at the rim."
609
+ },
610
+ "frost": {
611
+ "$type": "dimension",
612
+ "$value": "0.6px",
613
+ "$description": "Blur after refraction."
614
+ },
615
+ "fallback-blur": {
616
+ "$type": "dimension",
617
+ "$value": "14px",
618
+ "$description": "Frost where refraction is unavailable (Safari, Firefox)."
619
+ }
130
620
  }
131
621
  }
132
622
  }