@symbo.ls/mcp 1.0.10 → 1.0.11
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/package.json +5 -2
- package/symbols_mcp/skills/COMPONENTS.md +421 -0
- package/symbols_mcp/skills/DESIGN_SYSTEM.md +430 -0
- package/symbols_mcp/skills/MIGRATION.md +520 -0
- package/symbols_mcp/skills/PATTERNS.md +509 -0
- package/symbols_mcp/skills/PROJECT_STRUCTURE.md +400 -0
- package/symbols_mcp/skills/RULES.md +488 -0
- package/symbols_mcp/skills/SEO-METADATA.md +41 -1
- package/symbols_mcp/skills/SYNTAX.md +777 -0
- package/symbols_mcp/skills/ACCESSIBILITY.md +0 -471
- package/symbols_mcp/skills/ACCESSIBILITY_AUDITORY.md +0 -70
- package/symbols_mcp/skills/AGENT_INSTRUCTIONS.md +0 -265
- package/symbols_mcp/skills/BUILT_IN_COMPONENTS.md +0 -304
- package/symbols_mcp/skills/CLAUDE.md +0 -2158
- package/symbols_mcp/skills/CLI_QUICK_START.md +0 -205
- package/symbols_mcp/skills/DEFAULT_COMPONENTS.md +0 -2002
- package/symbols_mcp/skills/DEFAULT_DESIGN_SYSTEM.md +0 -496
- package/symbols_mcp/skills/DESIGN_SYSTEM_CONFIG.md +0 -487
- package/symbols_mcp/skills/DESIGN_SYSTEM_IN_PROPS.md +0 -136
- package/symbols_mcp/skills/DOMQL_v2-v3_MIGRATION.md +0 -236
- package/symbols_mcp/skills/MIGRATE_TO_SYMBOLS.md +0 -634
- package/symbols_mcp/skills/OPTIMIZATIONS_FOR_AGENT.md +0 -253
- package/symbols_mcp/skills/PROJECT_SETUP.md +0 -217
- package/symbols_mcp/skills/QUICKSTART.md +0 -79
- package/symbols_mcp/skills/REMOTE_PREVIEW.md +0 -144
- package/symbols_mcp/skills/SYMBOLS_LOCAL_INSTRUCTIONS.md +0 -1405
- package/symbols_mcp/skills/UI_UX_PATTERNS.md +0 -68
|
@@ -1,496 +0,0 @@
|
|
|
1
|
-
# Default design system
|
|
2
|
-
|
|
3
|
-
This document describes every token defined in `smbls/designSystem/` and how they are used in Symbols.app.
|
|
4
|
-
|
|
5
|
-
## Files
|
|
6
|
-
|
|
7
|
-
| File | Purpose |
|
|
8
|
-
| ---------------- | ----------------------------------------------------------- |
|
|
9
|
-
| `COLOR.js` | Named color palette |
|
|
10
|
-
| `GRADIENT.js` | Gradient definitions (empty by default) |
|
|
11
|
-
| `THEME.js` | Semantic surface themes (document, dialog, field, primary…) |
|
|
12
|
-
| `FONT.js` | Custom font faces |
|
|
13
|
-
| `FONT_FAMILY.js` | Font family stacks |
|
|
14
|
-
| `TYPOGRAPHY.js` | Type scale configuration |
|
|
15
|
-
| `SPACING.js` | Spacing scale configuration |
|
|
16
|
-
| `TIMING.js` | Easing curves |
|
|
17
|
-
| `CLASS.js` | Utility CSS class overrides (empty by default) |
|
|
18
|
-
| `GRID.js` | Grid presets (empty by default) |
|
|
19
|
-
| `SHAPE.js` | Shape/border-radius presets (empty by default) |
|
|
20
|
-
| `ANIMATION.js` | Named keyframe animations |
|
|
21
|
-
| `MEDIA.js` | Custom media query breakpoints |
|
|
22
|
-
| `CASES.js` | Conditional cases (environment flags) |
|
|
23
|
-
| `RESET.js` | Global CSS reset overrides (empty by default) |
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## COLOR
|
|
28
|
-
|
|
29
|
-
File: `smbls/designSystem/COLOR.js`
|
|
30
|
-
|
|
31
|
-
Named hex values and semantic adaptive colors used everywhere via `color`, `background`, `borderColor`, and `theme` props.
|
|
32
|
-
|
|
33
|
-
### Static colors
|
|
34
|
-
|
|
35
|
-
| Token | Value | Usage |
|
|
36
|
-
| ------------- | --------------- | -------------------------- |
|
|
37
|
-
| `green` | `#389d34` | Success states |
|
|
38
|
-
| `red` | `#e15c55` | Warning/error states |
|
|
39
|
-
| `yellow` | `#EDCB38` | Attention states |
|
|
40
|
-
| `orange` | `#e97c16` | Accent states |
|
|
41
|
-
| `blue` | `#0474f2` | Primary interactive color |
|
|
42
|
-
| `phosphorus` | `#4db852` | Alternate success |
|
|
43
|
-
| `black` | `black` | Pure black |
|
|
44
|
-
| `white` | `#ffffff` | Pure white |
|
|
45
|
-
| `gray` | `#4e4e50` | Neutral mid-tone base |
|
|
46
|
-
| `codGray` | `#171717` | Near-black page background |
|
|
47
|
-
| `solitude` | `#e5f1ff` | Light blue tint |
|
|
48
|
-
| `anakiwa` | `#a3cdfd` | Light blue accent |
|
|
49
|
-
| `concrete` | `#f2f2f2` | Light neutral |
|
|
50
|
-
| `transparent` | `rgba(0,0,0,0)` | Fully transparent |
|
|
51
|
-
|
|
52
|
-
### Adaptive semantic colors
|
|
53
|
-
|
|
54
|
-
These tokens resolve to different values in dark and light mode. The `[dark, light]` tuple is applied automatically via the theme system.
|
|
55
|
-
|
|
56
|
-
| Token | Dark value | Light value | Usage |
|
|
57
|
-
| ----------- | -------------------------- | -------------------------- | -------------------- |
|
|
58
|
-
| `title` | `gray 1 −168` (near-white) | `gray 1 +168` (near-black) | Primary text |
|
|
59
|
-
| `caption` | `gray 1 −68` | `gray 1 +68` | Secondary/meta text |
|
|
60
|
-
| `paragraph` | `gray 1 −42` | `gray 1 +42` | Body copy |
|
|
61
|
-
| `disabled` | `gray 1 −26` | `gray 1 +26` | Disabled state text |
|
|
62
|
-
| `line` | `gray 1 −16` | `gray 1 +16` | Dividers and borders |
|
|
63
|
-
|
|
64
|
-
The `gray X ±Y` notation is a Symbols color function: start from `gray` at opacity `X`, then lighten or darken by `Y` steps.
|
|
65
|
-
|
|
66
|
-
### Usage in components
|
|
67
|
-
|
|
68
|
-
```js
|
|
69
|
-
// Static color
|
|
70
|
-
Text: {
|
|
71
|
-
color: "blue";
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Adaptive semantic color
|
|
75
|
-
Caption: {
|
|
76
|
-
color: "caption";
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Inline tint/shade
|
|
80
|
-
Box: {
|
|
81
|
-
background: "gray 0.1";
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## THEME
|
|
88
|
-
|
|
89
|
-
File: `smbls/designSystem/THEME.js`
|
|
90
|
-
|
|
91
|
-
Themes define paired `background` + `color` (and optional effects) for dark and light modes. Apply with `theme: 'name'` on any element.
|
|
92
|
-
|
|
93
|
-
### Available themes
|
|
94
|
-
|
|
95
|
-
#### `document`
|
|
96
|
-
|
|
97
|
-
The page root surface.
|
|
98
|
-
|
|
99
|
-
| Mode | Background | Text |
|
|
100
|
-
| ----- | -------------------------- | ------- |
|
|
101
|
-
| dark | `codGray` (`#171717`) | `title` |
|
|
102
|
-
| light | `gray 1 +168` (near-white) | `title` |
|
|
103
|
-
|
|
104
|
-
```js
|
|
105
|
-
Page: { extends: 'Flex', theme: 'document', minHeight: '100dvh' }
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
#### `dialog`
|
|
109
|
-
|
|
110
|
-
Elevated card or panel surface, with glass blur.
|
|
111
|
-
|
|
112
|
-
| Mode | Background | Text | Blur |
|
|
113
|
-
| ----- | --------------- | ------- | ----------- |
|
|
114
|
-
| dark | `gray 0.95 −68` | `title` | `blur(3px)` |
|
|
115
|
-
| light | `gray .95 +150` | `title` | `blur(3px)` |
|
|
116
|
-
|
|
117
|
-
```js
|
|
118
|
-
Card: { extends: 'Flex', theme: 'dialog', round: 'A', padding: 'A' }
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
#### `dialog-elevated`
|
|
122
|
-
|
|
123
|
-
Higher elevation than `dialog`, used for active/selected states in tab bars.
|
|
124
|
-
|
|
125
|
-
| Mode | Background | Text |
|
|
126
|
-
| ----- | ---------------- | ------- |
|
|
127
|
-
| dark | `gray 1 +68` | `title` |
|
|
128
|
-
| light | `gray 0.95 +140` | `title` |
|
|
129
|
-
|
|
130
|
-
```js
|
|
131
|
-
Tab: { '.isActive': { theme: 'dialog-elevated' } }
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
#### `field`
|
|
135
|
-
|
|
136
|
-
Input control surface.
|
|
137
|
-
|
|
138
|
-
| Mode | Background | Text | Placeholder |
|
|
139
|
-
| ----- | --------------- | ------- | ------------- |
|
|
140
|
-
| dark | `gray 0.95 −65` | `white` | `white 1 −78` |
|
|
141
|
-
| light | transparent | `black` | `gray 1 −68` |
|
|
142
|
-
|
|
143
|
-
```js
|
|
144
|
-
Input: {
|
|
145
|
-
theme: "field";
|
|
146
|
-
}
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
#### `field-dialog`
|
|
150
|
-
|
|
151
|
-
Slightly elevated input variant, used inside dialog panels.
|
|
152
|
-
|
|
153
|
-
| Mode | Background | Text |
|
|
154
|
-
| ----- | ------------ | ------- |
|
|
155
|
-
| dark | `gray 1 −16` | `title` |
|
|
156
|
-
| light | `gray 1 −96` | `title` |
|
|
157
|
-
|
|
158
|
-
#### `primary`
|
|
159
|
-
|
|
160
|
-
Main call-to-action color (blue background, white text).
|
|
161
|
-
|
|
162
|
-
| Mode | Background | Text |
|
|
163
|
-
| ----- | ---------- | ------- |
|
|
164
|
-
| dark | `blue` | `white` |
|
|
165
|
-
| light | `blue` | `white` |
|
|
166
|
-
|
|
167
|
-
```js
|
|
168
|
-
Button: { theme: 'primary', text: 'Save' }
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
#### `warning`
|
|
172
|
-
|
|
173
|
-
Destructive or alert state (red background, white text).
|
|
174
|
-
|
|
175
|
-
| Mode | Background | Text |
|
|
176
|
-
| ----- | ---------- | ------- |
|
|
177
|
-
| dark | `red` | `white` |
|
|
178
|
-
| light | `red` | `white` |
|
|
179
|
-
|
|
180
|
-
```js
|
|
181
|
-
Badge: { theme: 'warning', text: 'Error' }
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
#### `success`
|
|
185
|
-
|
|
186
|
-
Positive confirmation state (green background, white text).
|
|
187
|
-
|
|
188
|
-
| Mode | Background | Text |
|
|
189
|
-
| ----- | ---------- | ------- |
|
|
190
|
-
| dark | `green` | `white` |
|
|
191
|
-
| light | `green` | `white` |
|
|
192
|
-
|
|
193
|
-
#### `transparent`
|
|
194
|
-
|
|
195
|
-
No background, inherits current text color.
|
|
196
|
-
|
|
197
|
-
```js
|
|
198
|
-
Button: { theme: 'transparent', text: 'Cancel' }
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
#### `bordered`
|
|
202
|
-
|
|
203
|
-
Transparent background with a 1 px border.
|
|
204
|
-
|
|
205
|
-
| Mode | Border |
|
|
206
|
-
| ----- | ------------------- |
|
|
207
|
-
| dark | `1px solid #4e4e50` |
|
|
208
|
-
| light | `1px solid #a3cdfd` |
|
|
209
|
-
|
|
210
|
-
```js
|
|
211
|
-
Card: {
|
|
212
|
-
theme: "bordered";
|
|
213
|
-
}
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
#### `none`
|
|
217
|
-
|
|
218
|
-
Resets both color and background to `none`.
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## FONT
|
|
223
|
-
|
|
224
|
-
File: `smbls/designSystem/FONT.js`
|
|
225
|
-
|
|
226
|
-
Declares custom font faces loaded via the design system's `useFontImport` option.
|
|
227
|
-
|
|
228
|
-
| Font | URL | Weight | Variable |
|
|
229
|
-
| --------------------- | ----------- | ------ | -------- |
|
|
230
|
-
| `AvenirNext_Variable` | Symbols CDN | 400 | yes |
|
|
231
|
-
|
|
232
|
-
The variable font covers all weights from a single file. It is used as the default UI font across the design system.
|
|
233
|
-
|
|
234
|
-
```js
|
|
235
|
-
// In component
|
|
236
|
-
Text: {
|
|
237
|
-
fontFamily: "AvenirNext_Variable";
|
|
238
|
-
}
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## FONT_FAMILY
|
|
244
|
-
|
|
245
|
-
File: `smbls/designSystem/FONT_FAMILY.js`
|
|
246
|
-
|
|
247
|
-
Defines font stack aliases.
|
|
248
|
-
|
|
249
|
-
| Token | Stack | Type | Default |
|
|
250
|
-
| --------- | ------------------------------------------------- | ------------ | ------- |
|
|
251
|
-
| `Default` | `San Francisco, Helvetica Neue, Helvetica, Arial` | `sans-serif` | yes |
|
|
252
|
-
|
|
253
|
-
The `Default` stack is the system UI fallback used before `AvenirNext_Variable` loads.
|
|
254
|
-
|
|
255
|
-
```js
|
|
256
|
-
Text: {
|
|
257
|
-
fontFamily: "Default";
|
|
258
|
-
}
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
## TYPOGRAPHY
|
|
264
|
-
|
|
265
|
-
File: `smbls/designSystem/TYPOGRAPHY.js`
|
|
266
|
-
|
|
267
|
-
Controls the font-size scale used for all typographic tokens (`A`, `B`, `C`, `Z1`, `W2`, etc.).
|
|
268
|
-
|
|
269
|
-
```js
|
|
270
|
-
{
|
|
271
|
-
'@default': {
|
|
272
|
-
base: 16, // 16 px root font size
|
|
273
|
-
ratio: 1.25, // Major Third scale
|
|
274
|
-
range: [-5, 12],
|
|
275
|
-
subSequence: true
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
The scale generates tokens from `W4` (smallest) to `C2` (largest) using the Fibonacci-like progression:
|
|
281
|
-
|
|
282
|
-
| Token | Approx size |
|
|
283
|
-
| --------- | ----------- |
|
|
284
|
-
| `W4`–`W1` | ~8–10 px |
|
|
285
|
-
| `W`–`Z4` | ~10–11 px |
|
|
286
|
-
| `Z3`–`Z` | ~11–12 px |
|
|
287
|
-
| `Y4`–`A` | ~12–16 px |
|
|
288
|
-
| `A1`–`B` | ~18–24 px |
|
|
289
|
-
| `B1`–`C` | ~28–40 px |
|
|
290
|
-
| `C1`–`C2` | ~48–64 px |
|
|
291
|
-
|
|
292
|
-
Use these tokens as `fontSize` values on any text element.
|
|
293
|
-
|
|
294
|
-
```js
|
|
295
|
-
Heading: {
|
|
296
|
-
fontSize: "C";
|
|
297
|
-
}
|
|
298
|
-
Caption: {
|
|
299
|
-
fontSize: "Z2";
|
|
300
|
-
}
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## SPACING
|
|
306
|
-
|
|
307
|
-
File: `smbls/designSystem/SPACING.js`
|
|
308
|
-
|
|
309
|
-
Controls the spacing scale used for all layout tokens (`padding`, `margin`, `gap`, `width`, `height`, `boxSize`, etc.).
|
|
310
|
-
|
|
311
|
-
```js
|
|
312
|
-
{
|
|
313
|
-
'@default': {
|
|
314
|
-
base: 16, // 16 px root unit
|
|
315
|
-
ratio: 1.618, // Golden Ratio
|
|
316
|
-
range: [-5, 15]
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
The Golden Ratio produces a wider scale than typography. Common tokens:
|
|
322
|
-
|
|
323
|
-
| Token | Approx value | Common use |
|
|
324
|
-
| -------- | ------------ | ------------------------------- |
|
|
325
|
-
| `W2`–`W` | 2–4 px | Micro gaps, offsets |
|
|
326
|
-
| `X4`–`X` | 4–6 px | Icon padding, tight gaps |
|
|
327
|
-
| `Y4`–`Y` | 6–10 px | Small gaps |
|
|
328
|
-
| `Z4`–`Z` | 10–16 px | Compact padding |
|
|
329
|
-
| `A`–`A4` | 16–26 px | Default padding, gutters |
|
|
330
|
-
| `B`–`B4` | 26–42 px | Section padding |
|
|
331
|
-
| `C`–`C4` | 42–68 px | Container padding, avatar sizes |
|
|
332
|
-
| `D`–`D4` | 68–110 px | Large sections |
|
|
333
|
-
| `E`–`F` | 110–178 px | Hero padding, max-widths |
|
|
334
|
-
| `G`–`H` | 178–288 px | Wide containers |
|
|
335
|
-
|
|
336
|
-
Compound tokens are written with `+` (e.g., `A+W2` means A plus the W2 step).
|
|
337
|
-
|
|
338
|
-
```js
|
|
339
|
-
Box: {
|
|
340
|
-
padding: "A B2";
|
|
341
|
-
} // top/bottom A, left/right B2
|
|
342
|
-
Flex: {
|
|
343
|
-
gap: "Z";
|
|
344
|
-
} // gap = ~16 px
|
|
345
|
-
Avatar: {
|
|
346
|
-
boxSize: "C2";
|
|
347
|
-
} // ~68 px square
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
---
|
|
351
|
-
|
|
352
|
-
## TIMING
|
|
353
|
-
|
|
354
|
-
File: `smbls/designSystem/TIMING.js`
|
|
355
|
-
|
|
356
|
-
Named easing curves for CSS transitions and animations.
|
|
357
|
-
|
|
358
|
-
| Token | Value | Character |
|
|
359
|
-
| --------------- | ---------------------------------- | --------------- |
|
|
360
|
-
| `defaultBezier` | `cubic-bezier(.29, .67, .51, .97)` | Smooth ease-out |
|
|
361
|
-
|
|
362
|
-
```js
|
|
363
|
-
Box: { transition: 'B defaultBezier', transitionProperty: 'opacity, transform' }
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
|
|
368
|
-
## ANIMATION
|
|
369
|
-
|
|
370
|
-
File: `smbls/designSystem/ANIMATION.js`
|
|
371
|
-
|
|
372
|
-
Named keyframe animations available via `animation` prop.
|
|
373
|
-
|
|
374
|
-
| Name | From | To | Use |
|
|
375
|
-
| ------------- | ------------------------------- | ------------------------------- | ---------------- |
|
|
376
|
-
| `fadeInUp` | `opacity: 0, translateY(12.5%)` | `opacity: 1, translateY(0)` | Entrance |
|
|
377
|
-
| `fadeOutDown` | `opacity: 1, translateY(0)` | `opacity: 0, translateY(12.5%)` | Exit |
|
|
378
|
-
| `marquee` | `translateX(0)` | `translateX(-50%)` | Scrolling ticker |
|
|
379
|
-
|
|
380
|
-
```js
|
|
381
|
-
Modal: {
|
|
382
|
-
animation: "fadeInUp B defaultBezier";
|
|
383
|
-
}
|
|
384
|
-
Ticker: {
|
|
385
|
-
animation: "marquee 8s linear infinite";
|
|
386
|
-
}
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
---
|
|
390
|
-
|
|
391
|
-
## MEDIA
|
|
392
|
-
|
|
393
|
-
File: `smbls/designSystem/MEDIA.js`
|
|
394
|
-
|
|
395
|
-
Custom named breakpoints that extend the built-in set.
|
|
396
|
-
|
|
397
|
-
| Token | Query |
|
|
398
|
-
| ---------- | ------------------ |
|
|
399
|
-
| `mobileL` | `min-width: 480px` |
|
|
400
|
-
| `tabletSm` | `min-width: 728px` |
|
|
401
|
-
|
|
402
|
-
Use with `@` prefix in any element:
|
|
403
|
-
|
|
404
|
-
```js
|
|
405
|
-
Grid: {
|
|
406
|
-
columns: '1fr',
|
|
407
|
-
'@tabletSm': { columns: 'repeat(2, 1fr)' },
|
|
408
|
-
'@mobileL': { columns: 'repeat(3, 1fr)' }
|
|
409
|
-
}
|
|
410
|
-
```
|
|
411
|
-
|
|
412
|
-
Built-in breakpoints from the default config also apply (`@mobile`, `@tablet`, `@desktop`, etc.).
|
|
413
|
-
|
|
414
|
-
---
|
|
415
|
-
|
|
416
|
-
## CASES
|
|
417
|
-
|
|
418
|
-
File: `smbls/designSystem/CASES.js`
|
|
419
|
-
|
|
420
|
-
Conditional environment flags evaluated at runtime. Used as boolean props (`.caseName`) or state conditionals.
|
|
421
|
-
|
|
422
|
-
| Case | Condition |
|
|
423
|
-
| ---------- | ------------------------------------------------------ |
|
|
424
|
-
| `isSafari` | `true` when the browser is Safari (not Chrome/Android) |
|
|
425
|
-
|
|
426
|
-
```js
|
|
427
|
-
Element: {
|
|
428
|
-
$isSafari: { top: 'Z2', right: 'Z2' }
|
|
429
|
-
}
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
---
|
|
433
|
-
|
|
434
|
-
## Design system flags
|
|
435
|
-
|
|
436
|
-
Set in `smbls/designSystem/index.js`:
|
|
437
|
-
|
|
438
|
-
| Flag | Default | Effect |
|
|
439
|
-
| ------------------ | ------- | -------------------------------------------- |
|
|
440
|
-
| `useReset` | `true` | Apply a CSS reset |
|
|
441
|
-
| `useVariable` | `true` | Emit CSS custom properties for all tokens |
|
|
442
|
-
| `useFontImport` | `true` | Load `FONT` entries via `@font-face` |
|
|
443
|
-
| `useIconSprite` | `true` | Inline the `ICONS` SVG sprite into the DOM |
|
|
444
|
-
| `useSvgSprite` | `true` | Inline any SVG sprite definitions |
|
|
445
|
-
| `useDefaultConfig` | `true` | Merge the smbls default design system config |
|
|
446
|
-
| `useDocumentTheme` | `true` | Apply `document` theme to `<html>` |
|
|
447
|
-
| `verbose` | `false` | Suppress design system debug output |
|
|
448
|
-
|
|
449
|
-
---
|
|
450
|
-
|
|
451
|
-
## Cross-cutting token conventions
|
|
452
|
-
|
|
453
|
-
### Shorthand spacing
|
|
454
|
-
|
|
455
|
-
Spacing props accept 1–4 tokens just like CSS shorthand:
|
|
456
|
-
|
|
457
|
-
```js
|
|
458
|
-
padding: "A"; // all sides
|
|
459
|
-
padding: "A B"; // vertical | horizontal
|
|
460
|
-
padding: "A B C"; // top | horizontal | bottom
|
|
461
|
-
padding: "A B C D"; // top | right | bottom | left
|
|
462
|
-
margin: "- - - auto"; // use '-' to skip a side (no-op)
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
### Color modifier syntax
|
|
466
|
-
|
|
467
|
-
```
|
|
468
|
-
'gray 0.95 -68' // gray at 95% opacity, darkened by 68 steps
|
|
469
|
-
'gray 1 +168' // gray at full opacity, lightened by 168 steps
|
|
470
|
-
'white 1 -78' // white darkened 78 steps
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
### Theme + mode targeting
|
|
474
|
-
|
|
475
|
-
```js
|
|
476
|
-
Box: {
|
|
477
|
-
'@dark': { background: 'codGray' },
|
|
478
|
-
'@light': { background: 'concrete' }
|
|
479
|
-
}
|
|
480
|
-
```
|
|
481
|
-
|
|
482
|
-
### Responsive overrides
|
|
483
|
-
|
|
484
|
-
```js
|
|
485
|
-
Grid: {
|
|
486
|
-
columns: 'repeat(4, 1fr)',
|
|
487
|
-
'@tabletSm': { columns: 'repeat(2, 1fr)' },
|
|
488
|
-
'@mobileL': { columns: '1fr' }
|
|
489
|
-
}
|
|
490
|
-
```
|
|
491
|
-
|
|
492
|
-
---
|
|
493
|
-
|
|
494
|
-
## Supplemental
|
|
495
|
-
|
|
496
|
-
Component usage is documented in [DEFAULT_COMPONENTS.md](DEFAULT_COMPONENTS.md). Built-in atoms are documented in [BUILT_IN_COMPONENTS.md](BUILT_IN_COMPONENTS.md). General conventions are in [CLAUDE.md](CLAUDE.md).
|