@peers-app/peers-ui 0.14.0 → 0.15.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 (438) hide show
  1. package/.github/workflows/publish.yml +8 -5
  2. package/babel.config.js +4 -4
  3. package/biome.json +191 -0
  4. package/dist/command-palette/command-palette-ui.d.ts +1 -2
  5. package/dist/command-palette/command-palette-ui.js +175 -244
  6. package/dist/command-palette/command-palette.js +65 -64
  7. package/dist/components/chat-overlay.d.ts +2 -2
  8. package/dist/components/chat-overlay.js +160 -217
  9. package/dist/components/checkbox.d.ts +5 -4
  10. package/dist/components/checkbox.js +4 -7
  11. package/dist/components/group-switcher.d.ts +1 -2
  12. package/dist/components/group-switcher.js +119 -159
  13. package/dist/components/input-date.d.ts +3 -3
  14. package/dist/components/input-date.js +6 -6
  15. package/dist/components/input-number.d.ts +7 -6
  16. package/dist/components/input-number.js +25 -20
  17. package/dist/components/input.d.ts +5 -4
  18. package/dist/components/input.js +4 -7
  19. package/dist/components/inverse-lazy-list.d.ts +3 -3
  20. package/dist/components/inverse-lazy-list.js +13 -47
  21. package/dist/components/io-schema-values.d.ts +5 -6
  22. package/dist/components/io-schema-values.js +28 -65
  23. package/dist/components/io-schema.d.ts +4 -5
  24. package/dist/components/io-schema.js +42 -79
  25. package/dist/components/lazy-list.d.ts +3 -3
  26. package/dist/components/lazy-list.js +38 -58
  27. package/dist/components/list-screen.d.ts +3 -8
  28. package/dist/components/list-screen.js +28 -23
  29. package/dist/components/loading-indicator.d.ts +1 -2
  30. package/dist/components/loading-indicator.js +2 -6
  31. package/dist/components/markdown-editor/autolink-plugin.js +5 -8
  32. package/dist/components/markdown-editor/editor-inline.d.ts +2 -3
  33. package/dist/components/markdown-editor/editor-inline.js +2 -6
  34. package/dist/components/markdown-editor/editor.d.ts +6 -6
  35. package/dist/components/markdown-editor/editor.js +9 -19
  36. package/dist/components/markdown-editor/markdown-plugin.d.ts +1 -1
  37. package/dist/components/markdown-editor/markdown-plugin.js +20 -21
  38. package/dist/components/markdown-editor/mention-node.d.ts +2 -2
  39. package/dist/components/markdown-editor/mention-node.js +24 -24
  40. package/dist/components/markdown-editor/mentions-plugin.d.ts +2 -2
  41. package/dist/components/markdown-editor/mentions-plugin.js +61 -62
  42. package/dist/components/markdown-editor/theme.js +28 -28
  43. package/dist/components/markdown-editor/toolbar.d.ts +2 -3
  44. package/dist/components/markdown-editor/toolbar.js +32 -49
  45. package/dist/components/markdown-with-mentions.d.ts +1 -1
  46. package/dist/components/markdown-with-mentions.js +43 -43
  47. package/dist/components/message-logs/message-logs.d.ts +1 -2
  48. package/dist/components/message-logs/message-logs.js +91 -116
  49. package/dist/components/messages/avatar.d.ts +3 -4
  50. package/dist/components/messages/avatar.js +37 -46
  51. package/dist/components/messages/channel-message-list.d.ts +5 -6
  52. package/dist/components/messages/channel-message-list.js +34 -34
  53. package/dist/components/messages/channel-view.d.ts +1 -2
  54. package/dist/components/messages/channel-view.js +23 -57
  55. package/dist/components/messages/message-compose.d.ts +3 -4
  56. package/dist/components/messages/message-compose.js +27 -38
  57. package/dist/components/messages/message-display.d.ts +2 -3
  58. package/dist/components/messages/message-display.js +42 -95
  59. package/dist/components/messages/thread-message-list.d.ts +4 -5
  60. package/dist/components/messages/thread-message-list.js +29 -29
  61. package/dist/components/router.d.ts +1 -2
  62. package/dist/components/router.js +58 -66
  63. package/dist/components/save-button.d.ts +3 -3
  64. package/dist/components/save-button.js +23 -33
  65. package/dist/components/sortable-list.d.ts +11 -12
  66. package/dist/components/sortable-list.js +42 -22
  67. package/dist/components/tabs.d.ts +3 -3
  68. package/dist/components/tabs.js +16 -47
  69. package/dist/components/tooltip.d.ts +4 -4
  70. package/dist/components/tooltip.js +4 -9
  71. package/dist/components/trust-level-badge.d.ts +2 -3
  72. package/dist/components/trust-level-badge.js +16 -16
  73. package/dist/components/trust-level-dropdown.d.ts +3 -4
  74. package/dist/components/trust-level-dropdown.js +32 -55
  75. package/dist/components/typeahead.d.ts +3 -3
  76. package/dist/components/typeahead.js +48 -89
  77. package/dist/components/voice-indicator.d.ts +2 -2
  78. package/dist/components/voice-indicator.js +93 -106
  79. package/dist/components/voice-subscribe-events.d.ts +32 -0
  80. package/dist/components/voice-subscribe-events.js +2 -0
  81. package/dist/globals.d.ts +3 -5
  82. package/dist/globals.js +22 -33
  83. package/dist/hooks.d.ts +5 -5
  84. package/dist/hooks.js +22 -12
  85. package/dist/hooks.test.js +129 -145
  86. package/dist/index.d.ts +9 -8
  87. package/dist/index.js +13 -12
  88. package/dist/mention-configs.d.ts +2 -2
  89. package/dist/mention-configs.js +55 -42
  90. package/dist/screens/assistants/assistant-config.d.ts +2 -3
  91. package/dist/screens/assistants/assistant-config.js +9 -22
  92. package/dist/screens/assistants/assistant-details.d.ts +1 -2
  93. package/dist/screens/assistants/assistant-details.js +13 -28
  94. package/dist/screens/assistants/assistant-info.d.ts +2 -3
  95. package/dist/screens/assistants/assistant-info.js +3 -17
  96. package/dist/screens/assistants/assistant-list.d.ts +1 -2
  97. package/dist/screens/assistants/assistant-list.js +15 -56
  98. package/dist/screens/assistants/assistant-tools.d.ts +2 -3
  99. package/dist/screens/assistants/assistant-tools.js +10 -24
  100. package/dist/screens/console-logs/console-logs-list.d.ts +1 -2
  101. package/dist/screens/console-logs/console-logs-list.js +130 -134
  102. package/dist/screens/console-logs/log-display.d.ts +2 -3
  103. package/dist/screens/console-logs/log-display.js +40 -42
  104. package/dist/screens/console-logs/log-filters.d.ts +1 -2
  105. package/dist/screens/console-logs/log-filters.js +2 -24
  106. package/dist/screens/console-logs/mobile-log-card.d.ts +2 -3
  107. package/dist/screens/console-logs/mobile-log-card.js +64 -67
  108. package/dist/screens/console-logs/resizable-table-header.d.ts +1 -2
  109. package/dist/screens/console-logs/resizable-table-header.js +31 -67
  110. package/dist/screens/contacts/contact-details.d.ts +1 -2
  111. package/dist/screens/contacts/contact-details.js +16 -46
  112. package/dist/screens/contacts/contact-list.d.ts +1 -2
  113. package/dist/screens/contacts/contact-list.js +44 -103
  114. package/dist/screens/contacts/index.d.ts +4 -4
  115. package/dist/screens/contacts/index.js +1 -1
  116. package/dist/screens/contacts/user-connect.d.ts +1 -2
  117. package/dist/screens/contacts/user-connect.js +85 -186
  118. package/dist/screens/data-explorer/data-explorer.d.ts +1 -2
  119. package/dist/screens/data-explorer/data-explorer.js +61 -181
  120. package/dist/screens/data-explorer/index.d.ts +2 -2
  121. package/dist/screens/data-explorer/query-executor.d.ts +1 -2
  122. package/dist/screens/data-explorer/query-executor.js +56 -166
  123. package/dist/screens/groups/group-details.d.ts +1 -2
  124. package/dist/screens/groups/group-details.js +27 -122
  125. package/dist/screens/groups/group-invite-listener.d.ts +2 -3
  126. package/dist/screens/groups/group-invite-listener.js +8 -104
  127. package/dist/screens/groups/group-list.d.ts +1 -2
  128. package/dist/screens/groups/group-list.js +56 -133
  129. package/dist/screens/groups/group-members.d.ts +2 -3
  130. package/dist/screens/groups/group-members.js +62 -132
  131. package/dist/screens/groups/index.d.ts +4 -4
  132. package/dist/screens/groups/index.js +1 -1
  133. package/dist/screens/join-group/index.d.ts +2 -2
  134. package/dist/screens/join-group/join-group.d.ts +1 -2
  135. package/dist/screens/join-group/join-group.js +9 -109
  136. package/dist/screens/network-viewer/connection-troubleshooter.d.ts +2 -3
  137. package/dist/screens/network-viewer/connection-troubleshooter.js +89 -193
  138. package/dist/screens/network-viewer/cpu-usage-graph.d.ts +1 -2
  139. package/dist/screens/network-viewer/cpu-usage-graph.js +60 -99
  140. package/dist/screens/network-viewer/device-details-modal.d.ts +1 -2
  141. package/dist/screens/network-viewer/device-details-modal.js +25 -177
  142. package/dist/screens/network-viewer/group-details-modal.d.ts +1 -2
  143. package/dist/screens/network-viewer/group-details-modal.js +31 -142
  144. package/dist/screens/network-viewer/index.d.ts +4 -4
  145. package/dist/screens/network-viewer/index.js +3 -3
  146. package/dist/screens/network-viewer/network-viewer-ipc.d.ts +22 -0
  147. package/dist/screens/network-viewer/network-viewer-ipc.js +6 -0
  148. package/dist/screens/network-viewer/network-viewer.d.ts +1 -2
  149. package/dist/screens/network-viewer/network-viewer.js +91 -296
  150. package/dist/screens/network-viewer/usage-graph.d.ts +1 -2
  151. package/dist/screens/network-viewer/usage-graph.js +78 -110
  152. package/dist/screens/packages/package-details.d.ts +1 -2
  153. package/dist/screens/packages/package-details.js +35 -41
  154. package/dist/screens/packages/package-info.d.ts +2 -2
  155. package/dist/screens/packages/package-info.js +33 -86
  156. package/dist/screens/packages/package-list.d.ts +1 -2
  157. package/dist/screens/packages/package-list.js +42 -106
  158. package/dist/screens/packages/package-new-local.d.ts +1 -2
  159. package/dist/screens/packages/package-new-local.js +13 -19
  160. package/dist/screens/packages/package-versions.d.ts +2 -3
  161. package/dist/screens/packages/package-versions.js +29 -96
  162. package/dist/screens/peer-types/peer-type-details.d.ts +3 -4
  163. package/dist/screens/peer-types/peer-type-details.js +26 -78
  164. package/dist/screens/peer-types/peer-type-list.d.ts +1 -2
  165. package/dist/screens/peer-types/peer-type-list.js +13 -24
  166. package/dist/screens/search/global-search.d.ts +1 -2
  167. package/dist/screens/search/global-search.js +104 -182
  168. package/dist/screens/settings/color-mode-dropdown.d.ts +3 -4
  169. package/dist/screens/settings/color-mode-dropdown.js +18 -37
  170. package/dist/screens/settings/settings-page.d.ts +1 -1
  171. package/dist/screens/settings/settings-page.js +86 -213
  172. package/dist/screens/settings/voice-settings-agent.d.ts +1 -1
  173. package/dist/screens/settings/voice-settings-agent.js +7 -44
  174. package/dist/screens/settings/voice-settings-api-keys.d.ts +2 -2
  175. package/dist/screens/settings/voice-settings-api-keys.js +2 -29
  176. package/dist/screens/settings/voice-settings-output.d.ts +2 -2
  177. package/dist/screens/settings/voice-settings-output.js +2 -40
  178. package/dist/screens/settings/voice-settings-providers.d.ts +2 -2
  179. package/dist/screens/settings/voice-settings-providers.js +2 -19
  180. package/dist/screens/settings/voice-settings-types.d.ts +4 -4
  181. package/dist/screens/settings/voice-settings-types.js +31 -31
  182. package/dist/screens/settings/voice-settings-wake-word.d.ts +2 -2
  183. package/dist/screens/settings/voice-settings-wake-word.js +2 -33
  184. package/dist/screens/settings/voice-settings.d.ts +1 -1
  185. package/dist/screens/settings/voice-settings.js +35 -112
  186. package/dist/screens/setup-user.d.ts +1 -2
  187. package/dist/screens/setup-user.js +38 -116
  188. package/dist/screens/tools/tool-code.d.ts +2 -3
  189. package/dist/screens/tools/tool-code.js +9 -13
  190. package/dist/screens/tools/tool-details.d.ts +1 -2
  191. package/dist/screens/tools/tool-details.js +26 -39
  192. package/dist/screens/tools/tool-info.d.ts +2 -3
  193. package/dist/screens/tools/tool-info.js +9 -48
  194. package/dist/screens/tools/tool-list.d.ts +1 -2
  195. package/dist/screens/tools/tool-list.js +33 -65
  196. package/dist/screens/tools/tool-schema.d.ts +2 -3
  197. package/dist/screens/tools/tool-schema.js +2 -13
  198. package/dist/screens/tools/tool-test-details.d.ts +1 -2
  199. package/dist/screens/tools/tool-test-details.js +12 -28
  200. package/dist/screens/tools/tool-test-list.d.ts +1 -2
  201. package/dist/screens/tools/tool-test-list.js +17 -56
  202. package/dist/screens/variables/variable-details.d.ts +1 -2
  203. package/dist/screens/variables/variable-details.js +19 -86
  204. package/dist/screens/variables/variable-list.d.ts +1 -2
  205. package/dist/screens/variables/variable-list.js +16 -27
  206. package/dist/screens/welcome-modal.d.ts +1 -2
  207. package/dist/screens/welcome-modal.js +44 -111
  208. package/dist/screens/workflows/workflow-details.d.ts +1 -2
  209. package/dist/screens/workflows/workflow-details.js +17 -31
  210. package/dist/screens/workflows/workflow-info.d.ts +2 -3
  211. package/dist/screens/workflows/workflow-info.js +2 -9
  212. package/dist/screens/workflows/workflow-instructions.d.ts +2 -3
  213. package/dist/screens/workflows/workflow-instructions.js +23 -55
  214. package/dist/screens/workflows/workflow-list.d.ts +1 -2
  215. package/dist/screens/workflows/workflow-list.js +23 -62
  216. package/dist/setupTests.d.ts +1 -1
  217. package/dist/setupTests.js +10 -11
  218. package/dist/system-apps/assistants.app.d.ts +1 -1
  219. package/dist/system-apps/assistants.app.js +3 -3
  220. package/dist/system-apps/console-logs.app.d.ts +1 -1
  221. package/dist/system-apps/console-logs.app.js +3 -3
  222. package/dist/system-apps/contacts.app.d.ts +1 -1
  223. package/dist/system-apps/contacts.app.js +4 -4
  224. package/dist/system-apps/data-explorer.app.d.ts +1 -1
  225. package/dist/system-apps/data-explorer.app.js +4 -4
  226. package/dist/system-apps/groups.app.d.ts +1 -1
  227. package/dist/system-apps/groups.app.js +4 -4
  228. package/dist/system-apps/index.d.ts +17 -17
  229. package/dist/system-apps/index.js +52 -52
  230. package/dist/system-apps/join-group.app.d.ts +1 -1
  231. package/dist/system-apps/join-group.app.js +4 -4
  232. package/dist/system-apps/mobile-settings.app.d.ts +1 -1
  233. package/dist/system-apps/mobile-settings.app.js +3 -3
  234. package/dist/system-apps/network-viewer.app.d.ts +1 -1
  235. package/dist/system-apps/network-viewer.app.js +4 -4
  236. package/dist/system-apps/packages.app.d.ts +1 -1
  237. package/dist/system-apps/packages.app.js +3 -3
  238. package/dist/system-apps/search.app.d.ts +1 -1
  239. package/dist/system-apps/search.app.js +4 -4
  240. package/dist/system-apps/settings.app.d.ts +1 -1
  241. package/dist/system-apps/settings.app.js +3 -3
  242. package/dist/system-apps/threads.app.d.ts +1 -1
  243. package/dist/system-apps/threads.app.js +3 -3
  244. package/dist/system-apps/tools.app.d.ts +1 -1
  245. package/dist/system-apps/tools.app.js +3 -3
  246. package/dist/system-apps/types.app.d.ts +1 -1
  247. package/dist/system-apps/types.app.js +3 -3
  248. package/dist/system-apps/variables.app.d.ts +1 -1
  249. package/dist/system-apps/variables.app.js +3 -3
  250. package/dist/system-apps/workflows.app.d.ts +1 -1
  251. package/dist/system-apps/workflows.app.js +3 -3
  252. package/dist/tabs-layout/tabs-layout.d.ts +2 -3
  253. package/dist/tabs-layout/tabs-layout.js +215 -246
  254. package/dist/tabs-layout/tabs-state.d.ts +2 -2
  255. package/dist/tabs-layout/tabs-state.js +73 -61
  256. package/dist/ui-defaults/index.d.ts +2 -2
  257. package/dist/ui-defaults/list-screen.d.ts +2 -3
  258. package/dist/ui-defaults/list-screen.js +33 -37
  259. package/dist/ui-defaults/markdown-field.js +24 -56
  260. package/dist/ui-router/routes-loader.d.ts +1 -1
  261. package/dist/ui-router/routes-loader.js +17 -13
  262. package/dist/ui-router/ui-loader.d.ts +6 -6
  263. package/dist/ui-router/ui-loader.js +172 -268
  264. package/dist/utils.js +49 -39
  265. package/jest.config.js +16 -16
  266. package/package.json +16 -14
  267. package/src/command-palette/command-palette-ui.tsx +261 -237
  268. package/src/command-palette/command-palette.ts +81 -78
  269. package/src/components/chat-overlay.tsx +366 -261
  270. package/src/components/checkbox.tsx +15 -12
  271. package/src/components/group-switcher.tsx +150 -105
  272. package/src/components/input-date.tsx +17 -16
  273. package/src/components/input-number.tsx +47 -31
  274. package/src/components/input.tsx +15 -12
  275. package/src/components/inverse-lazy-list.tsx +14 -13
  276. package/src/components/io-schema-values.tsx +51 -69
  277. package/src/components/io-schema.tsx +94 -69
  278. package/src/components/lazy-list.tsx +51 -34
  279. package/src/components/list-screen.tsx +51 -35
  280. package/src/components/loading-indicator.tsx +2 -4
  281. package/src/components/markdown-editor/autolink-plugin.tsx +4 -11
  282. package/src/components/markdown-editor/editor-inline.tsx +3 -4
  283. package/src/components/markdown-editor/editor.tsx +53 -51
  284. package/src/components/markdown-editor/markdown-plugin.tsx +48 -40
  285. package/src/components/markdown-editor/mention-node.ts +39 -38
  286. package/src/components/markdown-editor/mentions-plugin.tsx +99 -101
  287. package/src/components/markdown-editor/theme.ts +28 -29
  288. package/src/components/markdown-editor/toolbar.tsx +53 -47
  289. package/src/components/markdown-with-mentions.tsx +56 -46
  290. package/src/components/message-logs/message-logs.tsx +225 -165
  291. package/src/components/messages/avatar.tsx +70 -52
  292. package/src/components/messages/channel-message-list.tsx +80 -68
  293. package/src/components/messages/channel-view.tsx +34 -33
  294. package/src/components/messages/message-compose.tsx +84 -67
  295. package/src/components/messages/message-display.tsx +103 -89
  296. package/src/components/messages/thread-message-list.tsx +53 -44
  297. package/src/components/router.tsx +42 -43
  298. package/src/components/save-button.tsx +43 -39
  299. package/src/components/sortable-list.tsx +77 -49
  300. package/src/components/tabs.tsx +31 -31
  301. package/src/components/tooltip.tsx +21 -28
  302. package/src/components/trust-level-badge.tsx +15 -11
  303. package/src/components/trust-level-dropdown.tsx +49 -19
  304. package/src/components/typeahead.tsx +57 -59
  305. package/src/components/voice-indicator.tsx +158 -141
  306. package/src/components/voice-subscribe-events.ts +20 -0
  307. package/src/globals.tsx +42 -40
  308. package/src/hooks.test.tsx +141 -134
  309. package/src/hooks.ts +80 -48
  310. package/src/index.tsx +17 -10
  311. package/src/mention-configs.ts +122 -68
  312. package/src/screens/assistants/assistant-config.tsx +28 -18
  313. package/src/screens/assistants/assistant-details.tsx +35 -36
  314. package/src/screens/assistants/assistant-info.tsx +16 -11
  315. package/src/screens/assistants/assistant-list.tsx +37 -34
  316. package/src/screens/assistants/assistant-tools.tsx +41 -20
  317. package/src/screens/console-logs/console-logs-list.tsx +173 -140
  318. package/src/screens/console-logs/log-display.tsx +65 -38
  319. package/src/screens/console-logs/log-filters.tsx +4 -3
  320. package/src/screens/console-logs/mobile-log-card.tsx +78 -71
  321. package/src/screens/console-logs/resizable-table-header.tsx +29 -21
  322. package/src/screens/contacts/contact-details.tsx +29 -30
  323. package/src/screens/contacts/contact-list.tsx +71 -60
  324. package/src/screens/contacts/index.ts +5 -5
  325. package/src/screens/contacts/user-connect.tsx +177 -171
  326. package/src/screens/data-explorer/data-explorer.tsx +134 -98
  327. package/src/screens/data-explorer/index.ts +2 -3
  328. package/src/screens/data-explorer/query-executor.tsx +90 -80
  329. package/src/screens/groups/group-details.tsx +120 -101
  330. package/src/screens/groups/group-invite-listener.tsx +34 -37
  331. package/src/screens/groups/group-list.tsx +119 -103
  332. package/src/screens/groups/group-members.tsx +225 -164
  333. package/src/screens/groups/index.ts +5 -6
  334. package/src/screens/join-group/index.ts +2 -2
  335. package/src/screens/join-group/join-group.tsx +41 -39
  336. package/src/screens/network-viewer/connection-troubleshooter.tsx +145 -104
  337. package/src/screens/network-viewer/cpu-usage-graph.tsx +39 -43
  338. package/src/screens/network-viewer/device-details-modal.tsx +46 -59
  339. package/src/screens/network-viewer/group-details-modal.tsx +68 -49
  340. package/src/screens/network-viewer/index.ts +4 -5
  341. package/src/screens/network-viewer/network-viewer-ipc.ts +23 -0
  342. package/src/screens/network-viewer/network-viewer.tsx +261 -236
  343. package/src/screens/network-viewer/usage-graph.tsx +57 -49
  344. package/src/screens/packages/package-details.tsx +43 -35
  345. package/src/screens/packages/package-info.tsx +107 -66
  346. package/src/screens/packages/package-list.tsx +175 -98
  347. package/src/screens/packages/package-new-local.tsx +28 -26
  348. package/src/screens/packages/package-versions.tsx +102 -77
  349. package/src/screens/peer-types/peer-type-details.tsx +60 -50
  350. package/src/screens/peer-types/peer-type-list.tsx +20 -30
  351. package/src/screens/search/global-search.tsx +153 -137
  352. package/src/screens/settings/color-mode-dropdown.tsx +52 -35
  353. package/src/screens/settings/settings-page.tsx +215 -141
  354. package/src/screens/settings/voice-settings-agent.tsx +13 -12
  355. package/src/screens/settings/voice-settings-api-keys.tsx +14 -12
  356. package/src/screens/settings/voice-settings-output.tsx +12 -11
  357. package/src/screens/settings/voice-settings-providers.tsx +7 -3
  358. package/src/screens/settings/voice-settings-types.ts +52 -49
  359. package/src/screens/settings/voice-settings-wake-word.tsx +25 -9
  360. package/src/screens/settings/voice-settings.tsx +66 -43
  361. package/src/screens/setup-user.tsx +88 -41
  362. package/src/screens/tools/tool-code.tsx +12 -17
  363. package/src/screens/tools/tool-details.tsx +28 -28
  364. package/src/screens/tools/tool-info.tsx +14 -19
  365. package/src/screens/tools/tool-list.tsx +58 -40
  366. package/src/screens/tools/tool-schema.tsx +16 -9
  367. package/src/screens/tools/tool-test-details.tsx +11 -22
  368. package/src/screens/tools/tool-test-list.tsx +29 -30
  369. package/src/screens/variables/variable-details.tsx +63 -51
  370. package/src/screens/variables/variable-list.tsx +29 -30
  371. package/src/screens/welcome-modal.tsx +68 -48
  372. package/src/screens/workflows/workflow-details.tsx +40 -30
  373. package/src/screens/workflows/workflow-info.tsx +4 -11
  374. package/src/screens/workflows/workflow-instructions.tsx +35 -28
  375. package/src/screens/workflows/workflow-list.tsx +50 -40
  376. package/src/setupTests.ts +14 -13
  377. package/src/system-apps/assistants.app.ts +5 -5
  378. package/src/system-apps/console-logs.app.ts +4 -4
  379. package/src/system-apps/contacts.app.ts +6 -6
  380. package/src/system-apps/data-explorer.app.ts +5 -5
  381. package/src/system-apps/groups.app.ts +6 -6
  382. package/src/system-apps/index.ts +49 -49
  383. package/src/system-apps/join-group.app.ts +5 -5
  384. package/src/system-apps/mobile-settings.app.ts +4 -5
  385. package/src/system-apps/network-viewer.app.ts +5 -5
  386. package/src/system-apps/packages.app.ts +5 -5
  387. package/src/system-apps/search.app.ts +6 -6
  388. package/src/system-apps/settings.app.ts +5 -5
  389. package/src/system-apps/threads.app.ts +5 -5
  390. package/src/system-apps/tools.app.ts +5 -5
  391. package/src/system-apps/types.app.ts +5 -5
  392. package/src/system-apps/variables.app.ts +5 -5
  393. package/src/system-apps/workflows.app.ts +5 -5
  394. package/src/tabs-layout/tabs-layout.tsx +345 -254
  395. package/src/tabs-layout/tabs-state.ts +100 -81
  396. package/src/ui-defaults/index.ts +2 -3
  397. package/src/ui-defaults/list-screen.tsx +45 -40
  398. package/src/ui-defaults/markdown-field.tsx +22 -26
  399. package/src/ui-router/routes-loader.ts +40 -24
  400. package/src/ui-router/ui-loader.tsx +312 -214
  401. package/src/utils.ts +68 -81
  402. package/tsconfig.json +5 -10
  403. package/dist/components/input-datetime.d.ts +0 -7
  404. package/dist/components/input-datetime.js +0 -35
  405. package/dist/components/lazy-sortable-list.d.ts +0 -29
  406. package/dist/components/lazy-sortable-list.js +0 -12
  407. package/dist/components/left-bar.d.ts +0 -5
  408. package/dist/components/left-bar.js +0 -207
  409. package/dist/components/main-content-container.d.ts +0 -2
  410. package/dist/components/main-content-container.js +0 -92
  411. package/dist/components/messages/thread-view.d.ts +0 -6
  412. package/dist/components/messages/thread-view.js +0 -174
  413. package/dist/components/off-canvas.d.ts +0 -13
  414. package/dist/components/off-canvas.js +0 -89
  415. package/dist/components/text-list-editor.tsx/text-list-editor.d.ts +0 -6
  416. package/dist/components/text-list-editor.tsx/text-list-editor.js +0 -13
  417. package/dist/components/top-bar.d.ts +0 -2
  418. package/dist/components/top-bar.js +0 -51
  419. package/dist/components/typeahead/mentions-plugin.d.ts +0 -7
  420. package/dist/components/typeahead/mentions-plugin.js +0 -203
  421. package/dist/components/typeahead/typeahead-editor.d.ts +0 -15
  422. package/dist/components/typeahead/typeahead-editor.js +0 -134
  423. package/dist/components/typeahead/typeahead.d.ts +0 -12
  424. package/dist/components/typeahead/typeahead.js +0 -94
  425. package/dist/screens/profile.d.ts +0 -2
  426. package/dist/screens/profile.js +0 -76
  427. package/src/components/input-datetime.tsx +0 -41
  428. package/src/components/lazy-sortable-list.tsx +0 -51
  429. package/src/components/left-bar.tsx +0 -322
  430. package/src/components/main-content-container.tsx +0 -79
  431. package/src/components/messages/thread-view.tsx +0 -214
  432. package/src/components/off-canvas.tsx +0 -83
  433. package/src/components/text-list-editor.tsx/text-list-editor.tsx +0 -13
  434. package/src/components/top-bar.tsx +0 -119
  435. package/src/components/typeahead/mentions-plugin.tsx +0 -265
  436. package/src/components/typeahead/typeahead-editor.tsx +0 -140
  437. package/src/components/typeahead/typeahead.tsx +0 -77
  438. package/src/screens/profile.tsx +0 -75
@@ -1,41 +1,9 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.PackageList = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
37
5
  const peers_sdk_1 = require("@peers-app/peers-sdk");
38
- const react_1 = __importStar(require("react"));
6
+ const react_1 = require("react");
39
7
  const input_1 = require("../../components/input");
40
8
  const lazy_list_1 = require("../../components/lazy-list");
41
9
  const loading_indicator_1 = require("../../components/loading-indicator");
@@ -43,17 +11,17 @@ const tooltip_1 = require("../../components/tooltip");
43
11
  const globals_1 = require("../../globals");
44
12
  const hooks_1 = require("../../hooks");
45
13
  const ui_loader_1 = require("../../ui-router/ui-loader");
46
- const PackageVersionBadge = ({ activePackageVersionId, packageId, followVersionTags }) => {
14
+ const PackageVersionBadge = ({ activePackageVersionId, packageId, followVersionTags, }) => {
47
15
  const data = (0, hooks_1.usePromise)(async () => {
48
16
  if (!activePackageVersionId)
49
17
  return null;
50
18
  const all = await (0, peers_sdk_1.PackageVersions)().list({ packageId });
51
- const active = all.find(v => v.packageVersionId === activePackageVersionId);
19
+ const active = all.find((v) => v.packageVersionId === activePackageVersionId);
52
20
  if (!active)
53
21
  return null;
54
22
  let newerLevel = null;
55
23
  if (active.version) {
56
- const parse = (v) => v.split('.').map(Number);
24
+ const parse = (v) => v.split(".").map(Number);
57
25
  const [aMaj, aMin, aPat] = parse(active.version);
58
26
  for (const v of all) {
59
27
  if (!v.version || v.packageVersionId === activePackageVersionId)
@@ -62,19 +30,23 @@ const PackageVersionBadge = ({ activePackageVersionId, packageId, followVersionT
62
30
  continue;
63
31
  const [maj, min, pat] = parse(v.version);
64
32
  if (maj > aMaj) {
65
- newerLevel = 'major';
33
+ newerLevel = "major";
66
34
  break;
67
35
  }
68
36
  if (maj === aMaj && min > aMin) {
69
- newerLevel = 'minor';
37
+ newerLevel = "minor";
70
38
  continue;
71
39
  }
72
40
  if (maj === aMaj && min === aMin && pat > aPat && !newerLevel) {
73
- newerLevel = 'patch';
41
+ newerLevel = "patch";
74
42
  continue;
75
43
  }
76
- if (maj === aMaj && min === aMin && pat === aPat && (v.createdAt || '') > (active.createdAt || '') && !newerLevel) {
77
- newerLevel = 'patch';
44
+ if (maj === aMaj &&
45
+ min === aMin &&
46
+ pat === aPat &&
47
+ (v.createdAt || "") > (active.createdAt || "") &&
48
+ !newerLevel) {
49
+ newerLevel = "patch";
78
50
  }
79
51
  }
80
52
  }
@@ -83,39 +55,32 @@ const PackageVersionBadge = ({ activePackageVersionId, packageId, followVersionT
83
55
  if (!data)
84
56
  return null;
85
57
  const { pv, newerLevel } = data;
86
- return (react_1.default.createElement("span", { className: "ms-2" },
87
- react_1.default.createElement("small", { className: "text-muted" },
88
- "v",
89
- pv.version),
90
- pv.versionTag && (react_1.default.createElement("span", { className: `badge ms-1 ${pv.versionTag.startsWith('beta') ? 'text-bg-warning' : 'text-bg-info'}`, style: { fontSize: '0.65em' } }, pv.versionTag)),
91
- newerLevel ? (react_1.default.createElement("span", { className: `badge ms-1 text-bg-${newerLevel === 'major' ? 'danger' : newerLevel === 'minor' ? 'warning' : 'info'}`, style: { fontSize: '0.65em' } },
92
- newerLevel,
93
- " update")) : (react_1.default.createElement("span", { className: "badge ms-1 text-bg-success", style: { fontSize: '0.65em' } }, "up to date"))));
58
+ return ((0, jsx_runtime_1.jsxs)("span", { className: "ms-2", children: [(0, jsx_runtime_1.jsxs)("small", { className: "text-muted", children: ["v", pv.version] }), pv.versionTag && ((0, jsx_runtime_1.jsx)("span", { className: `badge ms-1 ${pv.versionTag.startsWith("beta") ? "text-bg-warning" : "text-bg-info"}`, style: { fontSize: "0.65em" }, children: pv.versionTag })), newerLevel ? ((0, jsx_runtime_1.jsxs)("span", { className: `badge ms-1 text-bg-${newerLevel === "major" ? "danger" : newerLevel === "minor" ? "warning" : "info"}`, style: { fontSize: "0.65em" }, children: [newerLevel, " update"] })) : ((0, jsx_runtime_1.jsx)("span", { className: "badge ms-1 text-bg-success", style: { fontSize: "0.65em" }, children: "up to date" }))] }));
94
59
  };
95
60
  const PackageList = () => {
96
- const [searchTextObs] = (0, react_1.useState)(() => (0, peers_sdk_1.observable)(''));
61
+ const [searchTextObs] = (0, react_1.useState)(() => (0, peers_sdk_1.observable)(""));
97
62
  const [searchText] = (0, hooks_1.useObservable)(searchTextObs);
98
63
  const addingPackage = (0, hooks_1.useObservableState)(false);
99
64
  const [cursorObs] = (0, react_1.useState)(() => (0, peers_sdk_1.observable)());
100
- async function newCursor() {
65
+ const newCursor = (0, react_1.useCallback)(async () => {
101
66
  const cursor = await (0, peers_sdk_1.Packages)().cursor({
102
67
  $or: [
103
68
  { name: { $matchWords: searchText } },
104
69
  { description: { $matchWords: searchText } },
105
70
  { remoteRepo: { $matchWords: searchText } },
106
- ]
107
- }, { sortBy: ['-packageId'] });
71
+ ],
72
+ }, { sortBy: ["-packageId"] });
108
73
  cursorObs(cursor);
109
74
  return cursor;
110
- }
75
+ }, [searchText, cursorObs]);
111
76
  (0, react_1.useEffect)(() => {
112
- newCursor();
113
- }, [searchText]);
77
+ void newCursor();
78
+ }, [newCursor]);
114
79
  async function loadMore(existing) {
115
- let moreMatches = [];
116
- let cursor = cursorObs() || await newCursor();
80
+ const moreMatches = [];
81
+ const cursor = cursorObs() || (await newCursor());
117
82
  for await (const nextRecord of cursor) {
118
- if (existing.find(e => e.packageId === nextRecord.packageId))
83
+ if (existing.find((e) => e.packageId === nextRecord.packageId))
119
84
  continue;
120
85
  moreMatches.push(nextRecord);
121
86
  if (searchText.length && moreMatches.length > 5)
@@ -135,7 +100,7 @@ const PackageList = () => {
135
100
  if (!name)
136
101
  return;
137
102
  // check if name is a remote repo url
138
- if (name.startsWith('http') || name.endsWith('.git')) {
103
+ if (name.startsWith("http") || name.endsWith(".git")) {
139
104
  if (!confirm(`Add remote package: ${name}`))
140
105
  return;
141
106
  try {
@@ -147,10 +112,10 @@ const PackageList = () => {
147
112
  }
148
113
  }
149
114
  catch (err) {
150
- let errMessage = err?.message || err;
115
+ let errMessage = err instanceof Error ? err.message : String(err);
151
116
  // replace all whitespace with a single space for confirm dialog
152
- errMessage = errMessage.replace(/\s+/g, ' ');
153
- confirm('Error adding remote package: ' + errMessage);
117
+ errMessage = errMessage.replace(/\s+/g, " ");
118
+ confirm(`Error adding remote package: ${errMessage}`);
154
119
  }
155
120
  finally {
156
121
  addingPackage(false);
@@ -168,59 +133,30 @@ const PackageList = () => {
168
133
  }
169
134
  }
170
135
  catch (err) {
171
- confirm('Error creating package: ' + err);
136
+ confirm(`Error creating package: ${err instanceof Error ? err.message : String(err)}`);
172
137
  }
173
138
  finally {
174
139
  addingPackage(false);
175
140
  }
176
141
  }
177
142
  if (addingPackage()) {
178
- return (react_1.default.createElement("div", null,
179
- react_1.default.createElement("div", { className: 'container-fluid d-flex justify-content-center mt-5' },
180
- react_1.default.createElement("i", { className: "bi bi-box-seam" }),
181
- "\u00A0 Adding Package"),
182
- react_1.default.createElement("div", { className: 'container-fluid d-flex justify-content-center mt-2' },
183
- react_1.default.createElement("div", { className: "progress", role: "progressbar", "aria-label": "Animated striped example", "aria-valuenow": 100, "aria-valuemin": 0, "aria-valuemax": 100 },
184
- react_1.default.createElement("div", { className: "progress-bar progress-bar-striped progress-bar-animated", style: { width: 150 } })))));
143
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { className: "container-fluid d-flex justify-content-center mt-5", children: [(0, jsx_runtime_1.jsx)("i", { className: "bi bi-box-seam" }), "\u00A0 Adding Package"] }), (0, jsx_runtime_1.jsx)("div", { className: "container-fluid d-flex justify-content-center mt-2", children: (0, jsx_runtime_1.jsx)("div", { className: "progress", role: "progressbar", "aria-label": "Animated striped example", "aria-valuenow": 100, "aria-valuemin": 0, "aria-valuemax": 100, children: (0, jsx_runtime_1.jsx)("div", { className: "progress-bar progress-bar-striped progress-bar-animated", style: { width: 150 } }) }) })] }));
185
144
  }
186
- return (react_1.default.createElement("div", { className: 'container-fluid' },
187
- react_1.default.createElement("div", { className: "input-group mt-3 mb-3" },
188
- react_1.default.createElement(input_1.Input, { value: searchTextObs, className: "form-control", placeholder: "Search, add, or create package", autoFocus: (0, globals_1.isDesktop)() ? true : false, onKeyUp: evt => searchSubmit(evt) }),
189
- react_1.default.createElement("button", { className: "btn btn-outline-secondary dropdown-toggle sm", type: "button", "data-bs-toggle": "dropdown", "aria-expanded": "false" },
190
- react_1.default.createElement("i", { className: "bi bi-plus-lg" })),
191
- react_1.default.createElement("ul", { className: "dropdown-menu dropdown-menu-end" },
192
- react_1.default.createElement("li", null,
193
- react_1.default.createElement("a", { className: "dropdown-item", href: "#packages/newlocal" }, "New Local Package")),
194
- react_1.default.createElement("li", null,
195
- react_1.default.createElement("a", { className: "dropdown-item disabled", href: "#" }, "Add Local Package")),
196
- react_1.default.createElement("li", null,
197
- react_1.default.createElement("a", { className: "dropdown-item disabled", href: "#" }, "Add Remote Package")),
198
- react_1.default.createElement("li", null,
199
- react_1.default.createElement("hr", { className: "dropdown-divider" })),
200
- react_1.default.createElement("li", null,
201
- react_1.default.createElement("a", { className: "dropdown-item", onClick: () => peers_sdk_1.rpcServerCalls.openPath(peers_sdk_1.packagesRootDir), style: { cursor: 'pointer' } }, "Open Packages Directory")))),
202
- react_1.default.createElement("div", { className: "peers-list-container" },
203
- react_1.default.createElement(lazy_list_1.LazyList, { resetTrigger: searchText, loadMore: loadMore, scrollThreshold: 0.6, renderItems: (packages) => {
204
- return packages.map(pkg => {
205
- return (react_1.default.createElement("div", { key: pkg.packageId, className: 'container-fluid pb-4' },
206
- react_1.default.createElement("i", { className: "bi bi-box-fill" }),
207
- "\u00A0\u00A0",
208
- react_1.default.createElement("a", { href: `#packages/${pkg.packageId}` }, pkg.name),
209
- react_1.default.createElement(PackageVersionBadge, { activePackageVersionId: pkg.activePackageVersionId, packageId: pkg.packageId, followVersionTags: pkg.followVersionTags }),
210
- react_1.default.createElement(tooltip_1.Tooltip, { markdownContent: pkg.description, positions: ['bottom', 'top', 'right', 'left'] })));
211
- });
212
- }, loadingIndicator: react_1.default.createElement("div", { className: "d-flex justify-content-center", style: { height: 200 } },
213
- react_1.default.createElement(loading_indicator_1.LoadingIndicator, null)), endOfList: react_1.default.createElement("div", { className: "d-flex justify-content-center", style: { height: 200 } }) }))));
145
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "container-fluid", children: [(0, jsx_runtime_1.jsxs)("div", { className: "input-group mt-3 mb-3", children: [(0, jsx_runtime_1.jsx)(input_1.Input, { value: searchTextObs, className: "form-control", placeholder: "Search, add, or create package", autoFocus: !!(0, globals_1.isDesktop)(), onKeyUp: (evt) => searchSubmit(evt) }), (0, jsx_runtime_1.jsx)("button", { className: "btn btn-outline-secondary dropdown-toggle sm", type: "button", "data-bs-toggle": "dropdown", "aria-expanded": "false", children: (0, jsx_runtime_1.jsx)("i", { className: "bi bi-plus-lg" }) }), (0, jsx_runtime_1.jsxs)("ul", { className: "dropdown-menu dropdown-menu-end", children: [(0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("a", { className: "dropdown-item", href: "#packages/newlocal", children: "New Local Package" }) }), (0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("a", { className: "dropdown-item disabled", href: "#", children: "Add Local Package" }) }), (0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("a", { className: "dropdown-item disabled", href: "#", children: "Add Remote Package" }) }), (0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("hr", { className: "dropdown-divider" }) }), (0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("a", { className: "dropdown-item", onClick: () => peers_sdk_1.rpcServerCalls.openPath(peers_sdk_1.packagesRootDir), style: { cursor: "pointer" }, children: "Open Packages Directory" }) })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "peers-list-container", children: (0, jsx_runtime_1.jsx)(lazy_list_1.LazyList, { resetTrigger: searchText, loadMore: loadMore, scrollThreshold: 0.6, renderItems: (packages) => {
146
+ return packages.map((pkg) => {
147
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "container-fluid pb-4", children: [(0, jsx_runtime_1.jsx)("i", { className: "bi bi-box-fill" }), "\u00A0\u00A0", (0, jsx_runtime_1.jsx)("a", { href: `#packages/${pkg.packageId}`, children: pkg.name }), (0, jsx_runtime_1.jsx)(PackageVersionBadge, { activePackageVersionId: pkg.activePackageVersionId, packageId: pkg.packageId, followVersionTags: pkg.followVersionTags }), (0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { markdownContent: pkg.description, positions: ["bottom", "top", "right", "left"] })] }, pkg.packageId));
148
+ });
149
+ }, loadingIndicator: (0, jsx_runtime_1.jsx)("div", { className: "d-flex justify-content-center", style: { height: 200 }, children: (0, jsx_runtime_1.jsx)(loading_indicator_1.LoadingIndicator, {}) }), endOfList: (0, jsx_runtime_1.jsx)("div", { className: "d-flex justify-content-center", style: { height: 200 } }) }) })] }));
214
150
  };
215
151
  exports.PackageList = PackageList;
216
152
  (0, ui_loader_1.registerInternalPeersUI)({
217
- peersUIId: '00m5fre6r5m2p2wd1m4x6nx0b',
153
+ peersUIId: "00m5fre6r5m2p2wd1m4x6nx0b",
218
154
  component: exports.PackageList,
219
155
  routes: [
220
156
  {
221
- isMatch: (props, context) => context.path == 'packages',
222
- uiCategory: 'screen',
223
- priority: 1
224
- }
225
- ]
157
+ isMatch: (_props, context) => context.path === "packages",
158
+ uiCategory: "screen",
159
+ priority: 1,
160
+ },
161
+ ],
226
162
  });
@@ -1,2 +1 @@
1
- import React from 'react';
2
- export declare const PackageNewLocal: () => React.JSX.Element;
1
+ export declare const PackageNewLocal: () => import("react/jsx-runtime").JSX.Element;
@@ -34,21 +34,22 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.PackageNewLocal = void 0;
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
37
39
  const react_1 = __importStar(require("react"));
38
40
  const globals_1 = require("../../globals");
39
- const peers_sdk_1 = require("@peers-app/peers-sdk");
40
41
  const PackageNewLocal = () => {
41
42
  const defaultName = "New Package";
42
- const [packageName, setPackageName] = (0, react_1.useState)('');
43
- const [packageLocation, setPackageLocation] = (0, react_1.useState)('');
43
+ const [packageName, setPackageName] = (0, react_1.useState)("");
44
+ const [packageLocation, setPackageLocation] = (0, react_1.useState)("");
44
45
  let packageFolderName = packageName || defaultName;
45
- packageFolderName = packageFolderName.replace(/[^a-zA-Z0-9]/g, ' ');
46
- packageFolderName = packageFolderName.replace(/\s+/g, ' ').trim();
46
+ packageFolderName = packageFolderName.replace(/[^a-zA-Z0-9]/g, " ");
47
+ packageFolderName = packageFolderName.replace(/\s+/g, " ").trim();
47
48
  packageFolderName = (0, peers_sdk_1.camelCaseToHyphens)(packageFolderName);
48
- const packageLocationDefault = peers_sdk_1.packagesRootDir + '/' + packageFolderName;
49
+ const packageLocationDefault = `${peers_sdk_1.packagesRootDir}/${packageFolderName}`;
49
50
  const hiddenFileInput = react_1.default.useRef(null);
50
51
  const handleFolderSelect = (e) => {
51
- // @ts-ignore
52
+ // @ts-expect-error
52
53
  const path = e.target.files?.[0]?.path;
53
54
  const folderPath = path;
54
55
  if (folderPath) {
@@ -58,7 +59,7 @@ const PackageNewLocal = () => {
58
59
  const createLocalPackage = async () => {
59
60
  try {
60
61
  const packageId = await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(packageName, {
61
- packageLocation: packageLocation || packageLocationDefault
62
+ packageLocation: packageLocation || packageLocationDefault,
62
63
  });
63
64
  const pkg = await (0, peers_sdk_1.Packages)().get(packageId);
64
65
  if (pkg) {
@@ -67,18 +68,11 @@ const PackageNewLocal = () => {
67
68
  }
68
69
  }
69
70
  catch (err) {
70
- confirm('Error creating package: ' + err);
71
+ confirm(`Error creating package: ${err}`);
71
72
  }
72
73
  };
73
- return (react_1.default.createElement("div", { className: 'container mt-2' },
74
- react_1.default.createElement("h4", { className: 'text-center' }, "New Local Package"),
75
- react_1.default.createElement("div", { className: "input-group mt-3 mb-3" },
76
- react_1.default.createElement("input", { type: "text", className: "form-control", placeholder: "Package Name", value: packageName, onChange: e => setPackageName(e.target.value), autoFocus: true })),
77
- react_1.default.createElement("input", { ref: hiddenFileInput, type: "file", className: 'visually-hidden', onChange: handleFolderSelect,
78
- // @ts-ignore
79
- directory: "", webkitdirectory: "" }),
80
- react_1.default.createElement("div", { className: "input-group mt-3 mb-3" },
81
- react_1.default.createElement("input", { type: "text", className: "form-control", placeholder: packageLocationDefault, value: packageLocation, onChange: e => setPackageLocation(e.target.value), disabled: true })),
82
- react_1.default.createElement("button", { className: "btn btn-primary float-end", type: "button", onClick: () => createLocalPackage(), disabled: !packageName }, "Create Package")));
74
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "container mt-2", children: [(0, jsx_runtime_1.jsx)("h4", { className: "text-center", children: "New Local Package" }), (0, jsx_runtime_1.jsx)("div", { className: "input-group mt-3 mb-3", children: (0, jsx_runtime_1.jsx)("input", { type: "text", className: "form-control", placeholder: "Package Name", value: packageName, onChange: (e) => setPackageName(e.target.value) }) }), (0, jsx_runtime_1.jsx)("input", { ref: hiddenFileInput, type: "file", className: "visually-hidden", onChange: handleFolderSelect,
75
+ // @ts-expect-error
76
+ directory: "", webkitdirectory: "" }), (0, jsx_runtime_1.jsx)("div", { className: "input-group mt-3 mb-3", children: (0, jsx_runtime_1.jsx)("input", { type: "text", className: "form-control", placeholder: packageLocationDefault, value: packageLocation, onChange: (e) => setPackageLocation(e.target.value), disabled: true }) }), (0, jsx_runtime_1.jsx)("button", { className: "btn btn-primary float-end", type: "button", onClick: () => createLocalPackage(), disabled: !packageName, children: "Create Package" })] }));
83
77
  };
84
78
  exports.PackageNewLocal = PackageNewLocal;
@@ -1,5 +1,4 @@
1
- import React from "react";
2
- import { IDoc, IPackage } from "@peers-app/peers-sdk";
1
+ import { type IDoc, type IPackage } from "@peers-app/peers-sdk";
3
2
  export declare const PackageVersionsList: (props: {
4
3
  pkg: IDoc<IPackage>;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,41 +1,9 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.PackageVersionsList = void 0;
37
- const react_1 = __importStar(require("react"));
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
5
  const peers_sdk_1 = require("@peers-app/peers-sdk");
6
+ const react_1 = require("react");
39
7
  const hooks_1 = require("../../hooks");
40
8
  function formatDate(iso) {
41
9
  try {
@@ -44,7 +12,7 @@ function formatDate(iso) {
44
12
  const diffMs = now.getTime() - d.getTime();
45
13
  const diffMins = Math.floor(diffMs / 60000);
46
14
  if (diffMins < 1)
47
- return 'just now';
15
+ return "just now";
48
16
  if (diffMins < 60)
49
17
  return `${diffMins}m ago`;
50
18
  const diffHours = Math.floor(diffMins / 60);
@@ -61,12 +29,12 @@ function formatDate(iso) {
61
29
  }
62
30
  function tagBadgeClass(tag) {
63
31
  if (!tag)
64
- return 'text-bg-secondary';
65
- if (tag.startsWith('beta'))
66
- return 'text-bg-warning';
67
- if (tag === 'stable')
68
- return 'text-bg-info';
69
- return 'text-bg-secondary';
32
+ return "text-bg-secondary";
33
+ if (tag.startsWith("beta"))
34
+ return "text-bg-warning";
35
+ if (tag === "stable")
36
+ return "text-bg-info";
37
+ return "text-bg-secondary";
70
38
  }
71
39
  const PackageVersionsList = (props) => {
72
40
  const { pkg } = props;
@@ -76,22 +44,22 @@ const PackageVersionsList = (props) => {
76
44
  const [activating, setActivating] = (0, react_1.useState)(null);
77
45
  const [deleting, setDeleting] = (0, react_1.useState)(null);
78
46
  const [pinning, setPinning] = (0, react_1.useState)(false);
79
- const isPinned = versionFollowRange === 'pinned';
47
+ const isPinned = versionFollowRange === "pinned";
80
48
  const versions = (0, hooks_1.usePromise)(async () => {
81
49
  const all = await (0, peers_sdk_1.PackageVersions)().list({ packageId: pkg.packageId });
82
- const parse = (v) => v.split('.').map(Number);
50
+ const parse = (v) => v.split(".").map(Number);
83
51
  const sorted = all.sort((a, b) => {
84
- const [aMaj, aMin, aPat] = parse(a.version || '0.0.0');
85
- const [bMaj, bMin, bPat] = parse(b.version || '0.0.0');
52
+ const [aMaj, aMin, aPat] = parse(a.version || "0.0.0");
53
+ const [bMaj, bMin, bPat] = parse(b.version || "0.0.0");
86
54
  if (bMaj !== aMaj)
87
55
  return bMaj - aMaj;
88
56
  if (bMin !== aMin)
89
57
  return bMin - aMin;
90
58
  if (bPat !== aPat)
91
59
  return bPat - aPat;
92
- return (b.createdAt || '').localeCompare(a.createdAt || '');
60
+ return (b.createdAt || "").localeCompare(a.createdAt || "");
93
61
  });
94
- const uniqueCreatorIds = [...new Set(sorted.map(pv => pv.createdBy).filter(Boolean))];
62
+ const uniqueCreatorIds = [...new Set(sorted.map((pv) => pv.createdBy).filter(Boolean))];
95
63
  const userMap = new Map();
96
64
  await Promise.all(uniqueCreatorIds.map(async (uid) => {
97
65
  try {
@@ -149,7 +117,7 @@ const PackageVersionsList = (props) => {
149
117
  }
150
118
  async function updateVersion(pv, newSemver) {
151
119
  try {
152
- const pvHash = (0, peers_sdk_1.computePackageVersionHash)(newSemver, pv.versionTag || 'beta', pv.packageBundleFileHash, pv.routesBundleFileHash, pv.uiBundleFileHash);
120
+ const pvHash = (0, peers_sdk_1.computePackageVersionHash)(newSemver, pv.versionTag || "beta", pv.packageBundleFileHash, pv.routesBundleFileHash, pv.uiBundleFileHash);
153
121
  const updated = { ...pv, version: newSemver, packageVersionHash: pvHash };
154
122
  await (0, peers_sdk_1.PackageVersions)().signAndSave(updated, { saveAsSnapshot: true });
155
123
  refreshKey(refreshKey() + 1);
@@ -163,7 +131,7 @@ const PackageVersionsList = (props) => {
163
131
  try {
164
132
  const current = await (0, peers_sdk_1.Packages)().get(pkg.packageId);
165
133
  if (current) {
166
- current.versionFollowRange = 'pinned';
134
+ current.versionFollowRange = "pinned";
167
135
  await (0, peers_sdk_1.Packages)().signAndSave(current);
168
136
  await pkg.load();
169
137
  }
@@ -176,24 +144,16 @@ const PackageVersionsList = (props) => {
176
144
  }
177
145
  }
178
146
  if (!versions) {
179
- return react_1.default.createElement("div", { className: "text-center p-3" },
180
- react_1.default.createElement("div", { className: "spinner-border spinner-border-sm" }));
147
+ return ((0, jsx_runtime_1.jsx)("div", { className: "text-center p-3", children: (0, jsx_runtime_1.jsx)("div", { className: "spinner-border spinner-border-sm" }) }));
181
148
  }
182
149
  const { sorted, userMap } = versions;
183
150
  if (sorted.length === 0) {
184
- return (react_1.default.createElement("div", { className: "text-muted text-center p-4" },
185
- react_1.default.createElement("i", { className: "bi bi-tag me-1" }),
186
- "No versions found for this package."));
151
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "text-muted text-center p-4", children: [(0, jsx_runtime_1.jsx)("i", { className: "bi bi-tag me-1" }), "No versions found for this package."] }));
187
152
  }
188
- return (react_1.default.createElement("div", null,
189
- react_1.default.createElement("small", { className: "text-muted" },
190
- sorted.length,
191
- " version",
192
- sorted.length !== 1 ? 's' : ''),
193
- react_1.default.createElement("div", { className: "list-group mt-2" }, sorted.map(pv => (react_1.default.createElement(VersionRow, { key: pv.packageVersionId, pv: pv, isActive: pv.packageVersionId === activeVersionId, isPinned: isPinned, pinning: pinning, activating: activating, deleting: deleting, userMap: userMap, onActivate: activateVersion, onDelete: deleteVersion, onPin: pinVersion, onPromote: promoteVersion, onUpdateVersion: updateVersion }))))));
153
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("small", { className: "text-muted", children: [sorted.length, " version", sorted.length !== 1 ? "s" : ""] }), (0, jsx_runtime_1.jsx)("div", { className: "list-group mt-2", children: sorted.map((pv) => ((0, jsx_runtime_1.jsx)(VersionRow, { pv: pv, isActive: pv.packageVersionId === activeVersionId, isPinned: isPinned, pinning: pinning, activating: activating, deleting: deleting, userMap: userMap, onActivate: activateVersion, onDelete: deleteVersion, onPin: pinVersion, onPromote: promoteVersion, onUpdateVersion: updateVersion }, pv.packageVersionId))) })] }));
194
154
  };
195
155
  exports.PackageVersionsList = PackageVersionsList;
196
- const TAG_OPTIONS = ['beta', 'stable'];
156
+ const TAG_OPTIONS = ["beta", "stable"];
197
157
  function VersionRow(props) {
198
158
  const { pv, isActive, isPinned, pinning, activating, deleting, userMap } = props;
199
159
  const creatorName = userMap.get(pv.createdBy);
@@ -210,39 +170,12 @@ function VersionRow(props) {
210
170
  }
211
171
  setEditingVersion(false);
212
172
  }
213
- const currentTag = pv.versionTag || 'beta';
214
- const promoteTargets = TAG_OPTIONS.filter(t => t !== currentTag);
215
- return (react_1.default.createElement("div", { className: `list-group-item ${isActive ? 'list-group-item-success' : ''}` },
216
- react_1.default.createElement("div", { className: "d-flex align-items-center justify-content-between" },
217
- react_1.default.createElement("div", { className: "d-flex align-items-center flex-wrap" },
218
- editingVersion ? (react_1.default.createElement("input", { type: "text", className: "form-control form-control-sm me-2", style: { width: '7em' }, value: versionDraft, onChange: e => setVersionDraft(e.target.value), onBlur: commitVersion, onKeyDown: e => {
219
- if (e.key === 'Enter')
220
- commitVersion();
221
- if (e.key === 'Escape')
222
- setEditingVersion(false);
223
- }, autoFocus: true })) : (react_1.default.createElement("strong", { className: "me-2", style: { cursor: 'pointer' }, onClick: startEditing, title: "Click to edit version" },
224
- "v",
225
- pv.version)),
226
- pv.versionTag && (react_1.default.createElement("span", { className: `badge ${tagBadgeClass(pv.versionTag)} me-2` }, pv.versionTag)),
227
- react_1.default.createElement("code", { className: "text-muted small me-2" }, pv.packageVersionHash?.substring(0, 8)),
228
- react_1.default.createElement("small", { className: "text-muted me-2" }, formatDate(pv.createdAt)),
229
- creatorName && (react_1.default.createElement("small", { className: "text-muted" },
230
- "by ",
231
- creatorName))),
232
- react_1.default.createElement("div", { className: "d-flex gap-1 align-items-center" },
233
- promoteTargets.length > 0 && (react_1.default.createElement("div", { className: "dropdown" },
234
- react_1.default.createElement("button", { className: "btn btn-sm btn-outline-info dropdown-toggle", "data-bs-toggle": "dropdown", title: "Change version tag" }, "Promote"),
235
- react_1.default.createElement("ul", { className: "dropdown-menu dropdown-menu-end" }, promoteTargets.map(tag => (react_1.default.createElement("li", { key: tag },
236
- react_1.default.createElement("button", { className: "dropdown-item", onClick: () => props.onPromote(pv, tag) },
237
- currentTag,
238
- " \u2192 ",
239
- tag))))))),
240
- isActive ? (react_1.default.createElement(react_1.default.Fragment, null,
241
- react_1.default.createElement("button", { className: "btn btn-sm btn-outline-secondary", disabled: isPinned || pinning, onClick: () => props.onPin(), title: isPinned ? 'Already pinned' : 'Pin to this version (disable auto-updates)' },
242
- pinning ? (react_1.default.createElement("span", { className: "spinner-border spinner-border-sm" })) : (react_1.default.createElement("i", { className: "bi bi-pin-fill" })),
243
- isPinned ? ' Pinned' : ' Pin'),
244
- react_1.default.createElement("span", { className: "badge text-bg-success align-self-center" }, "active"))) : (react_1.default.createElement("button", { className: "btn btn-sm btn-outline-primary", disabled: activating === pv.packageVersionId, onClick: () => props.onActivate(pv) },
245
- activating === pv.packageVersionId ? (react_1.default.createElement("span", { className: "spinner-border spinner-border-sm me-1" })) : (react_1.default.createElement("i", { className: "bi bi-check2-circle me-1" })),
246
- "Activate")),
247
- !isActive && (react_1.default.createElement("button", { className: "btn btn-sm btn-outline-danger", disabled: deleting === pv.packageVersionId, onClick: () => props.onDelete(pv) }, deleting === pv.packageVersionId ? (react_1.default.createElement("span", { className: "spinner-border spinner-border-sm" })) : (react_1.default.createElement("i", { className: "bi bi-trash" }))))))));
173
+ const currentTag = pv.versionTag || "beta";
174
+ const promoteTargets = TAG_OPTIONS.filter((t) => t !== currentTag);
175
+ return ((0, jsx_runtime_1.jsx)("div", { className: `list-group-item ${isActive ? "list-group-item-success" : ""}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "d-flex align-items-center justify-content-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "d-flex align-items-center flex-wrap", children: [editingVersion ? ((0, jsx_runtime_1.jsx)("input", { type: "text", className: "form-control form-control-sm me-2", style: { width: "7em" }, value: versionDraft, onChange: (e) => setVersionDraft(e.target.value), onBlur: commitVersion, onKeyDown: (e) => {
176
+ if (e.key === "Enter")
177
+ commitVersion();
178
+ if (e.key === "Escape")
179
+ setEditingVersion(false);
180
+ } })) : ((0, jsx_runtime_1.jsxs)("strong", { className: "me-2", style: { cursor: "pointer" }, onClick: startEditing, title: "Click to edit version", children: ["v", pv.version] })), pv.versionTag && ((0, jsx_runtime_1.jsx)("span", { className: `badge ${tagBadgeClass(pv.versionTag)} me-2`, children: pv.versionTag })), (0, jsx_runtime_1.jsx)("code", { className: "text-muted small me-2", children: pv.packageVersionHash?.substring(0, 8) }), (0, jsx_runtime_1.jsx)("small", { className: "text-muted me-2", children: formatDate(pv.createdAt) }), creatorName && (0, jsx_runtime_1.jsxs)("small", { className: "text-muted", children: ["by ", creatorName] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "d-flex gap-1 align-items-center", children: [promoteTargets.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "dropdown", children: [(0, jsx_runtime_1.jsx)("button", { className: "btn btn-sm btn-outline-info dropdown-toggle", "data-bs-toggle": "dropdown", title: "Change version tag", children: "Promote" }), (0, jsx_runtime_1.jsx)("ul", { className: "dropdown-menu dropdown-menu-end", children: promoteTargets.map((tag) => ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsxs)("button", { className: "dropdown-item", onClick: () => props.onPromote(pv, tag), children: [currentTag, " \u2192 ", tag] }) }, tag))) })] })), isActive ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("button", { className: "btn btn-sm btn-outline-secondary", disabled: isPinned || pinning, onClick: () => props.onPin(), title: isPinned ? "Already pinned" : "Pin to this version (disable auto-updates)", children: [pinning ? ((0, jsx_runtime_1.jsx)("span", { className: "spinner-border spinner-border-sm" })) : ((0, jsx_runtime_1.jsx)("i", { className: "bi bi-pin-fill" })), isPinned ? " Pinned" : " Pin"] }), (0, jsx_runtime_1.jsx)("span", { className: "badge text-bg-success align-self-center", children: "active" })] })) : ((0, jsx_runtime_1.jsxs)("button", { className: "btn btn-sm btn-outline-primary", disabled: activating === pv.packageVersionId, onClick: () => props.onActivate(pv), children: [activating === pv.packageVersionId ? ((0, jsx_runtime_1.jsx)("span", { className: "spinner-border spinner-border-sm me-1" })) : ((0, jsx_runtime_1.jsx)("i", { className: "bi bi-check2-circle me-1" })), "Activate"] })), !isActive && ((0, jsx_runtime_1.jsx)("button", { className: "btn btn-sm btn-outline-danger", disabled: deleting === pv.packageVersionId, onClick: () => props.onDelete(pv), children: deleting === pv.packageVersionId ? ((0, jsx_runtime_1.jsx)("span", { className: "spinner-border spinner-border-sm" })) : ((0, jsx_runtime_1.jsx)("i", { className: "bi bi-trash" })) }))] })] }) }));
248
181
  }
@@ -1,10 +1,9 @@
1
- import { Observable } from "@peers-app/peers-sdk";
2
- import React from "react";
1
+ import { type Observable } from "@peers-app/peers-sdk";
3
2
  interface IProps {
4
3
  peerTypeId: string;
5
4
  }
6
- export declare const PeerTypeDetails: (props: IProps) => React.JSX.Element;
5
+ export declare const PeerTypeDetails: (props: IProps) => import("react/jsx-runtime").JSX.Element;
7
6
  export declare const IconPicker: (props: {
8
7
  icon: Observable<string | undefined>;
9
- }) => React.JSX.Element;
8
+ }) => import("react/jsx-runtime").JSX.Element;
10
9
  export {};