@powerhousedao/builder-team-admin 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +179 -0
  3. package/dist/document-models/builders/actions.d.ts +14 -0
  4. package/dist/document-models/builders/actions.d.ts.map +1 -0
  5. package/dist/document-models/builders/actions.js +4 -0
  6. package/dist/document-models/builders/gen/actions.d.ts +4 -0
  7. package/dist/document-models/builders/gen/actions.d.ts.map +1 -0
  8. package/dist/document-models/builders/gen/actions.js +1 -0
  9. package/dist/document-models/builders/gen/builders/actions.d.ts +12 -0
  10. package/dist/document-models/builders/gen/builders/actions.d.ts.map +1 -0
  11. package/dist/document-models/builders/gen/builders/actions.js +1 -0
  12. package/dist/document-models/builders/gen/builders/creators.d.ts +5 -0
  13. package/dist/document-models/builders/gen/builders/creators.d.ts.map +1 -0
  14. package/dist/document-models/builders/gen/builders/creators.js +4 -0
  15. package/dist/document-models/builders/gen/builders/error.d.ts +2 -0
  16. package/dist/document-models/builders/gen/builders/error.d.ts.map +1 -0
  17. package/dist/document-models/builders/gen/builders/error.js +1 -0
  18. package/dist/document-models/builders/gen/builders/operations.d.ts +8 -0
  19. package/dist/document-models/builders/gen/builders/operations.d.ts.map +1 -0
  20. package/dist/document-models/builders/gen/builders/operations.js +3 -0
  21. package/dist/document-models/builders/gen/creators.d.ts +3 -0
  22. package/dist/document-models/builders/gen/creators.d.ts.map +1 -0
  23. package/dist/document-models/builders/gen/creators.js +2 -0
  24. package/dist/document-models/builders/gen/document-model.d.ts +3 -0
  25. package/dist/document-models/builders/gen/document-model.d.ts.map +1 -0
  26. package/dist/document-models/builders/gen/document-model.js +59 -0
  27. package/dist/document-models/builders/gen/document-schema.d.ts +142 -0
  28. package/dist/document-models/builders/gen/document-schema.d.ts.map +1 -0
  29. package/dist/document-models/builders/gen/document-schema.js +33 -0
  30. package/dist/document-models/builders/gen/document-type.d.ts +2 -0
  31. package/dist/document-models/builders/gen/document-type.d.ts.map +1 -0
  32. package/dist/document-models/builders/gen/document-type.js +1 -0
  33. package/dist/document-models/builders/gen/index.d.ts +12 -0
  34. package/dist/document-models/builders/gen/index.d.ts.map +1 -0
  35. package/dist/document-models/builders/gen/index.js +11 -0
  36. package/dist/document-models/builders/gen/ph-factories.d.ts +23 -0
  37. package/dist/document-models/builders/gen/ph-factories.d.ts.map +1 -0
  38. package/dist/document-models/builders/gen/ph-factories.js +47 -0
  39. package/dist/document-models/builders/gen/reducer.d.ts +3 -0
  40. package/dist/document-models/builders/gen/reducer.d.ts.map +1 -0
  41. package/dist/document-models/builders/gen/reducer.js +21 -0
  42. package/dist/document-models/builders/gen/schema/index.d.ts +3 -0
  43. package/dist/document-models/builders/gen/schema/index.d.ts.map +1 -0
  44. package/dist/document-models/builders/gen/schema/index.js +2 -0
  45. package/dist/document-models/builders/gen/schema/types.d.ts +146 -0
  46. package/dist/document-models/builders/gen/schema/types.d.ts.map +1 -0
  47. package/dist/document-models/builders/gen/schema/types.js +1 -0
  48. package/dist/document-models/builders/gen/schema/zod.d.ts +13 -0
  49. package/dist/document-models/builders/gen/schema/zod.d.ts.map +1 -0
  50. package/dist/document-models/builders/gen/schema/zod.js +21 -0
  51. package/dist/document-models/builders/gen/types.d.ts +12 -0
  52. package/dist/document-models/builders/gen/types.d.ts.map +1 -0
  53. package/dist/document-models/builders/gen/types.js +1 -0
  54. package/dist/document-models/builders/gen/utils.d.ts +15 -0
  55. package/dist/document-models/builders/gen/utils.d.ts.map +1 -0
  56. package/dist/document-models/builders/gen/utils.js +51 -0
  57. package/dist/document-models/builders/hooks.d.ts +11 -0
  58. package/dist/document-models/builders/hooks.d.ts.map +1 -0
  59. package/dist/document-models/builders/hooks.js +26 -0
  60. package/dist/document-models/builders/index.d.ts +10 -0
  61. package/dist/document-models/builders/index.d.ts.map +1 -0
  62. package/dist/document-models/builders/index.js +9 -0
  63. package/dist/document-models/builders/module.d.ts +5 -0
  64. package/dist/document-models/builders/module.d.ts.map +1 -0
  65. package/dist/document-models/builders/module.js +10 -0
  66. package/dist/document-models/builders/src/index.d.ts +2 -0
  67. package/dist/document-models/builders/src/index.d.ts.map +1 -0
  68. package/dist/document-models/builders/src/index.js +1 -0
  69. package/dist/document-models/builders/src/reducers/builders.d.ts +3 -0
  70. package/dist/document-models/builders/src/reducers/builders.d.ts.map +1 -0
  71. package/dist/document-models/builders/src/reducers/builders.js +8 -0
  72. package/dist/document-models/builders/src/tests/builders.test.d.ts +6 -0
  73. package/dist/document-models/builders/src/tests/builders.test.d.ts.map +1 -0
  74. package/dist/document-models/builders/src/tests/builders.test.js +29 -0
  75. package/dist/document-models/builders/src/tests/document-model.test.d.ts +10 -0
  76. package/dist/document-models/builders/src/tests/document-model.test.d.ts.map +1 -0
  77. package/dist/document-models/builders/src/tests/document-model.test.js +104 -0
  78. package/dist/document-models/builders/src/utils.d.ts +2 -0
  79. package/dist/document-models/builders/src/utils.d.ts.map +1 -0
  80. package/dist/document-models/builders/src/utils.js +1 -0
  81. package/dist/document-models/builders/utils.d.ts +14 -0
  82. package/dist/document-models/builders/utils.d.ts.map +1 -0
  83. package/dist/document-models/builders/utils.js +7 -0
  84. package/dist/document-models/document-models.d.ts +3 -0
  85. package/dist/document-models/document-models.d.ts.map +1 -0
  86. package/dist/document-models/document-models.js +6 -0
  87. package/dist/document-models/expense-report/actions.d.ts +27 -0
  88. package/dist/document-models/expense-report/actions.d.ts.map +1 -0
  89. package/dist/document-models/expense-report/actions.js +4 -0
  90. package/dist/document-models/expense-report/gen/actions.d.ts +4 -0
  91. package/dist/document-models/expense-report/gen/actions.d.ts.map +1 -0
  92. package/dist/document-models/expense-report/gen/actions.js +1 -0
  93. package/dist/document-models/expense-report/gen/creators.d.ts +3 -0
  94. package/dist/document-models/expense-report/gen/creators.d.ts.map +1 -0
  95. package/dist/document-models/expense-report/gen/creators.js +2 -0
  96. package/dist/document-models/expense-report/gen/document-model.d.ts +3 -0
  97. package/dist/document-models/expense-report/gen/document-model.d.ts.map +1 -0
  98. package/dist/document-models/expense-report/gen/document-model.js +202 -0
  99. package/dist/document-models/expense-report/gen/document-schema.d.ts +199 -0
  100. package/dist/document-models/expense-report/gen/document-schema.d.ts.map +1 -0
  101. package/dist/document-models/expense-report/gen/document-schema.js +33 -0
  102. package/dist/document-models/expense-report/gen/document-type.d.ts +2 -0
  103. package/dist/document-models/expense-report/gen/document-type.d.ts.map +1 -0
  104. package/dist/document-models/expense-report/gen/document-type.js +1 -0
  105. package/dist/document-models/expense-report/gen/index.d.ts +12 -0
  106. package/dist/document-models/expense-report/gen/index.d.ts.map +1 -0
  107. package/dist/document-models/expense-report/gen/index.js +11 -0
  108. package/dist/document-models/expense-report/gen/ph-factories.d.ts +23 -0
  109. package/dist/document-models/expense-report/gen/ph-factories.d.ts.map +1 -0
  110. package/dist/document-models/expense-report/gen/ph-factories.js +186 -0
  111. package/dist/document-models/expense-report/gen/reducer.d.ts +3 -0
  112. package/dist/document-models/expense-report/gen/reducer.d.ts.map +1 -0
  113. package/dist/document-models/expense-report/gen/reducer.js +73 -0
  114. package/dist/document-models/expense-report/gen/schema/index.d.ts +3 -0
  115. package/dist/document-models/expense-report/gen/schema/index.d.ts.map +1 -0
  116. package/dist/document-models/expense-report/gen/schema/index.js +2 -0
  117. package/dist/document-models/expense-report/gen/schema/types.d.ts +258 -0
  118. package/dist/document-models/expense-report/gen/schema/types.d.ts.map +1 -0
  119. package/dist/document-models/expense-report/gen/schema/types.js +1 -0
  120. package/dist/document-models/expense-report/gen/schema/zod.d.ts +32 -0
  121. package/dist/document-models/expense-report/gen/schema/zod.d.ts.map +1 -0
  122. package/dist/document-models/expense-report/gen/schema/zod.js +200 -0
  123. package/dist/document-models/expense-report/gen/types.d.ts +12 -0
  124. package/dist/document-models/expense-report/gen/types.d.ts.map +1 -0
  125. package/dist/document-models/expense-report/gen/types.js +1 -0
  126. package/dist/document-models/expense-report/gen/utils.d.ts +15 -0
  127. package/dist/document-models/expense-report/gen/utils.d.ts.map +1 -0
  128. package/dist/document-models/expense-report/gen/utils.js +190 -0
  129. package/dist/document-models/expense-report/gen/wallet/actions.d.ts +64 -0
  130. package/dist/document-models/expense-report/gen/wallet/actions.d.ts.map +1 -0
  131. package/dist/document-models/expense-report/gen/wallet/actions.js +1 -0
  132. package/dist/document-models/expense-report/gen/wallet/creators.d.ts +18 -0
  133. package/dist/document-models/expense-report/gen/wallet/creators.d.ts.map +1 -0
  134. package/dist/document-models/expense-report/gen/wallet/creators.js +17 -0
  135. package/dist/document-models/expense-report/gen/wallet/error.d.ts +2 -0
  136. package/dist/document-models/expense-report/gen/wallet/error.d.ts.map +1 -0
  137. package/dist/document-models/expense-report/gen/wallet/error.js +1 -0
  138. package/dist/document-models/expense-report/gen/wallet/operations.d.ts +21 -0
  139. package/dist/document-models/expense-report/gen/wallet/operations.d.ts.map +1 -0
  140. package/dist/document-models/expense-report/gen/wallet/operations.js +3 -0
  141. package/dist/document-models/expense-report/hooks.d.ts +11 -0
  142. package/dist/document-models/expense-report/hooks.d.ts.map +1 -0
  143. package/dist/document-models/expense-report/hooks.js +26 -0
  144. package/dist/document-models/expense-report/index.d.ts +10 -0
  145. package/dist/document-models/expense-report/index.d.ts.map +1 -0
  146. package/dist/document-models/expense-report/index.js +9 -0
  147. package/dist/document-models/expense-report/module.d.ts +5 -0
  148. package/dist/document-models/expense-report/module.d.ts.map +1 -0
  149. package/dist/document-models/expense-report/module.js +10 -0
  150. package/dist/document-models/expense-report/src/index.d.ts +2 -0
  151. package/dist/document-models/expense-report/src/index.d.ts.map +1 -0
  152. package/dist/document-models/expense-report/src/index.js +1 -0
  153. package/dist/document-models/expense-report/src/reducers/wallet.d.ts +3 -0
  154. package/dist/document-models/expense-report/src/reducers/wallet.d.ts.map +1 -0
  155. package/dist/document-models/expense-report/src/reducers/wallet.js +196 -0
  156. package/dist/document-models/expense-report/src/tests/document-model.test.d.ts +10 -0
  157. package/dist/document-models/expense-report/src/tests/document-model.test.d.ts.map +1 -0
  158. package/dist/document-models/expense-report/src/tests/document-model.test.js +104 -0
  159. package/dist/document-models/expense-report/src/tests/wallet.test.d.ts +6 -0
  160. package/dist/document-models/expense-report/src/tests/wallet.test.d.ts.map +1 -0
  161. package/dist/document-models/expense-report/src/tests/wallet.test.js +159 -0
  162. package/dist/document-models/expense-report/src/utils.d.ts +2 -0
  163. package/dist/document-models/expense-report/src/utils.d.ts.map +1 -0
  164. package/dist/document-models/expense-report/src/utils.js +1 -0
  165. package/dist/document-models/expense-report/utils.d.ts +14 -0
  166. package/dist/document-models/expense-report/utils.d.ts.map +1 -0
  167. package/dist/document-models/expense-report/utils.js +7 -0
  168. package/dist/document-models/index.d.ts +3 -0
  169. package/dist/document-models/index.d.ts.map +1 -0
  170. package/dist/document-models/index.js +2 -0
  171. package/dist/document-models/service-subscriptions/actions.d.ts +25 -0
  172. package/dist/document-models/service-subscriptions/actions.d.ts.map +1 -0
  173. package/dist/document-models/service-subscriptions/actions.js +9 -0
  174. package/dist/document-models/service-subscriptions/gen/actions.d.ts +8 -0
  175. package/dist/document-models/service-subscriptions/gen/actions.d.ts.map +1 -0
  176. package/dist/document-models/service-subscriptions/gen/actions.js +3 -0
  177. package/dist/document-models/service-subscriptions/gen/categories/actions.d.ts +16 -0
  178. package/dist/document-models/service-subscriptions/gen/categories/actions.d.ts.map +1 -0
  179. package/dist/document-models/service-subscriptions/gen/categories/actions.js +1 -0
  180. package/dist/document-models/service-subscriptions/gen/categories/creators.d.ts +6 -0
  181. package/dist/document-models/service-subscriptions/gen/categories/creators.d.ts.map +1 -0
  182. package/dist/document-models/service-subscriptions/gen/categories/creators.js +5 -0
  183. package/dist/document-models/service-subscriptions/gen/categories/error.d.ts +2 -0
  184. package/dist/document-models/service-subscriptions/gen/categories/error.d.ts.map +1 -0
  185. package/dist/document-models/service-subscriptions/gen/categories/error.js +1 -0
  186. package/dist/document-models/service-subscriptions/gen/categories/operations.d.ts +9 -0
  187. package/dist/document-models/service-subscriptions/gen/categories/operations.d.ts.map +1 -0
  188. package/dist/document-models/service-subscriptions/gen/categories/operations.js +3 -0
  189. package/dist/document-models/service-subscriptions/gen/creators.d.ts +7 -0
  190. package/dist/document-models/service-subscriptions/gen/creators.d.ts.map +1 -0
  191. package/dist/document-models/service-subscriptions/gen/creators.js +6 -0
  192. package/dist/document-models/service-subscriptions/gen/document-model.d.ts +3 -0
  193. package/dist/document-models/service-subscriptions/gen/document-model.d.ts.map +1 -0
  194. package/dist/document-models/service-subscriptions/gen/document-model.js +194 -0
  195. package/dist/document-models/service-subscriptions/gen/document-schema.d.ts +180 -0
  196. package/dist/document-models/service-subscriptions/gen/document-schema.d.ts.map +1 -0
  197. package/dist/document-models/service-subscriptions/gen/document-schema.js +33 -0
  198. package/dist/document-models/service-subscriptions/gen/document-type.d.ts +2 -0
  199. package/dist/document-models/service-subscriptions/gen/document-type.d.ts.map +1 -0
  200. package/dist/document-models/service-subscriptions/gen/document-type.js +1 -0
  201. package/dist/document-models/service-subscriptions/gen/index.d.ts +14 -0
  202. package/dist/document-models/service-subscriptions/gen/index.d.ts.map +1 -0
  203. package/dist/document-models/service-subscriptions/gen/index.js +13 -0
  204. package/dist/document-models/service-subscriptions/gen/ph-factories.d.ts +23 -0
  205. package/dist/document-models/service-subscriptions/gen/ph-factories.d.ts.map +1 -0
  206. package/dist/document-models/service-subscriptions/gen/ph-factories.js +45 -0
  207. package/dist/document-models/service-subscriptions/gen/reducer.d.ts +3 -0
  208. package/dist/document-models/service-subscriptions/gen/reducer.d.ts.map +1 -0
  209. package/dist/document-models/service-subscriptions/gen/reducer.js +67 -0
  210. package/dist/document-models/service-subscriptions/gen/schema/index.d.ts +3 -0
  211. package/dist/document-models/service-subscriptions/gen/schema/index.d.ts.map +1 -0
  212. package/dist/document-models/service-subscriptions/gen/schema/index.js +2 -0
  213. package/dist/document-models/service-subscriptions/gen/schema/types.d.ts +274 -0
  214. package/dist/document-models/service-subscriptions/gen/schema/types.d.ts.map +1 -0
  215. package/dist/document-models/service-subscriptions/gen/schema/types.js +1 -0
  216. package/dist/document-models/service-subscriptions/gen/schema/zod.d.ts +31 -0
  217. package/dist/document-models/service-subscriptions/gen/schema/zod.d.ts.map +1 -0
  218. package/dist/document-models/service-subscriptions/gen/schema/zod.js +199 -0
  219. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.d.ts +32 -0
  220. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.d.ts.map +1 -0
  221. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.js +1 -0
  222. package/dist/document-models/service-subscriptions/gen/subscriptions/creators.d.ts +10 -0
  223. package/dist/document-models/service-subscriptions/gen/subscriptions/creators.d.ts.map +1 -0
  224. package/dist/document-models/service-subscriptions/gen/subscriptions/creators.js +9 -0
  225. package/dist/document-models/service-subscriptions/gen/subscriptions/error.d.ts +2 -0
  226. package/dist/document-models/service-subscriptions/gen/subscriptions/error.d.ts.map +1 -0
  227. package/dist/document-models/service-subscriptions/gen/subscriptions/error.js +1 -0
  228. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.d.ts +13 -0
  229. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.d.ts.map +1 -0
  230. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.js +3 -0
  231. package/dist/document-models/service-subscriptions/gen/types.d.ts +12 -0
  232. package/dist/document-models/service-subscriptions/gen/types.d.ts.map +1 -0
  233. package/dist/document-models/service-subscriptions/gen/types.js +1 -0
  234. package/dist/document-models/service-subscriptions/gen/utils.d.ts +15 -0
  235. package/dist/document-models/service-subscriptions/gen/utils.d.ts.map +1 -0
  236. package/dist/document-models/service-subscriptions/gen/utils.js +53 -0
  237. package/dist/document-models/service-subscriptions/gen/vendors/actions.d.ts +16 -0
  238. package/dist/document-models/service-subscriptions/gen/vendors/actions.d.ts.map +1 -0
  239. package/dist/document-models/service-subscriptions/gen/vendors/actions.js +1 -0
  240. package/dist/document-models/service-subscriptions/gen/vendors/creators.d.ts +6 -0
  241. package/dist/document-models/service-subscriptions/gen/vendors/creators.d.ts.map +1 -0
  242. package/dist/document-models/service-subscriptions/gen/vendors/creators.js +5 -0
  243. package/dist/document-models/service-subscriptions/gen/vendors/error.d.ts +2 -0
  244. package/dist/document-models/service-subscriptions/gen/vendors/error.d.ts.map +1 -0
  245. package/dist/document-models/service-subscriptions/gen/vendors/error.js +1 -0
  246. package/dist/document-models/service-subscriptions/gen/vendors/operations.d.ts +9 -0
  247. package/dist/document-models/service-subscriptions/gen/vendors/operations.d.ts.map +1 -0
  248. package/dist/document-models/service-subscriptions/gen/vendors/operations.js +3 -0
  249. package/dist/document-models/service-subscriptions/hooks.d.ts +11 -0
  250. package/dist/document-models/service-subscriptions/hooks.d.ts.map +1 -0
  251. package/dist/document-models/service-subscriptions/hooks.js +26 -0
  252. package/dist/document-models/service-subscriptions/index.d.ts +10 -0
  253. package/dist/document-models/service-subscriptions/index.d.ts.map +1 -0
  254. package/dist/document-models/service-subscriptions/index.js +9 -0
  255. package/dist/document-models/service-subscriptions/module.d.ts +5 -0
  256. package/dist/document-models/service-subscriptions/module.d.ts.map +1 -0
  257. package/dist/document-models/service-subscriptions/module.js +10 -0
  258. package/dist/document-models/service-subscriptions/src/index.d.ts +2 -0
  259. package/dist/document-models/service-subscriptions/src/index.d.ts.map +1 -0
  260. package/dist/document-models/service-subscriptions/src/index.js +1 -0
  261. package/dist/document-models/service-subscriptions/src/reducers/categories.d.ts +3 -0
  262. package/dist/document-models/service-subscriptions/src/reducers/categories.d.ts.map +1 -0
  263. package/dist/document-models/service-subscriptions/src/reducers/categories.js +24 -0
  264. package/dist/document-models/service-subscriptions/src/reducers/subscriptions.d.ts +3 -0
  265. package/dist/document-models/service-subscriptions/src/reducers/subscriptions.d.ts.map +1 -0
  266. package/dist/document-models/service-subscriptions/src/reducers/subscriptions.js +114 -0
  267. package/dist/document-models/service-subscriptions/src/reducers/vendors.d.ts +3 -0
  268. package/dist/document-models/service-subscriptions/src/reducers/vendors.d.ts.map +1 -0
  269. package/dist/document-models/service-subscriptions/src/reducers/vendors.js +30 -0
  270. package/dist/document-models/service-subscriptions/src/tests/categories.test.d.ts +6 -0
  271. package/dist/document-models/service-subscriptions/src/tests/categories.test.d.ts.map +1 -0
  272. package/dist/document-models/service-subscriptions/src/tests/categories.test.js +39 -0
  273. package/dist/document-models/service-subscriptions/src/tests/document-model.test.d.ts +10 -0
  274. package/dist/document-models/service-subscriptions/src/tests/document-model.test.d.ts.map +1 -0
  275. package/dist/document-models/service-subscriptions/src/tests/document-model.test.js +104 -0
  276. package/dist/document-models/service-subscriptions/src/tests/subscriptions.test.d.ts +6 -0
  277. package/dist/document-models/service-subscriptions/src/tests/subscriptions.test.d.ts.map +1 -0
  278. package/dist/document-models/service-subscriptions/src/tests/subscriptions.test.js +79 -0
  279. package/dist/document-models/service-subscriptions/src/tests/vendors.test.d.ts +6 -0
  280. package/dist/document-models/service-subscriptions/src/tests/vendors.test.d.ts.map +1 -0
  281. package/dist/document-models/service-subscriptions/src/tests/vendors.test.js +39 -0
  282. package/dist/document-models/service-subscriptions/src/utils.d.ts +2 -0
  283. package/dist/document-models/service-subscriptions/src/utils.d.ts.map +1 -0
  284. package/dist/document-models/service-subscriptions/src/utils.js +1 -0
  285. package/dist/document-models/service-subscriptions/utils.d.ts +14 -0
  286. package/dist/document-models/service-subscriptions/utils.d.ts.map +1 -0
  287. package/dist/document-models/service-subscriptions/utils.js +7 -0
  288. package/dist/editors/builder-team-admin/components/CreateDocument.d.ts +6 -0
  289. package/dist/editors/builder-team-admin/components/CreateDocument.d.ts.map +1 -0
  290. package/dist/editors/builder-team-admin/components/CreateDocument.js +18 -0
  291. package/dist/editors/builder-team-admin/components/DriveContents.d.ts +6 -0
  292. package/dist/editors/builder-team-admin/components/DriveContents.d.ts.map +1 -0
  293. package/dist/editors/builder-team-admin/components/DriveContents.js +38 -0
  294. package/dist/editors/builder-team-admin/components/DriveExplorer.d.ts +7 -0
  295. package/dist/editors/builder-team-admin/components/DriveExplorer.d.ts.map +1 -0
  296. package/dist/editors/builder-team-admin/components/DriveExplorer.js +45 -0
  297. package/dist/editors/builder-team-admin/components/EmptyState.d.ts +3 -0
  298. package/dist/editors/builder-team-admin/components/EmptyState.d.ts.map +1 -0
  299. package/dist/editors/builder-team-admin/components/EmptyState.js +10 -0
  300. package/dist/editors/builder-team-admin/components/ExpenseReportsStats.d.ts +11 -0
  301. package/dist/editors/builder-team-admin/components/ExpenseReportsStats.d.ts.map +1 -0
  302. package/dist/editors/builder-team-admin/components/ExpenseReportsStats.js +137 -0
  303. package/dist/editors/builder-team-admin/components/Files.d.ts +3 -0
  304. package/dist/editors/builder-team-admin/components/Files.d.ts.map +1 -0
  305. package/dist/editors/builder-team-admin/components/Files.js +12 -0
  306. package/dist/editors/builder-team-admin/components/FolderTree.d.ts +14 -0
  307. package/dist/editors/builder-team-admin/components/FolderTree.d.ts.map +1 -0
  308. package/dist/editors/builder-team-admin/components/FolderTree.js +209 -0
  309. package/dist/editors/builder-team-admin/components/Folders.d.ts +3 -0
  310. package/dist/editors/builder-team-admin/components/Folders.d.ts.map +1 -0
  311. package/dist/editors/builder-team-admin/components/Folders.js +12 -0
  312. package/dist/editors/builder-team-admin/components/NavigationBreadcrumbs.d.ts +3 -0
  313. package/dist/editors/builder-team-admin/components/NavigationBreadcrumbs.d.ts.map +1 -0
  314. package/dist/editors/builder-team-admin/components/NavigationBreadcrumbs.js +6 -0
  315. package/dist/editors/builder-team-admin/components/expense-reports.d.ts +2 -0
  316. package/dist/editors/builder-team-admin/components/expense-reports.d.ts.map +1 -0
  317. package/dist/editors/builder-team-admin/components/expense-reports.js +250 -0
  318. package/dist/editors/builder-team-admin/components/overview/ProfileHeader.d.ts +10 -0
  319. package/dist/editors/builder-team-admin/components/overview/ProfileHeader.d.ts.map +1 -0
  320. package/dist/editors/builder-team-admin/components/overview/ProfileHeader.js +24 -0
  321. package/dist/editors/builder-team-admin/components/overview/SubscriptionsStats.d.ts +15 -0
  322. package/dist/editors/builder-team-admin/components/overview/SubscriptionsStats.d.ts.map +1 -0
  323. package/dist/editors/builder-team-admin/components/overview/SubscriptionsStats.js +61 -0
  324. package/dist/editors/builder-team-admin/components/overview/TeamMembersOverview.d.ts +10 -0
  325. package/dist/editors/builder-team-admin/components/overview/TeamMembersOverview.d.ts.map +1 -0
  326. package/dist/editors/builder-team-admin/components/overview/TeamMembersOverview.js +97 -0
  327. package/dist/editors/builder-team-admin/components/team-members.d.ts +2 -0
  328. package/dist/editors/builder-team-admin/components/team-members.d.ts.map +1 -0
  329. package/dist/editors/builder-team-admin/components/team-members.js +200 -0
  330. package/dist/editors/builder-team-admin/config.d.ts +4 -0
  331. package/dist/editors/builder-team-admin/config.d.ts.map +1 -0
  332. package/dist/editors/builder-team-admin/config.js +10 -0
  333. package/dist/editors/builder-team-admin/editor.d.ts +4 -0
  334. package/dist/editors/builder-team-admin/editor.d.ts.map +1 -0
  335. package/dist/editors/builder-team-admin/editor.js +11 -0
  336. package/dist/editors/builder-team-admin/module.d.ts +3 -0
  337. package/dist/editors/builder-team-admin/module.d.ts.map +1 -0
  338. package/dist/editors/builder-team-admin/module.js +10 -0
  339. package/dist/editors/builders/editor.d.ts +3 -0
  340. package/dist/editors/builders/editor.d.ts.map +1 -0
  341. package/dist/editors/builders/editor.js +204 -0
  342. package/dist/editors/builders/module.d.ts +4 -0
  343. package/dist/editors/builders/module.d.ts.map +1 -0
  344. package/dist/editors/builders/module.js +10 -0
  345. package/dist/editors/editors.d.ts +3 -0
  346. package/dist/editors/editors.d.ts.map +1 -0
  347. package/dist/editors/editors.js +8 -0
  348. package/dist/editors/expense-report/components/AddBillingStatementModal.d.ts +11 -0
  349. package/dist/editors/expense-report/components/AddBillingStatementModal.d.ts.map +1 -0
  350. package/dist/editors/expense-report/components/AddBillingStatementModal.js +195 -0
  351. package/dist/editors/expense-report/components/AggregatedExpensesTable.d.ts +11 -0
  352. package/dist/editors/expense-report/components/AggregatedExpensesTable.d.ts.map +1 -0
  353. package/dist/editors/expense-report/components/AggregatedExpensesTable.js +388 -0
  354. package/dist/editors/expense-report/components/ExpenseReportPDF.d.ts +10 -0
  355. package/dist/editors/expense-report/components/ExpenseReportPDF.d.ts.map +1 -0
  356. package/dist/editors/expense-report/components/ExpenseReportPDF.js +287 -0
  357. package/dist/editors/expense-report/components/ExpenseReportTransactionsTable.d.ts +14 -0
  358. package/dist/editors/expense-report/components/ExpenseReportTransactionsTable.d.ts.map +1 -0
  359. package/dist/editors/expense-report/components/ExpenseReportTransactionsTable.js +64 -0
  360. package/dist/editors/expense-report/components/WalletsTable.d.ts +12 -0
  361. package/dist/editors/expense-report/components/WalletsTable.d.ts.map +1 -0
  362. package/dist/editors/expense-report/components/WalletsTable.js +456 -0
  363. package/dist/editors/expense-report/config.d.ts +3 -0
  364. package/dist/editors/expense-report/config.d.ts.map +1 -0
  365. package/dist/editors/expense-report/config.js +3 -0
  366. package/dist/editors/expense-report/editor.d.ts +2 -0
  367. package/dist/editors/expense-report/editor.d.ts.map +1 -0
  368. package/dist/editors/expense-report/editor.js +107 -0
  369. package/dist/editors/expense-report/hooks/useSyncWallet.d.ts +5 -0
  370. package/dist/editors/expense-report/hooks/useSyncWallet.d.ts.map +1 -0
  371. package/dist/editors/expense-report/hooks/useSyncWallet.js +150 -0
  372. package/dist/editors/expense-report/hooks/useWalletSync.d.ts +9 -0
  373. package/dist/editors/expense-report/hooks/useWalletSync.d.ts.map +1 -0
  374. package/dist/editors/expense-report/hooks/useWalletSync.js +78 -0
  375. package/dist/editors/expense-report/module.d.ts +3 -0
  376. package/dist/editors/expense-report/module.d.ts.map +1 -0
  377. package/dist/editors/expense-report/module.js +9 -0
  378. package/dist/editors/index.d.ts +4 -0
  379. package/dist/editors/index.d.ts.map +1 -0
  380. package/dist/editors/index.js +3 -0
  381. package/dist/editors/service-subscriptions-editor/components/AddCategoryModal.d.ts +7 -0
  382. package/dist/editors/service-subscriptions-editor/components/AddCategoryModal.d.ts.map +1 -0
  383. package/dist/editors/service-subscriptions-editor/components/AddCategoryModal.js +39 -0
  384. package/dist/editors/service-subscriptions-editor/components/AddSubscriptionModal.d.ts +10 -0
  385. package/dist/editors/service-subscriptions-editor/components/AddSubscriptionModal.d.ts.map +1 -0
  386. package/dist/editors/service-subscriptions-editor/components/AddSubscriptionModal.js +64 -0
  387. package/dist/editors/service-subscriptions-editor/components/AddVendorModal.d.ts +7 -0
  388. package/dist/editors/service-subscriptions-editor/components/AddVendorModal.d.ts.map +1 -0
  389. package/dist/editors/service-subscriptions-editor/components/AddVendorModal.js +43 -0
  390. package/dist/editors/service-subscriptions-editor/components/CategoriesList.d.ts +8 -0
  391. package/dist/editors/service-subscriptions-editor/components/CategoriesList.d.ts.map +1 -0
  392. package/dist/editors/service-subscriptions-editor/components/CategoriesList.js +23 -0
  393. package/dist/editors/service-subscriptions-editor/components/EditName.d.ts +3 -0
  394. package/dist/editors/service-subscriptions-editor/components/EditName.d.ts.map +1 -0
  395. package/dist/editors/service-subscriptions-editor/components/EditName.js +31 -0
  396. package/dist/editors/service-subscriptions-editor/components/StatsOverview.d.ts +8 -0
  397. package/dist/editors/service-subscriptions-editor/components/StatsOverview.d.ts.map +1 -0
  398. package/dist/editors/service-subscriptions-editor/components/StatsOverview.js +32 -0
  399. package/dist/editors/service-subscriptions-editor/components/SubscriptionsList.d.ts +10 -0
  400. package/dist/editors/service-subscriptions-editor/components/SubscriptionsList.d.ts.map +1 -0
  401. package/dist/editors/service-subscriptions-editor/components/SubscriptionsList.js +88 -0
  402. package/dist/editors/service-subscriptions-editor/components/VendorsList.d.ts +8 -0
  403. package/dist/editors/service-subscriptions-editor/components/VendorsList.d.ts.map +1 -0
  404. package/dist/editors/service-subscriptions-editor/components/VendorsList.js +23 -0
  405. package/dist/editors/service-subscriptions-editor/editor.d.ts +2 -0
  406. package/dist/editors/service-subscriptions-editor/editor.d.ts.map +1 -0
  407. package/dist/editors/service-subscriptions-editor/editor.js +60 -0
  408. package/dist/editors/service-subscriptions-editor/module.d.ts +4 -0
  409. package/dist/editors/service-subscriptions-editor/module.d.ts.map +1 -0
  410. package/dist/editors/service-subscriptions-editor/module.js +10 -0
  411. package/dist/index.d.ts +5 -0
  412. package/dist/index.d.ts.map +1 -0
  413. package/dist/index.js +6 -0
  414. package/dist/package.json +119 -0
  415. package/dist/powerhouse.manifest.json +27 -0
  416. package/dist/processors/index.d.ts +2 -0
  417. package/dist/processors/index.d.ts.map +1 -0
  418. package/dist/processors/index.js +1 -0
  419. package/dist/style.css +3948 -0
  420. package/dist/subgraphs/index.d.ts +2 -0
  421. package/dist/subgraphs/index.d.ts.map +1 -0
  422. package/dist/subgraphs/index.js +1 -0
  423. package/dist/subgraphs/service-subscriptions/index.d.ts +11 -0
  424. package/dist/subgraphs/service-subscriptions/index.d.ts.map +1 -0
  425. package/dist/subgraphs/service-subscriptions/index.js +11 -0
  426. package/dist/subgraphs/service-subscriptions/resolvers.d.ts +3 -0
  427. package/dist/subgraphs/service-subscriptions/resolvers.d.ts.map +1 -0
  428. package/dist/subgraphs/service-subscriptions/resolvers.js +228 -0
  429. package/dist/subgraphs/service-subscriptions/schema.d.ts +3 -0
  430. package/dist/subgraphs/service-subscriptions/schema.d.ts.map +1 -0
  431. package/dist/subgraphs/service-subscriptions/schema.js +193 -0
  432. package/dist/vite.config.d.ts +3 -0
  433. package/dist/vite.config.d.ts.map +1 -0
  434. package/dist/vite.config.js +13 -0
  435. package/dist/vitest.config.d.ts +3 -0
  436. package/dist/vitest.config.d.ts.map +1 -0
  437. package/dist/vitest.config.js +15 -0
  438. package/package.json +119 -0
@@ -0,0 +1,204 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { DocumentToolbar } from "@powerhousedao/design-system/connect";
3
+ import { useSelectedBuildersDocument } from "../../document-models/builders/hooks.js";
4
+ import { actions as buildersActions } from "../../document-models/builders/actions.js";
5
+ import { setSelectedNode, useParentFolderForSelectedNode, useDocumentsInSelectedDrive, useDrives, useGetDocuments, } from "@powerhousedao/reactor-browser";
6
+ import { useMemo, useCallback } from "react";
7
+ import { ObjectSetTable, PHIDInput, } from "@powerhousedao/document-engineering";
8
+ /** Implement your editor behavior here */
9
+ export default function Editor() {
10
+ const [doc, dispatch] = useSelectedBuildersDocument();
11
+ // Get the parent folder node for the currently selected node
12
+ const parentFolder = useParentFolderForSelectedNode();
13
+ // Set the selected node to the parent folder node (close the editor)
14
+ function handleClose() {
15
+ setSelectedNode(parentFolder?.id);
16
+ }
17
+ const drives = useDrives();
18
+ // Map all builder profile FileNodes from all drives with their driveId
19
+ const builderProfileNodesWithDriveId = useMemo(() => {
20
+ if (!drives)
21
+ return [];
22
+ return drives.flatMap((drive) => {
23
+ const builderProfileNodes = drive.state.global.nodes.filter((node) => node.kind === "file" &&
24
+ "documentType" in node &&
25
+ node.documentType === "powerhouse/builder-profile");
26
+ return builderProfileNodes.map((node) => ({
27
+ node,
28
+ driveId: drive.header.id,
29
+ }));
30
+ });
31
+ }, [drives]);
32
+ // Get all unique builder PHIDs from the nodes
33
+ const builderPhids = useMemo(() => {
34
+ return builderProfileNodesWithDriveId.map(({ node }) => node.id);
35
+ }, [builderProfileNodesWithDriveId]);
36
+ // Fetch all builder profile documents from all drives
37
+ const builderProfileDocuments = useGetDocuments(builderPhids);
38
+ // Create a map of PHID to document for quick lookup
39
+ const builderProfileMap = useMemo(() => {
40
+ if (!builderProfileDocuments)
41
+ return new Map();
42
+ const map = new Map();
43
+ builderProfileDocuments.forEach((doc) => {
44
+ if (doc.header.documentType === "powerhouse/builder-profile") {
45
+ map.set(doc.header.id, doc);
46
+ }
47
+ });
48
+ return map;
49
+ }, [builderProfileDocuments]);
50
+ // Helper function to get builder profile documents from all drives
51
+ const getBuilderProfiles = useCallback(() => {
52
+ return builderProfileNodesWithDriveId.map(({ node }) => {
53
+ const doc = builderProfileMap.get(node.id);
54
+ const name = doc?.state?.global?.name || node.name || node.id;
55
+ return {
56
+ id: node.id,
57
+ label: name,
58
+ value: node.id,
59
+ title: name,
60
+ };
61
+ });
62
+ }, [builderProfileNodesWithDriveId, builderProfileMap]);
63
+ // Helper function to get builder profile data by PHID from all drives
64
+ const getBuilderProfileByPhid = (phid) => {
65
+ const doc = builderProfileMap.get(phid);
66
+ if (!doc)
67
+ return null;
68
+ return {
69
+ name: doc.state.global?.name || doc.header.id,
70
+ slug: doc.state.global?.slug || doc.header.id,
71
+ icon: doc.state.global?.icon || null,
72
+ };
73
+ };
74
+ const builders = useMemo(() => {
75
+ return doc?.state.global.builders.map((phid) => ({
76
+ phid: phid,
77
+ name: getBuilderProfileByPhid(phid)?.name || "",
78
+ slug: getBuilderProfileByPhid(phid)?.slug || "",
79
+ icon: getBuilderProfileByPhid(phid)?.icon || null,
80
+ }));
81
+ }, [doc, builderProfileMap]);
82
+ const columns = useMemo(() => [
83
+ {
84
+ field: "phid",
85
+ title: "PHID",
86
+ editable: true,
87
+ align: "center",
88
+ width: 200,
89
+ onSave: (newValue, context) => {
90
+ const currentId = context.row.phid || "";
91
+ if (newValue !== currentId && newValue && currentId) {
92
+ // First remove the old agent
93
+ dispatch(buildersActions.removeBuilder({ builderPhid: currentId }));
94
+ // Then add the new agent with the new PHID
95
+ dispatch(buildersActions.addBuilder({
96
+ builderPhid: newValue,
97
+ }));
98
+ return true;
99
+ }
100
+ return false;
101
+ },
102
+ renderCellEditor: (value, onChange, context) => (_jsx(PHIDInput, { value: value || "", onChange: (newValue) => {
103
+ onChange(newValue);
104
+ }, onBlur: (e) => {
105
+ const newValue = e.target.value;
106
+ const currentValue = value || "";
107
+ // If a PHID is entered and it's different from current value
108
+ if (newValue && newValue !== currentValue) {
109
+ const builderProfile = getBuilderProfileByPhid(newValue);
110
+ const existingBuilder = builders?.find((builder) => builder?.phid === newValue);
111
+ if (!existingBuilder) {
112
+ // If we're editing an existing row (has an ID), remove the old one first
113
+ if (context.row.phid && context.row.phid !== newValue) {
114
+ dispatch(buildersActions.removeBuilder({
115
+ builderPhid: context.row.phid,
116
+ }));
117
+ }
118
+ if (builderProfile) {
119
+ // Create new agent with data from builder profile
120
+ dispatch(buildersActions.addBuilder({
121
+ builderPhid: newValue,
122
+ }));
123
+ }
124
+ else {
125
+ // Manual PHID entry - create agent with empty data that user can fill
126
+ dispatch(buildersActions.addBuilder({
127
+ builderPhid: newValue,
128
+ }));
129
+ }
130
+ }
131
+ }
132
+ }, placeholder: "Enter PHID", className: "w-full", variant: "withValueAndTitle", initialOptions: getBuilderProfiles(), fetchOptionsCallback: async (userInput) => {
133
+ const builderProfiles = getBuilderProfiles();
134
+ // Filter profiles based on user input
135
+ if (!userInput.trim()) {
136
+ return builderProfiles;
137
+ }
138
+ const filteredProfiles = builderProfiles.filter((profile) => profile.label
139
+ .toLowerCase()
140
+ .includes(userInput.toLowerCase()) ||
141
+ profile.id.toLowerCase().includes(userInput.toLowerCase()));
142
+ return filteredProfiles;
143
+ } })),
144
+ renderCell: (value) => {
145
+ if (value === "" || !value) {
146
+ return (_jsx("div", { className: "font-light italic text-gray-500 text-center", children: "+ Double-click to add new builder (enter or click outside to save)" }));
147
+ }
148
+ return _jsx("div", { className: "text-center font-mono text-sm", children: value });
149
+ },
150
+ },
151
+ {
152
+ field: "name",
153
+ title: "Builder Name",
154
+ editable: false,
155
+ align: "center",
156
+ width: 200,
157
+ renderCell: (value) => {
158
+ return _jsx("div", { className: "text-center", children: value });
159
+ },
160
+ },
161
+ {
162
+ field: "slug",
163
+ title: "Builder Slug",
164
+ editable: false,
165
+ align: "center",
166
+ width: 200,
167
+ renderCell: (value) => {
168
+ return _jsx("div", { className: "text-center", children: value });
169
+ },
170
+ },
171
+ {
172
+ field: "icon",
173
+ title: "Icon",
174
+ editable: false,
175
+ align: "center",
176
+ width: 150,
177
+ renderCell: (value, context) => {
178
+ if (!context.row.icon) {
179
+ return null;
180
+ }
181
+ return (_jsx("div", { className: "text-center", children: _jsx("img", { src: context.row.icon, alt: "Agent icon", className: "w-10 h-10 rounded-sm mx-auto object-cover", onError: (e) => {
182
+ e.currentTarget.style.display = "none";
183
+ e.currentTarget.nextElementSibling?.classList.remove("hidden");
184
+ } }) }));
185
+ },
186
+ },
187
+ ], [builders, builderProfileMap, getBuilderProfiles]);
188
+ return (_jsxs("div", { className: "w-full bg-gray-50", children: [_jsx(DocumentToolbar, { document: doc, onClose: handleClose }), _jsxs("div", { className: "p-2 max-w-4xl mx-auto min-h-screen", children: [_jsx("div", { className: "bg-white rounded-lg p-6 mb-6 shadow-sm text-center", children: _jsx("h1", { className: "text-3xl font-bold text-gray-900 mb-2", children: "Builders" }) }), _jsx("div", { className: "mt-4 bg-white", children: _jsx(ObjectSetTable, { columns: columns, data: builders || [], allowRowSelection: true, onDelete: (data) => {
189
+ if (data.length > 0) {
190
+ data.forEach((d) => {
191
+ dispatch(buildersActions.removeBuilder({ builderPhid: d.phid }));
192
+ });
193
+ }
194
+ }, onAdd: (data) => {
195
+ // Only add if we have a title (name) - PHID will be handled by the PHIDInput onChange
196
+ if (data.title) {
197
+ // Generate a temporary ID if no PHID is provided
198
+ const tempId = data.id || `temp-${Date.now()}`;
199
+ dispatch(buildersActions.addBuilder({
200
+ builderPhid: tempId,
201
+ }));
202
+ }
203
+ } }) })] })] }));
204
+ }
@@ -0,0 +1,4 @@
1
+ import type { EditorModule } from "document-model";
2
+ /** Document editor module for the Todo List document type */
3
+ export declare const Builders: EditorModule;
4
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/builders/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,EAAE,YAOtB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { lazy } from "react";
2
+ /** Document editor module for the Todo List document type */
3
+ export const Builders = {
4
+ Component: lazy(() => import("./editor.js")),
5
+ documentTypes: ["powerhouse/builders"],
6
+ config: {
7
+ id: "builders-editor",
8
+ name: "builders",
9
+ },
10
+ };
@@ -0,0 +1,3 @@
1
+ import type { EditorModule } from "document-model";
2
+ export declare const editors: EditorModule[];
3
+ //# sourceMappingURL=editors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editors.d.ts","sourceRoot":"","sources":["../../editors/editors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,eAAO,MAAM,OAAO,EAAE,YAAY,EAIjC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ServiceSubscriptionsEditor } from "./service-subscriptions-editor/module.js";
2
+ import { BuilderTeamAdmin } from "./builder-team-admin/module.js";
3
+ import { ExpenseReport } from "./expense-report/module.js";
4
+ export const editors = [
5
+ BuilderTeamAdmin,
6
+ ServiceSubscriptionsEditor,
7
+ ExpenseReport,
8
+ ];
@@ -0,0 +1,11 @@
1
+ import type { LineItemGroup } from "../../../document-models/expense-report/gen/types.js";
2
+ interface AddBillingStatementModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ walletAddress: string;
6
+ dispatch: any;
7
+ groups: LineItemGroup[];
8
+ }
9
+ export declare function AddBillingStatementModal({ isOpen, onClose, walletAddress, dispatch, groups, }: AddBillingStatementModalProps): import("react/jsx-runtime").JSX.Element | null;
10
+ export {};
11
+ //# sourceMappingURL=AddBillingStatementModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddBillingStatementModal.d.ts","sourceRoot":"","sources":["../../../../editors/expense-report/components/AddBillingStatementModal.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAG1F,UAAU,6BAA6B;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AA+BD,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,OAAO,EACP,aAAa,EACb,QAAQ,EACR,MAAM,GACP,EAAE,6BAA6B,kDAwU/B"}
@@ -0,0 +1,195 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useMemo } from "react";
3
+ import { Button } from "@powerhousedao/document-engineering";
4
+ import { useDocumentsInSelectedDrive } from "@powerhousedao/reactor-browser";
5
+ import { generateId } from "document-model";
6
+ import { X, FileText, Check } from "lucide-react";
7
+ import { actions } from "../../../document-models/expense-report/index.js";
8
+ // Mapping of fusion labels to group IDs
9
+ const fusionLabelToValue = {
10
+ Budget: "budget",
11
+ "Current Liability": "liabilities/current",
12
+ "Interest Income": "income/interest",
13
+ "Travel & Entertainment": "expenses/headcount/travel-and-entertainment",
14
+ "Cost of Goods Sold": "expenses/non-headcount/direct-costs",
15
+ "Marketing Expense": "expenses/headcount/marketing",
16
+ "Professional Services": "expenses/headcount/professional-services",
17
+ "Software Development Expense": "expenses/non-headcount/software-development",
18
+ "Compensation & Benefits": "expenses/headcount/compensation-and-benefits",
19
+ "Admin Expense": "expenses/headcount/admin",
20
+ "Other Income Expense (Non-operating)": "income/non-operating",
21
+ "Other Income": "income/other",
22
+ "Income Tax Expense": "expenses/non-headcount/income-tax",
23
+ "Current Asset": "assets/current",
24
+ "Software Expense": "expenses/non-headcount/software",
25
+ "Fixed Asset": "assets/fixed",
26
+ "Non-Current Asset": "assets/non-current",
27
+ "Gas Expense": "expenses/non-headcount/gas",
28
+ "Adjustment A/C": "accounts/adjustment",
29
+ "Temporary Holding Account": "accounts/temporary",
30
+ Other: "accounts/other",
31
+ "Internal Transfers": "accounts/internal-transfers",
32
+ "Owner Equity": "equity/owner",
33
+ "Non-current Liability": "liabilities/non-current",
34
+ Equity: "equity/retained",
35
+ };
36
+ export function AddBillingStatementModal({ isOpen, onClose, walletAddress, dispatch, groups, }) {
37
+ const documents = useDocumentsInSelectedDrive();
38
+ const [selectedStatements, setSelectedStatements] = useState(new Set());
39
+ const [searchTerm, setSearchTerm] = useState("");
40
+ // Get already added billing statement IDs for this wallet from documents
41
+ const existingBillingStatementIds = useMemo(() => {
42
+ if (!documents)
43
+ return new Set();
44
+ const expenseReports = documents.filter((doc) => doc.header.documentType === "powerhouse/expense-report");
45
+ const ids = new Set();
46
+ expenseReports.forEach((doc) => {
47
+ const wallets = doc.state?.global?.wallets || [];
48
+ const wallet = wallets.find((w) => w.wallet === walletAddress);
49
+ if (wallet?.billingStatements) {
50
+ wallet.billingStatements.forEach((id) => {
51
+ if (id)
52
+ ids.add(id);
53
+ });
54
+ }
55
+ });
56
+ return ids;
57
+ }, [documents, walletAddress]);
58
+ // Get billing statement documents from the drive
59
+ const billingStatements = useMemo(() => {
60
+ if (!documents)
61
+ return [];
62
+ return documents
63
+ .filter((doc) => doc.header.documentType === "powerhouse/billing-statement")
64
+ .map((doc) => ({
65
+ id: doc.header.id,
66
+ name: doc.header.name,
67
+ document: doc, // Full document with state
68
+ }));
69
+ }, [documents]);
70
+ // Filter billing statements based on search term
71
+ const filteredStatements = useMemo(() => {
72
+ if (!searchTerm.trim())
73
+ return billingStatements;
74
+ const search = searchTerm.toLowerCase();
75
+ return billingStatements.filter((stmt) => stmt.name.toLowerCase().includes(search));
76
+ }, [billingStatements, searchTerm]);
77
+ // Toggle statement selection
78
+ const toggleStatement = (id) => {
79
+ // Don't allow selecting already-added statements
80
+ if (existingBillingStatementIds.has(id)) {
81
+ return;
82
+ }
83
+ const newSelected = new Set(selectedStatements);
84
+ if (newSelected.has(id)) {
85
+ newSelected.delete(id);
86
+ }
87
+ else {
88
+ newSelected.add(id);
89
+ }
90
+ setSelectedStatements(newSelected);
91
+ };
92
+ // Format currency with thousand separators
93
+ const formatCurrency = (value) => {
94
+ return new Intl.NumberFormat("en-US", {
95
+ style: "currency",
96
+ currency: "USD",
97
+ minimumFractionDigits: 2,
98
+ maximumFractionDigits: 2,
99
+ }).format(value);
100
+ };
101
+ // Map billing statement line item tag to expense report group
102
+ const mapTagToGroup = (lineItem) => {
103
+ // Find expense-account tag
104
+ const expenseAccountTag = lineItem.lineItemTag?.find((tag) => tag.dimension === "expense-account");
105
+ if (!expenseAccountTag || !expenseAccountTag.label)
106
+ return null;
107
+ // Find matching group by label
108
+ const group = groups.find((g) => g.label === expenseAccountTag.label);
109
+ return group ? group.id : null;
110
+ };
111
+ // Add selected billing statements to wallet
112
+ const handleAddStatements = () => {
113
+ if (selectedStatements.size === 0)
114
+ return;
115
+ // First, add all billing statement references
116
+ selectedStatements.forEach((statementId) => {
117
+ dispatch(actions.addBillingStatement({
118
+ wallet: walletAddress,
119
+ billingStatementId: statementId,
120
+ }));
121
+ });
122
+ // Aggregate line items by category across all selected billing statements
123
+ const categoryAggregation = new Map();
124
+ selectedStatements.forEach((statementId) => {
125
+ const statement = billingStatements.find((s) => s.id === statementId);
126
+ if (!statement || !statement.document)
127
+ return;
128
+ console.log("Statement document:", statement.document);
129
+ // Extract line items from billing statement
130
+ const billingState = statement.document;
131
+ const lineItems = billingState.state?.global?.lineItems || [];
132
+ console.log("Line items found:", lineItems.length, lineItems);
133
+ // Aggregate line items by category
134
+ lineItems.forEach((billingLineItem) => {
135
+ const groupId = mapTagToGroup(billingLineItem);
136
+ const categoryKey = groupId || "uncategorized";
137
+ const existing = categoryAggregation.get(categoryKey);
138
+ if (existing) {
139
+ // Aggregate values for the same category
140
+ existing.actuals += billingLineItem.totalPriceCash || 0;
141
+ }
142
+ else {
143
+ // Create new category entry
144
+ const group = groups.find((g) => g.id === groupId);
145
+ categoryAggregation.set(categoryKey, {
146
+ groupId: groupId,
147
+ groupLabel: group?.label || "Uncategorised",
148
+ budget: 0,
149
+ actuals: billingLineItem.totalPriceCash || 0,
150
+ forecast: 0,
151
+ payments: 0,
152
+ });
153
+ }
154
+ });
155
+ });
156
+ // Now add aggregated line items to wallet
157
+ categoryAggregation.forEach((aggregatedItem) => {
158
+ const expenseLineItem = {
159
+ id: generateId(),
160
+ label: aggregatedItem.groupLabel,
161
+ group: aggregatedItem.groupId,
162
+ budget: aggregatedItem.budget,
163
+ actuals: aggregatedItem.actuals,
164
+ forecast: aggregatedItem.forecast,
165
+ payments: aggregatedItem.payments,
166
+ comments: null,
167
+ };
168
+ dispatch(actions.addLineItem({
169
+ wallet: walletAddress,
170
+ lineItem: expenseLineItem,
171
+ }));
172
+ });
173
+ onClose();
174
+ };
175
+ if (!isOpen)
176
+ return null;
177
+ return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center", children: [_jsx("div", { className: "absolute inset-0 bg-black/30 backdrop-blur-sm", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-4xl max-h-[80vh] bg-white dark:bg-gray-800 rounded-lg shadow-2xl border border-gray-200 dark:border-gray-700 flex flex-col", children: [_jsxs("div", { className: "flex items-center justify-between px-6 py-4 border-b border-gray-200 dark:border-gray-700", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-xl font-semibold text-gray-900 dark:text-white", children: "Add Billing Statements" }), _jsxs("p", { className: "text-sm text-gray-500 dark:text-gray-400 mt-1", children: ["Select billing statements to add to wallet", " ", walletAddress.substring(0, 10), "..."] })] }), _jsx("button", { onClick: onClose, className: "text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors", children: _jsx(X, { size: 24 }) })] }), _jsx("div", { className: "px-6 py-4 border-b border-gray-200 dark:border-gray-700", children: _jsx("div", { className: "relative", children: _jsx("input", { type: "text", placeholder: "Search billing statements...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), className: "w-full px-4 py-2 pl-11 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:border-transparent" }) }) }), _jsx("div", { className: "flex-1 overflow-auto px-6 py-4", children: filteredStatements.length > 0 ? (_jsx("div", { className: "space-y-2", children: filteredStatements.map((statement) => {
178
+ const isAlreadyAdded = existingBillingStatementIds.has(statement.id);
179
+ const isSelected = selectedStatements.has(statement.id);
180
+ const billingState = statement.document;
181
+ const lineItemCount = billingState.state?.global?.lineItems?.length || 0;
182
+ const totalCash = billingState.state?.global?.totalCash || 0;
183
+ return (_jsxs("div", { onClick: () => toggleStatement(statement.id), className: `flex items-center gap-4 p-4 rounded-lg border-2 transition-all ${isAlreadyAdded
184
+ ? "border-gray-300 dark:border-gray-600 bg-gray-100 dark:bg-gray-800 opacity-60 cursor-not-allowed"
185
+ : isSelected
186
+ ? "border-blue-500 bg-blue-50 dark:bg-blue-900/20 cursor-pointer"
187
+ : "border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600 cursor-pointer"}`, children: [_jsx("div", { className: `flex-shrink-0 w-5 h-5 rounded border-2 flex items-center justify-center ${isAlreadyAdded
188
+ ? "border-gray-400 dark:border-gray-500 bg-gray-200 dark:bg-gray-700"
189
+ : isSelected
190
+ ? "bg-blue-500 border-blue-500"
191
+ : "border-gray-300 dark:border-gray-600"}`, children: (isSelected || isAlreadyAdded) && (_jsx(Check, { className: "text-white", size: 14 })) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-gray-900 dark:text-white truncate", children: statement.name }), _jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400 px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded", children: [lineItemCount, " items"] }), isAlreadyAdded && (_jsx("span", { className: "text-xs text-amber-600 dark:text-amber-400 px-2 py-1 bg-amber-50 dark:bg-amber-900/20 rounded font-medium", children: "Already included" }))] }), _jsxs("div", { className: "flex items-center gap-4 mt-1 text-sm text-gray-600 dark:text-gray-400", children: [_jsxs("span", { children: ["Total: ", formatCurrency(totalCash)] }), _jsxs("span", { className: "text-xs font-mono", children: [statement.id.substring(0, 8), "..."] })] })] })] }, statement.id));
192
+ }) })) : (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-gray-500 dark:text-gray-400", children: [_jsx(FileText, { size: 48, className: "mb-4 opacity-50" }), _jsx("p", { className: "text-sm", children: searchTerm
193
+ ? "No billing statements found matching your search"
194
+ : "No billing statements available in this drive" })] })) }), _jsxs("div", { className: "flex items-center justify-between px-6 py-4 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50", children: [_jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400", children: [selectedStatements.size, " statement", selectedStatements.size !== 1 ? "s" : "", " selected"] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { onClick: onClose, variant: "secondary", children: "CANCEL" }), _jsxs(Button, { onClick: handleAddStatements, disabled: selectedStatements.size === 0, className: "bg-green-600 hover:bg-green-700 text-white", children: ["ADD", " ", selectedStatements.size > 0 && `(${selectedStatements.size})`] })] })] })] })] }));
195
+ }
@@ -0,0 +1,11 @@
1
+ import type { Wallet, LineItemGroup } from "../../../document-models/expense-report/gen/types.js";
2
+ interface AggregatedExpensesTableProps {
3
+ wallets: Wallet[];
4
+ groups: LineItemGroup[];
5
+ periodStart?: string | null;
6
+ periodEnd?: string | null;
7
+ dispatch: (action: any) => void;
8
+ }
9
+ export declare function AggregatedExpensesTable({ wallets, groups, periodStart, periodEnd, dispatch, }: AggregatedExpensesTableProps): import("react/jsx-runtime").JSX.Element | null;
10
+ export {};
11
+ //# sourceMappingURL=AggregatedExpensesTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AggregatedExpensesTable.d.ts","sourceRoot":"","sources":["../../../../editors/expense-report/components/AggregatedExpensesTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EAEd,MAAM,sDAAsD,CAAC;AAM9D,UAAU,4BAA4B;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAQD,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,GACT,EAAE,4BAA4B,kDA41B9B"}