@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,408 +0,0 @@
1
- /**
2
- * DragDropManager - Manages drag and drop operations in the playground
3
- */
4
- export class DragDropManager {
5
- constructor(store) {
6
- this.activeDropZone = null;
7
- this.store = store;
8
- }
9
- /**
10
- * Start a drag operation
11
- */
12
- startDrag(item, event) {
13
- this.store.startDrag(item);
14
- // Store initial position if provided
15
- if (event) {
16
- item.initialPosition = {
17
- x: event.clientX,
18
- y: event.clientY
19
- };
20
- }
21
- // Calculate offset if dragging existing component
22
- if (item.type === 'move-component' && item.component && event) {
23
- const element = event.target;
24
- const rect = element.getBoundingClientRect();
25
- item.offset = {
26
- x: event.clientX - rect.left,
27
- y: event.clientY - rect.top
28
- };
29
- }
30
- }
31
- /**
32
- * Update drag position and find active drop zone
33
- */
34
- updateDrag(event) {
35
- // Get canvas element to account for zoom and offset
36
- const canvas = document.querySelector('[data-canvas]');
37
- let adjustedX = event.clientX;
38
- let adjustedY = event.clientY;
39
- // Account for canvas transformations if available
40
- if (canvas) {
41
- const canvasRect = canvas.getBoundingClientRect();
42
- const zoom = this.store.canvasZoom || 1;
43
- const offset = this.store.canvasOffset || { x: 0, y: 0 };
44
- // Adjust coordinates for canvas zoom and offset
45
- adjustedX = (event.clientX - canvasRect.left - offset.x) / zoom;
46
- adjustedY = (event.clientY - canvasRect.top - offset.y) / zoom;
47
- }
48
- const dropZone = this.getDropZoneAtPoint(adjustedX, adjustedY);
49
- if (dropZone !== this.activeDropZone) {
50
- // Update previous drop zone
51
- if (this.activeDropZone) {
52
- this.store.updateDropZone(this.activeDropZone.id, {
53
- isActive: false,
54
- isOver: false
55
- });
56
- }
57
- // Update new drop zone
58
- if (dropZone) {
59
- const draggedItem = this.store.draggedItem;
60
- const canDrop = draggedItem ? this.canDrop(draggedItem, dropZone) : false;
61
- this.store.updateDropZone(dropZone.id, {
62
- isActive: true,
63
- isOver: true,
64
- canDrop
65
- });
66
- }
67
- this.activeDropZone = dropZone;
68
- }
69
- }
70
- /**
71
- * End drag operation and perform drop if valid
72
- */
73
- endDrag(overId) {
74
- const draggedItem = this.store.draggedItem;
75
- if (!draggedItem) {
76
- return null;
77
- }
78
- let result = null;
79
- // Find drop zone by ID or get the active one
80
- if (overId) {
81
- const dropZone = this.store.dropZones.get(overId) || this.activeDropZone;
82
- if (dropZone && this.canDrop(draggedItem, dropZone)) {
83
- result = this.performDrop(draggedItem, dropZone);
84
- }
85
- }
86
- // Clean up
87
- this.cleanupDrag();
88
- return result;
89
- }
90
- /**
91
- * Cancel drag operation
92
- */
93
- cancelDrag() {
94
- this.cleanupDrag();
95
- }
96
- /**
97
- * Register a drop zone
98
- */
99
- registerDropZone(zone) {
100
- this.store.registerDropZone(zone);
101
- }
102
- /**
103
- * Unregister a drop zone
104
- */
105
- unregisterDropZone(id) {
106
- this.store.unregisterDropZone(id);
107
- }
108
- /**
109
- * Update drop zone properties
110
- */
111
- updateDropZone(id, updates) {
112
- this.store.updateDropZone(id, updates);
113
- }
114
- /**
115
- * Check if item can be dropped in zone
116
- */
117
- canDrop(item, zone) {
118
- // Check if zone accepts this type
119
- if (Array.isArray(zone.accepts)) {
120
- if (item.type === 'new-component' && item.componentType) {
121
- if (!zone.accepts.includes(item.componentType) && !zone.accepts.includes('all')) {
122
- return false;
123
- }
124
- }
125
- }
126
- else if (typeof zone.accepts === 'function') {
127
- if (!zone.accepts(item)) {
128
- return false;
129
- }
130
- }
131
- // Check max children limit
132
- if (zone.maxChildren !== undefined && zone.childCount !== undefined) {
133
- if (zone.childCount >= zone.maxChildren) {
134
- return false;
135
- }
136
- }
137
- // Prevent dropping component on itself or its children
138
- if (item.type === 'move-component' && item.component) {
139
- if (item.component.id === zone.componentId) {
140
- return false;
141
- }
142
- // Check if zone is a child of the dragged component
143
- if (this.isDescendant(zone.componentId, item.component.id)) {
144
- return false;
145
- }
146
- }
147
- return true;
148
- }
149
- /**
150
- * Validate drop operation
151
- */
152
- validateDrop(item, zone) {
153
- const canDrop = this.canDrop(item, zone);
154
- if (!canDrop) {
155
- // Provide specific reason
156
- if (zone.maxChildren && zone.childCount && zone.childCount >= zone.maxChildren) {
157
- return {
158
- canDrop: false,
159
- reason: `Maximum children (${zone.maxChildren}) reached`
160
- };
161
- }
162
- if (item.type === 'move-component' && item.component) {
163
- if (item.component.id === zone.componentId) {
164
- return {
165
- canDrop: false,
166
- reason: 'Cannot drop component on itself'
167
- };
168
- }
169
- if (this.isDescendant(zone.componentId, item.component.id)) {
170
- return {
171
- canDrop: false,
172
- reason: 'Cannot drop component on its descendant'
173
- };
174
- }
175
- }
176
- return {
177
- canDrop: false,
178
- reason: 'This component cannot be dropped here'
179
- };
180
- }
181
- return {
182
- canDrop: true,
183
- targetZone: zone
184
- };
185
- }
186
- /**
187
- * Get drop zone at screen coordinates
188
- */
189
- getDropZoneAtPoint(x, y) {
190
- // Update drop zone rectangles if needed
191
- this.updateDropZoneRects();
192
- // Find zones that contain the point
193
- const candidates = [];
194
- for (const zone of this.store.dropZones.values()) {
195
- if (zone.rect && this.pointInRect(x, y, zone.rect)) {
196
- candidates.push(zone);
197
- }
198
- }
199
- // Return the most specific (smallest) zone
200
- if (candidates.length > 0) {
201
- return candidates.reduce((smallest, zone) => {
202
- if (!smallest.rect || !zone.rect)
203
- return smallest;
204
- const smallestArea = smallest.rect.width * smallest.rect.height;
205
- const zoneArea = zone.rect.width * zone.rect.height;
206
- return zoneArea < smallestArea ? zone : smallest;
207
- });
208
- }
209
- return null;
210
- }
211
- /**
212
- * Get all active drop zones
213
- */
214
- getActiveDropZones() {
215
- return Array.from(this.store.dropZones.values()).filter(zone => zone.isActive);
216
- }
217
- /**
218
- * Get nearest drop zone to coordinates
219
- */
220
- getNearestDropZone(x, y) {
221
- let nearest = null;
222
- let minDistance = Infinity;
223
- for (const zone of this.store.dropZones.values()) {
224
- if (!zone.rect)
225
- continue;
226
- const centerX = zone.rect.left + zone.rect.width / 2;
227
- const centerY = zone.rect.top + zone.rect.height / 2;
228
- const distance = Math.sqrt((x - centerX) ** 2 + (y - centerY) ** 2);
229
- if (distance < minDistance) {
230
- minDistance = distance;
231
- nearest = zone;
232
- }
233
- }
234
- return nearest;
235
- }
236
- /**
237
- * Get insertion index for drop position
238
- */
239
- getInsertionIndex(zone, y) {
240
- const parent = this.store.components.get(zone.componentId);
241
- if (!parent || !parent.children)
242
- return 0;
243
- // Find the child element positions
244
- const childElements = Array.from(document.querySelectorAll(`[data-component-id="${zone.componentId}"] > [data-component-id]`));
245
- // Account for canvas transformations
246
- const canvas = document.querySelector('[data-canvas]');
247
- let adjustedY = y;
248
- if (canvas) {
249
- const canvasRect = canvas.getBoundingClientRect();
250
- const zoom = this.store.canvasZoom || 1;
251
- const offset = this.store.canvasOffset || { x: 0, y: 0 };
252
- // Convert screen coordinates to canvas coordinates
253
- adjustedY = (y - canvasRect.top - offset.y) / zoom;
254
- }
255
- // Find insertion point based on adjusted y position
256
- for (let i = 0; i < childElements.length; i++) {
257
- const rect = childElements[i].getBoundingClientRect();
258
- let midY = rect.top + rect.height / 2;
259
- // Adjust midY for canvas transformations
260
- if (canvas) {
261
- const canvasRect = canvas.getBoundingClientRect();
262
- const zoom = this.store.canvasZoom || 1;
263
- const offset = this.store.canvasOffset || { x: 0, y: 0 };
264
- midY = (rect.top - canvasRect.top - offset.y) / zoom + rect.height / (2 * zoom);
265
- }
266
- if (adjustedY < midY) {
267
- return i;
268
- }
269
- }
270
- return parent.children.length;
271
- }
272
- /**
273
- * Perform the drop operation
274
- */
275
- performDrop(item, zone) {
276
- const result = {
277
- dropZone: zone,
278
- parentId: zone.componentId,
279
- index: zone.insertIndex ?? 0,
280
- success: false
281
- };
282
- try {
283
- if (item.type === 'new-component' && item.componentType) {
284
- // Create new component
285
- const newComponent = {
286
- id: this.generateComponentId(item.componentType),
287
- type: item.componentType,
288
- displayName: item.componentType,
289
- props: this.getDefaultProps(item.componentType),
290
- parentId: zone.componentId,
291
- children: []
292
- };
293
- // Use the zone's insert index if specified
294
- result.index = zone.insertIndex ?? this.getInsertionIndex(zone, 0);
295
- this.store.addComponent(newComponent);
296
- result.success = true;
297
- result.componentId = newComponent.id;
298
- }
299
- else if (item.type === 'move-component' && item.component) {
300
- // Move existing component
301
- result.index = zone.insertIndex ?? this.getInsertionIndex(zone, 0);
302
- this.store.moveComponent(item.component.id, zone.componentId, result.index);
303
- result.success = true;
304
- result.componentId = item.component.id;
305
- }
306
- }
307
- catch (error) {
308
- console.error('Drop operation failed:', error);
309
- result.error = error instanceof Error ? error.message : 'Drop operation failed';
310
- }
311
- return result;
312
- }
313
- /**
314
- * Get default props for component type
315
- */
316
- getDefaultProps(componentType) {
317
- const defaults = {
318
- Button: { children: 'Button', type: 'primary' },
319
- Input: { placeholder: 'Enter text...' },
320
- Card: { title: 'Card Title' },
321
- Text: { children: 'Sample text' },
322
- Title: { children: 'Title', level: 1 },
323
- Box: { padding: 16 },
324
- Stack: { spacing: 8 },
325
- // Add more defaults as needed
326
- };
327
- return defaults[componentType] || {};
328
- }
329
- /**
330
- * Clean up after drag operation
331
- */
332
- cleanupDrag() {
333
- // Clear active drop zone
334
- if (this.activeDropZone) {
335
- this.store.updateDropZone(this.activeDropZone.id, {
336
- isActive: false,
337
- isOver: false,
338
- canDrop: false
339
- });
340
- this.activeDropZone = null;
341
- }
342
- // Clear all drop zone states
343
- for (const zone of this.store.dropZones.values()) {
344
- this.store.updateDropZone(zone.id, {
345
- isActive: false,
346
- isOver: false,
347
- canDrop: false
348
- });
349
- }
350
- // End drag in store
351
- this.store.endDrag();
352
- }
353
- /**
354
- * Update drop zone DOM rectangles
355
- */
356
- updateDropZoneRects() {
357
- const canvas = document.querySelector('[data-canvas]');
358
- const zoom = this.store.canvasZoom || 1;
359
- const offset = this.store.canvasOffset || { x: 0, y: 0 };
360
- for (const zone of this.store.dropZones.values()) {
361
- const element = document.querySelector(`[data-drop-zone-id="${zone.id}"]`);
362
- if (element) {
363
- const rect = element.getBoundingClientRect();
364
- let computed;
365
- // Adjust rectangle for canvas transformations
366
- if (canvas) {
367
- const canvasRect = canvas.getBoundingClientRect();
368
- computed = new DOMRect((rect.left - canvasRect.left - offset.x) / zoom, (rect.top - canvasRect.top - offset.y) / zoom, rect.width / zoom, rect.height / zoom);
369
- }
370
- else {
371
- computed = rect;
372
- }
373
- this.store.updateDropZone(zone.id, { rect: computed });
374
- }
375
- }
376
- }
377
- /**
378
- * Check if point is inside rectangle
379
- */
380
- pointInRect(x, y, rect) {
381
- return x >= rect.left &&
382
- x <= rect.right &&
383
- y >= rect.top &&
384
- y <= rect.bottom;
385
- }
386
- /**
387
- * Check if one component is a descendant of another
388
- */
389
- isDescendant(possibleDescendantId, ancestorId) {
390
- const component = this.store.components.get(possibleDescendantId);
391
- if (!component)
392
- return false;
393
- if (component.parentId === ancestorId) {
394
- return true;
395
- }
396
- if (component.parentId) {
397
- return this.isDescendant(component.parentId, ancestorId);
398
- }
399
- return false;
400
- }
401
- /**
402
- * Generate unique component ID
403
- */
404
- generateComponentId(type) {
405
- return `${type.toLowerCase()}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
406
- }
407
- }
408
- //# sourceMappingURL=DragDropManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DragDropManager.js","sourceRoot":"","sources":["../../../playground/services/DragDropManager.ts"],"names":[],"mappings":"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"}
@@ -1,73 +0,0 @@
1
- /**
2
- * StoryParser - Parses AI-generated story code into playground components
3
- */
4
- import type { PlaygroundComponent } from '../types';
5
- export interface ParseResult {
6
- success: boolean;
7
- components: PlaygroundComponent[];
8
- imports: ImportStatement[];
9
- error?: string;
10
- warnings?: string[];
11
- }
12
- export interface ImportStatement {
13
- source: string;
14
- specifiers: string[];
15
- isDefault?: boolean;
16
- isNamespace?: boolean;
17
- }
18
- export declare class StoryParser {
19
- private componentIdCounter;
20
- /**
21
- * Parse story code into playground components
22
- */
23
- parseStoryToComponents(code: string): Promise<ParseResult>;
24
- /**
25
- * Extract the story component from the code
26
- */
27
- private extractStoryComponent;
28
- /**
29
- * Extract import statements from code
30
- */
31
- private extractImports;
32
- /**
33
- * Parse JSX string into component objects
34
- */
35
- private parseJSX;
36
- /**
37
- * Parse JSX props string
38
- */
39
- private parseProps;
40
- /**
41
- * Parse inline style string
42
- */
43
- private parseInlineStyles;
44
- /**
45
- * Parse children content
46
- */
47
- private parseChildren;
48
- /**
49
- * Parse children content and return components
50
- */
51
- private parseChildrenAsComponents;
52
- /**
53
- * Evaluate simple JavaScript expressions
54
- */
55
- private evaluateExpression;
56
- /**
57
- * Build component tree from flat list
58
- */
59
- private buildComponentTree;
60
- /**
61
- * Generate unique component ID
62
- */
63
- private generateId;
64
- /**
65
- * Validate parsed components
66
- */
67
- validateComponents(components: PlaygroundComponent[]): {
68
- valid: boolean;
69
- errors: string[];
70
- warnings: string[];
71
- };
72
- }
73
- //# sourceMappingURL=StoryParser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StoryParser.d.ts","sourceRoot":"","sources":["../../../playground/services/StoryParser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,kBAAkB,CAAK;IAE/B;;OAEG;IACG,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsChE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAqCtB;;OAEG;IACH,OAAO,CAAC,QAAQ;IA+EhB;;OAEG;IACH,OAAO,CAAC,UAAU;IA6BlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwCrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkDjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2C1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG;QACrD,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB;CAiCF"}