@symbo.ls/mcp 1.0.23 → 1.0.25

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symbo.ls/mcp",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "description": "Symbols.app MCP — docs, code generation, publishing, CLI/SDK reference",
5
5
  "mcpName": "io.github.symbo-ls/symbols-mcp",
6
6
  "files": [
@@ -59,26 +59,19 @@ Before auditing, confirm that every skill below has been consulted. Do not proce
59
59
 
60
60
  ### Design System
61
61
  - DESIGN_SYSTEM
62
- - DESIGN_SYSTEM_ARCHITECT
63
62
  - DEFAULT_LIBRARY
63
+ - DEFAULT_STYLES
64
64
 
65
65
  ### UI / UX / Direction
66
66
  - PATTERNS
67
67
  - DESIGN_DIRECTION
68
- - DESIGN_CRITIQUE
69
- - DESIGN_TREND
70
68
  - DESIGN_TO_CODE
71
- - FIGMA_MATCHING
69
+ - DESIGN_PERSONAS (includes: Brand Identity, Design Critique, Design Trend, Design System Architect, Figma Matching, Marketing Assets, Presentation)
72
70
 
73
71
  ### Components
74
72
  - COMPONENTS
75
73
  - DEFAULT_COMPONENTS
76
74
 
77
- ### Brand / Presentation
78
- - BRAND_IDENTITY
79
- - MARKETING_ASSETS
80
- - PRESENTATION
81
-
82
75
  ### SEO
83
76
  - SEO-METADATA
84
77
 
@@ -155,7 +148,7 @@ Complete each phase fully before moving to the next.
155
148
  1. Align all layouts and flows with DESIGN_DIRECTION.md.
156
149
  2. Enforce visual hierarchy discipline.
157
150
  3. Fix all layout inconsistencies.
158
- 4. Validate Figma-to-code fidelity per FIGMA_MATCHING.
151
+ 4. Validate Figma-to-code fidelity per DESIGN_PERSONAS (Figma Matching section).
159
152
  5. Remove all visual noise.
160
153
 
161
154
  ---
@@ -242,18 +242,24 @@ set({ color: { blue: '#00f' }, typography: { base: 16 } })
242
242
 
243
243
  ---
244
244
 
245
- ## 14. Navigation — use `el.router()`, never `window.location`
245
+ ## 14. Navigation — use `el.router()` with root element, never `window.location`
246
246
 
247
247
  ```js
248
248
  // ❌ WRONG — bypasses SPA routing
249
249
  onClick: () => { window.location.href = '/' }
250
250
  onClick: () => { window.location.assign('/dashboard') }
251
251
 
252
- // CORRECTframework routing
252
+ // WRONGel is a leaf/button, has no routes — throws "Cannot read properties of undefined"
253
+ onClick: (e, el) => el.router('/')
254
+ onClick: (e, el) => el.router('/', el)
255
+
256
+ // ✅ CORRECT — pass root element that holds route map
253
257
  onClick: (e, el) => el.router('/', el.getRoot())
254
258
  onClick: (e, el) => el.router('/dashboard', el.getRoot())
255
259
  ```
256
260
 
261
+ `el.getRoot()` returns the DOMQL root element which holds the `routes` map. Passing any other element causes a runtime error.
262
+
257
263
  ---
258
264
 
259
265
  ## 15. Links — use `extends: 'Link'` with `href` as prop, never `attr: { href }`
@@ -268,3 +274,57 @@ Nav: { tag: 'a', attr: { href: '/about' } }
268
274
  // ✅ CORRECT — Link component with href as prop
269
275
  Nav: { extends: 'Link', href: '/about', text: 'About' }
270
276
  ```
277
+
278
+ ---
279
+
280
+ ## 16. Animated elements — use `opacity + pointerEvents`, never `show` for transitions
281
+
282
+ `show: false` sets `display: none`, which cuts CSS transitions instantly. Elements that animate in/out must stay in the DOM.
283
+
284
+ ```js
285
+ // ❌ WRONG — show removes element from layout, transitions never fire
286
+ Dropdown: {
287
+ show: (el, s) => s.root.open,
288
+ transition: 'opacity 0.2s ease', // Ignored — element is display:none when closed
289
+ }
290
+
291
+ // ✅ CORRECT — element stays in DOM, transitions work
292
+ Dropdown: {
293
+ opacity: (el, s) => s.root.open ? '1' : '0',
294
+ pointerEvents: (el, s) => s.root.open ? 'auto' : 'none',
295
+ transition: 'opacity 0.2s ease, transform 0.2s ease',
296
+ transform: (el, s) => s.root.open ? 'translateY(0)' : 'translateY(-6px)',
297
+ }
298
+ ```
299
+
300
+ Use `show` only for elements that should be fully removed from layout with no animation. For modals, dropdowns, tooltips, drawers — always use the opacity pattern.
301
+
302
+ ---
303
+
304
+ ## 17. CSS selectors — nest media and pseudo, never chain into one string
305
+
306
+ ```js
307
+ // ❌ WRONG — chained selector string
308
+ '@dark :hover': { background: 'blue' }
309
+ '@mobileL :focus': { outline: 'none' }
310
+
311
+ // ✅ CORRECT — nested objects
312
+ '@dark': { ':hover': { background: 'blue' } }
313
+ '@mobileL': { ':focus': { outline: 'none' } }
314
+ ```
315
+
316
+ ---
317
+
318
+ ## 18. Colors — define once, shade with modifiers, not Tailwind-style palettes
319
+
320
+ ```js
321
+ // ❌ WRONG — multiple shade definitions
322
+ color: {
323
+ blue50: '#eff6ff', blue100: '#dbeafe', blue200: '#bfdbfe',
324
+ blue300: '#93c5fd', blue400: '#60a5fa', blue500: '#3b82f6',
325
+ }
326
+
327
+ // ✅ CORRECT — single base, use modifiers in components
328
+ color: { blue: '#0474f2' }
329
+ // Then: 'blue.7' (opacity), 'blue+20' (lighten), 'blue-30' (darken)
330
+ ```
@@ -1,455 +1,10 @@
1
1
  # Default Project Template — Complete Component Reference
2
2
 
3
3
  All components from the default Symbols project template (default.symbo.ls).
4
- These components are available in every project that includes the default library.
5
- Reference them by PascalCase key name — no imports needed.
4
+ Available in every project that includes the default library.
5
+ Reference by PascalCase key name — no imports needed.
6
6
 
7
- ---
8
-
9
- ## Project Configuration
10
-
11
- ### symbols.json
12
- ```json
13
- {
14
- "key": "default-flattened.symbo.ls",
15
- "dir": ".",
16
- "bundler": "parcel"
17
- }
18
- ```
19
-
20
- ### config.js
21
- ```js
22
- export default {
23
- useReset: true,
24
- useVariable: true,
25
- useFontImport: true,
26
- useIconSprite: true,
27
- useSvgSprite: true,
28
- useDefaultConfig: true,
29
- useDocumentTheme: true,
30
- verbose: false,
31
- globalTheme: 'auto'
32
- }
33
- ```
34
-
35
- ### context.js
36
- ```js
37
- import state from './state.js'
38
- import dependencies from './dependencies.js'
39
- import * as components from './components/index.js'
40
- import * as snippets from './snippets/index.js'
41
- import pages from './pages/index.js'
42
- import * as functions from './functions/index.js'
43
- import * as methods from './methods/index.js'
44
- import designSystem from './designSystem/index.js'
45
- import cases from './cases.js'
46
- import files from './files/index.js'
47
-
48
- export default {
49
- state,
50
- dependencies,
51
- components,
52
- snippets,
53
- pages,
54
- functions,
55
- methods,
56
- designSystem,
57
- cases,
58
- files
59
- }
60
- ```
61
-
62
- ### state.js
63
- ```js
64
- export default {};
65
- ```
66
-
67
- ### dependencies.js
68
- ```js
69
- export default {};
70
- ```
71
-
72
- ### envs.js
73
- ```js
74
- export default {}
75
- ```
76
-
77
- ### sharedLibraries.js
78
- ```js
79
- export default []
80
- ```
81
-
82
- ---
83
-
84
- ## Design System
85
-
86
- ### index.js (Design System entry)
87
- ```js
88
- import color from './color.js'
89
- import gradient from './gradient.js'
90
- import theme from './theme.js'
91
- import font from './font.js'
92
- import font_family from './font_family.js'
93
- import typography from './typography.js'
94
- import spacing from './spacing.js'
95
- import timing from './timing.js'
96
- import _class from './class.js'
97
- import grid from './grid.js'
98
- import icons from './icons.js'
99
- import shape from './shape.js'
100
- import reset from './reset.js'
101
- import animation from './animation.js'
102
- import media from './media.js'
103
- import cases from './cases.js'
104
-
105
- export default {
106
- color: color,
107
- gradient: gradient,
108
- theme: theme,
109
- font: font,
110
- font_family: font_family,
111
- typography: typography,
112
- spacing: spacing,
113
- timing: timing,
114
- class: _class,
115
- grid: grid,
116
- icons: icons,
117
- shape: shape,
118
- reset: reset,
119
- animation: animation,
120
- media: media,
121
- cases: cases,
122
- }
123
- ```
124
-
125
- ### color
126
- ```js
127
- export default {
128
- green: '#389d34',
129
- red: '#e15c55',
130
- yellow: '#EDCB38',
131
- orange: '#e97c16',
132
- transparent: 'rgba(0, 0, 0, 0)',
133
- black: 'black',
134
- gray: '#4e4e50',
135
- white: '#ffffff',
136
- title: [
137
- '--gray 1 -168',
138
- '--gray 1 +168',
139
- ],
140
- caption: [
141
- '--gray 1 -68',
142
- '--gray 1 +68',
143
- ],
144
- paragraph: [
145
- '--gray 1 -42',
146
- '--gray 1 +42',
147
- ],
148
- disabled: [
149
- '--gray 1 -26',
150
- '--gray 1 +26',
151
- ],
152
- line: [
153
- '--gray 1 -16',
154
- '--gray 1 +16',
155
- ],
156
- codGray: '#171717',
157
- solitude: '#e5f1ff',
158
- anakiwa: '#a3cdfd',
159
- concrete: '#f2f2f2',
160
- blue: '#0474f2',
161
- phosphorus: '#4db852',
162
- };
163
- ```
164
-
165
- ### gradient
166
- ```js
167
- export default {};
168
- ```
169
-
170
- ### theme
171
- ```js
172
- export default {
173
- document: {
174
- '@dark': {
175
- background: 'codGray',
176
- color: 'title',
177
- },
178
- '@light': {
179
- background: 'gray 1 +168',
180
- color: 'title',
181
- },
182
- },
183
- dialog: {
184
- '@dark': {
185
- background: 'gray 0.95 -68',
186
- color: 'title',
187
- backdropFilter: 'blur(3px)',
188
- borderColor: 'gray 0',
189
- outlineColor: 'blue',
190
- },
191
- '@light': {
192
- background: 'gray .95 +150',
193
- color: 'title',
194
- backdropFilter: 'blur(3px)',
195
- borderColor: 'gray 0',
196
- outlineColor: 'blue',
197
- },
198
- },
199
- 'dialog-elevated': {
200
- '@dark': {
201
- color: 'title',
202
- background: 'gray 1 +68',
203
- borderColor: 'gray 0',
204
- outlineColor: 'blue',
205
- backgroundKey: 'caption',
206
- },
207
- '@light': {
208
- color: 'title',
209
- background: 'gray 0.95 +140',
210
- borderColor: 'gray 0',
211
- outlineColor: 'blue',
212
- },
213
- },
214
- field: {
215
- '@dark': {
216
- color: 'white',
217
- background: 'gray 0.95 -65',
218
- '::placeholder': {
219
- color: 'white 1 -78',
220
- },
221
- },
222
- '@light': {
223
- color: 'black',
224
- '::placeholder': {
225
- color: 'gray 1 -68',
226
- },
227
- },
228
- },
229
- 'field-dialog': {
230
- '@dark': {
231
- background: 'gray 1 -16',
232
- color: 'title',
233
- },
234
- '@light': {
235
- color: 'title',
236
- background: 'gray 1 -96',
237
- },
238
- },
239
- primary: {
240
- '@dark': {
241
- background: 'blue',
242
- color: 'white',
243
- },
244
- '@light': {
245
- color: 'white',
246
- background: 'blue',
247
- },
248
- },
249
- warning: {
250
- '@dark': {
251
- background: 'red',
252
- color: 'white',
253
- },
254
- '@light': {
255
- color: 'white',
256
- background: 'red',
257
- },
258
- },
259
- success: {
260
- '@dark': {
261
- background: 'green',
262
- color: 'white',
263
- },
264
- '@light': {
265
- background: 'green',
266
- color: 'white',
267
- },
268
- },
269
- none: {
270
- color: 'none',
271
- background: 'none',
272
- },
273
- transparent: {
274
- color: 'currentColor',
275
- background: 'transparent',
276
- },
277
- bordered: {
278
- background: 'transparent',
279
- '@dark': {
280
- border: '1px solid #4e4e50',
281
- },
282
- '@light': {
283
- border: '1px solid #a3cdfd',
284
- },
285
- },
286
- };
287
- ```
288
-
289
- ### font
290
- ```js
291
- export default {};
292
- ```
293
-
294
- ### font_family
295
- ```js
296
- export default {
297
- Default: {
298
- isDefault: true,
299
- value: [
300
- 'San Francisco, Helvetica Neue, Helvetica, Arial',
301
- ],
302
- type: 'sans-serif',
303
- },
304
- };
305
- ```
306
-
307
- ### typography
308
- ```js
309
- export default {
310
- '@default': {
311
- base: 16,
312
- ratio: 1.25,
313
- range: [
314
- -5,
315
- 12,
316
- ],
317
- subSequence: true,
318
- },
319
- };
320
- ```
321
-
322
- ### spacing
323
- ```js
324
- export default {
325
- '@default': {
326
- base: 16,
327
- ratio: 1.25,
328
- range: [
329
- -5,
330
- 12,
331
- ],
332
- subSequence: true,
333
- },
334
- };
335
- ```
336
-
337
- ### TIMING
338
- ```js
339
- export default {
340
- defaultBezier: 'cubic-bezier(.29, .67, .51, .97)',
341
- };
342
- ```
343
-
344
- ### CLASS
345
- ```js
346
- export default {};
347
- ```
348
-
349
- ### GRID
350
- ```js
351
- export default {};
352
- ```
353
-
354
- ### icons
355
- ```js
356
- export default {
357
- symbols: '<svg height="24" width="24"><path d="M13.843 2.7C19.063 2.7 23 6.366 23 11.228c0 3.754-2.862 6.584-6.658 6.584-3.287 0-5.007-2.318-5.007-4.609 0-2.395 1.923-4.344 4.287-4.344.566 0 1.023.12 1.309.223a.212.212 0 01.137.229l-.016.058-.514 1.18a.223.223 0 01-.245.13 2.965 2.965 0 00-.506-.046c-1.245 0-2.258 1.027-2.258 2.288 0 1.33 1.165 2.373 2.651 2.373 2.195 0 3.913-1.777 3.913-4.046 0-3.024-2.294-5.135-5.58-5.135-4.076 0-7.393 3.36-7.393 7.491a7.519 7.519 0 002.871 5.924l-4.96 3.18A12.042 12.042 0 012 14.7c0-6.617 5.313-12 11.843-12z" fill-rule="evenodd"/></svg>',
358
- logo: '<svg height="24" width="24"><path d="M13.843 2.7C19.063 2.7 23 6.366 23 11.228c0 3.754-2.862 6.584-6.658 6.584-3.287 0-5.007-2.318-5.007-4.609 0-2.395 1.923-4.344 4.287-4.344.566 0 1.023.12 1.309.223a.212.212 0 01.137.229l-.016.058-.514 1.18a.223.223 0 01-.245.13 2.965 2.965 0 00-.506-.046c-1.245 0-2.258 1.027-2.258 2.288 0 1.33 1.165 2.373 2.651 2.373 2.195 0 3.913-1.777 3.913-4.046 0-3.024-2.294-5.135-5.58-5.135-4.076 0-7.393 3.36-7.393 7.491a7.519 7.519 0 002.871 5.924l-4.96 3.18A12.042 12.042 0 012 14.7c0-6.617 5.313-12 11.843-12z" fill-rule="evenodd"/></svg>',
359
- arrowDownCircle: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down-circle"><circle cx="12" cy="12" r="10"/><path d="M8 12l4 4 4-4M12 8v8"/></svg>',
360
- arrowDownLeft: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down-left"><path d="M17 7L7 17M17 17H7V7"/></svg>',
361
- arrowDownRight: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down-right"><path d="M7 7l10 10M17 7v10H7"/></svg>',
362
- arrowDown: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down"><path d="M12 5v14M19 12l-7 7-7-7"/></svg>',
363
- arrowLeftCircle: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left-circle"><circle cx="12" cy="12" r="10"/><path d="M12 8l-4 4 4 4M16 12H8"/></svg>',
364
- arrowLeft: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>',
365
- arrowRight: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><path d="M5 12h14M12 5l7 7-7 7"/></svg>',
366
- arrowRightCircle: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right-circle"><circle cx="12" cy="12" r="10"/><path d="M12 16l4-4-4-4M8 12h8"/></svg>',
367
- arrowUpCircle: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up-circle"><circle cx="12" cy="12" r="10"/><path d="M16 12l-4-4-4 4M12 16V8"/></svg>',
368
- arrowUpLeft: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up-left"><path d="M17 17L7 7M7 17V7h10"/></svg>',
369
- arrowUpRight: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up-right"><path d="M7 17L17 7M7 7h10v10"/></svg>',
370
- arrowUp: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up"><path d="M12 19V5M5 12l7-7 7 7"/></svg>',
371
- checkCircle: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-check-circle"><path d="M22 11.08V12a10 10 0 11-5.93-9.14"/><path d="M22 4L12 14.01l-3-3"/></svg>',
372
- check: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-check"><path d="M20 6L9 17l-5-5"/></svg>',
373
- chevronDown: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><path d="M6 9l6 6 6-6"/></svg>',
374
- chevronLeft: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-left"><path d="M15 18l-6-6 6-6"/></svg>',
375
- chevronRight: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"><path d="M9 18l6-6-6-6"/></svg>',
376
- chevronUp: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-up"><path d="M18 15l-6-6-6 6"/></svg>',
377
- copy: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-copy"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>',
378
- eyeOff: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-eye-off"><path d="M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22"/></svg>',
379
- eye: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-eye"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>',
380
- info: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-info"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg>',
381
- lock: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-lock"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0110 0v4"/></svg>',
382
- minus: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-minus"><path d="M5 12h14"/></svg>',
383
- sun: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>',
384
- moon: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg>',
385
- moreHorizontal: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-more-horizontal"><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/></svg>',
386
- moreVertical: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-more-vertical"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg>',
387
- send: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-send"><path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"/></svg>',
388
- smile: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-smile"><circle cx="12" cy="12" r="10"/><path d="M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01"/></svg>',
389
- search: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/></svg>',
390
- upload: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-upload"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12"/></svg>',
391
- video: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-video"><path d="M23 7l-7 5 7 5V7z"/><rect x="1" y="5" width="15" height="14" rx="2" ry="2"/></svg>',
392
- x: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x"><path d="M18 6L6 18M6 6l12 12"/></svg>',
393
- star: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-star"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg>',
394
- plus: '<svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus"><path d="M12 5v14M5 12h14"/></svg>',
395
- };
396
- ```
397
-
398
- ### SHAPE
399
- ```js
400
- export default {};
401
- ```
402
-
403
- ### reset
404
- ```js
405
- export default {};
406
- ```
407
-
408
- ### ANIMATION
409
- ```js
410
- export default {
411
- fadeInUp: {
412
- from: {
413
- transform: 'translate3d(0, 12.5%, 1px)',
414
- opacity: 0,
415
- },
416
- to: {
417
- transform: 'translate3d(0, 0, 1px)',
418
- opacity: 1,
419
- },
420
- },
421
- fadeOutDown: {
422
- from: {
423
- transform: 'translate3d(0, 0, 1px)',
424
- opacity: 1,
425
- },
426
- to: {
427
- transform: 'translate3d(0, 12.5%, 1px)',
428
- opacity: 0,
429
- },
430
- },
431
- marquee: {
432
- from: {
433
- transform: 'translate3d(0, 0, 1px)',
434
- },
435
- to: {
436
- transform: 'translate3d(-50%, 0, 1px)',
437
- },
438
- },
439
- };
440
- ```
441
-
442
- ### media
443
- ```js
444
- export default {};
445
- ```
446
-
447
- ### CASES
448
- ```js
449
- export default {
450
- isSafari: () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent),
451
- };
452
- ```
7
+ For project configuration, see PROJECT_STRUCTURE.md. For design system values, see DEFAULT_STYLES.md.
453
8
 
454
9
  ---
455
10
 
@@ -3801,42 +3356,3 @@ export const Video = {
3801
3356
 
3802
3357
  ---
3803
3358
 
3804
- ## Pages
3805
-
3806
- The pages index exports an empty object:
3807
-
3808
- ```js
3809
- export default {
3810
-
3811
- }
3812
- ```
3813
-
3814
- ---
3815
-
3816
- ## Functions
3817
-
3818
- ### functions/index.js
3819
- ```js
3820
- export * from './fibonacciNumberByIndex.js';
3821
- export * from './fibonacciNumberByIndexCopy.js';
3822
- ```
3823
-
3824
- ### fibonacciNumberByIndex
3825
- ```js
3826
- export const fibonacciNumberByIndex = {};
3827
- ```
3828
-
3829
- ### fibonacciNumberByIndexCopy
3830
- ```js
3831
- export const fibonacciNumberByIndexCopy = {};
3832
- ```
3833
-
3834
- ---
3835
-
3836
- ## Snippets
3837
-
3838
- The snippets index is empty (no exported snippets).
3839
-
3840
- ```js
3841
- // empty
3842
- ```