@tpitre/story-ui 2.8.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/dist/cli/index.js +0 -0
  2. package/dist/cli/index.js.map +1 -0
  3. package/dist/cli/setup.js.map +1 -0
  4. package/dist/cloudflare-edge/src/mcp-session.js +462 -0
  5. package/dist/cloudflare-edge/src/types.js +4 -0
  6. package/dist/cloudflare-edge/src/worker.js +106 -0
  7. package/dist/cloudflare-pages/vite.config.js +14 -0
  8. package/dist/index.d.ts +13 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +12 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/mcp-server/index.js.map +1 -0
  13. package/dist/mcp-server/mcp-stdio-server.js.map +1 -0
  14. package/dist/mcp-server/routes/claude.js.map +1 -0
  15. package/dist/mcp-server/routes/components.js.map +1 -0
  16. package/dist/mcp-server/routes/generateStory.js.map +1 -0
  17. package/dist/mcp-server/routes/hybridStories.js.map +1 -0
  18. package/dist/mcp-server/routes/memoryStories.js.map +1 -0
  19. package/dist/mcp-server/routes/storySync.js.map +1 -0
  20. package/dist/mcp-server/routes/updateStory.js +246 -0
  21. package/dist/mcp-server/sessionManager.js.map +1 -0
  22. package/dist/playground/components/AIAssistant/AIAssistant.d.ts +6 -0
  23. package/dist/playground/components/AIAssistant/AIAssistant.d.ts.map +1 -0
  24. package/dist/playground/components/AIAssistant/AIAssistant.js +109 -0
  25. package/dist/playground/components/AIAssistant/AIAssistant.js.map +1 -0
  26. package/dist/playground/components/AIAssistant/AIAssistant.module.css +166 -0
  27. package/dist/playground/components/Canvas/Canvas.d.ts +9 -0
  28. package/dist/playground/components/Canvas/Canvas.d.ts.map +1 -0
  29. package/dist/playground/components/Canvas/Canvas.js +58 -0
  30. package/dist/playground/components/Canvas/Canvas.js.map +1 -0
  31. package/dist/playground/components/Canvas/Canvas.module.css +189 -0
  32. package/dist/playground/components/Canvas/CanvasWithDnd.d.ts +9 -0
  33. package/dist/playground/components/Canvas/CanvasWithDnd.d.ts.map +1 -0
  34. package/dist/playground/components/Canvas/CanvasWithDnd.js +158 -0
  35. package/dist/playground/components/Canvas/CanvasWithDnd.js.map +1 -0
  36. package/dist/playground/components/Canvas/ComponentRenderer.d.ts +15 -0
  37. package/dist/playground/components/Canvas/ComponentRenderer.d.ts.map +1 -0
  38. package/dist/playground/components/Canvas/ComponentRenderer.js +177 -0
  39. package/dist/playground/components/Canvas/ComponentRenderer.js.map +1 -0
  40. package/dist/playground/components/Canvas/DraggableComponent.d.ts +15 -0
  41. package/dist/playground/components/Canvas/DraggableComponent.d.ts.map +1 -0
  42. package/dist/playground/components/Canvas/DraggableComponent.js +49 -0
  43. package/dist/playground/components/Canvas/DraggableComponent.js.map +1 -0
  44. package/dist/playground/components/Canvas/index.d.ts +9 -0
  45. package/dist/playground/components/Canvas/index.d.ts.map +1 -0
  46. package/dist/playground/components/Canvas/index.js +5 -0
  47. package/dist/playground/components/Canvas/index.js.map +1 -0
  48. package/dist/playground/components/CodeView/CodeView.d.ts +12 -0
  49. package/dist/playground/components/CodeView/CodeView.d.ts.map +1 -0
  50. package/dist/playground/components/CodeView/CodeView.js +77 -0
  51. package/dist/playground/components/CodeView/CodeView.js.map +1 -0
  52. package/dist/playground/components/CodeView/CodeView.module.css +178 -0
  53. package/dist/playground/components/ComponentPalette/ComponentPalette.d.ts +17 -0
  54. package/dist/playground/components/ComponentPalette/ComponentPalette.d.ts.map +1 -0
  55. package/dist/playground/components/ComponentPalette/ComponentPalette.js +138 -0
  56. package/dist/playground/components/ComponentPalette/ComponentPalette.js.map +1 -0
  57. package/dist/playground/components/ComponentPalette/ComponentPalette.module.css +217 -0
  58. package/dist/playground/components/ComponentPalette/index.d.ts +3 -0
  59. package/dist/playground/components/ComponentPalette/index.d.ts.map +1 -0
  60. package/dist/playground/components/ComponentPalette/index.js +2 -0
  61. package/dist/playground/components/ComponentPalette/index.js.map +1 -0
  62. package/dist/playground/components/DropZone/DropZone.d.ts +17 -0
  63. package/dist/playground/components/DropZone/DropZone.d.ts.map +1 -0
  64. package/dist/playground/components/DropZone/DropZone.js +73 -0
  65. package/dist/playground/components/DropZone/DropZone.js.map +1 -0
  66. package/dist/playground/components/DropZone/DropZone.module.css +86 -0
  67. package/dist/playground/components/ExportDialog/ExportDialog.d.ts +10 -0
  68. package/dist/playground/components/ExportDialog/ExportDialog.d.ts.map +1 -0
  69. package/dist/playground/components/ExportDialog/ExportDialog.js +57 -0
  70. package/dist/playground/components/ExportDialog/ExportDialog.js.map +1 -0
  71. package/dist/playground/components/ExportDialog/ExportDialog.module.css +328 -0
  72. package/dist/playground/components/LayoutHelpers/LayoutHelpers.d.ts +134 -0
  73. package/dist/playground/components/LayoutHelpers/LayoutHelpers.d.ts.map +1 -0
  74. package/dist/playground/components/LayoutHelpers/LayoutHelpers.js +254 -0
  75. package/dist/playground/components/LayoutHelpers/LayoutHelpers.js.map +1 -0
  76. package/dist/playground/components/LayoutHelpers/index.d.ts +3 -0
  77. package/dist/playground/components/LayoutHelpers/index.d.ts.map +1 -0
  78. package/dist/playground/components/LayoutHelpers/index.js +2 -0
  79. package/dist/playground/components/LayoutHelpers/index.js.map +1 -0
  80. package/dist/playground/components/Playground/Playground.d.ts +10 -0
  81. package/dist/playground/components/Playground/Playground.d.ts.map +1 -0
  82. package/dist/playground/components/Playground/Playground.js +128 -0
  83. package/dist/playground/components/Playground/Playground.js.map +1 -0
  84. package/dist/playground/components/Playground/Playground.module.css +308 -0
  85. package/dist/playground/components/PropertiesPanel/PropertiesPanel.d.ts +10 -0
  86. package/dist/playground/components/PropertiesPanel/PropertiesPanel.d.ts.map +1 -0
  87. package/dist/playground/components/PropertiesPanel/PropertiesPanel.js +150 -0
  88. package/dist/playground/components/PropertiesPanel/PropertiesPanel.js.map +1 -0
  89. package/dist/playground/components/PropertiesPanel/PropertiesPanel.module.css +155 -0
  90. package/dist/playground/components/PropertiesPanel/index.d.ts +3 -0
  91. package/dist/playground/components/PropertiesPanel/index.d.ts.map +1 -0
  92. package/dist/playground/components/PropertiesPanel/index.js +2 -0
  93. package/dist/playground/components/PropertiesPanel/index.js.map +1 -0
  94. package/dist/playground/components/PropertyEditors/BooleanEditor.d.ts +12 -0
  95. package/dist/playground/components/PropertyEditors/BooleanEditor.d.ts.map +1 -0
  96. package/dist/playground/components/PropertyEditors/BooleanEditor.js +14 -0
  97. package/dist/playground/components/PropertyEditors/BooleanEditor.js.map +1 -0
  98. package/dist/playground/components/PropertyEditors/ColorEditor.d.ts +12 -0
  99. package/dist/playground/components/PropertyEditors/ColorEditor.d.ts.map +1 -0
  100. package/dist/playground/components/PropertyEditors/ColorEditor.js +62 -0
  101. package/dist/playground/components/PropertyEditors/ColorEditor.js.map +1 -0
  102. package/dist/playground/components/PropertyEditors/IconEditor.d.ts +12 -0
  103. package/dist/playground/components/PropertyEditors/IconEditor.d.ts.map +1 -0
  104. package/dist/playground/components/PropertyEditors/IconEditor.js +123 -0
  105. package/dist/playground/components/PropertyEditors/IconEditor.js.map +1 -0
  106. package/dist/playground/components/PropertyEditors/NumberEditor.d.ts +15 -0
  107. package/dist/playground/components/PropertyEditors/NumberEditor.d.ts.map +1 -0
  108. package/dist/playground/components/PropertyEditors/NumberEditor.js +46 -0
  109. package/dist/playground/components/PropertyEditors/NumberEditor.js.map +1 -0
  110. package/dist/playground/components/PropertyEditors/PropertyEditors.module.css +432 -0
  111. package/dist/playground/components/PropertyEditors/SelectEditor.d.ts +19 -0
  112. package/dist/playground/components/PropertyEditors/SelectEditor.d.ts.map +1 -0
  113. package/dist/playground/components/PropertyEditors/SelectEditor.js +17 -0
  114. package/dist/playground/components/PropertyEditors/SelectEditor.js.map +1 -0
  115. package/dist/playground/components/PropertyEditors/SpacingEditor.d.ts +19 -0
  116. package/dist/playground/components/PropertyEditors/SpacingEditor.d.ts.map +1 -0
  117. package/dist/playground/components/PropertyEditors/SpacingEditor.js +162 -0
  118. package/dist/playground/components/PropertyEditors/SpacingEditor.js.map +1 -0
  119. package/dist/playground/components/PropertyEditors/SpacingEditor.module.css +214 -0
  120. package/dist/playground/components/PropertyEditors/TextEditor.d.ts +14 -0
  121. package/dist/playground/components/PropertyEditors/TextEditor.d.ts.map +1 -0
  122. package/dist/playground/components/PropertyEditors/TextEditor.js +38 -0
  123. package/dist/playground/components/PropertyEditors/TextEditor.js.map +1 -0
  124. package/dist/playground/components/PropertyEditors/TokenEditor.d.ts +23 -0
  125. package/dist/playground/components/PropertyEditors/TokenEditor.d.ts.map +1 -0
  126. package/dist/playground/components/PropertyEditors/TokenEditor.js +50 -0
  127. package/dist/playground/components/PropertyEditors/TokenEditor.js.map +1 -0
  128. package/dist/playground/components/PropertyEditors/index.d.ts +20 -0
  129. package/dist/playground/components/PropertyEditors/index.d.ts.map +1 -0
  130. package/dist/playground/components/PropertyEditors/index.js +12 -0
  131. package/dist/playground/components/PropertyEditors/index.js.map +1 -0
  132. package/dist/playground/components/TreeView/TreeView.d.ts +10 -0
  133. package/dist/playground/components/TreeView/TreeView.d.ts.map +1 -0
  134. package/dist/playground/components/TreeView/TreeView.js +146 -0
  135. package/dist/playground/components/TreeView/TreeView.js.map +1 -0
  136. package/dist/playground/components/TreeView/TreeView.module.css +214 -0
  137. package/dist/playground/components/TreeView/index.d.ts +3 -0
  138. package/dist/playground/components/TreeView/index.d.ts.map +1 -0
  139. package/dist/playground/components/TreeView/index.js +2 -0
  140. package/dist/playground/components/TreeView/index.js.map +1 -0
  141. package/dist/playground/config/propertyDefinitions.d.ts +73 -0
  142. package/dist/playground/config/propertyDefinitions.d.ts.map +1 -0
  143. package/dist/playground/config/propertyDefinitions.js +809 -0
  144. package/dist/playground/config/propertyDefinitions.js.map +1 -0
  145. package/dist/playground/hooks/useKeyboardShortcuts.d.ts +38 -0
  146. package/dist/playground/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  147. package/dist/playground/hooks/useKeyboardShortcuts.js +191 -0
  148. package/dist/playground/hooks/useKeyboardShortcuts.js.map +1 -0
  149. package/dist/playground/index.d.ts +21 -0
  150. package/dist/playground/index.d.ts.map +1 -0
  151. package/dist/playground/index.js +23 -0
  152. package/dist/playground/index.js.map +1 -0
  153. package/dist/playground/services/CodeGenerator.d.ts +73 -0
  154. package/dist/playground/services/CodeGenerator.d.ts.map +1 -0
  155. package/dist/playground/services/CodeGenerator.js +359 -0
  156. package/dist/playground/services/CodeGenerator.js.map +1 -0
  157. package/dist/playground/services/DragDropManager.d.ts +95 -0
  158. package/dist/playground/services/DragDropManager.d.ts.map +1 -0
  159. package/dist/playground/services/DragDropManager.js +408 -0
  160. package/dist/playground/services/DragDropManager.js.map +1 -0
  161. package/dist/playground/services/StoryParser.d.ts +73 -0
  162. package/dist/playground/services/StoryParser.d.ts.map +1 -0
  163. package/dist/playground/services/StoryParser.js +419 -0
  164. package/dist/playground/services/StoryParser.js.map +1 -0
  165. package/dist/playground/store/playgroundStore.d.ts +86 -0
  166. package/dist/playground/store/playgroundStore.d.ts.map +1 -0
  167. package/dist/playground/store/playgroundStore.js +337 -0
  168. package/dist/playground/store/playgroundStore.js.map +1 -0
  169. package/dist/playground/stories/PlaygroundDragDrop.stories.d.ts +13 -0
  170. package/dist/playground/stories/PlaygroundDragDrop.stories.d.ts.map +1 -0
  171. package/dist/playground/stories/PlaygroundDragDrop.stories.js +227 -0
  172. package/dist/playground/stories/PlaygroundDragDrop.stories.js.map +1 -0
  173. package/dist/playground/stories/PlaygroundPhase4.stories.d.ts +13 -0
  174. package/dist/playground/stories/PlaygroundPhase4.stories.d.ts.map +1 -0
  175. package/dist/playground/stories/PlaygroundPhase4.stories.js +334 -0
  176. package/dist/playground/stories/PlaygroundPhase4.stories.js.map +1 -0
  177. package/dist/playground/stories/PlaygroundPhase5.stories.d.ts +14 -0
  178. package/dist/playground/stories/PlaygroundPhase5.stories.d.ts.map +1 -0
  179. package/dist/playground/stories/PlaygroundPhase5.stories.js +512 -0
  180. package/dist/playground/stories/PlaygroundPhase5.stories.js.map +1 -0
  181. package/dist/playground/stories/PlaygroundProperties.stories.d.ts +13 -0
  182. package/dist/playground/stories/PlaygroundProperties.stories.d.ts.map +1 -0
  183. package/dist/playground/stories/PlaygroundProperties.stories.js +342 -0
  184. package/dist/playground/stories/PlaygroundProperties.stories.js.map +1 -0
  185. package/dist/playground/types/index.d.ts +251 -0
  186. package/dist/playground/types/index.d.ts.map +1 -0
  187. package/dist/playground/types/index.js +5 -0
  188. package/dist/playground/types/index.js.map +1 -0
  189. package/dist/scripts/verify-framework-adapters.js +105 -0
  190. package/dist/story-generator/componentBlacklist.js.map +1 -0
  191. package/dist/story-generator/componentDiscovery.js.map +1 -0
  192. package/dist/story-generator/configLoader.js.map +1 -0
  193. package/dist/story-generator/considerationsLoader.js.map +1 -0
  194. package/dist/story-generator/documentation-sources.js.map +1 -0
  195. package/dist/story-generator/documentationLoader.js.map +1 -0
  196. package/dist/story-generator/dynamicPackageDiscovery.js.map +1 -0
  197. package/dist/story-generator/enhancedComponentDiscovery.js.map +1 -0
  198. package/dist/story-generator/generateStory.js.map +1 -0
  199. package/dist/story-generator/gitignoreManager.js.map +1 -0
  200. package/dist/story-generator/inMemoryStoryService.js.map +1 -0
  201. package/dist/story-generator/logger.js.map +1 -0
  202. package/dist/story-generator/postProcessStory.js.map +1 -0
  203. package/dist/story-generator/productionGitignoreManager.js.map +1 -0
  204. package/dist/story-generator/promptGenerator.js.map +1 -0
  205. package/dist/story-generator/providerPresets.d.ts +54 -0
  206. package/dist/story-generator/providerPresets.d.ts.map +1 -0
  207. package/dist/story-generator/providerPresets.js +214 -0
  208. package/dist/story-generator/storyHistory.js.map +1 -0
  209. package/dist/story-generator/storySync.js.map +1 -0
  210. package/dist/story-generator/storyTracker.js.map +1 -0
  211. package/dist/story-generator/storyValidator.js.map +1 -0
  212. package/dist/story-generator/test_validation.d.ts +2 -0
  213. package/dist/story-generator/test_validation.d.ts.map +1 -0
  214. package/dist/story-generator/test_validation.js +51 -0
  215. package/dist/story-generator/universalDesignSystemAdapter.js.map +1 -0
  216. package/dist/story-generator/urlRedirectService.js.map +1 -0
  217. package/dist/story-generator/validateStory.js.map +1 -0
  218. package/dist/story-ui.config.js.map +1 -0
  219. package/dist/story-ui.config.loader.d.ts +36 -0
  220. package/dist/story-ui.config.loader.d.ts.map +1 -0
  221. package/dist/story-ui.config.loader.js +205 -0
  222. package/dist/story-ui.config.loader.js.map +1 -0
  223. package/dist/temp/package/templates/StoryUI/StoryUIPanel.js +807 -0
  224. package/dist/temp/package/templates/StoryUI/StoryUIPanel.stories.js +37 -0
  225. package/dist/temp/package/templates/StoryUI/index.js +2 -0
  226. package/dist/templates/StoryUI/StoryUIPanel.d.ts.map +1 -1
  227. package/dist/templates/StoryUI/StoryUIPanel.js +30 -2
  228. package/dist/templates/StoryUI/StoryUIPanel.js.map +1 -0
  229. package/dist/templates/StoryUI/StoryUIPanel.stories.js.map +1 -0
  230. package/dist/templates/StoryUI/index.js.map +1 -0
  231. package/dist/templates/StoryUI/manager.d.ts +14 -0
  232. package/dist/templates/StoryUI/manager.d.ts.map +1 -0
  233. package/dist/templates/production-app/src/App.d.ts +10 -0
  234. package/dist/templates/production-app/src/App.d.ts.map +1 -0
  235. package/dist/templates/production-app/src/App.js +653 -0
  236. package/dist/templates/production-app/src/LivePreviewRenderer.d.ts +24 -0
  237. package/dist/templates/production-app/src/LivePreviewRenderer.d.ts.map +1 -0
  238. package/dist/templates/production-app/src/LivePreviewRenderer.js +199 -0
  239. package/dist/templates/production-app/src/componentRegistry.d.ts +20 -0
  240. package/dist/templates/production-app/src/componentRegistry.d.ts.map +1 -0
  241. package/dist/templates/production-app/src/componentRegistry.js +316 -0
  242. package/dist/templates/production-app/src/main.d.ts +9 -0
  243. package/dist/templates/production-app/src/main.d.ts.map +1 -0
  244. package/dist/templates/production-app/src/main.js +18 -0
  245. package/dist/templates/production-app/vite.config.d.ts +3 -0
  246. package/dist/templates/production-app/vite.config.d.ts.map +1 -0
  247. package/dist/templates/production-app/vite.config.js +71 -0
  248. package/dist/test-storybooks/angular-material-storybook/src/main.js +66 -0
  249. package/dist/test-storybooks/chakra-storybook/vite.config.js +6 -0
  250. package/dist/test-storybooks/mantine-storybook/vite.config.js +93 -0
  251. package/dist/test-storybooks/web-components-shoelace/vite.config.js +9 -0
  252. package/dist/tsconfig.tsbuildinfo +1 -0
  253. package/package.json +1 -1
  254. package/templates/StoryUI/StoryUIPanel.tsx +35 -2
@@ -0,0 +1,342 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Storybook stories for testing Properties Panel functionality
4
+ */
5
+ import React from 'react';
6
+ import { Playground } from '../components/Playground/Playground';
7
+ import { usePlaygroundStore } from '../store/playgroundStore';
8
+ const meta = {
9
+ title: 'StoryUI/Playground/Properties',
10
+ component: Playground,
11
+ parameters: {
12
+ layout: 'fullscreen',
13
+ },
14
+ };
15
+ export default meta;
16
+ // Helper to initialize with components for testing properties
17
+ const initializeWithPropertiesTest = () => {
18
+ const store = usePlaygroundStore.getState();
19
+ // Clear existing
20
+ store.components.clear();
21
+ // Root container
22
+ store.addComponent({
23
+ id: 'root',
24
+ type: 'Container',
25
+ displayName: 'Root Container',
26
+ props: {
27
+ style: {
28
+ padding: '32px',
29
+ minHeight: '100vh',
30
+ background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)'
31
+ }
32
+ },
33
+ children: []
34
+ });
35
+ // Card with various styles
36
+ store.addComponent({
37
+ id: 'card1',
38
+ type: 'Card',
39
+ displayName: 'Styled Card',
40
+ parentId: 'root',
41
+ props: {
42
+ style: {
43
+ padding: '24px',
44
+ margin: '16px',
45
+ background: 'white',
46
+ borderRadius: '12px',
47
+ boxShadow: '0 10px 40px rgba(0, 0, 0, 0.15)',
48
+ maxWidth: '600px'
49
+ }
50
+ },
51
+ children: []
52
+ });
53
+ // Heading
54
+ store.addComponent({
55
+ id: 'heading1',
56
+ type: 'Heading',
57
+ displayName: 'Title',
58
+ parentId: 'card1',
59
+ textContent: 'Properties Panel Demo',
60
+ props: {
61
+ style: {
62
+ fontSize: '28px',
63
+ fontWeight: 'bold',
64
+ color: '#1a202c',
65
+ marginBottom: '16px'
66
+ }
67
+ }
68
+ });
69
+ // Text with spacing
70
+ store.addComponent({
71
+ id: 'text1',
72
+ type: 'Text',
73
+ displayName: 'Description',
74
+ parentId: 'card1',
75
+ textContent: 'Click on any component to edit its properties. Try adjusting spacing, colors, typography, and layout properties.',
76
+ props: {
77
+ style: {
78
+ fontSize: '16px',
79
+ lineHeight: '1.6',
80
+ color: '#4a5568',
81
+ marginBottom: '24px'
82
+ }
83
+ }
84
+ });
85
+ // Flex container
86
+ store.addComponent({
87
+ id: 'flex1',
88
+ type: 'HStack',
89
+ displayName: 'Button Group',
90
+ parentId: 'card1',
91
+ props: {
92
+ style: {
93
+ display: 'flex',
94
+ gap: '12px',
95
+ justifyContent: 'center',
96
+ flexWrap: 'wrap'
97
+ }
98
+ },
99
+ children: []
100
+ });
101
+ // Buttons with different styles
102
+ store.addComponent({
103
+ id: 'button1',
104
+ type: 'Button',
105
+ displayName: 'Primary Button',
106
+ parentId: 'flex1',
107
+ textContent: 'Primary',
108
+ props: {
109
+ style: {
110
+ padding: '12px 24px',
111
+ background: '#667eea',
112
+ color: 'white',
113
+ border: 'none',
114
+ borderRadius: '8px',
115
+ fontSize: '14px',
116
+ fontWeight: '500',
117
+ cursor: 'pointer',
118
+ transition: 'all 0.3s'
119
+ }
120
+ }
121
+ });
122
+ store.addComponent({
123
+ id: 'button2',
124
+ type: 'Button',
125
+ displayName: 'Secondary Button',
126
+ parentId: 'flex1',
127
+ textContent: 'Secondary',
128
+ props: {
129
+ style: {
130
+ padding: '12px 24px',
131
+ background: 'transparent',
132
+ color: '#667eea',
133
+ border: '2px solid #667eea',
134
+ borderRadius: '8px',
135
+ fontSize: '14px',
136
+ fontWeight: '500',
137
+ cursor: 'pointer'
138
+ }
139
+ }
140
+ });
141
+ // Build tree structure
142
+ const root = store.components.get('root');
143
+ const card = store.components.get('card1');
144
+ const heading = store.components.get('heading1');
145
+ const text = store.components.get('text1');
146
+ const flex = store.components.get('flex1');
147
+ const button1 = store.components.get('button1');
148
+ const button2 = store.components.get('button2');
149
+ if (root && card && heading && text && flex && button1 && button2) {
150
+ flex.children = ['button1', 'button2'];
151
+ card.children = ['heading1', 'text1', 'flex1'];
152
+ root.children = ['card1'];
153
+ store.components.set('flex1', flex);
154
+ store.components.set('card1', card);
155
+ store.components.set('root', root);
156
+ }
157
+ // Set mode and open properties
158
+ store.setMode('edit');
159
+ store.setSidebarTab('components');
160
+ store.togglePropertiesPanel(); // Open the panel
161
+ // Select the card to show properties
162
+ store.selectComponent('card1');
163
+ };
164
+ export const SpacingEditor = {
165
+ render: () => {
166
+ React.useEffect(() => {
167
+ initializeWithPropertiesTest();
168
+ }, []);
169
+ return _jsx(Playground, { initialMode: "edit" });
170
+ },
171
+ name: 'Spacing Editor (Priority Feature)',
172
+ parameters: {
173
+ docs: {
174
+ description: {
175
+ story: 'Test the spacing editor - the top priority feature. Select components and adjust margin/padding with visual feedback and linked/unlinked modes.'
176
+ }
177
+ }
178
+ }
179
+ };
180
+ export const AllPropertyTypes = {
181
+ render: () => {
182
+ React.useEffect(() => {
183
+ initializeWithPropertiesTest();
184
+ }, []);
185
+ return _jsx(Playground, { initialMode: "edit" });
186
+ },
187
+ name: 'All Property Types',
188
+ parameters: {
189
+ docs: {
190
+ description: {
191
+ story: 'Test all property editor types: text, number, color, select, boolean, and spacing. Click different components to see various property types.'
192
+ }
193
+ }
194
+ }
195
+ };
196
+ export const RealTimeUpdates = {
197
+ render: () => {
198
+ React.useEffect(() => {
199
+ const store = usePlaygroundStore.getState();
200
+ // Simple setup for real-time testing
201
+ store.components.clear();
202
+ store.addComponent({
203
+ id: 'root',
204
+ type: 'Container',
205
+ displayName: 'Root',
206
+ props: { style: { padding: '40px', minHeight: '100vh', background: '#f7fafc' } },
207
+ children: []
208
+ });
209
+ store.addComponent({
210
+ id: 'box1',
211
+ type: 'Box',
212
+ displayName: 'Live Update Box',
213
+ parentId: 'root',
214
+ props: {
215
+ style: {
216
+ width: '300px',
217
+ height: '200px',
218
+ padding: '20px',
219
+ margin: '20px auto',
220
+ background: '#4299e1',
221
+ borderRadius: '8px',
222
+ display: 'flex',
223
+ alignItems: 'center',
224
+ justifyContent: 'center'
225
+ }
226
+ },
227
+ children: []
228
+ });
229
+ store.addComponent({
230
+ id: 'text1',
231
+ type: 'Text',
232
+ displayName: 'Dynamic Text',
233
+ parentId: 'box1',
234
+ textContent: 'Edit my properties!',
235
+ props: {
236
+ style: {
237
+ color: 'white',
238
+ fontSize: '24px',
239
+ fontWeight: 'bold'
240
+ }
241
+ }
242
+ });
243
+ // Build tree
244
+ const root = store.components.get('root');
245
+ const box = store.components.get('box1');
246
+ const text = store.components.get('text1');
247
+ if (root && box && text) {
248
+ box.children = ['text1'];
249
+ root.children = ['box1'];
250
+ store.components.set('box1', box);
251
+ store.components.set('root', root);
252
+ }
253
+ store.setMode('edit');
254
+ store.selectComponent('box1'); // This will open the properties panel automatically
255
+ }, []);
256
+ return _jsx(Playground, { initialMode: "edit" });
257
+ },
258
+ name: 'Real-Time Updates',
259
+ parameters: {
260
+ docs: {
261
+ description: {
262
+ story: 'See property changes update in real-time. Adjust colors, spacing, text, and layout properties to see immediate visual feedback.'
263
+ }
264
+ }
265
+ }
266
+ };
267
+ export const StyleGroups = {
268
+ render: () => {
269
+ React.useEffect(() => {
270
+ const store = usePlaygroundStore.getState();
271
+ store.components.clear();
272
+ // Create a component with all style groups
273
+ store.addComponent({
274
+ id: 'root',
275
+ type: 'Container',
276
+ displayName: 'Root',
277
+ props: { style: { padding: '40px', minHeight: '100vh' } },
278
+ children: []
279
+ });
280
+ store.addComponent({
281
+ id: 'demo1',
282
+ type: 'Box',
283
+ displayName: 'All Styles Demo',
284
+ parentId: 'root',
285
+ textContent: 'Component with all style properties',
286
+ props: {
287
+ style: {
288
+ // Spacing
289
+ margin: '20px',
290
+ padding: '30px',
291
+ // Layout
292
+ display: 'flex',
293
+ flexDirection: 'column',
294
+ justifyContent: 'center',
295
+ alignItems: 'center',
296
+ gap: '16px',
297
+ // Sizing
298
+ width: '400px',
299
+ height: '300px',
300
+ minWidth: '300px',
301
+ maxWidth: '500px',
302
+ // Typography
303
+ fontSize: '18px',
304
+ fontWeight: 'bold',
305
+ fontFamily: 'system-ui',
306
+ lineHeight: '1.5',
307
+ textAlign: 'center',
308
+ color: '#2d3748',
309
+ // Background
310
+ background: 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)',
311
+ // Border
312
+ border: '2px solid #e2e8f0',
313
+ borderRadius: '16px',
314
+ // Effects
315
+ opacity: 0.95,
316
+ boxShadow: '0 20px 25px -5px rgba(0, 0, 0, 0.1)',
317
+ transform: 'rotate(-2deg)',
318
+ transition: 'all 0.3s ease'
319
+ }
320
+ }
321
+ });
322
+ const root = store.components.get('root');
323
+ const demo = store.components.get('demo1');
324
+ if (root && demo) {
325
+ root.children = ['demo1'];
326
+ store.components.set('root', root);
327
+ }
328
+ store.setMode('edit');
329
+ store.selectComponent('demo1'); // This will open the properties panel automatically
330
+ }, []);
331
+ return _jsx(Playground, { initialMode: "edit" });
332
+ },
333
+ name: 'Style Groups Organization',
334
+ parameters: {
335
+ docs: {
336
+ description: {
337
+ story: 'See how style properties are organized into logical groups: Spacing, Layout, Size, Typography, Background, Border, and Effects.'
338
+ }
339
+ }
340
+ }
341
+ };
342
+ //# sourceMappingURL=PlaygroundProperties.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaygroundProperties.stories.js","sourceRoot":"","sources":["../../../playground/stories/PlaygroundProperties.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * Core TypeScript interfaces for StoryUI Playground
3
+ */
4
+ import type { CSSProperties, ComponentType } from 'react';
5
+ /**
6
+ * Represents a component instance in the playground canvas
7
+ */
8
+ export interface PlaygroundComponent {
9
+ /** Unique identifier for the component instance */
10
+ id: string;
11
+ /** Component type (e.g., 'Button', 'Card', 'FlexContainer') */
12
+ type: string;
13
+ /** Component display name for UI */
14
+ displayName?: string;
15
+ /** Props passed to the component */
16
+ props: Record<string, any>;
17
+ /** Child component IDs (for containers) */
18
+ children?: string[];
19
+ /** Direct text content (for text nodes) */
20
+ textContent?: string;
21
+ /** Inline styles */
22
+ style?: CSSProperties;
23
+ /** Parent component ID */
24
+ parentId?: string;
25
+ /** Position within parent's children array */
26
+ index?: number;
27
+ /** Whether this is a layout helper component */
28
+ isHelper?: boolean;
29
+ /** Lock state preventing editing */
30
+ locked?: boolean;
31
+ /** Visibility state */
32
+ hidden?: boolean;
33
+ }
34
+ /**
35
+ * Component metadata from the registry
36
+ */
37
+ export interface ComponentDefinition {
38
+ /** Component name matching import */
39
+ name: string;
40
+ /** Display name for UI */
41
+ displayName: string;
42
+ /** Loaded React component */
43
+ component: ComponentType<any>;
44
+ /** Component category for palette */
45
+ category: ComponentCategory;
46
+ /** Prop definitions */
47
+ props: PropDefinition[];
48
+ /** Available drop zones */
49
+ dropZones: DropZoneDefinition[];
50
+ /** Default props when creating new instance */
51
+ defaultProps?: Record<string, any>;
52
+ /** Whether component accepts children */
53
+ acceptsChildren: boolean;
54
+ /** Component documentation URL */
55
+ docUrl?: string;
56
+ /** Example usage snippets */
57
+ examples?: string[];
58
+ /** Preview thumbnail */
59
+ thumbnail?: string;
60
+ /** Tags for search */
61
+ tags?: string[];
62
+ }
63
+ /**
64
+ * Component categories for organization
65
+ */
66
+ export type ComponentCategory = 'layout' | 'content' | 'forms' | 'navigation' | 'feedback' | 'data-display' | 'overlay' | 'media' | 'helpers';
67
+ /**
68
+ * Definition of a component prop
69
+ */
70
+ export interface PropDefinition {
71
+ /** Prop name */
72
+ name: string;
73
+ /** Prop type */
74
+ type: PropType;
75
+ /** Display label */
76
+ label?: string;
77
+ /** Help text */
78
+ description?: string;
79
+ /** Default value */
80
+ defaultValue?: any;
81
+ /** Whether prop is required */
82
+ required?: boolean;
83
+ /** Possible values for select/enum types */
84
+ options?: PropOption[];
85
+ /** Validation rules */
86
+ validation?: PropValidation;
87
+ /** Group for organization in panel */
88
+ group?: string;
89
+ /** Display order */
90
+ order?: number;
91
+ /** Whether to show in basic/advanced mode */
92
+ advanced?: boolean;
93
+ }
94
+ /**
95
+ * Supported prop types
96
+ */
97
+ export type PropType = 'string' | 'number' | 'boolean' | 'select' | 'multiselect' | 'color' | 'spacing' | 'size' | 'icon' | 'date' | 'json' | 'function' | 'component' | 'slot';
98
+ /**
99
+ * Option for select props
100
+ */
101
+ export interface PropOption {
102
+ label: string;
103
+ value: any;
104
+ icon?: string;
105
+ disabled?: boolean;
106
+ }
107
+ /**
108
+ * Prop validation rules
109
+ */
110
+ export interface PropValidation {
111
+ min?: number;
112
+ max?: number;
113
+ pattern?: string;
114
+ custom?: (value: any) => boolean | string;
115
+ }
116
+ /**
117
+ * Spacing value for margin/padding
118
+ */
119
+ export interface SpacingValue {
120
+ top: string | number;
121
+ right: string | number;
122
+ bottom: string | number;
123
+ left: string | number;
124
+ unit: 'px' | 'rem' | 'em' | '%' | 'vh' | 'vw' | 'auto';
125
+ linked: boolean;
126
+ }
127
+ /**
128
+ * Item being dragged
129
+ */
130
+ export interface DraggedItem {
131
+ /** Item ID (for existing components) */
132
+ id?: string;
133
+ /** Drag operation type */
134
+ type: 'new-component' | 'move-component' | 'resize';
135
+ /** Component type (for new components) */
136
+ componentType?: string;
137
+ /** Component data (for moves) */
138
+ component?: PlaygroundComponent;
139
+ /** Drag source */
140
+ source: 'palette' | 'canvas' | 'tree';
141
+ /** Initial mouse position */
142
+ initialPosition?: {
143
+ x: number;
144
+ y: number;
145
+ };
146
+ /** Offset from component origin */
147
+ offset?: {
148
+ x: number;
149
+ y: number;
150
+ };
151
+ }
152
+ /**
153
+ * Drop zone definition
154
+ */
155
+ export interface DropZone {
156
+ /** Unique drop zone ID */
157
+ id: string;
158
+ /** Parent component ID */
159
+ componentId: string;
160
+ /** Accepted component types */
161
+ accepts: string[] | ((item: DraggedItem) => boolean);
162
+ /** Whether zone is currently active */
163
+ isActive: boolean;
164
+ /** Whether item is over zone */
165
+ isOver: boolean;
166
+ /** Can accept current dragged item */
167
+ canDrop: boolean;
168
+ /** DOM rect for zone */
169
+ rect?: DOMRect;
170
+ /** Drop zone type */
171
+ type: 'container' | 'slot' | 'list' | 'grid' | 'before' | 'after';
172
+ /** Insert index for ordered drops */
173
+ insertIndex?: number;
174
+ /** Maximum children allowed */
175
+ maxChildren?: number;
176
+ /** Current children count */
177
+ childCount?: number;
178
+ }
179
+ /**
180
+ * Drop zone definition for component metadata
181
+ */
182
+ export interface DropZoneDefinition {
183
+ /** Zone identifier */
184
+ id: string;
185
+ /** Display label */
186
+ label?: string;
187
+ /** Accepted component types */
188
+ accepts: string[] | 'all';
189
+ /** Zone type */
190
+ type: 'container' | 'slot' | 'list' | 'grid';
191
+ /** Max items allowed */
192
+ maxItems?: number;
193
+ }
194
+ /**
195
+ * Canvas snapshot for history
196
+ */
197
+ export interface CanvasSnapshot {
198
+ components: Map<string, PlaygroundComponent>;
199
+ timestamp: number;
200
+ description?: string;
201
+ }
202
+ /**
203
+ * Playground modes
204
+ */
205
+ export type PlaygroundMode = 'view' | 'edit' | 'code' | 'preview' | 'responsive';
206
+ /**
207
+ * Sidebar tabs
208
+ */
209
+ export type SidebarTab = 'ai' | 'components' | 'structure' | 'assets' | 'templates';
210
+ /**
211
+ * Drop result after successful drop
212
+ */
213
+ export interface DropResult {
214
+ /** Target drop zone */
215
+ dropZone: DropZone;
216
+ /** New parent component ID */
217
+ parentId: string;
218
+ /** Insert index */
219
+ index: number;
220
+ /** Whether drop was successful */
221
+ success: boolean;
222
+ /** ID of component that was created or moved */
223
+ componentId?: string;
224
+ /** Error message if failed */
225
+ error?: string;
226
+ }
227
+ /**
228
+ * Alignment guide for snapping
229
+ */
230
+ export interface AlignmentGuide {
231
+ type: 'vertical' | 'horizontal';
232
+ position: number;
233
+ source: string;
234
+ priority: number;
235
+ }
236
+ /**
237
+ * Template definition
238
+ */
239
+ export interface Template {
240
+ id: string;
241
+ name: string;
242
+ description?: string;
243
+ components: PlaygroundComponent[];
244
+ thumbnail?: string;
245
+ tags: string[];
246
+ createdAt: Date;
247
+ updatedAt: Date;
248
+ author?: string;
249
+ downloads?: number;
250
+ }
251
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../playground/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Core TypeScript interfaces for StoryUI Playground
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../playground/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}