@messenger-box/tailwind-ui-inbox 10.0.3-alpha.73 → 10.0.3-alpha.74

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 (145) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/lib/components/AIAgent/AIAgent.d.ts +7 -0
  3. package/lib/components/AIAgent/AIAgent.d.ts.map +1 -1
  4. package/lib/components/AIAgent/AIAgent.js +362 -615
  5. package/lib/components/AIAgent/AIAgent.js.map +1 -1
  6. package/lib/components/InboxMessage/InputComponent.d.ts.map +1 -1
  7. package/lib/components/InboxMessage/InputComponent.js +143 -140
  8. package/lib/components/InboxMessage/InputComponent.js.map +1 -1
  9. package/lib/components/InboxMessage/RightSidebarAi.d.ts +23 -0
  10. package/lib/components/InboxMessage/RightSidebarAi.d.ts.map +1 -0
  11. package/lib/components/InboxMessage/RightSidebarAi.js +9 -0
  12. package/lib/components/InboxMessage/RightSidebarAi.js.map +1 -0
  13. package/lib/components/InboxMessage/index.d.ts +1 -0
  14. package/lib/components/InboxMessage/index.d.ts.map +1 -1
  15. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.d.ts +11 -0
  16. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.d.ts.map +1 -0
  17. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.js +194 -0
  18. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.js.map +1 -0
  19. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.d.ts +5 -1
  20. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.d.ts.map +1 -1
  21. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.js +308 -857
  22. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.js.map +1 -1
  23. package/lib/components/ModelConfigPanel.d.ts +12 -0
  24. package/lib/components/ModelConfigPanel.d.ts.map +1 -0
  25. package/lib/components/ModelConfigPanel.js +304 -0
  26. package/lib/components/ModelConfigPanel.js.map +1 -0
  27. package/lib/components/filler-components/RightSiderBar.d.ts +24 -0
  28. package/lib/components/filler-components/RightSiderBar.d.ts.map +1 -0
  29. package/lib/components/filler-components/RightSiderBar.js +335 -0
  30. package/lib/components/filler-components/RightSiderBar.js.map +1 -0
  31. package/lib/components/index.d.ts +4 -2
  32. package/lib/components/index.d.ts.map +1 -1
  33. package/lib/components/live-code-editor/hybrid-live-editor.d.ts +20 -0
  34. package/lib/components/live-code-editor/hybrid-live-editor.d.ts.map +1 -0
  35. package/lib/components/live-code-editor/hybrid-live-editor.js +68 -0
  36. package/lib/components/live-code-editor/hybrid-live-editor.js.map +1 -0
  37. package/lib/components/live-code-editor/index.d.ts +4 -0
  38. package/lib/components/live-code-editor/index.d.ts.map +1 -0
  39. package/lib/components/live-code-editor/live-code-editor.d.ts +14 -0
  40. package/lib/components/live-code-editor/live-code-editor.d.ts.map +1 -0
  41. package/lib/components/live-code-editor/live-code-editor.js +207 -0
  42. package/lib/components/live-code-editor/live-code-editor.js.map +1 -0
  43. package/lib/components/slot-fill/chat-message-filler.js +1 -1
  44. package/lib/components/slot-fill/chat-message-filler.js.map +1 -1
  45. package/lib/components/slot-fill/index.d.ts +1 -0
  46. package/lib/components/slot-fill/index.d.ts.map +1 -1
  47. package/lib/components/slot-fill/right-sidebar-filler.d.ts +4 -0
  48. package/lib/components/slot-fill/right-sidebar-filler.d.ts.map +1 -0
  49. package/lib/components/slot-fill/right-sidebar-filler.js +13 -0
  50. package/lib/components/slot-fill/right-sidebar-filler.js.map +1 -0
  51. package/lib/components/ui/button.d.ts +9 -0
  52. package/lib/components/ui/button.d.ts.map +1 -0
  53. package/lib/compute.js +1 -2
  54. package/lib/container/AiInbox.d.ts.map +1 -1
  55. package/lib/container/AiLandingInput.d.ts.map +1 -1
  56. package/lib/container/AiLandingInput.js +46 -119
  57. package/lib/container/AiLandingInput.js.map +1 -1
  58. package/lib/container/Inbox.js +1 -1
  59. package/lib/container/Inbox.js.map +1 -1
  60. package/lib/container/InboxAiMessagesLoader.d.ts +0 -21
  61. package/lib/container/InboxAiMessagesLoader.d.ts.map +1 -1
  62. package/lib/container/InboxAiMessagesLoader.js +18 -32
  63. package/lib/container/InboxAiMessagesLoader.js.map +1 -1
  64. package/lib/container/ServiceInbox.js +1 -1
  65. package/lib/container/ServiceInbox.js.map +1 -1
  66. package/lib/container/ThreadMessages.js +1 -1
  67. package/lib/container/ThreadMessages.js.map +1 -1
  68. package/lib/container/ThreadMessagesInbox.js +1 -1
  69. package/lib/container/ThreadMessagesInbox.js.map +1 -1
  70. package/lib/container/Threads.js +1 -1
  71. package/lib/container/Threads.js.map +1 -1
  72. package/lib/container/index.d.ts +2 -1
  73. package/lib/container/index.d.ts.map +1 -1
  74. package/lib/enums/messenger-slot-fill-name-enum.d.ts +2 -1
  75. package/lib/enums/messenger-slot-fill-name-enum.d.ts.map +1 -1
  76. package/lib/enums/messenger-slot-fill-name-enum.js +1 -0
  77. package/lib/enums/messenger-slot-fill-name-enum.js.map +1 -1
  78. package/lib/hooks/index.d.ts +3 -0
  79. package/lib/hooks/index.d.ts.map +1 -0
  80. package/lib/hooks/use-file-sync.d.ts +16 -0
  81. package/lib/hooks/use-file-sync.d.ts.map +1 -0
  82. package/lib/hooks/use-file-sync.js +63 -0
  83. package/lib/hooks/use-file-sync.js.map +1 -0
  84. package/lib/hooks/usePersistentModelConfig.d.ts +15 -0
  85. package/lib/hooks/usePersistentModelConfig.d.ts.map +1 -0
  86. package/lib/hooks/usePersistentModelConfig.js +46 -0
  87. package/lib/hooks/usePersistentModelConfig.js.map +1 -0
  88. package/lib/index.d.ts +4 -2
  89. package/lib/index.d.ts.map +1 -1
  90. package/lib/index.js +1 -1
  91. package/lib/machines/aiAgentMachine.d.ts.map +1 -1
  92. package/lib/machines/aiAgentMachine.js +64 -21
  93. package/lib/machines/aiAgentMachine.js.map +1 -1
  94. package/lib/machines/aiAgentMachine.simple.d.ts +3 -0
  95. package/lib/machines/aiAgentMachine.simple.d.ts.map +1 -0
  96. package/lib/machines/aiAgentMachine.simple.js +108 -0
  97. package/lib/machines/aiAgentMachine.simple.js.map +1 -0
  98. package/lib/machines/index.d.ts +3 -0
  99. package/lib/machines/index.d.ts.map +1 -0
  100. package/lib/module.d.ts +2 -1
  101. package/lib/module.d.ts.map +1 -1
  102. package/lib/module.js +11 -3
  103. package/lib/module.js.map +1 -1
  104. package/lib/routes.json +1 -2
  105. package/lib/templates/InboxWithAi.d.ts.map +1 -1
  106. package/lib/templates/InboxWithAi.js +129 -70
  107. package/lib/templates/InboxWithAi.js.map +1 -1
  108. package/lib/templates/InboxWithAi.tsx +151 -90
  109. package/lib/utils/utils.d.ts +2 -0
  110. package/lib/utils/utils.d.ts.map +1 -0
  111. package/lib/utils/utils.js +3 -0
  112. package/lib/utils/utils.js.map +1 -0
  113. package/package.json +8 -5
  114. package/src/components/AIAgent/AIAgent.tsx +469 -731
  115. package/src/components/AIAgent/AIAgent.tsx.bk +1365 -0
  116. package/src/components/InboxMessage/InputComponent.tsx +2 -1
  117. package/src/components/InboxMessage/RightSidebarAi.tsx +37 -0
  118. package/src/components/InboxMessage/index.ts +1 -0
  119. package/src/components/InboxMessage/message-widgets/ErrorFixCard.tsx +240 -0
  120. package/src/components/InboxMessage/message-widgets/ModernMessageGroup.tsx +337 -1116
  121. package/src/components/ModelConfigPanel.tsx +334 -0
  122. package/src/components/filler-components/RightSiderBar.tsx +408 -0
  123. package/src/components/index.ts +4 -1
  124. package/src/components/live-code-editor/hybrid-live-editor.tsx +105 -0
  125. package/src/components/live-code-editor/index.ts +3 -0
  126. package/src/components/live-code-editor/live-code-editor.tsx +257 -0
  127. package/src/components/slot-fill/index.ts +1 -0
  128. package/src/components/slot-fill/right-sidebar-filler.tsx +39 -0
  129. package/src/components/ui/button.tsx +32 -0
  130. package/src/container/AiInbox.tsx +26 -3
  131. package/src/container/AiLandingInput.tsx +48 -22
  132. package/src/container/InboxAiMessagesLoader.tsx +17 -31
  133. package/src/container/index.ts +2 -0
  134. package/src/enums/messenger-slot-fill-name-enum.ts +1 -0
  135. package/src/hooks/index.ts +2 -0
  136. package/src/hooks/use-file-sync.ts +91 -0
  137. package/src/hooks/usePersistentModelConfig.ts +63 -0
  138. package/src/index.ts +7 -0
  139. package/src/machines/aiAgentMachine.simple.ts +89 -0
  140. package/src/machines/aiAgentMachine.ts +67 -19
  141. package/src/machines/aiAgentMachine.ts.bk +1296 -0
  142. package/src/machines/index.ts +2 -0
  143. package/src/module.tsx +10 -1
  144. package/src/templates/InboxWithAi.tsx +151 -90
  145. package/src/utils/utils.ts +3 -0
@@ -1,6 +1,6 @@
1
- import React__default,{createContext,useContext,useCallback,useMemo,useEffect}from'react';import {useParams,useLocation,Outlet}from'@remix-run/react';// Context for sharing tab state between header and sidebar
1
+ import React__default,{createContext,useContext,useState,useCallback,useMemo,useEffect}from'react';import {useParams,useLocation,Outlet}from'@remix-run/react';import {RightSidebarAi}from'../components/InboxMessage/RightSidebarAi.js';import {useRecreateSandboxMutation,useRegenerateAiCodeMutation}from'common/graphql';import {usePersistentModelConfig}from'../hooks/usePersistentModelConfig.js';// Context for sharing tab state between header and sidebar
2
2
  const TabContext = createContext({
3
- activeTab: 'design',
3
+ activeTab: 'preview',
4
4
  setActiveTab: () => {}
5
5
  });
6
6
  // Static utility hooks and components
@@ -48,7 +48,7 @@ const EmptyState = React__default.memo(() => React__default.createElement("div",
48
48
  className: "text-sm sm:text-base text-gray-500 leading-relaxed"
49
49
  }, "Select a conversation from the sidebar to start messaging"))));
50
50
  const InboxWithAi = props => {
51
- const [activeTab, setActiveTab] = React__default.useState('design');
51
+ const [activeTab, setActiveTab] = React__default.useState('preview');
52
52
  return React__default.createElement(TabContext.Provider, {
53
53
  value: {
54
54
  activeTab,
@@ -70,12 +70,75 @@ const InboxWithAiInternal = props => {
70
70
  activeTab,
71
71
  setActiveTab
72
72
  } = useContext(TabContext);
73
+ const [messages, setMessages] = useState([]);
74
+ const [selectedPost, setSelectedPost] = useState(null);
75
+ const [recreateSandbox] = useRecreateSandboxMutation();
76
+ const [regenerateAiCode] = useRegenerateAiCodeMutation();
77
+ const {
78
+ modelConfig,
79
+ getValidatedConfig,
80
+ hasApiKey
81
+ } = usePersistentModelConfig();
82
+ const [isLoading, setIsLoading] = useState(true);
83
+ const [errorData, setError] = useState(null);
73
84
  // Extract channelId from query parameters (priority) or path parameters (fallback)
74
85
  const channelId = urlParams?.get('id') || pathChannelId;
86
+ const regenerateAiCodeForFragment = useCallback(async messageId => {
87
+ try {
88
+ setIsLoading(true);
89
+ setError(null);
90
+ const response = await regenerateAiCode({
91
+ variables: {
92
+ messageId: messageId,
93
+ modelConfig: modelConfig
94
+ }
95
+ });
96
+ if (response.data?.regenerateAiCode?.success) {
97
+ console.log('Sandbox recreation initiated successfully');
98
+ // The subscription will handle updating the UI with the new sandbox URL
99
+ } else {
100
+ const errorMsg = response.data?.regenerateAiCode?.message || 'Failed to regenerate AI code';
101
+ throw new Error(errorMsg);
102
+ }
103
+ } catch (err) {
104
+ console.error('Error recreating sandbox:', err);
105
+ setError(err instanceof Error ? err.message : 'Failed to recreate sandbox');
106
+ setIsLoading(false);
107
+ }
108
+ }, [regenerateAiCode, modelConfig]);
109
+ const recreateSandboxForFragment = useCallback(async messageId => {
110
+ if (!channelId) {
111
+ console.error('No project ID available for sandbox recreation');
112
+ return;
113
+ }
114
+ try {
115
+ setIsLoading(true);
116
+ setError(null);
117
+ const response = await recreateSandbox({
118
+ variables: {
119
+ projectId: channelId,
120
+ messageId
121
+ }
122
+ });
123
+ if (response.data?.recreateSandbox?.success) {
124
+ console.log('Sandbox recreation initiated successfully');
125
+ // The subscription will handle updating the UI with the new sandbox URL
126
+ } else {
127
+ const errorMsg = response.data?.recreateSandbox?.message || 'Failed to recreate sandbox';
128
+ throw new Error(errorMsg);
129
+ }
130
+ } catch (err) {
131
+ console.error('Error recreating sandbox:', err);
132
+ setError(err instanceof Error ? err.message : 'Failed to recreate sandbox');
133
+ setIsLoading(false);
134
+ }
135
+ }, [recreateSandbox, channelId]);
75
136
  // Handle refresh sandbox
76
137
  const handleRefreshSandbox = useCallback(() => {
77
- console.log('Refreshing sandbox...');
78
- }, []);
138
+ if (selectedPost) {
139
+ recreateSandboxForFragment(selectedPost.id);
140
+ }
141
+ }, [activeTab, selectedPost, regenerateAiCodeForFragment]);
79
142
  // Hooks - improved responsive breakpoints with better granularity
80
143
  const {
81
144
  width: windowWidth,
@@ -110,24 +173,8 @@ const InboxWithAiInternal = props => {
110
173
  borderRadius: '10px'
111
174
  }
112
175
  }, React__default.createElement("button", {
113
- onClick: () => setActiveTab('design'),
114
- className: `flex items-center space-x-2 px-4 py-2 text-xs font-medium transition-all duration-200 ${activeTab === 'design' ? 'bg-blue-500 text-white shadow-sm' : 'text-gray-600 hover:text-gray-900'}`,
115
- style: {
116
- borderRadius: '10px'
117
- }
118
- }, React__default.createElement("svg", {
119
- className: "w-4 h-4",
120
- fill: "none",
121
- stroke: "currentColor",
122
- viewBox: "0 0 24 24"
123
- }, React__default.createElement("path", {
124
- strokeLinecap: "round",
125
- strokeLinejoin: "round",
126
- strokeWidth: 2,
127
- d: "M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"
128
- })), React__default.createElement("span", null, "Design")), React__default.createElement("button", {
129
- onClick: () => setActiveTab('interact'),
130
- className: `flex items-center space-x-2 px-4 py-2 text-xs font-medium transition-all duration-200 ${activeTab === 'interact' ? 'bg-blue-500 text-white shadow-sm' : 'text-gray-600 hover:text-gray-900'}`,
176
+ onClick: () => setActiveTab('preview'),
177
+ className: `flex items-center space-x-2 px-4 py-2 text-xs font-medium transition-all duration-200 ${activeTab === 'preview' ? 'bg-blue-500 text-white shadow-sm' : 'text-gray-600 hover:text-gray-900'}`,
131
178
  style: {
132
179
  borderRadius: '10px'
133
180
  }
@@ -146,7 +193,7 @@ const InboxWithAiInternal = props => {
146
193
  strokeLinejoin: "round",
147
194
  strokeWidth: 2,
148
195
  d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
149
- })), React__default.createElement("span", null, "Interact")), React__default.createElement("button", {
196
+ })), React__default.createElement("span", null, "Preview")), React__default.createElement("button", {
150
197
  onClick: () => setActiveTab('code'),
151
198
  className: `flex items-center space-x-2 px-4 py-2 text-xs font-medium transition-all duration-200 ${activeTab === 'code' ? 'bg-blue-500 text-white shadow-sm' : 'text-gray-600 hover:text-gray-900'}`,
152
199
  style: {
@@ -163,7 +210,7 @@ const InboxWithAiInternal = props => {
163
210
  strokeWidth: 2,
164
211
  d: "M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"
165
212
  })), React__default.createElement("span", null, "Code")))), isDesktopView && React__default.createElement("button", {
166
- onClick: handleRefreshSandbox,
213
+ onClick: () => handleRefreshSandbox(),
167
214
  className: "p-2 text-gray-600 hover:text-gray-900 hover:bg-gray-50 rounded-lg transition-colors",
168
215
  title: "Refresh Sandbox"
169
216
  }, React__default.createElement("svg", {
@@ -191,7 +238,14 @@ const InboxWithAiInternal = props => {
191
238
  paddingTop: '15px'
192
239
  }
193
240
  }, channelId ? React__default.createElement(ContentComponent, {
194
- channelId: channelId
241
+ channelId: channelId,
242
+ ...props,
243
+ messages: messages,
244
+ setMessages: setMessages,
245
+ selectedPost: selectedPost,
246
+ setSelectedPost: setSelectedPost,
247
+ setIsLoading: setIsLoading,
248
+ isLoading: isLoading
195
249
  }) : React__default.createElement(EmptyState, null)), channelId && isDesktopView && React__default.createElement("div", {
196
250
  className: "overflow-hidden border",
197
251
  style: {
@@ -202,12 +256,25 @@ const InboxWithAiInternal = props => {
202
256
  }, React__default.createElement(RightSidebarContent, {
203
257
  detailSidebarOptions: detailSidebarOptions,
204
258
  windowWidth: windowWidth,
205
- windowHeight: windowHeight
259
+ windowHeight: windowHeight,
260
+ activeTab: activeTab,
261
+ channelId: channelId,
262
+ messages: messages,
263
+ selectedPost: selectedPost,
264
+ setIsLoading: setIsLoading,
265
+ isLoading: isLoading,
266
+ ...props
206
267
  })))));
207
268
  };
208
269
  const ContentComponent = React__default.memo(props => {
209
270
  const {
210
- channelId
271
+ channelId,
272
+ messages,
273
+ setMessages,
274
+ selectedPost,
275
+ setSelectedPost,
276
+ setIsLoading,
277
+ isLoading
211
278
  } = props;
212
279
  return React__default.createElement("div", {
213
280
  className: "flex overflow-hidden h-full"
@@ -216,7 +283,14 @@ const ContentComponent = React__default.memo(props => {
216
283
  }, React__default.createElement("div", {
217
284
  className: "flex-1 flex flex-col min-h-0 overflow-hidden"
218
285
  }, channelId && React__default.createElement(React__default.Fragment, null, React__default.createElement(MessagesComponent, {
219
- ...props
286
+ ...props,
287
+ channelId: channelId,
288
+ messages: messages,
289
+ setMessages: setMessages,
290
+ selectedPost: selectedPost,
291
+ setSelectedPost: setSelectedPost,
292
+ setIsLoading: setIsLoading,
293
+ isLoading: isLoading
220
294
  })))));
221
295
  });
222
296
  const RightSidebarWrapper = React__default.memo(({
@@ -229,44 +303,12 @@ const RightSidebarWrapper = React__default.memo(({
229
303
  className: "h-full flex flex-col overflow-hidden bg-white"
230
304
  }, React__default.createElement("div", {
231
305
  className: "flex-1 overflow-hidden"
232
- }, activeTab === 'design' ? React__default.createElement("div", {
306
+ }, activeTab === 'preview' ? React__default.createElement("div", {
233
307
  className: "h-full flex items-center justify-center bg-gray-50"
234
308
  }, React__default.createElement("div", {
235
309
  className: "text-center"
236
310
  }, React__default.createElement("div", {
237
311
  className: "mb-8"
238
- }, React__default.createElement("svg", {
239
- className: "w-32 h-16 mx-auto text-black",
240
- viewBox: "0 0 394 80",
241
- fill: "currentColor"
242
- }, React__default.createElement("path", {
243
- d: "M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.4zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.7h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"
244
- }), React__default.createElement("path", {
245
- d: "M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.2 3.4 1 1.4 1.5 3 1.5 5h-5.8z"
246
- }))), React__default.createElement("div", {
247
- className: "space-y-4 text-gray-600"
248
- }, React__default.createElement("h3", {
249
- className: "text-lg font-semibold text-gray-900"
250
- }, "Design View"), React__default.createElement("p", {
251
- className: "font-mono text-sm bg-gray-100 px-3 py-1 rounded"
252
- }, "Design components and UI"), React__default.createElement("p", null, "Customize and preview your design changes.")), React__default.createElement("div", {
253
- className: "mt-8 space-y-4"
254
- }, React__default.createElement("button", {
255
- className: "bg-black text-white px-6 py-3 rounded-full hover:bg-gray-800 transition-colors flex items-center space-x-2 mx-auto"
256
- }, React__default.createElement("svg", {
257
- className: "w-4 h-4",
258
- fill: "currentColor",
259
- viewBox: "0 0 24 24"
260
- }, React__default.createElement("path", {
261
- d: "M12 2L2 7v10c0 5.55 3.84 9.739 9 11 5.16-1.261 9-5.45 9-11V7l-10-5z"
262
- })), React__default.createElement("span", null, "Design now")), React__default.createElement("p", {
263
- className: "text-sm text-gray-500 underline cursor-pointer hover:text-gray-700"
264
- }, "View design docs")))) : activeTab === 'interact' ? React__default.createElement("div", {
265
- className: "h-full flex items-center justify-center bg-blue-50"
266
- }, React__default.createElement("div", {
267
- className: "text-center"
268
- }, React__default.createElement("div", {
269
- className: "mb-8"
270
312
  }, React__default.createElement("svg", {
271
313
  className: "w-32 h-32 mx-auto text-blue-500",
272
314
  fill: "none",
@@ -286,9 +328,9 @@ const RightSidebarWrapper = React__default.memo(({
286
328
  className: "space-y-4 text-gray-600"
287
329
  }, React__default.createElement("h3", {
288
330
  className: "text-lg font-semibold text-gray-900"
289
- }, "Interactive Mode"), React__default.createElement("p", {
331
+ }, "Preview Mode"), React__default.createElement("p", {
290
332
  className: "font-mono text-sm bg-blue-100 px-3 py-1 rounded"
291
- }, "Live interaction and testing"), React__default.createElement("p", null, "Test and interact with your components in real-time.")), React__default.createElement("div", {
333
+ }, "Live preview and testing"), React__default.createElement("p", null, "Preview and test your components in real-time.")), React__default.createElement("div", {
292
334
  className: "mt-8 space-y-4"
293
335
  }, React__default.createElement("button", {
294
336
  className: "bg-blue-500 text-white px-6 py-3 rounded-full hover:bg-blue-600 transition-colors flex items-center space-x-2 mx-auto"
@@ -298,9 +340,9 @@ const RightSidebarWrapper = React__default.memo(({
298
340
  viewBox: "0 0 24 24"
299
341
  }, React__default.createElement("path", {
300
342
  d: "M8 5v14l11-7z"
301
- })), React__default.createElement("span", null, "Start Interacting")), React__default.createElement("p", {
343
+ })), React__default.createElement("span", null, "Start Preview")), React__default.createElement("p", {
302
344
  className: "text-sm text-gray-500 underline cursor-pointer hover:text-gray-700"
303
- }, "Learn about interactions")))) : React__default.createElement("div", {
345
+ }, "Learn about preview mode")))) : React__default.createElement("div", {
304
346
  className: "h-full bg-gray-900 text-gray-300 p-4 overflow-auto"
305
347
  }, React__default.createElement("div", {
306
348
  className: "font-mono text-sm"
@@ -377,8 +419,15 @@ const RightSidebarWrapper = React__default.memo(({
377
419
  const RightSidebarContent = React__default.memo(({
378
420
  detailSidebarOptions,
379
421
  windowWidth,
380
- windowHeight
422
+ windowHeight,
423
+ channelId,
424
+ setIsLoading,
425
+ isLoading,
426
+ ...props
381
427
  }) => {
428
+ const {
429
+ activeTab
430
+ } = useContext(TabContext);
382
431
  return React__default.createElement("div", {
383
432
  className: "border-l border-gray-200 bg-white flex-shrink-0 overflow-hidden",
384
433
  style: {
@@ -386,13 +435,23 @@ const RightSidebarContent = React__default.memo(({
386
435
  height: `${windowHeight}px`,
387
436
  maxHeight: '100vh'
388
437
  }
389
- }, React__default.createElement(RightSidebarWrapper, {
390
- detailSidebarOptions: detailSidebarOptions
438
+ }, React__default.createElement(RightSidebarAi, {
439
+ detailSidebarOptions: detailSidebarOptions,
440
+ windowWidth: windowWidth,
441
+ windowHeight: windowHeight,
442
+ activeTab: activeTab,
443
+ channelId: channelId,
444
+ setIsLoading: setIsLoading,
445
+ isLoading: isLoading,
446
+ ...props
391
447
  }));
392
448
  });
393
449
  const MessagesComponent = React__default.memo(props => {
394
450
  return React__default.createElement(Outlet, {
395
- context: "app"
451
+ context: {
452
+ ...props,
453
+ app: 'app'
454
+ }
396
455
  });
397
456
  });
398
457
  // Display names for debugging
@@ -1 +1 @@
1
- {"version":3,"file":"InboxWithAi.js","sources":["../../src/templates/InboxWithAi.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"sJAaA;AACA,MAAM,UAAU,GAAG,aAAa,CAG7B;AACC,EAAA,SAAA,EAAS,QAAU;AACnB,EAAA,YAAA,EAAY,MAAO;AACtB,CAAA,CAAC;AAWF;AACA,MAAM,aAAa,GAAG,KAAC,IAAiB;AACpC,EAAA,MAAA,CAAA,OAAO,EAAO,UAAE,CAAA,GAAWA,cAAQ,CAAA,QAAS,CAAA,KAAM,CAAA;WAEzC,CAAA,MAAM;QACX,OAAI,MAAa,KAAA,WAAgB,EAAA;oBAAS,GAAA,MAAA,CAAA,UAAA,CAAA,KAAA,CAAA;UAEpC,aAAA,SAAmB,qBAAmB,CAAA,OAAA,CAAA;iBACtC,EAAA;AAEN,IAAA,UAAA,CAAA,gBAAgB,CAAA,QAAA,EAAA,aAAA,CAAA;AAChB,IAAA,OAAA,MAAA,UAA2B,CAAA,mBAAW,CAAA,QAAA,EAAA,aAAe,CAAA;WAC9C,CAAA,CAAA;AACX,EAAA,OAAS,OAAG;AAEZ,CAAA;AACJ;AAEA,MAAgC,mBAAA,GAAA,MAAA;AAChC,EAAM,MAAA,CAAA,gBAAmB,EAAG,mBAAK,CAAA,GAAAA,cAAA,CAAA,QAAA,CAAA;IAC7B,KAAM,EAAC,kBAAkB,WAAA,GAAA,MAAoB,CAAG,UAAM,GAAA,IAAS;AAC3D,IAAA,MAAA,EAAA,OAAO,MAAa,KAAA,cAAgB,MAAG,CAAA,WAAO,GAAW;AACzD,GAAA,CAAA;AACH,EAAA,SAAE,CAAA,MAAA;IAEH,IAAS,aAAM,KAAA,WAAA,EAAA;UACP,YAAa,GAAA,MAAgB;yBAAS,CAAA;QAE1C,KAAM,EAAA,MAAA,CAAA,UAAkB;AACpB,QAAA,MAAA,EAAA,MAAA,CAAA;;;AAGC,IAAA,MAAA,CAAA,gBAAE,CAAA,QAAA,EAAA,YAAA,CAAA;AACP,IAAA,YAAE,EAAA,CAAA;AAEF,IAAA,OAAA,MAAuB,MAAA,CAAA,mBAAW,CAAA,QAAA,EAAY,YAAE,CAAA;QAChD;SAEO,gBAAY;;AAGvB,MAAA,gCAAwB,CAAA,MAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAC5B,EAAE,SAAA,EAAA;AAEF,CAAA,EAAAA,cAAgB,CAAA,aAAQ,CAAA,KAAK,EAAC;WAEjB,EAAA;iBACD,CAAK,aAAA,CAAA,KAAA,EAAA;WACD,EAAA;iBACD,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,IAAS,EAAC;AAOzB,EAAA,SAAiB,EAAA;AACb,CAAA,EAAA,sBAAkB,CAAA,EAAAA,cAAA,CAAY,aAAkB,CAAA,GAAA,EAAC;AAEjD,EAAA,SAAO,EACH;AACI,CAAA,EAAA,2DAAkC,CAChB,CACzB,CAAC,CAAA;AACN,MAAE,WAAA,GAAA,KAAA,IAAA;AAEF,EAAA,MAAyB,CAAA,SAAA,EAAA,YAAI,CAAA,GAAmBA,cAAE,CAAA,QAAA,CAAA,QAAA,CAAA;SACyEA,cAAA,CAAA,aAAA,CAAA,UAAA,CAAA,QAAA,EAAA;AACvH,IAAA,KAAA,EAAQ;AACR,MAAA,SAAc;AACd,MAAA;;KAGmFA,cAAA,CAAA,aAAA,CAAA,mBAAA,EAAA;IACnF,GAAM;IAEN,CAAyB;AACzB,CAAA;AACI,MAAA,mBAAY,GAAA,KAAA,IAAA;;QAGkD;AAClE,IAAA,EAAA,EAAA,aAAe;AACf,IAAA,MAAM;AACN,GAAA,GAAA;AACA,EAAA,MAAA,sBAAqB,EAAA;AACrB,EAAA,MAAA,oBAAsB,EAAA,MAAA,GAAa,IAAC,eAAA,CAAA,QAAuB,CAAA,MAAA,CAAA,GAAA,IAAA;AAC3D,EAAA,MAAA;AACA,IAAA;IACA;AAEA,GAAA,GAAA;;QAGQ,SAAiB,GAAA,SAAA,EAAA,GAAA,CAAA,IAAA,CAAA,IAAA,aAAA;;QAEjB,oBAAa,GAAA,WAAA,CAAA,MAAA;WACK,CAAA,GAAA,CAAA,uBAAA,CAAA;QAClB;AACH;AAIL,EAAA,MAAA;SAGa,EAAA,WAAA;AAEA,IAAA,MAAA,EAAA;yBAEY,EAAA;AACD,EAAA,MAAA,YAAA,GAAA,aAAA,CAAA,qBAAc;AAIF,EAAA,MAAA,iBAAA,GAAA,aAAA,CAAA,2CACwC,CAAA;AAG5B,EAAA,MAAA,YAAA,GAAA,aAAoC,CAAA,4CAAA,CAAA;qCAE5C,CAAA,qBAAA,CAAA;AAGA,EAAA,MAAA,kBAAA,GAAA,aAAA,CAAA,qBACa,CAAA;AAKT,EAAA,MAAA,aAAA,GAAA,aAAA,CAAA,oBAAA,CAAA;AAOJ;AAEJ,EAAA,MAAA,oBAAA,GAAA,OAAA,CAAA,OAAA;AAIY,IAAA,YAAA;;AAKR,IAAA,YAAA;AAMI,IAAA,aAAA;AAMA,IAAA,kBAAA;AAOJ,IAAA;AAEJ,GAAA,CAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,aACgB,EAAA,kBAAsB,EAAA,aACzB,CAAA,CAAE;AAEH,EAAA,OAAAA,cAAA,CAAA,aAAA,CAAAA,cAAE,CAAkC,QAAA,EAAA,IAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;AAK5C,GAAA,EAAA,SAAA,IAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAMI,IAAA,SAAA,EAAA;uCAOa,EAAA;AAOhC,IAAA,SAAA,EAAA;AAMO,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;AAepB,GAAA,EAAA,CAAA,aAAA,IAAAA,cAAA,CAAA,aACa,CAAA,KAAA,EAAA;qCAEc;;AAEtB,MAAA,YAAA,EAAA;AAGD;0CAEkB,EAAA;;sGAKgB,EAAA,SAAU,KAAA,QAAW,GAAA,kCAAkB,GAAA,mCACnE,CAAA,CAAA;;oBAQE;AAW5B;AAEA,GAAM,EAAAA,cAAA,CAAA,cAAmB,KAAK;AAC1B,IAAA,SAAQ,EAAA,SAAW;AAEnB,IAAA,IAAA,EAAA,MACI;UAES,EAAA,cAAA;AAED,IAAA,OAAA,EAAA;iCAGa,CAAA,MAAA,EAAA;AAO7B,IAAG,aAAA,EAAA,OAAA;AAEH,IAAM,cAAA,EAAA,OAAsB;IACxB;AACA,IAAA,CAAA,EAAA;AAGQ,GAAA,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAc,EAAA,QAAyB,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA;aAGtB,MAAA,YAAA,CAAA,UAAA,CAAA;gBAED,sFAAqB,EAAA,SAAA,KAAA,UAAA,GAAA,kCAAA,GAAA,mCAAA,CAAA,CAAA;;;AAGb;iCAIH,CAAA,KAAA,EAAA;wBACG;;AAIJ,IAAA,MAAA,EAAA,cAAA;;iCAIQ,CAAA,MAAA,EAAA;0BACC;AACD,IAAA,cAAA,EAAA,OAAA;AAEJ,IAAA,WAAA,EAAA,CAAA;;qBAUZ,aAAK,CAAA,MAAA,EAAA;iBAEI,EAAA,OAAA;AACD,IAAA,cAAA,EAAA,OAAA;AAMI,IAAA,WAAA,EAAA,CAAA;AAMA,IAAA,CAAA,EAAA;mCASH,CAAA,MAAA,EAAA,IAAA,EAAA,UAAA,CAAA,CAAA,gBAAmC,CAAA,aAAA,CAAA,QAAA,EAAA;+BAChC,CAAA,MAAA,CAAA;sGACS,EAAA,SAET,KAAA,MAAA,GAAA,kCAAA,GAAA,mCAAA,CAAA,CAAA;AACJ,IAAA,KAAA,EAAA;kBAGC,EAAA;;iCAEG,CAAK,KAAA,EAAA;AACD,IAAA,SAAA,EAAA,SAAA;AAEJ,IAAA,IAAA,EAAA,MAAA;AAEJ,IAAA,MAAA,EAAA,cAAA;aAQH;iCACI,CAAA,MAAA,EAAA;AACD,IAAA,aAAA,EAAA,OAAA;kBAEC,EAAA,OAAA;AACD,IAAA,WAAA,EAAA,CAAA;;mCACuD,CAAA,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA,EAAA,aAAA,IAAAA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA;iCAC7C;oGAA8C;;iCACJ,CAAG,KAAA,EAAA;wBACnD;;AAAiD,IAAA,MAAA,EAAA,cAAA;;iCAGjD,CAAM,MAAA,EAAA;AACJ,IAAA,aAAA,EAAA,OAAA;oBACN,OAAK;;;sCAE6C,CAAA,KAAA,EAAA;4CACxC;;yBACA,EAAA,aAAA,GAAA,SAAA,GAAA,KAAA;AAGL,MAAA,MAAA,EAAA,oBACC;;iCAED,CAAG,KAAA,EAAA;;wBACsC,EAAG,YAAA,IAAA,CAAA,SAAA,GAAA,QAAA,GAAA,MAAA;;;;AAK5C,MAAA,UAAA,EAAA;;6CAGG,CAAA,gBAAA,EAAA;;mCACuC,CAAA,UAAA,EAAA,IAAA,CAAA,CAAA,EAAA,SAAA,IAAA,aAAA,IAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;uCACrC;;;AAOL,MAAA,WAAA,EAAA,EAAA;oBAEL;;iCAEK,CAAG,mBAAA,EAAA;wBACJ,EAAM,oBAAA;4BAAwC;;;;yBAG1CA,cAAA,CAAA,IAAA,CAAA,KAAA,IAAA;;;;AAEH,EAAA,OAAAA,cAAA,CAAA,aACC,CAAA,KAAA,EAAA;;iCAED,CAAI,KAAA,EAAA;;AAEJ,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KACC,EAAA;;iCAED,aAAI,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;;AAEJ,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;yBAGI,GAAAA,cAAA,CAAA,IAAA,CAAA,CAAA;;AAEJ,CAAA,KAAA;;;AAWrC,GAAG,GAAA,UAAA,CAAA,UAAA,CAAA;AAEH,EAAA,OAAyBA,cAAA,CAAA,aAAG,CAAK,KAAC;AAC9B,IAAA,SAEQ,EAAA;iCAE+D,CAAA,KAAA,EAAA;aACrD,EAAA;AACN,GAAA,EAAA,SAAA,KAAA,QAAkB,GAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACrB,IAAA,SAAA,EAAA;mBAEA,CAAA,aAAA,CAAA,KAAA,EAAA;AAGb,IAAG,SAAA,EAAA;AAEH,GAAM,EAAAA,cAAA,CAAA,mBAAyB,EAAC;AAC5B,IAAA;AACJ,GAAG,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAEH,IAA8B,SAAA,EAAA,8BAAA;AAC9B,IAAA,OAAW,EAAC,YAAc;AAC1B,IAAA,IAAA,EAAA;AACA,GAAA,EAAAA,cAAA,CAAA,aAAiB,CAAA,MAAc,EAAA;AAC/B,IAAA,CAAA,EAAA;AACA,GAAA,CAAA,EAAAA,cAAA,CAAA,aAAoB,CAAA,MAAc,EAAA;AAClC,IAAA,CAAA,EAAA;AAEA,GAAA,CAAA,CAAA,CAAA,EAAAA,cAAA,CAAA,aAA0B,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"InboxWithAi.js","sources":["../../src/templates/InboxWithAi.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}