@powerhousedao/contributor-billing 0.1.41 → 0.1.43

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 (729) hide show
  1. package/dist/document-models/account-transactions/actions.d.ts.map +1 -1
  2. package/dist/document-models/account-transactions/gen/account/actions.d.ts +1 -1
  3. package/dist/document-models/account-transactions/gen/account/actions.d.ts.map +1 -1
  4. package/dist/document-models/account-transactions/gen/account/actions.js +1 -1
  5. package/dist/document-models/account-transactions/gen/account/operations.d.ts +2 -2
  6. package/dist/document-models/account-transactions/gen/account/operations.d.ts.map +1 -1
  7. package/dist/document-models/account-transactions/gen/account/operations.js +0 -2
  8. package/dist/document-models/account-transactions/gen/budgets/actions.d.ts +1 -1
  9. package/dist/document-models/account-transactions/gen/budgets/actions.d.ts.map +1 -1
  10. package/dist/document-models/account-transactions/gen/budgets/actions.js +1 -1
  11. package/dist/document-models/account-transactions/gen/budgets/operations.d.ts +2 -2
  12. package/dist/document-models/account-transactions/gen/budgets/operations.d.ts.map +1 -1
  13. package/dist/document-models/account-transactions/gen/budgets/operations.js +0 -2
  14. package/dist/document-models/account-transactions/gen/document-model.js +45 -45
  15. package/dist/document-models/account-transactions/gen/document-schema.d.ts +21 -151
  16. package/dist/document-models/account-transactions/gen/document-schema.d.ts.map +1 -1
  17. package/dist/document-models/account-transactions/gen/reducer.d.ts.map +1 -1
  18. package/dist/document-models/account-transactions/gen/reducer.js +16 -8
  19. package/dist/document-models/account-transactions/gen/schema/types.d.ts +13 -1
  20. package/dist/document-models/account-transactions/gen/schema/types.d.ts.map +1 -1
  21. package/dist/document-models/account-transactions/gen/schema/zod.d.ts +11 -5
  22. package/dist/document-models/account-transactions/gen/schema/zod.d.ts.map +1 -1
  23. package/dist/document-models/account-transactions/gen/schema/zod.js +18 -18
  24. package/dist/document-models/account-transactions/gen/transactions/actions.d.ts +1 -1
  25. package/dist/document-models/account-transactions/gen/transactions/actions.d.ts.map +1 -1
  26. package/dist/document-models/account-transactions/gen/transactions/actions.js +1 -1
  27. package/dist/document-models/account-transactions/gen/transactions/operations.d.ts +2 -2
  28. package/dist/document-models/account-transactions/gen/transactions/operations.d.ts.map +1 -1
  29. package/dist/document-models/account-transactions/gen/transactions/operations.js +0 -2
  30. package/dist/document-models/account-transactions/gen/types.d.ts.map +1 -1
  31. package/dist/document-models/account-transactions/hooks.d.ts +5 -2
  32. package/dist/document-models/account-transactions/hooks.d.ts.map +1 -1
  33. package/dist/document-models/account-transactions/hooks.js +3 -4
  34. package/dist/document-models/account-transactions/index.d.ts +0 -4
  35. package/dist/document-models/account-transactions/index.d.ts.map +1 -1
  36. package/dist/document-models/account-transactions/index.js +0 -4
  37. package/dist/document-models/account-transactions/module.d.ts.map +1 -1
  38. package/dist/document-models/account-transactions/module.js +1 -0
  39. package/dist/document-models/account-transactions/tests/account.test.d.ts +2 -0
  40. package/dist/document-models/account-transactions/tests/account.test.d.ts.map +1 -0
  41. package/dist/document-models/account-transactions/tests/account.test.js +15 -0
  42. package/dist/document-models/account-transactions/tests/budgets.test.d.ts +2 -0
  43. package/dist/document-models/account-transactions/tests/budgets.test.d.ts.map +1 -0
  44. package/dist/document-models/account-transactions/tests/budgets.test.js +35 -0
  45. package/dist/document-models/account-transactions/tests/document-model.test.d.ts +10 -0
  46. package/dist/document-models/account-transactions/tests/document-model.test.d.ts.map +1 -0
  47. package/dist/document-models/account-transactions/tests/document-model.test.js +104 -0
  48. package/dist/document-models/account-transactions/tests/transactions.test.d.ts +2 -0
  49. package/dist/document-models/account-transactions/tests/transactions.test.d.ts.map +1 -0
  50. package/dist/document-models/account-transactions/tests/transactions.test.js +45 -0
  51. package/dist/document-models/accounts/actions.d.ts.map +1 -1
  52. package/dist/document-models/accounts/gen/accounts/actions.d.ts +1 -1
  53. package/dist/document-models/accounts/gen/accounts/actions.d.ts.map +1 -1
  54. package/dist/document-models/accounts/gen/accounts/actions.js +1 -1
  55. package/dist/document-models/accounts/gen/accounts/operations.d.ts +2 -2
  56. package/dist/document-models/accounts/gen/accounts/operations.d.ts.map +1 -1
  57. package/dist/document-models/accounts/gen/accounts/operations.js +0 -2
  58. package/dist/document-models/accounts/gen/document-model.js +2 -2
  59. package/dist/document-models/accounts/gen/document-schema.d.ts +15 -113
  60. package/dist/document-models/accounts/gen/document-schema.d.ts.map +1 -1
  61. package/dist/document-models/accounts/gen/reducer.d.ts.map +1 -1
  62. package/dist/document-models/accounts/gen/reducer.js +8 -4
  63. package/dist/document-models/accounts/gen/schema/types.d.ts +13 -1
  64. package/dist/document-models/accounts/gen/schema/types.d.ts.map +1 -1
  65. package/dist/document-models/accounts/gen/schema/zod.d.ts +25 -7
  66. package/dist/document-models/accounts/gen/schema/zod.d.ts.map +1 -1
  67. package/dist/document-models/accounts/gen/schema/zod.js +12 -12
  68. package/dist/document-models/accounts/gen/types.d.ts.map +1 -1
  69. package/dist/document-models/accounts/hooks.d.ts +5 -2
  70. package/dist/document-models/accounts/hooks.d.ts.map +1 -1
  71. package/dist/document-models/accounts/hooks.js +3 -4
  72. package/dist/document-models/accounts/index.d.ts +0 -4
  73. package/dist/document-models/accounts/index.d.ts.map +1 -1
  74. package/dist/document-models/accounts/index.js +0 -4
  75. package/dist/document-models/accounts/module.d.ts.map +1 -1
  76. package/dist/document-models/accounts/module.js +1 -0
  77. package/dist/document-models/accounts/tests/accounts.test.d.ts +2 -0
  78. package/dist/document-models/accounts/tests/accounts.test.d.ts.map +1 -0
  79. package/dist/document-models/accounts/tests/accounts.test.js +45 -0
  80. package/dist/document-models/accounts/tests/document-model.test.d.ts +10 -0
  81. package/dist/document-models/accounts/tests/document-model.test.d.ts.map +1 -0
  82. package/dist/document-models/accounts/tests/document-model.test.js +104 -0
  83. package/dist/document-models/billing-statement/actions.d.ts.map +1 -1
  84. package/dist/document-models/billing-statement/gen/document-model.js +41 -41
  85. package/dist/document-models/billing-statement/gen/document-schema.d.ts +39 -265
  86. package/dist/document-models/billing-statement/gen/document-schema.d.ts.map +1 -1
  87. package/dist/document-models/billing-statement/gen/general/actions.d.ts +1 -1
  88. package/dist/document-models/billing-statement/gen/general/actions.d.ts.map +1 -1
  89. package/dist/document-models/billing-statement/gen/general/actions.js +1 -1
  90. package/dist/document-models/billing-statement/gen/general/operations.d.ts +2 -2
  91. package/dist/document-models/billing-statement/gen/general/operations.d.ts.map +1 -1
  92. package/dist/document-models/billing-statement/gen/general/operations.js +0 -2
  93. package/dist/document-models/billing-statement/gen/line-items/actions.d.ts +1 -1
  94. package/dist/document-models/billing-statement/gen/line-items/actions.d.ts.map +1 -1
  95. package/dist/document-models/billing-statement/gen/line-items/actions.js +1 -1
  96. package/dist/document-models/billing-statement/gen/line-items/operations.d.ts +2 -2
  97. package/dist/document-models/billing-statement/gen/line-items/operations.d.ts.map +1 -1
  98. package/dist/document-models/billing-statement/gen/line-items/operations.js +0 -2
  99. package/dist/document-models/billing-statement/gen/reducer.d.ts.map +1 -1
  100. package/dist/document-models/billing-statement/gen/reducer.js +14 -7
  101. package/dist/document-models/billing-statement/gen/schema/types.d.ts +13 -1
  102. package/dist/document-models/billing-statement/gen/schema/types.d.ts.map +1 -1
  103. package/dist/document-models/billing-statement/gen/schema/zod.d.ts +29 -7
  104. package/dist/document-models/billing-statement/gen/schema/zod.d.ts.map +1 -1
  105. package/dist/document-models/billing-statement/gen/schema/zod.js +10 -10
  106. package/dist/document-models/billing-statement/gen/tags/actions.d.ts +1 -1
  107. package/dist/document-models/billing-statement/gen/tags/actions.d.ts.map +1 -1
  108. package/dist/document-models/billing-statement/gen/tags/actions.js +1 -1
  109. package/dist/document-models/billing-statement/gen/tags/operations.d.ts +2 -2
  110. package/dist/document-models/billing-statement/gen/tags/operations.d.ts.map +1 -1
  111. package/dist/document-models/billing-statement/gen/tags/operations.js +0 -2
  112. package/dist/document-models/billing-statement/gen/types.d.ts.map +1 -1
  113. package/dist/document-models/billing-statement/hooks.d.ts +5 -2
  114. package/dist/document-models/billing-statement/hooks.d.ts.map +1 -1
  115. package/dist/document-models/billing-statement/hooks.js +3 -4
  116. package/dist/document-models/billing-statement/index.d.ts +0 -4
  117. package/dist/document-models/billing-statement/index.d.ts.map +1 -1
  118. package/dist/document-models/billing-statement/index.js +0 -4
  119. package/dist/document-models/billing-statement/module.d.ts.map +1 -1
  120. package/dist/document-models/billing-statement/module.js +1 -0
  121. package/dist/document-models/billing-statement/tests/document-model.test.d.ts +10 -0
  122. package/dist/document-models/billing-statement/tests/document-model.test.d.ts.map +1 -0
  123. package/dist/document-models/billing-statement/tests/document-model.test.js +104 -0
  124. package/dist/document-models/billing-statement/tests/general.test.d.ts +2 -0
  125. package/dist/document-models/billing-statement/tests/general.test.d.ts.map +1 -0
  126. package/dist/document-models/billing-statement/tests/general.test.js +35 -0
  127. package/dist/document-models/billing-statement/tests/line-items.test.d.ts +2 -0
  128. package/dist/document-models/billing-statement/tests/line-items.test.d.ts.map +1 -0
  129. package/dist/document-models/billing-statement/tests/line-items.test.js +35 -0
  130. package/dist/document-models/billing-statement/tests/tags.test.d.ts +2 -0
  131. package/dist/document-models/billing-statement/tests/tags.test.d.ts.map +1 -0
  132. package/dist/document-models/billing-statement/tests/tags.test.js +15 -0
  133. package/dist/document-models/document-models.d.ts.map +1 -1
  134. package/dist/document-models/document-models.js +5 -3
  135. package/dist/document-models/expense-report/actions.d.ts +1 -0
  136. package/dist/document-models/expense-report/actions.d.ts.map +1 -1
  137. package/dist/document-models/expense-report/gen/document-model.d.ts.map +1 -1
  138. package/dist/document-models/expense-report/gen/document-model.js +14 -3
  139. package/dist/document-models/expense-report/gen/document-schema.d.ts +36 -208
  140. package/dist/document-models/expense-report/gen/document-schema.d.ts.map +1 -1
  141. package/dist/document-models/expense-report/gen/ph-factories.d.ts.map +1 -1
  142. package/dist/document-models/expense-report/gen/ph-factories.js +2 -0
  143. package/dist/document-models/expense-report/gen/reducer.d.ts.map +1 -1
  144. package/dist/document-models/expense-report/gen/reducer.js +40 -18
  145. package/dist/document-models/expense-report/gen/schema/types.d.ts +19 -1
  146. package/dist/document-models/expense-report/gen/schema/types.d.ts.map +1 -1
  147. package/dist/document-models/expense-report/gen/schema/zod.d.ts +15 -6
  148. package/dist/document-models/expense-report/gen/schema/zod.d.ts.map +1 -1
  149. package/dist/document-models/expense-report/gen/schema/zod.js +37 -29
  150. package/dist/document-models/expense-report/gen/types.d.ts.map +1 -1
  151. package/dist/document-models/expense-report/gen/utils.d.ts.map +1 -1
  152. package/dist/document-models/expense-report/gen/utils.js +2 -0
  153. package/dist/document-models/expense-report/gen/wallet/actions.d.ts +7 -3
  154. package/dist/document-models/expense-report/gen/wallet/actions.d.ts.map +1 -1
  155. package/dist/document-models/expense-report/gen/wallet/actions.js +1 -1
  156. package/dist/document-models/expense-report/gen/wallet/creators.d.ts +3 -2
  157. package/dist/document-models/expense-report/gen/wallet/creators.d.ts.map +1 -1
  158. package/dist/document-models/expense-report/gen/wallet/creators.js +2 -1
  159. package/dist/document-models/expense-report/gen/wallet/operations.d.ts +3 -2
  160. package/dist/document-models/expense-report/gen/wallet/operations.d.ts.map +1 -1
  161. package/dist/document-models/expense-report/gen/wallet/operations.js +0 -2
  162. package/dist/document-models/expense-report/hooks.d.ts +5 -2
  163. package/dist/document-models/expense-report/hooks.d.ts.map +1 -1
  164. package/dist/document-models/expense-report/hooks.js +3 -4
  165. package/dist/document-models/expense-report/index.d.ts +0 -4
  166. package/dist/document-models/expense-report/index.d.ts.map +1 -1
  167. package/dist/document-models/expense-report/index.js +0 -4
  168. package/dist/document-models/expense-report/module.d.ts.map +1 -1
  169. package/dist/document-models/expense-report/module.js +1 -0
  170. package/dist/document-models/expense-report/src/reducers/wallet.d.ts.map +1 -1
  171. package/dist/document-models/expense-report/src/reducers/wallet.js +9 -0
  172. package/dist/document-models/expense-report/tests/document-model.test.d.ts +10 -0
  173. package/dist/document-models/expense-report/tests/document-model.test.d.ts.map +1 -0
  174. package/dist/document-models/expense-report/tests/document-model.test.js +104 -0
  175. package/dist/document-models/expense-report/tests/wallet.test.d.ts +2 -0
  176. package/dist/document-models/expense-report/tests/wallet.test.d.ts.map +1 -0
  177. package/dist/document-models/expense-report/tests/wallet.test.js +175 -0
  178. package/dist/document-models/index.d.ts +3 -7
  179. package/dist/document-models/index.d.ts.map +1 -1
  180. package/dist/document-models/index.js +3 -7
  181. package/dist/document-models/invoice/actions.d.ts.map +1 -1
  182. package/dist/document-models/invoice/gen/document-model.js +146 -146
  183. package/dist/document-models/invoice/gen/document-schema.d.ts +66 -436
  184. package/dist/document-models/invoice/gen/document-schema.d.ts.map +1 -1
  185. package/dist/document-models/invoice/gen/general/actions.d.ts +1 -1
  186. package/dist/document-models/invoice/gen/general/actions.d.ts.map +1 -1
  187. package/dist/document-models/invoice/gen/general/actions.js +1 -1
  188. package/dist/document-models/invoice/gen/general/operations.d.ts +2 -2
  189. package/dist/document-models/invoice/gen/general/operations.d.ts.map +1 -1
  190. package/dist/document-models/invoice/gen/general/operations.js +0 -2
  191. package/dist/document-models/invoice/gen/items/actions.d.ts +1 -1
  192. package/dist/document-models/invoice/gen/items/actions.d.ts.map +1 -1
  193. package/dist/document-models/invoice/gen/items/actions.js +1 -1
  194. package/dist/document-models/invoice/gen/items/operations.d.ts +2 -2
  195. package/dist/document-models/invoice/gen/items/operations.d.ts.map +1 -1
  196. package/dist/document-models/invoice/gen/items/operations.js +0 -2
  197. package/dist/document-models/invoice/gen/parties/actions.d.ts +1 -1
  198. package/dist/document-models/invoice/gen/parties/actions.d.ts.map +1 -1
  199. package/dist/document-models/invoice/gen/parties/actions.js +1 -1
  200. package/dist/document-models/invoice/gen/parties/operations.d.ts +2 -2
  201. package/dist/document-models/invoice/gen/parties/operations.d.ts.map +1 -1
  202. package/dist/document-models/invoice/gen/parties/operations.js +0 -2
  203. package/dist/document-models/invoice/gen/reducer.d.ts.map +1 -1
  204. package/dist/document-models/invoice/gen/reducer.js +56 -28
  205. package/dist/document-models/invoice/gen/schema/types.d.ts +9 -1
  206. package/dist/document-models/invoice/gen/schema/types.d.ts.map +1 -1
  207. package/dist/document-models/invoice/gen/schema/zod.d.ts +42 -21
  208. package/dist/document-models/invoice/gen/schema/zod.d.ts.map +1 -1
  209. package/dist/document-models/invoice/gen/schema/zod.js +67 -67
  210. package/dist/document-models/invoice/gen/transitions/actions.d.ts +1 -1
  211. package/dist/document-models/invoice/gen/transitions/actions.d.ts.map +1 -1
  212. package/dist/document-models/invoice/gen/transitions/actions.js +1 -1
  213. package/dist/document-models/invoice/gen/transitions/operations.d.ts +2 -2
  214. package/dist/document-models/invoice/gen/transitions/operations.d.ts.map +1 -1
  215. package/dist/document-models/invoice/gen/transitions/operations.js +0 -2
  216. package/dist/document-models/invoice/gen/types.d.ts.map +1 -1
  217. package/dist/document-models/invoice/hooks.d.ts +5 -2
  218. package/dist/document-models/invoice/hooks.d.ts.map +1 -1
  219. package/dist/document-models/invoice/hooks.js +3 -4
  220. package/dist/document-models/invoice/index.d.ts +0 -4
  221. package/dist/document-models/invoice/index.d.ts.map +1 -1
  222. package/dist/document-models/invoice/index.js +0 -4
  223. package/dist/document-models/invoice/module.d.ts.map +1 -1
  224. package/dist/document-models/invoice/module.js +1 -0
  225. package/dist/document-models/invoice/tests/document-model.test.d.ts +10 -0
  226. package/dist/document-models/invoice/tests/document-model.test.d.ts.map +1 -0
  227. package/dist/document-models/invoice/tests/document-model.test.js +104 -0
  228. package/dist/document-models/invoice/tests/general.test.d.ts +2 -0
  229. package/dist/document-models/invoice/tests/general.test.d.ts.map +1 -0
  230. package/dist/document-models/invoice/tests/general.test.js +55 -0
  231. package/dist/document-models/invoice/tests/items.test.d.ts +2 -0
  232. package/dist/document-models/invoice/tests/items.test.d.ts.map +1 -0
  233. package/dist/document-models/invoice/tests/items.test.js +55 -0
  234. package/dist/document-models/invoice/tests/parties.test.d.ts +2 -0
  235. package/dist/document-models/invoice/tests/parties.test.d.ts.map +1 -0
  236. package/dist/document-models/invoice/tests/parties.test.js +65 -0
  237. package/dist/document-models/invoice/tests/transitions.test.d.ts +2 -0
  238. package/dist/document-models/invoice/tests/transitions.test.d.ts.map +1 -0
  239. package/dist/document-models/invoice/tests/transitions.test.js +125 -0
  240. package/dist/document-models/resource-template/actions.d.ts +3 -0
  241. package/dist/document-models/resource-template/actions.d.ts.map +1 -1
  242. package/dist/document-models/resource-template/gen/audience-management/actions.d.ts +1 -1
  243. package/dist/document-models/resource-template/gen/audience-management/actions.d.ts.map +1 -1
  244. package/dist/document-models/resource-template/gen/audience-management/actions.js +1 -1
  245. package/dist/document-models/resource-template/gen/audience-management/error.d.ts.map +1 -1
  246. package/dist/document-models/resource-template/gen/audience-management/error.js +2 -6
  247. package/dist/document-models/resource-template/gen/audience-management/operations.d.ts +2 -2
  248. package/dist/document-models/resource-template/gen/audience-management/operations.d.ts.map +1 -1
  249. package/dist/document-models/resource-template/gen/audience-management/operations.js +0 -2
  250. package/dist/document-models/resource-template/gen/document-model.d.ts.map +1 -1
  251. package/dist/document-models/resource-template/gen/document-model.js +36 -3
  252. package/dist/document-models/resource-template/gen/document-schema.d.ts +60 -379
  253. package/dist/document-models/resource-template/gen/document-schema.d.ts.map +1 -1
  254. package/dist/document-models/resource-template/gen/facet-targeting/actions.d.ts +1 -1
  255. package/dist/document-models/resource-template/gen/facet-targeting/actions.d.ts.map +1 -1
  256. package/dist/document-models/resource-template/gen/facet-targeting/actions.js +1 -1
  257. package/dist/document-models/resource-template/gen/facet-targeting/error.d.ts.map +1 -1
  258. package/dist/document-models/resource-template/gen/facet-targeting/error.js +3 -9
  259. package/dist/document-models/resource-template/gen/facet-targeting/operations.d.ts +2 -2
  260. package/dist/document-models/resource-template/gen/facet-targeting/operations.d.ts.map +1 -1
  261. package/dist/document-models/resource-template/gen/facet-targeting/operations.js +0 -2
  262. package/dist/document-models/resource-template/gen/option-group-management/actions.d.ts +15 -3
  263. package/dist/document-models/resource-template/gen/option-group-management/actions.d.ts.map +1 -1
  264. package/dist/document-models/resource-template/gen/option-group-management/actions.js +1 -1
  265. package/dist/document-models/resource-template/gen/option-group-management/creators.d.ts +5 -2
  266. package/dist/document-models/resource-template/gen/option-group-management/creators.d.ts.map +1 -1
  267. package/dist/document-models/resource-template/gen/option-group-management/creators.js +4 -1
  268. package/dist/document-models/resource-template/gen/option-group-management/error.d.ts.map +1 -1
  269. package/dist/document-models/resource-template/gen/option-group-management/error.js +3 -9
  270. package/dist/document-models/resource-template/gen/option-group-management/operations.d.ts +5 -2
  271. package/dist/document-models/resource-template/gen/option-group-management/operations.d.ts.map +1 -1
  272. package/dist/document-models/resource-template/gen/option-group-management/operations.js +0 -2
  273. package/dist/document-models/resource-template/gen/ph-factories.d.ts.map +1 -1
  274. package/dist/document-models/resource-template/gen/ph-factories.js +1 -0
  275. package/dist/document-models/resource-template/gen/reducer.d.ts +1 -1
  276. package/dist/document-models/resource-template/gen/reducer.d.ts.map +1 -1
  277. package/dist/document-models/resource-template/gen/reducer.js +56 -21
  278. package/dist/document-models/resource-template/gen/schema/types.d.ts +34 -3
  279. package/dist/document-models/resource-template/gen/schema/types.d.ts.map +1 -1
  280. package/dist/document-models/resource-template/gen/schema/zod.d.ts +14 -5
  281. package/dist/document-models/resource-template/gen/schema/zod.d.ts.map +1 -1
  282. package/dist/document-models/resource-template/gen/schema/zod.js +43 -15
  283. package/dist/document-models/resource-template/gen/service-category-management/actions.d.ts +1 -1
  284. package/dist/document-models/resource-template/gen/service-category-management/actions.d.ts.map +1 -1
  285. package/dist/document-models/resource-template/gen/service-category-management/actions.js +1 -1
  286. package/dist/document-models/resource-template/gen/service-category-management/operations.d.ts +2 -2
  287. package/dist/document-models/resource-template/gen/service-category-management/operations.d.ts.map +1 -1
  288. package/dist/document-models/resource-template/gen/service-category-management/operations.js +0 -2
  289. package/dist/document-models/resource-template/gen/service-management/actions.d.ts +1 -1
  290. package/dist/document-models/resource-template/gen/service-management/actions.d.ts.map +1 -1
  291. package/dist/document-models/resource-template/gen/service-management/actions.js +1 -1
  292. package/dist/document-models/resource-template/gen/service-management/error.d.ts.map +1 -1
  293. package/dist/document-models/resource-template/gen/service-management/error.js +5 -17
  294. package/dist/document-models/resource-template/gen/service-management/operations.d.ts +2 -2
  295. package/dist/document-models/resource-template/gen/service-management/operations.d.ts.map +1 -1
  296. package/dist/document-models/resource-template/gen/service-management/operations.js +0 -2
  297. package/dist/document-models/resource-template/gen/template-management/actions.d.ts +1 -1
  298. package/dist/document-models/resource-template/gen/template-management/actions.d.ts.map +1 -1
  299. package/dist/document-models/resource-template/gen/template-management/actions.js +1 -1
  300. package/dist/document-models/resource-template/gen/template-management/operations.d.ts +2 -2
  301. package/dist/document-models/resource-template/gen/template-management/operations.d.ts.map +1 -1
  302. package/dist/document-models/resource-template/gen/template-management/operations.js +0 -2
  303. package/dist/document-models/resource-template/gen/types.d.ts.map +1 -1
  304. package/dist/document-models/resource-template/gen/utils.d.ts.map +1 -1
  305. package/dist/document-models/resource-template/gen/utils.js +1 -0
  306. package/dist/document-models/resource-template/hooks.d.ts +5 -2
  307. package/dist/document-models/resource-template/hooks.d.ts.map +1 -1
  308. package/dist/document-models/resource-template/hooks.js +3 -4
  309. package/dist/document-models/resource-template/index.d.ts +0 -4
  310. package/dist/document-models/resource-template/index.d.ts.map +1 -1
  311. package/dist/document-models/resource-template/index.js +0 -4
  312. package/dist/document-models/resource-template/module.d.ts +1 -1
  313. package/dist/document-models/resource-template/module.d.ts.map +1 -1
  314. package/dist/document-models/resource-template/module.js +1 -0
  315. package/dist/document-models/resource-template/src/reducers/audience-management.d.ts.map +1 -1
  316. package/dist/document-models/resource-template/src/reducers/audience-management.js +2 -2
  317. package/dist/document-models/resource-template/src/reducers/facet-preset-management.d.ts +59 -0
  318. package/dist/document-models/resource-template/src/reducers/facet-preset-management.d.ts.map +1 -0
  319. package/dist/document-models/resource-template/src/reducers/facet-preset-management.js +52 -0
  320. package/dist/document-models/resource-template/src/reducers/facet-targeting.d.ts.map +1 -1
  321. package/dist/document-models/resource-template/src/reducers/facet-targeting.js +8 -7
  322. package/dist/document-models/resource-template/src/reducers/option-group-management.d.ts.map +1 -1
  323. package/dist/document-models/resource-template/src/reducers/option-group-management.js +32 -6
  324. package/dist/document-models/resource-template/src/reducers/service-management.d.ts.map +1 -1
  325. package/dist/document-models/resource-template/src/reducers/service-management.js +13 -10
  326. package/dist/document-models/resource-template/tests/audience-management.test.d.ts +2 -0
  327. package/dist/document-models/resource-template/tests/audience-management.test.d.ts.map +1 -0
  328. package/dist/document-models/resource-template/tests/audience-management.test.js +25 -0
  329. package/dist/document-models/resource-template/tests/document-model.test.d.ts +10 -0
  330. package/dist/document-models/resource-template/tests/document-model.test.d.ts.map +1 -0
  331. package/dist/document-models/resource-template/tests/document-model.test.js +104 -0
  332. package/dist/document-models/resource-template/tests/facet-targeting.test.d.ts +2 -0
  333. package/dist/document-models/resource-template/tests/facet-targeting.test.d.ts.map +1 -0
  334. package/dist/document-models/resource-template/tests/facet-targeting.test.js +45 -0
  335. package/dist/document-models/resource-template/tests/option-group-management.test.d.ts +2 -0
  336. package/dist/document-models/resource-template/tests/option-group-management.test.d.ts.map +1 -0
  337. package/dist/document-models/resource-template/tests/option-group-management.test.js +65 -0
  338. package/dist/document-models/resource-template/tests/service-category-management.test.d.ts +2 -0
  339. package/dist/document-models/resource-template/tests/service-category-management.test.d.ts.map +1 -0
  340. package/dist/document-models/resource-template/tests/service-category-management.test.js +25 -0
  341. package/dist/document-models/resource-template/tests/service-management.test.d.ts +2 -0
  342. package/dist/document-models/resource-template/tests/service-management.test.d.ts.map +1 -0
  343. package/dist/document-models/resource-template/tests/service-management.test.js +55 -0
  344. package/dist/document-models/resource-template/tests/template-management.test.d.ts +2 -0
  345. package/dist/document-models/resource-template/tests/template-management.test.d.ts.map +1 -0
  346. package/dist/document-models/resource-template/tests/template-management.test.js +45 -0
  347. package/dist/document-models/service-offering/actions.d.ts +3 -0
  348. package/dist/document-models/service-offering/actions.d.ts.map +1 -1
  349. package/dist/document-models/service-offering/gen/document-model.d.ts.map +1 -1
  350. package/dist/document-models/service-offering/gen/document-model.js +104 -26
  351. package/dist/document-models/service-offering/gen/document-schema.d.ts +63 -417
  352. package/dist/document-models/service-offering/gen/document-schema.d.ts.map +1 -1
  353. package/dist/document-models/service-offering/gen/offering-management/actions.d.ts +1 -1
  354. package/dist/document-models/service-offering/gen/offering-management/actions.d.ts.map +1 -1
  355. package/dist/document-models/service-offering/gen/offering-management/actions.js +1 -1
  356. package/dist/document-models/service-offering/gen/offering-management/error.d.ts.map +1 -1
  357. package/dist/document-models/service-offering/gen/offering-management/error.js +6 -19
  358. package/dist/document-models/service-offering/gen/offering-management/operations.d.ts +2 -2
  359. package/dist/document-models/service-offering/gen/offering-management/operations.d.ts.map +1 -1
  360. package/dist/document-models/service-offering/gen/offering-management/operations.js +0 -2
  361. package/dist/document-models/service-offering/gen/option-group-management/actions.d.ts +1 -1
  362. package/dist/document-models/service-offering/gen/option-group-management/actions.d.ts.map +1 -1
  363. package/dist/document-models/service-offering/gen/option-group-management/actions.js +1 -1
  364. package/dist/document-models/service-offering/gen/option-group-management/error.d.ts.map +1 -1
  365. package/dist/document-models/service-offering/gen/option-group-management/error.js +3 -9
  366. package/dist/document-models/service-offering/gen/option-group-management/operations.d.ts +2 -2
  367. package/dist/document-models/service-offering/gen/option-group-management/operations.d.ts.map +1 -1
  368. package/dist/document-models/service-offering/gen/option-group-management/operations.js +0 -2
  369. package/dist/document-models/service-offering/gen/reducer.d.ts +1 -1
  370. package/dist/document-models/service-offering/gen/reducer.d.ts.map +1 -1
  371. package/dist/document-models/service-offering/gen/reducer.js +80 -33
  372. package/dist/document-models/service-offering/gen/schema/types.d.ts +87 -12
  373. package/dist/document-models/service-offering/gen/schema/types.d.ts.map +1 -1
  374. package/dist/document-models/service-offering/gen/schema/zod.d.ts +38 -8
  375. package/dist/document-models/service-offering/gen/schema/zod.d.ts.map +1 -1
  376. package/dist/document-models/service-offering/gen/schema/zod.js +103 -31
  377. package/dist/document-models/service-offering/gen/service-management/actions.d.ts +1 -1
  378. package/dist/document-models/service-offering/gen/service-management/actions.d.ts.map +1 -1
  379. package/dist/document-models/service-offering/gen/service-management/actions.js +1 -1
  380. package/dist/document-models/service-offering/gen/service-management/error.d.ts.map +1 -1
  381. package/dist/document-models/service-offering/gen/service-management/error.js +5 -17
  382. package/dist/document-models/service-offering/gen/service-management/operations.d.ts +2 -2
  383. package/dist/document-models/service-offering/gen/service-management/operations.d.ts.map +1 -1
  384. package/dist/document-models/service-offering/gen/service-management/operations.js +0 -2
  385. package/dist/document-models/service-offering/gen/tier-management/actions.d.ts +15 -3
  386. package/dist/document-models/service-offering/gen/tier-management/actions.d.ts.map +1 -1
  387. package/dist/document-models/service-offering/gen/tier-management/actions.js +1 -1
  388. package/dist/document-models/service-offering/gen/tier-management/creators.d.ts +5 -2
  389. package/dist/document-models/service-offering/gen/tier-management/creators.d.ts.map +1 -1
  390. package/dist/document-models/service-offering/gen/tier-management/creators.js +4 -1
  391. package/dist/document-models/service-offering/gen/tier-management/error.d.ts +37 -1
  392. package/dist/document-models/service-offering/gen/tier-management/error.d.ts.map +1 -1
  393. package/dist/document-models/service-offering/gen/tier-management/error.js +50 -13
  394. package/dist/document-models/service-offering/gen/tier-management/operations.d.ts +5 -2
  395. package/dist/document-models/service-offering/gen/tier-management/operations.d.ts.map +1 -1
  396. package/dist/document-models/service-offering/gen/tier-management/operations.js +0 -2
  397. package/dist/document-models/service-offering/gen/types.d.ts.map +1 -1
  398. package/dist/document-models/service-offering/hooks.d.ts +5 -2
  399. package/dist/document-models/service-offering/hooks.d.ts.map +1 -1
  400. package/dist/document-models/service-offering/hooks.js +3 -4
  401. package/dist/document-models/service-offering/index.d.ts +0 -4
  402. package/dist/document-models/service-offering/index.d.ts.map +1 -1
  403. package/dist/document-models/service-offering/index.js +0 -4
  404. package/dist/document-models/service-offering/module.d.ts.map +1 -1
  405. package/dist/document-models/service-offering/module.js +1 -0
  406. package/dist/document-models/service-offering/src/reducers/option-group-management.d.ts.map +1 -1
  407. package/dist/document-models/service-offering/src/reducers/option-group-management.js +11 -8
  408. package/dist/document-models/service-offering/src/reducers/service-management.d.ts.map +1 -1
  409. package/dist/document-models/service-offering/src/reducers/service-management.js +20 -12
  410. package/dist/document-models/service-offering/src/reducers/tier-management.d.ts.map +1 -1
  411. package/dist/document-models/service-offering/src/reducers/tier-management.js +131 -21
  412. package/dist/document-models/service-offering/tests/document-model.test.d.ts +10 -0
  413. package/dist/document-models/service-offering/tests/document-model.test.d.ts.map +1 -0
  414. package/dist/document-models/service-offering/tests/document-model.test.js +104 -0
  415. package/dist/document-models/service-offering/tests/offering-management.test.d.ts +2 -0
  416. package/dist/document-models/service-offering/tests/offering-management.test.d.ts.map +1 -0
  417. package/dist/document-models/service-offering/tests/offering-management.test.js +145 -0
  418. package/dist/document-models/service-offering/tests/option-group-management.test.d.ts +2 -0
  419. package/dist/document-models/service-offering/tests/option-group-management.test.d.ts.map +1 -0
  420. package/dist/document-models/service-offering/tests/option-group-management.test.js +35 -0
  421. package/dist/document-models/service-offering/tests/service-management.test.d.ts +2 -0
  422. package/dist/document-models/service-offering/tests/service-management.test.d.ts.map +1 -0
  423. package/dist/document-models/service-offering/tests/service-management.test.js +55 -0
  424. package/dist/document-models/service-offering/tests/tier-management.test.d.ts +2 -0
  425. package/dist/document-models/service-offering/tests/tier-management.test.d.ts.map +1 -0
  426. package/dist/document-models/service-offering/tests/tier-management.test.js +135 -0
  427. package/dist/document-models/service-subscriptions/actions.d.ts.map +1 -1
  428. package/dist/document-models/service-subscriptions/gen/categories/actions.d.ts +1 -1
  429. package/dist/document-models/service-subscriptions/gen/categories/actions.d.ts.map +1 -1
  430. package/dist/document-models/service-subscriptions/gen/categories/actions.js +1 -1
  431. package/dist/document-models/service-subscriptions/gen/categories/operations.d.ts +2 -2
  432. package/dist/document-models/service-subscriptions/gen/categories/operations.d.ts.map +1 -1
  433. package/dist/document-models/service-subscriptions/gen/categories/operations.js +0 -2
  434. package/dist/document-models/service-subscriptions/gen/document-model.d.ts.map +1 -1
  435. package/dist/document-models/service-subscriptions/gen/document-model.js +70 -70
  436. package/dist/document-models/service-subscriptions/gen/document-schema.d.ts +21 -151
  437. package/dist/document-models/service-subscriptions/gen/document-schema.d.ts.map +1 -1
  438. package/dist/document-models/service-subscriptions/gen/reducer.d.ts.map +1 -1
  439. package/dist/document-models/service-subscriptions/gen/reducer.js +26 -13
  440. package/dist/document-models/service-subscriptions/gen/schema/types.d.ts +13 -1
  441. package/dist/document-models/service-subscriptions/gen/schema/types.d.ts.map +1 -1
  442. package/dist/document-models/service-subscriptions/gen/schema/zod.d.ts +19 -5
  443. package/dist/document-models/service-subscriptions/gen/schema/zod.d.ts.map +1 -1
  444. package/dist/document-models/service-subscriptions/gen/schema/zod.js +21 -21
  445. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.d.ts +1 -1
  446. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.d.ts.map +1 -1
  447. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.js +1 -1
  448. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.d.ts +2 -2
  449. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.d.ts.map +1 -1
  450. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.js +0 -2
  451. package/dist/document-models/service-subscriptions/gen/types.d.ts.map +1 -1
  452. package/dist/document-models/service-subscriptions/gen/vendors/actions.d.ts +1 -1
  453. package/dist/document-models/service-subscriptions/gen/vendors/actions.d.ts.map +1 -1
  454. package/dist/document-models/service-subscriptions/gen/vendors/actions.js +1 -1
  455. package/dist/document-models/service-subscriptions/gen/vendors/operations.d.ts +2 -2
  456. package/dist/document-models/service-subscriptions/gen/vendors/operations.d.ts.map +1 -1
  457. package/dist/document-models/service-subscriptions/gen/vendors/operations.js +0 -2
  458. package/dist/document-models/service-subscriptions/hooks.d.ts +5 -2
  459. package/dist/document-models/service-subscriptions/hooks.d.ts.map +1 -1
  460. package/dist/document-models/service-subscriptions/hooks.js +3 -4
  461. package/dist/document-models/service-subscriptions/index.d.ts +0 -4
  462. package/dist/document-models/service-subscriptions/index.d.ts.map +1 -1
  463. package/dist/document-models/service-subscriptions/index.js +0 -4
  464. package/dist/document-models/service-subscriptions/module.d.ts.map +1 -1
  465. package/dist/document-models/service-subscriptions/module.js +1 -0
  466. package/dist/document-models/service-subscriptions/tests/categories.test.d.ts +2 -0
  467. package/dist/document-models/service-subscriptions/tests/categories.test.d.ts.map +1 -0
  468. package/dist/document-models/service-subscriptions/tests/categories.test.js +35 -0
  469. package/dist/document-models/service-subscriptions/tests/document-model.test.d.ts +10 -0
  470. package/dist/document-models/service-subscriptions/tests/document-model.test.d.ts.map +1 -0
  471. package/dist/document-models/service-subscriptions/tests/document-model.test.js +104 -0
  472. package/dist/document-models/service-subscriptions/tests/subscriptions.test.d.ts +2 -0
  473. package/dist/document-models/service-subscriptions/tests/subscriptions.test.d.ts.map +1 -0
  474. package/dist/document-models/service-subscriptions/tests/subscriptions.test.js +75 -0
  475. package/dist/document-models/service-subscriptions/tests/vendors.test.d.ts +2 -0
  476. package/dist/document-models/service-subscriptions/tests/vendors.test.d.ts.map +1 -0
  477. package/dist/document-models/service-subscriptions/tests/vendors.test.js +35 -0
  478. package/dist/document-models/snapshot-report/actions.d.ts +2 -1
  479. package/dist/document-models/snapshot-report/actions.d.ts.map +1 -1
  480. package/dist/document-models/snapshot-report/gen/accounts/actions.d.ts +1 -1
  481. package/dist/document-models/snapshot-report/gen/accounts/actions.d.ts.map +1 -1
  482. package/dist/document-models/snapshot-report/gen/accounts/actions.js +1 -1
  483. package/dist/document-models/snapshot-report/gen/accounts/error.d.ts.map +1 -1
  484. package/dist/document-models/snapshot-report/gen/accounts/error.js +3 -9
  485. package/dist/document-models/snapshot-report/gen/accounts/operations.d.ts +2 -2
  486. package/dist/document-models/snapshot-report/gen/accounts/operations.d.ts.map +1 -1
  487. package/dist/document-models/snapshot-report/gen/accounts/operations.js +0 -2
  488. package/dist/document-models/snapshot-report/gen/balances/actions.d.ts +1 -1
  489. package/dist/document-models/snapshot-report/gen/balances/actions.d.ts.map +1 -1
  490. package/dist/document-models/snapshot-report/gen/balances/actions.js +1 -1
  491. package/dist/document-models/snapshot-report/gen/balances/error.d.ts.map +1 -1
  492. package/dist/document-models/snapshot-report/gen/balances/error.js +4 -12
  493. package/dist/document-models/snapshot-report/gen/balances/operations.d.ts +2 -2
  494. package/dist/document-models/snapshot-report/gen/balances/operations.d.ts.map +1 -1
  495. package/dist/document-models/snapshot-report/gen/balances/operations.js +0 -2
  496. package/dist/document-models/snapshot-report/gen/configuration/actions.d.ts +10 -6
  497. package/dist/document-models/snapshot-report/gen/configuration/actions.d.ts.map +1 -1
  498. package/dist/document-models/snapshot-report/gen/configuration/actions.js +1 -1
  499. package/dist/document-models/snapshot-report/gen/configuration/creators.d.ts +4 -3
  500. package/dist/document-models/snapshot-report/gen/configuration/creators.d.ts.map +1 -1
  501. package/dist/document-models/snapshot-report/gen/configuration/creators.js +3 -2
  502. package/dist/document-models/snapshot-report/gen/configuration/operations.d.ts +4 -3
  503. package/dist/document-models/snapshot-report/gen/configuration/operations.d.ts.map +1 -1
  504. package/dist/document-models/snapshot-report/gen/configuration/operations.js +0 -2
  505. package/dist/document-models/snapshot-report/gen/document-model.d.ts.map +1 -1
  506. package/dist/document-models/snapshot-report/gen/document-model.js +22 -11
  507. package/dist/document-models/snapshot-report/gen/document-schema.d.ts +36 -246
  508. package/dist/document-models/snapshot-report/gen/document-schema.d.ts.map +1 -1
  509. package/dist/document-models/snapshot-report/gen/ph-factories.js +1 -1
  510. package/dist/document-models/snapshot-report/gen/reducer.d.ts.map +1 -1
  511. package/dist/document-models/snapshot-report/gen/reducer.js +42 -20
  512. package/dist/document-models/snapshot-report/gen/schema/types.d.ts +22 -8
  513. package/dist/document-models/snapshot-report/gen/schema/types.d.ts.map +1 -1
  514. package/dist/document-models/snapshot-report/gen/schema/zod.d.ts +40 -11
  515. package/dist/document-models/snapshot-report/gen/schema/zod.d.ts.map +1 -1
  516. package/dist/document-models/snapshot-report/gen/schema/zod.js +34 -28
  517. package/dist/document-models/snapshot-report/gen/transactions/actions.d.ts +1 -1
  518. package/dist/document-models/snapshot-report/gen/transactions/actions.d.ts.map +1 -1
  519. package/dist/document-models/snapshot-report/gen/transactions/actions.js +1 -1
  520. package/dist/document-models/snapshot-report/gen/transactions/error.d.ts.map +1 -1
  521. package/dist/document-models/snapshot-report/gen/transactions/error.js +2 -6
  522. package/dist/document-models/snapshot-report/gen/transactions/operations.d.ts +2 -2
  523. package/dist/document-models/snapshot-report/gen/transactions/operations.d.ts.map +1 -1
  524. package/dist/document-models/snapshot-report/gen/transactions/operations.js +0 -2
  525. package/dist/document-models/snapshot-report/gen/types.d.ts.map +1 -1
  526. package/dist/document-models/snapshot-report/gen/utils.js +1 -1
  527. package/dist/document-models/snapshot-report/hooks.d.ts +5 -2
  528. package/dist/document-models/snapshot-report/hooks.d.ts.map +1 -1
  529. package/dist/document-models/snapshot-report/hooks.js +3 -4
  530. package/dist/document-models/snapshot-report/index.d.ts +0 -4
  531. package/dist/document-models/snapshot-report/index.d.ts.map +1 -1
  532. package/dist/document-models/snapshot-report/index.js +0 -4
  533. package/dist/document-models/snapshot-report/module.d.ts.map +1 -1
  534. package/dist/document-models/snapshot-report/module.js +1 -0
  535. package/dist/document-models/snapshot-report/src/reducers/balances.d.ts.map +1 -1
  536. package/dist/document-models/snapshot-report/src/reducers/balances.js +37 -21
  537. package/dist/document-models/snapshot-report/src/reducers/configuration.d.ts.map +1 -1
  538. package/dist/document-models/snapshot-report/src/reducers/configuration.js +11 -3
  539. package/dist/document-models/snapshot-report/tests/accounts.test.d.ts +2 -0
  540. package/dist/document-models/snapshot-report/tests/accounts.test.d.ts.map +1 -0
  541. package/dist/document-models/snapshot-report/tests/accounts.test.js +35 -0
  542. package/dist/document-models/snapshot-report/tests/balances.test.d.ts +2 -0
  543. package/dist/document-models/snapshot-report/tests/balances.test.d.ts.map +1 -0
  544. package/dist/document-models/snapshot-report/tests/balances.test.js +45 -0
  545. package/dist/document-models/snapshot-report/tests/configuration.test.d.ts +2 -0
  546. package/dist/document-models/snapshot-report/tests/configuration.test.d.ts.map +1 -0
  547. package/dist/document-models/snapshot-report/tests/configuration.test.js +75 -0
  548. package/dist/document-models/snapshot-report/tests/document-model.test.d.ts +10 -0
  549. package/dist/document-models/snapshot-report/tests/document-model.test.d.ts.map +1 -0
  550. package/dist/document-models/snapshot-report/tests/document-model.test.js +104 -0
  551. package/dist/document-models/snapshot-report/tests/transactions.test.d.ts +2 -0
  552. package/dist/document-models/snapshot-report/tests/transactions.test.d.ts.map +1 -0
  553. package/dist/document-models/snapshot-report/tests/transactions.test.js +45 -0
  554. package/dist/editors/accounts-editor/editor.d.ts.map +1 -1
  555. package/dist/editors/accounts-editor/editor.js +25 -6
  556. package/dist/editors/billing-statement/components/lineItemsTable.js +8 -8
  557. package/dist/editors/billing-statement/editor.d.ts.map +1 -1
  558. package/dist/editors/billing-statement/editor.js +15 -16
  559. package/dist/editors/billing-statement/lineItemTags/lineItemTags.js +5 -5
  560. package/dist/editors/builder-team-admin/components/ResourcesServices.d.ts.map +1 -1
  561. package/dist/editors/builder-team-admin/components/ResourcesServices.js +3 -1
  562. package/dist/editors/builder-team-admin/components/overview/TeamMembersOverview.d.ts.map +1 -1
  563. package/dist/editors/builder-team-admin/components/overview/TeamMembersOverview.js +20 -3
  564. package/dist/editors/builder-team-admin/components/team-members.d.ts.map +1 -1
  565. package/dist/editors/builder-team-admin/components/team-members.js +20 -5
  566. package/dist/editors/builder-team-admin/hooks/useExpenseReportAutoPlacement.d.ts.map +1 -1
  567. package/dist/editors/builder-team-admin/hooks/useExpenseReportAutoPlacement.js +45 -17
  568. package/dist/editors/builder-team-admin/hooks/useSnapshotReportAutoPlacement.d.ts.map +1 -1
  569. package/dist/editors/builder-team-admin/hooks/useSnapshotReportAutoPlacement.js +45 -17
  570. package/dist/editors/contributor-billing/components/DriveExplorer.d.ts.map +1 -1
  571. package/dist/editors/contributor-billing/components/DriveExplorer.js +2 -1
  572. package/dist/editors/contributor-billing/components/FolderTree.d.ts.map +1 -1
  573. package/dist/editors/contributor-billing/components/FolderTree.js +72 -11
  574. package/dist/editors/contributor-billing/components/FolderTreeErrorBoundary.d.ts +24 -0
  575. package/dist/editors/contributor-billing/components/FolderTreeErrorBoundary.d.ts.map +1 -0
  576. package/dist/editors/contributor-billing/components/FolderTreeErrorBoundary.js +41 -0
  577. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderStats.d.ts.map +1 -1
  578. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderStats.js +10 -3
  579. package/dist/editors/contributor-billing/components/InvoiceTable/InvoiceTable.d.ts.map +1 -1
  580. package/dist/editors/contributor-billing/components/InvoiceTable/InvoiceTable.js +65 -28
  581. package/dist/editors/contributor-billing/components/InvoiceTable/NotificationDialog.d.ts +11 -0
  582. package/dist/editors/contributor-billing/components/InvoiceTable/NotificationDialog.d.ts.map +1 -0
  583. package/dist/editors/contributor-billing/components/InvoiceTable/NotificationDialog.js +8 -0
  584. package/dist/editors/expense-report/components/AddReportToRemoteDrive.d.ts +1 -1
  585. package/dist/editors/expense-report/editor.d.ts.map +1 -1
  586. package/dist/editors/expense-report/editor.js +43 -6
  587. package/dist/editors/expense-report/hooks/useSyncWallet.d.ts.map +1 -1
  588. package/dist/editors/expense-report/hooks/useSyncWallet.js +4 -0
  589. package/dist/editors/invoice/exportUBL.js +5 -5
  590. package/dist/editors/resource-template-editor/components/FacetTargeting.d.ts +1 -1
  591. package/dist/editors/resource-template-editor/components/FacetTargeting.d.ts.map +1 -1
  592. package/dist/editors/resource-template-editor/components/FacetTargeting.js +526 -19
  593. package/dist/editors/resource-template-editor/components/TemplateInfo.d.ts +1 -1
  594. package/dist/editors/resource-template-editor/components/TemplateInfo.d.ts.map +1 -1
  595. package/dist/editors/resource-template-editor/components/TemplateInfo.js +604 -9
  596. package/dist/editors/resource-template-editor/editor.d.ts.map +1 -1
  597. package/dist/editors/resource-template-editor/editor.js +2 -2
  598. package/dist/editors/resource-template-editor/module.d.ts +1 -1
  599. package/dist/editors/resource-template-editor/module.d.ts.map +1 -1
  600. package/dist/editors/resource-template-editor/module.js +1 -1
  601. package/dist/editors/service-offering-editor/components/EditName.js +1 -1
  602. package/dist/editors/service-offering-editor/components/OfferingInfo.d.ts +1 -1
  603. package/dist/editors/service-offering-editor/components/OfferingInfo.d.ts.map +1 -1
  604. package/dist/editors/service-offering-editor/components/OfferingProgress.d.ts +10 -0
  605. package/dist/editors/service-offering-editor/components/OfferingProgress.d.ts.map +1 -0
  606. package/dist/editors/service-offering-editor/components/OfferingProgress.js +240 -0
  607. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.d.ts +1 -1
  608. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.d.ts.map +1 -1
  609. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.js +111 -4
  610. package/dist/editors/service-offering-editor/components/ScopeAndFacets.d.ts +1 -1
  611. package/dist/editors/service-offering-editor/components/ScopeAndFacets.d.ts.map +1 -1
  612. package/dist/editors/service-offering-editor/components/ServiceCatalog.d.ts +1 -1
  613. package/dist/editors/service-offering-editor/components/ServiceCatalog.d.ts.map +1 -1
  614. package/dist/editors/service-offering-editor/components/ServiceCatalog.js +282 -1
  615. package/dist/editors/service-offering-editor/components/ServicesList.d.ts +1 -1
  616. package/dist/editors/service-offering-editor/components/ServicesList.d.ts.map +1 -1
  617. package/dist/editors/service-offering-editor/components/TheMatrix.d.ts +1 -1
  618. package/dist/editors/service-offering-editor/components/TheMatrix.d.ts.map +1 -1
  619. package/dist/editors/service-offering-editor/components/TheMatrix.js +1012 -134
  620. package/dist/editors/service-offering-editor/components/TierDefinition.d.ts +1 -1
  621. package/dist/editors/service-offering-editor/components/TierDefinition.d.ts.map +1 -1
  622. package/dist/editors/service-offering-editor/components/TierDefinition.js +616 -29
  623. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.d.ts +11 -0
  624. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.d.ts.map +1 -0
  625. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.js +405 -0
  626. package/dist/editors/service-offering-editor/components/TiersList.d.ts +1 -1
  627. package/dist/editors/service-offering-editor/components/TiersList.d.ts.map +1 -1
  628. package/dist/editors/service-offering-editor/components/TiersList.js +1 -1
  629. package/dist/editors/service-offering-editor/components/pricing-utils.d.ts +10 -0
  630. package/dist/editors/service-offering-editor/components/pricing-utils.d.ts.map +1 -0
  631. package/dist/editors/service-offering-editor/components/pricing-utils.js +65 -0
  632. package/dist/editors/service-offering-editor/editor.d.ts.map +1 -1
  633. package/dist/editors/service-offering-editor/editor.js +2 -2
  634. package/dist/editors/service-offering-editor/module.d.ts +1 -1
  635. package/dist/editors/service-offering-editor/module.d.ts.map +1 -1
  636. package/dist/editors/service-offering-editor/module.js +1 -1
  637. package/dist/editors/service-subscriptions-editor/components/SubscriptionsList.js +1 -1
  638. package/dist/editors/snapshot-report-editor/components/AddReportToRemoteDrive.js +1 -1
  639. package/dist/editors/snapshot-report-editor/components/SetOwner.d.ts +4 -4
  640. package/dist/editors/snapshot-report-editor/components/SetOwner.d.ts.map +1 -1
  641. package/dist/editors/snapshot-report-editor/components/SetOwner.js +25 -14
  642. package/dist/editors/snapshot-report-editor/editor.d.ts.map +1 -1
  643. package/dist/editors/snapshot-report-editor/editor.js +14 -7
  644. package/dist/editors/snapshot-report-editor/hooks/useSyncSnapshotAccount.d.ts.map +1 -1
  645. package/dist/editors/snapshot-report-editor/hooks/useSyncSnapshotAccount.js +133 -8
  646. package/dist/editors/snapshot-report-editor/utils/flowTypeCalculations.d.ts +4 -0
  647. package/dist/editors/snapshot-report-editor/utils/flowTypeCalculations.d.ts.map +1 -1
  648. package/dist/editors/snapshot-report-editor/utils/flowTypeCalculations.js +28 -0
  649. package/dist/index.d.ts +1 -1
  650. package/dist/powerhouse.manifest.json +20 -2
  651. package/dist/scripts/alchemy/alchemyEnvironment.d.ts +2 -2
  652. package/dist/scripts/alchemy/alchemyEnvironment.d.ts.map +1 -1
  653. package/dist/scripts/alchemy/alchemyEnvironment.js +31 -10
  654. package/dist/style.css +1327 -1108
  655. package/dist/subgraphs/budget-statements/resolvers.js +2 -2
  656. package/dist/subgraphs/expense-report/resolvers.d.ts.map +1 -1
  657. package/dist/subgraphs/expense-report/resolvers.js +12 -0
  658. package/dist/subgraphs/expense-report/schema.d.ts.map +1 -1
  659. package/dist/subgraphs/expense-report/schema.js +9 -0
  660. package/dist/subgraphs/index.d.ts +2 -8
  661. package/dist/subgraphs/index.d.ts.map +1 -1
  662. package/dist/subgraphs/index.js +2 -8
  663. package/dist/subgraphs/invoice-addon/schema.d.ts.map +1 -1
  664. package/dist/subgraphs/invoice-addon/schema.js +5 -7
  665. package/dist/subgraphs/snapshot-report/resolvers.d.ts.map +1 -1
  666. package/dist/subgraphs/snapshot-report/resolvers.js +15 -3
  667. package/dist/subgraphs/snapshot-report/schema.d.ts.map +1 -1
  668. package/dist/subgraphs/snapshot-report/schema.js +11 -4
  669. package/package.json +26 -21
  670. package/dist/editors/accounts-editor/components/AccountsFilter.d.ts +0 -8
  671. package/dist/editors/accounts-editor/components/AccountsFilter.d.ts.map +0 -1
  672. package/dist/editors/accounts-editor/components/AccountsFilter.js +0 -34
  673. package/dist/editors/billing-statement/components/objectSetTable.d.ts +0 -7
  674. package/dist/editors/billing-statement/components/objectSetTable.d.ts.map +0 -1
  675. package/dist/editors/billing-statement/components/objectSetTable.js +0 -96
  676. package/dist/subgraphs/account-transactions/index.d.ts +0 -11
  677. package/dist/subgraphs/account-transactions/index.d.ts.map +0 -1
  678. package/dist/subgraphs/account-transactions/index.js +0 -11
  679. package/dist/subgraphs/account-transactions/resolvers.d.ts +0 -3
  680. package/dist/subgraphs/account-transactions/resolvers.d.ts.map +0 -1
  681. package/dist/subgraphs/account-transactions/resolvers.js +0 -168
  682. package/dist/subgraphs/account-transactions/schema.d.ts +0 -3
  683. package/dist/subgraphs/account-transactions/schema.d.ts.map +0 -1
  684. package/dist/subgraphs/account-transactions/schema.js +0 -129
  685. package/dist/subgraphs/accounts/index.d.ts +0 -11
  686. package/dist/subgraphs/accounts/index.d.ts.map +0 -1
  687. package/dist/subgraphs/accounts/index.js +0 -11
  688. package/dist/subgraphs/accounts/resolvers.d.ts +0 -3
  689. package/dist/subgraphs/accounts/resolvers.d.ts.map +0 -1
  690. package/dist/subgraphs/accounts/resolvers.js +0 -120
  691. package/dist/subgraphs/accounts/schema.d.ts +0 -3
  692. package/dist/subgraphs/accounts/schema.d.ts.map +0 -1
  693. package/dist/subgraphs/accounts/schema.js +0 -75
  694. package/dist/subgraphs/billing-statement/index.d.ts +0 -11
  695. package/dist/subgraphs/billing-statement/index.d.ts.map +0 -1
  696. package/dist/subgraphs/billing-statement/index.js +0 -11
  697. package/dist/subgraphs/billing-statement/resolvers.d.ts +0 -3
  698. package/dist/subgraphs/billing-statement/resolvers.d.ts.map +0 -1
  699. package/dist/subgraphs/billing-statement/resolvers.js +0 -156
  700. package/dist/subgraphs/billing-statement/schema.d.ts +0 -3
  701. package/dist/subgraphs/billing-statement/schema.d.ts.map +0 -1
  702. package/dist/subgraphs/billing-statement/schema.js +0 -110
  703. package/dist/subgraphs/invoice/index.d.ts +0 -11
  704. package/dist/subgraphs/invoice/index.d.ts.map +0 -1
  705. package/dist/subgraphs/invoice/index.js +0 -11
  706. package/dist/subgraphs/invoice/resolvers.d.ts +0 -3
  707. package/dist/subgraphs/invoice/resolvers.d.ts.map +0 -1
  708. package/dist/subgraphs/invoice/resolvers.js +0 -408
  709. package/dist/subgraphs/invoice/schema.d.ts +0 -3
  710. package/dist/subgraphs/invoice/schema.d.ts.map +0 -1
  711. package/dist/subgraphs/invoice/schema.js +0 -390
  712. package/dist/subgraphs/service-offering/index.d.ts +0 -11
  713. package/dist/subgraphs/service-offering/index.d.ts.map +0 -1
  714. package/dist/subgraphs/service-offering/index.js +0 -11
  715. package/dist/subgraphs/service-offering/resolvers.d.ts +0 -3
  716. package/dist/subgraphs/service-offering/resolvers.d.ts.map +0 -1
  717. package/dist/subgraphs/service-offering/resolvers.js +0 -432
  718. package/dist/subgraphs/service-offering/schema.d.ts +0 -3
  719. package/dist/subgraphs/service-offering/schema.d.ts.map +0 -1
  720. package/dist/subgraphs/service-offering/schema.js +0 -386
  721. package/dist/subgraphs/service-subscriptions/index.d.ts +0 -11
  722. package/dist/subgraphs/service-subscriptions/index.d.ts.map +0 -1
  723. package/dist/subgraphs/service-subscriptions/index.js +0 -11
  724. package/dist/subgraphs/service-subscriptions/resolvers.d.ts +0 -3
  725. package/dist/subgraphs/service-subscriptions/resolvers.d.ts.map +0 -1
  726. package/dist/subgraphs/service-subscriptions/resolvers.js +0 -228
  727. package/dist/subgraphs/service-subscriptions/schema.d.ts +0 -3
  728. package/dist/subgraphs/service-subscriptions/schema.d.ts.map +0 -1
  729. package/dist/subgraphs/service-subscriptions/schema.js +0 -193
@@ -1,6 +1,13 @@
1
- import { useEffect, useMemo, useRef } from "react";
1
+ import { useEffect, useMemo } from "react";
2
2
  import { isFolderNodeKind, isFileNodeKind, addFolder, useSelectedDrive, useDocumentsInSelectedDrive, useNodeActions, } from "@powerhousedao/reactor-browser";
3
3
  const SNAPSHOT_REPORTS_FOLDER_NAME = "Snapshot Reports";
4
+ // Module-level tracking to prevent duplicate folder creation across all hook instances
5
+ // This is necessary because the hook may be used in multiple components simultaneously
6
+ const globalCreationState = {
7
+ createdSnapshotReportsFolderForDrives: new Set(),
8
+ creatingYearFolders: new Map(), // driveId -> Set of years being created
9
+ processedDocs: new Map(), // driveId -> Set of doc IDs processed
10
+ };
4
11
  /**
5
12
  * Hook that handles automatic placement of snapshot report documents into the
6
13
  * "Snapshot Reports" folder, organized by year based on startDate.
@@ -17,9 +24,14 @@ export function useSnapshotReportAutoPlacement() {
17
24
  const [driveDocument] = useSelectedDrive();
18
25
  const documentsInDrive = useDocumentsInSelectedDrive();
19
26
  const { onMoveNode } = useNodeActions();
20
- // Track which documents have been processed for auto-placement
21
- const processedDocsRef = useRef(new Set());
22
- const hasCreatedFolder = useRef(false);
27
+ const driveId = driveDocument?.header.id;
28
+ // Initialize module-level tracking sets for this drive if needed
29
+ if (driveId && !globalCreationState.creatingYearFolders.has(driveId)) {
30
+ globalCreationState.creatingYearFolders.set(driveId, new Set());
31
+ }
32
+ if (driveId && !globalCreationState.processedDocs.has(driveId)) {
33
+ globalCreationState.processedDocs.set(driveId, new Set());
34
+ }
23
35
  // Find the "Snapshot Reports" folder in the drive
24
36
  const snapshotReportsFolder = useMemo(() => {
25
37
  if (!driveDocument)
@@ -67,12 +79,13 @@ export function useSnapshotReportAutoPlacement() {
67
79
  }, [documentsInDrive, driveDocument, snapshotReportsFolderNodeIds]);
68
80
  // Create folder if it doesn't exist
69
81
  useEffect(() => {
70
- if (!driveDocument || snapshotReportsFolder || hasCreatedFolder.current)
82
+ if (!driveId || snapshotReportsFolder)
71
83
  return;
72
- hasCreatedFolder.current = true;
73
- const driveId = driveDocument.header.id;
84
+ if (globalCreationState.createdSnapshotReportsFolderForDrives.has(driveId))
85
+ return;
86
+ globalCreationState.createdSnapshotReportsFolderForDrives.add(driveId);
74
87
  void addFolder(driveId, SNAPSHOT_REPORTS_FOLDER_NAME);
75
- }, [driveDocument, snapshotReportsFolder]);
88
+ }, [driveId, snapshotReportsFolder]);
76
89
  // Get year folders that exist directly under the Snapshot Reports folder
77
90
  const yearFolders = useMemo(() => {
78
91
  if (!driveDocument || !snapshotReportsFolder)
@@ -91,10 +104,13 @@ export function useSnapshotReportAutoPlacement() {
91
104
  // Auto-place snapshot reports into year folders based on startDate
92
105
  // This monitors ALL snapshot reports in the drive, not just those in the Snapshot Reports folder
93
106
  useEffect(() => {
94
- if (!driveDocument || !snapshotReportsFolder || !documentsInDrive)
107
+ if (!driveId || !snapshotReportsFolder || !documentsInDrive)
108
+ return;
109
+ const allNodes = driveDocument?.state.global.nodes ?? [];
110
+ const processedDocs = globalCreationState.processedDocs.get(driveId);
111
+ const creatingYearFolders = globalCreationState.creatingYearFolders.get(driveId);
112
+ if (!processedDocs || !creatingYearFolders)
95
113
  return;
96
- const driveId = driveDocument.header.id;
97
- const allNodes = driveDocument.state.global.nodes;
98
114
  // Find ALL snapshot report file nodes that are NOT inside the Snapshot Reports folder tree
99
115
  // These need to be moved into the proper location
100
116
  const snapshotReportNodesOutsideFolder = allNodes.filter((node) => isFileNodeKind(node) &&
@@ -113,7 +129,7 @@ export function useSnapshotReportAutoPlacement() {
113
129
  // Process each snapshot report
114
130
  for (const fileNode of nodesToProcess) {
115
131
  // Skip if already processed
116
- if (processedDocsRef.current.has(fileNode.id))
132
+ if (processedDocs.has(fileNode.id))
117
133
  continue;
118
134
  // Find the corresponding document to get startDate
119
135
  const doc = documentsInDrive.find((d) => d.header.documentType === "powerhouse/snapshot-report" &&
@@ -124,12 +140,12 @@ export function useSnapshotReportAutoPlacement() {
124
140
  if (!startDate) {
125
141
  // No period defined - move to root of Snapshot Reports folder
126
142
  // (this signals something might be wrong with the document)
127
- processedDocsRef.current.add(fileNode.id);
143
+ processedDocs.add(fileNode.id);
128
144
  // Only move if not already in the Snapshot Reports folder
129
145
  if (!snapshotReportsFolderNodeIds.has(fileNode.id)) {
130
146
  onMoveNode(fileNode, snapshotReportsFolder).catch((error) => {
131
147
  console.error(`Failed to move snapshot report to Snapshot Reports folder:`, error);
132
- processedDocsRef.current.delete(fileNode.id);
148
+ processedDocs.delete(fileNode.id);
133
149
  });
134
150
  }
135
151
  continue;
@@ -137,7 +153,7 @@ export function useSnapshotReportAutoPlacement() {
137
153
  // Extract year from startDate
138
154
  const year = new Date(startDate).getFullYear().toString();
139
155
  // Mark as processed immediately to prevent duplicate processing
140
- processedDocsRef.current.add(fileNode.id);
156
+ processedDocs.add(fileNode.id);
141
157
  // Check if year folder exists
142
158
  const existingYearFolder = yearFolders.get(year);
143
159
  if (existingYearFolder) {
@@ -145,10 +161,17 @@ export function useSnapshotReportAutoPlacement() {
145
161
  onMoveNode(fileNode, existingYearFolder).catch((error) => {
146
162
  console.error(`Failed to move snapshot report to ${year} folder:`, error);
147
163
  // Remove from processed so it can be retried
148
- processedDocsRef.current.delete(fileNode.id);
164
+ processedDocs.delete(fileNode.id);
149
165
  });
150
166
  }
167
+ else if (creatingYearFolders.has(year)) {
168
+ // Year folder is being created by another document - remove from processed
169
+ // so it can be retried on the next effect run when the folder exists
170
+ processedDocs.delete(fileNode.id);
171
+ }
151
172
  else {
173
+ // Mark this year as being created to prevent race conditions
174
+ creatingYearFolders.add(year);
152
175
  // Create year folder first, then move the document
153
176
  addFolder(driveId, year, snapshotReportsFolder.id)
154
177
  .then((newFolder) => {
@@ -160,11 +183,16 @@ export function useSnapshotReportAutoPlacement() {
160
183
  .catch((error) => {
161
184
  console.error(`Failed to create ${year} folder or move snapshot report:`, error);
162
185
  // Remove from processed so it can be retried
163
- processedDocsRef.current.delete(fileNode.id);
186
+ processedDocs.delete(fileNode.id);
187
+ })
188
+ .finally(() => {
189
+ // Clean up the creating flag when done (success or failure)
190
+ creatingYearFolders.delete(year);
164
191
  });
165
192
  }
166
193
  }
167
194
  }, [
195
+ driveId,
168
196
  driveDocument,
169
197
  snapshotReportsFolder,
170
198
  documentsInDrive,
@@ -1 +1 @@
1
- {"version":3,"file":"DriveExplorer.d.ts","sourceRoot":"","sources":["../../../../editors/contributor-billing/components/DriveExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,2CA6DtD"}
1
+ {"version":3,"file":"DriveExplorer.d.ts","sourceRoot":"","sources":["../../../../editors/contributor-billing/components/DriveExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAOlD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,2CA+DtD"}
@@ -3,6 +3,7 @@ import { ToastContainer } from "@powerhousedao/design-system/connect";
3
3
  import { useState } from "react";
4
4
  import { DriveContents } from "./DriveContents.js";
5
5
  import { FolderTree } from "./FolderTree.js";
6
+ import { FolderTreeErrorBoundary } from "./FolderTreeErrorBoundary.js";
6
7
  /**
7
8
  * Main drive explorer component for Contributor Billing.
8
9
  * Displays an operational hub with invoice management and billing statement generation.
@@ -24,7 +25,7 @@ export function DriveExplorer({ children }) {
24
25
  setActiveNodeId(folderInfo.folderId);
25
26
  }
26
27
  };
27
- return (_jsxs("div", { className: "flex h-full w-full overflow-hidden", children: [_jsx(FolderTree, { onFolderSelect: handleFolderSelect, activeNodeId: activeNodeId, onActiveNodeIdChange: setActiveNodeId }), _jsx(ToastContainer, { position: "bottom-right", autoClose: 5000, hideProgressBar: false, newestOnTop: false, closeOnClick: false, rtl: false, pauseOnFocusLoss: true, draggable: true, pauseOnHover: true, theme: "light" }), _jsx("div", { className: "flex-1 min-w-0 h-full overflow-auto", children: showDocumentEditor ? (
28
+ return (_jsxs("div", { className: "flex h-full w-full overflow-hidden", children: [_jsx(FolderTreeErrorBoundary, { children: _jsx(FolderTree, { onFolderSelect: handleFolderSelect, activeNodeId: activeNodeId, onActiveNodeIdChange: setActiveNodeId }) }), _jsx(ToastContainer, { position: "bottom-right", autoClose: 5000, hideProgressBar: false, newestOnTop: false, closeOnClick: false, rtl: false, pauseOnFocusLoss: true, draggable: true, pauseOnHover: true, theme: "light" }), _jsx("div", { className: "flex-1 min-w-0 h-full overflow-auto", children: showDocumentEditor ? (
28
29
  /* Document editor view */
29
30
  _jsx("div", { className: "min-h-full", children: children })) : (
30
31
  /* Folder content view */
@@ -1 +1 @@
1
- {"version":3,"file":"FolderTree.d.ts","sourceRoot":"","sources":["../../../../editors/contributor-billing/components/FolderTree.tsx"],"names":[],"mappings":"AA0BA,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;AAErE,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,YAAY,EAAE,sBAAsB,EACpC,oBAAoB,GACrB,EAAE,eAAe,2CA6SjB"}
1
+ {"version":3,"file":"FolderTree.d.ts","sourceRoot":"","sources":["../../../../editors/contributor-billing/components/FolderTree.tsx"],"names":[],"mappings":"AA0BA,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;AAErE,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,YAAY,EAAE,sBAAsB,EACpC,oBAAoB,GACrB,EAAE,eAAe,2CAsXjB"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Sidebar, SidebarProvider, } from "@powerhousedao/document-engineering";
3
3
  import { setSelectedNode, showCreateDocumentModal, useDocumentsInSelectedDrive, useSelectedDrive, isFileNodeKind, } from "@powerhousedao/reactor-browser";
4
4
  import { Wallet, FileText, Building2, Calendar, CreditCard, BarChart3, Camera, } from "lucide-react";
5
- import { useMemo, useState } from "react";
5
+ import { useCallback, useMemo, useState } from "react";
6
6
  import { useBillingFolderStructure } from "../hooks/useBillingFolderStructure.js";
7
7
  const ICON_SIZE = 16;
8
8
  /**
@@ -71,6 +71,67 @@ export function FolderTree({ onFolderSelect, activeNodeId: controlledActiveNodeI
71
71
  reportDocumentIds: new Set(docs.map((d) => d.header.id)),
72
72
  };
73
73
  }, [documentsInDrive]);
74
+ // Build a set of all valid document IDs for safe selection
75
+ const validDocumentIds = useMemo(() => {
76
+ if (!documentsInDrive)
77
+ return new Set();
78
+ return new Set(documentsInDrive.map((doc) => doc.header.id));
79
+ }, [documentsInDrive]);
80
+ // Build a set of all valid node IDs (documents + folders + special IDs)
81
+ const validNodeIds = useMemo(() => {
82
+ const ids = new Set();
83
+ // Add special IDs
84
+ ids.add("accounts");
85
+ ids.add("billing-placeholder");
86
+ // Add billing folder ID
87
+ if (billingFolder?.id) {
88
+ ids.add(billingFolder.id);
89
+ }
90
+ // Add all document IDs
91
+ for (const docId of validDocumentIds) {
92
+ ids.add(docId);
93
+ }
94
+ // Add all folder IDs (month folders, payments folders, reporting folders)
95
+ for (const info of monthFolders.values()) {
96
+ ids.add(info.folder.id);
97
+ if (info.paymentsFolder) {
98
+ ids.add(info.paymentsFolder.id);
99
+ }
100
+ if (info.reportingFolder) {
101
+ ids.add(info.reportingFolder.id);
102
+ }
103
+ }
104
+ return ids;
105
+ }, [validDocumentIds, billingFolder, monthFolders]);
106
+ // Sanitize activeNodeId - if it's not a valid node, use empty string
107
+ const sanitizedActiveNodeId = useMemo(() => {
108
+ // Empty string is always valid
109
+ if (activeNodeId === "")
110
+ return "";
111
+ // Check if the ID is valid
112
+ if (validNodeIds.has(activeNodeId))
113
+ return activeNodeId;
114
+ // Invalid ID, clear it
115
+ console.warn(`[FolderTree] activeNodeId ${activeNodeId} is not a valid node, clearing selection`);
116
+ return "";
117
+ }, [activeNodeId, validNodeIds]);
118
+ // Safe wrapper for setSelectedNode that verifies document exists
119
+ const safeSetSelectedNode = useCallback((nodeId) => {
120
+ // Empty string is valid (clears selection)
121
+ if (nodeId === "") {
122
+ setSelectedNode("");
123
+ return;
124
+ }
125
+ // Only select if the document exists
126
+ if (validDocumentIds.has(nodeId)) {
127
+ setSelectedNode(nodeId);
128
+ }
129
+ else {
130
+ // Document doesn't exist, clear selection instead of throwing
131
+ console.warn(`[FolderTree] Document with id ${nodeId} not found, clearing selection`);
132
+ setSelectedNode("");
133
+ }
134
+ }, [validDocumentIds]);
74
135
  // Generate a stable key based on the node structure to force Sidebar remount when nodes change
75
136
  // This works around a bug in the Sidebar component where toggle state isn't updated for new nodes
76
137
  const sidebarKey = useMemo(() => {
@@ -170,23 +231,23 @@ export function FolderTree({ onFolderSelect, activeNodeId: controlledActiveNodeI
170
231
  // Check if this is an account-transactions child node
171
232
  if (accountTransactionsNodeIds.has(node.id)) {
172
233
  onFolderSelect?.(null);
173
- setSelectedNode(node.id);
234
+ safeSetSelectedNode(node.id);
174
235
  return;
175
236
  }
176
237
  // Check if this is an expense or snapshot report document
177
238
  if (reportDocumentIds.has(node.id)) {
178
239
  onFolderSelect?.(null);
179
- setSelectedNode(node.id);
240
+ safeSetSelectedNode(node.id);
180
241
  return;
181
242
  }
182
243
  // Check if clicking Accounts section
183
244
  if (node.id === "accounts") {
184
245
  if (accountsDocument) {
185
246
  onFolderSelect?.(null);
186
- setSelectedNode(accountsDocument.header.id);
247
+ safeSetSelectedNode(accountsDocument.header.id);
187
248
  }
188
249
  else {
189
- setSelectedNode("");
250
+ safeSetSelectedNode("");
190
251
  showCreateDocumentModal("powerhouse/accounts");
191
252
  }
192
253
  return;
@@ -197,7 +258,7 @@ export function FolderTree({ onFolderSelect, activeNodeId: controlledActiveNodeI
197
258
  folderId: billingFolder?.id || "",
198
259
  folderType: "billing",
199
260
  });
200
- setSelectedNode("");
261
+ safeSetSelectedNode("");
201
262
  return;
202
263
  }
203
264
  // Check if clicking a month folder - just let it expand, don't navigate or select
@@ -215,7 +276,7 @@ export function FolderTree({ onFolderSelect, activeNodeId: controlledActiveNodeI
215
276
  monthName,
216
277
  reportingFolderId: info.reportingFolder?.id,
217
278
  });
218
- setSelectedNode("");
279
+ safeSetSelectedNode("");
219
280
  return;
220
281
  }
221
282
  }
@@ -231,22 +292,22 @@ export function FolderTree({ onFolderSelect, activeNodeId: controlledActiveNodeI
231
292
  monthName,
232
293
  paymentsFolderId: info.paymentsFolder?.id,
233
294
  });
234
- setSelectedNode("");
295
+ safeSetSelectedNode("");
235
296
  return;
236
297
  }
237
298
  }
238
299
  }
239
300
  // Default: clear selection
240
301
  onFolderSelect?.(null);
241
- setSelectedNode("");
302
+ safeSetSelectedNode("");
242
303
  };
243
304
  return (_jsxs(SidebarProvider, { nodes: navigationSections, children: [_jsx("style", { children: `
244
305
  .folder-tree-sidebar .sidebar__item-caret--no-children {
245
306
  visibility: hidden;
246
307
  }
247
- ` }), _jsx(Sidebar, { className: "pt-1 folder-tree-sidebar", nodes: navigationSections, activeNodeId: activeNodeId, onActiveNodeChange: handleActiveNodeChange, sidebarTitle: "Operational Hub Navigation", showSearchBar: false, resizable: true, allowPinning: false, showStatusFilter: false, initialWidth: 256, defaultLevel: 2, handleOnTitleClick: () => {
308
+ ` }), _jsx(Sidebar, { className: "pt-1 folder-tree-sidebar", nodes: navigationSections, activeNodeId: sanitizedActiveNodeId, onActiveNodeChange: handleActiveNodeChange, sidebarTitle: "Operational Hub Navigation", showSearchBar: false, resizable: true, allowPinning: false, showStatusFilter: false, initialWidth: 256, defaultLevel: 2, handleOnTitleClick: () => {
248
309
  onFolderSelect?.(null);
249
- setSelectedNode("");
310
+ safeSetSelectedNode("");
250
311
  setActiveNodeId("");
251
312
  } }, sidebarKey)] }));
252
313
  }
@@ -0,0 +1,24 @@
1
+ import { Component, type ReactNode } from "react";
2
+ interface Props {
3
+ children: ReactNode;
4
+ fallback?: ReactNode;
5
+ }
6
+ interface State {
7
+ hasError: boolean;
8
+ error: Error | null;
9
+ errorInfo: string | null;
10
+ }
11
+ /**
12
+ * Error boundary specifically for FolderTree to handle DocumentNotFoundError.
13
+ * This error typically occurs when the drive contains a reference to a document
14
+ * that has been deleted from storage.
15
+ */
16
+ export declare class FolderTreeErrorBoundary extends Component<Props, State> {
17
+ constructor(props: Props);
18
+ static getDerivedStateFromError(error: Error): Partial<State>;
19
+ componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
20
+ handleRetry: () => void;
21
+ render(): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=FolderTreeErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FolderTreeErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../editors/contributor-billing/components/FolderTreeErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBACtD,KAAK,EAAE,KAAK;IAKxB,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAgB7D,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAI1D,WAAW,aAET;IAEF,MAAM;CA6BP"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Component } from "react";
3
+ /**
4
+ * Error boundary specifically for FolderTree to handle DocumentNotFoundError.
5
+ * This error typically occurs when the drive contains a reference to a document
6
+ * that has been deleted from storage.
7
+ */
8
+ export class FolderTreeErrorBoundary extends Component {
9
+ constructor(props) {
10
+ super(props);
11
+ this.state = { hasError: false, error: null, errorInfo: null };
12
+ }
13
+ static getDerivedStateFromError(error) {
14
+ // Check if this is a DocumentNotFoundError
15
+ const isDocumentNotFound = error.name === "DocumentNotFoundError" ||
16
+ error.message?.includes("Document with id") ||
17
+ error.message?.includes("not found");
18
+ return {
19
+ hasError: true,
20
+ error,
21
+ errorInfo: isDocumentNotFound
22
+ ? "The drive contains a reference to a document that no longer exists."
23
+ : null,
24
+ };
25
+ }
26
+ componentDidCatch(error, errorInfo) {
27
+ console.error("[FolderTreeErrorBoundary] Caught error:", error, errorInfo);
28
+ }
29
+ handleRetry = () => {
30
+ this.setState({ hasError: false, error: null, errorInfo: null });
31
+ };
32
+ render() {
33
+ if (this.state.hasError) {
34
+ if (this.props.fallback) {
35
+ return this.props.fallback;
36
+ }
37
+ return (_jsxs("div", { className: "p-4 bg-red-50 border-r border-red-200 h-full min-w-[200px]", children: [_jsx("h3", { className: "text-red-800 font-semibold mb-2", children: "Navigation Error" }), _jsx("p", { className: "text-red-600 text-sm mb-3", children: this.state.errorInfo || "Failed to load the folder tree." }), this.state.error && (_jsx("p", { className: "text-red-500 text-xs mb-3 font-mono break-all", children: this.state.error.message })), _jsx("button", { onClick: this.handleRetry, className: "px-3 py-1 text-sm bg-red-100 hover:bg-red-200 text-red-800 rounded", children: "Retry" })] }));
38
+ }
39
+ return this.props.children;
40
+ }
41
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderStats.d.ts","sourceRoot":"","sources":["../../../../../editors/contributor-billing/components/InvoiceTable/HeaderStats.tsx"],"names":[],"mappings":"AAwBA,UAAU,gBAAgB;IACxB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,GAAI,cAAc,gBAAgB,4CAgIzD,CAAC"}
1
+ {"version":3,"file":"HeaderStats.d.ts","sourceRoot":"","sources":["../../../../../editors/contributor-billing/components/InvoiceTable/HeaderStats.tsx"],"names":[],"mappings":"AAwBA,UAAU,gBAAgB;IACxB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,GAAI,cAAc,gBAAgB,4CAyIzD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Select } from "@powerhousedao/document-engineering/ui";
3
3
  import { useState, useEffect, useMemo } from "react";
4
- import { useGetDocuments, useSelectedDrive, isFileNodeKind, } from "@powerhousedao/reactor-browser";
4
+ import { useDocumentsInSelectedDrive, useSelectedDrive, isFileNodeKind, } from "@powerhousedao/reactor-browser";
5
5
  import { getExchangeRate } from "../../utils/exchangeRate.js";
6
6
  import { Tooltip, TooltipProvider } from "@powerhousedao/design-system/ui";
7
7
  const currencyList = [
@@ -31,10 +31,17 @@ export const HeaderStats = ({ folderId }) => {
31
31
  node.documentType === "powerhouse/invoice")
32
32
  .map((node) => node.id);
33
33
  }, [driveDocument, folderId]);
34
- const invoices = useGetDocuments(invoiceFiles);
34
+ const allDocuments = useDocumentsInSelectedDrive() || [];
35
+ const invoices = useMemo(() => {
36
+ if (invoiceFiles.length === 0)
37
+ return [];
38
+ const invoiceSet = new Set(invoiceFiles);
39
+ return allDocuments.filter((doc) => doc.header.documentType === "powerhouse/invoice" &&
40
+ invoiceSet.has(doc.header.id));
41
+ }, [allDocuments, invoiceFiles]);
35
42
  useEffect(() => {
36
43
  const calculateTotalExpenses = async () => {
37
- if (!invoices || invoices.length === 0) {
44
+ if (!invoices || !Array.isArray(invoices) || invoices.length === 0) {
38
45
  setTotalExpenses(0);
39
46
  return;
40
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InvoiceTable.d.ts","sourceRoot":"","sources":["../../../../../editors/contributor-billing/components/InvoiceTable/InvoiceTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA6D/C,eAAO,MAAM,aAAa;;;GAUzB,CAAC;AAeF,UAAU,iBAAiB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,CACX,QAAQ,EACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC7D,IAAI,CAAC;IACV,sBAAsB,EAAE,wBAAwB,EAAE,CAAC;IACnD,qBAAqB,EAAE,CACrB,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;IACV,gBAAgB,EAAE,CAChB,EAAE,EAAE,MAAM,KACP,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA6BD,eAAO,MAAM,YAAY,GAAI,2MAa1B,iBAAiB,4CAmqBnB,CAAC"}
1
+ {"version":3,"file":"InvoiceTable.d.ts","sourceRoot":"","sources":["../../../../../editors/contributor-billing/components/InvoiceTable/InvoiceTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA8D/C,eAAO,MAAM,aAAa;;;GAUzB,CAAC;AAeF,UAAU,iBAAiB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,CACX,QAAQ,EACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC7D,IAAI,CAAC;IACV,sBAAsB,EAAE,wBAAwB,EAAE,CAAC;IACnD,qBAAqB,EAAE,CACrB,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;IACV,gBAAgB,EAAE,CAChB,EAAE,EAAE,MAAM,KACP,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA6BD,eAAO,MAAM,YAAY,GAAI,2MAa1B,iBAAiB,4CAosBnB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import React, { useMemo } from "react";
2
+ import React, { useMemo, useState } from "react";
3
3
  import { addDocument, dispatchActions, setSelectedNode, useSelectedDrive, useDocumentsInSelectedDrive, } from "@powerhousedao/reactor-browser";
4
- import { toast } from "@powerhousedao/design-system/connect";
5
4
  import { actions as invoiceActions } from "../../../../document-models/invoice/index.js";
6
5
  import { actions as billingStatementActions } from "../../../../document-models/billing-statement/index.js";
7
6
  import { mapTags } from "../../../billing-statement/lineItemTags/tagMapping.js";
@@ -10,6 +9,7 @@ import { exportExpenseReportCSV } from "../../../../scripts/contributor-billing/
10
9
  import { HeaderControls } from "./HeaderControls.js";
11
10
  import { InvoiceTableSection } from "./InvoiceTableSection.js";
12
11
  import { InvoiceTableRow } from "./InvoiceTableRow.js";
12
+ import { NotificationDialog } from "./NotificationDialog.js";
13
13
  // Helper to convert partial tags to InvoiceTag array
14
14
  const toInvoiceTags = (tags) => {
15
15
  if (!tags)
@@ -50,6 +50,12 @@ const statusColors = {
50
50
  const TableHeader = ({ showIssuer = true, showBillingStatement = false, }) => (_jsx("thead", { children: _jsxs("tr", { className: "bg-gray-50 font-medium text-gray-500 text-xs", children: [_jsx("th", { className: "px-2 py-2 w-8 rounded-tl-sm" }), _jsx("th", { className: "px-2 py-2 text-center", children: showIssuer ? "Issuer" : "Invoice" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Invoice No." }), _jsx("th", { className: "px-2 py-2 text-center", children: "Issue Date" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Due Date" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Currency" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Amount" }), showBillingStatement && (_jsx("th", { className: "px-2 py-2 text-center", children: "Billing Statement" })), _jsx("th", { className: "px-2 py-2 rounded-tr-sm text-center", children: "Exported" })] }) }));
51
51
  export const InvoiceTable = ({ files, selected, setSelected, filteredDocumentModels, onSelectDocumentModel, getDocDispatcher, selectedStatuses, onStatusChange, onRowSelection, canExportSelectedRows, monthName, reportingFolderId, }) => {
52
52
  const [selectedDrive] = useSelectedDrive();
53
+ // Notification state
54
+ const [notification, setNotification] = useState({
55
+ show: false,
56
+ type: "success",
57
+ title: "",
58
+ });
53
59
  // Get documents directly from the hook - this will automatically update when documents change
54
60
  const documentsInDrive = useDocumentsInSelectedDrive() || [];
55
61
  // Check if an expense report already exists for the current month
@@ -232,7 +238,7 @@ export const InvoiceTable = ({ files, selected, setSelected, filteredDocumentMod
232
238
  const invoiceFile = files.find((file) => file.id === id);
233
239
  const invoiceDoc = allDocuments.find((doc) => doc.header.id === id);
234
240
  if (!invoiceDoc) {
235
- toast("Invoice not found", { type: "error" });
241
+ console.error("Invoice not found");
236
242
  return;
237
243
  }
238
244
  const invoiceState = invoiceDoc.state.global;
@@ -243,7 +249,7 @@ export const InvoiceTable = ({ files, selected, setSelected, filteredDocumentMod
243
249
  const createdNode = await addDocument(selectedDrive?.header.id || "", `bill-${invoiceFile?.name || id}`, "powerhouse/billing-statement", targetFolder ?? undefined, // Create directly in the payments folder
244
250
  undefined, undefined, "powerhouse-billing-statement-editor");
245
251
  if (!createdNode?.id) {
246
- toast("Failed to create billing statement", { type: "error" });
252
+ console.error("Failed to create billing statement");
247
253
  return;
248
254
  }
249
255
  // Prepare billing statement data
@@ -295,11 +301,21 @@ export const InvoiceTable = ({ files, selected, setSelected, filteredDocumentMod
295
301
  if (tagActions.length > 0) {
296
302
  await dispatchActions(tagActions, createdNode.id);
297
303
  }
298
- toast("Billing statement created successfully", { type: "success" });
304
+ setNotification({
305
+ show: true,
306
+ type: "success",
307
+ title: "Billing Statement Created",
308
+ message: `Successfully created billing statement for ${invoiceFile?.name || id}`,
309
+ });
299
310
  }
300
311
  catch (error) {
301
312
  console.error("Error creating billing statement:", error);
302
- toast("Failed to create billing statement", { type: "error" });
313
+ setNotification({
314
+ show: true,
315
+ type: "error",
316
+ title: "Creation Failed",
317
+ message: "Failed to create billing statement. Please try again.",
318
+ });
303
319
  }
304
320
  };
305
321
  // Get selected invoices for export - memoized to update when selected or allDocuments changes
@@ -313,7 +329,6 @@ export const InvoiceTable = ({ files, selected, setSelected, filteredDocumentMod
313
329
  const handleCSVExport = async (baseCurrency) => {
314
330
  try {
315
331
  const exportedData = await exportInvoicesToXeroCSV(selectedInvoices, baseCurrency);
316
- toast("Invoices exported successfully", { type: "success" });
317
332
  // Update exported status on invoices
318
333
  for (const invoice of selectedInvoices) {
319
334
  const exportedInvoiceData = exportedData[invoice.header.id];
@@ -325,34 +340,56 @@ export const InvoiceTable = ({ files, selected, setSelected, filteredDocumentMod
325
340
  ], invoice.header.id);
326
341
  }
327
342
  setSelected({});
343
+ setNotification({
344
+ show: true,
345
+ type: "success",
346
+ title: "Export Successful",
347
+ message: `Successfully exported ${selectedInvoices.length} invoice${selectedInvoices.length !== 1 ? "s" : ""} to CSV`,
348
+ });
328
349
  }
329
350
  catch (error) {
330
351
  console.error("Error exporting invoices:", error);
331
352
  const err = error;
332
353
  const missingExpenseTagInvoices = err.missingExpenseTagInvoices || [];
333
354
  const missingList = missingExpenseTagInvoices.map((invoiceId) => files.find((file) => file.id === invoiceId)?.name || invoiceId);
334
- toast(_jsxs(_Fragment, { children: ["Invoice Line Item Tags need to be set for:", _jsx("br", {}), missingList.map((name) => (_jsxs(React.Fragment, { children: ["- ", name, _jsx("br", {})] }, name)))] }), { type: "error" });
355
+ setNotification({
356
+ show: true,
357
+ type: "error",
358
+ title: "Export Failed",
359
+ message: "Invoice Line Item Tags need to be set before exporting.",
360
+ details: missingList,
361
+ });
335
362
  }
336
363
  };
337
364
  // Expense Report Export handler - simple async function
338
365
  const handleExpenseReportExport = async (baseCurrency) => {
339
- console.log("selectedInvoices", selectedInvoices);
340
366
  try {
341
367
  await exportExpenseReportCSV(selectedInvoices, baseCurrency);
342
- toast("Expense report exported successfully", { type: "success" });
343
368
  // Clear selection
344
369
  const updatedSelected = { ...selected };
345
370
  Object.keys(updatedSelected).forEach((id) => {
346
371
  updatedSelected[id] = false;
347
372
  });
348
373
  setSelected(updatedSelected);
374
+ setNotification({
375
+ show: true,
376
+ type: "success",
377
+ title: "Expense Report Exported",
378
+ message: `Successfully exported expense report with ${selectedInvoices.length} invoice${selectedInvoices.length !== 1 ? "s" : ""}`,
379
+ });
349
380
  }
350
381
  catch (error) {
351
382
  console.error("Error exporting expense report:", error);
352
383
  const err = error;
353
384
  const missingTagInvoices = err.missingTagInvoices || [];
354
385
  const missingList = missingTagInvoices.map((invoiceId) => files.find((file) => file.id === invoiceId)?.name || invoiceId);
355
- toast(_jsxs(_Fragment, { children: ["Invoice Line Item Tags need to be set for:", _jsx("br", {}), missingList.map((name) => (_jsxs(React.Fragment, { children: ["- ", name, _jsx("br", {})] }, name)))] }), { type: "error" });
386
+ setNotification({
387
+ show: true,
388
+ type: "error",
389
+ title: "Export Failed",
390
+ message: "Invoice Line Item Tags need to be set before exporting.",
391
+ details: missingList,
392
+ });
356
393
  }
357
394
  };
358
395
  // Check for integrations document - simple computed value
@@ -428,21 +465,21 @@ export const InvoiceTable = ({ files, selected, setSelected, filteredDocumentMod
428
465
  const { showIssuer = true, showBillingStatement = false, showCreateButton = false, } = options || {};
429
466
  return (_jsx(InvoiceTableSection, { title: title, count: data.length, color: statusColors[status] || statusColors.OTHER, onSelectDocumentModel: showCreateButton ? onSelectDocumentModel : undefined, filteredDocumentModels: showCreateButton ? filteredDocumentModels : undefined, children: _jsxs("table", { className: "w-full text-sm rounded-sm border-separate border-spacing-0 border border-gray-300 overflow-hidden", children: [_jsx(TableHeader, { showIssuer: showIssuer, showBillingStatement: showBillingStatement }), _jsx("tbody", { children: data.map((row) => (_jsx(InvoiceTableRow, { files: files, row: row, isSelected: !!selected[row.id], onSelect: (checked) => onRowSelection(row.id, checked, row.status), onCreateBillingStatement: handleCreateBillingStatement, billingDocStates: billingDocStates, showIssuerColumn: showIssuer, showBillingStatementColumn: showBillingStatement }, row.id))) })] }) }));
430
467
  };
431
- return (_jsxs("div", { className: "contributor-billing-table w-full h-full bg-white rounded-lg p-4 border border-gray-200 shadow-sm mt-4 overflow-x-auto", children: [_jsx(HeaderControls, { statusOptions: statusOptions, selectedStatuses: selectedStatuses, onStatusChange: onStatusChange, onExport: handleCSVExport, onExpenseReportExport: handleExpenseReportExport, createIntegrationsDocument: createIntegrationsDocument, integrationsDoc: integrationsDoc, hasBillingStatements: hasBillingStatements, expenseReportDoc: expenseReportDoc, existingExpenseReportForMonth: existingExpenseReport, onCreateOrOpenExpenseReport: handleCreateOrOpenExpenseReport, selected: selected, handleCreateBillingStatement: handleCreateBillingStatement, setSelected: setSelected, invoices: invoicesDocs, billingStatements: billingStatementDocs, canExportSelectedRows: canExportSelectedRows }), renderSection("DRAFT", "Draft", draft, {
432
- showIssuer: false,
433
- showCreateButton: true,
434
- }), renderSection("ISSUED", "Issued", issued, {
435
- showBillingStatement: true,
436
- }), renderSection("ACCEPTED", "Accepted", accepted, {
437
- showBillingStatement: true,
438
- }), renderSection("PAYMENTSCHEDULED", "Payment Scheduled", paymentScheduled, {
439
- showBillingStatement: true,
440
- }), renderSection("PAYMENTSENT", "Payment Sent", paymentSent, {
441
- showBillingStatement: true,
442
- }), renderSection("PAYMENTISSUE", "Payment Issue", paymentIssue, {
443
- showBillingStatement: true,
444
- }), renderSection("PAYMENTCLOSED", "Payment Closed", paymentClosed), renderSection("REJECTED", "Rejected", rejected), renderSection("OTHER", "Other", otherInvoices), loadingFileIds.length > 0 && (_jsx(InvoiceTableSection, { title: "Loading", count: loadingFileIds.length, color: "bg-gray-100 text-gray-600", children: _jsxs("table", { className: "w-full text-sm rounded-sm border-separate border-spacing-0 border border-gray-300 overflow-hidden", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-gray-50 font-medium text-gray-500 text-xs", children: [_jsx("th", { className: "px-2 py-2 w-8 rounded-tl-sm" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Invoice" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Invoice No." }), _jsx("th", { className: "px-2 py-2 text-center", children: "Issue Date" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Due Date" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Currency" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Amount" }), _jsx("th", { className: "px-2 py-2 rounded-tr-sm text-center", children: "Status" })] }) }), _jsx("tbody", { children: loadingFileIds.map((id) => {
445
- const file = files.find((f) => f.id === id);
446
- return (_jsxs("tr", { className: "border-t border-gray-200 animate-pulse", children: [_jsx("td", { className: "px-2 py-2" }), _jsx("td", { className: "px-2 py-2 text-center text-gray-400", children: file?.name || "Loading..." }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-16 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-20 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-20 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-12 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-16 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("span", { className: "text-xs text-gray-400", children: "Loading..." }) })] }, id));
447
- }) })] }) }))] }));
468
+ return (_jsxs(_Fragment, { children: [_jsx(NotificationDialog, { show: notification.show, type: notification.type, title: notification.title, message: notification.message, details: notification.details, onClose: () => setNotification({ ...notification, show: false }) }), _jsxs("div", { className: "contributor-billing-table w-full h-full bg-white rounded-lg p-4 border border-gray-200 shadow-sm mt-4 overflow-x-auto", children: [_jsx(HeaderControls, { statusOptions: statusOptions, selectedStatuses: selectedStatuses, onStatusChange: onStatusChange, onExport: handleCSVExport, onExpenseReportExport: handleExpenseReportExport, createIntegrationsDocument: createIntegrationsDocument, integrationsDoc: integrationsDoc, hasBillingStatements: hasBillingStatements, expenseReportDoc: expenseReportDoc, existingExpenseReportForMonth: existingExpenseReport, onCreateOrOpenExpenseReport: handleCreateOrOpenExpenseReport, selected: selected, handleCreateBillingStatement: handleCreateBillingStatement, setSelected: setSelected, invoices: invoicesDocs, billingStatements: billingStatementDocs, canExportSelectedRows: canExportSelectedRows }), renderSection("DRAFT", "Draft", draft, {
469
+ showIssuer: false,
470
+ showCreateButton: true,
471
+ }), renderSection("ISSUED", "Issued", issued, {
472
+ showBillingStatement: true,
473
+ }), renderSection("ACCEPTED", "Accepted", accepted, {
474
+ showBillingStatement: true,
475
+ }), renderSection("PAYMENTSCHEDULED", "Payment Scheduled", paymentScheduled, {
476
+ showBillingStatement: true,
477
+ }), renderSection("PAYMENTSENT", "Payment Sent", paymentSent, {
478
+ showBillingStatement: true,
479
+ }), renderSection("PAYMENTISSUE", "Payment Issue", paymentIssue, {
480
+ showBillingStatement: true,
481
+ }), renderSection("PAYMENTCLOSED", "Payment Closed", paymentClosed), renderSection("REJECTED", "Rejected", rejected), renderSection("OTHER", "Other", otherInvoices), loadingFileIds.length > 0 && (_jsx(InvoiceTableSection, { title: "Loading", count: loadingFileIds.length, color: "bg-gray-100 text-gray-600", children: _jsxs("table", { className: "w-full text-sm rounded-sm border-separate border-spacing-0 border border-gray-300 overflow-hidden", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-gray-50 font-medium text-gray-500 text-xs", children: [_jsx("th", { className: "px-2 py-2 w-8 rounded-tl-sm" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Invoice" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Invoice No." }), _jsx("th", { className: "px-2 py-2 text-center", children: "Issue Date" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Due Date" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Currency" }), _jsx("th", { className: "px-2 py-2 text-center", children: "Amount" }), _jsx("th", { className: "px-2 py-2 rounded-tr-sm text-center", children: "Status" })] }) }), _jsx("tbody", { children: loadingFileIds.map((id) => {
482
+ const file = files.find((f) => f.id === id);
483
+ return (_jsxs("tr", { className: "border-t border-gray-200 animate-pulse", children: [_jsx("td", { className: "px-2 py-2" }), _jsx("td", { className: "px-2 py-2 text-center text-gray-400", children: file?.name || "Loading..." }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-16 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-20 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-20 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-12 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("div", { className: "h-4 bg-gray-200 rounded w-16 mx-auto" }) }), _jsx("td", { className: "px-2 py-2 text-center", children: _jsx("span", { className: "text-xs text-gray-400", children: "Loading..." }) })] }, id));
484
+ }) })] }) }))] })] }));
448
485
  };