@polyxd/ds-fluent 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.
@@ -0,0 +1,448 @@
1
+ {
2
+ "$description": "Polyxd semantic tier for Fluent 2 (light = webLightTheme, dark = webDarkTheme). Every token aliases a Fluent token wherever Fluent has one; polyxd.* marks values Fluent does not define. The file is the same in both modes.",
3
+ "color": {
4
+ "$type": "color",
5
+ "surface": {
6
+ "default": {
7
+ "$value": "{fluent.colorNeutralBackground2}",
8
+ "$description": "Fluent's page canvas; cards sit on Background1 above it"
9
+ },
10
+ "subtle": {
11
+ "$value": "{fluent.colorNeutralBackground3}"
12
+ },
13
+ "raised": {
14
+ "$value": "{fluent.colorNeutralBackground1}",
15
+ "$description": "Fluent cards and surfaces"
16
+ },
17
+ "overlay": {
18
+ "$value": "{fluent.colorNeutralBackground1}",
19
+ "$description": "Fluent dialogs and flyouts"
20
+ },
21
+ "inverse": {
22
+ "$value": "{fluent.colorNeutralBackgroundInverted}"
23
+ }
24
+ },
25
+ "scrim": {
26
+ "$value": "{fluent.colorBackgroundOverlay}"
27
+ },
28
+ "text": {
29
+ "default": {
30
+ "$value": "{fluent.colorNeutralForeground1}"
31
+ },
32
+ "muted": {
33
+ "$value": "{fluent.colorNeutralForeground2}"
34
+ },
35
+ "inverse": {
36
+ "$value": "{fluent.colorNeutralForegroundInverted}"
37
+ },
38
+ "link": {
39
+ "$value": "{fluent.colorBrandForegroundLink}"
40
+ }
41
+ },
42
+ "border": {
43
+ "default": {
44
+ "$value": "{fluent.colorNeutralStroke2}",
45
+ "$description": "Fluent's divider stroke"
46
+ },
47
+ "strong": {
48
+ "$value": "{fluent.colorNeutralStrokeAccessible}",
49
+ "$description": "Fluent's own 3:1 stroke; colorNeutralStroke1 is 1.46:1 in light and 2.87:1 in dark, below the contract's floor for a graphic"
50
+ },
51
+ "focus": {
52
+ "$value": "{fluent.colorStrokeFocus2}"
53
+ }
54
+ },
55
+ "action": {
56
+ "primary": {
57
+ "background": {
58
+ "$value": "{fluent.colorBrandBackgroundStatic}",
59
+ "$description": "Contrast adjustment (dark): Fluent's colorBrandBackground is 2.48:1 on the dark canvas; Static is the same brand ramp and passes at 3.06:1, with white text on it at 5.38:1"
60
+ },
61
+ "foreground": {
62
+ "$value": "{fluent.colorNeutralForegroundOnBrand}"
63
+ }
64
+ },
65
+ "secondary": {
66
+ "background": {
67
+ "$value": "{fluent.colorNeutralBackground1}",
68
+ "$description": "Fluent's secondary button: Background1 with a stroke"
69
+ },
70
+ "foreground": {
71
+ "$value": "{fluent.colorNeutralForeground1}"
72
+ },
73
+ "border": {
74
+ "$value": "{fluent.colorNeutralStroke1}"
75
+ }
76
+ },
77
+ "danger": {
78
+ "background": {
79
+ "$value": "{fluent.colorPaletteRedBackground3}"
80
+ },
81
+ "foreground": {
82
+ "$value": "{fluent.colorNeutralForegroundOnBrand}"
83
+ }
84
+ }
85
+ },
86
+ "selection": {
87
+ "background": {
88
+ "$value": "{fluent.colorBrandBackground2}",
89
+ "$description": "Fluent's selected row tint"
90
+ },
91
+ "foreground": {
92
+ "$value": "{fluent.colorBrandForeground2}"
93
+ }
94
+ },
95
+ "status": {
96
+ "info": {
97
+ "background": {
98
+ "$value": "{polyxd.sys.status-info-background}"
99
+ },
100
+ "foreground": {
101
+ "$value": "{polyxd.sys.status-info-foreground}"
102
+ },
103
+ "emphasis": {
104
+ "$value": "{polyxd.sys.status-info-emphasis}"
105
+ }
106
+ },
107
+ "success": {
108
+ "background": {
109
+ "$value": "{fluent.colorStatusSuccessBackground1}"
110
+ },
111
+ "foreground": {
112
+ "$value": "{fluent.colorStatusSuccessForeground1}"
113
+ },
114
+ "emphasis": {
115
+ "$value": "{fluent.colorStatusSuccessBorderActive}"
116
+ }
117
+ },
118
+ "warning": {
119
+ "background": {
120
+ "$value": "{fluent.colorStatusWarningBackground1}"
121
+ },
122
+ "foreground": {
123
+ "$value": "{fluent.colorStatusWarningForeground2}"
124
+ },
125
+ "emphasis": {
126
+ "$value": "{fluent.colorStatusWarningBorder2}",
127
+ "$description": "Contrast adjustment (light): colorStatusWarningBorderActive is 2.98:1 on the light canvas; Border2 is the next step of the same ramp"
128
+ }
129
+ },
130
+ "danger": {
131
+ "background": {
132
+ "$value": "{fluent.colorStatusDangerBackground1}"
133
+ },
134
+ "foreground": {
135
+ "$value": "{fluent.colorStatusDangerForeground1}"
136
+ },
137
+ "emphasis": {
138
+ "$value": "{fluent.colorStatusDangerBorderActive}"
139
+ }
140
+ }
141
+ },
142
+ "data": {
143
+ "categorical": {
144
+ "1": {
145
+ "$value": "{polyxd.sys.data-1}"
146
+ },
147
+ "2": {
148
+ "$value": "{polyxd.sys.data-2}"
149
+ },
150
+ "3": {
151
+ "$value": "{polyxd.sys.data-3}"
152
+ },
153
+ "4": {
154
+ "$value": "{polyxd.sys.data-4}"
155
+ },
156
+ "5": {
157
+ "$value": "{polyxd.sys.data-5}"
158
+ },
159
+ "6": {
160
+ "$value": "{polyxd.sys.data-6}"
161
+ }
162
+ },
163
+ "positive": {
164
+ "$value": "{polyxd.sys.data-positive}"
165
+ },
166
+ "negative": {
167
+ "$value": "{polyxd.sys.data-negative}"
168
+ },
169
+ "neutral": {
170
+ "$value": "{polyxd.sys.data-neutral}"
171
+ }
172
+ }
173
+ },
174
+ "type": {
175
+ "$type": "typography",
176
+ "title": {
177
+ "page": {
178
+ "$value": {
179
+ "fontFamily": "{fluent.fontFamilyBase}",
180
+ "fontSize": "{fluent.fontSizeHero800}",
181
+ "fontWeight": "{fluent.fontWeightSemibold}",
182
+ "lineHeight": "{fluent.lineHeightHero800}",
183
+ "letterSpacing": {
184
+ "value": 0,
185
+ "unit": "px"
186
+ }
187
+ }
188
+ },
189
+ "section": {
190
+ "$value": {
191
+ "fontFamily": "{fluent.fontFamilyBase}",
192
+ "fontSize": "{fluent.fontSizeBase500}",
193
+ "fontWeight": "{fluent.fontWeightSemibold}",
194
+ "lineHeight": "{fluent.lineHeightBase500}",
195
+ "letterSpacing": {
196
+ "value": 0,
197
+ "unit": "px"
198
+ }
199
+ }
200
+ },
201
+ "item": {
202
+ "$value": {
203
+ "fontFamily": "{fluent.fontFamilyBase}",
204
+ "fontSize": "{fluent.fontSizeBase400}",
205
+ "fontWeight": "{fluent.fontWeightSemibold}",
206
+ "lineHeight": "{fluent.lineHeightBase400}",
207
+ "letterSpacing": {
208
+ "value": 0,
209
+ "unit": "px"
210
+ }
211
+ }
212
+ }
213
+ },
214
+ "body": {
215
+ "default": {
216
+ "$value": {
217
+ "fontFamily": "{fluent.fontFamilyBase}",
218
+ "fontSize": "{fluent.fontSizeBase400}",
219
+ "fontWeight": "{fluent.fontWeightRegular}",
220
+ "lineHeight": "{fluent.lineHeightBase400}",
221
+ "letterSpacing": {
222
+ "value": 0,
223
+ "unit": "px"
224
+ }
225
+ }
226
+ },
227
+ "small": {
228
+ "$value": {
229
+ "fontFamily": "{fluent.fontFamilyBase}",
230
+ "fontSize": "{fluent.fontSizeBase300}",
231
+ "fontWeight": "{fluent.fontWeightRegular}",
232
+ "lineHeight": "{fluent.lineHeightBase300}",
233
+ "letterSpacing": {
234
+ "value": 0,
235
+ "unit": "px"
236
+ }
237
+ }
238
+ }
239
+ },
240
+ "label": {
241
+ "default": {
242
+ "$value": {
243
+ "fontFamily": "{fluent.fontFamilyBase}",
244
+ "fontSize": "{fluent.fontSizeBase300}",
245
+ "fontWeight": "{fluent.fontWeightSemibold}",
246
+ "lineHeight": "{fluent.lineHeightBase300}",
247
+ "letterSpacing": {
248
+ "value": 0,
249
+ "unit": "px"
250
+ }
251
+ }
252
+ },
253
+ "small": {
254
+ "$value": {
255
+ "fontFamily": "{fluent.fontFamilyBase}",
256
+ "fontSize": "{fluent.fontSizeBase200}",
257
+ "fontWeight": "{fluent.fontWeightSemibold}",
258
+ "lineHeight": "{fluent.lineHeightBase200}",
259
+ "letterSpacing": {
260
+ "value": 0,
261
+ "unit": "px"
262
+ }
263
+ }
264
+ }
265
+ },
266
+ "numeric": {
267
+ "display": {
268
+ "$value": {
269
+ "fontFamily": "{fluent.fontFamilyBase}",
270
+ "fontSize": "{fluent.fontSizeHero700}",
271
+ "fontWeight": "{fluent.fontWeightSemibold}",
272
+ "lineHeight": "{fluent.lineHeightHero700}",
273
+ "letterSpacing": {
274
+ "value": 0,
275
+ "unit": "px"
276
+ }
277
+ },
278
+ "$extensions": {
279
+ "com.polyxd": {
280
+ "numeric": "tabular"
281
+ }
282
+ }
283
+ }
284
+ }
285
+ },
286
+ "space": {
287
+ "$type": "dimension",
288
+ "inset": {
289
+ "compact": {
290
+ "$value": "{fluent.spacingHorizontalS}"
291
+ },
292
+ "default": {
293
+ "$value": "{fluent.spacingHorizontalM}"
294
+ },
295
+ "comfortable": {
296
+ "$value": "{fluent.spacingHorizontalXL}"
297
+ }
298
+ },
299
+ "stack": {
300
+ "tight": {
301
+ "$value": "{fluent.spacingVerticalXS}"
302
+ },
303
+ "default": {
304
+ "$value": "{fluent.spacingVerticalS}"
305
+ },
306
+ "loose": {
307
+ "$value": "{fluent.spacingVerticalL}"
308
+ },
309
+ "section": {
310
+ "$value": "{fluent.spacingVerticalXXXL}"
311
+ }
312
+ },
313
+ "inline": {
314
+ "tight": {
315
+ "$value": "{fluent.spacingHorizontalXS}"
316
+ },
317
+ "default": {
318
+ "$value": "{fluent.spacingHorizontalS}"
319
+ },
320
+ "loose": {
321
+ "$value": "{fluent.spacingHorizontalL}"
322
+ }
323
+ }
324
+ },
325
+ "size": {
326
+ "$type": "dimension",
327
+ "target": {
328
+ "min": {
329
+ "$value": "{polyxd.sys.target.min}"
330
+ }
331
+ },
332
+ "icon": {
333
+ "small": {
334
+ "$value": "{fluent.fontSizeBase200}"
335
+ },
336
+ "default": {
337
+ "$value": "{fluent.fontSizeBase500}"
338
+ }
339
+ }
340
+ },
341
+ "radius": {
342
+ "$type": "dimension",
343
+ "small": {
344
+ "$value": "{fluent.borderRadiusSmall}"
345
+ },
346
+ "control": {
347
+ "$value": "{fluent.borderRadiusMedium}",
348
+ "$description": "Fluent buttons and inputs share the medium radius"
349
+ },
350
+ "default": {
351
+ "$value": "{fluent.borderRadiusMedium}"
352
+ },
353
+ "large": {
354
+ "$value": "{fluent.borderRadiusLarge}"
355
+ },
356
+ "full": {
357
+ "$value": {
358
+ "value": 9999,
359
+ "unit": "px"
360
+ },
361
+ "$description": "Fluent's borderRadiusCircular"
362
+ }
363
+ },
364
+ "border": {
365
+ "width": {
366
+ "$type": "dimension",
367
+ "default": {
368
+ "$value": "{fluent.strokeWidthThin}"
369
+ },
370
+ "strong": {
371
+ "$value": "{fluent.strokeWidthThick}"
372
+ }
373
+ }
374
+ },
375
+ "focus": {
376
+ "ring": {
377
+ "$type": "dimension",
378
+ "width": {
379
+ "$value": "{fluent.strokeWidthThick}"
380
+ },
381
+ "offset": {
382
+ "$value": "{polyxd.sys.focus.offset}"
383
+ }
384
+ }
385
+ },
386
+ "measure": {
387
+ "max": {
388
+ "$value": 65,
389
+ "$type": "number",
390
+ "$description": "Characters per line for running text (Polyxd; Fluent has no measure token)"
391
+ }
392
+ },
393
+ "opacity": {
394
+ "state": {
395
+ "$type": "number",
396
+ "hover": {
397
+ "$value": "{polyxd.sys.state.hover}"
398
+ },
399
+ "pressed": {
400
+ "$value": "{polyxd.sys.state.pressed}"
401
+ },
402
+ "focus": {
403
+ "$value": "{polyxd.sys.state.focus}"
404
+ },
405
+ "disabled": {
406
+ "$value": "{polyxd.sys.state.disabled}"
407
+ }
408
+ }
409
+ },
410
+ "shadow": {
411
+ "$type": "shadow",
412
+ "raised": {
413
+ "$value": "{fluent.shadow4}"
414
+ },
415
+ "overlay": {
416
+ "$value": "{fluent.shadow16}"
417
+ }
418
+ },
419
+ "motion": {
420
+ "duration": {
421
+ "$type": "duration",
422
+ "instant": {
423
+ "$value": "{fluent.durationUltraFast}"
424
+ },
425
+ "short": {
426
+ "$value": "{fluent.durationFaster}"
427
+ },
428
+ "medium": {
429
+ "$value": "{fluent.durationNormal}"
430
+ },
431
+ "long": {
432
+ "$value": "{fluent.durationSlow}"
433
+ }
434
+ },
435
+ "easing": {
436
+ "$type": "cubicBezier",
437
+ "standard": {
438
+ "$value": "{fluent.curveEasyEase}"
439
+ },
440
+ "enter": {
441
+ "$value": "{fluent.curveDecelerateMid}"
442
+ },
443
+ "exit": {
444
+ "$value": "{fluent.curveAccelerateMid}"
445
+ }
446
+ }
447
+ }
448
+ }