@tpitre/story-ui 3.4.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/cli/index.js +0 -0
  2. package/dist/mcp-server/index.js +32 -0
  3. package/package.json +2 -1
  4. package/dist/cli/index.js.map +0 -1
  5. package/dist/cli/setup.js.map +0 -1
  6. package/dist/cloudflare-edge/src/mcp-session.js +0 -462
  7. package/dist/cloudflare-edge/src/types.js +0 -4
  8. package/dist/cloudflare-edge/src/worker.js +0 -106
  9. package/dist/cloudflare-pages/vite.config.js +0 -14
  10. package/dist/index.d.ts +0 -13
  11. package/dist/index.d.ts.map +0 -1
  12. package/dist/index.js +0 -12
  13. package/dist/index.js.map +0 -1
  14. package/dist/mcp-server/index.js.map +0 -1
  15. package/dist/mcp-server/mcp-stdio-server.js.map +0 -1
  16. package/dist/mcp-server/routes/claude.js.map +0 -1
  17. package/dist/mcp-server/routes/components.js.map +0 -1
  18. package/dist/mcp-server/routes/generateStory.js.map +0 -1
  19. package/dist/mcp-server/routes/hybridStories.d.ts +0 -18
  20. package/dist/mcp-server/routes/hybridStories.d.ts.map +0 -1
  21. package/dist/mcp-server/routes/hybridStories.js +0 -216
  22. package/dist/mcp-server/routes/hybridStories.js.map +0 -1
  23. package/dist/mcp-server/routes/memoryStories.d.ts +0 -26
  24. package/dist/mcp-server/routes/memoryStories.d.ts.map +0 -1
  25. package/dist/mcp-server/routes/memoryStories.js +0 -158
  26. package/dist/mcp-server/routes/memoryStories.js.map +0 -1
  27. package/dist/mcp-server/routes/storySync.d.ts +0 -26
  28. package/dist/mcp-server/routes/storySync.d.ts.map +0 -1
  29. package/dist/mcp-server/routes/storySync.js +0 -147
  30. package/dist/mcp-server/routes/storySync.js.map +0 -1
  31. package/dist/mcp-server/routes/updateStory.js +0 -246
  32. package/dist/mcp-server/sessionManager.d.ts +0 -50
  33. package/dist/mcp-server/sessionManager.d.ts.map +0 -1
  34. package/dist/mcp-server/sessionManager.js +0 -125
  35. package/dist/mcp-server/sessionManager.js.map +0 -1
  36. package/dist/playground/components/AIAssistant/AIAssistant.d.ts +0 -6
  37. package/dist/playground/components/AIAssistant/AIAssistant.d.ts.map +0 -1
  38. package/dist/playground/components/AIAssistant/AIAssistant.js +0 -109
  39. package/dist/playground/components/AIAssistant/AIAssistant.js.map +0 -1
  40. package/dist/playground/components/AIAssistant/AIAssistant.module.css +0 -166
  41. package/dist/playground/components/Canvas/Canvas.d.ts +0 -9
  42. package/dist/playground/components/Canvas/Canvas.d.ts.map +0 -1
  43. package/dist/playground/components/Canvas/Canvas.js +0 -58
  44. package/dist/playground/components/Canvas/Canvas.js.map +0 -1
  45. package/dist/playground/components/Canvas/Canvas.module.css +0 -189
  46. package/dist/playground/components/Canvas/CanvasWithDnd.d.ts +0 -9
  47. package/dist/playground/components/Canvas/CanvasWithDnd.d.ts.map +0 -1
  48. package/dist/playground/components/Canvas/CanvasWithDnd.js +0 -158
  49. package/dist/playground/components/Canvas/CanvasWithDnd.js.map +0 -1
  50. package/dist/playground/components/Canvas/ComponentRenderer.d.ts +0 -15
  51. package/dist/playground/components/Canvas/ComponentRenderer.d.ts.map +0 -1
  52. package/dist/playground/components/Canvas/ComponentRenderer.js +0 -177
  53. package/dist/playground/components/Canvas/ComponentRenderer.js.map +0 -1
  54. package/dist/playground/components/Canvas/DraggableComponent.d.ts +0 -15
  55. package/dist/playground/components/Canvas/DraggableComponent.d.ts.map +0 -1
  56. package/dist/playground/components/Canvas/DraggableComponent.js +0 -49
  57. package/dist/playground/components/Canvas/DraggableComponent.js.map +0 -1
  58. package/dist/playground/components/Canvas/index.d.ts +0 -9
  59. package/dist/playground/components/Canvas/index.d.ts.map +0 -1
  60. package/dist/playground/components/Canvas/index.js +0 -5
  61. package/dist/playground/components/Canvas/index.js.map +0 -1
  62. package/dist/playground/components/CodeView/CodeView.d.ts +0 -12
  63. package/dist/playground/components/CodeView/CodeView.d.ts.map +0 -1
  64. package/dist/playground/components/CodeView/CodeView.js +0 -77
  65. package/dist/playground/components/CodeView/CodeView.js.map +0 -1
  66. package/dist/playground/components/CodeView/CodeView.module.css +0 -178
  67. package/dist/playground/components/ComponentPalette/ComponentPalette.d.ts +0 -17
  68. package/dist/playground/components/ComponentPalette/ComponentPalette.d.ts.map +0 -1
  69. package/dist/playground/components/ComponentPalette/ComponentPalette.js +0 -138
  70. package/dist/playground/components/ComponentPalette/ComponentPalette.js.map +0 -1
  71. package/dist/playground/components/ComponentPalette/ComponentPalette.module.css +0 -217
  72. package/dist/playground/components/ComponentPalette/index.d.ts +0 -3
  73. package/dist/playground/components/ComponentPalette/index.d.ts.map +0 -1
  74. package/dist/playground/components/ComponentPalette/index.js +0 -2
  75. package/dist/playground/components/ComponentPalette/index.js.map +0 -1
  76. package/dist/playground/components/DropZone/DropZone.d.ts +0 -17
  77. package/dist/playground/components/DropZone/DropZone.d.ts.map +0 -1
  78. package/dist/playground/components/DropZone/DropZone.js +0 -73
  79. package/dist/playground/components/DropZone/DropZone.js.map +0 -1
  80. package/dist/playground/components/DropZone/DropZone.module.css +0 -86
  81. package/dist/playground/components/ExportDialog/ExportDialog.d.ts +0 -10
  82. package/dist/playground/components/ExportDialog/ExportDialog.d.ts.map +0 -1
  83. package/dist/playground/components/ExportDialog/ExportDialog.js +0 -57
  84. package/dist/playground/components/ExportDialog/ExportDialog.js.map +0 -1
  85. package/dist/playground/components/ExportDialog/ExportDialog.module.css +0 -328
  86. package/dist/playground/components/LayoutHelpers/LayoutHelpers.d.ts +0 -134
  87. package/dist/playground/components/LayoutHelpers/LayoutHelpers.d.ts.map +0 -1
  88. package/dist/playground/components/LayoutHelpers/LayoutHelpers.js +0 -254
  89. package/dist/playground/components/LayoutHelpers/LayoutHelpers.js.map +0 -1
  90. package/dist/playground/components/LayoutHelpers/index.d.ts +0 -3
  91. package/dist/playground/components/LayoutHelpers/index.d.ts.map +0 -1
  92. package/dist/playground/components/LayoutHelpers/index.js +0 -2
  93. package/dist/playground/components/LayoutHelpers/index.js.map +0 -1
  94. package/dist/playground/components/Playground/Playground.d.ts +0 -10
  95. package/dist/playground/components/Playground/Playground.d.ts.map +0 -1
  96. package/dist/playground/components/Playground/Playground.js +0 -128
  97. package/dist/playground/components/Playground/Playground.js.map +0 -1
  98. package/dist/playground/components/Playground/Playground.module.css +0 -308
  99. package/dist/playground/components/PropertiesPanel/PropertiesPanel.d.ts +0 -10
  100. package/dist/playground/components/PropertiesPanel/PropertiesPanel.d.ts.map +0 -1
  101. package/dist/playground/components/PropertiesPanel/PropertiesPanel.js +0 -150
  102. package/dist/playground/components/PropertiesPanel/PropertiesPanel.js.map +0 -1
  103. package/dist/playground/components/PropertiesPanel/PropertiesPanel.module.css +0 -155
  104. package/dist/playground/components/PropertiesPanel/index.d.ts +0 -3
  105. package/dist/playground/components/PropertiesPanel/index.d.ts.map +0 -1
  106. package/dist/playground/components/PropertiesPanel/index.js +0 -2
  107. package/dist/playground/components/PropertiesPanel/index.js.map +0 -1
  108. package/dist/playground/components/PropertyEditors/BooleanEditor.d.ts +0 -12
  109. package/dist/playground/components/PropertyEditors/BooleanEditor.d.ts.map +0 -1
  110. package/dist/playground/components/PropertyEditors/BooleanEditor.js +0 -14
  111. package/dist/playground/components/PropertyEditors/BooleanEditor.js.map +0 -1
  112. package/dist/playground/components/PropertyEditors/ColorEditor.d.ts +0 -12
  113. package/dist/playground/components/PropertyEditors/ColorEditor.d.ts.map +0 -1
  114. package/dist/playground/components/PropertyEditors/ColorEditor.js +0 -62
  115. package/dist/playground/components/PropertyEditors/ColorEditor.js.map +0 -1
  116. package/dist/playground/components/PropertyEditors/IconEditor.d.ts +0 -12
  117. package/dist/playground/components/PropertyEditors/IconEditor.d.ts.map +0 -1
  118. package/dist/playground/components/PropertyEditors/IconEditor.js +0 -123
  119. package/dist/playground/components/PropertyEditors/IconEditor.js.map +0 -1
  120. package/dist/playground/components/PropertyEditors/NumberEditor.d.ts +0 -15
  121. package/dist/playground/components/PropertyEditors/NumberEditor.d.ts.map +0 -1
  122. package/dist/playground/components/PropertyEditors/NumberEditor.js +0 -46
  123. package/dist/playground/components/PropertyEditors/NumberEditor.js.map +0 -1
  124. package/dist/playground/components/PropertyEditors/PropertyEditors.module.css +0 -432
  125. package/dist/playground/components/PropertyEditors/SelectEditor.d.ts +0 -19
  126. package/dist/playground/components/PropertyEditors/SelectEditor.d.ts.map +0 -1
  127. package/dist/playground/components/PropertyEditors/SelectEditor.js +0 -17
  128. package/dist/playground/components/PropertyEditors/SelectEditor.js.map +0 -1
  129. package/dist/playground/components/PropertyEditors/SpacingEditor.d.ts +0 -19
  130. package/dist/playground/components/PropertyEditors/SpacingEditor.d.ts.map +0 -1
  131. package/dist/playground/components/PropertyEditors/SpacingEditor.js +0 -162
  132. package/dist/playground/components/PropertyEditors/SpacingEditor.js.map +0 -1
  133. package/dist/playground/components/PropertyEditors/SpacingEditor.module.css +0 -214
  134. package/dist/playground/components/PropertyEditors/TextEditor.d.ts +0 -14
  135. package/dist/playground/components/PropertyEditors/TextEditor.d.ts.map +0 -1
  136. package/dist/playground/components/PropertyEditors/TextEditor.js +0 -38
  137. package/dist/playground/components/PropertyEditors/TextEditor.js.map +0 -1
  138. package/dist/playground/components/PropertyEditors/TokenEditor.d.ts +0 -23
  139. package/dist/playground/components/PropertyEditors/TokenEditor.d.ts.map +0 -1
  140. package/dist/playground/components/PropertyEditors/TokenEditor.js +0 -50
  141. package/dist/playground/components/PropertyEditors/TokenEditor.js.map +0 -1
  142. package/dist/playground/components/PropertyEditors/index.d.ts +0 -20
  143. package/dist/playground/components/PropertyEditors/index.d.ts.map +0 -1
  144. package/dist/playground/components/PropertyEditors/index.js +0 -12
  145. package/dist/playground/components/PropertyEditors/index.js.map +0 -1
  146. package/dist/playground/components/TreeView/TreeView.d.ts +0 -10
  147. package/dist/playground/components/TreeView/TreeView.d.ts.map +0 -1
  148. package/dist/playground/components/TreeView/TreeView.js +0 -146
  149. package/dist/playground/components/TreeView/TreeView.js.map +0 -1
  150. package/dist/playground/components/TreeView/TreeView.module.css +0 -214
  151. package/dist/playground/components/TreeView/index.d.ts +0 -3
  152. package/dist/playground/components/TreeView/index.d.ts.map +0 -1
  153. package/dist/playground/components/TreeView/index.js +0 -2
  154. package/dist/playground/components/TreeView/index.js.map +0 -1
  155. package/dist/playground/config/propertyDefinitions.d.ts +0 -73
  156. package/dist/playground/config/propertyDefinitions.d.ts.map +0 -1
  157. package/dist/playground/config/propertyDefinitions.js +0 -809
  158. package/dist/playground/config/propertyDefinitions.js.map +0 -1
  159. package/dist/playground/hooks/useKeyboardShortcuts.d.ts +0 -38
  160. package/dist/playground/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  161. package/dist/playground/hooks/useKeyboardShortcuts.js +0 -191
  162. package/dist/playground/hooks/useKeyboardShortcuts.js.map +0 -1
  163. package/dist/playground/index.d.ts +0 -21
  164. package/dist/playground/index.d.ts.map +0 -1
  165. package/dist/playground/index.js +0 -23
  166. package/dist/playground/index.js.map +0 -1
  167. package/dist/playground/services/CodeGenerator.d.ts +0 -73
  168. package/dist/playground/services/CodeGenerator.d.ts.map +0 -1
  169. package/dist/playground/services/CodeGenerator.js +0 -359
  170. package/dist/playground/services/CodeGenerator.js.map +0 -1
  171. package/dist/playground/services/DragDropManager.d.ts +0 -95
  172. package/dist/playground/services/DragDropManager.d.ts.map +0 -1
  173. package/dist/playground/services/DragDropManager.js +0 -408
  174. package/dist/playground/services/DragDropManager.js.map +0 -1
  175. package/dist/playground/services/StoryParser.d.ts +0 -73
  176. package/dist/playground/services/StoryParser.d.ts.map +0 -1
  177. package/dist/playground/services/StoryParser.js +0 -419
  178. package/dist/playground/services/StoryParser.js.map +0 -1
  179. package/dist/playground/store/playgroundStore.d.ts +0 -86
  180. package/dist/playground/store/playgroundStore.d.ts.map +0 -1
  181. package/dist/playground/store/playgroundStore.js +0 -337
  182. package/dist/playground/store/playgroundStore.js.map +0 -1
  183. package/dist/playground/stories/PlaygroundDragDrop.stories.d.ts +0 -13
  184. package/dist/playground/stories/PlaygroundDragDrop.stories.d.ts.map +0 -1
  185. package/dist/playground/stories/PlaygroundDragDrop.stories.js +0 -227
  186. package/dist/playground/stories/PlaygroundDragDrop.stories.js.map +0 -1
  187. package/dist/playground/stories/PlaygroundPhase4.stories.d.ts +0 -13
  188. package/dist/playground/stories/PlaygroundPhase4.stories.d.ts.map +0 -1
  189. package/dist/playground/stories/PlaygroundPhase4.stories.js +0 -334
  190. package/dist/playground/stories/PlaygroundPhase4.stories.js.map +0 -1
  191. package/dist/playground/stories/PlaygroundPhase5.stories.d.ts +0 -14
  192. package/dist/playground/stories/PlaygroundPhase5.stories.d.ts.map +0 -1
  193. package/dist/playground/stories/PlaygroundPhase5.stories.js +0 -512
  194. package/dist/playground/stories/PlaygroundPhase5.stories.js.map +0 -1
  195. package/dist/playground/stories/PlaygroundProperties.stories.d.ts +0 -13
  196. package/dist/playground/stories/PlaygroundProperties.stories.d.ts.map +0 -1
  197. package/dist/playground/stories/PlaygroundProperties.stories.js +0 -342
  198. package/dist/playground/stories/PlaygroundProperties.stories.js.map +0 -1
  199. package/dist/playground/types/index.d.ts +0 -251
  200. package/dist/playground/types/index.d.ts.map +0 -1
  201. package/dist/playground/types/index.js +0 -5
  202. package/dist/playground/types/index.js.map +0 -1
  203. package/dist/scripts/verify-framework-adapters.js +0 -105
  204. package/dist/story-generator/componentBlacklist.js.map +0 -1
  205. package/dist/story-generator/componentDiscovery.js.map +0 -1
  206. package/dist/story-generator/configLoader.js.map +0 -1
  207. package/dist/story-generator/considerationsLoader.js.map +0 -1
  208. package/dist/story-generator/documentation-sources.js.map +0 -1
  209. package/dist/story-generator/documentationLoader.js.map +0 -1
  210. package/dist/story-generator/dynamicPackageDiscovery.js.map +0 -1
  211. package/dist/story-generator/enhancedComponentDiscovery.js.map +0 -1
  212. package/dist/story-generator/generateStory.js.map +0 -1
  213. package/dist/story-generator/gitignoreManager.js.map +0 -1
  214. package/dist/story-generator/inMemoryStoryService.d.ts +0 -89
  215. package/dist/story-generator/inMemoryStoryService.d.ts.map +0 -1
  216. package/dist/story-generator/inMemoryStoryService.js +0 -128
  217. package/dist/story-generator/inMemoryStoryService.js.map +0 -1
  218. package/dist/story-generator/logger.js.map +0 -1
  219. package/dist/story-generator/postProcessStory.js.map +0 -1
  220. package/dist/story-generator/postgresStoryService.d.ts +0 -56
  221. package/dist/story-generator/postgresStoryService.d.ts.map +0 -1
  222. package/dist/story-generator/postgresStoryService.js +0 -240
  223. package/dist/story-generator/productionGitignoreManager.d.ts +0 -91
  224. package/dist/story-generator/productionGitignoreManager.d.ts.map +0 -1
  225. package/dist/story-generator/productionGitignoreManager.js +0 -340
  226. package/dist/story-generator/productionGitignoreManager.js.map +0 -1
  227. package/dist/story-generator/promptGenerator.js.map +0 -1
  228. package/dist/story-generator/providerPresets.d.ts +0 -54
  229. package/dist/story-generator/providerPresets.d.ts.map +0 -1
  230. package/dist/story-generator/providerPresets.js +0 -214
  231. package/dist/story-generator/storyHistory.js.map +0 -1
  232. package/dist/story-generator/storyServiceFactory.d.ts +0 -22
  233. package/dist/story-generator/storyServiceFactory.d.ts.map +0 -1
  234. package/dist/story-generator/storyServiceFactory.js +0 -97
  235. package/dist/story-generator/storyServiceInterface.d.ts +0 -85
  236. package/dist/story-generator/storyServiceInterface.d.ts.map +0 -1
  237. package/dist/story-generator/storyServiceInterface.js +0 -5
  238. package/dist/story-generator/storySync.d.ts +0 -68
  239. package/dist/story-generator/storySync.d.ts.map +0 -1
  240. package/dist/story-generator/storySync.js +0 -201
  241. package/dist/story-generator/storySync.js.map +0 -1
  242. package/dist/story-generator/storyTracker.js.map +0 -1
  243. package/dist/story-generator/storyValidator.js.map +0 -1
  244. package/dist/story-generator/test_validation.d.ts +0 -2
  245. package/dist/story-generator/test_validation.d.ts.map +0 -1
  246. package/dist/story-generator/test_validation.js +0 -51
  247. package/dist/story-generator/universalDesignSystemAdapter.js.map +0 -1
  248. package/dist/story-generator/urlRedirectService.js.map +0 -1
  249. package/dist/story-generator/validateStory.js.map +0 -1
  250. package/dist/story-ui.config.js.map +0 -1
  251. package/dist/story-ui.config.loader.d.ts +0 -36
  252. package/dist/story-ui.config.loader.d.ts.map +0 -1
  253. package/dist/story-ui.config.loader.js +0 -205
  254. package/dist/story-ui.config.loader.js.map +0 -1
  255. package/dist/temp/package/templates/StoryUI/StoryUIPanel.js +0 -807
  256. package/dist/temp/package/templates/StoryUI/StoryUIPanel.stories.js +0 -37
  257. package/dist/temp/package/templates/StoryUI/index.js +0 -2
  258. package/dist/templates/StoryUI/StoryUIPanel.js.map +0 -1
  259. package/dist/templates/StoryUI/StoryUIPanel.stories.js.map +0 -1
  260. package/dist/templates/StoryUI/index.js.map +0 -1
  261. package/dist/templates/StoryUI/manager.d.ts +0 -14
  262. package/dist/templates/StoryUI/manager.d.ts.map +0 -1
  263. package/dist/templates/production-app/src/App.d.ts +0 -10
  264. package/dist/templates/production-app/src/App.d.ts.map +0 -1
  265. package/dist/templates/production-app/src/App.js +0 -653
  266. package/dist/templates/production-app/src/LivePreviewRenderer.d.ts +0 -24
  267. package/dist/templates/production-app/src/LivePreviewRenderer.d.ts.map +0 -1
  268. package/dist/templates/production-app/src/LivePreviewRenderer.js +0 -199
  269. package/dist/templates/production-app/src/componentRegistry.d.ts +0 -20
  270. package/dist/templates/production-app/src/componentRegistry.d.ts.map +0 -1
  271. package/dist/templates/production-app/src/componentRegistry.js +0 -316
  272. package/dist/templates/production-app/src/main.d.ts +0 -9
  273. package/dist/templates/production-app/src/main.d.ts.map +0 -1
  274. package/dist/templates/production-app/src/main.js +0 -18
  275. package/dist/templates/production-app/vite.config.d.ts +0 -3
  276. package/dist/templates/production-app/vite.config.d.ts.map +0 -1
  277. package/dist/templates/production-app/vite.config.js +0 -71
  278. package/dist/test-storybooks/angular-material-storybook/src/main.js +0 -66
  279. package/dist/test-storybooks/chakra-storybook/vite.config.js +0 -6
  280. package/dist/test-storybooks/mantine-storybook/vite.config.js +0 -93
  281. package/dist/test-storybooks/web-components-shoelace/vite.config.js +0 -9
  282. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,359 +0,0 @@
1
- /**
2
- * CodeGenerator - Generates clean story code from visual edits
3
- */
4
- export class CodeGenerator {
5
- constructor(options = {}) {
6
- this.options = {
7
- framework: 'react',
8
- includeImports: true,
9
- includeHelpers: true,
10
- prettier: true,
11
- indentSize: 2,
12
- useTypeScript: true,
13
- ...options
14
- };
15
- this.imports = new Set();
16
- this.helperImports = new Set();
17
- this.componentMap = new Map();
18
- }
19
- /**
20
- * Generate story code from components
21
- */
22
- generateStoryCode(components, rootId, storyName = 'Generated') {
23
- this.componentMap = components;
24
- this.imports.clear();
25
- this.helperImports.clear();
26
- const root = components.get(rootId);
27
- if (!root) {
28
- throw new Error('Root component not found');
29
- }
30
- // Analyze components to determine imports
31
- this.analyzeImports(root);
32
- // Generate the story code
33
- const parts = [];
34
- // Add imports
35
- if (this.options.includeImports) {
36
- parts.push(this.generateImports());
37
- }
38
- // Add story metadata
39
- parts.push(this.generateStoryMeta(storyName));
40
- // Add the story component
41
- parts.push(this.generateStoryComponent(root, storyName));
42
- return parts.filter(Boolean).join('\n\n');
43
- }
44
- /**
45
- * Generate JSX code for a component tree
46
- */
47
- generateComponentCode(component, indent = 0) {
48
- const indentStr = this.getIndent(indent);
49
- const props = this.generateProps(component);
50
- const hasChildren = component.children && component.children.length > 0;
51
- const hasTextContent = component.textContent !== undefined && component.textContent !== '';
52
- // Handle layout helpers specially
53
- if (component.isHelper) {
54
- return this.generateHelperCode(component, indent);
55
- }
56
- // Determine component name
57
- const componentName = this.getComponentName(component.type);
58
- // Build opening tag
59
- let code = `${indentStr}<${componentName}`;
60
- if (props) {
61
- code += props.includes('\n')
62
- ? `\n${this.getIndent(indent + 1)}${props}\n${indentStr}`
63
- : ` ${props}`;
64
- }
65
- // Self-closing tag if no children
66
- if (!hasChildren && !hasTextContent) {
67
- code += ' />';
68
- return code;
69
- }
70
- code += '>';
71
- // Add text content
72
- if (hasTextContent) {
73
- code += component.textContent;
74
- }
75
- // Add children
76
- if (hasChildren) {
77
- if (hasTextContent) {
78
- code += '\n';
79
- }
80
- else {
81
- code += '\n';
82
- }
83
- const childrenCode = component.children
84
- .map(childId => {
85
- const childComponent = this.componentMap.get(childId);
86
- return childComponent ? this.generateComponentCode(childComponent, indent + 1) : '';
87
- })
88
- .filter(Boolean)
89
- .join('\n');
90
- code += childrenCode;
91
- code += `\n${indentStr}`;
92
- }
93
- // Closing tag
94
- code += `</${componentName}>`;
95
- return code;
96
- }
97
- /**
98
- * Generate props string for a component
99
- */
100
- generateProps(component) {
101
- const props = [];
102
- // Add style prop if present
103
- if (component.style && Object.keys(component.style).length > 0) {
104
- const styleStr = this.generateStyleProp(component.style);
105
- props.push(`style=${styleStr}`);
106
- }
107
- // Add other props
108
- if (component.props) {
109
- Object.entries(component.props).forEach(([key, value]) => {
110
- if (key === 'style')
111
- return; // Already handled
112
- const propStr = this.generatePropValue(key, value);
113
- if (propStr) {
114
- props.push(propStr);
115
- }
116
- });
117
- }
118
- return props.join(' ');
119
- }
120
- /**
121
- * Generate style prop object
122
- */
123
- generateStyleProp(style) {
124
- const entries = Object.entries(style)
125
- .filter(([_, value]) => value !== undefined && value !== '')
126
- .map(([key, value]) => {
127
- const formattedKey = key;
128
- const formattedValue = typeof value === 'string' && !value.match(/^\d+$/)
129
- ? `'${value}'`
130
- : value;
131
- return `${formattedKey}: ${formattedValue}`;
132
- });
133
- if (entries.length === 0)
134
- return '{}';
135
- if (entries.length === 1) {
136
- return `{ ${entries[0]} }`;
137
- }
138
- return `{\n${entries.map(e => ` ${e}`).join(',\n')}\n }`;
139
- }
140
- /**
141
- * Generate prop value string
142
- */
143
- generatePropValue(key, value) {
144
- if (value === undefined || value === null)
145
- return '';
146
- // Boolean props
147
- if (typeof value === 'boolean') {
148
- return value ? key : `${key}={false}`;
149
- }
150
- // String props
151
- if (typeof value === 'string') {
152
- return `${key}="${value}"`;
153
- }
154
- // Number props
155
- if (typeof value === 'number') {
156
- return `${key}={${value}}`;
157
- }
158
- // Object/Array props
159
- if (typeof value === 'object') {
160
- const jsonStr = JSON.stringify(value, null, 2);
161
- return `${key}={${jsonStr}}`;
162
- }
163
- return '';
164
- }
165
- /**
166
- * Generate code for layout helpers
167
- */
168
- generateHelperCode(component, indent) {
169
- const indentStr = this.getIndent(indent);
170
- const helperName = component.type;
171
- // Track helper import
172
- this.helperImports.add(helperName);
173
- // Generate props specific to helpers
174
- const props = [];
175
- // Extract spacing props from style
176
- if (component.style) {
177
- const { padding, paddingTop, paddingRight, paddingBottom, paddingLeft, margin, marginTop, marginRight, marginBottom, marginLeft, ...otherStyles } = component.style;
178
- // Add spacing props
179
- if (padding !== undefined)
180
- props.push(`p="${padding}"`);
181
- if (paddingTop !== undefined)
182
- props.push(`pt="${paddingTop}"`);
183
- if (paddingRight !== undefined)
184
- props.push(`pr="${paddingRight}"`);
185
- if (paddingBottom !== undefined)
186
- props.push(`pb="${paddingBottom}"`);
187
- if (paddingLeft !== undefined)
188
- props.push(`pl="${paddingLeft}"`);
189
- if (margin !== undefined)
190
- props.push(`m="${margin}"`);
191
- if (marginTop !== undefined)
192
- props.push(`mt="${marginTop}"`);
193
- if (marginRight !== undefined)
194
- props.push(`mr="${marginRight}"`);
195
- if (marginBottom !== undefined)
196
- props.push(`mb="${marginBottom}"`);
197
- if (marginLeft !== undefined)
198
- props.push(`ml="${marginLeft}"`);
199
- // Add layout props for Flex/Stack/Grid
200
- if (helperName === 'Flex' || helperName === 'Stack' || helperName === 'HStack') {
201
- if (otherStyles.gap)
202
- props.push(`gap="${otherStyles.gap}"`);
203
- if (otherStyles.flexDirection)
204
- props.push(`direction="${otherStyles.flexDirection}"`);
205
- if (otherStyles.justifyContent) {
206
- const justify = otherStyles.justifyContent.replace('flex-', '').replace('space-', '');
207
- props.push(`justify="${justify}"`);
208
- }
209
- if (otherStyles.alignItems) {
210
- const align = otherStyles.alignItems.replace('flex-', '');
211
- props.push(`align="${align}"`);
212
- }
213
- }
214
- if (helperName === 'Grid') {
215
- if (otherStyles.gridTemplateColumns) {
216
- const cols = otherStyles.gridTemplateColumns.match(/repeat\((\d+)/)?.[1] || otherStyles.gridTemplateColumns;
217
- props.push(`columns={${cols}}`);
218
- }
219
- if (otherStyles.gap)
220
- props.push(`gap="${otherStyles.gap}"`);
221
- }
222
- // Add remaining styles
223
- const remainingStyles = Object.entries(otherStyles)
224
- .filter(([key]) => !['gap', 'flexDirection', 'justifyContent', 'alignItems', 'gridTemplateColumns'].includes(key));
225
- if (remainingStyles.length > 0) {
226
- const styleObj = Object.fromEntries(remainingStyles);
227
- props.push(`style=${this.generateStyleProp(styleObj)}`);
228
- }
229
- }
230
- const hasChildren = component.children && component.children.length > 0;
231
- const propsStr = props.join(' ');
232
- if (!hasChildren) {
233
- return `${indentStr}<${helperName}${propsStr ? ' ' + propsStr : ''} />`;
234
- }
235
- let code = `${indentStr}<${helperName}${propsStr ? ' ' + propsStr : ''}>`;
236
- code += '\n';
237
- const childrenCode = component.children
238
- .map(childId => {
239
- const childComponent = this.componentMap.get(childId);
240
- return childComponent ? this.generateComponentCode(childComponent, indent + 1) : '';
241
- })
242
- .filter(Boolean)
243
- .join('\n');
244
- code += childrenCode;
245
- code += `\n${indentStr}</${helperName}>`;
246
- return code;
247
- }
248
- /**
249
- * Analyze component tree to determine imports
250
- */
251
- analyzeImports(component) {
252
- // Add component to imports
253
- if (!component.isHelper) {
254
- this.imports.add(component.type);
255
- }
256
- else {
257
- this.helperImports.add(component.type);
258
- }
259
- // Recursively analyze children
260
- if (component.children) {
261
- component.children.forEach(childId => {
262
- const childComponent = this.componentMap.get(childId);
263
- if (childComponent) {
264
- this.analyzeImports(childComponent);
265
- }
266
- });
267
- }
268
- }
269
- /**
270
- * Generate import statements
271
- */
272
- generateImports() {
273
- const importLines = [];
274
- // React import
275
- importLines.push("import React from 'react';");
276
- // Helper imports (if any)
277
- if (this.helperImports.size > 0 && this.options.includeHelpers) {
278
- const helpers = Array.from(this.helperImports).sort();
279
- importLines.push(`import { ${helpers.join(', ')} } from '../components/LayoutHelpers';`);
280
- }
281
- // Component imports (grouped by type)
282
- const componentImports = Array.from(this.imports).sort();
283
- if (componentImports.length > 0) {
284
- // Group by common patterns
285
- const designSystemImports = componentImports.filter(c => ['Button', 'Input', 'Select', 'Card', 'Badge', 'Avatar'].includes(c));
286
- const layoutImports = componentImports.filter(c => ['Container', 'Box', 'Flex', 'Grid'].includes(c) && !this.helperImports.has(c));
287
- const textImports = componentImports.filter(c => ['Text', 'Heading', 'Image'].includes(c));
288
- if (designSystemImports.length > 0) {
289
- importLines.push(`// Design system components`);
290
- importLines.push(`import { ${designSystemImports.join(', ')} } from '@your-design-system/react';`);
291
- }
292
- if (layoutImports.length > 0) {
293
- importLines.push(`// Layout components`);
294
- importLines.push(`import { ${layoutImports.join(', ')} } from '@your-design-system/layout';`);
295
- }
296
- if (textImports.length > 0) {
297
- importLines.push(`// Typography components`);
298
- importLines.push(`import { ${textImports.join(', ')} } from '@your-design-system/typography';`);
299
- }
300
- }
301
- return importLines.join('\n');
302
- }
303
- /**
304
- * Generate story metadata
305
- */
306
- generateStoryMeta(storyName) {
307
- return `export default {
308
- title: 'Generated/${storyName}',
309
- parameters: {
310
- layout: 'fullscreen',
311
- },
312
- };`;
313
- }
314
- /**
315
- * Generate story component
316
- */
317
- generateStoryComponent(root, storyName) {
318
- const componentCode = this.generateComponentCode(root, 1);
319
- return `export const ${this.toPascalCase(storyName)} = () => (
320
- ${componentCode}
321
- );`;
322
- }
323
- /**
324
- * Get component name (handle special cases)
325
- */
326
- getComponentName(type) {
327
- // Map common HTML elements
328
- const htmlMap = {
329
- 'Container': 'div',
330
- 'Text': 'p',
331
- 'Heading': 'h2',
332
- 'Image': 'img',
333
- 'List': 'ul',
334
- 'ListItem': 'li',
335
- 'Link': 'a'
336
- };
337
- // Check if it's a helper
338
- if (this.helperImports.has(type)) {
339
- return type;
340
- }
341
- // Return mapped HTML element or original type
342
- return htmlMap[type] || type;
343
- }
344
- /**
345
- * Get indent string
346
- */
347
- getIndent(level) {
348
- return ' '.repeat(this.options.indentSize * level);
349
- }
350
- /**
351
- * Convert string to PascalCase
352
- */
353
- toPascalCase(str) {
354
- return str
355
- .replace(/[-_\s]+(.)?/g, (_, c) => c ? c.toUpperCase() : '')
356
- .replace(/^./, c => c.toUpperCase());
357
- }
358
- }
359
- //# sourceMappingURL=CodeGenerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeGenerator.js","sourceRoot":"","sources":["../../../playground/services/CodeGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,95 +0,0 @@
1
- /**
2
- * DragDropManager - Manages drag and drop operations in the playground
3
- */
4
- import type { DraggedItem, DropZone, DropResult } from '../types';
5
- export interface DragDropValidation {
6
- canDrop: boolean;
7
- reason?: string;
8
- targetZone?: DropZone;
9
- }
10
- export declare class DragDropManager {
11
- private store;
12
- private activeDropZone;
13
- constructor(store: any);
14
- /**
15
- * Start a drag operation
16
- */
17
- startDrag(item: DraggedItem, event?: DragEvent): void;
18
- /**
19
- * Update drag position and find active drop zone
20
- */
21
- updateDrag(event: DragEvent): void;
22
- /**
23
- * End drag operation and perform drop if valid
24
- */
25
- endDrag(overId?: string): DropResult | null;
26
- /**
27
- * Cancel drag operation
28
- */
29
- cancelDrag(): void;
30
- /**
31
- * Register a drop zone
32
- */
33
- registerDropZone(zone: DropZone): void;
34
- /**
35
- * Unregister a drop zone
36
- */
37
- unregisterDropZone(id: string): void;
38
- /**
39
- * Update drop zone properties
40
- */
41
- updateDropZone(id: string, updates: Partial<DropZone>): void;
42
- /**
43
- * Check if item can be dropped in zone
44
- */
45
- canDrop(item: DraggedItem, zone: DropZone): boolean;
46
- /**
47
- * Validate drop operation
48
- */
49
- validateDrop(item: DraggedItem, zone: DropZone): DragDropValidation;
50
- /**
51
- * Get drop zone at screen coordinates
52
- */
53
- getDropZoneAtPoint(x: number, y: number): DropZone | null;
54
- /**
55
- * Get all active drop zones
56
- */
57
- getActiveDropZones(): DropZone[];
58
- /**
59
- * Get nearest drop zone to coordinates
60
- */
61
- getNearestDropZone(x: number, y: number): DropZone | null;
62
- /**
63
- * Get insertion index for drop position
64
- */
65
- getInsertionIndex(zone: DropZone, y: number): number;
66
- /**
67
- * Perform the drop operation
68
- */
69
- private performDrop;
70
- /**
71
- * Get default props for component type
72
- */
73
- private getDefaultProps;
74
- /**
75
- * Clean up after drag operation
76
- */
77
- private cleanupDrag;
78
- /**
79
- * Update drop zone DOM rectangles
80
- */
81
- private updateDropZoneRects;
82
- /**
83
- * Check if point is inside rectangle
84
- */
85
- private pointInRect;
86
- /**
87
- * Check if one component is a descendant of another
88
- */
89
- private isDescendant;
90
- /**
91
- * Generate unique component ID
92
- */
93
- private generateComponentId;
94
- }
95
- //# sourceMappingURL=DragDropManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DragDropManager.d.ts","sourceRoot":"","sources":["../../../playground/services/DragDropManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EAEX,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,cAAc,CAAyB;gBAEnC,KAAK,EAAE,GAAG;IAItB;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI;IAsBrD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IA4ClC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAwB3C;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAItC;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAI5D;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO;IAoCnD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,kBAAkB;IAwCnE;;OAEG;IACH,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IA4BzD;;OAEG;IACH,kBAAkB,IAAI,QAAQ,EAAE;IAIhC;;OAEG;IACH,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAoBzD;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IA2CpD;;OAEG;IACH,OAAO,CAAC,WAAW;IA0CnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,WAAW;IAwBnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAG5B"}