@powerhousedao/reactor-browser 5.0.0-staging.8 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/README.md +127 -81
  2. package/dist/src/actions/dispatch.d.ts +2 -2
  3. package/dist/src/actions/dispatch.d.ts.map +1 -1
  4. package/dist/src/actions/dispatch.js +1 -1
  5. package/dist/src/actions/dispatch.js.map +1 -1
  6. package/dist/src/actions/document.d.ts +4 -2
  7. package/dist/src/actions/document.d.ts.map +1 -1
  8. package/dist/src/actions/document.js +235 -21
  9. package/dist/src/actions/document.js.map +1 -1
  10. package/dist/src/actions/drive.d.ts +5 -6
  11. package/dist/src/actions/drive.d.ts.map +1 -1
  12. package/dist/src/actions/drive.js +13 -52
  13. package/dist/src/actions/drive.js.map +1 -1
  14. package/dist/src/actions/index.d.ts +2 -5
  15. package/dist/src/actions/index.d.ts.map +1 -1
  16. package/dist/src/actions/index.js +2 -5
  17. package/dist/src/actions/index.js.map +1 -1
  18. package/dist/src/actions/queue.d.ts +3 -1
  19. package/dist/src/actions/queue.d.ts.map +1 -1
  20. package/dist/src/actions/queue.js +19 -3
  21. package/dist/src/actions/queue.js.map +1 -1
  22. package/dist/src/actions/sign.d.ts +1 -1
  23. package/dist/src/actions/sign.d.ts.map +1 -1
  24. package/dist/src/actions/sign.js +7 -7
  25. package/dist/src/actions/sign.js.map +1 -1
  26. package/dist/src/analytics/context.d.ts +3 -3
  27. package/dist/src/analytics/context.d.ts.map +1 -1
  28. package/dist/src/analytics/context.js +2 -2
  29. package/dist/src/analytics/context.js.map +1 -1
  30. package/dist/src/analytics/hooks.d.ts +3 -2
  31. package/dist/src/analytics/hooks.d.ts.map +1 -1
  32. package/dist/src/analytics/hooks.js +3 -3
  33. package/dist/src/analytics/hooks.js.map +1 -1
  34. package/dist/src/analytics/index.d.ts +2 -1
  35. package/dist/src/analytics/index.d.ts.map +1 -1
  36. package/dist/src/analytics/index.js +2 -1
  37. package/dist/src/analytics/index.js.map +1 -1
  38. package/dist/src/analytics/store/browser.d.ts +1 -1
  39. package/dist/src/analytics/store/browser.d.ts.map +1 -1
  40. package/dist/src/analytics/store/browser.js +1 -1
  41. package/dist/src/analytics/store/browser.js.map +1 -1
  42. package/dist/src/analytics/store/memory.d.ts +1 -1
  43. package/dist/src/analytics/store/memory.d.ts.map +1 -1
  44. package/dist/src/analytics/store/memory.js +1 -1
  45. package/dist/src/analytics/store/memory.js.map +1 -1
  46. package/dist/src/analytics/types.d.ts +2 -3
  47. package/dist/src/analytics/types.d.ts.map +1 -1
  48. package/dist/src/connect.d.ts +2 -0
  49. package/dist/src/connect.d.ts.map +1 -0
  50. package/dist/src/connect.js +2 -0
  51. package/dist/src/connect.js.map +1 -0
  52. package/dist/src/context/index.d.ts +1 -1
  53. package/dist/src/context/index.d.ts.map +1 -1
  54. package/dist/src/context/index.js +1 -1
  55. package/dist/src/context/index.js.map +1 -1
  56. package/dist/src/context/read-mode.d.ts +2 -2
  57. package/dist/src/context/read-mode.d.ts.map +1 -1
  58. package/dist/src/context/read-mode.js +23 -41
  59. package/dist/src/context/read-mode.js.map +1 -1
  60. package/dist/src/document-model.d.ts +1 -2
  61. package/dist/src/document-model.d.ts.map +1 -1
  62. package/dist/src/document-model.js +1 -1
  63. package/dist/src/document-model.js.map +1 -1
  64. package/dist/src/errors.d.ts +16 -0
  65. package/dist/src/errors.d.ts.map +1 -0
  66. package/dist/src/errors.js +27 -0
  67. package/dist/src/errors.js.map +1 -0
  68. package/dist/src/global/core.d.ts.map +1 -1
  69. package/dist/src/global/core.js +0 -1
  70. package/dist/src/global/core.js.map +1 -1
  71. package/dist/src/global/index.d.ts +0 -1
  72. package/dist/src/global/index.d.ts.map +1 -1
  73. package/dist/src/global/index.js +0 -1
  74. package/dist/src/global/index.js.map +1 -1
  75. package/dist/src/global/types.d.ts +2 -2
  76. package/dist/src/global/types.d.ts.map +1 -1
  77. package/dist/src/hooks/add-ph-event-handlers.d.ts.map +1 -0
  78. package/dist/src/hooks/add-ph-event-handlers.js +89 -0
  79. package/dist/src/hooks/add-ph-event-handlers.js.map +1 -0
  80. package/dist/src/hooks/all-documents.d.ts +9 -0
  81. package/dist/src/hooks/all-documents.d.ts.map +1 -0
  82. package/dist/src/hooks/all-documents.js +9 -0
  83. package/dist/src/hooks/all-documents.js.map +1 -0
  84. package/dist/src/hooks/allowed-document-model-modules.d.ts +2 -0
  85. package/dist/src/hooks/allowed-document-model-modules.d.ts.map +1 -0
  86. package/dist/src/hooks/allowed-document-model-modules.js +10 -0
  87. package/dist/src/hooks/allowed-document-model-modules.js.map +1 -0
  88. package/dist/src/hooks/child-nodes.d.ts +4 -0
  89. package/dist/src/hooks/child-nodes.d.ts.map +1 -0
  90. package/dist/src/hooks/child-nodes.js +15 -0
  91. package/dist/src/hooks/child-nodes.js.map +1 -0
  92. package/dist/src/hooks/config/connect.d.ts +72 -0
  93. package/dist/src/hooks/config/connect.d.ts.map +1 -0
  94. package/dist/src/hooks/config/connect.js +174 -0
  95. package/dist/src/hooks/config/connect.js.map +1 -0
  96. package/dist/src/hooks/config/editor.d.ts +32 -0
  97. package/dist/src/hooks/config/editor.d.ts.map +1 -0
  98. package/dist/src/hooks/config/editor.js +43 -0
  99. package/dist/src/hooks/config/editor.js.map +1 -0
  100. package/dist/src/hooks/config/set-config-by-key.d.ts +5 -0
  101. package/dist/src/hooks/config/set-config-by-key.d.ts.map +1 -0
  102. package/dist/src/hooks/config/set-config-by-key.js +15 -0
  103. package/dist/src/hooks/config/set-config-by-key.js.map +1 -0
  104. package/dist/src/hooks/config/set-config-by-object.d.ts +31 -0
  105. package/dist/src/hooks/config/set-config-by-object.d.ts.map +1 -0
  106. package/dist/src/hooks/config/set-config-by-object.js +84 -0
  107. package/dist/src/hooks/config/set-config-by-object.js.map +1 -0
  108. package/dist/src/hooks/config/use-value-by-key.d.ts +13 -0
  109. package/dist/src/hooks/config/use-value-by-key.d.ts.map +1 -0
  110. package/dist/src/hooks/config/use-value-by-key.js +23 -0
  111. package/dist/src/hooks/config/use-value-by-key.js.map +1 -0
  112. package/dist/src/hooks/config/utils.d.ts +3 -0
  113. package/dist/src/hooks/config/utils.d.ts.map +1 -0
  114. package/dist/src/hooks/config/utils.js +6 -0
  115. package/dist/src/hooks/config/utils.js.map +1 -0
  116. package/dist/src/hooks/connect.d.ts +15 -0
  117. package/dist/src/hooks/connect.d.ts.map +1 -0
  118. package/dist/src/hooks/connect.js +15 -0
  119. package/dist/src/hooks/connect.js.map +1 -0
  120. package/dist/src/hooks/crypto.d.ts +1 -2
  121. package/dist/src/hooks/crypto.d.ts.map +1 -1
  122. package/dist/src/hooks/crypto.js +2 -10
  123. package/dist/src/hooks/crypto.js.map +1 -1
  124. package/dist/src/hooks/did.d.ts +2 -0
  125. package/dist/src/hooks/did.d.ts.map +1 -0
  126. package/dist/src/hooks/did.js +3 -0
  127. package/dist/src/hooks/did.js.map +1 -0
  128. package/dist/src/hooks/dispatch.d.ts +3 -2
  129. package/dist/src/hooks/dispatch.d.ts.map +1 -1
  130. package/dist/src/hooks/dispatch.js +1 -0
  131. package/dist/src/hooks/dispatch.js.map +1 -1
  132. package/dist/src/hooks/document-by-id.d.ts +4 -0
  133. package/dist/src/hooks/document-by-id.d.ts.map +1 -0
  134. package/dist/src/hooks/document-by-id.js +10 -0
  135. package/dist/src/hooks/document-by-id.js.map +1 -0
  136. package/dist/src/hooks/document-model-modules.d.ts +4 -0
  137. package/dist/src/hooks/document-model-modules.d.ts.map +1 -0
  138. package/dist/src/hooks/document-model-modules.js +10 -0
  139. package/dist/src/hooks/document-model-modules.js.map +1 -0
  140. package/dist/src/hooks/document-of-type.d.ts +5 -0
  141. package/dist/src/hooks/document-of-type.d.ts.map +1 -0
  142. package/dist/src/hooks/document-of-type.js +22 -0
  143. package/dist/src/hooks/document-of-type.js.map +1 -0
  144. package/dist/src/hooks/document-types.d.ts +7 -0
  145. package/dist/src/hooks/document-types.d.ts.map +1 -0
  146. package/dist/src/hooks/document-types.js +13 -0
  147. package/dist/src/hooks/document-types.js.map +1 -0
  148. package/dist/src/hooks/drive-by-id.d.ts +4 -0
  149. package/dist/src/hooks/drive-by-id.d.ts.map +1 -0
  150. package/dist/src/hooks/drive-by-id.js +12 -0
  151. package/dist/src/hooks/drive-by-id.js.map +1 -0
  152. package/dist/src/hooks/drives.d.ts +8 -23
  153. package/dist/src/hooks/drives.d.ts.map +1 -1
  154. package/dist/src/hooks/drives.js +8 -88
  155. package/dist/src/hooks/drives.js.map +1 -1
  156. package/dist/src/hooks/editor-modules.d.ts +9 -0
  157. package/dist/src/hooks/editor-modules.d.ts.map +1 -0
  158. package/dist/src/hooks/editor-modules.js +43 -0
  159. package/dist/src/hooks/editor-modules.js.map +1 -0
  160. package/dist/src/hooks/folder-by-id.d.ts +3 -0
  161. package/dist/src/hooks/folder-by-id.d.ts.map +1 -0
  162. package/dist/src/hooks/folder-by-id.js +6 -0
  163. package/dist/src/hooks/folder-by-id.js.map +1 -0
  164. package/dist/src/hooks/import-script-modules.d.ts +3 -0
  165. package/dist/src/hooks/import-script-modules.d.ts.map +1 -0
  166. package/dist/src/hooks/import-script-modules.js +6 -0
  167. package/dist/src/hooks/import-script-modules.js.map +1 -0
  168. package/dist/src/hooks/index.d.ts +39 -11
  169. package/dist/src/hooks/index.d.ts.map +1 -1
  170. package/dist/src/hooks/index.js +39 -11
  171. package/dist/src/hooks/index.js.map +1 -1
  172. package/dist/src/hooks/items-in-selected-drive.d.ts +13 -0
  173. package/dist/src/hooks/items-in-selected-drive.d.ts.map +1 -0
  174. package/dist/src/hooks/items-in-selected-drive.js +36 -0
  175. package/dist/src/hooks/items-in-selected-drive.js.map +1 -0
  176. package/dist/src/hooks/items-in-selected-folder.d.ts +11 -0
  177. package/dist/src/hooks/items-in-selected-folder.d.ts.map +1 -0
  178. package/dist/src/hooks/items-in-selected-folder.js +33 -0
  179. package/dist/src/hooks/items-in-selected-folder.js.map +1 -0
  180. package/dist/src/hooks/loading.d.ts +2 -0
  181. package/dist/src/hooks/loading.d.ts.map +1 -0
  182. package/dist/src/hooks/loading.js +3 -0
  183. package/dist/src/hooks/loading.js.map +1 -0
  184. package/dist/src/hooks/login-status.d.ts +2 -0
  185. package/dist/src/hooks/login-status.d.ts.map +1 -0
  186. package/dist/src/hooks/login-status.js +3 -0
  187. package/dist/src/hooks/login-status.js.map +1 -0
  188. package/dist/src/hooks/make-ph-event-functions.d.ts +7 -0
  189. package/dist/src/hooks/make-ph-event-functions.d.ts.map +1 -0
  190. package/dist/src/hooks/make-ph-event-functions.js +46 -0
  191. package/dist/src/hooks/make-ph-event-functions.js.map +1 -0
  192. package/dist/src/hooks/modals.d.ts +17 -0
  193. package/dist/src/hooks/modals.d.ts.map +1 -0
  194. package/dist/src/hooks/modals.js +26 -0
  195. package/dist/src/hooks/modals.js.map +1 -0
  196. package/dist/src/hooks/node-actions.d.ts +11 -0
  197. package/dist/src/hooks/node-actions.d.ts.map +1 -0
  198. package/dist/src/hooks/node-actions.js +97 -0
  199. package/dist/src/hooks/node-actions.js.map +1 -0
  200. package/dist/src/hooks/node-by-id.d.ts +4 -0
  201. package/dist/src/hooks/node-by-id.d.ts.map +1 -0
  202. package/dist/src/hooks/node-by-id.js +7 -0
  203. package/dist/src/hooks/node-by-id.js.map +1 -0
  204. package/dist/src/hooks/node-path.d.ts +6 -0
  205. package/dist/src/hooks/node-path.d.ts.map +1 -0
  206. package/dist/src/hooks/node-path.js +23 -0
  207. package/dist/src/hooks/node-path.js.map +1 -0
  208. package/dist/src/hooks/parent-folder.d.ts +4 -0
  209. package/dist/src/hooks/parent-folder.d.ts.map +1 -0
  210. package/dist/src/hooks/parent-folder.js +13 -0
  211. package/dist/src/hooks/parent-folder.js.map +1 -0
  212. package/dist/src/hooks/processor-manager.d.ts +8 -2
  213. package/dist/src/hooks/processor-manager.d.ts.map +1 -1
  214. package/dist/src/hooks/processor-manager.js +8 -6
  215. package/dist/src/hooks/processor-manager.js.map +1 -1
  216. package/dist/src/hooks/processor-modules.d.ts +4 -0
  217. package/dist/src/hooks/processor-modules.d.ts.map +1 -0
  218. package/dist/src/hooks/processor-modules.js +12 -0
  219. package/dist/src/hooks/processor-modules.js.map +1 -0
  220. package/dist/src/hooks/reactor.d.ts +8 -2
  221. package/dist/src/hooks/reactor.d.ts.map +1 -1
  222. package/dist/src/hooks/reactor.js +8 -6
  223. package/dist/src/hooks/reactor.js.map +1 -1
  224. package/dist/src/hooks/renown.d.ts +6 -1
  225. package/dist/src/hooks/renown.d.ts.map +1 -1
  226. package/dist/src/hooks/renown.js +8 -6
  227. package/dist/src/hooks/renown.js.map +1 -1
  228. package/dist/src/hooks/revision-history.d.ts +11 -0
  229. package/dist/src/hooks/revision-history.d.ts.map +1 -0
  230. package/dist/src/hooks/revision-history.js +17 -0
  231. package/dist/src/hooks/revision-history.js.map +1 -0
  232. package/dist/src/hooks/selected-document.d.ts +10 -0
  233. package/dist/src/hooks/selected-document.d.ts.map +1 -0
  234. package/dist/src/hooks/selected-document.js +28 -0
  235. package/dist/src/hooks/selected-document.js.map +1 -0
  236. package/dist/src/hooks/selected-drive.d.ts +12 -0
  237. package/dist/src/hooks/selected-drive.d.ts.map +1 -0
  238. package/dist/src/hooks/selected-drive.js +47 -0
  239. package/dist/src/hooks/selected-drive.js.map +1 -0
  240. package/dist/src/hooks/selected-folder.d.ts +4 -0
  241. package/dist/src/hooks/selected-folder.d.ts.map +1 -0
  242. package/dist/src/hooks/selected-folder.js +10 -0
  243. package/dist/src/hooks/selected-folder.js.map +1 -0
  244. package/dist/src/hooks/selected-node.d.ts +7 -0
  245. package/dist/src/hooks/selected-node.d.ts.map +1 -0
  246. package/dist/src/hooks/selected-node.js +31 -0
  247. package/dist/src/hooks/selected-node.js.map +1 -0
  248. package/dist/src/hooks/selected-timeline-item.d.ts +7 -0
  249. package/dist/src/hooks/selected-timeline-item.d.ts.map +1 -0
  250. package/dist/src/hooks/selected-timeline-item.js +9 -0
  251. package/dist/src/hooks/selected-timeline-item.js.map +1 -0
  252. package/dist/src/hooks/subgraph-modules.d.ts +3 -0
  253. package/dist/src/hooks/subgraph-modules.d.ts.map +1 -0
  254. package/dist/src/hooks/subgraph-modules.js +6 -0
  255. package/dist/src/hooks/subgraph-modules.js.map +1 -0
  256. package/dist/src/hooks/supported-document-types.d.ts +3 -0
  257. package/dist/src/hooks/supported-document-types.d.ts.map +1 -0
  258. package/dist/src/hooks/supported-document-types.js +7 -0
  259. package/dist/src/hooks/supported-document-types.js.map +1 -0
  260. package/dist/src/hooks/timeline-revision.d.ts +7 -0
  261. package/dist/src/hooks/timeline-revision.d.ts.map +1 -0
  262. package/dist/src/hooks/timeline-revision.js +9 -0
  263. package/dist/src/hooks/timeline-revision.js.map +1 -0
  264. package/dist/src/hooks/use-document-timeline.d.ts +19 -0
  265. package/dist/src/hooks/use-document-timeline.d.ts.map +1 -0
  266. package/dist/src/hooks/use-document-timeline.js +10 -0
  267. package/dist/src/hooks/use-document-timeline.js.map +1 -0
  268. package/dist/src/hooks/use-get-switchboard-link.d.ts +14 -0
  269. package/dist/src/hooks/use-get-switchboard-link.d.ts.map +1 -0
  270. package/dist/src/hooks/use-get-switchboard-link.js +38 -0
  271. package/dist/src/hooks/use-get-switchboard-link.js.map +1 -0
  272. package/dist/src/hooks/use-on-drop-file.d.ts +3 -0
  273. package/dist/src/hooks/use-on-drop-file.d.ts.map +1 -0
  274. package/dist/src/hooks/use-on-drop-file.js +21 -0
  275. package/dist/src/hooks/use-on-drop-file.js.map +1 -0
  276. package/dist/src/hooks/use-timeline-items.d.ts +25 -0
  277. package/dist/src/hooks/use-timeline-items.d.ts.map +1 -0
  278. package/dist/src/hooks/use-timeline-items.js +104 -0
  279. package/dist/src/hooks/use-timeline-items.js.map +1 -0
  280. package/dist/src/hooks/user-permissions.d.ts +5 -0
  281. package/dist/src/hooks/user-permissions.d.ts.map +1 -0
  282. package/dist/src/hooks/user-permissions.js +17 -0
  283. package/dist/src/hooks/user-permissions.js.map +1 -0
  284. package/dist/src/hooks/user.d.ts +1 -6
  285. package/dist/src/hooks/user.d.ts.map +1 -1
  286. package/dist/src/hooks/user.js +2 -25
  287. package/dist/src/hooks/user.js.map +1 -1
  288. package/dist/src/hooks/vetra-packages.d.ts +7 -17
  289. package/dist/src/hooks/vetra-packages.d.ts.map +1 -1
  290. package/dist/src/hooks/vetra-packages.js +13 -73
  291. package/dist/src/hooks/vetra-packages.js.map +1 -1
  292. package/dist/src/index.d.ts +2 -1
  293. package/dist/src/index.d.ts.map +1 -1
  294. package/dist/src/index.js +2 -1
  295. package/dist/src/index.js.map +1 -1
  296. package/dist/src/pglite/hooks/usePGlite.d.ts +1 -1
  297. package/dist/src/pglite/hooks/usePGlite.d.ts.map +1 -1
  298. package/dist/src/pglite/index.d.ts +0 -4
  299. package/dist/src/pglite/index.d.ts.map +1 -1
  300. package/dist/src/pglite/index.js +0 -4
  301. package/dist/src/pglite/index.js.map +1 -1
  302. package/dist/src/reactor.d.ts +10 -9
  303. package/dist/src/reactor.d.ts.map +1 -1
  304. package/dist/src/reactor.js +34 -19
  305. package/dist/src/reactor.js.map +1 -1
  306. package/dist/src/relational/hooks/useRelationalDb.d.ts +2 -2
  307. package/dist/src/relational/hooks/useRelationalDb.d.ts.map +1 -1
  308. package/dist/src/relational/hooks/useRelationalDb.js +2 -2
  309. package/dist/src/relational/hooks/useRelationalDb.js.map +1 -1
  310. package/dist/src/relational/hooks/useRelationalQuery.d.ts +2 -3
  311. package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +1 -1
  312. package/dist/src/relational/hooks/useRelationalQuery.js +1 -1
  313. package/dist/src/relational/hooks/useRelationalQuery.js.map +1 -1
  314. package/dist/src/relational/utils/createProcessorQuery.d.ts +4 -4
  315. package/dist/src/relational/utils/createProcessorQuery.d.ts.map +1 -1
  316. package/dist/src/relational/utils/createProcessorQuery.js +2 -2
  317. package/dist/src/relational/utils/createProcessorQuery.js.map +1 -1
  318. package/dist/src/renown/utils.d.ts +3 -4
  319. package/dist/src/renown/utils.d.ts.map +1 -1
  320. package/dist/src/renown/utils.js +12 -12
  321. package/dist/src/renown/utils.js.map +1 -1
  322. package/dist/src/types/config.d.ts +90 -0
  323. package/dist/src/types/config.d.ts.map +1 -0
  324. package/dist/src/types/config.js +2 -0
  325. package/dist/src/types/config.js.map +1 -0
  326. package/dist/src/types/documents.d.ts +3 -0
  327. package/dist/src/types/documents.d.ts.map +1 -0
  328. package/dist/src/types/documents.js +2 -0
  329. package/dist/src/types/documents.js.map +1 -0
  330. package/dist/src/types/global.d.ts +35 -55
  331. package/dist/src/types/global.d.ts.map +1 -1
  332. package/dist/src/types/index.d.ts +8 -4
  333. package/dist/src/types/index.d.ts.map +1 -1
  334. package/dist/src/types/index.js +1 -4
  335. package/dist/src/types/index.js.map +1 -1
  336. package/dist/src/types/modals.d.ts +32 -0
  337. package/dist/src/types/modals.d.ts.map +1 -0
  338. package/dist/src/types/modals.js +2 -0
  339. package/dist/src/types/modals.js.map +1 -0
  340. package/dist/src/types/reactor.d.ts +0 -2
  341. package/dist/src/types/reactor.d.ts.map +1 -1
  342. package/dist/src/types/timeline.d.ts +24 -0
  343. package/dist/src/types/timeline.d.ts.map +1 -0
  344. package/dist/src/types/timeline.js +2 -0
  345. package/dist/src/types/timeline.js.map +1 -0
  346. package/dist/src/types/upload.d.ts +16 -0
  347. package/dist/src/types/upload.d.ts.map +1 -0
  348. package/dist/src/types/upload.js +2 -0
  349. package/dist/src/types/upload.js.map +1 -0
  350. package/dist/src/types/vetra.d.ts +6 -14
  351. package/dist/src/types/vetra.d.ts.map +1 -1
  352. package/dist/src/utils/documents.d.ts +2 -0
  353. package/dist/src/utils/documents.d.ts.map +1 -0
  354. package/dist/src/utils/documents.js +20 -0
  355. package/dist/src/utils/documents.js.map +1 -0
  356. package/dist/src/utils/drives.d.ts +23 -9
  357. package/dist/src/utils/drives.d.ts.map +1 -1
  358. package/dist/src/utils/drives.js +89 -18
  359. package/dist/src/utils/drives.js.map +1 -1
  360. package/dist/src/utils/export-document.d.ts +3 -0
  361. package/dist/src/utils/export-document.d.ts.map +1 -0
  362. package/dist/src/utils/export-document.js +18 -0
  363. package/dist/src/utils/export-document.js.map +1 -0
  364. package/dist/src/utils/get-revision-from-date.d.ts +3 -0
  365. package/dist/src/utils/get-revision-from-date.d.ts.map +1 -0
  366. package/dist/src/utils/get-revision-from-date.js +10 -0
  367. package/dist/src/utils/get-revision-from-date.js.map +1 -0
  368. package/dist/src/utils/index.d.ts +4 -0
  369. package/dist/src/utils/index.d.ts.map +1 -1
  370. package/dist/src/utils/index.js +4 -0
  371. package/dist/src/utils/index.js.map +1 -1
  372. package/dist/src/utils/nodes.d.ts +1 -1
  373. package/dist/src/utils/nodes.d.ts.map +1 -1
  374. package/dist/src/utils/switchboard.d.ts +3 -4
  375. package/dist/src/utils/switchboard.d.ts.map +1 -1
  376. package/dist/src/utils/switchboard.js +19 -15
  377. package/dist/src/utils/switchboard.js.map +1 -1
  378. package/dist/src/utils/url.d.ts +4 -1
  379. package/dist/src/utils/url.d.ts.map +1 -1
  380. package/dist/src/utils/url.js +13 -2
  381. package/dist/src/utils/url.js.map +1 -1
  382. package/dist/src/utils/user.js +2 -2
  383. package/dist/src/utils/user.js.map +1 -1
  384. package/dist/src/utils/validate-document.d.ts +3 -0
  385. package/dist/src/utils/validate-document.d.ts.map +1 -0
  386. package/dist/src/utils/validate-document.js +38 -0
  387. package/dist/src/utils/validate-document.js.map +1 -0
  388. package/dist/src/utils/vetra.d.ts +3 -3
  389. package/dist/src/utils/vetra.d.ts.map +1 -1
  390. package/dist/src/utils/vetra.js +21 -15
  391. package/dist/src/utils/vetra.js.map +1 -1
  392. package/dist/test/analytics.test.d.ts +2 -0
  393. package/dist/test/analytics.test.d.ts.map +1 -0
  394. package/dist/test/analytics.test.js +262 -0
  395. package/dist/test/analytics.test.js.map +1 -0
  396. package/dist/test/getSwitchboardUrl.test.d.ts +2 -0
  397. package/dist/test/getSwitchboardUrl.test.d.ts.map +1 -0
  398. package/dist/test/getSwitchboardUrl.test.js +105 -0
  399. package/dist/test/getSwitchboardUrl.test.js.map +1 -0
  400. package/dist/test/reactor.test.d.ts +2 -0
  401. package/dist/test/reactor.test.d.ts.map +1 -0
  402. package/dist/test/reactor.test.js +26 -0
  403. package/dist/test/reactor.test.js.map +1 -0
  404. package/dist/test/switchboard.test.d.ts +2 -0
  405. package/dist/test/switchboard.test.d.ts.map +1 -0
  406. package/dist/test/switchboard.test.js +25 -0
  407. package/dist/test/switchboard.test.js.map +1 -0
  408. package/dist/tsconfig.tsbuildinfo +1 -0
  409. package/dist/vitest.config.js +1 -1
  410. package/dist/vitest.config.js.map +1 -1
  411. package/package.json +27 -33
  412. package/dist/src/analytics/analytics.d.ts +0 -5
  413. package/dist/src/analytics/analytics.d.ts.map +0 -1
  414. package/dist/src/analytics/analytics.js +0 -6
  415. package/dist/src/analytics/analytics.js.map +0 -1
  416. package/dist/src/crypto/browser.d.ts +0 -8
  417. package/dist/src/crypto/browser.d.ts.map +0 -1
  418. package/dist/src/crypto/browser.js +0 -73
  419. package/dist/src/crypto/browser.js.map +0 -1
  420. package/dist/src/crypto/index.d.ts +0 -35
  421. package/dist/src/crypto/index.d.ts.map +0 -1
  422. package/dist/src/crypto/index.js +0 -153
  423. package/dist/src/crypto/index.js.map +0 -1
  424. package/dist/src/events/add-ph-event-handlers.d.ts.map +0 -1
  425. package/dist/src/events/add-ph-event-handlers.js +0 -26
  426. package/dist/src/events/add-ph-event-handlers.js.map +0 -1
  427. package/dist/src/events/config.d.ts +0 -8
  428. package/dist/src/events/config.d.ts.map +0 -1
  429. package/dist/src/events/config.js +0 -25
  430. package/dist/src/events/config.js.map +0 -1
  431. package/dist/src/events/crypto.d.ts +0 -13
  432. package/dist/src/events/crypto.d.ts.map +0 -1
  433. package/dist/src/events/crypto.js +0 -49
  434. package/dist/src/events/crypto.js.map +0 -1
  435. package/dist/src/events/documents.d.ts +0 -7
  436. package/dist/src/events/documents.d.ts.map +0 -1
  437. package/dist/src/events/documents.js +0 -19
  438. package/dist/src/events/documents.js.map +0 -1
  439. package/dist/src/events/drives.d.ts +0 -13
  440. package/dist/src/events/drives.d.ts.map +0 -1
  441. package/dist/src/events/drives.js +0 -57
  442. package/dist/src/events/drives.js.map +0 -1
  443. package/dist/src/events/index.d.ts +0 -13
  444. package/dist/src/events/index.d.ts.map +0 -1
  445. package/dist/src/events/index.js +0 -13
  446. package/dist/src/events/index.js.map +0 -1
  447. package/dist/src/events/nodes.d.ts +0 -7
  448. package/dist/src/events/nodes.d.ts.map +0 -1
  449. package/dist/src/events/nodes.js +0 -34
  450. package/dist/src/events/nodes.js.map +0 -1
  451. package/dist/src/events/processors.d.ts +0 -8
  452. package/dist/src/events/processors.d.ts.map +0 -1
  453. package/dist/src/events/processors.js +0 -25
  454. package/dist/src/events/processors.js.map +0 -1
  455. package/dist/src/events/reactor.d.ts +0 -8
  456. package/dist/src/events/reactor.d.ts.map +0 -1
  457. package/dist/src/events/reactor.js +0 -25
  458. package/dist/src/events/reactor.js.map +0 -1
  459. package/dist/src/events/renown.d.ts +0 -8
  460. package/dist/src/events/renown.d.ts.map +0 -1
  461. package/dist/src/events/renown.js +0 -27
  462. package/dist/src/events/renown.js.map +0 -1
  463. package/dist/src/events/types.d.ts +0 -60
  464. package/dist/src/events/types.d.ts.map +0 -1
  465. package/dist/src/events/types.js +0 -2
  466. package/dist/src/events/types.js.map +0 -1
  467. package/dist/src/events/user.d.ts +0 -14
  468. package/dist/src/events/user.d.ts.map +0 -1
  469. package/dist/src/events/user.js +0 -49
  470. package/dist/src/events/user.js.map +0 -1
  471. package/dist/src/events/vetra-packages.d.ts +0 -8
  472. package/dist/src/events/vetra-packages.d.ts.map +0 -1
  473. package/dist/src/events/vetra-packages.js +0 -29
  474. package/dist/src/events/vetra-packages.js.map +0 -1
  475. package/dist/src/hooks/config.d.ts +0 -5
  476. package/dist/src/hooks/config.d.ts.map +0 -1
  477. package/dist/src/hooks/config.js +0 -18
  478. package/dist/src/hooks/config.js.map +0 -1
  479. package/dist/src/hooks/documents.d.ts +0 -13
  480. package/dist/src/hooks/documents.d.ts.map +0 -1
  481. package/dist/src/hooks/documents.js +0 -46
  482. package/dist/src/hooks/documents.js.map +0 -1
  483. package/dist/src/hooks/drive-context.d.ts +0 -21
  484. package/dist/src/hooks/drive-context.d.ts.map +0 -1
  485. package/dist/src/hooks/drive-context.js +0 -26
  486. package/dist/src/hooks/drive-context.js.map +0 -1
  487. package/dist/src/hooks/nodes.d.ts +0 -41
  488. package/dist/src/hooks/nodes.d.ts.map +0 -1
  489. package/dist/src/hooks/nodes.js +0 -160
  490. package/dist/src/hooks/nodes.js.map +0 -1
  491. package/dist/src/types/drive-editor.d.ts +0 -71
  492. package/dist/src/types/drive-editor.d.ts.map +0 -1
  493. package/dist/src/types/drive-editor.js +0 -2
  494. package/dist/src/types/drive-editor.js.map +0 -1
  495. package/dist/tsconfig.lib.tsbuildinfo +0 -1
  496. /package/dist/src/{events → hooks}/add-ph-event-handlers.d.ts +0 -0
@@ -0,0 +1,47 @@
1
+ import { resolveUrlPathname } from "../utils/url.js";
2
+ import { useDispatch } from "./dispatch.js";
3
+ import { useDrives } from "./drives.js";
4
+ import { makePHEventFunctions } from "./make-ph-event-functions.js";
5
+ import { setSelectedNode } from "./selected-node.js";
6
+ const selectedDriveIdEventFunctions = makePHEventFunctions("selectedDriveId");
7
+ /** Returns the selected drive id */
8
+ export const useSelectedDriveId = selectedDriveIdEventFunctions.useValue;
9
+ /** Sets the selected drive id */
10
+ const setSelectedDriveId = selectedDriveIdEventFunctions.setValue;
11
+ /** Adds an event handler for the selected drive id */
12
+ export const addSelectedDriveIdEventHandler = selectedDriveIdEventFunctions.addEventHandler;
13
+ /** Returns the selected drive */
14
+ export function useSelectedDrive() {
15
+ const drive = useSelectedDriveSafe();
16
+ if (!drive[0]) {
17
+ throw new Error("There is no drive selected. Did you mean to call 'useSelectedDriveSafe'?");
18
+ }
19
+ return drive;
20
+ }
21
+ /** Returns the selected drive, or undefined if no drive is selected */
22
+ export function useSelectedDriveSafe() {
23
+ const selectedDriveId = useSelectedDriveId();
24
+ const drives = useDrives();
25
+ const selectedDrive = drives?.find((drive) => drive.header.id === selectedDriveId);
26
+ const [drive, dispatch] = useDispatch(selectedDrive);
27
+ if (!selectedDrive) {
28
+ return [undefined, undefined];
29
+ }
30
+ return [drive, dispatch];
31
+ }
32
+ export function setSelectedDrive(driveOrDriveSlug) {
33
+ const driveSlug = typeof driveOrDriveSlug === "string"
34
+ ? driveOrDriveSlug
35
+ : driveOrDriveSlug?.header.slug;
36
+ setSelectedNode(undefined);
37
+ // Find the drive by slug to get its actual ID
38
+ const drive = window.ph?.drives?.find((d) => d.header.slug === driveSlug);
39
+ const driveId = drive?.header.id;
40
+ setSelectedDriveId(driveId);
41
+ if (!driveId) {
42
+ window.history.pushState(null, "", resolveUrlPathname("/"));
43
+ return;
44
+ }
45
+ window.history.pushState(null, "", resolveUrlPathname(`/d/${driveSlug}`));
46
+ }
47
+ //# sourceMappingURL=selected-drive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-drive.js","sourceRoot":"","sources":["../../../src/hooks/selected-drive.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,6BAA6B,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE9E,oCAAoC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,QAAQ,CAAC;AAEzE,iCAAiC;AACjC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,QAAQ,CAAC;AAElE,sDAAsD;AACtD,MAAM,CAAC,MAAM,8BAA8B,GACzC,6BAA6B,CAAC,eAAe,CAAC;AAEhD,iCAAiC;AACjC,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,oBAAoB;IAClC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,EAAE,IAAI,CAChC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,eAAe,CAC/C,CAAC;IAEF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAU,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAGtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,gBAA4D;IAE5D,MAAM,SAAS,GACb,OAAO,gBAAgB,KAAK,QAAQ;QAClC,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC;IACpC,eAAe,CAAC,SAAS,CAAC,CAAC;IAE3B,8CAA8C;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IAEjC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FolderNode } from "document-drive";
2
+ /** Returns the selected folder. */
3
+ export declare function useSelectedFolder(): FolderNode | undefined;
4
+ //# sourceMappingURL=selected-folder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-folder.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-folder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,mCAAmC;AACnC,wBAAgB,iBAAiB,IAAI,UAAU,GAAG,SAAS,CAI1D"}
@@ -0,0 +1,10 @@
1
+ import { isFolderNodeKind } from "../utils/nodes.js";
2
+ import { useSelectedNode } from "./selected-node.js";
3
+ /** Returns the selected folder. */
4
+ export function useSelectedFolder() {
5
+ const selectedNode = useSelectedNode();
6
+ if (isFolderNodeKind(selectedNode))
7
+ return selectedNode;
8
+ return undefined;
9
+ }
10
+ //# sourceMappingURL=selected-folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-folder.js","sourceRoot":"","sources":["../../../src/hooks/selected-folder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,mCAAmC;AACnC,MAAM,UAAU,iBAAiB;IAC/B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,gBAAgB,CAAC,YAAY,CAAC;QAAE,OAAO,YAAY,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Node } from "document-drive";
2
+ export declare const addSelectedNodeIdEventHandler: () => void;
3
+ /** Returns the selected node. */
4
+ export declare function useSelectedNode(): Node | undefined;
5
+ /** Sets the selected node (file or folder). */
6
+ export declare function setSelectedNode(nodeOrNodeSlug: Node | string | undefined): void;
7
+ //# sourceMappingURL=selected-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-node.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAa3C,eAAO,MAAM,6BAA6B,YACI,CAAC;AAE/C,iCAAiC;AACjC,wBAAgB,eAAe,IAAI,IAAI,GAAG,SAAS,CAIlD;AAED,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,QAwBxE"}
@@ -0,0 +1,31 @@
1
+ import { extractDriveSlugFromPath, extractNodeIdFromSlug, makeNodeSlug, resolveUrlPathname, } from "../utils/url.js";
2
+ import { useNodesInSelectedDrive } from "./items-in-selected-drive.js";
3
+ import { makePHEventFunctions } from "./make-ph-event-functions.js";
4
+ const selectedNodeIdEventFunctions = makePHEventFunctions("selectedNodeId");
5
+ const useSelectedNodeId = selectedNodeIdEventFunctions.useValue;
6
+ const setSelectedNodeId = selectedNodeIdEventFunctions.setValue;
7
+ export const addSelectedNodeIdEventHandler = selectedNodeIdEventFunctions.addEventHandler;
8
+ /** Returns the selected node. */
9
+ export function useSelectedNode() {
10
+ const selectedNodeId = useSelectedNodeId();
11
+ const nodes = useNodesInSelectedDrive();
12
+ return nodes?.find((n) => n.id === selectedNodeId);
13
+ }
14
+ /** Sets the selected node (file or folder). */
15
+ export function setSelectedNode(nodeOrNodeSlug) {
16
+ const nodeSlug = typeof nodeOrNodeSlug === "string"
17
+ ? nodeOrNodeSlug
18
+ : makeNodeSlug(nodeOrNodeSlug);
19
+ const nodeId = extractNodeIdFromSlug(nodeSlug);
20
+ setSelectedNodeId(nodeId);
21
+ const driveSlugFromPath = extractDriveSlugFromPath(window.location.pathname);
22
+ if (!driveSlugFromPath) {
23
+ return;
24
+ }
25
+ if (!nodeSlug) {
26
+ window.history.pushState(null, "", resolveUrlPathname(`/d/${driveSlugFromPath}`));
27
+ return;
28
+ }
29
+ window.history.pushState(null, "", resolveUrlPathname(`/d/${driveSlugFromPath}/${nodeSlug}`));
30
+ }
31
+ //# sourceMappingURL=selected-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-node.js","sourceRoot":"","sources":["../../../src/hooks/selected-node.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AAC5E,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,QAAQ,CAAC;AAChE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,QAAQ,CAAC;AAChE,MAAM,CAAC,MAAM,6BAA6B,GACxC,4BAA4B,CAAC,eAAe,CAAC;AAE/C,iCAAiC;AACjC,MAAM,UAAU,eAAe;IAC7B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;IACxC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;AACrD,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,cAAyC;IACvE,MAAM,QAAQ,GACZ,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,IAAI,EACJ,EAAE,EACF,kBAAkB,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAC9C,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,IAAI,EACJ,EAAE,EACF,kBAAkB,CAAC,MAAM,iBAAiB,IAAI,QAAQ,EAAE,CAAC,CAC1D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Returns the selected timeline item */
2
+ export declare const useSelectedTimelineItem: () => import("../index.js").TimelineItem | null | undefined;
3
+ /** Sets the selected timeline item */
4
+ export declare const setSelectedTimelineItem: (value: import("../index.js").TimelineItem | null | undefined) => void;
5
+ /** Adds event handler for selected timeline item */
6
+ export declare const addSelectedTimelineItemEventHandler: () => void;
7
+ //# sourceMappingURL=selected-timeline-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-timeline-item.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-timeline-item.ts"],"names":[],"mappings":"AAMA,yCAAyC;AACzC,eAAO,MAAM,uBAAuB,6DACS,CAAC;AAE9C,sCAAsC;AACtC,eAAO,MAAM,uBAAuB,wEACS,CAAC;AAE9C,oDAAoD;AACpD,eAAO,MAAM,mCAAmC,YACI,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { makePHEventFunctions } from "./make-ph-event-functions.js";
2
+ const selectedTimelineItemEventFunctions = makePHEventFunctions("selectedTimelineItem");
3
+ /** Returns the selected timeline item */
4
+ export const useSelectedTimelineItem = selectedTimelineItemEventFunctions.useValue;
5
+ /** Sets the selected timeline item */
6
+ export const setSelectedTimelineItem = selectedTimelineItemEventFunctions.setValue;
7
+ /** Adds event handler for selected timeline item */
8
+ export const addSelectedTimelineItemEventHandler = selectedTimelineItemEventFunctions.addEventHandler;
9
+ //# sourceMappingURL=selected-timeline-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-timeline-item.js","sourceRoot":"","sources":["../../../src/hooks/selected-timeline-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,kCAAkC,GAAG,oBAAoB,CAC7D,sBAAsB,CACvB,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,MAAM,uBAAuB,GAClC,kCAAkC,CAAC,QAAQ,CAAC;AAE9C,sCAAsC;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAClC,kCAAkC,CAAC,QAAQ,CAAC;AAE9C,oDAAoD;AACpD,MAAM,CAAC,MAAM,mCAAmC,GAC9C,kCAAkC,CAAC,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SubgraphModule } from "document-model";
2
+ export declare function useSubgraphModules(): SubgraphModule[] | undefined;
3
+ //# sourceMappingURL=subgraph-modules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph-modules.d.ts","sourceRoot":"","sources":["../../../src/hooks/subgraph-modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,GAAG,SAAS,CAGjE"}
@@ -0,0 +1,6 @@
1
+ import { useVetraPackages } from "./vetra-packages.js";
2
+ export function useSubgraphModules() {
3
+ const vetraPackages = useVetraPackages();
4
+ return vetraPackages?.flatMap((pkg) => pkg.modules.subgraphModules || []);
5
+ }
6
+ //# sourceMappingURL=subgraph-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph-modules.js","sourceRoot":"","sources":["../../../src/hooks/subgraph-modules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,UAAU,kBAAkB;IAChC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,OAAO,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Returns the supported document types for the reactor (derived from the document model modules) */
2
+ export declare function useSupportedDocumentTypesInReactor(): string[] | undefined;
3
+ //# sourceMappingURL=supported-document-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supported-document-types.d.ts","sourceRoot":"","sources":["../../../src/hooks/supported-document-types.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,wBAAgB,kCAAkC,yBAGjD"}
@@ -0,0 +1,7 @@
1
+ import { useDocumentModelModules } from "./document-model-modules.js";
2
+ /** Returns the supported document types for the reactor (derived from the document model modules) */
3
+ export function useSupportedDocumentTypesInReactor() {
4
+ const documentModelModules = useDocumentModelModules();
5
+ return documentModelModules?.map((module) => module.documentModel.global.id);
6
+ }
7
+ //# sourceMappingURL=supported-document-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supported-document-types.js","sourceRoot":"","sources":["../../../src/hooks/supported-document-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,qGAAqG;AACrG,MAAM,UAAU,kCAAkC;IAChD,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,OAAO,oBAAoB,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Returns the selected timeline revision. */
2
+ export declare const useSelectedTimelineRevision: () => string | number | null | undefined;
3
+ /** Sets the selected timeline revision. */
4
+ export declare const setSelectedTimelineRevision: (value: string | number | null | undefined) => void;
5
+ /** Adds an event handler for the selected timeline revision. */
6
+ export declare const addSelectedTimelineRevisionEventHandler: () => void;
7
+ //# sourceMappingURL=timeline-revision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-revision.d.ts","sourceRoot":"","sources":["../../../src/hooks/timeline-revision.ts"],"names":[],"mappings":"AAMA,8CAA8C;AAC9C,eAAO,MAAM,2BAA2B,0CACS,CAAC;AAElD,2CAA2C;AAC3C,eAAO,MAAM,2BAA2B,qDACS,CAAC;AAElD,gEAAgE;AAChE,eAAO,MAAM,uCAAuC,YACI,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { makePHEventFunctions } from "./make-ph-event-functions.js";
2
+ const selectedTimelineRevisionEventFunctions = makePHEventFunctions("selectedTimelineRevision");
3
+ /** Returns the selected timeline revision. */
4
+ export const useSelectedTimelineRevision = selectedTimelineRevisionEventFunctions.useValue;
5
+ /** Sets the selected timeline revision. */
6
+ export const setSelectedTimelineRevision = selectedTimelineRevisionEventFunctions.setValue;
7
+ /** Adds an event handler for the selected timeline revision. */
8
+ export const addSelectedTimelineRevisionEventHandler = selectedTimelineRevisionEventFunctions.addEventHandler;
9
+ //# sourceMappingURL=timeline-revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-revision.js","sourceRoot":"","sources":["../../../src/hooks/timeline-revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,sCAAsC,GAAG,oBAAoB,CACjE,0BAA0B,CAC3B,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GACtC,sCAAsC,CAAC,QAAQ,CAAC;AAElD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GACtC,sCAAsC,CAAC,QAAQ,CAAC;AAElD,gEAAgE;AAChE,MAAM,CAAC,MAAM,uCAAuC,GAClD,sCAAsC,CAAC,eAAe,CAAC"}
@@ -0,0 +1,19 @@
1
+ export declare function useDocumentTimeline(documentId?: string): ({
2
+ id: string;
3
+ type: "bar";
4
+ addSize: 0 | 1 | 2 | 3 | 4;
5
+ delSize: 0 | 1 | 2 | 3 | 4;
6
+ additions: number;
7
+ deletions: number;
8
+ timestampUtcMs: string;
9
+ startDate: Date;
10
+ endDate: Date;
11
+ revision?: number;
12
+ } | {
13
+ id: string;
14
+ type: "divider";
15
+ revision?: number;
16
+ startDate?: Date;
17
+ endDate?: Date;
18
+ })[];
19
+ //# sourceMappingURL=use-document-timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-document-timeline.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-document-timeline.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;KAQtD"}
@@ -0,0 +1,10 @@
1
+ import { useDocumentById } from "./document-by-id.js";
2
+ import { useTimelineItems } from "./use-timeline-items.js";
3
+ export function useDocumentTimeline(documentId) {
4
+ const [document] = useDocumentById(documentId);
5
+ const id = document?.header.id;
6
+ const createdAt = document?.header.createdAtUtcIso;
7
+ const timelineItems = useTimelineItems(id, createdAt);
8
+ return timelineItems.data || [];
9
+ }
10
+ //# sourceMappingURL=use-document-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-document-timeline.js","sourceRoot":"","sources":["../../../src/hooks/use-document-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,UAAU,mBAAmB,CAAC,UAAmB;IACrD,MAAM,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;IACnD,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAEtD,OAAO,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { PHDocument } from "document-model";
2
+ /**
3
+ * Hook that returns a function to generate a document's switchboard URL.
4
+ * Only returns a function for documents in remote drives.
5
+ * Returns null for local drives or when the document/drive cannot be determined.
6
+ *
7
+ * The returned function generates a fresh bearer token and builds the switchboard URL
8
+ * with authentication when called.
9
+ *
10
+ * @param document - The document to create a switchboard URL generator for
11
+ * @returns An async function that returns the switchboard URL, or null if not applicable
12
+ */
13
+ export declare function useGetSwitchboardLink(document: PHDocument | undefined): (() => Promise<string>) | null;
14
+ //# sourceMappingURL=use-get-switchboard-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-get-switchboard-link.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-get-switchboard-link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAUjD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAC/B,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAwBhC"}
@@ -0,0 +1,38 @@
1
+ import { useMemo } from "react";
2
+ import { buildDocumentSubgraphUrl, getDriveIsRemote, getDriveRemoteUrl, } from "../utils/index.js";
3
+ import { useConnectCrypto, useUser } from "./connect.js";
4
+ import { useSelectedDrive } from "./selected-drive.js";
5
+ /**
6
+ * Hook that returns a function to generate a document's switchboard URL.
7
+ * Only returns a function for documents in remote drives.
8
+ * Returns null for local drives or when the document/drive cannot be determined.
9
+ *
10
+ * The returned function generates a fresh bearer token and builds the switchboard URL
11
+ * with authentication when called.
12
+ *
13
+ * @param document - The document to create a switchboard URL generator for
14
+ * @returns An async function that returns the switchboard URL, or null if not applicable
15
+ */
16
+ export function useGetSwitchboardLink(document) {
17
+ const [drive] = useSelectedDrive();
18
+ const isRemoteDrive = getDriveIsRemote(drive);
19
+ const remoteUrl = getDriveRemoteUrl(drive);
20
+ const connectCrypto = useConnectCrypto();
21
+ const user = useUser();
22
+ return useMemo(() => {
23
+ if (!isRemoteDrive || !document?.header.id || !remoteUrl) {
24
+ return null;
25
+ }
26
+ return async () => {
27
+ // Get bearer token if user is authenticated
28
+ const token = user?.address
29
+ ? await connectCrypto?.getBearerToken(remoteUrl, user.address, false, {
30
+ expiresIn: 600,
31
+ })
32
+ : undefined;
33
+ // Build and return the switchboard URL with the document subgraph query
34
+ return buildDocumentSubgraphUrl(remoteUrl, document.header.id, token);
35
+ };
36
+ }, [isRemoteDrive, remoteUrl, document, user, connectCrypto]);
37
+ }
38
+ //# sourceMappingURL=use-get-switchboard-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-get-switchboard-link.js","sourceRoot":"","sources":["../../../src/hooks/use-get-switchboard-link.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgC;IAEhC,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,IAAI,EAAE;YAChB,4CAA4C;YAC5C,MAAM,KAAK,GAAG,IAAI,EAAE,OAAO;gBACzB,CAAC,CAAC,MAAM,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;oBAClE,SAAS,EAAE,GAAG;iBACf,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,wEAAwE;YACxE,OAAO,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { UseOnDropFile } from "../types/upload.js";
2
+ export declare const useOnDropFile: UseOnDropFile;
3
+ //# sourceMappingURL=use-on-drop-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-on-drop-file.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-on-drop-file.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,aAAa,EAAE,aAiC3B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { addFileWithProgress } from "../actions/document.js";
2
+ import { useDocumentTypes } from "./document-types.js";
3
+ import { useSelectedDriveId } from "./selected-drive.js";
4
+ import { useSelectedFolder } from "./selected-folder.js";
5
+ export const useOnDropFile = (documentTypesOverride) => {
6
+ const selectedDriveId = useSelectedDriveId();
7
+ const selectedFolder = useSelectedFolder();
8
+ const documentTypes = useDocumentTypes();
9
+ const onDropFile = async (file, onProgress, resolveConflict) => {
10
+ if (!selectedDriveId) {
11
+ console.warn("No selected drive - upload skipped");
12
+ return;
13
+ }
14
+ const fileName = file.name.replace(/\..+/gim, "");
15
+ const targetNodeId = selectedFolder?.id;
16
+ // Return the FileNode directly from addFileWithProgress
17
+ return await addFileWithProgress(file, selectedDriveId, fileName, targetNodeId, onProgress, documentTypesOverride ?? documentTypes, resolveConflict);
18
+ };
19
+ return onDropFile;
20
+ };
21
+ //# sourceMappingURL=use-on-drop-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-on-drop-file.js","sourceRoot":"","sources":["../../../src/hooks/use-on-drop-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAM7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAkB,CAC1C,qBAAgC,EAChC,EAAE;IACF,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,UAAU,GAAG,KAAK,EACtB,IAAU,EACV,UAAuC,EACvC,eAAoC,EACpC,EAAE;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,cAAc,EAAE,EAAE,CAAC;QAExC,wDAAwD;QACxD,OAAO,MAAM,mBAAmB,CAC9B,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,qBAAqB,IAAI,aAAa,EACtC,eAAe,CAChB,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { UseAnalyticsQueryResult } from "../analytics/hooks.js";
2
+ type BarItem = {
3
+ id: string;
4
+ type: "bar";
5
+ addSize: 0 | 1 | 2 | 3 | 4;
6
+ delSize: 0 | 1 | 2 | 3 | 4;
7
+ additions: number;
8
+ deletions: number;
9
+ timestampUtcMs: string;
10
+ startDate: Date;
11
+ endDate: Date;
12
+ revision?: number;
13
+ };
14
+ type DividerItem = {
15
+ id: string;
16
+ type: "divider";
17
+ revision?: number;
18
+ startDate?: Date;
19
+ endDate?: Date;
20
+ };
21
+ type TimelineItem = BarItem | DividerItem;
22
+ export type UseTimelineItemsResult = UseAnalyticsQueryResult<TimelineItem[]>;
23
+ export declare const useTimelineItems: (documentId?: string, startTimestamp?: string, driveId?: string) => UseTimelineItemsResult;
24
+ export {};
25
+ //# sourceMappingURL=use-timeline-items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-timeline-items.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-timeline-items.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAYrE,KAAK,OAAO,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AAwF1C,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,YAAY,EAAE,CAAC,CAAC;AAE7E,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,UAAU,MAAM,KACf,sBAwBF,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { AnalyticsGranularity, AnalyticsPath, } from "@powerhousedao/analytics-engine-core";
2
+ import { DateTime } from "luxon";
3
+ import { useAnalyticsQuery } from "../analytics/hooks.js";
4
+ const getBarSize = (value) => {
5
+ if (value <= 0)
6
+ return 0;
7
+ if (value > 0 && value <= 50)
8
+ return 1;
9
+ if (value > 50 && value <= 100)
10
+ return 2;
11
+ if (value > 100 && value <= 250)
12
+ return 3;
13
+ return 4;
14
+ };
15
+ function addItemsDividers(items) {
16
+ if (!items.length)
17
+ return [];
18
+ const result = [];
19
+ items.forEach((item, index) => {
20
+ result.push(item);
21
+ // Check if there's a next item and if they're not in consecutive hours
22
+ if (index < items.length - 1) {
23
+ const currentDate = new Date(item.startDate);
24
+ const nextDate = new Date(items[index + 1].startDate);
25
+ const currentHour = currentDate.getHours();
26
+ const nextHour = nextDate.getHours();
27
+ // Get day parts (without time) for comparison
28
+ const currentDay = currentDate.toDateString();
29
+ const nextDay = nextDate.toDateString();
30
+ // If different days or non-consecutive hours on the same day
31
+ if (currentDay !== nextDay ||
32
+ (currentDay === nextDay && Math.abs(nextHour - currentHour) > 1)) {
33
+ result.push({
34
+ id: `divider-${item.id}-${items[index + 1].id}`,
35
+ type: "divider",
36
+ revision: 0,
37
+ });
38
+ }
39
+ }
40
+ });
41
+ return result;
42
+ }
43
+ function metricsToItems(metrics) {
44
+ if (!metrics)
45
+ return [];
46
+ const items = metrics
47
+ .sort((a, b) => {
48
+ const aDate = new Date(a.start);
49
+ const bDate = new Date(b.start);
50
+ return aDate.getTime() - bDate.getTime();
51
+ })
52
+ .filter((result) => {
53
+ return result.rows.every((row) => row.value > 0);
54
+ })
55
+ .map((result) => {
56
+ const { additions, deletions } = result.rows.reduce((acc, row) => {
57
+ if (row.dimensions.changes.path ===
58
+ "ph/diff/changes/add") {
59
+ acc.additions += row.value;
60
+ }
61
+ else if (row.dimensions.changes.path ===
62
+ "ph/diff/changes/remove") {
63
+ acc.deletions += row.value;
64
+ }
65
+ return acc;
66
+ }, { additions: 0, deletions: 0 });
67
+ const startDate = new Date(result.start);
68
+ return {
69
+ id: startDate.toISOString(),
70
+ type: "bar",
71
+ addSize: getBarSize(additions),
72
+ delSize: getBarSize(deletions),
73
+ additions,
74
+ deletions,
75
+ timestampUtcMs: startDate.toISOString(),
76
+ startDate: startDate,
77
+ endDate: new Date(result.end),
78
+ revision: 0,
79
+ };
80
+ });
81
+ return addItemsDividers(items);
82
+ }
83
+ export const useTimelineItems = (documentId, startTimestamp, driveId) => {
84
+ const start = startTimestamp
85
+ ? DateTime.fromISO(startTimestamp)
86
+ : DateTime.now().startOf("day");
87
+ return useAnalyticsQuery({
88
+ start,
89
+ end: DateTime.now().endOf("day"),
90
+ granularity: AnalyticsGranularity.Hourly,
91
+ metrics: ["Count"],
92
+ select: {
93
+ changes: [AnalyticsPath.fromString(`ph/diff/changes`)],
94
+ document: [AnalyticsPath.fromString(`ph/diff/document/${documentId}`)],
95
+ },
96
+ lod: {
97
+ changes: 4,
98
+ },
99
+ }, {
100
+ sources: [AnalyticsPath.fromString(`ph/diff/${driveId}/${documentId}`)],
101
+ select: metricsToItems,
102
+ });
103
+ };
104
+ //# sourceMappingURL=use-timeline-items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-timeline-items.js","sourceRoot":"","sources":["../../../src/hooks/use-timeline-items.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function useUserPermissions(): {
2
+ isAllowedToCreateDocuments: boolean;
3
+ isAllowedToEditDocuments: boolean;
4
+ };
5
+ //# sourceMappingURL=user-permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-permissions.d.ts","sourceRoot":"","sources":["../../../src/hooks/user-permissions.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB;;;EAcjC"}
@@ -0,0 +1,17 @@
1
+ import { useAllowList } from "./connect.js";
2
+ import { useUser } from "./user.js";
3
+ export function useUserPermissions() {
4
+ const user = useUser();
5
+ const allowList = useAllowList();
6
+ if (!allowList) {
7
+ return {
8
+ isAllowedToCreateDocuments: true,
9
+ isAllowedToEditDocuments: true,
10
+ };
11
+ }
12
+ return {
13
+ isAllowedToCreateDocuments: allowList.includes(user?.address ?? ""),
14
+ isAllowedToEditDocuments: allowList.includes(user?.address ?? ""),
15
+ };
16
+ }
17
+ //# sourceMappingURL=user-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-permissions.js","sourceRoot":"","sources":["../../../src/hooks/user-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,MAAM,UAAU,kBAAkB;IAChC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,0BAA0B,EAAE,IAAI;YAChC,wBAAwB,EAAE,IAAI;SAC/B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,0BAA0B,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QACnE,wBAAwB,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC"}
@@ -1,7 +1,2 @@
1
- export declare function useUser(): import("@renown/sdk").User | undefined;
2
- export declare function useUserPermissions(): {
3
- isAllowedToCreateDocuments: boolean;
4
- isAllowedToEditDocuments: boolean;
5
- };
6
- export declare function useLoginStatus(): import("../index.js").LoginStatus | undefined;
1
+ export declare const useUser: () => import("@renown/sdk").User | undefined, setUser: (value: import("@renown/sdk").User | undefined) => void, addUserEventHandler: () => void;
7
2
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/hooks/user.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,2CAGtB;AAED,wBAAgB,kBAAkB;;;EAcjC;AAED,wBAAgB,cAAc,kDAM7B"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/hooks/user.ts"],"names":[],"mappings":"AAEA,eAAO,MACK,OAAO,gDACP,OAAO,2DACA,mBAAmB,YACN,CAAC"}
@@ -1,26 +1,3 @@
1
- import { useSyncExternalStore } from "react";
2
- import { subscribeToLoginStatus, subscribeToUser } from "../events/user.js";
3
- import { useAllowList } from "./config.js";
4
- export function useUser() {
5
- const user = useSyncExternalStore(subscribeToUser, () => window.user);
6
- return user;
7
- }
8
- export function useUserPermissions() {
9
- const user = useUser();
10
- const allowList = useAllowList();
11
- if (!allowList) {
12
- return {
13
- isAllowedToCreateDocuments: true,
14
- isAllowedToEditDocuments: true,
15
- };
16
- }
17
- return {
18
- isAllowedToCreateDocuments: allowList.includes(user?.address ?? ""),
19
- isAllowedToEditDocuments: allowList.includes(user?.address ?? ""),
20
- };
21
- }
22
- export function useLoginStatus() {
23
- const loginStatus = useSyncExternalStore(subscribeToLoginStatus, () => window.loginStatus);
24
- return loginStatus;
25
- }
1
+ import { makePHEventFunctions } from "./make-ph-event-functions.js";
2
+ export const { useValue: useUser, setValue: setUser, addEventHandler: addUserEventHandler, } = makePHEventFunctions("user");
26
3
  //# sourceMappingURL=user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/hooks/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,UAAU,OAAO;IACrB,MAAM,IAAI,GAAG,oBAAoB,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,0BAA0B,EAAE,IAAI;YAChC,wBAAwB,EAAE,IAAI;SAC/B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,0BAA0B,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QACnE,wBAAwB,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,oBAAoB,CACtC,sBAAsB,EACtB,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CACzB,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/hooks/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,MAAM,EACX,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,mBAAmB,GACrC,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC"}