@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
@@ -161,27 +161,27 @@ const LineItemsTable = (props) => {
161
161
  if (showTagTable) {
162
162
  return (_jsx(LineItemTagsTable, { lineItems: state.lineItems, onClose: () => setShowTagTable(false), dispatch: dispatch }));
163
163
  }
164
- return (_jsxs("div", { className: "w-full", children: [_jsxs("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-xs font-semibold tracking-[0.24em] text-black/60", children: "LINE ITEMS" }), _jsx("div", { className: "text-sm text-black/50", children: "Double\u2011click a row to edit. Click outside to save." })] }), _jsx("div", { className: "flex items-center justify-between gap-3 sm:justify-end", children: _jsxs("button", { type: "button", onClick: () => setShowTagTable(!showTagTable), className: "group inline-flex items-center gap-2 rounded-full border border-black/15 bg-[#efe8da] px-3 py-2 text-xs font-semibold tracking-wide text-black/80 shadow-[0_10px_28px_rgba(15,23,42,0.10)] transition hover:bg-[#e7ddc9] focus:outline-none focus-visible:ring-2 focus-visible:ring-black/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white", "aria-label": "Open tag editor", children: [_jsx(Tag, { className: "h-4 w-4 text-black/70" }), "Tags"] }) })] }), _jsxs("div", { className: "mt-4 overflow-hidden rounded-xl border border-black/10 bg-white shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]", children: [_jsx("div", { className: "overflow-x-auto", ref: tableRef, children: _jsx("div", { className: "min-w-[980px]", children: _jsxs("table", { className: "w-full border-collapse text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-[#efe8da] text-[#14120f]", children: [_jsx("th", { className: "w-10 border-b border-black/10 px-2 py-3 text-center text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "#" }), _jsx("th", { className: "w-[28rem] border-b border-black/10 px-3 py-3 text-left text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "DESCRIPTION" }), _jsx("th", { className: "w-44 border-b border-black/10 px-3 py-3 text-left text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "UNIT" }), _jsx("th", { className: "w-20 border-b border-black/10 px-3 py-3 text-right text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "QTY" }), _jsx("th", { className: "w-28 border-b border-black/10 px-3 py-3 text-right text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "FIAT/UNIT" }), _jsx("th", { className: "w-28 border-b border-black/10 px-3 py-3 text-right text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "POWT/UNIT" }), _jsx("th", { className: "w-32 border-b border-black/10 px-3 py-3 text-right text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "TOTAL FIAT" }), _jsx("th", { className: "w-32 border-b border-black/10 px-3 py-3 text-right text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "TOTAL POWT" }), _jsx("th", { className: "w-16 border-b border-black/10 px-2 py-3 text-center text-[11px] font-semibold tracking-[0.20em] text-black/70" })] }) }), _jsxs("tbody", { className: "text-black/90", children: [state.lineItems.map((item, idx) => editingRow === idx ? (_jsxs("tr", { className: "bg-[#fff3cf] shadow-[inset_0_0_0_1px_rgba(245,158,11,0.35)]", children: [_jsx("td", { className: "border-b border-black/10 px-2 py-3 text-center font-mono text-xs tabular-nums text-black/60", children: idx + 1 }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(InputField, { input: localLineItem.description, value: localLineItem.description, onBlur: () => { }, handleInputChange: (e) => handleInputChange("description", e.target.value), className: "w-full rounded-lg border border-black/15 bg-white px-3 py-2 text-sm shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(Select, { options: units, value: localLineItem.unit, onChange: (value) => handleInputChange("unit", value), className: "w-44 rounded-lg border border-black/15 bg-white px-2 py-2 text-sm" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(NumberForm, { number: localLineItem.quantity, handleInputChange: (e) => handleInputChange("quantity", e.target.value), className: "w-24 rounded-lg border border-black/15 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(NumberForm, { number: localLineItem.unitPriceCash, handleInputChange: (e) => handleInputChange("unitPriceCash", String(e.target.value)), className: "w-28 rounded-lg border border-black/15 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(NumberForm, { number: localLineItem.unitPricePwt, handleInputChange: (e) => handleInputChange("unitPricePwt", e.target.value), className: "w-28 rounded-lg border border-black/15 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums text-black/70", children: localLineItem.quantity && localLineItem.unitPriceCash
164
+ return (_jsxs("div", { className: "w-full", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-[11px] font-medium uppercase tracking-wider text-slate-400", children: "Line Items" }), _jsx("div", { className: "text-sm text-slate-400", children: "Double\u2011click a row to edit. Click outside to save." })] }), _jsx("div", { className: "flex items-center gap-3", children: _jsxs("button", { type: "button", onClick: () => setShowTagTable(!showTagTable), className: "group inline-flex items-center gap-2 rounded-xl border border-slate-200 bg-white px-4 py-2 text-xs font-medium text-slate-600 shadow-sm transition hover:bg-slate-50 hover:border-slate-300 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/20 focus-visible:ring-offset-2", "aria-label": "Open tag editor", children: [_jsx(Tag, { className: "h-4 w-4 text-slate-400" }), "Tags"] }) })] }), _jsxs("div", { className: "mt-5 overflow-hidden rounded-2xl border border-slate-100 bg-white shadow-sm", children: [_jsx("div", { className: "overflow-x-auto", ref: tableRef, children: _jsx("div", { className: "min-w-[980px]", children: _jsxs("table", { className: "w-full border-collapse text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-gradient-to-r from-slate-50 to-blue-50/30", children: [_jsx("th", { className: "w-10 border-b border-slate-100 px-2 py-3.5 text-center text-[11px] font-medium uppercase tracking-wide text-slate-500", children: "#" }), _jsx("th", { className: "w-[28rem] border-b border-slate-100 px-3 py-3.5 text-left text-[11px] font-medium uppercase tracking-wide text-slate-500", children: "Description" }), _jsx("th", { className: "w-44 border-b border-slate-100 px-3 py-3.5 text-left text-[11px] font-medium uppercase tracking-wide text-slate-500", children: "Unit" }), _jsx("th", { className: "w-20 border-b border-slate-100 px-3 py-3.5 text-right text-[11px] font-medium uppercase tracking-wide text-slate-500", children: "Qty" }), _jsx("th", { className: "w-28 border-b border-slate-100 px-3 py-3.5 text-right text-[11px] font-medium uppercase tracking-wide text-slate-500", children: "Fiat/Unit" }), _jsx("th", { className: "w-28 border-b border-slate-100 px-3 py-3.5 text-right text-[11px] font-medium uppercase tracking-wide text-slate-500", children: "POWT/Unit" }), _jsx("th", { className: "w-32 border-b border-slate-100 px-3 py-3.5 text-right text-[11px] font-medium uppercase tracking-wide text-slate-500", children: "Total Fiat" }), _jsx("th", { className: "w-32 border-b border-slate-100 px-3 py-3.5 text-right text-[11px] font-medium uppercase tracking-wide text-slate-500", children: "Total POWT" }), _jsx("th", { className: "w-16 border-b border-slate-100 px-2 py-3.5 text-center text-[11px] font-medium uppercase tracking-wide text-slate-500" })] }) }), _jsxs("tbody", { className: "text-slate-700", children: [state.lineItems.map((item, idx) => editingRow === idx ? (_jsxs("tr", { className: "bg-blue-50/50 shadow-[inset_0_0_0_1px_rgba(59,130,246,0.15)]", children: [_jsx("td", { className: "border-b border-slate-100 px-2 py-3 text-center text-xs text-slate-400", children: idx + 1 }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(InputField, { input: localLineItem.description, value: localLineItem.description, onBlur: () => { }, handleInputChange: (e) => handleInputChange("description", e.target.value), className: "w-full rounded-xl border border-slate-200 bg-white px-3 py-2 text-sm shadow-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(Select, { options: units, value: localLineItem.unit, onChange: (value) => handleInputChange("unit", value), className: "w-44 rounded-xl border border-slate-200 bg-white px-2 py-2 text-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(NumberForm, { number: localLineItem.quantity, handleInputChange: (e) => handleInputChange("quantity", e.target.value), className: "w-24 rounded-xl border border-slate-200 bg-white px-3 py-2 text-right shadow-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(NumberForm, { number: localLineItem.unitPriceCash, handleInputChange: (e) => handleInputChange("unitPriceCash", String(e.target.value)), className: "w-28 rounded-xl border border-slate-200 bg-white px-3 py-2 text-right shadow-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(NumberForm, { number: localLineItem.unitPricePwt, handleInputChange: (e) => handleInputChange("unitPricePwt", e.target.value), className: "w-28 rounded-xl border border-slate-200 bg-white px-3 py-2 text-right shadow-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-3 text-right text-slate-500", children: localLineItem.quantity && localLineItem.unitPriceCash
165
165
  ? Number(localLineItem.quantity) *
166
166
  Number(localLineItem.unitPriceCash)
167
- : "" }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums text-black/70", children: localLineItem.quantity && localLineItem.unitPricePwt
167
+ : "" }), _jsx("td", { className: "border-b border-slate-100 px-3 py-3 text-right text-slate-500", children: localLineItem.quantity && localLineItem.unitPricePwt
168
168
  ? Number(localLineItem.quantity) *
169
169
  Number(localLineItem.unitPricePwt)
170
- : "" }), _jsx("td", { className: "border-b border-black/10 px-2 py-3 text-center", children: _jsx("button", { type: "button", onClick: (e) => {
170
+ : "" }), _jsx("td", { className: "border-b border-slate-100 px-2 py-3 text-center", children: _jsx("button", { type: "button", onClick: (e) => {
171
171
  e.stopPropagation();
172
172
  handleDeleteLineItem(String(localLineItem.id));
173
- }, className: "inline-flex items-center justify-center rounded-lg p-1.5 text-red-600/70 transition hover:bg-red-50 hover:text-red-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-red-600/20 focus-visible:ring-offset-1", "aria-label": "Delete line item", children: _jsx(Trash2, { className: "h-4 w-4" }) }) })] }, item.id)) : (_jsxs("tr", { className: "cursor-pointer odd:bg-[#fbf8f1] even:bg-white hover:bg-[#fff3cf]/60", onDoubleClick: () => {
173
+ }, className: "inline-flex items-center justify-center rounded-lg p-1.5 text-red-400 transition hover:bg-red-50 hover:text-red-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-red-500/20 focus-visible:ring-offset-1", "aria-label": "Delete line item", children: _jsx(Trash2, { className: "h-4 w-4" }) }) })] }, item.id)) : (_jsxs("tr", { className: "cursor-pointer odd:bg-slate-50/30 even:bg-white hover:bg-blue-50/30 transition-colors", onDoubleClick: () => {
174
174
  setEditingRow(idx);
175
175
  setLocalLineItem({ ...item });
176
- }, children: [_jsx("td", { className: "border-b border-black/10 px-2 py-3 text-center font-mono text-xs tabular-nums text-black/60", children: idx + 1 }), _jsx("td", { className: "border-b border-black/10 px-3 py-3", children: item.description }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-center text-xs font-semibold tracking-wide text-black/60", children: item.unit }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums", children: item.quantity }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums", children: formatNumber(item.unitPriceCash) }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums", children: formatNumber(item.unitPricePwt) }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums", children: formatNumber(item.totalPriceCash) }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums", children: formatNumber(item.totalPricePwt) }), _jsx("td", { className: "border-b border-black/10 px-2 py-3 text-center", children: _jsx("button", { type: "button", onClick: (e) => {
176
+ }, children: [_jsx("td", { className: "border-b border-slate-50 px-2 py-3 text-center text-xs text-slate-400", children: idx + 1 }), _jsx("td", { className: "border-b border-slate-50 px-3 py-3 text-slate-700", children: item.description }), _jsx("td", { className: "border-b border-slate-50 px-3 py-3 text-center text-xs font-medium tracking-wide text-slate-500", children: item.unit }), _jsx("td", { className: "border-b border-slate-50 px-3 py-3 text-right text-slate-700", children: item.quantity }), _jsx("td", { className: "border-b border-slate-50 px-3 py-3 text-right text-slate-700", children: formatNumber(item.unitPriceCash) }), _jsx("td", { className: "border-b border-slate-50 px-3 py-3 text-right text-slate-700", children: formatNumber(item.unitPricePwt) }), _jsx("td", { className: "border-b border-slate-50 px-3 py-3 text-right text-slate-700", children: formatNumber(item.totalPriceCash) }), _jsx("td", { className: "border-b border-slate-50 px-3 py-3 text-right text-slate-700", children: formatNumber(item.totalPricePwt) }), _jsx("td", { className: "border-b border-slate-50 px-2 py-3 text-center", children: _jsx("button", { type: "button", onClick: (e) => {
177
177
  e.stopPropagation();
178
178
  handleDeleteLineItem(item.id);
179
- }, className: "inline-flex items-center justify-center rounded-lg p-1.5 text-red-600/70 transition hover:bg-red-50 hover:text-red-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-red-600/20 focus-visible:ring-offset-1", "aria-label": "Delete line item", children: _jsx(Trash2, { className: "h-4 w-4" }) }) })] }, item.id))), isAddingNew && (_jsxs("tr", { className: "bg-[#e8fff3] shadow-[inset_0_0_0_1px_rgba(16,185,129,0.22)]", children: [_jsx("td", { className: "border-b border-black/10 px-2 py-3 text-center font-mono text-xs tabular-nums text-black/60", children: state.lineItems.length + 1 }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(InputField, { input: newLineItem.description, value: newLineItem.description, onBlur: () => { }, handleInputChange: (e) => handleNewLineItemChange("description", e.target.value), className: "w-full rounded-lg border border-black/15 bg-white px-3 py-2 text-sm shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(Select, { options: units, value: newLineItem.unit, onChange: (value) => handleNewLineItemChange("unit", value), className: "w-44 rounded-lg border border-black/15 bg-white px-2 py-2 text-sm" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(NumberForm, { number: newLineItem.quantity, handleInputChange: (e) => handleNewLineItemChange("quantity", e.target.value), className: "w-24 rounded-lg border border-black/15 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(NumberForm, { number: newLineItem.unitPriceCash, handleInputChange: (e) => handleNewLineItemChange("unitPriceCash", String(e.target.value)), className: "w-28 rounded-lg border border-black/15 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-2", children: _jsx(NumberForm, { number: newLineItem.unitPricePwt, handleInputChange: (e) => handleNewLineItemChange("unitPricePwt", e.target.value), className: "w-28 rounded-lg border border-black/15 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]" }) }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums text-black/70", children: newLineItem.quantity && newLineItem.unitPriceCash
179
+ }, className: "inline-flex items-center justify-center rounded-lg p-1.5 text-red-400 transition hover:bg-red-50 hover:text-red-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-red-500/20 focus-visible:ring-offset-1", "aria-label": "Delete line item", children: _jsx(Trash2, { className: "h-4 w-4" }) }) })] }, item.id))), isAddingNew && (_jsxs("tr", { className: "bg-emerald-50/50 shadow-[inset_0_0_0_1px_rgba(16,185,129,0.15)]", children: [_jsx("td", { className: "border-b border-slate-100 px-2 py-3 text-center text-xs text-slate-400", children: state.lineItems.length + 1 }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(InputField, { input: newLineItem.description, value: newLineItem.description, onBlur: () => { }, handleInputChange: (e) => handleNewLineItemChange("description", e.target.value), className: "w-full rounded-xl border border-slate-200 bg-white px-3 py-2 text-sm shadow-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(Select, { options: units, value: newLineItem.unit, onChange: (value) => handleNewLineItemChange("unit", value), className: "w-44 rounded-xl border border-slate-200 bg-white px-2 py-2 text-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(NumberForm, { number: newLineItem.quantity, handleInputChange: (e) => handleNewLineItemChange("quantity", e.target.value), className: "w-24 rounded-xl border border-slate-200 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(NumberForm, { number: newLineItem.unitPriceCash, handleInputChange: (e) => handleNewLineItemChange("unitPriceCash", String(e.target.value)), className: "w-28 rounded-xl border border-slate-200 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-2", children: _jsx(NumberForm, { number: newLineItem.unitPricePwt, handleInputChange: (e) => handleNewLineItemChange("unitPricePwt", e.target.value), className: "w-28 rounded-xl border border-slate-200 bg-white px-3 py-2 text-right font-mono tabular-nums shadow-sm" }) }), _jsx("td", { className: "border-b border-slate-100 px-3 py-3 text-right font-mono tabular-nums text-slate-500", children: newLineItem.quantity && newLineItem.unitPriceCash
180
180
  ? Number(newLineItem.quantity) *
181
181
  Number(newLineItem.unitPriceCash)
182
- : "" }), _jsx("td", { className: "border-b border-black/10 px-3 py-3 text-right font-mono tabular-nums text-black/70", children: newLineItem.quantity && newLineItem.unitPricePwt
182
+ : "" }), _jsx("td", { className: "border-b border-slate-100 px-3 py-3 text-right font-mono tabular-nums text-slate-500", children: newLineItem.quantity && newLineItem.unitPricePwt
183
183
  ? Number(newLineItem.quantity) *
184
184
  Number(newLineItem.unitPricePwt)
185
- : "" }), _jsx("td", { className: "border-b border-black/10 px-2 py-3 text-center" })] }))] })] }) }) }), !isAddingNew && (_jsx("div", { className: "flex justify-center bg-[#fbf8f1] px-4 py-4", children: _jsxs("button", { onClick: handleAddLineItem, className: "inline-flex items-center gap-2 rounded-full border border-black/15 bg-[#efe8da] px-4 py-2 text-xs font-semibold tracking-wide text-black/80 shadow-[0_10px_28px_rgba(15,23,42,0.10)] transition hover:bg-[#e7ddc9] focus:outline-none focus-visible:ring-2 focus-visible:ring-black/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white", children: [_jsx(Plus, { className: "h-4 w-4 text-black/70" }), "Add Line Item"] }) })), isAddingNew && (_jsxs("div", { className: "flex justify-center gap-2 bg-[#fbf8f1] px-4 py-4", children: [_jsx("button", { onClick: handleSaveNewLineItem, className: "rounded-full bg-emerald-600 px-4 py-2 text-xs font-semibold tracking-wide text-white shadow-[0_10px_28px_rgba(0,0,0,0.18)] transition hover:bg-emerald-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-600/60 focus-visible:ring-offset-2 focus-visible:ring-offset-white", children: "Save Line Item" }), _jsx("button", { onClick: handleCancelAdd, className: "rounded-full bg-[#121319] px-4 py-2 text-xs font-semibold tracking-wide text-[#f6f1e7] shadow-[0_10px_28px_rgba(0,0,0,0.18)] transition hover:bg-[#1b1d26] focus:outline-none focus-visible:ring-2 focus-visible:ring-[#f2d38a]/60 focus-visible:ring-offset-2 focus-visible:ring-offset-white", children: "Cancel" })] }))] })] }));
185
+ : "" }), _jsx("td", { className: "border-b border-slate-100 px-2 py-3 text-center" })] }))] })] }) }) }), !isAddingNew && (_jsx("div", { className: "flex justify-center bg-gradient-to-r from-slate-50 to-blue-50/30 px-4 py-4", children: _jsxs("button", { onClick: handleAddLineItem, className: "inline-flex items-center gap-2 rounded-xl border border-slate-200 bg-white px-4 py-2.5 text-xs font-medium text-slate-600 shadow-sm transition hover:bg-slate-50 hover:border-slate-300 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/20 focus-visible:ring-offset-2", children: [_jsx(Plus, { className: "h-4 w-4 text-slate-400" }), "Add Line Item"] }) })), isAddingNew && (_jsxs("div", { className: "flex justify-center gap-3 bg-gradient-to-r from-slate-50 to-blue-50/30 px-4 py-4", children: [_jsx("button", { onClick: handleSaveNewLineItem, className: "rounded-xl bg-emerald-500 px-5 py-2.5 text-xs font-medium text-white shadow-sm transition hover:bg-emerald-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500/40 focus-visible:ring-offset-2", children: "Save Line Item" }), _jsx("button", { onClick: handleCancelAdd, className: "rounded-xl border border-slate-200 bg-white px-5 py-2.5 text-xs font-medium text-slate-600 shadow-sm transition hover:bg-slate-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-slate-300/40 focus-visible:ring-offset-2", children: "Cancel" })] }))] })] }));
186
186
  };
187
187
  export default LineItemsTable;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/billing-statement/editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAiBlD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAEjC,eAAO,MAAM,YAAY;;;GAWxB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,kDAuKtD"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/billing-statement/editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAgBlD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAEjC,eAAO,MAAM,YAAY;;;GAWxB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,kDAwKtD"}
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from "react";
3
3
  import { actions, } from "../../document-models/billing-statement/index.js";
4
- import { CurrencyForm } from "../invoice/components/currencyForm.js";
5
4
  import { Textarea, Select } from "@powerhousedao/document-engineering";
6
5
  import LineItemsTable from "./components/lineItemsTable.js";
7
6
  import { formatNumber } from "../invoice/lineItems.js";
@@ -35,19 +34,19 @@ export default function Editor(props) {
35
34
  function handleClose() {
36
35
  setSelectedNode(parentFolder);
37
36
  }
38
- return (_jsxs("div", { className: "min-h-screen w-full bg-white text-[#14120f]", children: [_jsx(DocumentToolbar, { document: doc, onClose: handleClose }), _jsx("div", { className: "w-full bg-white", children: _jsxs("div", { className: "mx-auto w-full max-w-6xl px-4 py-10 sm:px-6 lg:px-8", children: [_jsxs("div", { className: "overflow-hidden rounded-2xl border border-black/10 bg-white text-[#14120f] shadow-[0_18px_50px_rgba(15,23,42,0.10)]", children: [_jsx("div", { className: "border-b border-black/10 bg-[#efe8da] px-6 py-5 text-[#14120f]", children: _jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between", children: [_jsx("div", { className: "space-y-1", children: _jsx("h1", { className: "font-serif text-2xl tracking-tight sm:text-3xl", children: "Billing Statement" }) }), _jsxs("div", { className: "grid grid-cols-2 gap-x-6 gap-y-2 text-sm sm:text-right", children: [_jsx("div", { className: "text-black/60", children: "Submitter" }), _jsx("div", { className: "font-semibold text-black/90", children: state.contributor }), _jsx("div", { className: "text-black/60", children: "Status" }), _jsx("div", { className: "flex justify-start sm:justify-end", children: _jsx("span", { className: "inline-flex items-center rounded-full border border-black/15 bg-black/5 px-3 py-1 text-xs font-semibold tracking-wide text-black/80", children: String(state.status || "—") }) })] })] }) }), _jsxs("div", { className: "px-6 py-6", children: [_jsxs("div", { className: "flex flex-col gap-3 rounded-xl border border-black/10 bg-[#efe8da] px-4 py-3 sm:flex-row sm:items-center sm:justify-between", children: [_jsx("div", { className: "text-sm text-black/60", children: "Keep edits lightweight: double\u2011click a row to edit, click outside to auto\u2011save." }), _jsxs("div", { className: "flex items-center justify-between gap-3 sm:justify-end", children: [_jsx("span", { className: "text-xs font-semibold tracking-wide text-black/60", children: "CURRENCY" }), _jsx("div", { className: "rounded-lg border border-black/10 px-2 py-1 shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]", children: _jsx(Select, { className: "w-28", options: currencyList.map((currency) => ({
39
- value: currency.ticker,
40
- label: currency.ticker,
41
- })), value: state.currency, onChange: (value) => {
42
- dispatch(actions.editBillingStatement({
43
- currency: value,
44
- }));
45
- } }) })] })] }), _jsx("div", { className: "mt-6", children: _jsx(LineItemsTable, { state: state, dispatch: dispatch }) }), _jsxs("div", { className: "mt-8 grid gap-6 lg:grid-cols-2", children: [_jsxs("div", { className: "rounded-xl border border-black/10 bg-white p-4 shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]", children: [_jsx(Textarea, { label: "Notes", placeholder: "Add notes", autoExpand: true, rows: 4, multiline: true, value: notes, onBlur: (e) => {
46
- const newValue = e.target.value;
47
- if (newValue !== state.notes) {
48
- dispatch(actions.editBillingStatement({ notes: newValue }));
49
- }
50
- }, onChange: (e) => {
51
- setNotes(e.target.value);
52
- }, className: "p-2" }), _jsx("div", { className: "mt-2 text-xs text-black/50", children: "Tip: notes are saved by clicking outside of the textarea or pressing tab." })] }), _jsxs("div", { className: "rounded-xl border border-black/10 bg-white p-4 shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]", children: [_jsxs("div", { className: "flex items-baseline justify-between", children: [_jsx("div", { className: "text-xs font-semibold tracking-[0.24em] text-black/60", children: "TOTALS" }), _jsx("div", { className: "text-xs text-black/40", children: "read\u2011only" })] }), _jsx("div", { className: "mt-3 overflow-hidden rounded-lg border border-black/10", children: _jsxs("table", { className: "w-full border-collapse", children: [_jsx("thead", { className: "bg-[#efe8da] text-[#14120f]", children: _jsxs("tr", { children: [_jsx("th", { className: "border-b border-black/10 px-4 py-3 text-left text-xs font-semibold tracking-wide text-black/70", children: "Total Fiat" }), _jsx("th", { className: "border-b border-black/10 px-4 py-3 text-left text-xs font-semibold tracking-wide text-black/70", children: "Total POWT" })] }) }), _jsx("tbody", { className: "bg-[#fbf8f1]", children: _jsxs("tr", { children: [_jsx("td", { className: "border-t border-black/10 px-4 py-4 font-mono text-sm tabular-nums text-black/90", children: formatNumber(state.totalCash) }), _jsx("td", { className: "border-t border-black/10 px-4 py-4 font-mono text-sm tabular-nums text-black/90", children: formatNumber(state.totalPowt) })] }) })] }) }), _jsx("div", { className: "mt-3 text-xs text-black/50", children: "Totals update from line items." })] })] })] })] }), _jsx("div", { className: "mt-6 text-center text-xs text-black/40", children: "This view is a styled editor shell \u2014 your document operations remain unchanged." })] }) })] }));
37
+ return (_jsxs("div", { className: "min-h-screen w-full bg-gradient-to-br from-slate-50 via-blue-50/30 to-slate-50", children: [_jsx(DocumentToolbar, { document: doc, onClose: handleClose }), _jsx("div", { className: "w-full", children: _jsx("div", { className: "mx-auto w-full max-w-6xl px-4 py-10 sm:px-6 lg:px-8", children: _jsxs("div", { className: "overflow-hidden rounded-3xl border border-slate-200/60 bg-white shadow-[0_8px_30px_rgb(0,0,0,0.04)]", children: [_jsx("div", { className: "border-b border-slate-100 bg-gradient-to-r from-slate-50 to-blue-50/50 px-8 py-6", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { children: _jsx("h1", { className: "text-3xl font-light tracking-tight text-slate-800", children: "Billing Statement" }) }), _jsxs("div", { className: "flex items-center gap-10", children: [_jsxs("div", { className: "flex flex-col items-end gap-1.5", children: [_jsx("div", { className: "text-[11px] font-medium uppercase tracking-wider text-slate-400", children: "Submitter" }), _jsx("div", { className: "text-sm font-medium text-slate-700", children: state.contributor })] }), _jsxs("div", { className: "flex flex-col items-end gap-1.5", children: [_jsx("div", { className: "text-[11px] font-medium uppercase tracking-wider text-slate-400", children: "Status" }), _jsx("span", { className: "inline-flex items-center rounded-full bg-blue-50 px-3 py-1 text-xs font-medium text-blue-700", children: String(state.status || "—") })] })] })] }) }), _jsxs("div", { className: "px-8 py-8", children: [_jsxs("div", { className: "flex items-center justify-between rounded-2xl border border-slate-100 bg-slate-50/50 px-5 py-4", children: [_jsx("div", { className: "text-sm text-slate-500", children: "Keep edits lightweight: double\u2011click a row to edit, click outside to auto\u2011save." }), _jsxs("div", { className: "flex items-center gap-4", children: [_jsx("span", { className: "text-[11px] font-medium uppercase tracking-wider text-slate-400", children: "Currency" }), _jsx("div", { className: "rounded-xl border border-slate-200 bg-white px-3 py-2 shadow-sm", children: _jsx(Select, { className: "w-28", options: currencyList.map((currency) => ({
38
+ value: currency.ticker,
39
+ label: currency.ticker,
40
+ })), value: state.currency, onChange: (value) => {
41
+ dispatch(actions.editBillingStatement({
42
+ currency: value,
43
+ }));
44
+ } }) })] })] }), _jsx("div", { className: "mt-6", children: _jsx(LineItemsTable, { state: state, dispatch: dispatch }) }), _jsxs("div", { className: "mt-8 grid gap-6 lg:grid-cols-2", children: [_jsxs("div", { className: "rounded-2xl border border-slate-100 bg-white p-5 shadow-sm", children: [_jsx(Textarea, { label: "Notes", placeholder: "Add notes", autoExpand: true, rows: 4, multiline: true, value: notes, onBlur: (e) => {
45
+ const newValue = e.target.value;
46
+ if (newValue !== state.notes) {
47
+ dispatch(actions.editBillingStatement({ notes: newValue }));
48
+ }
49
+ }, onChange: (e) => {
50
+ setNotes(e.target.value);
51
+ }, className: "p-2" }), _jsx("div", { className: "mt-3 text-xs text-slate-400", children: "Tip: notes are saved by clicking outside of the textarea or pressing tab." })] }), _jsxs("div", { className: "rounded-2xl border border-slate-100 bg-white p-5 shadow-sm", children: [_jsxs("div", { className: "flex items-baseline justify-between", children: [_jsx("div", { className: "text-[11px] font-medium uppercase tracking-wider text-slate-400", children: "Totals" }), _jsx("div", { className: "text-xs text-slate-300", children: "read\u2011only" })] }), _jsx("div", { className: "mt-4 overflow-hidden rounded-xl border border-slate-100", children: _jsxs("table", { className: "w-full border-collapse", children: [_jsx("thead", { className: "bg-gradient-to-r from-slate-50 to-blue-50/30", children: _jsxs("tr", { children: [_jsx("th", { className: "border-b border-slate-100 px-5 py-3.5 text-left text-xs font-medium uppercase tracking-wide text-slate-500", children: "Total Fiat" }), _jsx("th", { className: "border-b border-slate-100 px-5 py-3.5 text-left text-xs font-medium uppercase tracking-wide text-slate-500", children: "Total POWT" })] }) }), _jsx("tbody", { className: "bg-white", children: _jsxs("tr", { children: [_jsx("td", { className: "border-t border-slate-50 px-5 py-4 font-mono text-base tabular-nums text-slate-700", children: formatNumber(state.totalCash) }), _jsx("td", { className: "border-t border-slate-50 px-5 py-4 font-mono text-base tabular-nums text-slate-700", children: formatNumber(state.totalPowt) })] }) })] }) }), _jsx("div", { className: "mt-3 text-xs text-slate-400", children: "Totals update from line items." })] })] })] })] }) }) })] }));
53
52
  }
@@ -19,12 +19,12 @@ export function LineItemTagsTable({ lineItems, onClose, dispatch, }) {
19
19
  });
20
20
  });
21
21
  };
22
- return (_jsx("div", { className: "min-h-screen w-full bg-white text-[#14120f]", children: _jsx("div", { className: "mx-auto w-full max-w-6xl px-4 py-10 sm:px-6 lg:px-8", children: _jsxs("div", { className: "overflow-hidden rounded-2xl border border-black/10 bg-white text-[#14120f] shadow-[0_18px_50px_rgba(15,23,42,0.10)]", children: [_jsxs("div", { className: "flex flex-col gap-4 border-b border-black/10 bg-[#efe8da] px-6 py-5 text-[#14120f] sm:flex-row sm:items-center sm:justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "grid h-10 w-10 place-items-center rounded-xl border border-black/10 bg-white", children: _jsx(Tag, { className: "h-5 w-5 text-black/70" }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] font-semibold tracking-[0.22em] text-black/60", children: "TAG EDITOR" }), _jsx("h2", { className: "font-serif text-xl tracking-tight", children: "Assign tags to line items" })] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { color: "light", size: "small", onClick: handleReset, children: "Reset" }), _jsx("button", { type: "button", onClick: onClose, className: "inline-flex items-center justify-center rounded-full border border-black/15 bg-black/5 p-2 text-black/70 transition hover:bg-black/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-black/20 focus-visible:ring-offset-2 focus-visible:ring-offset-[#efe8da]", "aria-label": "Close tag editor", children: _jsx(X, { className: "h-5 w-5" }) })] })] }), _jsxs("div", { className: "p-6", children: [_jsx("div", { className: "overflow-hidden rounded-xl border border-black/10 bg-white shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]", children: _jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full border-collapse", children: [_jsx("thead", { className: "bg-[#efe8da] text-[#14120f]", children: _jsxs("tr", { children: [_jsx("th", { className: "border-b border-black/10 px-3 py-3 text-left text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "ITEM" }), _jsx("th", { className: "border-b border-black/10 px-3 py-3 text-left text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "PERIOD" }), _jsx("th", { className: "border-b border-black/10 px-3 py-3 text-left text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "EXPENSE ACCOUNT" }), _jsx("th", { className: "border-b border-black/10 px-3 py-3 text-left text-[11px] font-semibold tracking-[0.20em] text-black/70", children: "BUDGET" })] }) }), _jsx("tbody", { className: "text-sm text-black/90", children: lineItems.map((item) => (_jsxs("tr", { className: "odd:bg-[#fbf8f1] even:bg-white hover:bg-[#fff3cf]/60", children: [_jsx("td", { className: "border-b border-gray-200 p-2", children: _jsx(InputField, { value: item.description, handleInputChange: (e) => { }, onBlur: (e) => {
22
+ return (_jsx("div", { className: "min-h-screen w-full bg-gradient-to-br from-slate-50 via-blue-50/30 to-slate-50 text-slate-800", children: _jsx("div", { className: "mx-auto w-full max-w-6xl px-4 py-10 sm:px-6 lg:px-8", children: _jsxs("div", { className: "overflow-hidden rounded-2xl border border-slate-200/60 bg-white text-slate-800 shadow-[0_18px_50px_rgba(15,23,42,0.10)]", children: [_jsxs("div", { className: "flex flex-col gap-4 border-b border-slate-200/60 bg-gradient-to-r from-slate-50 to-blue-50/50 px-6 py-5 text-slate-800 sm:flex-row sm:items-center sm:justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "grid h-10 w-10 place-items-center rounded-xl border border-slate-200/60 bg-white", children: _jsx(Tag, { className: "h-5 w-5 text-slate-600" }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] font-medium tracking-[0.22em] text-slate-500", children: "TAG EDITOR" }), _jsx("h2", { className: "text-xl font-medium tracking-tight", children: "Assign tags to line items" })] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { color: "light", size: "small", onClick: handleReset, children: "Reset" }), _jsx("button", { type: "button", onClick: onClose, className: "inline-flex items-center justify-center rounded-full border border-slate-300/60 bg-slate-100/50 p-2 text-slate-600 transition hover:bg-slate-200/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-50", "aria-label": "Close tag editor", children: _jsx(X, { className: "h-5 w-5" }) })] })] }), _jsxs("div", { className: "p-6", children: [_jsx("div", { className: "overflow-hidden rounded-xl border border-slate-200/60 bg-white shadow-[inset_0_1px_0_rgba(255,255,255,0.9)]", children: _jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full border-collapse", children: [_jsx("thead", { className: "bg-gradient-to-r from-slate-50 to-blue-50/30 text-slate-800", children: _jsxs("tr", { children: [_jsx("th", { className: "border-b border-slate-200/60 px-3 py-3 text-left text-[11px] font-medium tracking-[0.20em] text-slate-600", children: "ITEM" }), _jsx("th", { className: "border-b border-slate-200/60 px-3 py-3 text-left text-[11px] font-medium tracking-[0.20em] text-slate-600", children: "PERIOD" }), _jsx("th", { className: "border-b border-slate-200/60 px-3 py-3 text-left text-[11px] font-medium tracking-[0.20em] text-slate-600", children: "EXPENSE ACCOUNT" }), _jsx("th", { className: "border-b border-slate-200/60 px-3 py-3 text-left text-[11px] font-medium tracking-[0.20em] text-slate-600", children: "BUDGET" })] }) }), _jsx("tbody", { className: "text-sm text-slate-700", children: lineItems.map((item) => (_jsxs("tr", { className: "odd:bg-slate-50/30 even:bg-white hover:bg-blue-50/30", children: [_jsx("td", { className: "border-b border-slate-200/60 p-2", children: _jsx(InputField, { value: item.description, handleInputChange: (e) => { }, onBlur: (e) => {
23
23
  dispatch(actions.editLineItem({
24
24
  id: item.id,
25
25
  description: e.target.value,
26
26
  }));
27
- }, className: "w-full text-xs" }) }), _jsx("td", { className: "border-b border-gray-200 p-2 w-50", children: _jsx(DatePicker, { name: "period", dateFormat: "YYYY-MM-DD", autoClose: true, placeholder: "Select Period", value: item.lineItemTag.find((tag) => tag.dimension === "accounting-period")?.label || "", onChange: (e) => dispatch(actions.editLineItemTag({
27
+ }, className: "w-full text-xs" }) }), _jsx("td", { className: "border-b border-slate-200/60 p-2 w-50", children: _jsx(DatePicker, { name: "period", dateFormat: "YYYY-MM-DD", autoClose: true, placeholder: "Select Period", value: item.lineItemTag.find((tag) => tag.dimension === "accounting-period")?.label || "", onChange: (e) => dispatch(actions.editLineItemTag({
28
28
  lineItemId: item.id,
29
29
  dimension: "accounting-period",
30
30
  value: new Date(e.target.value)
@@ -39,7 +39,7 @@ export function LineItemTagsTable({ lineItems, onClose, dispatch, }) {
39
39
  month: "long",
40
40
  year: "numeric",
41
41
  }),
42
- })), className: "w-full text-xs bg-white" }) }), _jsx("td", { className: "border-b border-gray-200 p-2", children: _jsx(Select, { options: expenseAccountOptions, value: item.lineItemTag.find((tag) => tag.dimension === "expense-account")?.value || "", placeholder: "Select Expense Account", searchable: true, onChange: (value) => {
42
+ })), className: "w-full text-xs bg-white" }) }), _jsx("td", { className: "border-b border-slate-200/60 p-2", children: _jsx(Select, { options: expenseAccountOptions, value: item.lineItemTag.find((tag) => tag.dimension === "expense-account")?.value || "", placeholder: "Select Expense Account", searchable: true, onChange: (value) => {
43
43
  const selectedOption = expenseAccountOptions.find((option) => option.value === value);
44
44
  dispatch(actions.editLineItemTag({
45
45
  lineItemId: item.id,
@@ -47,12 +47,12 @@ export function LineItemTagsTable({ lineItems, onClose, dispatch, }) {
47
47
  value: selectedOption?.value || "",
48
48
  label: selectedOption?.label,
49
49
  }));
50
- }, className: "w-full text-xs" }) }), _jsx("td", { className: "border-b border-gray-200 p-2", children: _jsx(Select, { options: budgetOptions, value: item.lineItemTag.find((tag) => tag.dimension === "budget")?.value || "", placeholder: "Select Budget", onChange: (value) => {
50
+ }, className: "w-full text-xs" }) }), _jsx("td", { className: "border-b border-slate-200/60 p-2", children: _jsx(Select, { options: budgetOptions, value: item.lineItemTag.find((tag) => tag.dimension === "budget")?.value || "", placeholder: "Select Budget", onChange: (value) => {
51
51
  dispatch(actions.editLineItemTag({
52
52
  lineItemId: item.id,
53
53
  dimension: "budget",
54
54
  value: value,
55
55
  label: budgetOptions.find((option) => option.value === value)?.label,
56
56
  }));
57
- } }) })] }, item.id))) })] }) }) }), _jsx("div", { className: "mt-4 text-xs text-black/50", children: "Changes persist as you blur fields/selects." })] })] }) }) }));
57
+ } }) })] }, item.id))) })] }) }) }), _jsx("div", { className: "mt-4 text-xs text-slate-400", children: "Changes persist as you blur fields/selects." })] })] }) }) }));
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResourcesServices.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/ResourcesServices.tsx"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,wBAAgB,iBAAiB,4CA6PhC"}
1
+ {"version":3,"file":"ResourcesServices.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/ResourcesServices.tsx"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,wBAAgB,iBAAiB,4CAgQhC"}
@@ -72,5 +72,7 @@ export function ResourcesServices() {
72
72
  const hasFolders = folderNodes.length > 0;
73
73
  const hasFiles = fileNodes.length > 0;
74
74
  const isEmpty = !hasFolders && !hasFiles;
75
- return (_jsxs("div", { children: [_jsx("div", { className: "text-2xl font-bold text-center mb-4", children: currentFolderName }), _jsxs("div", { className: "space-y-6 px-6", children: [_jsxs("div", { className: "flex h-9 flex-row items-center gap-2 text-gray-500 border-b border-gray-200 pb-3", children: [_jsx("div", { className: "transition-colors hover:text-gray-800 cursor-pointer", onClick: () => setSelectedNode(""), role: "button", children: "Resources & Services" }), _jsx("span", { children: "/" }), _jsx("div", { className: "text-gray-800", children: currentFolderName }), _jsx("span", { children: "/" }), isAllowedToCreateDocuments && (_jsxs("button", { type: "button", className: "ml-1 flex items-center justify-center gap-2 rounded-md bg-gray-50 px-2 py-1.5 transition-colors hover:bg-gray-200 hover:text-gray-800", onClick: () => showCreateDocumentModal(documentType), children: [_jsx(Plus, { size: 14 }), "Add new"] }))] }), hasFolders && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-bold text-gray-600", children: "Folders" }), _jsx("div", { className: "flex flex-wrap gap-4", children: folderNodes.map((folderNode) => (_jsx(FolderItem, { folderNode: folderNode }, folderNode.id))) })] })), hasFiles && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-semibold text-gray-600", children: "Documents" }), _jsx("div", { className: "flex flex-wrap gap-4", children: fileNodes.map((fileNode) => (_jsx(FileItem, { fileNode: fileNode }, fileNode.id))) })] })), isEmpty && (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx("div", { className: "text-gray-400 mb-2", children: isInResourceTemplates ? (_jsx(FileText, { className: "w-16 h-16 mx-auto" })) : (_jsx(Package, { className: "w-16 h-16 mx-auto" })) }), _jsxs("p", { className: "text-gray-500 text-sm", children: ["No ", currentFolderName.toLowerCase(), " yet.", isAllowedToCreateDocuments && (_jsxs(_Fragment, { children: [" ", "Click \"Add new\" to create your first", " ", isInResourceTemplates ? "resource template" : "service offering", "."] }))] })] }))] })] }));
75
+ return (_jsxs("div", { children: [_jsx("div", { className: "text-2xl font-bold text-center mb-4", children: currentFolderName }), _jsxs("div", { className: "space-y-6 px-6", children: [_jsxs("div", { className: "flex h-9 flex-row items-center gap-2 text-gray-500 border-b border-gray-200 pb-3", children: [_jsx("div", { className: "transition-colors hover:text-gray-800 cursor-pointer", onClick: () => setSelectedNode(""), role: "button", children: "Resources & Services" }), _jsx("span", { children: "/" }), _jsx("div", { className: "text-gray-800", children: currentFolderName }), _jsx("span", { children: "/" }), isAllowedToCreateDocuments && (_jsxs("button", { type: "button", className: "ml-1 flex items-center justify-center gap-2 rounded-md bg-gray-50 px-2 py-1.5 transition-colors hover:bg-gray-200 hover:text-gray-800", onClick: () => showCreateDocumentModal(documentType), children: [_jsx(Plus, { size: 14 }), "Add new"] }))] }), hasFolders && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-bold text-gray-600", children: "Folders" }), _jsx("div", { className: "flex flex-wrap gap-4", children: folderNodes.map((folderNode) => (_jsx(FolderItem, { folderNode: folderNode }, folderNode.id))) })] })), hasFiles && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-semibold text-gray-600", children: "Documents" }), _jsx("div", { className: "flex flex-wrap gap-4", children: fileNodes.map((fileNode) => (_jsx(FileItem, { fileNode: fileNode }, fileNode.id))) })] })), isEmpty && (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx("div", { className: "text-gray-400 mb-2", children: isInResourceTemplates ? (_jsx(FileText, { className: "w-16 h-16 mx-auto" })) : (_jsx(Package, { className: "w-16 h-16 mx-auto" })) }), _jsxs("p", { className: "text-gray-500 text-sm", children: ["No ", currentFolderName.toLowerCase(), " yet.", isAllowedToCreateDocuments && (_jsxs(_Fragment, { children: [" ", "Click \"Add new\" to create your first", " ", isInResourceTemplates
76
+ ? "resource template"
77
+ : "service offering", "."] }))] })] }))] })] }));
76
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TeamMembersOverview.d.ts","sourceRoot":"","sources":["../../../../../editors/builder-team-admin/components/overview/TeamMembersOverview.tsx"],"names":[],"mappings":"AAYA,KAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC,CAAC;AAIF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,GACb,EAAE,wBAAwB,2CAsH1B"}
1
+ {"version":3,"file":"TeamMembersOverview.d.ts","sourceRoot":"","sources":["../../../../../editors/builder-team-admin/components/overview/TeamMembersOverview.tsx"],"names":[],"mappings":"AAaA,KAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC,CAAC;AAIF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,GACb,EAAE,wBAAwB,2CA4I1B"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useMemo, useCallback, useState } from "react";
2
+ import { useMemo, useCallback, useState, useEffect } from "react";
3
3
  import { useDrives, useGetDocuments } from "@powerhousedao/reactor-browser";
4
4
  import { useRemoteBuilderProfiles } from "../../hooks/useRemoteBuilderProfiles.js";
5
5
  const MAX_VISIBLE_MEMBERS = 6;
@@ -27,13 +27,30 @@ export function TeamMembersOverview({ contributors, }) {
27
27
  const builderPhids = useMemo(() => {
28
28
  return builderProfileNodesWithDriveId.map(({ node }) => node.id);
29
29
  }, [builderProfileNodesWithDriveId]);
30
+ // Get the document fetcher function
31
+ const getDocuments = useGetDocuments();
32
+ // State to hold fetched builder profile documents
33
+ const [builderProfileDocuments, setBuilderProfileDocuments] = useState([]);
30
34
  // Fetch all builder profile documents from all drives
31
- const builderProfileDocuments = useGetDocuments(builderPhids);
35
+ useEffect(() => {
36
+ if (builderPhids.length === 0) {
37
+ setBuilderProfileDocuments([]);
38
+ return;
39
+ }
40
+ getDocuments(builderPhids)
41
+ .then((docs) => {
42
+ setBuilderProfileDocuments(docs);
43
+ })
44
+ .catch((error) => {
45
+ console.error("Failed to fetch builder profile documents:", error);
46
+ setBuilderProfileDocuments([]);
47
+ });
48
+ }, [builderPhids, getDocuments]);
32
49
  // Create a map of PHID to document for quick lookup (local drives)
33
50
  const localBuilderProfileMap = useMemo(() => {
34
51
  const map = new Map();
35
52
  for (const doc of builderProfileDocuments) {
36
- if (doc.header.documentType === "powerhouse/builder-profile") {
53
+ if (doc?.header?.documentType === "powerhouse/builder-profile") {
37
54
  map.set(doc.header.id, doc);
38
55
  }
39
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"team-members.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/team-members.tsx"],"names":[],"mappings":"AAmKA,wBAAgB,mBAAmB,CAAC,EAAE,IAAA,2CA0TrC"}
1
+ {"version":3,"file":"team-members.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/team-members.tsx"],"names":[],"mappings":"AAoKA,wBAAgB,mBAAmB,CAAC,EAAE,IAAA,2CA+UrC"}
@@ -117,18 +117,33 @@ export function ContributorsSection({}) {
117
117
  const builderPhids = useMemo(() => {
118
118
  return builderProfileNodesWithDriveId.map(({ node }) => node.id);
119
119
  }, [builderProfileNodesWithDriveId]);
120
+ // Get the document fetcher function
121
+ const getDocuments = useGetDocuments();
122
+ // State to hold fetched builder profile documents
123
+ const [builderProfileDocuments, setBuilderProfileDocuments] = useState([]);
120
124
  // Fetch all builder profile documents from all drives
121
- const builderProfileDocuments = useGetDocuments(builderPhids);
125
+ useEffect(() => {
126
+ if (builderPhids.length === 0) {
127
+ setBuilderProfileDocuments([]);
128
+ return;
129
+ }
130
+ getDocuments(builderPhids)
131
+ .then((docs) => {
132
+ setBuilderProfileDocuments(docs);
133
+ })
134
+ .catch((error) => {
135
+ console.error("Failed to fetch builder profile documents:", error);
136
+ setBuilderProfileDocuments([]);
137
+ });
138
+ }, [builderPhids, getDocuments]);
122
139
  // Create a map of PHID to document for quick lookup (local drives)
123
140
  const localBuilderProfileMap = useMemo(() => {
124
141
  const map = new Map();
125
- if (!builderProfileDocuments)
126
- return map;
127
- builderProfileDocuments.forEach((doc) => {
142
+ for (const doc of builderProfileDocuments) {
128
143
  if (doc.header.documentType === "powerhouse/builder-profile") {
129
144
  map.set(doc.header.id, doc);
130
145
  }
131
- });
146
+ }
132
147
  return map;
133
148
  }, [builderProfileDocuments]);
134
149
  // Fetch remote profiles as fallback for contributors not found locally
@@ -1 +1 @@
1
- {"version":3,"file":"useExpenseReportAutoPlacement.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/hooks/useExpenseReportAutoPlacement.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAIlG,UAAU,mCAAmC;IAC3C,uEAAuE;IACvE,oBAAoB,EAAE,UAAU,GAAG,IAAI,CAAC;IACxC,iEAAiE;IACjE,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,qEAAqE;IACrE,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,IAAI,mCAAmC,CAwNnF"}
1
+ {"version":3,"file":"useExpenseReportAutoPlacement.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/hooks/useExpenseReportAutoPlacement.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAYlG,UAAU,mCAAmC;IAC3C,uEAAuE;IACvE,oBAAoB,EAAE,UAAU,GAAG,IAAI,CAAC;IACxC,iEAAiE;IACjE,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,qEAAqE;IACrE,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,IAAI,mCAAmC,CA4OnF"}
@@ -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 EXPENSE_REPORTS_FOLDER_NAME = "Expense 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
+ createdExpenseReportsFolderForDrives: 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 expense report documents into the
6
13
  * "Expense Reports" folder, organized by year based on periodStart.
@@ -17,9 +24,14 @@ export function useExpenseReportAutoPlacement() {
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 "Expense Reports" folder in the drive
24
36
  const expenseReportsFolder = useMemo(() => {
25
37
  if (!driveDocument)
@@ -67,12 +79,13 @@ export function useExpenseReportAutoPlacement() {
67
79
  }, [documentsInDrive, driveDocument, expenseReportsFolderNodeIds]);
68
80
  // Create folder if it doesn't exist
69
81
  useEffect(() => {
70
- if (!driveDocument || expenseReportsFolder || hasCreatedFolder.current)
82
+ if (!driveId || expenseReportsFolder)
71
83
  return;
72
- hasCreatedFolder.current = true;
73
- const driveId = driveDocument.header.id;
84
+ if (globalCreationState.createdExpenseReportsFolderForDrives.has(driveId))
85
+ return;
86
+ globalCreationState.createdExpenseReportsFolderForDrives.add(driveId);
74
87
  void addFolder(driveId, EXPENSE_REPORTS_FOLDER_NAME);
75
- }, [driveDocument, expenseReportsFolder]);
88
+ }, [driveId, expenseReportsFolder]);
76
89
  // Get year folders that exist directly under the Expense Reports folder
77
90
  const yearFolders = useMemo(() => {
78
91
  if (!driveDocument || !expenseReportsFolder)
@@ -91,10 +104,13 @@ export function useExpenseReportAutoPlacement() {
91
104
  // Auto-place expense reports into year folders based on periodStart
92
105
  // This monitors ALL expense reports in the drive, not just those in the Expense Reports folder
93
106
  useEffect(() => {
94
- if (!driveDocument || !expenseReportsFolder || !documentsInDrive)
107
+ if (!driveId || !expenseReportsFolder || !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 expense report file nodes that are NOT inside the Expense Reports folder tree
99
115
  // These need to be moved into the proper location
100
116
  const expenseReportNodesOutsideFolder = allNodes.filter((node) => isFileNodeKind(node) &&
@@ -113,7 +129,7 @@ export function useExpenseReportAutoPlacement() {
113
129
  // Process each expense 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 periodStart
119
135
  const doc = documentsInDrive.find((d) => d.header.documentType === "powerhouse/expense-report" &&
@@ -124,12 +140,12 @@ export function useExpenseReportAutoPlacement() {
124
140
  if (!periodStart) {
125
141
  // No period defined - move to root of Expense 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 Expense Reports folder
129
145
  if (!expenseReportsFolderNodeIds.has(fileNode.id)) {
130
146
  onMoveNode(fileNode, expenseReportsFolder).catch((error) => {
131
147
  console.error(`Failed to move expense report to Expense 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 useExpenseReportAutoPlacement() {
137
153
  // Extract year from periodStart
138
154
  const year = new Date(periodStart).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 useExpenseReportAutoPlacement() {
145
161
  onMoveNode(fileNode, existingYearFolder).catch((error) => {
146
162
  console.error(`Failed to move expense 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, expenseReportsFolder.id)
154
177
  .then((newFolder) => {
@@ -160,11 +183,16 @@ export function useExpenseReportAutoPlacement() {
160
183
  .catch((error) => {
161
184
  console.error(`Failed to create ${year} folder or move expense 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
  expenseReportsFolder,
170
198
  documentsInDrive,
@@ -1 +1 @@
1
- {"version":3,"file":"useSnapshotReportAutoPlacement.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/hooks/useSnapshotReportAutoPlacement.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAIpG,UAAU,oCAAoC;IAC5C,wEAAwE;IACxE,qBAAqB,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,kEAAkE;IAClE,4BAA4B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,uEAAuE;IACvE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;CACnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,IAAI,oCAAoC,CA0NrF"}
1
+ {"version":3,"file":"useSnapshotReportAutoPlacement.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/hooks/useSnapshotReportAutoPlacement.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAYpG,UAAU,oCAAoC;IAC5C,wEAAwE;IACxE,qBAAqB,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,kEAAkE;IAClE,4BAA4B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,uEAAuE;IACvE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;CACnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,IAAI,oCAAoC,CA8OrF"}