@peers-app/peers-ui 0.0.14

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 (404) hide show
  1. package/.github/README.md +52 -0
  2. package/.github/workflows/publish.yml +45 -0
  3. package/babel.config.js +7 -0
  4. package/dist/app.d.ts +9 -0
  5. package/dist/app.js +54 -0
  6. package/dist/command-palette/command-palette-ui.d.ts +2 -0
  7. package/dist/command-palette/command-palette-ui.js +192 -0
  8. package/dist/command-palette/command-palette.d.ts +23 -0
  9. package/dist/command-palette/command-palette.js +371 -0
  10. package/dist/components/checkbox.d.ts +7 -0
  11. package/dist/components/checkbox.js +20 -0
  12. package/dist/components/group-switcher.d.ts +6 -0
  13. package/dist/components/group-switcher.js +301 -0
  14. package/dist/components/input-date.d.ts +7 -0
  15. package/dist/components/input-date.js +19 -0
  16. package/dist/components/input-datetime.d.ts +7 -0
  17. package/dist/components/input-datetime.js +35 -0
  18. package/dist/components/input-number.d.ts +9 -0
  19. package/dist/components/input-number.js +87 -0
  20. package/dist/components/input.d.ts +7 -0
  21. package/dist/components/input.js +20 -0
  22. package/dist/components/io-schema-values.d.ts +15 -0
  23. package/dist/components/io-schema-values.js +105 -0
  24. package/dist/components/io-schema.d.ts +13 -0
  25. package/dist/components/io-schema.js +163 -0
  26. package/dist/components/lazy-list.d.ts +13 -0
  27. package/dist/components/lazy-list.js +91 -0
  28. package/dist/components/lazy-sortable-list.d.ts +29 -0
  29. package/dist/components/lazy-sortable-list.js +12 -0
  30. package/dist/components/left-bar.d.ts +3 -0
  31. package/dist/components/left-bar.js +130 -0
  32. package/dist/components/list-screen.d.ts +16 -0
  33. package/dist/components/list-screen.js +100 -0
  34. package/dist/components/loading-indicator.d.ts +2 -0
  35. package/dist/components/loading-indicator.js +12 -0
  36. package/dist/components/main-content-container.d.ts +2 -0
  37. package/dist/components/main-content-container.js +90 -0
  38. package/dist/components/markdown-editor/autolink-plugin.d.ts +2 -0
  39. package/dist/components/markdown-editor/autolink-plugin.js +29 -0
  40. package/dist/components/markdown-editor/editor-inline.d.ts +3 -0
  41. package/dist/components/markdown-editor/editor-inline.js +13 -0
  42. package/dist/components/markdown-editor/editor.d.ts +18 -0
  43. package/dist/components/markdown-editor/editor.js +143 -0
  44. package/dist/components/markdown-editor/markdown-plugin.d.ts +9 -0
  45. package/dist/components/markdown-editor/markdown-plugin.js +194 -0
  46. package/dist/components/markdown-editor/mention-node.d.ts +21 -0
  47. package/dist/components/markdown-editor/mention-node.js +160 -0
  48. package/dist/components/markdown-editor/mentions-plugin.d.ts +7 -0
  49. package/dist/components/markdown-editor/mentions-plugin.js +268 -0
  50. package/dist/components/markdown-editor/theme.d.ts +46 -0
  51. package/dist/components/markdown-editor/theme.js +48 -0
  52. package/dist/components/markdown-editor/toolbar.d.ts +10 -0
  53. package/dist/components/markdown-editor/toolbar.js +112 -0
  54. package/dist/components/markdown-with-mentions.d.ts +4 -0
  55. package/dist/components/markdown-with-mentions.js +140 -0
  56. package/dist/components/message-logs/message-logs.d.ts +6 -0
  57. package/dist/components/message-logs/message-logs.js +307 -0
  58. package/dist/components/messages/avatar.d.ts +10 -0
  59. package/dist/components/messages/avatar.js +65 -0
  60. package/dist/components/messages/channel-message-list.d.ts +14 -0
  61. package/dist/components/messages/channel-message-list.js +158 -0
  62. package/dist/components/messages/channel-view.d.ts +6 -0
  63. package/dist/components/messages/channel-view.js +82 -0
  64. package/dist/components/messages/message-compose.d.ts +11 -0
  65. package/dist/components/messages/message-compose.js +152 -0
  66. package/dist/components/messages/message-display.d.ts +10 -0
  67. package/dist/components/messages/message-display.js +152 -0
  68. package/dist/components/messages/thread-message-list.d.ts +11 -0
  69. package/dist/components/messages/thread-message-list.js +122 -0
  70. package/dist/components/messages/thread-view.d.ts +6 -0
  71. package/dist/components/messages/thread-view.js +174 -0
  72. package/dist/components/off-canvas.d.ts +13 -0
  73. package/dist/components/off-canvas.js +89 -0
  74. package/dist/components/router.d.ts +6 -0
  75. package/dist/components/router.js +240 -0
  76. package/dist/components/save-button.d.ts +13 -0
  77. package/dist/components/save-button.js +75 -0
  78. package/dist/components/sortable-list.d.ts +36 -0
  79. package/dist/components/sortable-list.js +77 -0
  80. package/dist/components/tabs.d.ts +11 -0
  81. package/dist/components/tabs.js +69 -0
  82. package/dist/components/text-list-editor.tsx/text-list-editor.d.ts +6 -0
  83. package/dist/components/text-list-editor.tsx/text-list-editor.js +13 -0
  84. package/dist/components/tooltip.d.ts +11 -0
  85. package/dist/components/tooltip.js +20 -0
  86. package/dist/components/top-bar.d.ts +2 -0
  87. package/dist/components/top-bar.js +51 -0
  88. package/dist/components/typeahead/mentions-plugin.d.ts +7 -0
  89. package/dist/components/typeahead/mentions-plugin.js +203 -0
  90. package/dist/components/typeahead/typeahead-editor.d.ts +15 -0
  91. package/dist/components/typeahead/typeahead-editor.js +134 -0
  92. package/dist/components/typeahead/typeahead.d.ts +12 -0
  93. package/dist/components/typeahead/typeahead.js +94 -0
  94. package/dist/components/typeahead.d.ts +22 -0
  95. package/dist/components/typeahead.js +270 -0
  96. package/dist/globals.d.ts +29 -0
  97. package/dist/globals.js +148 -0
  98. package/dist/hooks.d.ts +34 -0
  99. package/dist/hooks.js +137 -0
  100. package/dist/index.d.ts +4 -0
  101. package/dist/index.js +20 -0
  102. package/dist/layout-vars.d.ts +6 -0
  103. package/dist/layout-vars.js +10 -0
  104. package/dist/mention-configs.d.ts +18 -0
  105. package/dist/mention-configs.js +149 -0
  106. package/dist/screens/assistants/assistant-config.d.ts +5 -0
  107. package/dist/screens/assistants/assistant-config.js +52 -0
  108. package/dist/screens/assistants/assistant-details.d.ts +4 -0
  109. package/dist/screens/assistants/assistant-details.js +85 -0
  110. package/dist/screens/assistants/assistant-info.d.ts +6 -0
  111. package/dist/screens/assistants/assistant-info.js +28 -0
  112. package/dist/screens/assistants/assistant-list.d.ts +2 -0
  113. package/dist/screens/assistants/assistant-list.js +114 -0
  114. package/dist/screens/assistants/assistant-tools.d.ts +5 -0
  115. package/dist/screens/assistants/assistant-tools.js +38 -0
  116. package/dist/screens/contacts/contact-details.d.ts +6 -0
  117. package/dist/screens/contacts/contact-details.js +100 -0
  118. package/dist/screens/contacts/contact-list.d.ts +2 -0
  119. package/dist/screens/contacts/contact-list.js +213 -0
  120. package/dist/screens/contacts/index.d.ts +4 -0
  121. package/dist/screens/contacts/index.js +21 -0
  122. package/dist/screens/events/cron.d.ts +3 -0
  123. package/dist/screens/events/cron.js +77 -0
  124. package/dist/screens/events/event-details.d.ts +6 -0
  125. package/dist/screens/events/event-details.js +112 -0
  126. package/dist/screens/events/event-handlers.d.ts +7 -0
  127. package/dist/screens/events/event-handlers.js +84 -0
  128. package/dist/screens/events/event-info.d.ts +5 -0
  129. package/dist/screens/events/event-info.js +19 -0
  130. package/dist/screens/events/event-list.d.ts +2 -0
  131. package/dist/screens/events/event-list.js +107 -0
  132. package/dist/screens/events/event-schedule.d.ts +5 -0
  133. package/dist/screens/events/event-schedule.js +124 -0
  134. package/dist/screens/groups/group-details.d.ts +6 -0
  135. package/dist/screens/groups/group-details.js +218 -0
  136. package/dist/screens/groups/group-list.d.ts +2 -0
  137. package/dist/screens/groups/group-list.js +275 -0
  138. package/dist/screens/groups/group-members.d.ts +8 -0
  139. package/dist/screens/groups/group-members.js +315 -0
  140. package/dist/screens/groups/index.d.ts +6 -0
  141. package/dist/screens/groups/index.js +23 -0
  142. package/dist/screens/knowledge/knowledge-frame-details.bk.d.ts +6 -0
  143. package/dist/screens/knowledge/knowledge-frame-details.bk.js +84 -0
  144. package/dist/screens/knowledge/knowledge-frame-details.d.ts +8 -0
  145. package/dist/screens/knowledge/knowledge-frame-details.js +143 -0
  146. package/dist/screens/knowledge/knowledge-frame-list.d.ts +2 -0
  147. package/dist/screens/knowledge/knowledge-frame-list.js +45 -0
  148. package/dist/screens/knowledge/knowledge-value-details.d.ts +6 -0
  149. package/dist/screens/knowledge/knowledge-value-details.js +150 -0
  150. package/dist/screens/knowledge/knowledge-value-list-item.d.ts +5 -0
  151. package/dist/screens/knowledge/knowledge-value-list-item.js +39 -0
  152. package/dist/screens/knowledge/knowledge-value-list.d.ts +3 -0
  153. package/dist/screens/knowledge/knowledge-value-list.js +123 -0
  154. package/dist/screens/packages/package-details.d.ts +6 -0
  155. package/dist/screens/packages/package-details.js +82 -0
  156. package/dist/screens/packages/package-info.d.ts +5 -0
  157. package/dist/screens/packages/package-info.js +42 -0
  158. package/dist/screens/packages/package-list.d.ts +2 -0
  159. package/dist/screens/packages/package-list.js +182 -0
  160. package/dist/screens/packages/package-new-local.d.ts +2 -0
  161. package/dist/screens/packages/package-new-local.js +82 -0
  162. package/dist/screens/peer-types/peer-type-details.d.ts +10 -0
  163. package/dist/screens/peer-types/peer-type-details.js +126 -0
  164. package/dist/screens/peer-types/peer-type-list.d.ts +2 -0
  165. package/dist/screens/peer-types/peer-type-list.js +57 -0
  166. package/dist/screens/predicates/predicate-details.d.ts +6 -0
  167. package/dist/screens/predicates/predicate-details.js +103 -0
  168. package/dist/screens/predicates/predicate-list.d.ts +2 -0
  169. package/dist/screens/predicates/predicate-list.js +46 -0
  170. package/dist/screens/profile.d.ts +2 -0
  171. package/dist/screens/profile.js +66 -0
  172. package/dist/screens/search/global-search.d.ts +2 -0
  173. package/dist/screens/search/global-search.js +186 -0
  174. package/dist/screens/settings/color-mode-dropdown.d.ts +6 -0
  175. package/dist/screens/settings/color-mode-dropdown.js +63 -0
  176. package/dist/screens/settings/settings-page.d.ts +2 -0
  177. package/dist/screens/settings/settings-page.js +49 -0
  178. package/dist/screens/setup-user.d.ts +2 -0
  179. package/dist/screens/setup-user.js +270 -0
  180. package/dist/screens/tools/tool-code.d.ts +5 -0
  181. package/dist/screens/tools/tool-code.js +32 -0
  182. package/dist/screens/tools/tool-details.d.ts +6 -0
  183. package/dist/screens/tools/tool-details.js +68 -0
  184. package/dist/screens/tools/tool-info.d.ts +5 -0
  185. package/dist/screens/tools/tool-info.js +74 -0
  186. package/dist/screens/tools/tool-list.d.ts +2 -0
  187. package/dist/screens/tools/tool-list.js +123 -0
  188. package/dist/screens/tools/tool-schema.d.ts +5 -0
  189. package/dist/screens/tools/tool-schema.js +30 -0
  190. package/dist/screens/tools/tool-test-details.d.ts +4 -0
  191. package/dist/screens/tools/tool-test-details.js +54 -0
  192. package/dist/screens/tools/tool-test-list.d.ts +4 -0
  193. package/dist/screens/tools/tool-test-list.js +82 -0
  194. package/dist/screens/variables/variable-details.d.ts +6 -0
  195. package/dist/screens/variables/variable-details.js +140 -0
  196. package/dist/screens/variables/variable-list.d.ts +2 -0
  197. package/dist/screens/variables/variable-list.js +58 -0
  198. package/dist/screens/workflows/workflow-details.d.ts +6 -0
  199. package/dist/screens/workflows/workflow-details.js +122 -0
  200. package/dist/screens/workflows/workflow-info.d.ts +5 -0
  201. package/dist/screens/workflows/workflow-info.js +18 -0
  202. package/dist/screens/workflows/workflow-instructions.d.ts +5 -0
  203. package/dist/screens/workflows/workflow-instructions.js +118 -0
  204. package/dist/screens/workflows/workflow-list.d.ts +2 -0
  205. package/dist/screens/workflows/workflow-list.js +109 -0
  206. package/dist/screens/workflows/workflow-subscriptions.d.ts +6 -0
  207. package/dist/screens/workflows/workflow-subscriptions.js +81 -0
  208. package/dist/setupTests.d.ts +1 -0
  209. package/dist/setupTests.js +31 -0
  210. package/dist/system-apps/assistants.app.d.ts +2 -0
  211. package/dist/system-apps/assistants.app.js +8 -0
  212. package/dist/system-apps/contacts.app.d.ts +2 -0
  213. package/dist/system-apps/contacts.app.js +9 -0
  214. package/dist/system-apps/events.app.d.ts +2 -0
  215. package/dist/system-apps/events.app.js +8 -0
  216. package/dist/system-apps/groups.app.d.ts +2 -0
  217. package/dist/system-apps/groups.app.js +9 -0
  218. package/dist/system-apps/index.d.ts +19 -0
  219. package/dist/system-apps/index.js +90 -0
  220. package/dist/system-apps/knowledge-frames.app.d.ts +2 -0
  221. package/dist/system-apps/knowledge-frames.app.js +9 -0
  222. package/dist/system-apps/knowledge-values.app.d.ts +2 -0
  223. package/dist/system-apps/knowledge-values.app.js +9 -0
  224. package/dist/system-apps/packages.app.d.ts +2 -0
  225. package/dist/system-apps/packages.app.js +8 -0
  226. package/dist/system-apps/predicates.app.d.ts +2 -0
  227. package/dist/system-apps/predicates.app.js +8 -0
  228. package/dist/system-apps/profile.app.d.ts +2 -0
  229. package/dist/system-apps/profile.app.js +8 -0
  230. package/dist/system-apps/search.app.d.ts +2 -0
  231. package/dist/system-apps/search.app.js +9 -0
  232. package/dist/system-apps/settings.app.d.ts +2 -0
  233. package/dist/system-apps/settings.app.js +8 -0
  234. package/dist/system-apps/threads.app.d.ts +2 -0
  235. package/dist/system-apps/threads.app.js +8 -0
  236. package/dist/system-apps/tools.app.d.ts +2 -0
  237. package/dist/system-apps/tools.app.js +8 -0
  238. package/dist/system-apps/types.app.d.ts +2 -0
  239. package/dist/system-apps/types.app.js +8 -0
  240. package/dist/system-apps/variables.app.d.ts +2 -0
  241. package/dist/system-apps/variables.app.js +8 -0
  242. package/dist/system-apps/workflows.app.d.ts +2 -0
  243. package/dist/system-apps/workflows.app.js +8 -0
  244. package/dist/tabs-layout/tabs-layout.d.ts +5 -0
  245. package/dist/tabs-layout/tabs-layout.js +374 -0
  246. package/dist/tabs-layout/tabs-state.d.ts +26 -0
  247. package/dist/tabs-layout/tabs-state.js +239 -0
  248. package/dist/three-bar-layout/left-bar-content.d.ts +7 -0
  249. package/dist/three-bar-layout/left-bar-content.js +151 -0
  250. package/dist/three-bar-layout/right-bar-content.d.ts +2 -0
  251. package/dist/three-bar-layout/right-bar-content.js +64 -0
  252. package/dist/three-bar-layout/three-bar-layout.d.ts +5 -0
  253. package/dist/three-bar-layout/three-bar-layout.js +218 -0
  254. package/dist/ui-defaults/index.d.ts +2 -0
  255. package/dist/ui-defaults/index.js +4 -0
  256. package/dist/ui-defaults/list-screen.d.ts +6 -0
  257. package/dist/ui-defaults/list-screen.js +74 -0
  258. package/dist/ui-defaults/notes-editor.d.ts +7 -0
  259. package/dist/ui-defaults/notes-editor.js +41 -0
  260. package/dist/ui-router/routes-loader.d.ts +25 -0
  261. package/dist/ui-router/routes-loader.js +97 -0
  262. package/dist/ui-router/ui-loader.d.ts +18 -0
  263. package/dist/ui-router/ui-loader.js +481 -0
  264. package/dist/utils.d.ts +9 -0
  265. package/dist/utils.js +250 -0
  266. package/docs/conversation-tab.md +201 -0
  267. package/docs/getting-started.md +284 -0
  268. package/docs/knowledge.md +187 -0
  269. package/docs/tabs-ui.md +696 -0
  270. package/docs/user-contacts-ui.md +384 -0
  271. package/jest.config.js +25 -0
  272. package/package.json +109 -0
  273. package/src/app.tsx +59 -0
  274. package/src/command-palette/command-palette-ui.tsx +264 -0
  275. package/src/command-palette/command-palette.ts +364 -0
  276. package/src/components/checkbox.tsx +22 -0
  277. package/src/components/group-switcher.tsx +469 -0
  278. package/src/components/input-date.tsx +28 -0
  279. package/src/components/input-datetime.tsx +41 -0
  280. package/src/components/input-number.tsx +67 -0
  281. package/src/components/input.tsx +22 -0
  282. package/src/components/io-schema-values.tsx +122 -0
  283. package/src/components/io-schema.tsx +234 -0
  284. package/src/components/lazy-list.tsx +98 -0
  285. package/src/components/lazy-sortable-list.tsx +51 -0
  286. package/src/components/left-bar.tsx +264 -0
  287. package/src/components/list-screen.tsx +105 -0
  288. package/src/components/loading-indicator.tsx +9 -0
  289. package/src/components/main-content-container.tsx +76 -0
  290. package/src/components/markdown-editor/autolink-plugin.tsx +36 -0
  291. package/src/components/markdown-editor/editor-inline.tsx +10 -0
  292. package/src/components/markdown-editor/editor.tsx +152 -0
  293. package/src/components/markdown-editor/markdown-plugin.tsx +224 -0
  294. package/src/components/markdown-editor/mention-node.ts +199 -0
  295. package/src/components/markdown-editor/mentions-plugin.tsx +356 -0
  296. package/src/components/markdown-editor/theme.ts +47 -0
  297. package/src/components/markdown-editor/toolbar.tsx +263 -0
  298. package/src/components/markdown-with-mentions.tsx +183 -0
  299. package/src/components/message-logs/message-logs.tsx +406 -0
  300. package/src/components/messages/avatar.tsx +95 -0
  301. package/src/components/messages/channel-message-list.tsx +177 -0
  302. package/src/components/messages/channel-view.tsx +74 -0
  303. package/src/components/messages/message-compose.tsx +162 -0
  304. package/src/components/messages/message-display.tsx +217 -0
  305. package/src/components/messages/thread-message-list.tsx +126 -0
  306. package/src/components/messages/thread-view.tsx +214 -0
  307. package/src/components/off-canvas.tsx +83 -0
  308. package/src/components/router.tsx +224 -0
  309. package/src/components/save-button.tsx +109 -0
  310. package/src/components/sortable-list.tsx +102 -0
  311. package/src/components/tabs.tsx +70 -0
  312. package/src/components/text-list-editor.tsx/text-list-editor.tsx +13 -0
  313. package/src/components/tooltip.tsx +50 -0
  314. package/src/components/top-bar.tsx +119 -0
  315. package/src/components/typeahead/mentions-plugin.tsx +265 -0
  316. package/src/components/typeahead/typeahead-editor.tsx +140 -0
  317. package/src/components/typeahead/typeahead.tsx +77 -0
  318. package/src/components/typeahead.tsx +359 -0
  319. package/src/globals.tsx +162 -0
  320. package/src/hooks.ts +144 -0
  321. package/src/index.tsx +8 -0
  322. package/src/layout-vars.ts +8 -0
  323. package/src/mention-configs.ts +166 -0
  324. package/src/screens/assistants/assistant-config.tsx +80 -0
  325. package/src/screens/assistants/assistant-details.tsx +77 -0
  326. package/src/screens/assistants/assistant-info.tsx +45 -0
  327. package/src/screens/assistants/assistant-list.tsx +115 -0
  328. package/src/screens/assistants/assistant-tools.tsx +61 -0
  329. package/src/screens/contacts/contact-details.tsx +175 -0
  330. package/src/screens/contacts/contact-list.tsx +251 -0
  331. package/src/screens/contacts/index.ts +6 -0
  332. package/src/screens/events/cron.ts +74 -0
  333. package/src/screens/events/event-details.tsx +117 -0
  334. package/src/screens/events/event-handlers.tsx +61 -0
  335. package/src/screens/events/event-info.tsx +29 -0
  336. package/src/screens/events/event-list.tsx +104 -0
  337. package/src/screens/events/event-schedule.tsx +130 -0
  338. package/src/screens/groups/group-details.tsx +306 -0
  339. package/src/screens/groups/group-list.tsx +366 -0
  340. package/src/screens/groups/group-members.tsx +455 -0
  341. package/src/screens/groups/index.ts +9 -0
  342. package/src/screens/knowledge/knowledge-frame-details.bk.tsx +160 -0
  343. package/src/screens/knowledge/knowledge-frame-details.tsx +176 -0
  344. package/src/screens/knowledge/knowledge-frame-list.tsx +49 -0
  345. package/src/screens/knowledge/knowledge-value-details.tsx +181 -0
  346. package/src/screens/knowledge/knowledge-value-list-item.tsx +48 -0
  347. package/src/screens/knowledge/knowledge-value-list.tsx +131 -0
  348. package/src/screens/packages/package-details.tsx +117 -0
  349. package/src/screens/packages/package-info.tsx +83 -0
  350. package/src/screens/packages/package-list.tsx +191 -0
  351. package/src/screens/packages/package-new-local.tsx +93 -0
  352. package/src/screens/peer-types/peer-type-details.tsx +162 -0
  353. package/src/screens/peer-types/peer-type-list.tsx +74 -0
  354. package/src/screens/predicates/predicate-details.tsx +125 -0
  355. package/src/screens/predicates/predicate-list.tsx +50 -0
  356. package/src/screens/profile.tsx +68 -0
  357. package/src/screens/search/global-search.tsx +274 -0
  358. package/src/screens/settings/color-mode-dropdown.tsx +57 -0
  359. package/src/screens/settings/settings-page.tsx +76 -0
  360. package/src/screens/setup-user.tsx +367 -0
  361. package/src/screens/tools/tool-code.tsx +35 -0
  362. package/src/screens/tools/tool-details.tsx +101 -0
  363. package/src/screens/tools/tool-info.tsx +60 -0
  364. package/src/screens/tools/tool-list.tsx +121 -0
  365. package/src/screens/tools/tool-schema.tsx +42 -0
  366. package/src/screens/tools/tool-test-details.tsx +100 -0
  367. package/src/screens/tools/tool-test-list.tsx +74 -0
  368. package/src/screens/variables/variable-details.tsx +183 -0
  369. package/src/screens/variables/variable-list.tsx +74 -0
  370. package/src/screens/workflows/workflow-details.tsx +130 -0
  371. package/src/screens/workflows/workflow-info.tsx +29 -0
  372. package/src/screens/workflows/workflow-instructions.tsx +127 -0
  373. package/src/screens/workflows/workflow-list.tsx +107 -0
  374. package/src/screens/workflows/workflow-subscriptions.tsx +58 -0
  375. package/src/setupTests.ts +32 -0
  376. package/src/system-apps/assistants.app.ts +7 -0
  377. package/src/system-apps/contacts.app.ts +8 -0
  378. package/src/system-apps/events.app.ts +7 -0
  379. package/src/system-apps/groups.app.ts +8 -0
  380. package/src/system-apps/index.ts +79 -0
  381. package/src/system-apps/knowledge-frames.app.ts +8 -0
  382. package/src/system-apps/knowledge-values.app.ts +8 -0
  383. package/src/system-apps/packages.app.ts +7 -0
  384. package/src/system-apps/predicates.app.ts +7 -0
  385. package/src/system-apps/profile.app.ts +7 -0
  386. package/src/system-apps/search.app.ts +8 -0
  387. package/src/system-apps/settings.app.ts +7 -0
  388. package/src/system-apps/threads.app.ts +7 -0
  389. package/src/system-apps/tools.app.ts +7 -0
  390. package/src/system-apps/types.app.ts +7 -0
  391. package/src/system-apps/variables.app.ts +7 -0
  392. package/src/system-apps/workflows.app.ts +7 -0
  393. package/src/tabs-layout/tabs-layout.tsx +672 -0
  394. package/src/tabs-layout/tabs-state.ts +269 -0
  395. package/src/three-bar-layout/left-bar-content.tsx +202 -0
  396. package/src/three-bar-layout/right-bar-content.tsx +67 -0
  397. package/src/three-bar-layout/three-bar-layout.tsx +297 -0
  398. package/src/ui-defaults/index.ts +3 -0
  399. package/src/ui-defaults/list-screen.tsx +92 -0
  400. package/src/ui-defaults/notes-editor.tsx +51 -0
  401. package/src/ui-router/routes-loader.ts +98 -0
  402. package/src/ui-router/ui-loader.tsx +497 -0
  403. package/src/utils.ts +266 -0
  404. package/tsconfig.json +24 -0
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ThreadMessageList = void 0;
37
+ const lodash_1 = require("lodash");
38
+ const react_1 = __importStar(require("react"));
39
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
40
+ const globals_1 = require("../../globals");
41
+ const message_compose_1 = require("./message-compose");
42
+ const message_display_1 = require("./message-display");
43
+ const hooks_1 = require("../../hooks");
44
+ const ThreadMessageList = (props) => {
45
+ const { threadId: messageParentId } = props;
46
+ const [messages, setMessages] = (0, react_1.useState)([]);
47
+ const messagesEndRef = react_1.default.useRef(null);
48
+ const messageParent = (0, hooks_1.usePromise)(() => (0, peers_sdk_1.Messages)().get(messageParentId), undefined, [messageParentId]);
49
+ function scrollToBottom(behavior, delay = 100) {
50
+ setTimeout(() => {
51
+ messagesEndRef.current?.scrollIntoView({ behavior });
52
+ }, delay);
53
+ }
54
+ async function loadMessages() {
55
+ const messages = await (0, peers_sdk_1.Messages)().list({ messageParentId }, {
56
+ sortBy: ['createdAt', 'messageId'],
57
+ });
58
+ setMessages(messages);
59
+ scrollToBottom('instant', 1);
60
+ }
61
+ // first load
62
+ (0, react_1.useEffect)(() => {
63
+ loadMessages();
64
+ }, [messageParentId]);
65
+ // reload when messages change
66
+ (0, react_1.useEffect)(() => {
67
+ // subscribe to message changes
68
+ const sub = (0, peers_sdk_1.Messages)().dataChanged.subscribe((evt) => {
69
+ if (evt.dataObject.messageParentId == messageParentId || evt.dataObject.messageId === messageParentId) {
70
+ loadMessages();
71
+ }
72
+ });
73
+ return () => {
74
+ sub.unsubscribe();
75
+ };
76
+ }, [messageParentId]);
77
+ (0, react_1.useEffect)(() => {
78
+ const observer = new IntersectionObserver(([entry]) => {
79
+ props?.scrollChanged?.(entry.isIntersecting);
80
+ }, { threshold: 1.0 });
81
+ if (messagesEndRef.current) {
82
+ observer.observe(messagesEndRef.current);
83
+ }
84
+ return () => {
85
+ if (messagesEndRef.current) {
86
+ observer.unobserve(messagesEndRef.current);
87
+ }
88
+ };
89
+ }, []);
90
+ const [effects] = (0, react_1.useState)(() => props.effects || {});
91
+ effects.pushMessage = (newMessage) => {
92
+ if (messages.find(m => m.messageId === newMessage.messageId)) {
93
+ return;
94
+ }
95
+ let _messages = (0, lodash_1.sortBy)([newMessage, ...messages], 'createdAt');
96
+ setMessages(_messages);
97
+ if (newMessage.userId === globals_1.me.userId && !newMessage.assistantId) {
98
+ scrollToBottom('instant', 1);
99
+ }
100
+ else {
101
+ scrollToBottom('smooth');
102
+ }
103
+ };
104
+ const sendMessage = (userMessage) => {
105
+ effects.pushMessage(userMessage);
106
+ (0, peers_sdk_1.Messages)().save(userMessage);
107
+ };
108
+ if (!messageParent) {
109
+ return false;
110
+ }
111
+ return (react_1.default.createElement(react_1.default.Fragment, null,
112
+ messageParent &&
113
+ react_1.default.createElement(message_display_1.MessageDisplay, { message: messageParent, isThreadParent: true }),
114
+ react_1.default.createElement("hr", null),
115
+ messages.map((message, index) => {
116
+ return react_1.default.createElement(message_display_1.MessageDisplay, { key: message.messageId, message: message, messageAbove: messages[index - 1] });
117
+ }),
118
+ react_1.default.createElement("div", { className: 'p-2' },
119
+ react_1.default.createElement(message_compose_1.MessageCompose, { channelId: messageParent.channelId, threadId: messageParentId, onMessageSubmit: sendMessage })),
120
+ react_1.default.createElement("div", { ref: messagesEndRef })));
121
+ };
122
+ exports.ThreadMessageList = ThreadMessageList;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare function startNewThread(): void;
3
+ export interface IThreadContainerProps {
4
+ closeThreadBtn?: React.ReactNode;
5
+ }
6
+ export declare const ThreadContainer: (props: IThreadContainerProps) => false | React.JSX.Element;
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ThreadContainer = void 0;
37
+ exports.startNewThread = startNewThread;
38
+ const hooks_1 = require("../../hooks");
39
+ const react_1 = __importStar(require("react"));
40
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
41
+ const globals_1 = require("../../globals");
42
+ const message_compose_1 = require("./message-compose");
43
+ const message_display_1 = require("./message-display");
44
+ const thread_message_list_1 = require("./thread-message-list");
45
+ const markdown_with_mentions_1 = require("../markdown-with-mentions");
46
+ function closeThread(thread) {
47
+ if (typeof thread === 'object') {
48
+ // delete the draft
49
+ (0, message_compose_1.getContentPersistenceValue)(thread.channelId, thread.messageId)('');
50
+ thread = thread.messageId;
51
+ }
52
+ (0, globals_1.openThreads)((0, globals_1.openThreads)().filter(t => (typeof t === 'string' && t !== thread) || (typeof t === 'object' && t.messageId !== thread)));
53
+ if ((0, globals_1.openThreads)().length === 0) {
54
+ startNewThread();
55
+ }
56
+ }
57
+ function startNewThread() {
58
+ const threadParent = (0, peers_sdk_1.Messages)().initRecord({
59
+ messageId: (0, peers_sdk_1.newid)(),
60
+ userId: globals_1.me.userId,
61
+ channelId: globals_1.me.userId,
62
+ message: '',
63
+ });
64
+ (0, globals_1.openThread)(threadParent);
65
+ }
66
+ const ThreadContainer = (props) => {
67
+ const [[thread]] = (0, hooks_1.useObservable)(globals_1.openThreads);
68
+ if (!thread) {
69
+ setTimeout(startNewThread, 0);
70
+ return false;
71
+ }
72
+ return (react_1.default.createElement("div", { className: "thread-container" },
73
+ react_1.default.createElement("div", { className: 'sticky-top container-fluid border shadow-sm thread-header', style: { height: '50px' } },
74
+ react_1.default.createElement("div", { className: 'd-flex' },
75
+ react_1.default.createElement("div", null,
76
+ react_1.default.createElement("button", { className: "btn fs-4", onClick: startNewThread },
77
+ react_1.default.createElement("i", { className: "bi bi-plus-lg" }))),
78
+ react_1.default.createElement("div", { className: 'flex-grow-1' },
79
+ react_1.default.createElement("div", { className: 'pt-1' },
80
+ react_1.default.createElement(OpenThreads, null))),
81
+ react_1.default.createElement("div", null,
82
+ react_1.default.createElement("button", { className: "btn fs-4", onClick: () => {
83
+ let currentThreadId = (0, globals_1.openThreads)()[0];
84
+ closeThread(currentThreadId);
85
+ } },
86
+ react_1.default.createElement("i", { className: "bi bi-x-lg" })),
87
+ props.closeThreadBtn === undefined && (react_1.default.createElement("button", { className: "btn fs-4", onClick: () => (0, globals_1.threadViewOpen)(false) },
88
+ react_1.default.createElement("i", { className: "bi bi-box-arrow-in-up-right" }))),
89
+ !!props.closeThreadBtn && props.closeThreadBtn))),
90
+ thread && typeof thread === 'string' &&
91
+ react_1.default.createElement(thread_message_list_1.ThreadMessageList, { threadId: thread }),
92
+ thread && typeof thread !== 'string' &&
93
+ react_1.default.createElement(NewThreadView, { message: thread })));
94
+ };
95
+ exports.ThreadContainer = ThreadContainer;
96
+ const NewThreadView = (props) => {
97
+ const message = (0, peers_sdk_1.Messages)().initDoc(props.message);
98
+ // TODO let the user set the channel
99
+ message.channelId = globals_1.me.userId;
100
+ return (react_1.default.createElement("div", null,
101
+ react_1.default.createElement("p", { className: 'p-2 fs-4 text-center' }, "New Thread"),
102
+ react_1.default.createElement("div", { className: 'p-2' },
103
+ react_1.default.createElement(message_compose_1.MessageCompose, { channelId: message.channelId, threadId: message.messageId, onMessageSubmit: async (messageData) => {
104
+ message.message = messageData.message;
105
+ message.createdAt = new Date();
106
+ message.userId = globals_1.me.userId;
107
+ await message.save();
108
+ const threadsWithoutDraft = (0, globals_1.openThreads)().filter(t => !(typeof t === 'object' && t.messageId === message.messageId));
109
+ (0, globals_1.openThreads)([message.messageId, ...threadsWithoutDraft]);
110
+ (0, globals_1.threadViewOpen)(true);
111
+ } }))));
112
+ };
113
+ const OpenThreads = () => {
114
+ const [threads] = (0, hooks_1.useObservable)(globals_1.openThreads);
115
+ return (react_1.default.createElement("div", { className: "dropdown" },
116
+ react_1.default.createElement("button", { className: "btn btn-secondary dropdown-toggle", type: "button", "data-bs-toggle": "dropdown", "aria-expanded": "false" }, "Open Threads"),
117
+ react_1.default.createElement("ul", { className: "dropdown-menu", style: { maxHeight: '70vh', overflowY: 'auto', minWidth: '90%' } }, threads.map(thread => {
118
+ let threadId = '';
119
+ if (typeof thread === 'object') {
120
+ threadId = thread.messageId;
121
+ }
122
+ else {
123
+ threadId = thread;
124
+ }
125
+ return (react_1.default.createElement(OpenThreadsMenuItem, { key: threadId, thread: thread }));
126
+ }))));
127
+ };
128
+ const OpenThreadsMenuItem = (props) => {
129
+ const { thread } = props;
130
+ const [menuText, setMenuText] = (0, react_1.useState)('loading...');
131
+ const [message, setMessage] = (0, react_1.useState)();
132
+ const isDraft = typeof thread !== 'string';
133
+ (0, react_1.useEffect)(() => {
134
+ let sub = undefined;
135
+ let disposed = false;
136
+ (async () => {
137
+ if (typeof thread === 'string') {
138
+ const message = await (0, peers_sdk_1.Messages)().get(thread);
139
+ if (disposed)
140
+ return;
141
+ setMenuText(message?.message ?? `Thread ${thread} not found`);
142
+ setMessage(message);
143
+ }
144
+ else {
145
+ setMessage(thread);
146
+ const pVar = (0, message_compose_1.getContentPersistenceValue)(thread.channelId, thread.messageId);
147
+ await pVar.loadingPromise;
148
+ if (disposed)
149
+ return;
150
+ setMenuText(pVar() || 'New Thread');
151
+ sub = pVar.subscribe(() => {
152
+ setMenuText(pVar() || 'New Thread');
153
+ });
154
+ }
155
+ })();
156
+ return () => {
157
+ sub?.dispose();
158
+ };
159
+ }, [thread]);
160
+ function _closeThread(evt) {
161
+ evt.preventDefault();
162
+ evt.stopPropagation();
163
+ closeThread(thread);
164
+ }
165
+ return (react_1.default.createElement("li", null,
166
+ react_1.default.createElement("div", { className: 'border rounded m-2 mb-3', onClick: () => (0, globals_1.openThread)(thread) },
167
+ !message && 'loading...',
168
+ message && !isDraft && (react_1.default.createElement("div", { style: { position: 'relative' } },
169
+ react_1.default.createElement("button", { className: 'btn-close', style: { position: 'absolute', right: 8, top: -10, fontSize: '.7em' }, onClick: _closeThread }),
170
+ react_1.default.createElement(message_display_1.MessageDisplay, { message: message, isThreadParent: true }))),
171
+ message && isDraft &&
172
+ react_1.default.createElement("div", { className: 'p-1' },
173
+ react_1.default.createElement(markdown_with_mentions_1.MarkdownWithMentions, { content: 'DRAFT - ' + menuText })))));
174
+ };
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface IProps {
3
+ id: string;
4
+ children: any;
5
+ position: 'left' | 'right' | 'top' | 'bottom';
6
+ keepOpen?: boolean;
7
+ dataBackdrop?: boolean;
8
+ effects?: {
9
+ hide: (() => any);
10
+ };
11
+ }
12
+ export declare const OffCanvas: (props: IProps) => React.JSX.Element;
13
+ export {};
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OffCanvas = void 0;
37
+ const react_1 = __importStar(require("react"));
38
+ const bootstrap_1 = require("bootstrap");
39
+ // function removeExtraFadeFromOffcanvas(canvasId: string) {
40
+ // const offcanvas = document.getElementById(canvasId);
41
+ // offcanvas?.addEventListener('shown.bs.offcanvas', event => {
42
+ // let fade = document.getElementsByClassName('offcanvas-backdrop fade show');
43
+ // for (let i = 0; i < fade.length; i++) {
44
+ // if (fade.length > 1) {
45
+ // fade[i].remove();
46
+ // }
47
+ // }
48
+ // });
49
+ // }
50
+ // function preventMultipleOffcanvasFades(canvasId: string) {
51
+ // const offcanvas = document.getElementById(canvasId);
52
+ // offcanvas?.addEventListener('show.bs.offcanvas', function () {
53
+ // const backdrops = document.querySelectorAll('.offcanvas-backdrop');
54
+ // if (backdrops.length > 1) {
55
+ // for (let i = 1; i < backdrops.length; i++) {
56
+ // backdrops[i].remove();
57
+ // }
58
+ // }
59
+ // });
60
+ // }
61
+ const OffCanvas = (props) => {
62
+ console.log('OffCanvas');
63
+ const { id, position, keepOpen, effects } = props;
64
+ const computedProps = {};
65
+ if (keepOpen) {
66
+ computedProps['data-bs-scroll'] = "true";
67
+ computedProps['data-bs-backdrop'] = "false";
68
+ }
69
+ if (props.dataBackdrop !== undefined) {
70
+ computedProps['data-bs-backdrop'] = String(props.dataBackdrop);
71
+ }
72
+ const offCanvasPosition = position == 'left' ? 'start'
73
+ : position == 'right' ? 'end' : position;
74
+ const offCanvasRef = (0, react_1.useRef)();
75
+ if (effects) {
76
+ effects.hide = () => {
77
+ if (offCanvasRef.current) {
78
+ let offCanvas = bootstrap_1.Offcanvas.getInstance(offCanvasRef.current);
79
+ offCanvas?.hide();
80
+ }
81
+ };
82
+ }
83
+ (0, react_1.useEffect)(() => {
84
+ // removeExtraFadeFromOffcanvas(id);
85
+ // preventMultipleOffcanvasFades(id);
86
+ }, [offCanvasRef, offCanvasRef.current]);
87
+ return (react_1.default.createElement("div", { id: id, ref: offCanvasRef, tabIndex: -1, className: `offcanvas offcanvas-${offCanvasPosition} ${keepOpen ? 'show' : ''}`, style: { width: "300px", visibility: keepOpen ? 'visible' : '' }, ...computedProps }, props.children));
88
+ };
89
+ exports.OffCanvas = OffCanvas;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import "../screens/groups";
3
+ import "../screens/contacts";
4
+ export declare function Router({ path: providedPath }?: {
5
+ path?: string;
6
+ }): React.JSX.Element;
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Router = Router;
40
+ const react_1 = __importDefault(require("react"));
41
+ const globals = __importStar(require("../globals"));
42
+ const assistant_details_1 = require("../screens/assistants/assistant-details");
43
+ const assistant_list_1 = require("../screens/assistants/assistant-list");
44
+ const profile_1 = require("../screens/profile");
45
+ // import { TaskDetails } from "../screens/tasks/task-details";
46
+ // import { TaskList } from "../screens/tasks/task-list";
47
+ const tool_details_1 = require("../screens/tools/tool-details");
48
+ const tool_list_1 = require("../screens/tools/tool-list");
49
+ const tool_test_details_1 = require("../screens/tools/tool-test-details");
50
+ const workflow_details_1 = require("../screens/workflows/workflow-details");
51
+ const workflow_list_1 = require("../screens/workflows/workflow-list");
52
+ const channel_view_1 = require("./messages/channel-view");
53
+ const event_list_1 = require("../screens/events/event-list");
54
+ const event_details_1 = require("../screens/events/event-details");
55
+ const settings_page_1 = require("../screens/settings/settings-page");
56
+ const package_details_1 = require("../screens/packages/package-details");
57
+ const package_list_1 = require("../screens/packages/package-list");
58
+ const package_new_local_1 = require("../screens/packages/package-new-local");
59
+ const variable_list_1 = require("../screens/variables/variable-list");
60
+ const variable_details_1 = require("../screens/variables/variable-details");
61
+ const knowledge_frame_list_1 = require("../screens/knowledge/knowledge-frame-list");
62
+ const knowledge_frame_details_1 = require("../screens/knowledge/knowledge-frame-details");
63
+ const peer_type_list_1 = require("../screens/peer-types/peer-type-list");
64
+ const peer_type_details_1 = require("../screens/peer-types/peer-type-details");
65
+ const predicate_list_1 = require("../screens/predicates/predicate-list");
66
+ const predicate_details_1 = require("../screens/predicates/predicate-details");
67
+ const knowledge_value_list_1 = require("../screens/knowledge/knowledge-value-list");
68
+ const knowledge_value_details_1 = require("../screens/knowledge/knowledge-value-details");
69
+ const ui_loader_1 = require("../ui-router/ui-loader");
70
+ const hooks_1 = require("../hooks");
71
+ const thread_message_list_1 = require("./messages/thread-message-list");
72
+ const global_search_1 = require("../screens/search/global-search");
73
+ require("../screens/groups");
74
+ require("../screens/contacts");
75
+ function Router({ path: providedPath } = {}) {
76
+ try {
77
+ // Use provided path or fall back to global mainContentPath
78
+ const [globalPath] = (0, hooks_1.useObservable)(globals.mainContentPath);
79
+ let path = providedPath ?? globalPath;
80
+ const originalPath = path;
81
+ path = path.toLowerCase().trim();
82
+ path = path.split('?')[0]; // remove query string
83
+ // remove leading '/'
84
+ if (path.startsWith('/')) {
85
+ path = path.substring(1);
86
+ }
87
+ // remove trailing '/'
88
+ if (path.endsWith('/')) {
89
+ path = path.substring(0, path.length - 1);
90
+ }
91
+ if (path === 'search') {
92
+ return react_1.default.createElement(global_search_1.GlobalSearch, null);
93
+ }
94
+ if (path === 'settings') {
95
+ return react_1.default.createElement(settings_page_1.SettingsPage, null);
96
+ }
97
+ if (path === 'profile') {
98
+ return react_1.default.createElement(profile_1.Profile, null);
99
+ }
100
+ const ui = (0, ui_loader_1.UIRouter)({ path, props: {}, uiCategory: 'screen' });
101
+ if (ui) {
102
+ return ui;
103
+ }
104
+ if (path === 'threads' || path === '') {
105
+ return react_1.default.createElement(channel_view_1.ChannelMessages, null);
106
+ }
107
+ if (path.match(/^channel\//)) {
108
+ const parts = path.split('/');
109
+ parts.shift();
110
+ const channelId = parts[0];
111
+ // todo add additional params as props if they exist
112
+ return react_1.default.createElement(channel_view_1.ChannelMessages, { channelId: channelId });
113
+ }
114
+ if (path === 'assistants') {
115
+ return react_1.default.createElement(assistant_list_1.AssistantList, null);
116
+ }
117
+ if (path.match(/^assistants\//)) {
118
+ const parts = path.split('/');
119
+ parts.shift();
120
+ const id = parts[0];
121
+ return react_1.default.createElement(assistant_details_1.AssistantDetails, { assistantId: id });
122
+ }
123
+ // if (path === 'tasks') {
124
+ // return <TaskList />;
125
+ // }
126
+ // if (path.match(/^tasks\//)) {
127
+ // const parts = path.split('/');
128
+ // parts.shift();
129
+ // const taskId = parts[0];
130
+ // return <TaskDetails taskId={taskId} />;
131
+ // }
132
+ if (path === 'workflows') {
133
+ return react_1.default.createElement(workflow_list_1.WorkflowList, null);
134
+ }
135
+ if (path.match(/^workflows\//)) {
136
+ const parts = path.split('/');
137
+ parts.shift();
138
+ const workflowId = parts[0];
139
+ return react_1.default.createElement(workflow_details_1.WorkflowDetails, { workflowId: workflowId });
140
+ }
141
+ if (path === 'tools') {
142
+ return react_1.default.createElement(tool_list_1.ToolList, null);
143
+ }
144
+ if (path.match(/^tools\/tests\//)) {
145
+ const parts = path.split('/');
146
+ parts.shift();
147
+ parts.shift();
148
+ const toolTestId = parts[0];
149
+ return react_1.default.createElement(tool_test_details_1.ToolTestDetails, { toolTestId: toolTestId });
150
+ }
151
+ if (path.match(/^tools\//)) {
152
+ const parts = path.split('/');
153
+ parts.shift();
154
+ const toolId = parts[0];
155
+ return react_1.default.createElement(tool_details_1.ToolDetails, { toolId: toolId });
156
+ }
157
+ if (path === 'events') {
158
+ return react_1.default.createElement(event_list_1.PeerEventList, null);
159
+ }
160
+ if (path.match(/^events\//)) {
161
+ const parts = path.split('/');
162
+ parts.shift();
163
+ const id = parts[0];
164
+ return react_1.default.createElement(event_details_1.PeerEventDetails, { peerEventTypeId: id });
165
+ }
166
+ if (path === 'packages') {
167
+ return react_1.default.createElement(package_list_1.PackageList, null);
168
+ }
169
+ if (path.match(/^packages\//)) {
170
+ const parts = path.split('/');
171
+ parts.shift();
172
+ const id = parts[0];
173
+ if (id.toLowerCase() === 'newlocal') {
174
+ return react_1.default.createElement(package_new_local_1.PackageNewLocal, null);
175
+ }
176
+ return react_1.default.createElement(package_details_1.PackageDetails, { packageId: id });
177
+ }
178
+ if (path === 'variables') {
179
+ return react_1.default.createElement(variable_list_1.VariableList, null);
180
+ }
181
+ if (path.match(/^variables\//)) {
182
+ const parts = path.split('/');
183
+ parts.shift();
184
+ const id = parts[0];
185
+ return react_1.default.createElement(variable_details_1.VariableDetails, { persistentVarId: id });
186
+ }
187
+ if (path === 'knowledge-values') {
188
+ return react_1.default.createElement(knowledge_value_list_1.KnowledgeValueList, null);
189
+ }
190
+ if (path.match(/^knowledge-values\/([a-zA-Z0-9]{25})/)) {
191
+ const parts = path.split('/');
192
+ parts.shift();
193
+ const id = parts[0];
194
+ return react_1.default.createElement(knowledge_value_details_1.KnowledgeValueDetails, { knowledgeValueId: id });
195
+ }
196
+ if (path === 'knowledge-frames') {
197
+ return react_1.default.createElement(knowledge_frame_list_1.KnowledgeFrameList, null);
198
+ }
199
+ if (path.match(/^knowledge-frames\//)) {
200
+ const parts = path.split('/');
201
+ parts.shift();
202
+ const id = parts[0];
203
+ return react_1.default.createElement(knowledge_frame_details_1.KnowledgeFrameDetails, { knowledgeFrameId: id });
204
+ }
205
+ if (path === 'peer-types') {
206
+ return react_1.default.createElement(peer_type_list_1.PeerTypeLists, null);
207
+ }
208
+ if (path.match(/^peer-types\//)) {
209
+ const parts = path.split('/');
210
+ parts.shift();
211
+ const id = parts[0];
212
+ return react_1.default.createElement(peer_type_details_1.PeerTypeDetails, { peerTypeId: id });
213
+ }
214
+ if (path === 'predicates') {
215
+ return react_1.default.createElement(predicate_list_1.PredicateList, null);
216
+ }
217
+ if (path.match(/^predicates\//)) {
218
+ const parts = path.split('/');
219
+ parts.shift();
220
+ const id = parts[0];
221
+ return react_1.default.createElement(predicate_details_1.PredicateDetails, { predicateId: id });
222
+ }
223
+ if (path.match(/^threads\//)) {
224
+ const parts = path.split('/');
225
+ parts.shift();
226
+ const threadId = parts[0];
227
+ return react_1.default.createElement(thread_message_list_1.ThreadMessageList, { threadId: threadId });
228
+ }
229
+ throw new Error('Unrecognized route: ' + originalPath);
230
+ }
231
+ catch (err) {
232
+ return (react_1.default.createElement("div", { className: "p-3" },
233
+ react_1.default.createElement("a", { href: '#threads' }, "Home"),
234
+ react_1.default.createElement("h3", null, "Error loading route"),
235
+ react_1.default.createElement("pre", null,
236
+ "route: ",
237
+ globals.mainContentPath() + '\n',
238
+ String(err))));
239
+ }
240
+ }
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { IDoc } from "@peers-app/peers-sdk";
3
+ export interface ISaveButtonProps {
4
+ doc: IDoc<any>;
5
+ onClick?: () => void | Promise<void>;
6
+ addActions?: ({
7
+ label: string;
8
+ onClick: () => void;
9
+ className?: string;
10
+ } | React.ReactNode)[];
11
+ noBuiltInActions?: boolean;
12
+ }
13
+ export declare const SaveButton: (props: ISaveButtonProps) => React.JSX.Element;