@scattered-light/loomiere 0.0.0-stage → 0.1.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.
- package/README.md +60 -2
- package/bin/loomiere.mjs +112 -0
- package/build/build-tokens.mjs +485 -0
- package/exporters/README.md +45 -0
- package/exporters/ag-grid-settings.mjs +177 -0
- package/exporters/ag-grid.mjs +112 -0
- package/exporters/chakra.mjs +630 -0
- package/exporters/component-styles.mjs +207 -0
- package/exporters/dtcg.mjs +31 -0
- package/exporters/figma.mjs +100 -0
- package/exporters/index.mjs +38 -0
- package/exporters/mui.mjs +666 -0
- package/exporters/tailwind.mjs +35 -0
- package/exporters/theme.mjs +93 -0
- package/generator/brand.mjs +328 -0
- package/generator/brand.schema.json +657 -0
- package/generator/color.mjs +130 -0
- package/generator/data-colors.mjs +104 -0
- package/generator/format-brand.mjs +60 -0
- package/generator/generate.mjs +43 -0
- package/generator/pairs.mjs +236 -0
- package/generator/roles.mjs +258 -0
- package/generator/vision.mjs +167 -0
- package/lib/config.mjs +71 -0
- package/lib/contrast.mjs +134 -0
- package/lib/lab.mjs +108 -0
- package/lib/studio.mjs +127 -0
- package/lib/tool-server.mjs +96 -0
- package/package.json +51 -4
- package/templates/brand.json +104 -0
- package/tokens/README.md +219 -0
- package/tokens/component/avatar.json +10 -0
- package/tokens/component/button.json +12 -0
- package/tokens/component/drawer.json +26 -0
- package/tokens/component/navigation-menu.json +13 -0
- package/tokens/component/popover.json +13 -0
- package/tokens/component/preview-card.json +13 -0
- package/tokens/component/slider.json +13 -0
- package/tokens/component/switch.json +41 -0
- package/tokens/component/toast.json +21 -0
- package/tokens/component/toggle.json +9 -0
- package/tokens/component/toolbar.json +9 -0
- package/tokens/component/tooltip.json +9 -0
- package/tokens/foundation/layering.json +57 -0
- package/tokens/foundation/layout.json +75 -0
- package/tokens/foundation/motion.json +41 -0
- package/tokens/foundation/type.json +92 -0
- package/tokens/semantic/accessibility.json +39 -0
- package/tokens/semantic/bar.json +45 -0
- package/tokens/semantic/check.json +57 -0
- package/tokens/semantic/color.json +270 -0
- package/tokens/semantic/content.json +124 -0
- package/tokens/semantic/disclosure.json +49 -0
- package/tokens/semantic/elevation.json +72 -0
- package/tokens/semantic/field.json +77 -0
- package/tokens/semantic/focus.json +36 -0
- package/tokens/semantic/gauge.json +45 -0
- package/tokens/semantic/icon-button.json +33 -0
- package/tokens/semantic/icon.json +30 -0
- package/tokens/semantic/item.json +65 -0
- package/tokens/semantic/modal.json +86 -0
- package/tokens/semantic/motion.json +20 -0
- package/tokens/semantic/notice.json +37 -0
- package/tokens/semantic/popup.json +89 -0
- package/tokens/semantic/scheme.json +11 -0
- package/tokens/semantic/shape.json +54 -0
- package/tokens/semantic/spacing.json +110 -0
- package/tokens/semantic/table.json +73 -0
- package/tokens/semantic/typography.json +312 -0
- package/tools/brand-builder/builder.js +1119 -0
- package/tools/brand-builder/index.html +329 -0
- package/tools/pair-lab/index.html +119 -0
- package/tools/pair-lab/lab.js +249 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"control": {
|
|
3
|
+
"height-lg": {
|
|
4
|
+
"$value": "{space.13}"
|
|
5
|
+
},
|
|
6
|
+
"height-md": {
|
|
7
|
+
"$value": "{space.11}"
|
|
8
|
+
},
|
|
9
|
+
"height-sm": {
|
|
10
|
+
"$value": "{space.9}"
|
|
11
|
+
},
|
|
12
|
+
"height-xs": {
|
|
13
|
+
"$value": "{space.7}"
|
|
14
|
+
},
|
|
15
|
+
"padding-block": {
|
|
16
|
+
"$value": "{space.3}"
|
|
17
|
+
},
|
|
18
|
+
"padding-block-lg": {
|
|
19
|
+
"$value": "{space.4}"
|
|
20
|
+
},
|
|
21
|
+
"padding-block-sm": {
|
|
22
|
+
"$value": "{space.2}"
|
|
23
|
+
},
|
|
24
|
+
"padding-block-xs": {
|
|
25
|
+
"$value": "{space.1}"
|
|
26
|
+
},
|
|
27
|
+
"padding-inline": {
|
|
28
|
+
"$value": "{space.4}"
|
|
29
|
+
},
|
|
30
|
+
"padding-inline-lg": {
|
|
31
|
+
"$value": "{space.5}"
|
|
32
|
+
},
|
|
33
|
+
"padding-inline-sm": {
|
|
34
|
+
"$value": "{space.3}"
|
|
35
|
+
},
|
|
36
|
+
"padding-inline-xs": {
|
|
37
|
+
"$value": "{space.2}"
|
|
38
|
+
},
|
|
39
|
+
"$description": "Control sizes. Heights follow the space scale so controls line up with the layout grid; md is 44px, the touch target size."
|
|
40
|
+
},
|
|
41
|
+
"gap": {
|
|
42
|
+
"control": {
|
|
43
|
+
"$value": "{space.2}"
|
|
44
|
+
},
|
|
45
|
+
"control-sm": {
|
|
46
|
+
"$value": "{space.1-5}"
|
|
47
|
+
},
|
|
48
|
+
"control-xs": {
|
|
49
|
+
"$value": "{space.1}"
|
|
50
|
+
},
|
|
51
|
+
"stack-lg": {
|
|
52
|
+
"$value": "{space.6}"
|
|
53
|
+
},
|
|
54
|
+
"stack-md": {
|
|
55
|
+
"$value": "{space.4}"
|
|
56
|
+
},
|
|
57
|
+
"stack-sm": {
|
|
58
|
+
"$value": "{space.2}"
|
|
59
|
+
},
|
|
60
|
+
"$description": "Gaps between related items. Control gaps sit inside a control (icon and label); stack gaps sit between controls."
|
|
61
|
+
},
|
|
62
|
+
"inset": {
|
|
63
|
+
"popup": {
|
|
64
|
+
"$value": "{space.2}",
|
|
65
|
+
"$description": "Padding inside menus and popups, between the popup edge and its items."
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"space": {
|
|
69
|
+
"block-lg": {
|
|
70
|
+
"$value": "{space.8}"
|
|
71
|
+
},
|
|
72
|
+
"block-md": {
|
|
73
|
+
"$value": "{space.6}"
|
|
74
|
+
},
|
|
75
|
+
"block-sm": {
|
|
76
|
+
"$value": "{space.4}"
|
|
77
|
+
},
|
|
78
|
+
"block-xs": {
|
|
79
|
+
"$value": "{space.2}"
|
|
80
|
+
},
|
|
81
|
+
"inline-lg": {
|
|
82
|
+
"$value": "{space.8}"
|
|
83
|
+
},
|
|
84
|
+
"inline-md": {
|
|
85
|
+
"$value": "{space.6}"
|
|
86
|
+
},
|
|
87
|
+
"inline-sm": {
|
|
88
|
+
"$value": "{space.4}"
|
|
89
|
+
},
|
|
90
|
+
"inline-xs": {
|
|
91
|
+
"$value": "{space.2}"
|
|
92
|
+
},
|
|
93
|
+
"$description": "Directional padding for containers: block is top and bottom, inline is left and right."
|
|
94
|
+
},
|
|
95
|
+
"spacing": {
|
|
96
|
+
"stack-lg": {
|
|
97
|
+
"$value": "{space.8}"
|
|
98
|
+
},
|
|
99
|
+
"stack-md": {
|
|
100
|
+
"$value": "{space.6}"
|
|
101
|
+
},
|
|
102
|
+
"stack-sm": {
|
|
103
|
+
"$value": "{space.4}"
|
|
104
|
+
},
|
|
105
|
+
"stack-xs": {
|
|
106
|
+
"$value": "{space.2}"
|
|
107
|
+
},
|
|
108
|
+
"$description": "Vertical rhythm between stacked blocks of content."
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"table": {
|
|
3
|
+
"$description": "Data tables and grids (AG Grid today, any table later). Rows are list items laid flat: the same hover and selected tints as menu rows, on the page surface, with a tray-colored header so the column names read as chrome.",
|
|
4
|
+
"background": {
|
|
5
|
+
"$value": "{surface.canvas}",
|
|
6
|
+
"$description": "Cell area. The page color, so a grid sits on the page like body text."
|
|
7
|
+
},
|
|
8
|
+
"color": {
|
|
9
|
+
"$value": "{text.primary}",
|
|
10
|
+
"$description": "Cell text."
|
|
11
|
+
},
|
|
12
|
+
"subtle-color": {
|
|
13
|
+
"$value": "{text.secondary}",
|
|
14
|
+
"$description": "Secondary text in cells and panels: counts, hints, group totals."
|
|
15
|
+
},
|
|
16
|
+
"header-background": {
|
|
17
|
+
"$value": "{surface.tray}",
|
|
18
|
+
"$description": "Header row, side bar and other grid chrome. The tray step, so it sits a step off the cells in both themes and secondary text on it still passes AA."
|
|
19
|
+
},
|
|
20
|
+
"header-color": {
|
|
21
|
+
"$value": "{text.primary}",
|
|
22
|
+
"$description": "Column names."
|
|
23
|
+
},
|
|
24
|
+
"header-background-hover": {
|
|
25
|
+
"$value": "{fill.subtle}",
|
|
26
|
+
"$description": "A header cell under the pointer, showing it can be clicked to sort."
|
|
27
|
+
},
|
|
28
|
+
"border-color": {
|
|
29
|
+
"$value": "{border.default}",
|
|
30
|
+
"$description": "The grid's outer edge and the line under the header."
|
|
31
|
+
},
|
|
32
|
+
"row-border-color": {
|
|
33
|
+
"$value": "{border.subtle}",
|
|
34
|
+
"$description": "Hairlines between rows, quiet so the data leads."
|
|
35
|
+
},
|
|
36
|
+
"row-hover": {
|
|
37
|
+
"$value": "{item.background-hover}",
|
|
38
|
+
"$description": "Row under the pointer. Same tint as a highlighted menu row."
|
|
39
|
+
},
|
|
40
|
+
"row-selected": {
|
|
41
|
+
"$value": "{item.background-selected}",
|
|
42
|
+
"$description": "Selected rows. Same tint as the chosen menu row."
|
|
43
|
+
},
|
|
44
|
+
"column-hover": {
|
|
45
|
+
"$value": "{fill.subtle}",
|
|
46
|
+
"$description": "Column under the pointer, when column hover is on. Neutral so it never reads as a selection."
|
|
47
|
+
},
|
|
48
|
+
"range-background": {
|
|
49
|
+
"$value": "{interactive.tint}",
|
|
50
|
+
"$description": "Cells inside a dragged range selection."
|
|
51
|
+
},
|
|
52
|
+
"range-border": {
|
|
53
|
+
"$value": "{focus.ring}",
|
|
54
|
+
"$description": "Edge of a range selection and of the focused cell, the same color as every focus ring."
|
|
55
|
+
},
|
|
56
|
+
"row-height": {
|
|
57
|
+
"$value": "{control.height-sm}",
|
|
58
|
+
"$description": "Row height: the small control height, so a checkbox, input or button in a cell fits without growing the row."
|
|
59
|
+
},
|
|
60
|
+
"header-height": {
|
|
61
|
+
"$value": "{control.height-md}",
|
|
62
|
+
"$description": "Header row height: the regular control height, a little taller than rows so the header reads as its own band."
|
|
63
|
+
},
|
|
64
|
+
"cell-padding-inline": {
|
|
65
|
+
"$value": "{control.padding-inline-sm}",
|
|
66
|
+
"$description": "Space either side of cell text, matching small controls."
|
|
67
|
+
},
|
|
68
|
+
"radius": {
|
|
69
|
+
"$value": "{radius.surface}",
|
|
70
|
+
"$description": "Grid corners, like any card or panel."
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
{
|
|
2
|
+
"font": {
|
|
3
|
+
"$description": "Text styles for the condense, base, magnify and minimize tiers. Each style has its parts (family, size, weight, line height, letter spacing) and a -font shorthand that combines them.",
|
|
4
|
+
"base": {
|
|
5
|
+
"$type": "typography",
|
|
6
|
+
"$value": {
|
|
7
|
+
"fontFamily": "{font-family.body}",
|
|
8
|
+
"fontSize": "{font-size.md}",
|
|
9
|
+
"fontWeight": "{font-weight.normal}",
|
|
10
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
11
|
+
"lineHeight": "{line-height.md}"
|
|
12
|
+
},
|
|
13
|
+
"$description": "Body copy in the base tier, the default UI and body text."
|
|
14
|
+
},
|
|
15
|
+
"base-selected": {
|
|
16
|
+
"$type": "typography",
|
|
17
|
+
"$value": {
|
|
18
|
+
"fontFamily": "{font-family.body}",
|
|
19
|
+
"fontSize": "{font-size.md}",
|
|
20
|
+
"fontWeight": "{font-weight.semibold}",
|
|
21
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
22
|
+
"lineHeight": "{line-height.md}"
|
|
23
|
+
},
|
|
24
|
+
"$description": "The selected or current item in the base tier (the default UI and body text): selected tabs and toggles, the current nav item or page. Base body text at semibold, so selection reads without changing size."
|
|
25
|
+
},
|
|
26
|
+
"base-label": {
|
|
27
|
+
"$type": "typography",
|
|
28
|
+
"$value": {
|
|
29
|
+
"fontFamily": "{font-family.body}",
|
|
30
|
+
"fontSize": "{font-size.sm}",
|
|
31
|
+
"fontWeight": "{font-weight.medium}",
|
|
32
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
33
|
+
"lineHeight": "{line-height.sm}"
|
|
34
|
+
},
|
|
35
|
+
"$description": "Form labels in the base tier, the default UI and body text."
|
|
36
|
+
},
|
|
37
|
+
"base-link": {
|
|
38
|
+
"$type": "typography",
|
|
39
|
+
"$value": "{font.base}",
|
|
40
|
+
"$description": "Links in the base tier. The same type as base body text: a link stands out by color and underline, not by its type."
|
|
41
|
+
},
|
|
42
|
+
"base-subtitle": {
|
|
43
|
+
"$type": "typography",
|
|
44
|
+
"$value": {
|
|
45
|
+
"fontFamily": "{font-family.body}",
|
|
46
|
+
"fontSize": "{font-size.md}",
|
|
47
|
+
"fontWeight": "{font-weight.bold}",
|
|
48
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
49
|
+
"lineHeight": "{line-height.md}"
|
|
50
|
+
},
|
|
51
|
+
"$description": "Subtitles in the base tier, the default UI and body text."
|
|
52
|
+
},
|
|
53
|
+
"base-trigger": {
|
|
54
|
+
"$type": "typography",
|
|
55
|
+
"$value": {
|
|
56
|
+
"fontFamily": "{font-family.body}",
|
|
57
|
+
"fontSize": "{font-size.md}",
|
|
58
|
+
"fontWeight": "{font-weight.medium}",
|
|
59
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
60
|
+
"lineHeight": "{line-height.sm}"
|
|
61
|
+
},
|
|
62
|
+
"$description": "Buttons and triggers in the base tier, the default UI and body text."
|
|
63
|
+
},
|
|
64
|
+
"code": {
|
|
65
|
+
"$type": "typography",
|
|
66
|
+
"$value": {
|
|
67
|
+
"fontFamily": "{font-family.mono}",
|
|
68
|
+
"fontSize": "{font-size.sm}",
|
|
69
|
+
"fontWeight": "{font-weight.normal}",
|
|
70
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
71
|
+
"lineHeight": "{line-height.sm}"
|
|
72
|
+
},
|
|
73
|
+
"$description": "Code uses the mono family so characters line up."
|
|
74
|
+
},
|
|
75
|
+
"condense": {
|
|
76
|
+
"$type": "typography",
|
|
77
|
+
"$value": {
|
|
78
|
+
"fontFamily": "{font-family.body}",
|
|
79
|
+
"fontSize": "{font-size.sm}",
|
|
80
|
+
"fontWeight": "{font-weight.normal}",
|
|
81
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
82
|
+
"lineHeight": "{line-height.sm}"
|
|
83
|
+
},
|
|
84
|
+
"$description": "Body copy in the condense tier, dense UI text (tables, secondary labels)."
|
|
85
|
+
},
|
|
86
|
+
"condense-trigger": {
|
|
87
|
+
"$type": "typography",
|
|
88
|
+
"$value": {
|
|
89
|
+
"fontFamily": "{font-family.body}",
|
|
90
|
+
"fontSize": "{font-size.sm}",
|
|
91
|
+
"fontWeight": "{font-weight.medium}",
|
|
92
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
93
|
+
"lineHeight": "{line-height.sm}"
|
|
94
|
+
},
|
|
95
|
+
"$description": "Buttons and triggers in the condense tier (dense UI): condense body text at medium, like base-trigger one tier down."
|
|
96
|
+
},
|
|
97
|
+
"condense-selected": {
|
|
98
|
+
"$type": "typography",
|
|
99
|
+
"$value": {
|
|
100
|
+
"fontFamily": "{font-family.body}",
|
|
101
|
+
"fontSize": "{font-size.sm}",
|
|
102
|
+
"fontWeight": "{font-weight.semibold}",
|
|
103
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
104
|
+
"lineHeight": "{line-height.sm}"
|
|
105
|
+
},
|
|
106
|
+
"$description": "The selected or current item in the condense tier (dense UI text): selected tabs and toggles, the current nav item or page. Condense body text at semibold, so selection reads without changing size."
|
|
107
|
+
},
|
|
108
|
+
"condense-link": {
|
|
109
|
+
"$type": "typography",
|
|
110
|
+
"$value": "{font.condense}",
|
|
111
|
+
"$description": "Links in the condense tier. The same type as condense body text: a link stands out by color and underline, not by its type."
|
|
112
|
+
},
|
|
113
|
+
"condense-subtitle": {
|
|
114
|
+
"$type": "typography",
|
|
115
|
+
"$value": {
|
|
116
|
+
"fontFamily": "{font-family.body}",
|
|
117
|
+
"fontSize": "{font-size.sm}",
|
|
118
|
+
"fontWeight": "{font-weight.bold}",
|
|
119
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
120
|
+
"lineHeight": "{line-height.sm}"
|
|
121
|
+
},
|
|
122
|
+
"$description": "Subtitles in the condense tier, dense UI text (tables, secondary labels)."
|
|
123
|
+
},
|
|
124
|
+
"condense-subtitle-label": {
|
|
125
|
+
"$type": "typography",
|
|
126
|
+
"$value": {
|
|
127
|
+
"fontFamily": "{font-family.body}",
|
|
128
|
+
"fontSize": "{font-size.sm}",
|
|
129
|
+
"fontWeight": "{font-weight.semibold}",
|
|
130
|
+
"letterSpacing": "{letter-spacing.wider}",
|
|
131
|
+
"lineHeight": "{line-height.sm}"
|
|
132
|
+
},
|
|
133
|
+
"$description": "Small uppercase eyebrow labels in the condense tier, dense UI text (tables, secondary labels).",
|
|
134
|
+
"$extensions": {
|
|
135
|
+
"sl.text-transform": "uppercase"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"magnify": {
|
|
139
|
+
"$type": "typography",
|
|
140
|
+
"$value": {
|
|
141
|
+
"fontFamily": "{font-family.body}",
|
|
142
|
+
"fontSize": "{font-size.lg}",
|
|
143
|
+
"fontWeight": "{font-weight.normal}",
|
|
144
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
145
|
+
"lineHeight": "{line-height.md}"
|
|
146
|
+
},
|
|
147
|
+
"$description": "Body copy in the magnify tier, emphasized body text (lead paragraphs)."
|
|
148
|
+
},
|
|
149
|
+
"magnify-trigger": {
|
|
150
|
+
"$type": "typography",
|
|
151
|
+
"$value": {
|
|
152
|
+
"fontFamily": "{font-family.body}",
|
|
153
|
+
"fontSize": "{font-size.lg}",
|
|
154
|
+
"fontWeight": "{font-weight.medium}",
|
|
155
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
156
|
+
"lineHeight": "{line-height.md}"
|
|
157
|
+
},
|
|
158
|
+
"$description": "Buttons and triggers in the magnify tier (emphasized, larger UI): magnify body text at medium, like base-trigger one tier up."
|
|
159
|
+
},
|
|
160
|
+
"minimize": {
|
|
161
|
+
"$type": "typography",
|
|
162
|
+
"$value": {
|
|
163
|
+
"fontFamily": "{font-family.body}",
|
|
164
|
+
"fontSize": "{font-size.xs}",
|
|
165
|
+
"fontWeight": "{font-weight.normal}",
|
|
166
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
167
|
+
"lineHeight": "{line-height.xs}"
|
|
168
|
+
},
|
|
169
|
+
"$description": "Body copy in the minimize tier, the smallest functional text (captions, fine print)."
|
|
170
|
+
},
|
|
171
|
+
"minimize-trigger": {
|
|
172
|
+
"$type": "typography",
|
|
173
|
+
"$value": {
|
|
174
|
+
"fontFamily": "{font-family.body}",
|
|
175
|
+
"fontSize": "{font-size.xs}",
|
|
176
|
+
"fontWeight": "{font-weight.medium}",
|
|
177
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
178
|
+
"lineHeight": "{line-height.xs}"
|
|
179
|
+
},
|
|
180
|
+
"$description": "Buttons and triggers in the minimize tier (the smallest UI): minimize body text at medium, like base-trigger one tier down."
|
|
181
|
+
},
|
|
182
|
+
"minimize-selected": {
|
|
183
|
+
"$type": "typography",
|
|
184
|
+
"$value": {
|
|
185
|
+
"fontFamily": "{font-family.body}",
|
|
186
|
+
"fontSize": "{font-size.xs}",
|
|
187
|
+
"fontWeight": "{font-weight.semibold}",
|
|
188
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
189
|
+
"lineHeight": "{line-height.xs}"
|
|
190
|
+
},
|
|
191
|
+
"$description": "The selected or current item in the minimize tier (the smallest functional text): selected tabs and toggles, the current nav item or page. Minimize body text at semibold, so selection reads without changing size."
|
|
192
|
+
},
|
|
193
|
+
"minimize-link": {
|
|
194
|
+
"$type": "typography",
|
|
195
|
+
"$value": "{font.minimize}",
|
|
196
|
+
"$description": "Links in the minimize tier. The same type as minimize body text: a link stands out by color and underline, not by its type."
|
|
197
|
+
},
|
|
198
|
+
"minimize-subtitle": {
|
|
199
|
+
"$type": "typography",
|
|
200
|
+
"$value": {
|
|
201
|
+
"fontFamily": "{font-family.body}",
|
|
202
|
+
"fontSize": "{font-size.xs}",
|
|
203
|
+
"fontWeight": "{font-weight.bold}",
|
|
204
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
205
|
+
"lineHeight": "{line-height.xs}"
|
|
206
|
+
},
|
|
207
|
+
"$description": "Subtitles in the minimize tier, the smallest functional text (captions, fine print)."
|
|
208
|
+
},
|
|
209
|
+
"minimize-subtitle-label": {
|
|
210
|
+
"$type": "typography",
|
|
211
|
+
"$value": {
|
|
212
|
+
"fontFamily": "{font-family.body}",
|
|
213
|
+
"fontSize": "{font-size.xs}",
|
|
214
|
+
"fontWeight": "{font-weight.semibold}",
|
|
215
|
+
"letterSpacing": "{letter-spacing.widest}",
|
|
216
|
+
"lineHeight": "{line-height.xs}"
|
|
217
|
+
},
|
|
218
|
+
"$description": "Small uppercase eyebrow labels in the minimize tier, the smallest functional text (captions, fine print).",
|
|
219
|
+
"$extensions": {
|
|
220
|
+
"sl.text-transform": "uppercase"
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"maximize-2xl": {
|
|
224
|
+
"$type": "typography",
|
|
225
|
+
"$value": {
|
|
226
|
+
"fontFamily": "{font-family.display}",
|
|
227
|
+
"fontSize": "{font-size.2xl}",
|
|
228
|
+
"fontWeight": "{font-weight.semibold}",
|
|
229
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
230
|
+
"lineHeight": "{line-height.2xl}"
|
|
231
|
+
},
|
|
232
|
+
"$description": "Display text at 2xl, for headings and hero copy."
|
|
233
|
+
},
|
|
234
|
+
"maximize-3xl": {
|
|
235
|
+
"$type": "typography",
|
|
236
|
+
"$value": {
|
|
237
|
+
"fontFamily": "{font-family.display}",
|
|
238
|
+
"fontSize": "{font-size.3xl}",
|
|
239
|
+
"fontWeight": "{font-weight.semibold}",
|
|
240
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
241
|
+
"lineHeight": "{line-height.3xl}"
|
|
242
|
+
},
|
|
243
|
+
"$description": "Display text at 3xl, for headings and hero copy."
|
|
244
|
+
},
|
|
245
|
+
"maximize-4xl": {
|
|
246
|
+
"$type": "typography",
|
|
247
|
+
"$value": {
|
|
248
|
+
"fontFamily": "{font-family.display}",
|
|
249
|
+
"fontSize": "{font-size.4xl}",
|
|
250
|
+
"fontWeight": "{font-weight.semibold}",
|
|
251
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
252
|
+
"lineHeight": "{line-height.4xl}"
|
|
253
|
+
},
|
|
254
|
+
"$description": "Display text at 4xl, for headings and hero copy."
|
|
255
|
+
},
|
|
256
|
+
"maximize-lg": {
|
|
257
|
+
"$type": "typography",
|
|
258
|
+
"$value": {
|
|
259
|
+
"fontFamily": "{font-family.display}",
|
|
260
|
+
"fontSize": "{font-size.lg}",
|
|
261
|
+
"fontWeight": "{font-weight.semibold}",
|
|
262
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
263
|
+
"lineHeight": "{line-height.md}"
|
|
264
|
+
},
|
|
265
|
+
"$description": "Display text at lg, for headings and hero copy."
|
|
266
|
+
},
|
|
267
|
+
"maximize-md": {
|
|
268
|
+
"$type": "typography",
|
|
269
|
+
"$value": {
|
|
270
|
+
"fontFamily": "{font-family.display}",
|
|
271
|
+
"fontSize": "{font-size.md}",
|
|
272
|
+
"fontWeight": "{font-weight.semibold}",
|
|
273
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
274
|
+
"lineHeight": "{line-height.md}"
|
|
275
|
+
},
|
|
276
|
+
"$description": "Display text at md, for headings and hero copy."
|
|
277
|
+
},
|
|
278
|
+
"maximize-sm": {
|
|
279
|
+
"$type": "typography",
|
|
280
|
+
"$value": {
|
|
281
|
+
"fontFamily": "{font-family.display}",
|
|
282
|
+
"fontSize": "{font-size.sm}",
|
|
283
|
+
"fontWeight": "{font-weight.semibold}",
|
|
284
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
285
|
+
"lineHeight": "{line-height.sm}"
|
|
286
|
+
},
|
|
287
|
+
"$description": "Display text at sm, for headings and hero copy."
|
|
288
|
+
},
|
|
289
|
+
"maximize-xl": {
|
|
290
|
+
"$type": "typography",
|
|
291
|
+
"$value": {
|
|
292
|
+
"fontFamily": "{font-family.display}",
|
|
293
|
+
"fontSize": "{font-size.xl}",
|
|
294
|
+
"fontWeight": "{font-weight.semibold}",
|
|
295
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
296
|
+
"lineHeight": "{line-height.md}"
|
|
297
|
+
},
|
|
298
|
+
"$description": "Display text at xl, for headings and hero copy."
|
|
299
|
+
},
|
|
300
|
+
"maximize-xs": {
|
|
301
|
+
"$type": "typography",
|
|
302
|
+
"$value": {
|
|
303
|
+
"fontFamily": "{font-family.display}",
|
|
304
|
+
"fontSize": "{font-size.xs}",
|
|
305
|
+
"fontWeight": "{font-weight.semibold}",
|
|
306
|
+
"letterSpacing": "{letter-spacing.normal}",
|
|
307
|
+
"lineHeight": "{line-height.xs}"
|
|
308
|
+
},
|
|
309
|
+
"$description": "Display text at xs, for headings and hero copy."
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|