@powerhousedao/reactor-browser 4.1.0-dev.11 → 4.1.0-dev.110

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 (508) hide show
  1. package/README.md +692 -0
  2. package/dist/src/actions/dispatch.d.ts +4 -0
  3. package/dist/src/actions/dispatch.d.ts.map +1 -0
  4. package/dist/src/actions/dispatch.js +29 -0
  5. package/dist/src/actions/dispatch.js.map +1 -0
  6. package/dist/src/actions/document.d.ts +16 -0
  7. package/dist/src/actions/document.d.ts.map +1 -0
  8. package/dist/src/actions/document.js +488 -0
  9. package/dist/src/actions/document.js.map +1 -0
  10. package/dist/src/actions/drive.d.ts +12 -0
  11. package/dist/src/actions/drive.d.ts.map +1 -0
  12. package/dist/src/actions/drive.js +152 -0
  13. package/dist/src/actions/drive.js.map +1 -0
  14. package/dist/src/actions/index.d.ts +4 -0
  15. package/dist/src/actions/index.d.ts.map +1 -0
  16. package/dist/src/actions/index.js +4 -0
  17. package/dist/src/actions/index.js.map +1 -0
  18. package/dist/src/actions/queue.d.ts +10 -0
  19. package/dist/src/actions/queue.d.ts.map +1 -0
  20. package/dist/src/actions/queue.js +136 -0
  21. package/dist/src/actions/queue.js.map +1 -0
  22. package/dist/src/actions/sign.d.ts +5 -0
  23. package/dist/src/actions/sign.d.ts.map +1 -0
  24. package/dist/src/actions/sign.js +71 -0
  25. package/dist/src/actions/sign.js.map +1 -0
  26. package/dist/src/analytics/context.d.ts +3 -4
  27. package/dist/src/analytics/context.d.ts.map +1 -1
  28. package/dist/src/analytics/context.js +8 -4
  29. package/dist/src/analytics/context.js.map +1 -1
  30. package/dist/src/analytics/{hooks.d.ts → hooks/analytics-query.d.ts} +4 -3
  31. package/dist/src/analytics/hooks/analytics-query.d.ts.map +1 -0
  32. package/dist/src/analytics/{hooks.js → hooks/analytics-query.js} +4 -4
  33. package/dist/src/analytics/hooks/analytics-query.js.map +1 -0
  34. package/dist/src/analytics/hooks/document-timeline.d.ts +19 -0
  35. package/dist/src/analytics/hooks/document-timeline.d.ts.map +1 -0
  36. package/dist/src/analytics/hooks/document-timeline.js +10 -0
  37. package/dist/src/analytics/hooks/document-timeline.js.map +1 -0
  38. package/dist/src/analytics/hooks/index.d.ts +4 -0
  39. package/dist/src/analytics/hooks/index.d.ts.map +1 -0
  40. package/dist/src/analytics/hooks/index.js +4 -0
  41. package/dist/src/analytics/hooks/index.js.map +1 -0
  42. package/dist/src/analytics/hooks/timeline-items.d.ts +25 -0
  43. package/dist/src/analytics/hooks/timeline-items.d.ts.map +1 -0
  44. package/dist/src/analytics/hooks/timeline-items.js +104 -0
  45. package/dist/src/analytics/hooks/timeline-items.js.map +1 -0
  46. package/dist/src/analytics/index.d.ts +3 -0
  47. package/dist/src/analytics/index.d.ts.map +1 -0
  48. package/dist/src/analytics/index.js +3 -0
  49. package/dist/src/analytics/index.js.map +1 -0
  50. package/dist/src/analytics/store/browser.d.ts +1 -1
  51. package/dist/src/analytics/store/browser.d.ts.map +1 -1
  52. package/dist/src/analytics/store/browser.js +1 -1
  53. package/dist/src/analytics/store/browser.js.map +1 -1
  54. package/dist/src/analytics/store/memory.d.ts +1 -1
  55. package/dist/src/analytics/store/memory.d.ts.map +1 -1
  56. package/dist/src/analytics/store/memory.js +1 -1
  57. package/dist/src/analytics/store/memory.js.map +1 -1
  58. package/dist/src/analytics/types.d.ts +2 -3
  59. package/dist/src/analytics/types.d.ts.map +1 -1
  60. package/dist/src/analytics.d.ts +3 -0
  61. package/dist/src/analytics.d.ts.map +1 -0
  62. package/dist/src/analytics.js +3 -0
  63. package/dist/src/analytics.js.map +1 -0
  64. package/dist/src/connect.d.ts +2 -0
  65. package/dist/src/connect.d.ts.map +1 -0
  66. package/dist/src/connect.js +2 -0
  67. package/dist/src/connect.js.map +1 -0
  68. package/dist/src/constants.d.ts +3 -0
  69. package/dist/src/constants.d.ts.map +1 -0
  70. package/dist/src/constants.js +3 -0
  71. package/dist/src/constants.js.map +1 -0
  72. package/dist/src/context/index.d.ts +1 -1
  73. package/dist/src/context/index.d.ts.map +1 -1
  74. package/dist/src/context/index.js +1 -1
  75. package/dist/src/context/index.js.map +1 -1
  76. package/dist/src/context/read-mode.d.ts +2 -2
  77. package/dist/src/context/read-mode.d.ts.map +1 -1
  78. package/dist/src/context/read-mode.js +25 -47
  79. package/dist/src/context/read-mode.js.map +1 -1
  80. package/dist/src/document-model.d.ts +3 -3
  81. package/dist/src/document-model.d.ts.map +1 -1
  82. package/dist/src/document-model.js +1 -1
  83. package/dist/src/document-model.js.map +1 -1
  84. package/dist/src/errors.d.ts +16 -0
  85. package/dist/src/errors.d.ts.map +1 -0
  86. package/dist/src/errors.js +27 -0
  87. package/dist/src/errors.js.map +1 -0
  88. package/dist/src/global/core.d.ts.map +1 -1
  89. package/dist/src/global/core.js +0 -1
  90. package/dist/src/global/core.js.map +1 -1
  91. package/dist/src/global/index.d.ts +0 -1
  92. package/dist/src/global/index.d.ts.map +1 -1
  93. package/dist/src/global/index.js +0 -1
  94. package/dist/src/global/index.js.map +1 -1
  95. package/dist/src/global/types.d.ts +2 -2
  96. package/dist/src/global/types.d.ts.map +1 -1
  97. package/dist/src/hooks/add-ph-event-handlers.d.ts +2 -0
  98. package/dist/src/hooks/add-ph-event-handlers.d.ts.map +1 -0
  99. package/dist/src/hooks/add-ph-event-handlers.js +100 -0
  100. package/dist/src/hooks/add-ph-event-handlers.js.map +1 -0
  101. package/dist/src/hooks/allowed-document-model-modules.d.ts +2 -0
  102. package/dist/src/hooks/allowed-document-model-modules.d.ts.map +1 -0
  103. package/dist/src/hooks/allowed-document-model-modules.js +10 -0
  104. package/dist/src/hooks/allowed-document-model-modules.js.map +1 -0
  105. package/dist/src/hooks/child-nodes.d.ts +4 -0
  106. package/dist/src/hooks/child-nodes.d.ts.map +1 -0
  107. package/dist/src/hooks/child-nodes.js +15 -0
  108. package/dist/src/hooks/child-nodes.js.map +1 -0
  109. package/dist/src/hooks/config/connect.d.ts +96 -0
  110. package/dist/src/hooks/config/connect.d.ts.map +1 -0
  111. package/dist/src/hooks/config/connect.js +210 -0
  112. package/dist/src/hooks/config/connect.js.map +1 -0
  113. package/dist/src/hooks/config/editor.d.ts +32 -0
  114. package/dist/src/hooks/config/editor.d.ts.map +1 -0
  115. package/dist/src/hooks/config/editor.js +43 -0
  116. package/dist/src/hooks/config/editor.js.map +1 -0
  117. package/dist/src/hooks/config/set-config-by-key.d.ts +5 -0
  118. package/dist/src/hooks/config/set-config-by-key.d.ts.map +1 -0
  119. package/dist/src/hooks/config/set-config-by-key.js +15 -0
  120. package/dist/src/hooks/config/set-config-by-key.js.map +1 -0
  121. package/dist/src/hooks/config/set-config-by-object.d.ts +31 -0
  122. package/dist/src/hooks/config/set-config-by-object.d.ts.map +1 -0
  123. package/dist/src/hooks/config/set-config-by-object.js +84 -0
  124. package/dist/src/hooks/config/set-config-by-object.js.map +1 -0
  125. package/dist/src/hooks/config/use-value-by-key.d.ts +13 -0
  126. package/dist/src/hooks/config/use-value-by-key.d.ts.map +1 -0
  127. package/dist/src/hooks/config/use-value-by-key.js +23 -0
  128. package/dist/src/hooks/config/use-value-by-key.js.map +1 -0
  129. package/dist/src/hooks/config/utils.d.ts +3 -0
  130. package/dist/src/hooks/config/utils.d.ts.map +1 -0
  131. package/dist/src/hooks/config/utils.js +6 -0
  132. package/dist/src/hooks/config/utils.js.map +1 -0
  133. package/dist/src/hooks/connect.d.ts +16 -0
  134. package/dist/src/hooks/connect.d.ts.map +1 -0
  135. package/dist/src/hooks/connect.js +16 -0
  136. package/dist/src/hooks/connect.js.map +1 -0
  137. package/dist/src/hooks/crypto.d.ts +3 -0
  138. package/dist/src/hooks/crypto.d.ts.map +1 -0
  139. package/dist/src/hooks/crypto.js +7 -0
  140. package/dist/src/hooks/crypto.js.map +1 -0
  141. package/dist/src/hooks/did.d.ts +2 -0
  142. package/dist/src/hooks/did.d.ts.map +1 -0
  143. package/dist/src/hooks/did.js +3 -0
  144. package/dist/src/hooks/did.js.map +1 -0
  145. package/dist/src/hooks/dispatch.d.ts +4 -0
  146. package/dist/src/hooks/dispatch.d.ts.map +1 -0
  147. package/dist/src/hooks/dispatch.js +10 -0
  148. package/dist/src/hooks/dispatch.js.map +1 -0
  149. package/dist/src/hooks/document-by-id.d.ts +6 -0
  150. package/dist/src/hooks/document-by-id.d.ts.map +1 -0
  151. package/dist/src/hooks/document-by-id.js +13 -0
  152. package/dist/src/hooks/document-by-id.js.map +1 -0
  153. package/dist/src/hooks/document-cache.d.ts +60 -0
  154. package/dist/src/hooks/document-cache.d.ts.map +1 -0
  155. package/dist/src/hooks/document-cache.js +97 -0
  156. package/dist/src/hooks/document-cache.js.map +1 -0
  157. package/dist/src/hooks/document-model-modules.d.ts +4 -0
  158. package/dist/src/hooks/document-model-modules.d.ts.map +1 -0
  159. package/dist/src/hooks/document-model-modules.js +10 -0
  160. package/dist/src/hooks/document-model-modules.js.map +1 -0
  161. package/dist/src/hooks/document-of-type.d.ts +5 -0
  162. package/dist/src/hooks/document-of-type.d.ts.map +1 -0
  163. package/dist/src/hooks/document-of-type.js +22 -0
  164. package/dist/src/hooks/document-of-type.js.map +1 -0
  165. package/dist/src/hooks/document-types.d.ts +7 -0
  166. package/dist/src/hooks/document-types.d.ts.map +1 -0
  167. package/dist/src/hooks/document-types.js +13 -0
  168. package/dist/src/hooks/document-types.js.map +1 -0
  169. package/dist/src/hooks/drive-by-id.d.ts +4 -0
  170. package/dist/src/hooks/drive-by-id.d.ts.map +1 -0
  171. package/dist/src/hooks/drive-by-id.js +12 -0
  172. package/dist/src/hooks/drive-by-id.js.map +1 -0
  173. package/dist/src/hooks/drives.d.ts +9 -0
  174. package/dist/src/hooks/drives.d.ts.map +1 -0
  175. package/dist/src/hooks/drives.js +9 -0
  176. package/dist/src/hooks/drives.js.map +1 -0
  177. package/dist/src/hooks/editor-modules.d.ts +9 -0
  178. package/dist/src/hooks/editor-modules.d.ts.map +1 -0
  179. package/dist/src/hooks/editor-modules.js +43 -0
  180. package/dist/src/hooks/editor-modules.js.map +1 -0
  181. package/dist/src/hooks/folder-by-id.d.ts +3 -0
  182. package/dist/src/hooks/folder-by-id.d.ts.map +1 -0
  183. package/dist/src/hooks/folder-by-id.js +6 -0
  184. package/dist/src/hooks/folder-by-id.js.map +1 -0
  185. package/dist/src/hooks/import-script-modules.d.ts +3 -0
  186. package/dist/src/hooks/import-script-modules.d.ts.map +1 -0
  187. package/dist/src/hooks/import-script-modules.js +6 -0
  188. package/dist/src/hooks/import-script-modules.js.map +1 -0
  189. package/dist/src/hooks/index.d.ts +37 -7
  190. package/dist/src/hooks/index.d.ts.map +1 -1
  191. package/dist/src/hooks/index.js +37 -7
  192. package/dist/src/hooks/index.js.map +1 -1
  193. package/dist/src/hooks/items-in-selected-drive.d.ts +13 -0
  194. package/dist/src/hooks/items-in-selected-drive.d.ts.map +1 -0
  195. package/dist/src/hooks/items-in-selected-drive.js +35 -0
  196. package/dist/src/hooks/items-in-selected-drive.js.map +1 -0
  197. package/dist/src/hooks/items-in-selected-folder.d.ts +11 -0
  198. package/dist/src/hooks/items-in-selected-folder.d.ts.map +1 -0
  199. package/dist/src/hooks/items-in-selected-folder.js +33 -0
  200. package/dist/src/hooks/items-in-selected-folder.js.map +1 -0
  201. package/dist/src/hooks/loading.d.ts +2 -0
  202. package/dist/src/hooks/loading.d.ts.map +1 -0
  203. package/dist/src/hooks/loading.js +3 -0
  204. package/dist/src/hooks/loading.js.map +1 -0
  205. package/dist/src/hooks/login-status.d.ts +2 -0
  206. package/dist/src/hooks/login-status.d.ts.map +1 -0
  207. package/dist/src/hooks/login-status.js +3 -0
  208. package/dist/src/hooks/login-status.js.map +1 -0
  209. package/dist/src/hooks/make-ph-event-functions.d.ts +7 -0
  210. package/dist/src/hooks/make-ph-event-functions.d.ts.map +1 -0
  211. package/dist/src/hooks/make-ph-event-functions.js +46 -0
  212. package/dist/src/hooks/make-ph-event-functions.js.map +1 -0
  213. package/dist/src/hooks/modals.d.ts +17 -0
  214. package/dist/src/hooks/modals.d.ts.map +1 -0
  215. package/dist/src/hooks/modals.js +26 -0
  216. package/dist/src/hooks/modals.js.map +1 -0
  217. package/dist/src/hooks/node-actions.d.ts +11 -0
  218. package/dist/src/hooks/node-actions.d.ts.map +1 -0
  219. package/dist/src/hooks/node-actions.js +97 -0
  220. package/dist/src/hooks/node-actions.js.map +1 -0
  221. package/dist/src/hooks/node-by-id.d.ts +4 -0
  222. package/dist/src/hooks/node-by-id.d.ts.map +1 -0
  223. package/dist/src/hooks/node-by-id.js +7 -0
  224. package/dist/src/hooks/node-by-id.js.map +1 -0
  225. package/dist/src/hooks/node-path.d.ts +6 -0
  226. package/dist/src/hooks/node-path.d.ts.map +1 -0
  227. package/dist/src/hooks/node-path.js +23 -0
  228. package/dist/src/hooks/node-path.js.map +1 -0
  229. package/dist/src/hooks/parent-folder.d.ts +4 -0
  230. package/dist/src/hooks/parent-folder.d.ts.map +1 -0
  231. package/dist/src/hooks/parent-folder.js +13 -0
  232. package/dist/src/hooks/parent-folder.js.map +1 -0
  233. package/dist/src/hooks/processor-manager.d.ts +9 -0
  234. package/dist/src/hooks/processor-manager.d.ts.map +1 -0
  235. package/dist/src/hooks/processor-manager.js +9 -0
  236. package/dist/src/hooks/processor-manager.js.map +1 -0
  237. package/dist/src/hooks/processor-modules.d.ts +4 -0
  238. package/dist/src/hooks/processor-modules.d.ts.map +1 -0
  239. package/dist/src/hooks/processor-modules.js +12 -0
  240. package/dist/src/hooks/processor-modules.js.map +1 -0
  241. package/dist/src/hooks/reactor.d.ts +9 -0
  242. package/dist/src/hooks/reactor.d.ts.map +1 -0
  243. package/dist/src/hooks/reactor.js +9 -0
  244. package/dist/src/hooks/reactor.js.map +1 -0
  245. package/dist/src/hooks/renown.d.ts +7 -0
  246. package/dist/src/hooks/renown.d.ts.map +1 -0
  247. package/dist/src/hooks/renown.js +9 -0
  248. package/dist/src/hooks/renown.js.map +1 -0
  249. package/dist/src/hooks/revision-history.d.ts +11 -0
  250. package/dist/src/hooks/revision-history.d.ts.map +1 -0
  251. package/dist/src/hooks/revision-history.js +17 -0
  252. package/dist/src/hooks/revision-history.js.map +1 -0
  253. package/dist/src/hooks/selected-document.d.ts +10 -0
  254. package/dist/src/hooks/selected-document.d.ts.map +1 -0
  255. package/dist/src/hooks/selected-document.js +26 -0
  256. package/dist/src/hooks/selected-document.js.map +1 -0
  257. package/dist/src/hooks/selected-drive.d.ts +13 -0
  258. package/dist/src/hooks/selected-drive.d.ts.map +1 -0
  259. package/dist/src/hooks/selected-drive.js +63 -0
  260. package/dist/src/hooks/selected-drive.js.map +1 -0
  261. package/dist/src/hooks/selected-folder.d.ts +4 -0
  262. package/dist/src/hooks/selected-folder.d.ts.map +1 -0
  263. package/dist/src/hooks/selected-folder.js +10 -0
  264. package/dist/src/hooks/selected-folder.js.map +1 -0
  265. package/dist/src/hooks/selected-node.d.ts +9 -0
  266. package/dist/src/hooks/selected-node.d.ts.map +1 -0
  267. package/dist/src/hooks/selected-node.js +54 -0
  268. package/dist/src/hooks/selected-node.js.map +1 -0
  269. package/dist/src/hooks/selected-timeline-item.d.ts +7 -0
  270. package/dist/src/hooks/selected-timeline-item.d.ts.map +1 -0
  271. package/dist/src/hooks/selected-timeline-item.js +9 -0
  272. package/dist/src/hooks/selected-timeline-item.js.map +1 -0
  273. package/dist/src/hooks/subgraph-modules.d.ts +3 -0
  274. package/dist/src/hooks/subgraph-modules.d.ts.map +1 -0
  275. package/dist/src/hooks/subgraph-modules.js +6 -0
  276. package/dist/src/hooks/subgraph-modules.js.map +1 -0
  277. package/dist/src/hooks/supported-document-types.d.ts +3 -0
  278. package/dist/src/hooks/supported-document-types.d.ts.map +1 -0
  279. package/dist/src/hooks/supported-document-types.js +7 -0
  280. package/dist/src/hooks/supported-document-types.js.map +1 -0
  281. package/dist/src/hooks/timeline-revision.d.ts +7 -0
  282. package/dist/src/hooks/timeline-revision.d.ts.map +1 -0
  283. package/dist/src/hooks/timeline-revision.js +9 -0
  284. package/dist/src/hooks/timeline-revision.js.map +1 -0
  285. package/dist/src/hooks/use-get-switchboard-link.d.ts +14 -0
  286. package/dist/src/hooks/use-get-switchboard-link.d.ts.map +1 -0
  287. package/dist/src/hooks/use-get-switchboard-link.js +38 -0
  288. package/dist/src/hooks/use-get-switchboard-link.js.map +1 -0
  289. package/dist/src/hooks/use-on-drop-file.d.ts +3 -0
  290. package/dist/src/hooks/use-on-drop-file.d.ts.map +1 -0
  291. package/dist/src/hooks/use-on-drop-file.js +21 -0
  292. package/dist/src/hooks/use-on-drop-file.js.map +1 -0
  293. package/dist/src/hooks/user-permissions.d.ts +5 -0
  294. package/dist/src/hooks/user-permissions.d.ts.map +1 -0
  295. package/dist/src/hooks/user-permissions.js +17 -0
  296. package/dist/src/hooks/user-permissions.js.map +1 -0
  297. package/dist/src/hooks/user.d.ts +2 -0
  298. package/dist/src/hooks/user.d.ts.map +1 -0
  299. package/dist/src/hooks/user.js +3 -0
  300. package/dist/src/hooks/user.js.map +1 -0
  301. package/dist/src/hooks/vetra-packages.d.ts +8 -0
  302. package/dist/src/hooks/vetra-packages.d.ts.map +1 -0
  303. package/dist/src/hooks/vetra-packages.js +15 -0
  304. package/dist/src/hooks/vetra-packages.js.map +1 -0
  305. package/dist/src/index.d.ts +5 -4
  306. package/dist/src/index.d.ts.map +1 -1
  307. package/dist/src/index.js +5 -2
  308. package/dist/src/index.js.map +1 -1
  309. package/dist/src/pglite/hooks/usePGlite.d.ts +1 -1
  310. package/dist/src/pglite/hooks/usePGlite.d.ts.map +1 -1
  311. package/dist/src/pglite/index.d.ts +0 -4
  312. package/dist/src/pglite/index.d.ts.map +1 -1
  313. package/dist/src/pglite/index.js +0 -4
  314. package/dist/src/pglite/index.js.map +1 -1
  315. package/dist/src/reactor.d.ts +14 -3
  316. package/dist/src/reactor.d.ts.map +1 -1
  317. package/dist/src/reactor.js +143 -10
  318. package/dist/src/reactor.js.map +1 -1
  319. package/dist/src/relational/hooks/useRelationalDb.d.ts +2 -2
  320. package/dist/src/relational/hooks/useRelationalDb.d.ts.map +1 -1
  321. package/dist/src/relational/hooks/useRelationalDb.js +1 -1
  322. package/dist/src/relational/hooks/useRelationalDb.js.map +1 -1
  323. package/dist/src/relational/hooks/useRelationalQuery.d.ts +2 -3
  324. package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +1 -1
  325. package/dist/src/relational/hooks/useRelationalQuery.js +1 -1
  326. package/dist/src/relational/hooks/useRelationalQuery.js.map +1 -1
  327. package/dist/src/relational/utils/createProcessorQuery.d.ts +4 -4
  328. package/dist/src/relational/utils/createProcessorQuery.d.ts.map +1 -1
  329. package/dist/src/relational/utils/createProcessorQuery.js +2 -2
  330. package/dist/src/relational/utils/createProcessorQuery.js.map +1 -1
  331. package/dist/src/renown/index.d.ts +3 -0
  332. package/dist/src/renown/index.d.ts.map +1 -0
  333. package/dist/src/renown/index.js +3 -0
  334. package/dist/src/renown/index.js.map +1 -0
  335. package/dist/src/renown/utils.d.ts +6 -0
  336. package/dist/src/renown/utils.d.ts.map +1 -0
  337. package/dist/src/renown/utils.js +56 -0
  338. package/dist/src/renown/utils.js.map +1 -0
  339. package/dist/src/types/config.d.ts +96 -0
  340. package/dist/src/types/config.d.ts.map +1 -0
  341. package/dist/src/types/config.js +2 -0
  342. package/dist/src/types/config.js.map +1 -0
  343. package/dist/src/types/documents.d.ts +21 -0
  344. package/dist/src/types/documents.d.ts.map +1 -0
  345. package/dist/src/types/documents.js +2 -0
  346. package/dist/src/types/documents.js.map +1 -0
  347. package/dist/src/types/global.d.ts +42 -0
  348. package/dist/src/types/global.d.ts.map +1 -0
  349. package/dist/src/types/global.js +2 -0
  350. package/dist/src/types/global.js.map +1 -0
  351. package/dist/src/types/index.d.ts +8 -1
  352. package/dist/src/types/index.d.ts.map +1 -1
  353. package/dist/src/types/index.js +1 -1
  354. package/dist/src/types/index.js.map +1 -1
  355. package/dist/src/types/modals.d.ts +32 -0
  356. package/dist/src/types/modals.d.ts.map +1 -0
  357. package/dist/src/types/modals.js +2 -0
  358. package/dist/src/types/modals.js.map +1 -0
  359. package/dist/src/types/reactor.d.ts +2 -0
  360. package/dist/src/types/reactor.d.ts.map +1 -0
  361. package/dist/src/types/reactor.js +2 -0
  362. package/dist/src/types/reactor.js.map +1 -0
  363. package/dist/src/types/timeline.d.ts +24 -0
  364. package/dist/src/types/timeline.d.ts.map +1 -0
  365. package/dist/src/types/timeline.js +2 -0
  366. package/dist/src/types/timeline.js.map +1 -0
  367. package/dist/src/types/upload.d.ts +16 -0
  368. package/dist/src/types/upload.d.ts.map +1 -0
  369. package/dist/src/types/upload.js +2 -0
  370. package/dist/src/types/upload.js.map +1 -0
  371. package/dist/src/types/vetra.d.ts +57 -0
  372. package/dist/src/types/vetra.d.ts.map +1 -0
  373. package/dist/src/types/vetra.js +2 -0
  374. package/dist/src/types/vetra.js.map +1 -0
  375. package/dist/src/utils/documents.d.ts +2 -0
  376. package/dist/src/utils/documents.d.ts.map +1 -0
  377. package/dist/src/utils/documents.js +20 -0
  378. package/dist/src/utils/documents.js.map +1 -0
  379. package/dist/src/utils/drives.d.ts +36 -0
  380. package/dist/src/utils/drives.d.ts.map +1 -0
  381. package/dist/src/utils/drives.js +125 -0
  382. package/dist/src/utils/drives.js.map +1 -0
  383. package/dist/src/utils/export-document.d.ts +2 -2
  384. package/dist/src/utils/export-document.d.ts.map +1 -1
  385. package/dist/src/utils/export-document.js +14 -15
  386. package/dist/src/utils/export-document.js.map +1 -1
  387. package/dist/src/utils/get-revision-from-date.d.ts +3 -0
  388. package/dist/src/utils/get-revision-from-date.d.ts.map +1 -0
  389. package/dist/src/utils/get-revision-from-date.js +10 -0
  390. package/dist/src/utils/get-revision-from-date.js.map +1 -0
  391. package/dist/src/utils/index.d.ts +10 -4
  392. package/dist/src/utils/index.d.ts.map +1 -1
  393. package/dist/src/utils/index.js +10 -8
  394. package/dist/src/utils/index.js.map +1 -1
  395. package/dist/src/utils/nodes.d.ts +8 -0
  396. package/dist/src/utils/nodes.d.ts.map +1 -0
  397. package/dist/src/utils/nodes.js +17 -0
  398. package/dist/src/utils/nodes.js.map +1 -0
  399. package/dist/src/utils/switchboard.d.ts +3 -4
  400. package/dist/src/utils/switchboard.d.ts.map +1 -1
  401. package/dist/src/utils/switchboard.js +25 -24
  402. package/dist/src/utils/switchboard.js.map +1 -1
  403. package/dist/src/utils/url.d.ts +25 -0
  404. package/dist/src/utils/url.d.ts.map +1 -0
  405. package/dist/src/utils/url.js +70 -0
  406. package/dist/src/utils/url.js.map +1 -0
  407. package/dist/src/utils/user.d.ts +5 -0
  408. package/dist/src/utils/user.d.ts.map +1 -0
  409. package/dist/src/utils/user.js +15 -0
  410. package/dist/src/utils/user.js.map +1 -0
  411. package/dist/src/utils/validate-document.d.ts +3 -0
  412. package/dist/src/utils/validate-document.d.ts.map +1 -0
  413. package/dist/src/utils/validate-document.js +38 -0
  414. package/dist/src/utils/validate-document.js.map +1 -0
  415. package/dist/src/utils/vetra.d.ts +7 -0
  416. package/dist/src/utils/vetra.d.ts.map +1 -0
  417. package/dist/src/utils/vetra.js +84 -0
  418. package/dist/src/utils/vetra.js.map +1 -0
  419. package/dist/test/analytics.test.d.ts +2 -0
  420. package/dist/test/analytics.test.d.ts.map +1 -0
  421. package/dist/test/analytics.test.js +263 -0
  422. package/dist/test/analytics.test.js.map +1 -0
  423. package/dist/test/getSwitchboardUrl.test.d.ts +2 -0
  424. package/dist/test/getSwitchboardUrl.test.d.ts.map +1 -0
  425. package/dist/test/getSwitchboardUrl.test.js +105 -0
  426. package/dist/test/getSwitchboardUrl.test.js.map +1 -0
  427. package/dist/test/reactor.test.d.ts +2 -0
  428. package/dist/test/reactor.test.d.ts.map +1 -0
  429. package/dist/test/reactor.test.js +26 -0
  430. package/dist/test/reactor.test.js.map +1 -0
  431. package/dist/test/switchboard.test.d.ts +2 -0
  432. package/dist/test/switchboard.test.d.ts.map +1 -0
  433. package/dist/test/switchboard.test.js +25 -0
  434. package/dist/test/switchboard.test.js.map +1 -0
  435. package/dist/tsconfig.tsbuildinfo +1 -0
  436. package/dist/vitest.config.d.ts +3 -0
  437. package/dist/vitest.config.d.ts.map +1 -0
  438. package/dist/vitest.config.js +24 -0
  439. package/dist/vitest.config.js.map +1 -0
  440. package/package.json +43 -34
  441. package/dist/package.json +0 -75
  442. package/dist/src/analytics/analytics.d.ts +0 -5
  443. package/dist/src/analytics/analytics.d.ts.map +0 -1
  444. package/dist/src/analytics/analytics.js +0 -6
  445. package/dist/src/analytics/analytics.js.map +0 -1
  446. package/dist/src/analytics/hooks.d.ts.map +0 -1
  447. package/dist/src/analytics/hooks.js.map +0 -1
  448. package/dist/src/crypto/browser.d.ts +0 -8
  449. package/dist/src/crypto/browser.d.ts.map +0 -1
  450. package/dist/src/crypto/browser.js +0 -50
  451. package/dist/src/crypto/browser.js.map +0 -1
  452. package/dist/src/crypto/index.d.ts +0 -27
  453. package/dist/src/crypto/index.d.ts.map +0 -1
  454. package/dist/src/crypto/index.js +0 -152
  455. package/dist/src/crypto/index.js.map +0 -1
  456. package/dist/src/hooks/document-state.d.ts +0 -24
  457. package/dist/src/hooks/document-state.d.ts.map +0 -1
  458. package/dist/src/hooks/document-state.js +0 -89
  459. package/dist/src/hooks/document-state.js.map +0 -1
  460. package/dist/src/hooks/useAddDebouncedOperations.d.ts +0 -7
  461. package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +0 -1
  462. package/dist/src/hooks/useAddDebouncedOperations.js +0 -53
  463. package/dist/src/hooks/useAddDebouncedOperations.js.map +0 -1
  464. package/dist/src/hooks/useConnectCrypto.d.ts +0 -4
  465. package/dist/src/hooks/useConnectCrypto.d.ts.map +0 -1
  466. package/dist/src/hooks/useConnectCrypto.js +0 -57
  467. package/dist/src/hooks/useConnectCrypto.js.map +0 -1
  468. package/dist/src/hooks/useDocument.d.ts +0 -8
  469. package/dist/src/hooks/useDocument.d.ts.map +0 -1
  470. package/dist/src/hooks/useDocument.js +0 -32
  471. package/dist/src/hooks/useDocument.js.map +0 -1
  472. package/dist/src/hooks/useDocumentDispatch.d.ts +0 -10
  473. package/dist/src/hooks/useDocumentDispatch.d.ts.map +0 -1
  474. package/dist/src/hooks/useDocumentDispatch.js +0 -42
  475. package/dist/src/hooks/useDocumentDispatch.js.map +0 -1
  476. package/dist/src/hooks/useDocumentDrives.d.ts +0 -12
  477. package/dist/src/hooks/useDocumentDrives.d.ts.map +0 -1
  478. package/dist/src/hooks/useDocumentDrives.js +0 -122
  479. package/dist/src/hooks/useDocumentDrives.js.map +0 -1
  480. package/dist/src/hooks/useDocumentEditor.d.ts +0 -32
  481. package/dist/src/hooks/useDocumentEditor.d.ts.map +0 -1
  482. package/dist/src/hooks/useDocumentEditor.js +0 -41
  483. package/dist/src/hooks/useDocumentEditor.js.map +0 -1
  484. package/dist/src/hooks/useDriveActions.d.ts +0 -79
  485. package/dist/src/hooks/useDriveActions.d.ts.map +0 -1
  486. package/dist/src/hooks/useDriveActions.js +0 -108
  487. package/dist/src/hooks/useDriveActions.js.map +0 -1
  488. package/dist/src/hooks/useDriveContext.d.ts +0 -21
  489. package/dist/src/hooks/useDriveContext.d.ts.map +0 -1
  490. package/dist/src/hooks/useDriveContext.js +0 -26
  491. package/dist/src/hooks/useDriveContext.js.map +0 -1
  492. package/dist/src/hooks/useUserPermissions.d.ts +0 -6
  493. package/dist/src/hooks/useUserPermissions.d.ts.map +0 -1
  494. package/dist/src/hooks/useUserPermissions.js +0 -7
  495. package/dist/src/hooks/useUserPermissions.js.map +0 -1
  496. package/dist/src/renown/types.d.ts +0 -76
  497. package/dist/src/renown/types.d.ts.map +0 -1
  498. package/dist/src/renown/types.js +0 -2
  499. package/dist/src/renown/types.js.map +0 -1
  500. package/dist/src/types/drive-editor.d.ts +0 -148
  501. package/dist/src/types/drive-editor.d.ts.map +0 -1
  502. package/dist/src/types/drive-editor.js +0 -2
  503. package/dist/src/types/drive-editor.js.map +0 -1
  504. package/dist/src/utils/signature.d.ts +0 -5
  505. package/dist/src/utils/signature.d.ts.map +0 -1
  506. package/dist/src/utils/signature.js +0 -40
  507. package/dist/src/utils/signature.js.map +0 -1
  508. package/dist/tsconfig.lib.tsbuildinfo +0 -1
package/README.md ADDED
@@ -0,0 +1,692 @@
1
+ # Editor state management hooks
2
+
3
+ This library provides hooks intended to be used by editors (including drive editors) which will be rendered inside of Powerhouse applications such as Connect and Vetra.
4
+
5
+ ## Key concepts
6
+
7
+ ### Reactor
8
+
9
+ All of the data used by these hooks is ultimately derived from the `Reactor`, which manages the asynchronous eventually consistent state of drives and documents.
10
+
11
+ ### Selected drives, folders and documents
12
+
13
+ In the application, there are certain items that can be set as "selected".
14
+
15
+ - selected drive
16
+ - selected folder
17
+ - selected document
18
+
19
+ We provide hooks for getting the selected item for each:
20
+
21
+ `useSelectedDrive`
22
+ `useSelectedFolder`
23
+ `useSelectedDocument`
24
+
25
+ Folders and documents are part of a given drive, so they will both be undefined if the selected drive is undefined.
26
+
27
+ _Either_ a folder or a document can be selected but not both, so if one is defined then the other will be undefined.
28
+
29
+ To set the selected drive, we provide a function `setSelectedDrive` which takes either a `DocumentDriveDocument` or a `DocumentDriveDocument['header']['slug']`.
30
+
31
+ To set the selected document/folder, we provide a function `setSelectedNode` which returns a setter function which can be used for _both_ documents and folders. This function takes either a `Node` or a slug which can be the url slug or the node's id.
32
+
33
+ ## Hooks
34
+
35
+ ### Reactor
36
+
37
+ ```ts
38
+ function useReactor(): Reactor | undefined;
39
+ ```
40
+
41
+ Returns the reactor instance.
42
+
43
+ ##### Usage
44
+
45
+ ```jsx
46
+ import { useReactor } from '@powerhousedao/state`
47
+
48
+ function MyEditorComponent() {
49
+ const reactor = useReactor();
50
+ }
51
+ ```
52
+
53
+ ### Drives
54
+
55
+ #### useDrives
56
+
57
+ ```ts
58
+ function useDrives(): DocumentDriveDocument[] | undefined;
59
+ ```
60
+
61
+ Returns the drives for a reactor.
62
+
63
+ ##### Usage
64
+
65
+ ```jsx
66
+ import { useDrives } from "@powerhousedao/state";
67
+
68
+ function MyEditorComponent() {
69
+ const drives = useDrives();
70
+ }
71
+ ```
72
+
73
+ #### useDriveById
74
+
75
+ ```ts
76
+ function useDriveById(
77
+ id: string | null | undefined,
78
+ ): DocumentDriveDocument | undefined;
79
+ ```
80
+
81
+ Returns a drive by id.
82
+
83
+ ##### Usage
84
+
85
+ ```jsx
86
+ import { useDriveById } from "@powerhousedao/state";
87
+
88
+ function MyEditorComponent() {
89
+ const driveById = useDriveById();
90
+ }
91
+ ```
92
+
93
+ #### useSelectedDrive
94
+
95
+ ```ts
96
+ function useSelectedDrive(): DocumentDriveDocument | undefined;
97
+ ```
98
+
99
+ Returns the selected drive. You can se the selected drive with `setSelectedDrive`.
100
+
101
+ ##### Usage
102
+
103
+ ```jsx
104
+ import { useSelectedDrive } from "@powerhousedao/state";
105
+
106
+ function MyEditorComponent() {
107
+ const selectedDrive = useSelectedDrive();
108
+ }
109
+ ```
110
+
111
+ #### drive properties convenience hooks
112
+
113
+ We provide hooks for accessing various properties on the drive object for your convenience. These use the above hooks to get a drive and then return properties in the object.
114
+
115
+ ```ts
116
+ /** Returns the remote URL for a drive. */
117
+ function useDriveRemoteUrl(
118
+ driveId: string | null | undefined,
119
+ ): string | undefined;
120
+
121
+ /** Returns the pull responder trigger for a drive. */
122
+ function useDrivePullResponderTrigger(
123
+ driveId: string | null | undefined,
124
+ ): Trigger | undefined;
125
+
126
+ /** Returns the pull responder URL for a drive. */
127
+ function useDrivePullResponderUrl(
128
+ driveId: string | null | undefined,
129
+ ): string | undefined;
130
+
131
+ /** Returns whether a drive is remote. */
132
+ function useDriveIsRemote(driveId: string | null | undefined): boolean;
133
+
134
+ /** Returns the sharing type for a drive. */
135
+ function useDriveSharingType(
136
+ driveId: string | null | undefined,
137
+ ): SharingType | undefined;
138
+
139
+ /** Returns whether a drive is available offline. */
140
+ function useDriveAvailableOffline(driveId: string | null | undefined): boolean;
141
+ ```
142
+
143
+ ##### Usage
144
+
145
+ ```jsx
146
+ import {
147
+ useDriveRemoteUrl,
148
+ useDrivePullResponderTrigger,
149
+ useDrivePullResponderUrl,
150
+ useDriveIsRemote,
151
+ useDriveSharingType,
152
+ useDriveAvailableOffline,
153
+ } from "@powerhousedao/state";
154
+
155
+ function MyEditorComponent() {
156
+ const myDriveId = "some-drive-id";
157
+ const driveRemoteUrl = useDriveRemoteUrl(myDriveId);
158
+ const drivePullResponderTrigger = useDrivePullResponderTrigger(myDriveId);
159
+ const drivePullResponderUrl = useDrivePullResponderUrl(myDriveId);
160
+ const driveIsRemote = useDriveIsRemote(myDriveId);
161
+ const driveSharingType = useDriveSharingType(myDriveId);
162
+ const driveAvailableOffline = useDriveAvailableOffline(myDriveId);
163
+
164
+ console.log({
165
+ driveRemoteUrl,
166
+ drivePullResponderTrigger,
167
+ drivePullResponderUrl,
168
+ driveIsRemote,
169
+ driveSharingType,
170
+ driveAvailableOffline,
171
+ });
172
+ }
173
+ ```
174
+
175
+ ### Documents
176
+
177
+ #### useDocumentById
178
+
179
+ ```ts
180
+ function useDocumentById(id: string | null | undefined): PHDocument | undefined;
181
+ ```
182
+
183
+ Returns a document and a dispatch function by id.
184
+
185
+ ##### Usage
186
+
187
+ ```jsx
188
+ import { useDocumentById } from "@powerhousedao/state";
189
+
190
+ function MyEditorComponent() {
191
+ const myDocumentId = "some-document-id";
192
+ const [document, dispatch] = useDocumentById(myDocumentId);
193
+ }
194
+ ```
195
+
196
+ #### useGetDocument
197
+
198
+ ```ts
199
+ function useGetDocument(id: string | null | undefined): PHDocument | undefined;
200
+ ```
201
+
202
+ Retrieves a document from the reactor and subscribes to changes using React Suspense. This hook will suspend rendering while the document is loading.
203
+
204
+ ##### Usage
205
+
206
+ ```jsx
207
+ import { useGetDocument } from "@powerhousedao/state";
208
+
209
+ function MyEditorComponent() {
210
+ const documentId = "some-document-id";
211
+ const document = useGetDocument(documentId);
212
+ }
213
+ ```
214
+
215
+ #### useGetDocuments
216
+
217
+ ```ts
218
+ function useGetDocuments(
219
+ ids: string[] | null | undefined,
220
+ ): PHDocument[] | undefined;
221
+ ```
222
+
223
+ Retrieves multiple documents from the reactor using React Suspense. This hook will suspend rendering while any of the documents are loading.
224
+
225
+ ##### Usage
226
+
227
+ ```jsx
228
+ import { useGetDocuments } from "@powerhousedao/state";
229
+
230
+ function MyEditorComponent() {
231
+ const documentIds = ["doc-id-1", "doc-id-2", "doc-id-3"];
232
+ const documents = useGetDocuments(documentIds);
233
+ }
234
+ ```
235
+
236
+ #### useGetDocumentAsync
237
+
238
+ ```ts
239
+ function useGetDocumentAsync(id: string | null | undefined): {
240
+ status: "initial" | "pending" | "success" | "error";
241
+ data: PHDocument | undefined;
242
+ isPending: boolean;
243
+ error: unknown;
244
+ reload: (() => void) | undefined;
245
+ };
246
+ ```
247
+
248
+ Retrieves a document from the reactor without suspending rendering. Returns the current state of the document loading operation, including status, data, error, and a reload function.
249
+
250
+ ##### Usage
251
+
252
+ ```jsx
253
+ import { useGetDocumentAsync } from "@powerhousedao/state";
254
+
255
+ function MyEditorComponent() {
256
+ const documentId = "some-document-id";
257
+ const { status, data, isPending, error, reload } =
258
+ useGetDocumentAsync(documentId);
259
+
260
+ if (isPending) {
261
+ return <div>Loading...</div>;
262
+ }
263
+
264
+ if (error) {
265
+ return <div>Error: {error.message}</div>;
266
+ }
267
+
268
+ if (status === "success" && data) {
269
+ return <div>Document: {data.name}</div>;
270
+ }
271
+ }
272
+ ```
273
+
274
+ #### useDocumentsInSelectedDrive
275
+
276
+ ```ts
277
+ function useDocumentsInSelectedDrive(): PHDocument[] | undefined;
278
+ ```
279
+
280
+ Returns the documents in the reactor for the selected drive.
281
+
282
+ ##### Usage
283
+
284
+ ```jsx
285
+ import { useDocumentsInSelectedDrive } from "@powerhousedao/state";
286
+
287
+ function MyEditorComponent() {
288
+ const selectedDriveDocuments = useDocumentsInSelectedDrive();
289
+ }
290
+ ```
291
+
292
+ #### useSelectedDocument
293
+
294
+ ```ts
295
+ function useSelectedDocument(): PHDocument | undefined;
296
+ ```
297
+
298
+ Returns the selected document. You can set the selected document with `setSelectedNode`.
299
+
300
+ ##### Usage
301
+
302
+ ```jsx
303
+ import { useSelectedDocument } from "@powerhousedao/state";
304
+
305
+ function MyEditorComponent() {
306
+ const selectedDocument = useSelectedDocument();
307
+ }
308
+ ```
309
+
310
+ ### Nodes
311
+
312
+ "Nodes" refers to the items found in a given drive's `state.global.nodes` array. Nodes can represent both files (documents) and folders.
313
+
314
+ A document in a drive will have a node in the drive's node list which has the same id as the document.
315
+
316
+ Nodes have an optional `parentFolder` field, which is the id of a folder node in the drive when it is defined. If it is undefined, the node is a direct child of the drive.
317
+
318
+ A given folder node's children are the nodes in the drive's node list which have their parent folder set to the folder node's id.
319
+
320
+ ```ts
321
+ type FileNode = {
322
+ documentType: string;
323
+ id: string;
324
+ kind: string;
325
+ name: string;
326
+ parentFolder: string | null | undefined;
327
+ };
328
+
329
+ type FolderNode = {
330
+ id: string;
331
+ kind: string;
332
+ name: string;
333
+ parentFolder: string | null | undefined;
334
+ };
335
+
336
+ type Node = FileNode | FolderNode;
337
+ ```
338
+
339
+ #### useNodes
340
+
341
+ Ideally you should not need to handle the list of nodes directly, since we already provide documents and folders. But these hooks are provided just in case.
342
+
343
+ ```ts
344
+ function useNodes(): Node[] | undefined;
345
+ ```
346
+
347
+ Returns the nodes for a drive.
348
+
349
+ ##### Usage
350
+
351
+ ```jsx
352
+ import { useNodes } from "@powerhousedao/state";
353
+
354
+ function MyEditorComponent() {
355
+ const nodes = useNodes();
356
+ }
357
+ ```
358
+
359
+ #### useNodeById
360
+
361
+ ```ts
362
+ function useNodeById(id: string | null | undefined): Node | undefined;
363
+ ```
364
+
365
+ Returns a node in the selected drive by id.
366
+
367
+ ##### Usage
368
+
369
+ ```jsx
370
+ import { useNodeById } from "@powerhousedao/state";
371
+
372
+ function MyEditorComponent() {
373
+ const myFolderId = "some-folder-id";
374
+ const myDocumentId = "some-document-id";
375
+ const myFolderNode = useNodeById(myFolderId);
376
+ const myFileNode = useNodeById(myDocumentId);
377
+ }
378
+ ```
379
+
380
+ #### useSelectedFolder
381
+
382
+ ```ts
383
+ function useSelectedFolder(): FolderNode | undefined;
384
+ ```
385
+
386
+ Returns the selected folder. You can set the selected folder with `setSelectedNode`
387
+
388
+ ##### Usage
389
+
390
+ ```jsx
391
+ import { useSelectedFolder } from "@powerhousedao/state";
392
+
393
+ function MyEditorComponent() {
394
+ const selectedFolder = useSelectedFolder();
395
+ }
396
+ ```
397
+
398
+ #### useSelectedNodePath
399
+
400
+ ```ts
401
+ function useSelectedNodePath(): Node[];
402
+ ```
403
+
404
+ Returns the path to the selected node. Useful for navigational components like breadcrumbs.
405
+
406
+ ##### Usage
407
+
408
+ ```jsx
409
+ import { useSelectedNodePath } from '@powerhousedao/state';
410
+
411
+ function MyEditorComponent() {
412
+ const nodes = useSelectedNodePath();
413
+
414
+ return <Breadcrumbs nodes={nodes}>
415
+ }
416
+ ```
417
+
418
+ #### useChildNodes/useFolderChildNodes/useFileChildNodes
419
+
420
+ ```ts
421
+ function useChildNodes(): Node[];
422
+ ```
423
+
424
+ Returns the child nodes for the selected drive or folder.
425
+
426
+ ```ts
427
+ function useFolderChildNodes(): FolderNode[];
428
+ ```
429
+
430
+ Returns the folder child nodes for the selected drive or folder.
431
+
432
+ ```ts
433
+ function useFileChildNodes(): FileNode[];
434
+ ```
435
+
436
+ Returns the file (document) child nodes for the selected drive or folder.
437
+
438
+ ##### Usage
439
+
440
+ ```jsx
441
+ import { useChildNodes, useFolderChildNodes, useFileChildNodes } from '@powerhousedao/state';
442
+
443
+ function MyEditorComponent() {
444
+ const nodes = useChildNodes();
445
+ const fileNodes = useChildFileNodes();
446
+ const folderNodes = useChildFolderNodes();
447
+
448
+ return (
449
+ <div>
450
+ <FilesAndFolders nodes={nodes}>
451
+ <Files fileNodes={fileNodes}>
452
+ <Folders folderNodes={folderNodes}>
453
+ </div>
454
+ )
455
+ }
456
+ ```
457
+
458
+ #### useChildNodesForId/useFolderChildNodesForId/useFileChildNodesForId
459
+
460
+ ```ts
461
+ function useChildNodesForId(id: string | null | undefined): Node[];
462
+ ```
463
+
464
+ Returns the child nodes for a drive or folder by id.
465
+
466
+ ```ts
467
+ function useFolderChildNodesForId(id: string | null | undefined): FolderNode[];
468
+ ```
469
+
470
+ Returns the folder child nodes for a drive or folder by id.
471
+
472
+ ```ts
473
+ function useFileChildNodesForId(id: string | null | undefined): FileNode[];
474
+ ```
475
+
476
+ Returns the file (document) child nodes for a drive or folder by id.
477
+
478
+ ##### Usage
479
+
480
+ ```jsx
481
+ import { useChildNodesForId, useFolderChildNodesForId, useFileChildNodesForId } from '@powerhousedao/state';
482
+
483
+ function MyEditorComponent() {
484
+ const driveOrFolderId = 'some-drive-or-folder-id';
485
+ const nodes = useChildNodesForId(driveOrFolderId);
486
+ const fileNodes = useFileChildNodesForId(driveOrFolderId);
487
+ const folderNodes = useFolderChildNodesForId(driveOrFolderId);
488
+
489
+ return (
490
+ <div>
491
+ <FilesAndFolders nodes={nodes}>
492
+ <Files fileNodes={fileNodes}>
493
+ <Folders folderNodes={folderNodes}>
494
+ </div>
495
+ )
496
+ }
497
+ ```
498
+
499
+ #### useNodeName/useNodeKind
500
+
501
+ ```ts
502
+ function useNodeName(id: string | null | undefined): string | undefined;
503
+ ```
504
+
505
+ Returns the name of a node.
506
+
507
+ ```ts
508
+ function useNodeKind(id: string | null | undefined): NodeKind | undefined;
509
+ ```
510
+
511
+ Returns the kind of a node.
512
+
513
+ ##### Usage
514
+
515
+ ```jsx
516
+ import { useNodeName, useNodeKind } from "@powerhousedao/state";
517
+
518
+ function MyEditorComponent() {
519
+ const nodeId = "some-node-id";
520
+ const nodeName = useNodeName(nodeId);
521
+ const nodeKind = useNodeKind(nodeId);
522
+
523
+ if (nodeKind === "file") {
524
+ return <File name={nodeName} />;
525
+ }
526
+
527
+ if (nodeKind === "folder") {
528
+ return <Folder name={nodeName} />;
529
+ }
530
+ }
531
+ ```
532
+
533
+ ### Vetra packages and modules
534
+
535
+ Vetra packages hold code which can plug into your Connect application. This includes common default modules like the document model document model editor and document drive document model, as well as the modules from your local project and the various packages you have installed.
536
+
537
+ These modules can be for:
538
+
539
+ - document models
540
+ - editors
541
+ - subgraphs
542
+ - import scripts
543
+ - processors
544
+
545
+ Each Vetra package contains a `modules` field which optionally contains lists of these modules.
546
+
547
+ #### useVetraPackages
548
+
549
+ ```ts
550
+ function useVetraPackages(): VetraPackage[] | undefined;
551
+ ```
552
+
553
+ Returns all of the Vetra packages in your Connect app.
554
+
555
+ ##### Usage
556
+
557
+ ```jsx
558
+ import { useVetraPackages } from "@powerhousedao/state";
559
+
560
+ function MyEditorComponent() {
561
+ const vetraPackages = useVetraPackages();
562
+ }
563
+ ```
564
+
565
+ #### useDocumentModelModules
566
+
567
+ ```ts
568
+ function useDocumentModelModules(): DocumentModelModule[] | undefined;
569
+ ```
570
+
571
+ Returns the document model modules from your Vetra packages.
572
+
573
+ ##### Usage
574
+
575
+ ```jsx
576
+ import { useDocumentModelModules } from "@powerhousedao/state";
577
+
578
+ function MyEditorComponent() {
579
+ const documentModelModules = useDocumentModelModules();
580
+ }
581
+ ```
582
+
583
+ #### useDocumentModelModuleById
584
+
585
+ ```ts
586
+ function useDocumentModelModuleById(): DocumentModelModule[] | undefined;
587
+ ```
588
+
589
+ Returns the document model for a given id (document type).
590
+ _NOTE_ What we call here an id is really the value in the "document type" field in the document model editor
591
+ _NOTE_ Connect assumes that these document types (ids) are unique. It is your responsibility to enforce this.
592
+
593
+ ##### Usage
594
+
595
+ ```jsx
596
+ import { useDocumentModelModuleById } from "@powerhousedao/state";
597
+
598
+ function MyEditorComponent() {
599
+ const documentType = "my-org/my-document";
600
+ const documentModelModuleById = useDocumentModelModuleById(documentType);
601
+ }
602
+ ```
603
+
604
+ #### useEditorModules
605
+
606
+ ```ts
607
+ function useEditorModules(): EditorModule[] | undefined;
608
+ ```
609
+
610
+ Returns the editor modules from your Vetra packages.
611
+
612
+ ##### Usage
613
+
614
+ ```jsx
615
+ import { useEditorModules } from "@powerhousedao/state";
616
+
617
+ function MyEditorComponent() {
618
+ const editorModules = useEditorModules();
619
+ }
620
+ ```
621
+
622
+ #### useDriveEditorModules
623
+
624
+ ```ts
625
+ function useDriveEditorModules(): DriveEditorModule[] | undefined;
626
+ ```
627
+
628
+ Returns the drive editor modules from your Vetra packages.
629
+
630
+ ##### Usage
631
+
632
+ ```jsx
633
+ import { useDriveEditorModules } from "@powerhousedao/state";
634
+
635
+ function MyDriveEditorComponent() {
636
+ const driveEditorModules = useDriveEditorModules();
637
+ }
638
+ ```
639
+
640
+ #### useProcessorModules
641
+
642
+ ```ts
643
+ function useProcessorModules(): ProcessorModule[] | undefined;
644
+ ```
645
+
646
+ Returns the processor modules from your Vetra packages.
647
+
648
+ ##### Usage
649
+
650
+ ```jsx
651
+ import { useProcessorModules } from "@powerhousedao/state";
652
+
653
+ function MyProcessorComponent() {
654
+ const processorModules = useProcessorModules();
655
+ }
656
+ ```
657
+
658
+ #### useSubgraphModules
659
+
660
+ ```ts
661
+ function useSubgraphModules(): SubgraphModule[] | undefined;
662
+ ```
663
+
664
+ Returns the subgraph modules from your Vetra packages.
665
+
666
+ ##### Usage
667
+
668
+ ```jsx
669
+ import { useSubgraphModules } from "@powerhousedao/state";
670
+
671
+ function MySubgraphComponent() {
672
+ const subgraphModules = useSubgraphModules();
673
+ }
674
+ ```
675
+
676
+ #### useImportScriptModules
677
+
678
+ ```ts
679
+ function useImportScriptModules(): ImportScriptModule[] | undefined;
680
+ ```
681
+
682
+ Returns the import script modules from your Vetra packages.
683
+
684
+ ##### Usage
685
+
686
+ ```jsx
687
+ import { useImportScriptModules } from "@powerhousedao/state";
688
+
689
+ function MyImportScriptComponent() {
690
+ const importScriptModules = useImportScriptModules();
691
+ }
692
+ ```
@@ -0,0 +1,4 @@
1
+ import type { Action, PHDocument } from "document-model";
2
+ export declare function dispatchActions<TDocument = PHDocument, TAction = Action>(actionOrActions: TAction[] | TAction | undefined, document: TDocument | undefined): Promise<PHDocument | undefined>;
3
+ export declare function dispatchActions(actionOrActions: Action[] | Action | undefined, documentId: string): Promise<PHDocument | undefined>;
4
+ //# sourceMappingURL=dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../src/actions/dispatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAezD,wBAAsB,eAAe,CAAC,SAAS,GAAG,UAAU,EAAE,OAAO,GAAG,MAAM,EAC5E,eAAe,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,EAChD,QAAQ,EAAE,SAAS,GAAG,SAAS,GAC9B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;AACnC,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,EAE9C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { logger } from "document-drive";
2
+ import { queueActions } from "./queue.js";
3
+ import { makeSignedActionsWithContext } from "./sign.js";
4
+ async function getDocument(documentId) {
5
+ try {
6
+ return await window.ph?.reactor?.getDocument(documentId);
7
+ }
8
+ catch (error) {
9
+ logger.debug(`Failed to get document with id ${documentId}:`, error);
10
+ return undefined;
11
+ }
12
+ }
13
+ export async function dispatchActions(actionOrActions, documentOrDocumentId) {
14
+ const document = typeof documentOrDocumentId === "string"
15
+ ? await getDocument(documentOrDocumentId)
16
+ : documentOrDocumentId;
17
+ if (!document) {
18
+ logger.error(`Document with id ${JSON.stringify(documentOrDocumentId)} not found`);
19
+ return;
20
+ }
21
+ const signedActionsWithContext = await makeSignedActionsWithContext(actionOrActions, document);
22
+ if (!signedActionsWithContext) {
23
+ logger.error("No signed actions with context found");
24
+ return;
25
+ }
26
+ const result = await queueActions(document, signedActionsWithContext);
27
+ return result;
28
+ }
29
+ //# sourceMappingURL=dispatch.js.map