@urbicon-ui/docs-gen 6.1.4

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 (263) hide show
  1. package/README.md +92 -0
  2. package/dist/cli/CLI.d.ts +10 -0
  3. package/dist/cli/CLI.d.ts.map +1 -0
  4. package/dist/cli/CLI.js +340 -0
  5. package/dist/cli/CLI.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +7 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/core/discovery/ComponentFinder.d.ts +43 -0
  11. package/dist/core/discovery/ComponentFinder.d.ts.map +1 -0
  12. package/dist/core/discovery/ComponentFinder.js +421 -0
  13. package/dist/core/discovery/ComponentFinder.js.map +1 -0
  14. package/dist/core/discovery/FileStructureAnalyzer.d.ts +15 -0
  15. package/dist/core/discovery/FileStructureAnalyzer.d.ts.map +1 -0
  16. package/dist/core/discovery/FileStructureAnalyzer.js +35 -0
  17. package/dist/core/discovery/FileStructureAnalyzer.js.map +1 -0
  18. package/dist/core/discovery/MetadataExtractor.d.ts +15 -0
  19. package/dist/core/discovery/MetadataExtractor.d.ts.map +1 -0
  20. package/dist/core/discovery/MetadataExtractor.js +47 -0
  21. package/dist/core/discovery/MetadataExtractor.js.map +1 -0
  22. package/dist/core/discovery/index.d.ts +2 -0
  23. package/dist/core/discovery/index.d.ts.map +1 -0
  24. package/dist/core/discovery/index.js +2 -0
  25. package/dist/core/discovery/index.js.map +1 -0
  26. package/dist/core/enrichment/APIDataGenerator.d.ts +77 -0
  27. package/dist/core/enrichment/APIDataGenerator.d.ts.map +1 -0
  28. package/dist/core/enrichment/APIDataGenerator.js +663 -0
  29. package/dist/core/enrichment/APIDataGenerator.js.map +1 -0
  30. package/dist/core/enrichment/index.d.ts +2 -0
  31. package/dist/core/enrichment/index.d.ts.map +1 -0
  32. package/dist/core/enrichment/index.js +6 -0
  33. package/dist/core/enrichment/index.js.map +1 -0
  34. package/dist/core/extraction/ExtractionCoordinator.d.ts +53 -0
  35. package/dist/core/extraction/ExtractionCoordinator.d.ts.map +1 -0
  36. package/dist/core/extraction/ExtractionCoordinator.js +352 -0
  37. package/dist/core/extraction/ExtractionCoordinator.js.map +1 -0
  38. package/dist/core/extraction/index.d.ts +2 -0
  39. package/dist/core/extraction/index.d.ts.map +1 -0
  40. package/dist/core/extraction/index.js +2 -0
  41. package/dist/core/extraction/index.js.map +1 -0
  42. package/dist/core/generation/GenerationCoordinator.d.ts +51 -0
  43. package/dist/core/generation/GenerationCoordinator.d.ts.map +1 -0
  44. package/dist/core/generation/GenerationCoordinator.js +206 -0
  45. package/dist/core/generation/GenerationCoordinator.js.map +1 -0
  46. package/dist/core/generation/index.d.ts +2 -0
  47. package/dist/core/generation/index.d.ts.map +1 -0
  48. package/dist/core/generation/index.js +2 -0
  49. package/dist/core/generation/index.js.map +1 -0
  50. package/dist/core/index.d.ts +7 -0
  51. package/dist/core/index.d.ts.map +1 -0
  52. package/dist/core/index.js +16 -0
  53. package/dist/core/index.js.map +1 -0
  54. package/dist/core/pipeline/ErrorHandler.d.ts +129 -0
  55. package/dist/core/pipeline/ErrorHandler.d.ts.map +1 -0
  56. package/dist/core/pipeline/ErrorHandler.js +321 -0
  57. package/dist/core/pipeline/ErrorHandler.js.map +1 -0
  58. package/dist/core/pipeline/PipelineOrchestrator.d.ts +45 -0
  59. package/dist/core/pipeline/PipelineOrchestrator.d.ts.map +1 -0
  60. package/dist/core/pipeline/PipelineOrchestrator.js +216 -0
  61. package/dist/core/pipeline/PipelineOrchestrator.js.map +1 -0
  62. package/dist/core/pipeline/index.d.ts +1 -0
  63. package/dist/core/pipeline/index.d.ts.map +1 -0
  64. package/dist/core/pipeline/index.js +2 -0
  65. package/dist/core/pipeline/index.js.map +1 -0
  66. package/dist/extractors/BaseExtractor.d.ts +33 -0
  67. package/dist/extractors/BaseExtractor.d.ts.map +1 -0
  68. package/dist/extractors/BaseExtractor.js +68 -0
  69. package/dist/extractors/BaseExtractor.js.map +1 -0
  70. package/dist/extractors/ExtractorFactory.d.ts +35 -0
  71. package/dist/extractors/ExtractorFactory.d.ts.map +1 -0
  72. package/dist/extractors/ExtractorFactory.js +88 -0
  73. package/dist/extractors/ExtractorFactory.js.map +1 -0
  74. package/dist/extractors/documentation/index.d.ts +1 -0
  75. package/dist/extractors/documentation/index.d.ts.map +1 -0
  76. package/dist/extractors/documentation/index.js +2 -0
  77. package/dist/extractors/documentation/index.js.map +1 -0
  78. package/dist/extractors/index.d.ts +1 -0
  79. package/dist/extractors/index.d.ts.map +1 -0
  80. package/dist/extractors/index.js +2 -0
  81. package/dist/extractors/index.js.map +1 -0
  82. package/dist/extractors/typescript/ExamplesExtractor.d.ts +32 -0
  83. package/dist/extractors/typescript/ExamplesExtractor.d.ts.map +1 -0
  84. package/dist/extractors/typescript/ExamplesExtractor.js +209 -0
  85. package/dist/extractors/typescript/ExamplesExtractor.js.map +1 -0
  86. package/dist/extractors/typescript/InheritanceExtractor.d.ts +45 -0
  87. package/dist/extractors/typescript/InheritanceExtractor.d.ts.map +1 -0
  88. package/dist/extractors/typescript/InheritanceExtractor.js +368 -0
  89. package/dist/extractors/typescript/InheritanceExtractor.js.map +1 -0
  90. package/dist/extractors/typescript/LocalTypesExtractor.d.ts +20 -0
  91. package/dist/extractors/typescript/LocalTypesExtractor.d.ts.map +1 -0
  92. package/dist/extractors/typescript/LocalTypesExtractor.js +100 -0
  93. package/dist/extractors/typescript/LocalTypesExtractor.js.map +1 -0
  94. package/dist/extractors/typescript/PropsExtractor.d.ts +142 -0
  95. package/dist/extractors/typescript/PropsExtractor.d.ts.map +1 -0
  96. package/dist/extractors/typescript/PropsExtractor.js +709 -0
  97. package/dist/extractors/typescript/PropsExtractor.js.map +1 -0
  98. package/dist/extractors/typescript/TypeScriptBaseExtractor.d.ts +74 -0
  99. package/dist/extractors/typescript/TypeScriptBaseExtractor.d.ts.map +1 -0
  100. package/dist/extractors/typescript/TypeScriptBaseExtractor.js +249 -0
  101. package/dist/extractors/typescript/TypeScriptBaseExtractor.js.map +1 -0
  102. package/dist/extractors/typescript/index.d.ts +1 -0
  103. package/dist/extractors/typescript/index.d.ts.map +1 -0
  104. package/dist/extractors/typescript/index.js +2 -0
  105. package/dist/extractors/typescript/index.js.map +1 -0
  106. package/dist/extractors/variants/TailwindVariantsParser.d.ts +16 -0
  107. package/dist/extractors/variants/TailwindVariantsParser.d.ts.map +1 -0
  108. package/dist/extractors/variants/TailwindVariantsParser.js +53 -0
  109. package/dist/extractors/variants/TailwindVariantsParser.js.map +1 -0
  110. package/dist/extractors/variants/VariantsExtractor.d.ts +45 -0
  111. package/dist/extractors/variants/VariantsExtractor.d.ts.map +1 -0
  112. package/dist/extractors/variants/VariantsExtractor.js +340 -0
  113. package/dist/extractors/variants/VariantsExtractor.js.map +1 -0
  114. package/dist/extractors/variants/index.d.ts +2 -0
  115. package/dist/extractors/variants/index.d.ts.map +1 -0
  116. package/dist/extractors/variants/index.js +2 -0
  117. package/dist/extractors/variants/index.js.map +1 -0
  118. package/dist/generators/api/APIFileGenerator.d.ts +32 -0
  119. package/dist/generators/api/APIFileGenerator.d.ts.map +1 -0
  120. package/dist/generators/api/APIFileGenerator.js +450 -0
  121. package/dist/generators/api/APIFileGenerator.js.map +1 -0
  122. package/dist/generators/api/TypeDefinitionGenerator.d.ts +1 -0
  123. package/dist/generators/api/TypeDefinitionGenerator.d.ts.map +1 -0
  124. package/dist/generators/api/TypeDefinitionGenerator.js +2 -0
  125. package/dist/generators/api/TypeDefinitionGenerator.js.map +1 -0
  126. package/dist/generators/api/index.d.ts +2 -0
  127. package/dist/generators/api/index.d.ts.map +1 -0
  128. package/dist/generators/api/index.js +2 -0
  129. package/dist/generators/api/index.js.map +1 -0
  130. package/dist/generators/index.d.ts +5 -0
  131. package/dist/generators/index.d.ts.map +1 -0
  132. package/dist/generators/index.js +4 -0
  133. package/dist/generators/index.js.map +1 -0
  134. package/dist/generators/llm/LLMDocumentationGenerator.d.ts +34 -0
  135. package/dist/generators/llm/LLMDocumentationGenerator.d.ts.map +1 -0
  136. package/dist/generators/llm/LLMDocumentationGenerator.js +480 -0
  137. package/dist/generators/llm/LLMDocumentationGenerator.js.map +1 -0
  138. package/dist/generators/llm/LLMFormatter.d.ts +4 -0
  139. package/dist/generators/llm/LLMFormatter.d.ts.map +1 -0
  140. package/dist/generators/llm/LLMFormatter.js +8 -0
  141. package/dist/generators/llm/LLMFormatter.js.map +1 -0
  142. package/dist/generators/llm/LlmsFullAssembler.d.ts +20 -0
  143. package/dist/generators/llm/LlmsFullAssembler.d.ts.map +1 -0
  144. package/dist/generators/llm/LlmsFullAssembler.js +63 -0
  145. package/dist/generators/llm/LlmsFullAssembler.js.map +1 -0
  146. package/dist/generators/llm/index.d.ts +1 -0
  147. package/dist/generators/llm/index.d.ts.map +1 -0
  148. package/dist/generators/llm/index.js +2 -0
  149. package/dist/generators/llm/index.js.map +1 -0
  150. package/dist/generators/mcp/MCPCatalogAssembler.d.ts +27 -0
  151. package/dist/generators/mcp/MCPCatalogAssembler.d.ts.map +1 -0
  152. package/dist/generators/mcp/MCPCatalogAssembler.js +147 -0
  153. package/dist/generators/mcp/MCPCatalogAssembler.js.map +1 -0
  154. package/dist/generators/mcp/MCPCatalogGenerator.d.ts +55 -0
  155. package/dist/generators/mcp/MCPCatalogGenerator.d.ts.map +1 -0
  156. package/dist/generators/mcp/MCPCatalogGenerator.js +153 -0
  157. package/dist/generators/mcp/MCPCatalogGenerator.js.map +1 -0
  158. package/dist/generators/svelte/PageGenerator.d.ts +82 -0
  159. package/dist/generators/svelte/PageGenerator.d.ts.map +1 -0
  160. package/dist/generators/svelte/PageGenerator.js +557 -0
  161. package/dist/generators/svelte/PageGenerator.js.map +1 -0
  162. package/dist/generators/svelte/PlaygroundPresets.d.ts +2 -0
  163. package/dist/generators/svelte/PlaygroundPresets.d.ts.map +1 -0
  164. package/dist/generators/svelte/PlaygroundPresets.js +4 -0
  165. package/dist/generators/svelte/PlaygroundPresets.js.map +1 -0
  166. package/dist/generators/svelte/SectionMerger.d.ts +38 -0
  167. package/dist/generators/svelte/SectionMerger.d.ts.map +1 -0
  168. package/dist/generators/svelte/SectionMerger.js +154 -0
  169. package/dist/generators/svelte/SectionMerger.js.map +1 -0
  170. package/dist/generators/svelte/TemplateEngine.d.ts +91 -0
  171. package/dist/generators/svelte/TemplateEngine.d.ts.map +1 -0
  172. package/dist/generators/svelte/TemplateEngine.js +500 -0
  173. package/dist/generators/svelte/TemplateEngine.js.map +1 -0
  174. package/dist/generators/svelte/index.d.ts +8 -0
  175. package/dist/generators/svelte/index.d.ts.map +1 -0
  176. package/dist/generators/svelte/index.js +11 -0
  177. package/dist/generators/svelte/index.js.map +1 -0
  178. package/dist/generators/svelte/renderers/ApiRenderer.d.ts +17 -0
  179. package/dist/generators/svelte/renderers/ApiRenderer.d.ts.map +1 -0
  180. package/dist/generators/svelte/renderers/ApiRenderer.js +44 -0
  181. package/dist/generators/svelte/renderers/ApiRenderer.js.map +1 -0
  182. package/dist/generators/svelte/renderers/ExampleRenderer.d.ts +33 -0
  183. package/dist/generators/svelte/renderers/ExampleRenderer.d.ts.map +1 -0
  184. package/dist/generators/svelte/renderers/ExampleRenderer.js +137 -0
  185. package/dist/generators/svelte/renderers/ExampleRenderer.js.map +1 -0
  186. package/dist/generators/svelte/renderers/OverviewRenderer.d.ts +9 -0
  187. package/dist/generators/svelte/renderers/OverviewRenderer.d.ts.map +1 -0
  188. package/dist/generators/svelte/renderers/OverviewRenderer.js +45 -0
  189. package/dist/generators/svelte/renderers/OverviewRenderer.js.map +1 -0
  190. package/dist/generators/svelte/renderers/PlaygroundRenderer.d.ts +35 -0
  191. package/dist/generators/svelte/renderers/PlaygroundRenderer.d.ts.map +1 -0
  192. package/dist/generators/svelte/renderers/PlaygroundRenderer.js +319 -0
  193. package/dist/generators/svelte/renderers/PlaygroundRenderer.js.map +1 -0
  194. package/dist/generators/svelte/renderers/TypesRenderer.d.ts +9 -0
  195. package/dist/generators/svelte/renderers/TypesRenderer.d.ts.map +1 -0
  196. package/dist/generators/svelte/renderers/TypesRenderer.js +23 -0
  197. package/dist/generators/svelte/renderers/TypesRenderer.js.map +1 -0
  198. package/dist/generators/svelte/renderers/UsageRenderer.d.ts +14 -0
  199. package/dist/generators/svelte/renderers/UsageRenderer.d.ts.map +1 -0
  200. package/dist/generators/svelte/renderers/UsageRenderer.js +91 -0
  201. package/dist/generators/svelte/renderers/UsageRenderer.js.map +1 -0
  202. package/dist/generators/svelte/renderers/VariantsRenderer.d.ts +43 -0
  203. package/dist/generators/svelte/renderers/VariantsRenderer.d.ts.map +1 -0
  204. package/dist/generators/svelte/renderers/VariantsRenderer.js +277 -0
  205. package/dist/generators/svelte/renderers/VariantsRenderer.js.map +1 -0
  206. package/dist/generators/svelte/renderers/index.d.ts +8 -0
  207. package/dist/generators/svelte/renderers/index.d.ts.map +1 -0
  208. package/dist/generators/svelte/renderers/index.js +8 -0
  209. package/dist/generators/svelte/renderers/index.js.map +1 -0
  210. package/dist/generators/svelte/types.d.ts +13 -0
  211. package/dist/generators/svelte/types.d.ts.map +1 -0
  212. package/dist/generators/svelte/types.js +2 -0
  213. package/dist/generators/svelte/types.js.map +1 -0
  214. package/dist/index.d.ts +5 -0
  215. package/dist/index.d.ts.map +1 -0
  216. package/dist/index.js +4 -0
  217. package/dist/index.js.map +1 -0
  218. package/dist/parsers/SvelteDocsParser.d.ts +44 -0
  219. package/dist/parsers/SvelteDocsParser.d.ts.map +1 -0
  220. package/dist/parsers/SvelteDocsParser.js +141 -0
  221. package/dist/parsers/SvelteDocsParser.js.map +1 -0
  222. package/dist/parsers/index.d.ts +2 -0
  223. package/dist/parsers/index.d.ts.map +1 -0
  224. package/dist/parsers/index.js +6 -0
  225. package/dist/parsers/index.js.map +1 -0
  226. package/dist/schema/ConfigurationBuilder.d.ts +55 -0
  227. package/dist/schema/ConfigurationBuilder.d.ts.map +1 -0
  228. package/dist/schema/ConfigurationBuilder.js +447 -0
  229. package/dist/schema/ConfigurationBuilder.js.map +1 -0
  230. package/dist/schema/index.d.ts +1 -0
  231. package/dist/schema/index.d.ts.map +1 -0
  232. package/dist/schema/index.js +2 -0
  233. package/dist/schema/index.js.map +1 -0
  234. package/dist/tsconfig.tsbuildinfo +1 -0
  235. package/dist/types/configuration.d.ts +255 -0
  236. package/dist/types/configuration.d.ts.map +1 -0
  237. package/dist/types/configuration.js +2 -0
  238. package/dist/types/configuration.js.map +1 -0
  239. package/dist/types/core.d.ts +96 -0
  240. package/dist/types/core.d.ts.map +1 -0
  241. package/dist/types/core.js +2 -0
  242. package/dist/types/core.js.map +1 -0
  243. package/dist/types/docs-config.d.ts +5 -0
  244. package/dist/types/docs-config.d.ts.map +1 -0
  245. package/dist/types/docs-config.js +51 -0
  246. package/dist/types/docs-config.js.map +1 -0
  247. package/dist/types/index.d.ts +6 -0
  248. package/dist/types/index.d.ts.map +1 -0
  249. package/dist/types/index.js +9 -0
  250. package/dist/types/index.js.map +1 -0
  251. package/dist/types/validation.d.ts +321 -0
  252. package/dist/types/validation.d.ts.map +1 -0
  253. package/dist/types/validation.js +2 -0
  254. package/dist/types/validation.js.map +1 -0
  255. package/dist/utils/DeploymentManager.d.ts +80 -0
  256. package/dist/utils/DeploymentManager.d.ts.map +1 -0
  257. package/dist/utils/DeploymentManager.js +360 -0
  258. package/dist/utils/DeploymentManager.js.map +1 -0
  259. package/dist/utils/index.d.ts +1 -0
  260. package/dist/utils/index.d.ts.map +1 -0
  261. package/dist/utils/index.js +2 -0
  262. package/dist/utils/index.js.map +1 -0
  263. package/package.json +74 -0
@@ -0,0 +1,500 @@
1
+ /**
2
+ * Template engine for generating Svelte documentation pages
3
+ * Creates templates that match the existing docs package structure
4
+ */
5
+ export class TemplateEngine {
6
+ config;
7
+ constructor(config) {
8
+ this.config = config;
9
+ }
10
+ // ==========================================
11
+ // INDEX PAGE TEMPLATES
12
+ // ==========================================
13
+ /**
14
+ * Render the main index page with component overview
15
+ */
16
+ renderIndexPage(data) {
17
+ return `<script lang="ts">
18
+ import { DocsLayout as DocsPageLayout, Section, InfoCard } from '@urbicon-ui/docs';
19
+ import { Button, Badge, Card } from '@urbicon-ui/blocks';
20
+
21
+ const stats = ${JSON.stringify(data.stats, null, 2)};
22
+ const groupedComponents = ${JSON.stringify(data.groupedComponents, null, 2)};
23
+ </script>
24
+
25
+ <svelte:head>
26
+ <title>${data.title} - Urbicon UI</title>
27
+ <meta name="description" content="${data.description}" />
28
+ </svelte:head>
29
+
30
+ <DocsPageLayout title="${data.title}" description="${data.description}" maxWidth="7xl">
31
+ <!-- Hero Section -->
32
+ <Section id="overview" title="Component Documentation" subtitle="Comprehensive documentation for all ${data.stats.totalComponents} components" centered={true} size="xl" />
33
+
34
+ ${data.showStats ? this.renderStatsSection(data.stats) : ''}
35
+
36
+ <!-- Component Groups -->
37
+ <div class="space-y-12">
38
+ ${Object.entries(data.groupedComponents)
39
+ .map(([groupName, components]) => this.renderComponentGroup(groupName, components, data.showTiers))
40
+ .join('\n\n')}
41
+ </div>
42
+
43
+ <!-- Footer -->
44
+ <div class="mt-16 text-center text-sm text-slate-500 dark:text-slate-400">
45
+ Last updated: {new Date('${data.stats.lastGenerated}').toLocaleDateString()}
46
+ </div>
47
+ </DocsPageLayout>
48
+ `;
49
+ }
50
+ /**
51
+ * Render statistics section for index page
52
+ */
53
+ renderStatsSection(stats) {
54
+ return `
55
+ <!-- Statistics Section -->
56
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-12">
57
+ <InfoCard intent="primary" title="Components">
58
+ <div class="text-3xl font-bold">${stats.totalComponents}</div>
59
+ <div class="text-sm opacity-80">Total components</div>
60
+ </InfoCard>
61
+
62
+ <InfoCard intent="secondary" title="Properties">
63
+ <div class="text-3xl font-bold">${stats.totalProps}</div>
64
+ <div class="text-sm opacity-80">Total properties</div>
65
+ </InfoCard>
66
+
67
+ <InfoCard intent="success" title="Average Props">
68
+ <div class="text-3xl font-bold">${stats.averageProps}</div>
69
+ <div class="text-sm opacity-80">Per component</div>
70
+ </InfoCard>
71
+ </div>
72
+ `;
73
+ }
74
+ /**
75
+ * Render component group section
76
+ */
77
+ renderComponentGroup(groupName, components, showTiers) {
78
+ return `
79
+ <div>
80
+ <h2 class="text-2xl font-bold mb-6">${groupName}</h2>
81
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
82
+ ${components.map((component) => this.renderComponentCard(component, showTiers)).join('\n ')}
83
+ </div>
84
+ </div>
85
+ `;
86
+ }
87
+ /**
88
+ * Render individual component card
89
+ */
90
+ renderComponentCard(component, showTiers) {
91
+ const slug = component.name
92
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
93
+ .replace(/_/g, '-')
94
+ .toLowerCase();
95
+ return `
96
+ <Card variant="elevated" padding="md" interactive={true}>
97
+ <a href="./${slug}" class="block">
98
+ <div class="flex items-start justify-between mb-3">
99
+ <h3 class="text-lg font-semibold">${component.name}</h3>
100
+ </div>
101
+
102
+ <p class="text-slate-600 dark:text-slate-400 text-sm mb-4 line-clamp-2">
103
+ ${`${component.name} component with comprehensive functionality`}
104
+ </p>
105
+
106
+ <div class="flex items-center justify-between text-xs text-slate-500 dark:text-slate-400">
107
+ <span>${component.stats.totalProps} props</span>
108
+ </div>
109
+
110
+ ${component.experimental
111
+ ? `
112
+ <div class="mt-2">
113
+ <Badge variant="soft" intent="warning" size="sm">Experimental</Badge>
114
+ </div>
115
+ `
116
+ : ''}
117
+
118
+ ${component.deprecated
119
+ ? `
120
+ <div class="mt-2">
121
+ <Badge variant="soft" intent="danger" size="sm">Deprecated</Badge>
122
+ </div>
123
+ `
124
+ : ''}
125
+ </a>
126
+ </Card>
127
+ `;
128
+ }
129
+ // ==========================================
130
+ // COMPONENT PAGE TEMPLATES
131
+ // ==========================================
132
+ /**
133
+ * Render individual component documentation page
134
+ */
135
+ renderComponentPage(data) {
136
+ console.log(`🎨 TemplateEngine: Rendering page for ${data.component.name}`);
137
+ console.log(`📊 Script data available: ${!!data.scriptData}`);
138
+ // Extract imports from script data and deduplicate against component import
139
+ const baseComponentImport = (() => {
140
+ const componentName = data.component.name;
141
+ const componentPackage = data.component.packageName || '';
142
+ const isMetaComponent = ['Components', 'Primitives'].includes(componentName);
143
+ const importSource = componentPackage.includes('@urbicon-ui/docs')
144
+ ? ''
145
+ : componentPackage.includes('@urbicon-ui/table')
146
+ ? '@urbicon-ui/table'
147
+ : '@urbicon-ui/blocks';
148
+ return (!isMetaComponent && importSource) ? `import { ${componentName} } from '${importSource}';` : '';
149
+ })();
150
+ const additionalImports = (data.scriptData?.imports || []).filter((imp) => imp.trim() !== baseComponentImport);
151
+ const customImports = this.generateCustomImports(additionalImports);
152
+ console.log(`📦 Custom imports: ${additionalImports.length} imports -> "${customImports}"`);
153
+ // Extract variables from script data
154
+ const scriptVariables = this.generateScriptVariables(data);
155
+ console.log(`📋 Script variables length: ${scriptVariables.length} chars`);
156
+ console.log(`📋 Script variables content: ${scriptVariables.substring(0, 200)}...`);
157
+ // Extract functions from script data
158
+ const scriptFunctions = this.generateScriptFunctions(data.scriptData?.functions || {});
159
+ console.log(`🔧 Script functions length: ${scriptFunctions.length} chars`);
160
+ console.log(`🔧 Script functions content: ${scriptFunctions.substring(0, 200)}...`);
161
+ // Generate navigation
162
+ const navigation = data.navigation;
163
+ // Decide from which package to import the documented component
164
+ const componentName = data.component.name;
165
+ const componentPackage = data.component.packageName || '';
166
+ // Skip imports for meta-components that don't exist in packages
167
+ const isMetaComponent = ['Components', 'Primitives'].includes(componentName);
168
+ const importSource = componentPackage.includes('@urbicon-ui/docs')
169
+ ? ''
170
+ : componentPackage.includes('@urbicon-ui/table')
171
+ ? '@urbicon-ui/table'
172
+ : '@urbicon-ui/blocks';
173
+ const componentImport = baseComponentImport ? `\n ${baseComponentImport}` : '';
174
+ // Create the component page content
175
+ const pageContent = `<script lang="ts">
176
+ import {
177
+ DocsLayout as DocsPageLayout,
178
+ Section,
179
+ InfoCard,
180
+ CodeExample,
181
+ ApiReference,
182
+ PlaygroundConfigurator,
183
+ VariantGrid,
184
+ TableOfContents
185
+ } from '@urbicon-ui/docs';
186
+ ${componentImport}${customImports}
187
+ ${data.includeCustomDocs ? "\n import CustomDocs from './DocsCustom.svelte';" : ''}
188
+
189
+ // Component data
190
+ const componentData = ${JSON.stringify(data.componentApiData, null, 2)};
191
+
192
+ // Navigation data for ToC
193
+ const navigation = ${JSON.stringify(data.navigation, null, 2)};
194
+
195
+ ${scriptVariables}
196
+
197
+ ${scriptFunctions}
198
+ </script>
199
+
200
+ <svelte:head>
201
+ <title>${data.title} - Urbicon UI</title>
202
+ <meta name="description" content="${data.description}" />
203
+ </svelte:head>
204
+
205
+ <style>
206
+ :global(.playground-wrapper) {
207
+ background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
208
+ border: 1px solid #e2e8f0;
209
+ border-radius: 1.5rem;
210
+ padding: 2rem;
211
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.05);
212
+ position: relative;
213
+ overflow: hidden;
214
+ }
215
+
216
+ :global(.playground-wrapper::before) {
217
+ content: '';
218
+ position: absolute;
219
+ top: 0;
220
+ left: 0;
221
+ right: 0;
222
+ height: 1px;
223
+ background: linear-gradient(90deg, transparent, #3b82f6, transparent);
224
+ opacity: 0.3;
225
+ }
226
+
227
+ :global(.playground-wrapper :is([class*="Card"], [class*="card"])) {
228
+ background: rgba(255, 255, 255, 0.8) !important;
229
+ backdrop-filter: blur(8px);
230
+ border: 1px solid rgba(255, 255, 255, 0.2) !important;
231
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
232
+ }
233
+ </style>
234
+
235
+ <DocsPageLayout
236
+ title="${data.component.name}"
237
+ description="${data.description}"
238
+ maxWidth="lg"
239
+ showToc={true}
240
+ navigation={navigation}
241
+ >
242
+ ${data.sections.map((section) => section.content).join('\n\n ')}
243
+
244
+ ${data.includeCustomDocs ? '<svelte:component this={CustomDocs} />' : ''}
245
+ </DocsPageLayout>
246
+ `;
247
+ console.log(`🔍 Generated page length: ${pageContent.length} chars`);
248
+ console.log(`🔍 Contains scriptVariables: ${pageContent.includes('interactiveControls')}`);
249
+ console.log(`🔍 Contains customImports: ${pageContent.includes('IntentVariantMatrix')}`);
250
+ return pageContent;
251
+ }
252
+ /**
253
+ * Render component layout file
254
+ */
255
+ renderComponentLayout(component) {
256
+ return `<script lang="ts">
257
+ import { page } from '$app/stores';
258
+
259
+ // Layout logic for ${component.name} documentation
260
+ let currentSection = 'overview';
261
+ $: currentSection = $page.url.hash.replace('#', '') || 'overview';
262
+ </script>
263
+
264
+ <slot />
265
+
266
+ `;
267
+ }
268
+ // ==========================================
269
+ // NAVIGATION TEMPLATES
270
+ // ==========================================
271
+ /**
272
+ * Generate breadcrumb navigation
273
+ */
274
+ renderBreadcrumbs(component) {
275
+ return `
276
+ <nav class="flex items-center space-x-2 text-sm text-slate-600 dark:text-slate-400 mb-6">
277
+ <a href="/" class="hover:text-slate-900 dark:hover:text-slate-100">Documentation</a>
278
+ <span>/</span>
279
+ <span class="text-slate-900 dark:text-slate-100">${component.name}</span>
280
+ </nav>
281
+ `;
282
+ }
283
+ /**
284
+ * Generate next/previous navigation
285
+ */
286
+ renderNextPrevNavigation(currentComponent, allComponents) {
287
+ const currentIndex = allComponents.findIndex((c) => c.name === currentComponent.name);
288
+ const prevComponent = currentIndex > 0 ? allComponents[currentIndex - 1] : null;
289
+ const nextComponent = currentIndex < allComponents.length - 1 ? allComponents[currentIndex + 1] : null;
290
+ return `
291
+ <div class="flex justify-between items-center pt-8 mt-8 border-t border-slate-200 dark:border-slate-700">
292
+ ${prevComponent
293
+ ? `
294
+ <a href="/${prevComponent.name.toLowerCase()}" class="flex items-center space-x-2 text-slate-600 hover:text-slate-900 dark:text-slate-400 dark:hover:text-slate-100">
295
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
296
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path>
297
+ </svg>
298
+ <span>Previous: ${prevComponent.name}</span>
299
+ </a>
300
+ `
301
+ : '<div></div>'}
302
+
303
+ ${nextComponent
304
+ ? `
305
+ <a href="/${nextComponent.name.toLowerCase()}" class="flex items-center space-x-2 text-slate-600 hover:text-slate-900 dark:text-slate-400 dark:hover:text-slate-100">
306
+ <span>Next: ${nextComponent.name}</span>
307
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
308
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
309
+ </svg>
310
+ </a>
311
+ `
312
+ : '<div></div>'}
313
+ </div>
314
+ `;
315
+ }
316
+ // ==========================================
317
+ // SCRIPT GENERATION HELPERS
318
+ // ==========================================
319
+ /**
320
+ * Generate custom imports from script data
321
+ */
322
+ generateCustomImports(imports) {
323
+ if (imports.length === 0)
324
+ return '';
325
+ // Identifiers already imported in the base import block
326
+ const reservedIdentifiers = new Set([
327
+ 'Section',
328
+ 'InfoCard',
329
+ 'CodeExample',
330
+ 'ApiReference',
331
+ 'PlaygroundConfigurator',
332
+ 'VariantGrid',
333
+ 'TableOfContents',
334
+ 'DocsPageLayout'
335
+ ]);
336
+ const areFullStatements = imports.every((imp) => imp.trim().startsWith('import'));
337
+ // Helper to rebuild and filter a full import statement
338
+ const filterFullImport = (statement) => {
339
+ // import <spec> from '<source>';
340
+ const match = statement.match(/^\s*import\s+(.+?)\s+from\s+(["'][^"']+["'])\s*;?\s*$/s);
341
+ if (!match || !match[1] || !match[2])
342
+ return statement; // keep as-is if it doesn't match or missing groups
343
+ let spec = match[1].trim();
344
+ const source = match[2];
345
+ let defaultImport = null;
346
+ let namedBlock = '';
347
+ if (spec.includes('{')) {
348
+ const before = spec.slice(0, spec.indexOf('{')).trim().replace(/,$/, '').trim();
349
+ if (before)
350
+ defaultImport = before;
351
+ namedBlock = spec.slice(spec.indexOf('{') + 1, spec.lastIndexOf('}')).trim();
352
+ }
353
+ else {
354
+ defaultImport = spec;
355
+ }
356
+ // Drop default import if it collides
357
+ if (defaultImport && reservedIdentifiers.has(defaultImport)) {
358
+ defaultImport = null;
359
+ }
360
+ // Parse named specifiers
361
+ const namedSpecifiers = [];
362
+ if (namedBlock) {
363
+ const parts = namedBlock.split(',');
364
+ for (const raw of parts) {
365
+ const part = raw.trim();
366
+ if (!part)
367
+ continue;
368
+ const aliasMatch = part.split(/\s+as\s+/i);
369
+ const imported = (aliasMatch[0] ?? '').trim();
370
+ if (!imported)
371
+ continue;
372
+ const local = (aliasMatch[1] ?? imported).trim();
373
+ if (reservedIdentifiers.has(local))
374
+ continue; // skip collisions
375
+ namedSpecifiers.push(part);
376
+ }
377
+ }
378
+ if (!defaultImport && namedSpecifiers.length === 0)
379
+ return null; // nothing left
380
+ const pieces = [];
381
+ if (defaultImport)
382
+ pieces.push(defaultImport);
383
+ if (namedSpecifiers.length > 0)
384
+ pieces.push(`{ ${namedSpecifiers.join(', ')} }`);
385
+ return `import ${pieces.join(', ')} from ${source};`;
386
+ };
387
+ if (areFullStatements) {
388
+ const filtered = imports
389
+ .map((imp) => filterFullImport(imp))
390
+ .filter((imp) => Boolean(imp));
391
+ // De-duplicate identical statements
392
+ const unique = Array.from(new Set(filtered.map((s) => s.trim())));
393
+ return unique.length ? '\n ' + unique.join('\n ') : '';
394
+ }
395
+ // Otherwise, group imports by source using the old format "Component from 'pkg'"
396
+ const importGroups = {};
397
+ imports.forEach((imp) => {
398
+ const parts = imp.split(' from ');
399
+ const componentRaw = (parts[0] ?? '');
400
+ let component = componentRaw.replace(/import\s*\{?|\}?/g, '').trim();
401
+ const source = (parts[1] ?? '').trim();
402
+ if (!source)
403
+ return;
404
+ if (!component)
405
+ return;
406
+ // Resolve local name for collision check
407
+ const aliasParts = component.split(/\s+as\s+/i);
408
+ const localBase = aliasParts[1] ?? aliasParts[0] ?? '';
409
+ const local = localBase.trim();
410
+ if (!local)
411
+ return;
412
+ if (reservedIdentifiers.has(local))
413
+ return; // skip collision with base imports
414
+ if (!importGroups[source])
415
+ importGroups[source] = new Set();
416
+ importGroups[source].add(component.trim());
417
+ });
418
+ return Object.entries(importGroups)
419
+ .map(([source, components]) => `\n import { ${Array.from(components).join(', ')} } from ${source};`)
420
+ .join('');
421
+ }
422
+ /**
423
+ * Generate script variables from component page data
424
+ */
425
+ generateScriptVariables(data) {
426
+ console.log(`📄 TemplateEngine: Generating script variables`);
427
+ const allVariables = {};
428
+ // Add variables from global script data
429
+ if (data.scriptData?.variables) {
430
+ console.log(`📄 TemplateEngine: Found global script data with ${Object.keys(data.scriptData.variables).length} variables`);
431
+ Object.assign(allVariables, data.scriptData.variables);
432
+ }
433
+ // Add variables from custom sections (NEW for Phase 3)
434
+ data.sections.forEach((section, index) => {
435
+ if (section.scriptData?.variables) {
436
+ console.log(`📄 TemplateEngine: Section ${index} (${section.id}) has ${Object.keys(section.scriptData.variables).length} variables`);
437
+ Object.entries(section.scriptData.variables).forEach(([varName, varData]) => {
438
+ console.log(`📄 TemplateEngine: Processing variable: ${varName}`, varData);
439
+ allVariables[varName] = varData;
440
+ });
441
+ }
442
+ else {
443
+ console.log(`📄 TemplateEngine: Section ${index} (${section.id}) has no script data`);
444
+ }
445
+ });
446
+ console.log(`📄 TemplateEngine: Total variables collected: ${Object.keys(allVariables).length}`);
447
+ console.log(`📄 TemplateEngine: Variable names: ${Object.keys(allVariables).join(', ')}`);
448
+ if (Object.keys(allVariables).length === 0) {
449
+ console.log(`📄 TemplateEngine: No variables to generate`);
450
+ return '';
451
+ }
452
+ const variableCode = Object.entries(allVariables)
453
+ .map(([name, varData]) => {
454
+ // Handle extracted variable data from docs.svelte
455
+ if (varData && typeof varData === 'object' && varData.code) {
456
+ console.log(`📄 TemplateEngine: Added ${varData.type} variable: ${name}`);
457
+ return ` // ${name} (${varData.type})\n ${varData.code}`;
458
+ }
459
+ else {
460
+ // Handle regular values
461
+ console.log(`📄 TemplateEngine: Added regular variable: ${name}`);
462
+ return ` // ${name}\n const ${name} = ${JSON.stringify(varData, null, 2)};`;
463
+ }
464
+ })
465
+ .join('\n\n');
466
+ console.log(`📄 TemplateEngine: Generated variable code length: ${variableCode.length}`);
467
+ console.log(`📄 TemplateEngine: Generated variable code preview:`, variableCode.substring(0, 200) + '...');
468
+ return variableCode;
469
+ }
470
+ /**
471
+ * Generate script functions from script data
472
+ */
473
+ generateScriptFunctions(functions) {
474
+ return Object.entries(functions)
475
+ .map(([name, code]) => ` // ${name}\n ${code}`)
476
+ .join('\n\n');
477
+ }
478
+ // ==========================================
479
+ // UTILITY METHODS
480
+ // ==========================================
481
+ /**
482
+ * Generate meta tags for SEO
483
+ */
484
+ generateMetaTags(title, description, component) {
485
+ const tags = [
486
+ `<title>${title} - Urbicon UI</title>`,
487
+ `<meta name="description" content="${description}" />`,
488
+ `<meta property="og:title" content="${title}" />`,
489
+ `<meta property="og:description" content="${description}" />`,
490
+ `<meta property="og:type" content="website" />`
491
+ ];
492
+ if (component) {
493
+ const categories = component.stats?.categories || [];
494
+ const keywords = Array.isArray(categories) ? categories.join(', ') : String(categories);
495
+ tags.push(`<meta name="keywords" content="${component.name}, component, svelte, urbicon, ui${keywords ? ', ' + keywords : ''}" />`, `<meta property="og:url" content="/${component.name.toLowerCase()}" />`);
496
+ }
497
+ return tags.join('\n ');
498
+ }
499
+ }
500
+ //# sourceMappingURL=TemplateEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateEngine.js","sourceRoot":"","sources":["../../../src/generators/svelte/TemplateEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { SveltePageGenerator } from './PageGenerator';
2
+ export { SectionMerger } from './SectionMerger';
3
+ export { TemplateEngine, type IndexPageData, type ComponentPageData } from './TemplateEngine';
4
+ export type { RenderedSection } from './types';
5
+ export * from './renderers';
6
+ export type { SvelteOutputConfig, TemplateConfig, NavigationConfig, ThemingConfig } from '../../types/configuration';
7
+ export type { EnrichedComponentInfo, ComponentAPIData, GeneratedOutput } from '../../types/core';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/svelte/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG9F,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,cAAc,aAAa,CAAC;AAG5B,YAAY,EACX,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ // packages/docs-gen/src/generators/svelte/index.ts
2
+ // ==========================================
3
+ // SVELTE GENERATOR - MAIN EXPORTS
4
+ // Status: 🚀 IMPLEMENTING - Session 5
5
+ // ==========================================
6
+ export { SveltePageGenerator } from './PageGenerator';
7
+ export { SectionMerger } from './SectionMerger';
8
+ export { TemplateEngine } from './TemplateEngine';
9
+ // Re-export modular renderers
10
+ export * from './renderers';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/svelte/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,6CAA6C;AAC7C,kCAAkC;AAClC,sCAAsC;AACtC,6CAA6C;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAA8C,MAAM,kBAAkB,CAAC;AAK9F,8BAA8B;AAC9B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { DocumentationSection } from '@urbicon-ui/shared-types';
2
+ import type { ComponentAPIData, EnrichedComponentInfo } from '../../../types';
3
+ import type { RenderedSection } from '../types';
4
+ /**
5
+ * Renders API reference sections for component documentation
6
+ */
7
+ export declare class ApiRenderer {
8
+ /**
9
+ * Auto API renderer
10
+ */
11
+ renderAuto(_component: EnrichedComponentInfo, _apiData: ComponentAPIData, _config?: any): RenderedSection;
12
+ /**
13
+ * Render an API section from DocumentationSection
14
+ */
15
+ renderApiSection(section: DocumentationSection, component: EnrichedComponentInfo, componentApiData: ComponentAPIData): RenderedSection;
16
+ }
17
+ //# sourceMappingURL=ApiRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiRenderer.d.ts","sourceRoot":"","sources":["../../../../src/generators/svelte/renderers/ApiRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,eAAe;IAW1G;;OAEG;IACH,gBAAgB,CACf,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,qBAAqB,EAChC,gBAAgB,EAAE,gBAAgB,GAChC,eAAe;CAuBlB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Renders API reference sections for component documentation
3
+ */
4
+ export class ApiRenderer {
5
+ /**
6
+ * Auto API renderer
7
+ */
8
+ renderAuto(_component, _apiData, _config) {
9
+ const content = `
10
+ <!-- API Reference Section -->
11
+ <Section id="api" title="API Reference" subtitle="Complete list of component properties and their configurations" intent="secondary">
12
+ <div class="bg-white rounded-2xl border border-slate-200 overflow-hidden shadow-lg shadow-slate-200/30">
13
+ <ApiReference props={componentData?.props ?? []} />
14
+ </div>
15
+ </Section>
16
+ `;
17
+ return { id: 'api', title: 'API Reference', content, type: 'api' };
18
+ }
19
+ /**
20
+ * Render an API section from DocumentationSection
21
+ */
22
+ renderApiSection(section, component, componentApiData) {
23
+ const apiContent = section.content;
24
+ if (!apiContent) {
25
+ throw new Error(`API section ${section.id} missing api content`);
26
+ }
27
+ const content = `
28
+ <!-- ${section.title} -->
29
+ <Section id="${section.id}" title="${section.title}">
30
+ <ApiReference
31
+ props={componentData?.props ?? []}
32
+ showHeader={false}
33
+ />
34
+ </Section>
35
+ `;
36
+ return {
37
+ id: section.id,
38
+ title: section.title,
39
+ content,
40
+ type: 'api'
41
+ };
42
+ }
43
+ }
44
+ //# sourceMappingURL=ApiRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiRenderer.js","sourceRoot":"","sources":["../../../../src/generators/svelte/renderers/ApiRenderer.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,UAAU,CAAC,UAAiC,EAAE,QAA0B,EAAE,OAAa;QACrF,MAAM,OAAO,GAAG;;;;;;;CAOnB,CAAC;QACE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACrE,CAAC;IACF;;OAEG;IACH,gBAAgB,CACf,OAA6B,EAC7B,SAAgC,EAChC,gBAAkC;QAEhC,MAAM,UAAU,GAAI,OAAO,CAAC,OAAsB,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAClE,CAAC;QAEC,MAAM,OAAO,GAAG;OACb,OAAO,CAAC,KAAK;eACL,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,KAAK;;;;;;CAMjD,CAAC;QAEA,OAAO;YACN,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO;YACP,IAAI,EAAE,KAAK;SACX,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,33 @@
1
+ import type { DocumentationSection } from '@urbicon-ui/shared-types';
2
+ import type { ComponentAPIData, EnrichedComponentInfo } from '../../../types';
3
+ import type { RenderedSection } from '../types';
4
+ /**
5
+ * Renders code example sections for component documentation
6
+ */
7
+ export declare class ExampleRenderer {
8
+ /** Auto Examples renderer */
9
+ renderAuto(component: EnrichedComponentInfo, apiData: ComponentAPIData): RenderedSection;
10
+ private generateVariantExamples;
11
+ private generateVariantExampleCode;
12
+ /**
13
+ * Render an example section from DocumentationSection
14
+ */
15
+ renderExampleSection(section: DocumentationSection, component: EnrichedComponentInfo, componentApiData: ComponentAPIData): RenderedSection;
16
+ /**
17
+ * Convert example code to actual Svelte component instance
18
+ */
19
+ private convertCodeToSvelteComponent;
20
+ /**
21
+ * Check if example code contains undefined variables that need mock values
22
+ */
23
+ private checkIfExampleNeedsMockVariables;
24
+ /**
25
+ * Get mock variables needed for example code
26
+ */
27
+ private getMockVariables;
28
+ /**
29
+ * Escape backticks in code for template literals
30
+ */
31
+ private escapeBackticks;
32
+ }
33
+ //# sourceMappingURL=ExampleRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExampleRenderer.d.ts","sourceRoot":"","sources":["../../../../src/generators/svelte/renderers/ExampleRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,0BAA0B,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,qBAAa,eAAe;IAC1B,6BAA6B;IAC7B,UAAU,CAAC,SAAS,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,GAAG,eAAe;IAwBxF,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,0BAA0B;IAMnC;;OAEG;IACH,oBAAoB,CACnB,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,qBAAqB,EAChC,gBAAgB,EAAE,gBAAgB,GAChC,eAAe;IA+BlB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAepC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAUxC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;IACH,OAAO,CAAC,eAAe;CAGvB"}