@vadimcomanescu/nadicode-design-system 2.0.8 → 4.0.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.
Files changed (137) hide show
  1. package/.agents/skills/seed/SKILL.md +19 -10
  2. package/.agents/skills/seed/contract.md +9 -2
  3. package/.agents/skills/seed/references/blocks.md +5 -5
  4. package/.agents/skills/seed/references/components.md +2 -2
  5. package/.agents/skills/seed/references/nextjs.md +2 -2
  6. package/README.md +3 -3
  7. package/contracts/consumer-intent-map.json +1 -2
  8. package/contracts/release-governance-baseline.json +3 -37
  9. package/dist/catalog/catalog.d.ts +2220 -0
  10. package/dist/catalog/catalog.js +1913 -0
  11. package/dist/catalog/components.d.ts +201 -0
  12. package/dist/catalog/components.js +407 -0
  13. package/dist/catalog/types.d.ts +4 -0
  14. package/dist/catalog/types.js +1 -0
  15. package/dist/chunk-224KPIOG.js +60 -0
  16. package/dist/chunk-25BOZMXA.js +169 -0
  17. package/dist/chunk-32OLQ7FC.js +130 -0
  18. package/dist/chunk-3JJBJ4VR.js +47 -0
  19. package/dist/chunk-3U56FXYC.js +30 -0
  20. package/dist/chunk-4MWKE6F5.js +86 -0
  21. package/dist/chunk-6HGSU24S.js +94 -0
  22. package/dist/chunk-7IADIXDV.js +168 -0
  23. package/dist/chunk-7NS3VFD7.js +86 -0
  24. package/dist/chunk-7XLZCXUL.js +175 -0
  25. package/dist/chunk-ALA6OM7K.js +134 -0
  26. package/dist/chunk-AN5TW4AL.js +50 -0
  27. package/dist/chunk-AWZFQQGN.js +167 -0
  28. package/dist/chunk-BRCBJ3S4.js +42 -0
  29. package/dist/chunk-BRICSLHJ.js +30 -0
  30. package/dist/chunk-BYEHHZZN.js +115 -0
  31. package/dist/chunk-C33GUEDY.js +149 -0
  32. package/dist/chunk-CUDMDYKE.js +150 -0
  33. package/dist/chunk-CVTMWSNS.js +145 -0
  34. package/dist/chunk-DEZXWNYF.js +165 -0
  35. package/dist/chunk-DNJEVMDY.js +40 -0
  36. package/dist/chunk-DNJOBML6.js +66 -0
  37. package/dist/chunk-FTGFOK6T.js +69 -0
  38. package/dist/chunk-HFBJ6L6O.js +104 -0
  39. package/dist/chunk-HPTHS7SX.js +52 -0
  40. package/dist/chunk-KNR3WB5C.js +147 -0
  41. package/dist/chunk-KQ7ZC6EM.js +66 -0
  42. package/dist/chunk-LGW7FVG5.js +83 -0
  43. package/dist/chunk-LP6ZZYOQ.js +36 -0
  44. package/dist/chunk-LV4P7WVM.js +54 -0
  45. package/dist/chunk-MGSGCARB.js +164 -0
  46. package/dist/chunk-N3YFYMNZ.js +73 -0
  47. package/dist/chunk-Q5IYBNA7.js +56 -0
  48. package/dist/chunk-QJCE7NZF.js +85 -0
  49. package/dist/chunk-QW5II6YK.js +96 -0
  50. package/dist/chunk-RMGDDOCD.js +138 -0
  51. package/dist/chunk-RNCX4JIE.js +70 -0
  52. package/dist/chunk-RWCL5OPX.js +112 -0
  53. package/dist/chunk-S5OY2B63.js +28 -0
  54. package/dist/chunk-SIQNG72C.js +257 -0
  55. package/dist/chunk-SP7NIZFP.js +117 -0
  56. package/dist/chunk-SWRJWMGG.js +30 -0
  57. package/dist/chunk-TCQIJ3DO.js +85 -0
  58. package/dist/chunk-TPJ6JJ2F.js +290 -0
  59. package/dist/chunk-TUJZMJXW.js +72 -0
  60. package/dist/chunk-UR43ANYS.js +159 -0
  61. package/dist/chunk-VRGPG2YN.js +79 -0
  62. package/dist/chunk-WSBLCWY7.js +126 -0
  63. package/dist/chunk-XKKFSFYO.js +93 -0
  64. package/dist/chunk-XO7TBM47.js +32 -0
  65. package/dist/chunk-YDYDGG5K.js +132 -0
  66. package/dist/chunk-YMJOUYMT.js +171 -0
  67. package/dist/chunk-Z2WION42.js +32 -0
  68. package/dist/chunk-ZFKSVEYW.js +35 -0
  69. package/dist/components/blocks/AgentProfileGridBlock.js +8 -86
  70. package/dist/components/blocks/AgentRunOverviewBlock.js +8 -147
  71. package/dist/components/blocks/AgentWorkbenchBlock.js +15 -257
  72. package/dist/components/blocks/AudioVisualizerBlock.js +2 -50
  73. package/dist/components/blocks/AuthLayout.js +9 -73
  74. package/dist/components/blocks/BannerBlock.js +8 -66
  75. package/dist/components/blocks/BarChartBlock.js +5 -47
  76. package/dist/components/blocks/ChartBlock.js +7 -54
  77. package/dist/components/blocks/ChartCollectionBlock.js +11 -171
  78. package/dist/components/blocks/ChatLayout.js +12 -126
  79. package/dist/components/blocks/CreateBlock.js +9 -104
  80. package/dist/components/blocks/DataGridBlock.js +9 -117
  81. package/dist/components/blocks/DirectoryBlock.js +12 -85
  82. package/dist/components/blocks/FeatureGridBlock.js +6 -56
  83. package/dist/components/blocks/GalleryBlock.js +6 -69
  84. package/dist/components/blocks/HeroSectionBlock.js +10 -134
  85. package/dist/components/blocks/IntegrationsBlock.js +13 -94
  86. package/dist/components/blocks/InteractiveAreaChartBlock.js +5 -290
  87. package/dist/components/blocks/KanbanDemoBlock.js +8 -145
  88. package/dist/components/blocks/LogoCloud.js +4 -35
  89. package/dist/components/blocks/NavUser.js +5 -85
  90. package/dist/components/blocks/NotFoundBlock.js +8 -32
  91. package/dist/components/blocks/OnboardingBlock.js +7 -66
  92. package/dist/components/blocks/SettingsLayout.js +13 -86
  93. package/dist/components/blocks/SignUpBlock.js +8 -168
  94. package/dist/components/blocks/SolutionShowcaseBlock.js +11 -112
  95. package/dist/components/blocks/StatsBlock.js +6 -60
  96. package/dist/components/blocks/UsageDonutBlock.js +5 -79
  97. package/dist/components/blocks/WizardBlock.js +12 -93
  98. package/dist/components/blocks/user/InviteUserModal.js +10 -132
  99. package/dist/components/page-kits/AccountLockedPageKit.js +3 -40
  100. package/dist/components/page-kits/AgentsChatPageKit.js +11 -159
  101. package/dist/components/page-kits/AnalyticsPageKit.js +12 -150
  102. package/dist/components/page-kits/BlogContentPageKit.js +12 -167
  103. package/dist/components/page-kits/CheckoutPageKit.js +9 -83
  104. package/dist/components/page-kits/CompanySuitePageKit.js +9 -96
  105. package/dist/components/page-kits/DashboardPageKit.js +11 -149
  106. package/dist/components/page-kits/ErrorPageKit.js +5 -52
  107. package/dist/components/page-kits/KanbanBoardPageKit.js +7 -169
  108. package/dist/components/page-kits/LandingPageKit.js +11 -72
  109. package/dist/components/page-kits/LoginPageKit.js +3 -32
  110. package/dist/components/page-kits/OnboardingPageKit.js +6 -115
  111. package/dist/components/page-kits/PricingPageKit.js +12 -138
  112. package/dist/components/page-kits/ProfileSettingsPageKit.js +10 -164
  113. package/dist/components/page-kits/RecoveryPageKit.js +3 -42
  114. package/dist/components/page-kits/ResetPageKit.js +3 -36
  115. package/dist/components/page-kits/ServiceSuitePageKit.js +10 -175
  116. package/dist/components/page-kits/SignupPageKit.js +3 -30
  117. package/dist/components/page-kits/SuccessPageKit.js +4 -30
  118. package/dist/components/page-kits/TeamSettingsPageKit.js +9 -165
  119. package/dist/components/page-kits/TwoFactorPageKit.js +4 -28
  120. package/dist/components/page-kits/VerifyEmailPageKit.js +4 -30
  121. package/dist/components/page-kits/VoiceAgentsPageKit.js +13 -130
  122. package/dist/components/ui/CheckoutForm.js +5 -70
  123. package/eslint-rules/nadicode/config.js +1 -1
  124. package/eslint-rules/nadicode/data/catalog-names.json +93 -0
  125. package/eslint-rules/nadicode/index.js +2 -2
  126. package/eslint-rules/nadicode/rules/__tests__/require-catalog-component.test.js +77 -0
  127. package/eslint-rules/nadicode/rules/require-catalog-component.js +79 -0
  128. package/package.json +18 -25
  129. package/contracts/block-props-schemas.json +0 -2186
  130. package/contracts/component-props-schemas.json +0 -8322
  131. package/contracts/consumer-contract.json +0 -178
  132. package/contracts/page-kit-props-schemas.json +0 -1894
  133. package/contracts/public-surface-registry.json +0 -6162
  134. package/contracts/public-surface-registry.schema.json +0 -227
  135. package/contracts/spec-manifest.json +0 -46
  136. package/dist/catalog.json +0 -5221
  137. package/eslint-rules/nadicode/rules/no-forbidden-page-kit-import.js +0 -99
@@ -1,2186 +0,0 @@
1
- {
2
- "schemaVersion": "1.0.0",
3
- "blocks": {
4
- "AccountLockedBlock": {
5
- "canonicalExport": "AccountLockedBlock",
6
- "subpath": "./account-locked-block",
7
- "sourceFile": "src/components/blocks/AccountLockedBlock.tsx",
8
- "category": "Auth Flow",
9
- "tier": "stable",
10
- "description": "Account locked notification",
11
- "propsSchema": {
12
- "kind": "object",
13
- "noDataProps": false,
14
- "required": [],
15
- "optional": [
16
- "reason",
17
- "unlockMinutes",
18
- "onContactSupport",
19
- "onBackToLogin",
20
- "title",
21
- "description"
22
- ],
23
- "properties": {
24
- "reason": {
25
- "required": false,
26
- "type": "\"too_many_attempts\" | \"suspicious_activity\" | \"admin\""
27
- },
28
- "unlockMinutes": {
29
- "required": false,
30
- "type": "number"
31
- },
32
- "onContactSupport": {
33
- "required": false,
34
- "type": "() => void"
35
- },
36
- "onBackToLogin": {
37
- "required": false,
38
- "type": "() => void"
39
- },
40
- "title": {
41
- "required": false,
42
- "type": "string"
43
- },
44
- "description": {
45
- "required": false,
46
- "type": "string"
47
- }
48
- }
49
- }
50
- },
51
- "ActivityFeedBlock": {
52
- "canonicalExport": "ActivityFeedBlock",
53
- "subpath": "./activity-feed-block",
54
- "sourceFile": "src/components/blocks/ActivityFeedBlock.tsx",
55
- "category": "Dashboard & Data",
56
- "tier": "stable",
57
- "description": "Activity/event timeline",
58
- "propsSchema": {
59
- "kind": "object",
60
- "noDataProps": false,
61
- "required": [],
62
- "optional": [
63
- "activities",
64
- "title"
65
- ],
66
- "properties": {
67
- "activities": {
68
- "required": false,
69
- "type": "Activity[]"
70
- },
71
- "title": {
72
- "required": false,
73
- "type": "string"
74
- }
75
- }
76
- }
77
- },
78
- "AgentConversationBlock": {
79
- "canonicalExport": "AgentConversationBlock",
80
- "subpath": "./agent-conversation-block",
81
- "sourceFile": "src/components/blocks/AgentConversationBlock.tsx",
82
- "category": "Agentic",
83
- "tier": "stable",
84
- "description": "Agent conversation UI (messages, tool calls, thinking)",
85
- "propsSchema": {
86
- "kind": "object",
87
- "noDataProps": false,
88
- "required": [
89
- "messages"
90
- ],
91
- "optional": [],
92
- "properties": {
93
- "messages": {
94
- "required": true,
95
- "type": "ConversationMessage[]"
96
- }
97
- }
98
- }
99
- },
100
- "AgentProfileGridBlock": {
101
- "canonicalExport": "AgentProfileGridBlock",
102
- "subpath": "./agent-profile-grid-block",
103
- "sourceFile": "src/components/blocks/AgentProfileGridBlock.tsx",
104
- "category": "Marketing",
105
- "tier": "stable",
106
- "description": "Agent/worker profile card grid (\"Meet your AI team\")",
107
- "propsSchema": {
108
- "kind": "object",
109
- "noDataProps": false,
110
- "required": [],
111
- "optional": [
112
- "title",
113
- "description",
114
- "agents",
115
- "columns"
116
- ],
117
- "properties": {
118
- "title": {
119
- "required": false,
120
- "type": "string"
121
- },
122
- "description": {
123
- "required": false,
124
- "type": "string"
125
- },
126
- "agents": {
127
- "required": false,
128
- "type": "AgentProfile[]"
129
- },
130
- "columns": {
131
- "required": false,
132
- "type": "2 | 3 | 4"
133
- }
134
- }
135
- }
136
- },
137
- "AgentRunOverviewBlock": {
138
- "canonicalExport": "AgentRunOverviewBlock",
139
- "subpath": "./agent-run-overview-block",
140
- "sourceFile": "src/components/blocks/AgentRunOverviewBlock.tsx",
141
- "category": "Agentic",
142
- "tier": "stable",
143
- "description": "Agent run summary with status, duration, and output",
144
- "propsSchema": {
145
- "kind": "object",
146
- "noDataProps": false,
147
- "required": [],
148
- "optional": [
149
- "title",
150
- "description",
151
- "teamTitle",
152
- "metricsTitle",
153
- "contextTitle",
154
- "workflow",
155
- "agents",
156
- "metrics",
157
- "context"
158
- ],
159
- "properties": {
160
- "title": {
161
- "required": false,
162
- "type": "string"
163
- },
164
- "description": {
165
- "required": false,
166
- "type": "string"
167
- },
168
- "teamTitle": {
169
- "required": false,
170
- "type": "string"
171
- },
172
- "metricsTitle": {
173
- "required": false,
174
- "type": "string"
175
- },
176
- "contextTitle": {
177
- "required": false,
178
- "type": "string"
179
- },
180
- "workflow": {
181
- "required": false,
182
- "type": "AgentRunOverviewWorkflow"
183
- },
184
- "agents": {
185
- "required": false,
186
- "type": "AgentTeamPanelProps['agents']"
187
- },
188
- "metrics": {
189
- "required": false,
190
- "type": "Metric[]"
191
- },
192
- "context": {
193
- "required": false,
194
- "type": "AgentRunOverviewContext"
195
- }
196
- }
197
- }
198
- },
199
- "AgentWorkbenchBlock": {
200
- "canonicalExport": "AgentWorkbenchBlock",
201
- "subpath": "./agent-workbench-block",
202
- "sourceFile": "src/components/blocks/AgentWorkbenchBlock.tsx",
203
- "category": "Agentic",
204
- "tier": "stable",
205
- "description": "Agent workbench layout with tool panels and conversation",
206
- "propsSchema": {
207
- "kind": "object",
208
- "noDataProps": false,
209
- "required": [],
210
- "optional": [
211
- "title",
212
- "description",
213
- "threadTitle",
214
- "workTitle",
215
- "defaultWorkTab",
216
- "messages",
217
- "artifacts",
218
- "diffs",
219
- "logs",
220
- "composer"
221
- ],
222
- "properties": {
223
- "title": {
224
- "required": false,
225
- "type": "string"
226
- },
227
- "description": {
228
- "required": false,
229
- "type": "string"
230
- },
231
- "threadTitle": {
232
- "required": false,
233
- "type": "string"
234
- },
235
- "workTitle": {
236
- "required": false,
237
- "type": "string"
238
- },
239
- "defaultWorkTab": {
240
- "required": false,
241
- "type": "'artifacts' | 'diffs' | 'logs'"
242
- },
243
- "messages": {
244
- "required": false,
245
- "type": "AgentWorkbenchMessage[]"
246
- },
247
- "artifacts": {
248
- "required": false,
249
- "type": "AgentWorkbenchArtifact[]"
250
- },
251
- "diffs": {
252
- "required": false,
253
- "type": "AgentWorkbenchDiff[]"
254
- },
255
- "logs": {
256
- "required": false,
257
- "type": "TerminalLine[]"
258
- },
259
- "composer": {
260
- "required": false,
261
- "type": "AgentWorkbenchComposer"
262
- }
263
- }
264
- }
265
- },
266
- "AudioVisualizerBlock": {
267
- "canonicalExport": "AudioVisualizerBlock",
268
- "subpath": "./audio-visualizer-block",
269
- "sourceFile": "src/components/blocks/AudioVisualizerBlock.tsx",
270
- "category": "Content & Media",
271
- "tier": "stable",
272
- "description": "Audio visualization display",
273
- "propsSchema": {
274
- "kind": "object",
275
- "noDataProps": false,
276
- "required": [],
277
- "optional": [
278
- "bars",
279
- "isPlaying"
280
- ],
281
- "properties": {
282
- "bars": {
283
- "required": false,
284
- "type": "number"
285
- },
286
- "isPlaying": {
287
- "required": false,
288
- "type": "boolean"
289
- }
290
- }
291
- }
292
- },
293
- "AuthLayout": {
294
- "canonicalExport": "AuthLayout",
295
- "subpath": "./auth-layout",
296
- "sourceFile": "src/components/blocks/AuthLayout.tsx",
297
- "category": "Auth Flow",
298
- "tier": "stable",
299
- "description": "Split-screen auth layout wrapper",
300
- "propsSchema": {
301
- "kind": "object",
302
- "noDataProps": false,
303
- "required": [],
304
- "optional": [
305
- "mode",
306
- "action",
307
- "error",
308
- "googleAction",
309
- "labels"
310
- ],
311
- "properties": {
312
- "mode": {
313
- "required": false,
314
- "type": "\"login\" | \"signup\""
315
- },
316
- "action": {
317
- "required": false,
318
- "type": "(formData: FormData) => void | Promise<void>"
319
- },
320
- "error": {
321
- "required": false,
322
- "type": "string | null"
323
- },
324
- "googleAction": {
325
- "required": false,
326
- "type": "(formData: FormData) => void | Promise<void>"
327
- },
328
- "labels": {
329
- "required": false,
330
- "type": "Partial<typeof defaultLabels>"
331
- }
332
- }
333
- }
334
- },
335
- "AuthSuccessBlock": {
336
- "canonicalExport": "AuthSuccessBlock",
337
- "subpath": "./auth-success-block",
338
- "sourceFile": "src/components/blocks/AuthSuccessBlock.tsx",
339
- "category": "Auth Flow",
340
- "tier": "stable",
341
- "description": "Generic auth success state",
342
- "propsSchema": {
343
- "kind": "object",
344
- "noDataProps": false,
345
- "required": [
346
- "icon",
347
- "title",
348
- "description"
349
- ],
350
- "optional": [
351
- "buttonText",
352
- "onContinue",
353
- "autoRedirectSeconds"
354
- ],
355
- "properties": {
356
- "icon": {
357
- "required": true,
358
- "type": "React.ReactNode"
359
- },
360
- "title": {
361
- "required": true,
362
- "type": "string"
363
- },
364
- "description": {
365
- "required": true,
366
- "type": "string"
367
- },
368
- "buttonText": {
369
- "required": false,
370
- "type": "string"
371
- },
372
- "onContinue": {
373
- "required": false,
374
- "type": "() => void"
375
- },
376
- "autoRedirectSeconds": {
377
- "required": false,
378
- "type": "number"
379
- }
380
- }
381
- }
382
- },
383
- "BannerBlock": {
384
- "canonicalExport": "BannerBlock",
385
- "subpath": "./banner-block",
386
- "sourceFile": "src/components/blocks/BannerBlock.tsx",
387
- "category": "Navigation",
388
- "tier": "stable",
389
- "description": "Top-of-page promotional banner",
390
- "propsSchema": {
391
- "kind": "object",
392
- "noDataProps": false,
393
- "required": [],
394
- "optional": [
395
- "variant",
396
- "dismissible",
397
- "onDismiss"
398
- ],
399
- "properties": {
400
- "variant": {
401
- "required": false,
402
- "type": "\"info\" | \"warning\" | \"accent\""
403
- },
404
- "dismissible": {
405
- "required": false,
406
- "type": "boolean"
407
- },
408
- "onDismiss": {
409
- "required": false,
410
- "type": "() => void"
411
- }
412
- }
413
- }
414
- },
415
- "BarChartBlock": {
416
- "canonicalExport": "BarChartBlock",
417
- "subpath": "./bar-chart-block",
418
- "sourceFile": "src/components/blocks/BarChartBlock.tsx",
419
- "category": "Dashboard & Data",
420
- "tier": "stable",
421
- "description": "Pre-configured bar chart",
422
- "propsSchema": {
423
- "kind": "object",
424
- "noDataProps": false,
425
- "required": [],
426
- "optional": [
427
- "data",
428
- "config",
429
- "title",
430
- "description"
431
- ],
432
- "properties": {
433
- "data": {
434
- "required": false,
435
- "type": "BarChartDataItem[]"
436
- },
437
- "config": {
438
- "required": false,
439
- "type": "ChartConfig"
440
- },
441
- "title": {
442
- "required": false,
443
- "type": "string"
444
- },
445
- "description": {
446
- "required": false,
447
- "type": "string"
448
- }
449
- }
450
- }
451
- },
452
- "CallToActionBlock": {
453
- "canonicalExport": "CallToActionBlock",
454
- "subpath": "./call-to-action-block",
455
- "sourceFile": "src/components/blocks/CallToActionBlock.tsx",
456
- "category": "Marketing",
457
- "tier": "stable",
458
- "description": "Call-to-action section",
459
- "propsSchema": {
460
- "kind": "object",
461
- "noDataProps": false,
462
- "required": [],
463
- "optional": [
464
- "title",
465
- "description",
466
- "primaryAction",
467
- "secondaryAction"
468
- ],
469
- "properties": {
470
- "title": {
471
- "required": false,
472
- "type": "string"
473
- },
474
- "description": {
475
- "required": false,
476
- "type": "string"
477
- },
478
- "primaryAction": {
479
- "required": false,
480
- "type": "CallToActionAction"
481
- },
482
- "secondaryAction": {
483
- "required": false,
484
- "type": "CallToActionAction"
485
- }
486
- }
487
- }
488
- },
489
- "ChangelogBlock": {
490
- "canonicalExport": "ChangelogBlock",
491
- "subpath": "./changelog-block",
492
- "sourceFile": "src/components/blocks/ChangelogBlock.tsx",
493
- "category": "Application",
494
- "tier": "stable",
495
- "description": "Version changelog display",
496
- "propsSchema": {
497
- "kind": "object",
498
- "noDataProps": false,
499
- "required": [],
500
- "optional": [
501
- "entries",
502
- "title"
503
- ],
504
- "properties": {
505
- "entries": {
506
- "required": false,
507
- "type": "ChangelogEntry[]"
508
- },
509
- "title": {
510
- "required": false,
511
- "type": "string"
512
- }
513
- }
514
- }
515
- },
516
- "ChartBlock": {
517
- "canonicalExport": "ChartBlock",
518
- "subpath": "./chart-block",
519
- "sourceFile": "src/components/blocks/ChartBlock.tsx",
520
- "category": "Dashboard & Data",
521
- "tier": "stable",
522
- "description": "Single chart container",
523
- "propsSchema": {
524
- "kind": "object",
525
- "noDataProps": false,
526
- "required": [],
527
- "optional": [
528
- "data",
529
- "config",
530
- "title",
531
- "description"
532
- ],
533
- "properties": {
534
- "data": {
535
- "required": false,
536
- "type": "ChartBlockDataItem[]"
537
- },
538
- "config": {
539
- "required": false,
540
- "type": "ChartConfig"
541
- },
542
- "title": {
543
- "required": false,
544
- "type": "string"
545
- },
546
- "description": {
547
- "required": false,
548
- "type": "string"
549
- }
550
- }
551
- }
552
- },
553
- "ChartCollectionBlock": {
554
- "canonicalExport": "ChartCollectionBlock",
555
- "subpath": "./chart-collection-block",
556
- "sourceFile": "src/components/blocks/ChartCollectionBlock.tsx",
557
- "category": "Dashboard & Data",
558
- "tier": "stable",
559
- "description": "Multiple chart grid",
560
- "propsSchema": {
561
- "kind": "object",
562
- "noDataProps": true,
563
- "required": [],
564
- "optional": [],
565
- "properties": {}
566
- }
567
- },
568
- "ChatLayout": {
569
- "canonicalExport": "ChatLayout",
570
- "subpath": "./chat-layout",
571
- "sourceFile": "src/components/blocks/ChatLayout.tsx",
572
- "category": "Application",
573
- "tier": "stable",
574
- "description": "Chat application layout",
575
- "propsSchema": {
576
- "kind": "object",
577
- "noDataProps": false,
578
- "required": [],
579
- "optional": [
580
- "initialMessages",
581
- "assistantName",
582
- "assistantStatus",
583
- "placeholder"
584
- ],
585
- "properties": {
586
- "initialMessages": {
587
- "required": false,
588
- "type": "Message[]"
589
- },
590
- "assistantName": {
591
- "required": false,
592
- "type": "string"
593
- },
594
- "assistantStatus": {
595
- "required": false,
596
- "type": "string"
597
- },
598
- "placeholder": {
599
- "required": false,
600
- "type": "string"
601
- }
602
- }
603
- }
604
- },
605
- "CodeBlock": {
606
- "canonicalExport": "CodeBlock",
607
- "subpath": "./code-block",
608
- "sourceFile": "src/components/blocks/CodeBlock.tsx",
609
- "category": "Dashboard & Data",
610
- "tier": "stable",
611
- "description": "Syntax-highlighted code display",
612
- "propsSchema": {
613
- "kind": "object",
614
- "noDataProps": false,
615
- "required": [
616
- "code"
617
- ],
618
- "optional": [
619
- "language",
620
- "filename"
621
- ],
622
- "properties": {
623
- "code": {
624
- "required": true,
625
- "type": "string"
626
- },
627
- "language": {
628
- "required": false,
629
- "type": "string"
630
- },
631
- "filename": {
632
- "required": false,
633
- "type": "string"
634
- }
635
- }
636
- }
637
- },
638
- "ComparisonBlock": {
639
- "canonicalExport": "ComparisonBlock",
640
- "subpath": "./comparison-block",
641
- "sourceFile": "src/components/blocks/ComparisonBlock.tsx",
642
- "category": "Marketing",
643
- "tier": "stable",
644
- "description": "Side-by-side feature comparison",
645
- "propsSchema": {
646
- "kind": "object",
647
- "noDataProps": false,
648
- "required": [],
649
- "optional": [
650
- "plans",
651
- "title",
652
- "description"
653
- ],
654
- "properties": {
655
- "plans": {
656
- "required": false,
657
- "type": "ComparisonPlan[]"
658
- },
659
- "title": {
660
- "required": false,
661
- "type": "string"
662
- },
663
- "description": {
664
- "required": false,
665
- "type": "string"
666
- }
667
- }
668
- }
669
- },
670
- "ContactBlock": {
671
- "canonicalExport": "ContactBlock",
672
- "subpath": "./contact-block",
673
- "sourceFile": "src/components/blocks/ContactBlock.tsx",
674
- "category": "Application",
675
- "tier": "stable",
676
- "description": "Contact form",
677
- "propsSchema": {
678
- "kind": "object",
679
- "noDataProps": false,
680
- "required": [],
681
- "optional": [
682
- "onSubmit",
683
- "title",
684
- "description",
685
- "namePlaceholder",
686
- "emailPlaceholder",
687
- "messagePlaceholder",
688
- "successTitle",
689
- "submitLabel"
690
- ],
691
- "properties": {
692
- "onSubmit": {
693
- "required": false,
694
- "type": "(data: { name: string; email: string; message: string }) => void"
695
- },
696
- "title": {
697
- "required": false,
698
- "type": "string"
699
- },
700
- "description": {
701
- "required": false,
702
- "type": "string"
703
- },
704
- "namePlaceholder": {
705
- "required": false,
706
- "type": "string"
707
- },
708
- "emailPlaceholder": {
709
- "required": false,
710
- "type": "string"
711
- },
712
- "messagePlaceholder": {
713
- "required": false,
714
- "type": "string"
715
- },
716
- "successTitle": {
717
- "required": false,
718
- "type": "string"
719
- },
720
- "submitLabel": {
721
- "required": false,
722
- "type": "string"
723
- }
724
- }
725
- }
726
- },
727
- "CreateBlock": {
728
- "canonicalExport": "CreateBlock",
729
- "subpath": "./create-block",
730
- "sourceFile": "src/components/blocks/CreateBlock.tsx",
731
- "category": "Application",
732
- "tier": "stable",
733
- "description": "Entity creation form",
734
- "propsSchema": {
735
- "kind": "object",
736
- "noDataProps": false,
737
- "required": [],
738
- "optional": [
739
- "title",
740
- "description",
741
- "submitLabel",
742
- "onSubmit"
743
- ],
744
- "properties": {
745
- "title": {
746
- "required": false,
747
- "type": "string"
748
- },
749
- "description": {
750
- "required": false,
751
- "type": "string"
752
- },
753
- "submitLabel": {
754
- "required": false,
755
- "type": "string"
756
- },
757
- "onSubmit": {
758
- "required": false,
759
- "type": "(data: ProfileFormValues) => void"
760
- }
761
- }
762
- }
763
- },
764
- "DataGridBlock": {
765
- "canonicalExport": "DataGridBlock",
766
- "subpath": "./data-grid-block",
767
- "sourceFile": "src/components/blocks/DataGridBlock.tsx",
768
- "category": "Dashboard & Data",
769
- "tier": "stable",
770
- "description": "Data grid/table block",
771
- "propsSchema": {
772
- "kind": "object",
773
- "noDataProps": false,
774
- "required": [],
775
- "optional": [
776
- "data",
777
- "columns",
778
- "title",
779
- "description"
780
- ],
781
- "properties": {
782
- "data": {
783
- "required": false,
784
- "type": "Payment[]"
785
- },
786
- "columns": {
787
- "required": false,
788
- "type": "ColumnDef<Payment>[]"
789
- },
790
- "title": {
791
- "required": false,
792
- "type": "string"
793
- },
794
- "description": {
795
- "required": false,
796
- "type": "string"
797
- }
798
- }
799
- }
800
- },
801
- "DirectoryBlock": {
802
- "canonicalExport": "DirectoryBlock",
803
- "subpath": "./directory-block",
804
- "sourceFile": "src/components/blocks/DirectoryBlock.tsx",
805
- "category": "Application",
806
- "tier": "stable",
807
- "description": "User/item directory with search",
808
- "propsSchema": {
809
- "kind": "object",
810
- "noDataProps": false,
811
- "required": [],
812
- "optional": [
813
- "navItems",
814
- "projects"
815
- ],
816
- "properties": {
817
- "navItems": {
818
- "required": false,
819
- "type": "NavItem[]"
820
- },
821
- "projects": {
822
- "required": false,
823
- "type": "ProjectItem[]"
824
- }
825
- }
826
- }
827
- },
828
- "FAQBlock": {
829
- "canonicalExport": "FAQBlock",
830
- "subpath": "./faq-block",
831
- "sourceFile": "src/components/blocks/FAQBlock.tsx",
832
- "category": "Marketing",
833
- "tier": "stable",
834
- "description": "FAQ accordion",
835
- "propsSchema": {
836
- "kind": "object",
837
- "noDataProps": false,
838
- "required": [],
839
- "optional": [
840
- "items",
841
- "title",
842
- "description"
843
- ],
844
- "properties": {
845
- "items": {
846
- "required": false,
847
- "type": "FAQItem[]"
848
- },
849
- "title": {
850
- "required": false,
851
- "type": "string"
852
- },
853
- "description": {
854
- "required": false,
855
- "type": "string"
856
- }
857
- }
858
- }
859
- },
860
- "FeatureBlock": {
861
- "canonicalExport": "FeatureBlock",
862
- "subpath": "./feature-block",
863
- "sourceFile": "src/components/blocks/FeatureBlock.tsx",
864
- "category": "Marketing",
865
- "tier": "stable",
866
- "description": "Single feature showcase",
867
- "propsSchema": {
868
- "kind": "object",
869
- "noDataProps": false,
870
- "required": [],
871
- "optional": [
872
- "variant",
873
- "badge",
874
- "title",
875
- "description",
876
- "features"
877
- ],
878
- "properties": {
879
- "variant": {
880
- "required": false,
881
- "type": "FeatureBlockVariant"
882
- },
883
- "badge": {
884
- "required": false,
885
- "type": "string"
886
- },
887
- "title": {
888
- "required": false,
889
- "type": "string"
890
- },
891
- "description": {
892
- "required": false,
893
- "type": "string"
894
- },
895
- "features": {
896
- "required": false,
897
- "type": "FeatureGridItem[] | FeatureListItem[]"
898
- }
899
- }
900
- }
901
- },
902
- "FeatureGridBlock": {
903
- "canonicalExport": "FeatureGridBlock",
904
- "subpath": "./feature-grid-block",
905
- "sourceFile": "src/components/blocks/FeatureGridBlock.tsx",
906
- "category": "Marketing",
907
- "tier": "stable",
908
- "description": "Multi-feature grid layout",
909
- "propsSchema": {
910
- "kind": "object",
911
- "noDataProps": false,
912
- "required": [],
913
- "optional": [
914
- "title",
915
- "description",
916
- "features"
917
- ],
918
- "properties": {
919
- "title": {
920
- "required": false,
921
- "type": "string"
922
- },
923
- "description": {
924
- "required": false,
925
- "type": "string"
926
- },
927
- "features": {
928
- "required": false,
929
- "type": "FeatureItem[]"
930
- }
931
- }
932
- }
933
- },
934
- "FooterBlock": {
935
- "canonicalExport": "FooterBlock",
936
- "subpath": "./footer-block",
937
- "sourceFile": "src/components/blocks/FooterBlock.tsx",
938
- "category": "Navigation",
939
- "tier": "stable",
940
- "description": "Site footer with link columns",
941
- "propsSchema": {
942
- "kind": "object",
943
- "noDataProps": false,
944
- "required": [],
945
- "optional": [
946
- "brandDescription",
947
- "newsletterPlaceholder",
948
- "productLinks",
949
- "companyLinks",
950
- "legalLinks",
951
- "socialIcons"
952
- ],
953
- "properties": {
954
- "brandDescription": {
955
- "required": false,
956
- "type": "string"
957
- },
958
- "newsletterPlaceholder": {
959
- "required": false,
960
- "type": "string"
961
- },
962
- "productLinks": {
963
- "required": false,
964
- "type": "NavLink[]"
965
- },
966
- "companyLinks": {
967
- "required": false,
968
- "type": "NavLink[]"
969
- },
970
- "legalLinks": {
971
- "required": false,
972
- "type": "NavLink[]"
973
- },
974
- "socialIcons": {
975
- "required": false,
976
- "type": "{ icon: ReactNode; label: string }[]"
977
- }
978
- }
979
- }
980
- },
981
- "GalleryBlock": {
982
- "canonicalExport": "GalleryBlock",
983
- "subpath": "./gallery-block",
984
- "sourceFile": "src/components/blocks/GalleryBlock.tsx",
985
- "category": "Content & Media",
986
- "tier": "stable",
987
- "description": "Image/media gallery grid",
988
- "propsSchema": {
989
- "kind": "object",
990
- "noDataProps": false,
991
- "required": [],
992
- "optional": [
993
- "images",
994
- "columns",
995
- "title"
996
- ],
997
- "properties": {
998
- "images": {
999
- "required": false,
1000
- "type": "GalleryImage[]"
1001
- },
1002
- "columns": {
1003
- "required": false,
1004
- "type": "number"
1005
- },
1006
- "title": {
1007
- "required": false,
1008
- "type": "string"
1009
- }
1010
- }
1011
- }
1012
- },
1013
- "HeaderBlock": {
1014
- "canonicalExport": "HeaderBlock",
1015
- "subpath": "./header-block",
1016
- "sourceFile": "src/components/blocks/HeaderBlock.tsx",
1017
- "category": "Navigation",
1018
- "tier": "stable",
1019
- "description": "Site header with nav links",
1020
- "propsSchema": {
1021
- "kind": "object",
1022
- "noDataProps": false,
1023
- "required": [],
1024
- "optional": [
1025
- "menuItems",
1026
- "loginLabel",
1027
- "signUpLabel",
1028
- "loginHref",
1029
- "signUpHref"
1030
- ],
1031
- "properties": {
1032
- "menuItems": {
1033
- "required": false,
1034
- "type": "MenuItem[]"
1035
- },
1036
- "loginLabel": {
1037
- "required": false,
1038
- "type": "string"
1039
- },
1040
- "signUpLabel": {
1041
- "required": false,
1042
- "type": "string"
1043
- },
1044
- "loginHref": {
1045
- "required": false,
1046
- "type": "string"
1047
- },
1048
- "signUpHref": {
1049
- "required": false,
1050
- "type": "string"
1051
- }
1052
- }
1053
- }
1054
- },
1055
- "HeatmapChartBlock": {
1056
- "canonicalExport": "HeatmapChartBlock",
1057
- "subpath": "./heatmap-chart-block",
1058
- "sourceFile": "src/components/blocks/HeatmapChartBlock.tsx",
1059
- "category": "Dashboard & Data",
1060
- "tier": "stable",
1061
- "description": "Heatmap visualization",
1062
- "propsSchema": {
1063
- "kind": "object",
1064
- "noDataProps": false,
1065
- "required": [],
1066
- "optional": [
1067
- "data",
1068
- "config",
1069
- "title",
1070
- "description"
1071
- ],
1072
- "properties": {
1073
- "data": {
1074
- "required": false,
1075
- "type": "HeatmapDataItem[]"
1076
- },
1077
- "config": {
1078
- "required": false,
1079
- "type": "ChartConfig"
1080
- },
1081
- "title": {
1082
- "required": false,
1083
- "type": "string"
1084
- },
1085
- "description": {
1086
- "required": false,
1087
- "type": "string"
1088
- }
1089
- }
1090
- }
1091
- },
1092
- "HeroBlock": {
1093
- "canonicalExport": "HeroBlock",
1094
- "subpath": "./hero-block",
1095
- "sourceFile": "src/components/blocks/HeroBlock.tsx",
1096
- "category": "Marketing",
1097
- "tier": "stable",
1098
- "description": "Full hero with gradient text",
1099
- "propsSchema": {
1100
- "kind": "object",
1101
- "noDataProps": false,
1102
- "required": [],
1103
- "optional": [
1104
- "variant",
1105
- "headline",
1106
- "subheadline",
1107
- "primaryAction",
1108
- "secondaryAction",
1109
- "announcement"
1110
- ],
1111
- "properties": {
1112
- "variant": {
1113
- "required": false,
1114
- "type": "HeroBlockVariant"
1115
- },
1116
- "headline": {
1117
- "required": false,
1118
- "type": "string"
1119
- },
1120
- "subheadline": {
1121
- "required": false,
1122
- "type": "string"
1123
- },
1124
- "primaryAction": {
1125
- "required": false,
1126
- "type": "{ label: string onClick?: () => void }"
1127
- },
1128
- "secondaryAction": {
1129
- "required": false,
1130
- "type": "{ label: string onClick?: () => void }"
1131
- },
1132
- "announcement": {
1133
- "required": false,
1134
- "type": "{ label: string text: string href?: string }"
1135
- }
1136
- }
1137
- }
1138
- },
1139
- "HeroSectionBlock": {
1140
- "canonicalExport": "HeroSectionBlock",
1141
- "subpath": "./hero-section-block",
1142
- "sourceFile": "src/components/blocks/HeroSectionBlock.tsx",
1143
- "category": "Marketing",
1144
- "tier": "stable",
1145
- "description": "Alternate hero layout",
1146
- "propsSchema": {
1147
- "kind": "object",
1148
- "noDataProps": false,
1149
- "required": [],
1150
- "optional": [
1151
- "headline",
1152
- "flipWords",
1153
- "primaryAction",
1154
- "secondaryAction",
1155
- "logos"
1156
- ],
1157
- "properties": {
1158
- "headline": {
1159
- "required": false,
1160
- "type": "string"
1161
- },
1162
- "flipWords": {
1163
- "required": false,
1164
- "type": "string[]"
1165
- },
1166
- "primaryAction": {
1167
- "required": false,
1168
- "type": "HeroAction"
1169
- },
1170
- "secondaryAction": {
1171
- "required": false,
1172
- "type": "HeroAction"
1173
- },
1174
- "logos": {
1175
- "required": false,
1176
- "type": "HeroLogo[]"
1177
- }
1178
- }
1179
- }
1180
- },
1181
- "IntegrationsBlock": {
1182
- "canonicalExport": "IntegrationsBlock",
1183
- "subpath": "./integrations-block",
1184
- "sourceFile": "src/components/blocks/IntegrationsBlock.tsx",
1185
- "category": "Application",
1186
- "tier": "stable",
1187
- "description": "Integration marketplace grid",
1188
- "propsSchema": {
1189
- "kind": "object",
1190
- "noDataProps": false,
1191
- "required": [],
1192
- "optional": [
1193
- "title",
1194
- "description",
1195
- "integrations"
1196
- ],
1197
- "properties": {
1198
- "title": {
1199
- "required": false,
1200
- "type": "string"
1201
- },
1202
- "description": {
1203
- "required": false,
1204
- "type": "string"
1205
- },
1206
- "integrations": {
1207
- "required": false,
1208
- "type": "IntegrationItem[]"
1209
- }
1210
- }
1211
- }
1212
- },
1213
- "InteractiveAreaChartBlock": {
1214
- "canonicalExport": "InteractiveAreaChartBlock",
1215
- "subpath": "./interactive-area-chart-block",
1216
- "sourceFile": "src/components/blocks/InteractiveAreaChartBlock.tsx",
1217
- "category": "Dashboard & Data",
1218
- "tier": "stable",
1219
- "description": "Zoomable/interactive area chart",
1220
- "propsSchema": {
1221
- "kind": "object",
1222
- "noDataProps": false,
1223
- "required": [],
1224
- "optional": [
1225
- "data",
1226
- "config",
1227
- "title",
1228
- "description",
1229
- "timeRanges"
1230
- ],
1231
- "properties": {
1232
- "data": {
1233
- "required": false,
1234
- "type": "AreaChartDataItem[]"
1235
- },
1236
- "config": {
1237
- "required": false,
1238
- "type": "ChartConfig"
1239
- },
1240
- "title": {
1241
- "required": false,
1242
- "type": "string"
1243
- },
1244
- "description": {
1245
- "required": false,
1246
- "type": "string"
1247
- },
1248
- "timeRanges": {
1249
- "required": false,
1250
- "type": "TimeRange[]"
1251
- }
1252
- }
1253
- }
1254
- },
1255
- "InviteUserModal": {
1256
- "canonicalExport": "InviteUserModal",
1257
- "subpath": "./user/invite-user-modal",
1258
- "sourceFile": "src/components/blocks/user/InviteUserModal.tsx",
1259
- "category": "User",
1260
- "tier": "stable",
1261
- "description": "Invite teammate modal with role selection",
1262
- "propsSchema": {
1263
- "kind": "object",
1264
- "noDataProps": false,
1265
- "required": [],
1266
- "optional": [
1267
- "onInvite",
1268
- "onInvited"
1269
- ],
1270
- "properties": {
1271
- "onInvite": {
1272
- "required": false,
1273
- "type": "(values: InviteFormValues) => Promise<InviteResult> | InviteResult"
1274
- },
1275
- "onInvited": {
1276
- "required": false,
1277
- "type": "() => void"
1278
- }
1279
- }
1280
- }
1281
- },
1282
- "KanbanDemoBlock": {
1283
- "canonicalExport": "KanbanDemoBlock",
1284
- "subpath": "./kanban-demo-block",
1285
- "sourceFile": "src/components/blocks/KanbanDemoBlock.tsx",
1286
- "category": "Application",
1287
- "tier": "stable",
1288
- "description": "Kanban board demo with sample data",
1289
- "propsSchema": {
1290
- "kind": "object",
1291
- "noDataProps": true,
1292
- "required": [],
1293
- "optional": [],
1294
- "properties": {}
1295
- }
1296
- },
1297
- "LoginBlock": {
1298
- "canonicalExport": "LoginBlock",
1299
- "subpath": "./login-block",
1300
- "sourceFile": "src/components/blocks/LoginBlock.tsx",
1301
- "category": "Auth Flow",
1302
- "tier": "stable",
1303
- "description": "Email/password login with social OAuth",
1304
- "propsSchema": {
1305
- "kind": "object",
1306
- "noDataProps": false,
1307
- "required": [],
1308
- "optional": [
1309
- "type",
1310
- "showSocial",
1311
- "labels",
1312
- "action",
1313
- "error",
1314
- "onLogin",
1315
- "googleAction",
1316
- "forgotPasswordHref",
1317
- "signUpHref",
1318
- "signInHref"
1319
- ],
1320
- "properties": {
1321
- "type": {
1322
- "required": false,
1323
- "type": "\"login\" | \"signup\""
1324
- },
1325
- "showSocial": {
1326
- "required": false,
1327
- "type": "boolean"
1328
- },
1329
- "labels": {
1330
- "required": false,
1331
- "type": "Partial<typeof defaultLabels>"
1332
- },
1333
- "action": {
1334
- "required": false,
1335
- "type": "(formData: FormData) => void | Promise<void>"
1336
- },
1337
- "error": {
1338
- "required": false,
1339
- "type": "string | null"
1340
- },
1341
- "onLogin": {
1342
- "required": false,
1343
- "type": "(e: FormEvent) => void"
1344
- },
1345
- "googleAction": {
1346
- "required": false,
1347
- "type": "(formData: FormData) => void | Promise<void>"
1348
- },
1349
- "forgotPasswordHref": {
1350
- "required": false,
1351
- "type": "string"
1352
- },
1353
- "signUpHref": {
1354
- "required": false,
1355
- "type": "string"
1356
- },
1357
- "signInHref": {
1358
- "required": false,
1359
- "type": "string"
1360
- }
1361
- }
1362
- }
1363
- },
1364
- "LogoCloud": {
1365
- "canonicalExport": "LogoCloud",
1366
- "subpath": "./logo-cloud",
1367
- "sourceFile": "src/components/blocks/LogoCloud.tsx",
1368
- "category": "Marketing",
1369
- "tier": "stable",
1370
- "description": "Partner/client logo grid",
1371
- "propsSchema": {
1372
- "kind": "object",
1373
- "noDataProps": false,
1374
- "required": [],
1375
- "optional": [
1376
- "title",
1377
- "logos"
1378
- ],
1379
- "properties": {
1380
- "title": {
1381
- "required": false,
1382
- "type": "string"
1383
- },
1384
- "logos": {
1385
- "required": false,
1386
- "type": "LogoItem[]"
1387
- }
1388
- }
1389
- }
1390
- },
1391
- "NavUser": {
1392
- "canonicalExport": "NavUser",
1393
- "subpath": "./nav-user",
1394
- "sourceFile": "src/components/blocks/NavUser.tsx",
1395
- "category": "Navigation",
1396
- "tier": "stable",
1397
- "description": "Sidebar user menu with dropdown",
1398
- "propsSchema": {
1399
- "kind": "object",
1400
- "noDataProps": false,
1401
- "required": [
1402
- "user"
1403
- ],
1404
- "optional": [
1405
- "items",
1406
- "footer"
1407
- ],
1408
- "properties": {
1409
- "user": {
1410
- "required": true,
1411
- "type": "{ name: string email: string avatar?: string }"
1412
- },
1413
- "items": {
1414
- "required": false,
1415
- "type": "NavUserItem[]"
1416
- },
1417
- "footer": {
1418
- "required": false,
1419
- "type": "React.ReactNode"
1420
- }
1421
- }
1422
- }
1423
- },
1424
- "NewsletterBlock": {
1425
- "canonicalExport": "NewsletterBlock",
1426
- "subpath": "./newsletter-block",
1427
- "sourceFile": "src/components/blocks/NewsletterBlock.tsx",
1428
- "category": "Content & Media",
1429
- "tier": "stable",
1430
- "description": "Email newsletter signup",
1431
- "propsSchema": {
1432
- "kind": "object",
1433
- "noDataProps": false,
1434
- "required": [],
1435
- "optional": [
1436
- "onSubscribe",
1437
- "title",
1438
- "description"
1439
- ],
1440
- "properties": {
1441
- "onSubscribe": {
1442
- "required": false,
1443
- "type": "(email: string) => void"
1444
- },
1445
- "title": {
1446
- "required": false,
1447
- "type": "string"
1448
- },
1449
- "description": {
1450
- "required": false,
1451
- "type": "string"
1452
- }
1453
- }
1454
- }
1455
- },
1456
- "NotFoundBlock": {
1457
- "canonicalExport": "NotFoundBlock",
1458
- "subpath": "./not-found-block",
1459
- "sourceFile": "src/components/blocks/NotFoundBlock.tsx",
1460
- "category": "Navigation",
1461
- "tier": "stable",
1462
- "description": "404 page content",
1463
- "propsSchema": {
1464
- "kind": "object",
1465
- "noDataProps": false,
1466
- "required": [],
1467
- "optional": [
1468
- "title",
1469
- "description",
1470
- "backHref",
1471
- "backLabel"
1472
- ],
1473
- "properties": {
1474
- "title": {
1475
- "required": false,
1476
- "type": "string"
1477
- },
1478
- "description": {
1479
- "required": false,
1480
- "type": "string"
1481
- },
1482
- "backHref": {
1483
- "required": false,
1484
- "type": "string"
1485
- },
1486
- "backLabel": {
1487
- "required": false,
1488
- "type": "string"
1489
- }
1490
- }
1491
- }
1492
- },
1493
- "OnboardingBlock": {
1494
- "canonicalExport": "OnboardingBlock",
1495
- "subpath": "./onboarding-block",
1496
- "sourceFile": "src/components/blocks/OnboardingBlock.tsx",
1497
- "category": "Application",
1498
- "tier": "stable",
1499
- "description": "Multi-step onboarding wizard",
1500
- "propsSchema": {
1501
- "kind": "object",
1502
- "noDataProps": false,
1503
- "required": [],
1504
- "optional": [
1505
- "steps",
1506
- "title",
1507
- "onToggle"
1508
- ],
1509
- "properties": {
1510
- "steps": {
1511
- "required": false,
1512
- "type": "OnboardingStep[]"
1513
- },
1514
- "title": {
1515
- "required": false,
1516
- "type": "string"
1517
- },
1518
- "onToggle": {
1519
- "required": false,
1520
- "type": "(id: string, completed: boolean) => void"
1521
- }
1522
- }
1523
- }
1524
- },
1525
- "PasswordRecoveryBlock": {
1526
- "canonicalExport": "PasswordRecoveryBlock",
1527
- "subpath": "./password-recovery-block",
1528
- "sourceFile": "src/components/blocks/PasswordRecoveryBlock.tsx",
1529
- "category": "Auth Flow",
1530
- "tier": "stable",
1531
- "description": "Password reset request",
1532
- "propsSchema": {
1533
- "kind": "object",
1534
- "noDataProps": false,
1535
- "required": [],
1536
- "optional": [
1537
- "mode",
1538
- "onSubmit",
1539
- "onBackToLogin",
1540
- "title",
1541
- "description",
1542
- "buttonText",
1543
- "successTitle"
1544
- ],
1545
- "properties": {
1546
- "mode": {
1547
- "required": false,
1548
- "type": "\"reset\" | \"magic-link\""
1549
- },
1550
- "onSubmit": {
1551
- "required": false,
1552
- "type": "(email: string) => void"
1553
- },
1554
- "onBackToLogin": {
1555
- "required": false,
1556
- "type": "() => void"
1557
- },
1558
- "title": {
1559
- "required": false,
1560
- "type": "string"
1561
- },
1562
- "description": {
1563
- "required": false,
1564
- "type": "string"
1565
- },
1566
- "buttonText": {
1567
- "required": false,
1568
- "type": "string"
1569
- },
1570
- "successTitle": {
1571
- "required": false,
1572
- "type": "string"
1573
- }
1574
- }
1575
- }
1576
- },
1577
- "PricingBlock": {
1578
- "canonicalExport": "PricingBlock",
1579
- "subpath": "./pricing-block",
1580
- "sourceFile": "src/components/blocks/PricingBlock.tsx",
1581
- "category": "Marketing",
1582
- "tier": "stable",
1583
- "description": "Pricing cards comparison",
1584
- "propsSchema": {
1585
- "kind": "object",
1586
- "noDataProps": false,
1587
- "required": [],
1588
- "optional": [
1589
- "title",
1590
- "description",
1591
- "plans",
1592
- "showBillingToggle"
1593
- ],
1594
- "properties": {
1595
- "title": {
1596
- "required": false,
1597
- "type": "string"
1598
- },
1599
- "description": {
1600
- "required": false,
1601
- "type": "string"
1602
- },
1603
- "plans": {
1604
- "required": false,
1605
- "type": "PricingPlan[]"
1606
- },
1607
- "showBillingToggle": {
1608
- "required": false,
1609
- "type": "boolean"
1610
- }
1611
- }
1612
- }
1613
- },
1614
- "ProcessFlowBlock": {
1615
- "canonicalExport": "ProcessFlowBlock",
1616
- "subpath": "./process-flow-block",
1617
- "sourceFile": "src/components/blocks/ProcessFlowBlock.tsx",
1618
- "category": "Marketing",
1619
- "tier": "stable",
1620
- "description": "\"How it works\" numbered step sequence",
1621
- "propsSchema": {
1622
- "kind": "object",
1623
- "noDataProps": false,
1624
- "required": [],
1625
- "optional": [
1626
- "title",
1627
- "description",
1628
- "badge",
1629
- "steps"
1630
- ],
1631
- "properties": {
1632
- "title": {
1633
- "required": false,
1634
- "type": "string"
1635
- },
1636
- "description": {
1637
- "required": false,
1638
- "type": "string"
1639
- },
1640
- "badge": {
1641
- "required": false,
1642
- "type": "string"
1643
- },
1644
- "steps": {
1645
- "required": false,
1646
- "type": "ProcessStep[]"
1647
- }
1648
- }
1649
- }
1650
- },
1651
- "ResetPasswordBlock": {
1652
- "canonicalExport": "ResetPasswordBlock",
1653
- "subpath": "./reset-password-block",
1654
- "sourceFile": "src/components/blocks/ResetPasswordBlock.tsx",
1655
- "category": "Auth Flow",
1656
- "tier": "stable",
1657
- "description": "New password entry (from email link)",
1658
- "propsSchema": {
1659
- "kind": "object",
1660
- "noDataProps": false,
1661
- "required": [],
1662
- "optional": [
1663
- "onSubmit",
1664
- "onBackToLogin",
1665
- "title",
1666
- "description"
1667
- ],
1668
- "properties": {
1669
- "onSubmit": {
1670
- "required": false,
1671
- "type": "(password: string) => void"
1672
- },
1673
- "onBackToLogin": {
1674
- "required": false,
1675
- "type": "() => void"
1676
- },
1677
- "title": {
1678
- "required": false,
1679
- "type": "string"
1680
- },
1681
- "description": {
1682
- "required": false,
1683
- "type": "string"
1684
- }
1685
- }
1686
- }
1687
- },
1688
- "SettingsLayout": {
1689
- "canonicalExport": "SettingsLayout",
1690
- "subpath": "./settings-layout",
1691
- "sourceFile": "src/components/blocks/SettingsLayout.tsx",
1692
- "category": "Application",
1693
- "tier": "stable",
1694
- "description": "Settings page with nav sidebar",
1695
- "propsSchema": {
1696
- "kind": "object",
1697
- "noDataProps": false,
1698
- "required": [],
1699
- "optional": [
1700
- "links",
1701
- "title",
1702
- "subtitle",
1703
- "defaultActive",
1704
- "renderContent"
1705
- ],
1706
- "properties": {
1707
- "links": {
1708
- "required": false,
1709
- "type": "SettingsLink[]"
1710
- },
1711
- "title": {
1712
- "required": false,
1713
- "type": "string"
1714
- },
1715
- "subtitle": {
1716
- "required": false,
1717
- "type": "string"
1718
- },
1719
- "defaultActive": {
1720
- "required": false,
1721
- "type": "string"
1722
- },
1723
- "renderContent": {
1724
- "required": false,
1725
- "type": "(activeLink: string) => ReactNode"
1726
- }
1727
- }
1728
- }
1729
- },
1730
- "SignUpBlock": {
1731
- "canonicalExport": "SignUpBlock",
1732
- "subpath": "./sign-up-block",
1733
- "sourceFile": "src/components/blocks/SignUpBlock.tsx",
1734
- "category": "Auth Flow",
1735
- "tier": "stable",
1736
- "description": "Registration form",
1737
- "propsSchema": {
1738
- "kind": "object",
1739
- "noDataProps": false,
1740
- "required": [],
1741
- "optional": [
1742
- "title",
1743
- "description",
1744
- "showSocial",
1745
- "signInHref",
1746
- "onSubmit"
1747
- ],
1748
- "properties": {
1749
- "title": {
1750
- "required": false,
1751
- "type": "string"
1752
- },
1753
- "description": {
1754
- "required": false,
1755
- "type": "string"
1756
- },
1757
- "showSocial": {
1758
- "required": false,
1759
- "type": "boolean"
1760
- },
1761
- "signInHref": {
1762
- "required": false,
1763
- "type": "string"
1764
- },
1765
- "onSubmit": {
1766
- "required": false,
1767
- "type": "(e: FormEvent<HTMLFormElement>) => void"
1768
- }
1769
- }
1770
- }
1771
- },
1772
- "SocialProofBlock": {
1773
- "canonicalExport": "SocialProofBlock",
1774
- "subpath": "./social-proof-block",
1775
- "sourceFile": "src/components/blocks/SocialProofBlock.tsx",
1776
- "category": "Marketing",
1777
- "tier": "stable",
1778
- "description": "Social proof metrics/logos",
1779
- "propsSchema": {
1780
- "kind": "object",
1781
- "noDataProps": false,
1782
- "required": [],
1783
- "optional": [
1784
- "variant",
1785
- "logos",
1786
- "title",
1787
- "testimonials"
1788
- ],
1789
- "properties": {
1790
- "variant": {
1791
- "required": false,
1792
- "type": "SocialProofBlockVariant"
1793
- },
1794
- "logos": {
1795
- "required": false,
1796
- "type": "LogoItem[]"
1797
- },
1798
- "title": {
1799
- "required": false,
1800
- "type": "string"
1801
- },
1802
- "testimonials": {
1803
- "required": false,
1804
- "type": "SocialTestimonialItem[]"
1805
- }
1806
- }
1807
- }
1808
- },
1809
- "SolutionShowcaseBlock": {
1810
- "canonicalExport": "SolutionShowcaseBlock",
1811
- "subpath": "./solution-showcase-block",
1812
- "sourceFile": "src/components/blocks/SolutionShowcaseBlock.tsx",
1813
- "category": "Marketing",
1814
- "tier": "stable",
1815
- "description": "Problem -> Solution -> Output narrative with color-coded arc",
1816
- "propsSchema": {
1817
- "kind": "object",
1818
- "noDataProps": false,
1819
- "required": [],
1820
- "optional": [
1821
- "title",
1822
- "description",
1823
- "badge",
1824
- "sections"
1825
- ],
1826
- "properties": {
1827
- "title": {
1828
- "required": false,
1829
- "type": "string"
1830
- },
1831
- "description": {
1832
- "required": false,
1833
- "type": "string"
1834
- },
1835
- "badge": {
1836
- "required": false,
1837
- "type": "string"
1838
- },
1839
- "sections": {
1840
- "required": false,
1841
- "type": "SolutionSection[]"
1842
- }
1843
- }
1844
- }
1845
- },
1846
- "StatsBlock": {
1847
- "canonicalExport": "StatsBlock",
1848
- "subpath": "./stats-block",
1849
- "sourceFile": "src/components/blocks/StatsBlock.tsx",
1850
- "category": "Dashboard & Data",
1851
- "tier": "stable",
1852
- "description": "KPI statistics cards",
1853
- "propsSchema": {
1854
- "kind": "object",
1855
- "noDataProps": false,
1856
- "required": [],
1857
- "optional": [
1858
- "stats"
1859
- ],
1860
- "properties": {
1861
- "stats": {
1862
- "required": false,
1863
- "type": "StatItem[]"
1864
- }
1865
- }
1866
- }
1867
- },
1868
- "StatsMarketingBlock": {
1869
- "canonicalExport": "StatsMarketingBlock",
1870
- "subpath": "./stats-marketing-block",
1871
- "sourceFile": "src/components/blocks/StatsMarketingBlock.tsx",
1872
- "category": "Marketing",
1873
- "tier": "stable",
1874
- "description": "Marketing statistics display",
1875
- "propsSchema": {
1876
- "kind": "object",
1877
- "noDataProps": false,
1878
- "required": [],
1879
- "optional": [
1880
- "title",
1881
- "description",
1882
- "stats"
1883
- ],
1884
- "properties": {
1885
- "title": {
1886
- "required": false,
1887
- "type": "string"
1888
- },
1889
- "description": {
1890
- "required": false,
1891
- "type": "string"
1892
- },
1893
- "stats": {
1894
- "required": false,
1895
- "type": "StatItem[]"
1896
- }
1897
- }
1898
- }
1899
- },
1900
- "TeamBlock": {
1901
- "canonicalExport": "TeamBlock",
1902
- "subpath": "./team-block",
1903
- "sourceFile": "src/components/blocks/TeamBlock.tsx",
1904
- "category": "User",
1905
- "tier": "stable",
1906
- "description": "Team members grid with roles/avatars",
1907
- "propsSchema": {
1908
- "kind": "object",
1909
- "noDataProps": false,
1910
- "required": [],
1911
- "optional": [
1912
- "title",
1913
- "sections"
1914
- ],
1915
- "properties": {
1916
- "title": {
1917
- "required": false,
1918
- "type": "string"
1919
- },
1920
- "sections": {
1921
- "required": false,
1922
- "type": "TeamSectionDef[]"
1923
- }
1924
- }
1925
- }
1926
- },
1927
- "TestimonialsBlock": {
1928
- "canonicalExport": "TestimonialsBlock",
1929
- "subpath": "./testimonials-block",
1930
- "sourceFile": "src/components/blocks/TestimonialsBlock.tsx",
1931
- "category": "Marketing",
1932
- "tier": "stable",
1933
- "description": "Customer testimonial carousel/grid",
1934
- "propsSchema": {
1935
- "kind": "object",
1936
- "noDataProps": false,
1937
- "required": [],
1938
- "optional": [
1939
- "title",
1940
- "description",
1941
- "testimonials"
1942
- ],
1943
- "properties": {
1944
- "title": {
1945
- "required": false,
1946
- "type": "string"
1947
- },
1948
- "description": {
1949
- "required": false,
1950
- "type": "string"
1951
- },
1952
- "testimonials": {
1953
- "required": false,
1954
- "type": "TestimonialItem[]"
1955
- }
1956
- }
1957
- }
1958
- },
1959
- "TwoFactorChallengeBlock": {
1960
- "canonicalExport": "TwoFactorChallengeBlock",
1961
- "subpath": "./two-factor-challenge-block",
1962
- "sourceFile": "src/components/blocks/TwoFactorChallengeBlock.tsx",
1963
- "category": "Auth Flow",
1964
- "tier": "stable",
1965
- "description": "2FA code entry challenge",
1966
- "propsSchema": {
1967
- "kind": "object",
1968
- "noDataProps": false,
1969
- "required": [],
1970
- "optional": [
1971
- "onVerify",
1972
- "onUseBackupCode",
1973
- "onBackToLogin",
1974
- "error",
1975
- "title",
1976
- "description",
1977
- "backupCodeLabel"
1978
- ],
1979
- "properties": {
1980
- "onVerify": {
1981
- "required": false,
1982
- "type": "(code: string) => void"
1983
- },
1984
- "onUseBackupCode": {
1985
- "required": false,
1986
- "type": "() => void"
1987
- },
1988
- "onBackToLogin": {
1989
- "required": false,
1990
- "type": "() => void"
1991
- },
1992
- "error": {
1993
- "required": false,
1994
- "type": "string"
1995
- },
1996
- "title": {
1997
- "required": false,
1998
- "type": "string"
1999
- },
2000
- "description": {
2001
- "required": false,
2002
- "type": "string"
2003
- },
2004
- "backupCodeLabel": {
2005
- "required": false,
2006
- "type": "string"
2007
- }
2008
- }
2009
- }
2010
- },
2011
- "TwoFactorSetupBlock": {
2012
- "canonicalExport": "TwoFactorSetupBlock",
2013
- "subpath": "./two-factor-setup-block",
2014
- "sourceFile": "src/components/blocks/TwoFactorSetupBlock.tsx",
2015
- "category": "Auth Flow",
2016
- "tier": "stable",
2017
- "description": "2FA setup with QR code",
2018
- "propsSchema": {
2019
- "kind": "object",
2020
- "noDataProps": false,
2021
- "required": [],
2022
- "optional": [
2023
- "qrCodeUrl",
2024
- "secret",
2025
- "backupCodes",
2026
- "onVerify",
2027
- "onComplete",
2028
- "title",
2029
- "description"
2030
- ],
2031
- "properties": {
2032
- "qrCodeUrl": {
2033
- "required": false,
2034
- "type": "string"
2035
- },
2036
- "secret": {
2037
- "required": false,
2038
- "type": "string"
2039
- },
2040
- "backupCodes": {
2041
- "required": false,
2042
- "type": "string[]"
2043
- },
2044
- "onVerify": {
2045
- "required": false,
2046
- "type": "(code: string) => boolean | Promise<boolean>"
2047
- },
2048
- "onComplete": {
2049
- "required": false,
2050
- "type": "() => void"
2051
- },
2052
- "title": {
2053
- "required": false,
2054
- "type": "string"
2055
- },
2056
- "description": {
2057
- "required": false,
2058
- "type": "string"
2059
- }
2060
- }
2061
- }
2062
- },
2063
- "UsageDonutBlock": {
2064
- "canonicalExport": "UsageDonutBlock",
2065
- "subpath": "./usage-donut-block",
2066
- "sourceFile": "src/components/blocks/UsageDonutBlock.tsx",
2067
- "category": "Dashboard & Data",
2068
- "tier": "stable",
2069
- "description": "Usage/quota donut chart",
2070
- "propsSchema": {
2071
- "kind": "object",
2072
- "noDataProps": false,
2073
- "required": [],
2074
- "optional": [
2075
- "data",
2076
- "config",
2077
- "title",
2078
- "description",
2079
- "centerLabel"
2080
- ],
2081
- "properties": {
2082
- "data": {
2083
- "required": false,
2084
- "type": "UsageDonutDataItem[]"
2085
- },
2086
- "config": {
2087
- "required": false,
2088
- "type": "ChartConfig"
2089
- },
2090
- "title": {
2091
- "required": false,
2092
- "type": "string"
2093
- },
2094
- "description": {
2095
- "required": false,
2096
- "type": "string"
2097
- },
2098
- "centerLabel": {
2099
- "required": false,
2100
- "type": "React.ReactNode"
2101
- }
2102
- }
2103
- }
2104
- },
2105
- "VoiceAgentCard": {
2106
- "canonicalExport": "VoiceAgentCard",
2107
- "subpath": "./voice-agent-card",
2108
- "sourceFile": "src/components/blocks/VoiceAgentCard.tsx",
2109
- "category": "AI/Voice",
2110
- "tier": "stable",
2111
- "description": "AI voice agent interface card",
2112
- "propsSchema": {
2113
- "kind": "object",
2114
- "noDataProps": false,
2115
- "required": [
2116
- "agent",
2117
- "state"
2118
- ],
2119
- "optional": [
2120
- "selected",
2121
- "onSelect",
2122
- "ariaLabel"
2123
- ],
2124
- "properties": {
2125
- "agent": {
2126
- "required": true,
2127
- "type": "VoiceAgent"
2128
- },
2129
- "state": {
2130
- "required": true,
2131
- "type": "Avatar3DState"
2132
- },
2133
- "selected": {
2134
- "required": false,
2135
- "type": "boolean"
2136
- },
2137
- "onSelect": {
2138
- "required": false,
2139
- "type": "() => void"
2140
- },
2141
- "ariaLabel": {
2142
- "required": false,
2143
- "type": "string"
2144
- }
2145
- }
2146
- }
2147
- },
2148
- "WizardBlock": {
2149
- "canonicalExport": "WizardBlock",
2150
- "subpath": "./wizard-block",
2151
- "sourceFile": "src/components/blocks/WizardBlock.tsx",
2152
- "category": "Application",
2153
- "tier": "stable",
2154
- "description": "Generic step-by-step wizard",
2155
- "propsSchema": {
2156
- "kind": "object",
2157
- "noDataProps": false,
2158
- "required": [],
2159
- "optional": [
2160
- "title",
2161
- "description",
2162
- "steps",
2163
- "onFinish"
2164
- ],
2165
- "properties": {
2166
- "title": {
2167
- "required": false,
2168
- "type": "string"
2169
- },
2170
- "description": {
2171
- "required": false,
2172
- "type": "string"
2173
- },
2174
- "steps": {
2175
- "required": false,
2176
- "type": "WizardStep[]"
2177
- },
2178
- "onFinish": {
2179
- "required": false,
2180
- "type": "() => void"
2181
- }
2182
- }
2183
- }
2184
- }
2185
- }
2186
- }