@powerhousedao/network-admin 0.0.64 → 1.0.0-dev.2

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 (481) hide show
  1. package/dist/document-models/document-models.d.ts.map +1 -1
  2. package/dist/document-models/document-models.js +0 -2
  3. package/dist/document-models/index.d.ts +0 -1
  4. package/dist/document-models/index.d.ts.map +1 -1
  5. package/dist/document-models/index.js +0 -1
  6. package/dist/document-models/network-profile/gen/document-model.d.ts.map +1 -1
  7. package/dist/document-models/network-profile/gen/document-model.js +84 -84
  8. package/dist/document-models/network-profile/gen/ph-factories.d.ts.map +1 -1
  9. package/dist/document-models/network-profile/gen/ph-factories.js +0 -2
  10. package/dist/document-models/network-profile/gen/reducer.d.ts +0 -1
  11. package/dist/document-models/network-profile/gen/reducer.d.ts.map +1 -1
  12. package/dist/document-models/network-profile/gen/schema/types.d.ts +2 -6
  13. package/dist/document-models/network-profile/gen/schema/types.d.ts.map +1 -1
  14. package/dist/document-models/network-profile/gen/schema/zod.d.ts +2 -8
  15. package/dist/document-models/network-profile/gen/schema/zod.d.ts.map +1 -1
  16. package/dist/document-models/network-profile/gen/schema/zod.js +2 -6
  17. package/dist/document-models/network-profile/gen/utils.d.ts.map +1 -1
  18. package/dist/document-models/network-profile/gen/utils.js +1 -3
  19. package/dist/document-models/network-profile/hooks.d.ts +2 -2
  20. package/dist/document-models/network-profile/hooks.d.ts.map +1 -1
  21. package/dist/document-models/network-profile/module.d.ts +1 -1
  22. package/dist/document-models/network-profile/module.d.ts.map +1 -1
  23. package/dist/document-models/network-profile/module.js +1 -1
  24. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts +1 -0
  25. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts.map +1 -1
  26. package/dist/document-models/network-profile/src/reducers/network-profile-management.js +18 -27
  27. package/dist/document-models/network-profile/src/tests/document-model.test.d.ts +0 -4
  28. package/dist/document-models/network-profile/src/tests/document-model.test.d.ts.map +1 -1
  29. package/dist/document-models/network-profile/src/tests/document-model.test.js +6 -92
  30. package/dist/document-models/network-profile/src/tests/network-profile-management.test.js +115 -69
  31. package/dist/document-models/payment-terms/actions.d.ts +2 -1
  32. package/dist/document-models/payment-terms/actions.d.ts.map +1 -1
  33. package/dist/document-models/payment-terms/gen/clauses/error.d.ts +40 -1
  34. package/dist/document-models/payment-terms/gen/clauses/error.d.ts.map +1 -1
  35. package/dist/document-models/payment-terms/gen/clauses/error.js +32 -1
  36. package/dist/document-models/payment-terms/gen/document-model.d.ts.map +1 -1
  37. package/dist/document-models/payment-terms/gen/document-model.js +180 -89
  38. package/dist/document-models/payment-terms/gen/milestones/error.d.ts +26 -1
  39. package/dist/document-models/payment-terms/gen/milestones/error.d.ts.map +1 -1
  40. package/dist/document-models/payment-terms/gen/milestones/error.js +18 -1
  41. package/dist/document-models/payment-terms/gen/ph-factories.d.ts.map +1 -1
  42. package/dist/document-models/payment-terms/gen/ph-factories.js +2 -1
  43. package/dist/document-models/payment-terms/gen/reducer.d.ts +0 -1
  44. package/dist/document-models/payment-terms/gen/reducer.d.ts.map +1 -1
  45. package/dist/document-models/payment-terms/gen/reducer.js +9 -4
  46. package/dist/document-models/payment-terms/gen/schema/types.d.ts +29 -14
  47. package/dist/document-models/payment-terms/gen/schema/types.d.ts.map +1 -1
  48. package/dist/document-models/payment-terms/gen/schema/zod.d.ts +12 -36
  49. package/dist/document-models/payment-terms/gen/schema/zod.d.ts.map +1 -1
  50. package/dist/document-models/payment-terms/gen/schema/zod.js +55 -29
  51. package/dist/document-models/payment-terms/gen/terms/actions.d.ts +9 -5
  52. package/dist/document-models/payment-terms/gen/terms/actions.d.ts.map +1 -1
  53. package/dist/document-models/payment-terms/gen/terms/creators.d.ts +4 -3
  54. package/dist/document-models/payment-terms/gen/terms/creators.d.ts.map +1 -1
  55. package/dist/document-models/payment-terms/gen/terms/creators.js +3 -2
  56. package/dist/document-models/payment-terms/gen/terms/operations.d.ts +3 -2
  57. package/dist/document-models/payment-terms/gen/terms/operations.d.ts.map +1 -1
  58. package/dist/document-models/payment-terms/gen/utils.d.ts.map +1 -1
  59. package/dist/document-models/payment-terms/gen/utils.js +3 -2
  60. package/dist/document-models/payment-terms/hooks.d.ts +2 -2
  61. package/dist/document-models/payment-terms/hooks.d.ts.map +1 -1
  62. package/dist/document-models/payment-terms/module.d.ts +1 -1
  63. package/dist/document-models/payment-terms/module.d.ts.map +1 -1
  64. package/dist/document-models/payment-terms/module.js +1 -1
  65. package/dist/document-models/payment-terms/src/reducers/clauses.d.ts +1 -0
  66. package/dist/document-models/payment-terms/src/reducers/clauses.d.ts.map +1 -1
  67. package/dist/document-models/payment-terms/src/reducers/clauses.js +15 -13
  68. package/dist/document-models/payment-terms/src/reducers/milestones.d.ts +1 -0
  69. package/dist/document-models/payment-terms/src/reducers/milestones.d.ts.map +1 -1
  70. package/dist/document-models/payment-terms/src/reducers/milestones.js +12 -10
  71. package/dist/document-models/payment-terms/src/reducers/terms.d.ts +1 -0
  72. package/dist/document-models/payment-terms/src/reducers/terms.d.ts.map +1 -1
  73. package/dist/document-models/payment-terms/src/reducers/terms.js +24 -14
  74. package/dist/document-models/payment-terms/src/tests/clauses.test.js +21 -26
  75. package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts +0 -4
  76. package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts.map +1 -1
  77. package/dist/document-models/payment-terms/src/tests/document-model.test.js +6 -92
  78. package/dist/document-models/payment-terms/src/tests/milestones.test.js +19 -22
  79. package/dist/document-models/payment-terms/src/tests/terms.test.js +29 -24
  80. package/dist/document-models/payment-terms/tests/terms.test.js +15 -5
  81. package/dist/document-models/request-for-proposals/gen/document-model.js +4 -4
  82. package/dist/document-models/request-for-proposals/gen/ph-factories.d.ts.map +1 -1
  83. package/dist/document-models/request-for-proposals/gen/ph-factories.js +4 -6
  84. package/dist/document-models/request-for-proposals/gen/reducer.d.ts +0 -1
  85. package/dist/document-models/request-for-proposals/gen/reducer.d.ts.map +1 -1
  86. package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts +9 -64
  87. package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts.map +1 -1
  88. package/dist/document-models/request-for-proposals/gen/utils.d.ts.map +1 -1
  89. package/dist/document-models/request-for-proposals/gen/utils.js +5 -7
  90. package/dist/document-models/request-for-proposals/hooks.d.ts +2 -2
  91. package/dist/document-models/request-for-proposals/hooks.d.ts.map +1 -1
  92. package/dist/document-models/request-for-proposals/module.d.ts +1 -1
  93. package/dist/document-models/request-for-proposals/module.d.ts.map +1 -1
  94. package/dist/document-models/request-for-proposals/module.js +1 -1
  95. package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts +1 -0
  96. package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts.map +1 -1
  97. package/dist/document-models/request-for-proposals/src/reducers/contex-document.js +4 -3
  98. package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts +1 -0
  99. package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts.map +1 -1
  100. package/dist/document-models/request-for-proposals/src/reducers/proposals.js +5 -4
  101. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts +1 -0
  102. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts.map +1 -1
  103. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.js +3 -2
  104. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts +1 -2
  105. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts.map +1 -1
  106. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.js +181 -24
  107. package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts +0 -4
  108. package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts.map +1 -1
  109. package/dist/document-models/request-for-proposals/src/tests/document-model.test.js +6 -92
  110. package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts +1 -2
  111. package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts.map +1 -1
  112. package/dist/document-models/request-for-proposals/src/tests/proposals.test.js +327 -33
  113. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts +1 -2
  114. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts.map +1 -1
  115. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.js +240 -15
  116. package/dist/document-models/workstream/gen/document-model.d.ts.map +1 -1
  117. package/dist/document-models/workstream/gen/document-model.js +16 -16
  118. package/dist/document-models/workstream/gen/reducer.d.ts +0 -1
  119. package/dist/document-models/workstream/gen/reducer.d.ts.map +1 -1
  120. package/dist/document-models/workstream/gen/schema/types.d.ts +1 -1
  121. package/dist/document-models/workstream/gen/schema/types.d.ts.map +1 -1
  122. package/dist/document-models/workstream/gen/schema/zod.d.ts +5 -35
  123. package/dist/document-models/workstream/gen/schema/zod.d.ts.map +1 -1
  124. package/dist/document-models/workstream/gen/utils.js +1 -1
  125. package/dist/document-models/workstream/hooks.d.ts +2 -2
  126. package/dist/document-models/workstream/hooks.d.ts.map +1 -1
  127. package/dist/document-models/workstream/module.d.ts +1 -1
  128. package/dist/document-models/workstream/module.d.ts.map +1 -1
  129. package/dist/document-models/workstream/module.js +1 -1
  130. package/dist/document-models/workstream/src/reducers/proposals.d.ts +1 -0
  131. package/dist/document-models/workstream/src/reducers/proposals.d.ts.map +1 -1
  132. package/dist/document-models/workstream/src/reducers/proposals.js +6 -83
  133. package/dist/document-models/workstream/src/reducers/workstream.d.ts +1 -0
  134. package/dist/document-models/workstream/src/reducers/workstream.d.ts.map +1 -1
  135. package/dist/document-models/workstream/src/reducers/workstream.js +7 -6
  136. package/dist/document-models/workstream/src/tests/document-model.test.d.ts +0 -4
  137. package/dist/document-models/workstream/src/tests/document-model.test.d.ts.map +1 -1
  138. package/dist/document-models/workstream/src/tests/document-model.test.js +3 -89
  139. package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts +5 -0
  140. package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts.map +1 -0
  141. package/dist/document-models/workstream/src/tests/proposals-reducers.test.js +318 -0
  142. package/dist/document-models/workstream/src/tests/proposals.test.js +25 -26
  143. package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts +5 -0
  144. package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts.map +1 -0
  145. package/dist/document-models/workstream/src/tests/workstream-reducers.test.js +210 -0
  146. package/dist/document-models/workstream/src/tests/workstream.test.js +29 -34
  147. package/dist/editors/hooks/useNetworkProfileDocument.d.ts +4 -0
  148. package/dist/editors/hooks/useNetworkProfileDocument.d.ts.map +1 -0
  149. package/dist/editors/hooks/useNetworkProfileDocument.js +8 -0
  150. package/dist/editors/hooks/usePaymentTermsDocument.d.ts +4 -0
  151. package/dist/editors/hooks/usePaymentTermsDocument.d.ts.map +1 -0
  152. package/dist/editors/hooks/usePaymentTermsDocument.js +8 -0
  153. package/dist/editors/hooks/useRequestForProposalsDocument.d.ts +4 -0
  154. package/dist/editors/hooks/useRequestForProposalsDocument.d.ts.map +1 -0
  155. package/dist/editors/hooks/useRequestForProposalsDocument.js +8 -0
  156. package/dist/editors/hooks/useWorkstreamDocument.d.ts +4 -0
  157. package/dist/editors/hooks/useWorkstreamDocument.d.ts.map +1 -0
  158. package/dist/editors/hooks/useWorkstreamDocument.js +8 -0
  159. package/dist/editors/index.d.ts +6 -6
  160. package/dist/editors/index.d.ts.map +1 -1
  161. package/dist/editors/index.js +6 -6
  162. package/dist/editors/network-admin/components/CreateDocument.d.ts.map +1 -1
  163. package/dist/editors/network-admin/components/CreateDocument.js +12 -8
  164. package/dist/editors/network-admin/components/DriveExplorer.d.ts +1 -1
  165. package/dist/editors/network-admin/components/DriveExplorer.d.ts.map +1 -1
  166. package/dist/editors/network-admin/components/DriveExplorer.js +230 -53
  167. package/dist/editors/network-admin/components/FolderTree.d.ts +1 -9
  168. package/dist/editors/network-admin/components/FolderTree.d.ts.map +1 -1
  169. package/dist/editors/network-admin/components/FolderTree.js +55 -216
  170. package/dist/editors/network-admin/components/icons/PaymentIcon.d.ts.map +1 -1
  171. package/dist/editors/network-admin/components/icons/RfpIcon.d.ts.map +1 -1
  172. package/dist/editors/network-admin/components/icons/SowIcon.d.ts.map +1 -1
  173. package/dist/editors/network-admin/components/icons/WorkstreamIcon.d.ts.map +1 -1
  174. package/dist/editors/network-admin/config.d.ts +0 -1
  175. package/dist/editors/network-admin/config.d.ts.map +1 -1
  176. package/dist/editors/network-admin/config.js +1 -1
  177. package/dist/editors/network-admin/editor.d.ts +1 -2
  178. package/dist/editors/network-admin/editor.d.ts.map +1 -1
  179. package/dist/editors/network-admin/editor.js +1 -4
  180. package/dist/editors/network-admin/index.d.ts +3 -0
  181. package/dist/editors/network-admin/index.d.ts.map +1 -0
  182. package/dist/editors/network-admin/index.js +10 -0
  183. package/dist/editors/network-profile/editor.d.ts +1 -1
  184. package/dist/editors/network-profile/editor.d.ts.map +1 -1
  185. package/dist/editors/network-profile/editor.js +13 -45
  186. package/dist/editors/network-profile/index.d.ts +4 -0
  187. package/dist/editors/network-profile/index.d.ts.map +1 -0
  188. package/dist/editors/network-profile/index.js +10 -0
  189. package/dist/editors/payment-terms/basic-terms-tab.d.ts +10 -0
  190. package/dist/editors/payment-terms/basic-terms-tab.d.ts.map +1 -0
  191. package/dist/editors/payment-terms/basic-terms-tab.js +89 -0
  192. package/dist/editors/payment-terms/clauses-tab.d.ts +12 -0
  193. package/dist/editors/payment-terms/clauses-tab.d.ts.map +1 -0
  194. package/dist/editors/payment-terms/clauses-tab.js +213 -0
  195. package/dist/editors/payment-terms/cost-materials-tab.d.ts +10 -0
  196. package/dist/editors/payment-terms/cost-materials-tab.d.ts.map +1 -0
  197. package/dist/editors/payment-terms/cost-materials-tab.js +63 -0
  198. package/dist/editors/payment-terms/editor.d.ts +2 -0
  199. package/dist/editors/payment-terms/editor.d.ts.map +1 -1
  200. package/dist/editors/payment-terms/editor.js +55 -39
  201. package/dist/editors/payment-terms/escrow-tab.d.ts +10 -0
  202. package/dist/editors/payment-terms/escrow-tab.d.ts.map +1 -0
  203. package/dist/editors/payment-terms/escrow-tab.js +57 -0
  204. package/dist/editors/payment-terms/evaluation-tab.d.ts +10 -0
  205. package/dist/editors/payment-terms/evaluation-tab.d.ts.map +1 -0
  206. package/dist/editors/payment-terms/evaluation-tab.js +63 -0
  207. package/dist/editors/payment-terms/index.d.ts +4 -0
  208. package/dist/editors/payment-terms/index.d.ts.map +1 -0
  209. package/dist/editors/payment-terms/index.js +10 -0
  210. package/dist/editors/payment-terms/milestones-tab.d.ts +10 -0
  211. package/dist/editors/payment-terms/milestones-tab.d.ts.map +1 -0
  212. package/dist/editors/payment-terms/milestones-tab.js +205 -0
  213. package/dist/editors/payment-terms/retainer-tab.d.ts +10 -0
  214. package/dist/editors/payment-terms/retainer-tab.d.ts.map +1 -0
  215. package/dist/editors/payment-terms/retainer-tab.js +91 -0
  216. package/dist/editors/request-for-proposals/editor.d.ts.map +1 -1
  217. package/dist/editors/request-for-proposals/editor.js +4 -4
  218. package/dist/editors/request-for-proposals/index.d.ts +4 -0
  219. package/dist/editors/request-for-proposals/index.d.ts.map +1 -0
  220. package/dist/editors/request-for-proposals/index.js +10 -0
  221. package/dist/editors/request-for-proposals/markdown-editor.d.ts.map +1 -1
  222. package/dist/editors/request-for-proposals/markdown-editor.js +3 -3
  223. package/dist/editors/workstream/editor.d.ts.map +1 -1
  224. package/dist/editors/workstream/editor.js +165 -290
  225. package/dist/editors/workstream/index.d.ts +4 -0
  226. package/dist/editors/workstream/index.d.ts.map +1 -0
  227. package/dist/editors/workstream/index.js +10 -0
  228. package/dist/editors/workstream/project-management-import.d.ts +3 -0
  229. package/dist/editors/workstream/project-management-import.d.ts.map +1 -0
  230. package/dist/editors/workstream/project-management-import.js +5 -0
  231. package/dist/index.d.ts +2 -2
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +4 -2
  234. package/dist/powerhouse.manifest.json +6 -27
  235. package/dist/processors/factory.d.ts +1 -1
  236. package/dist/processors/factory.d.ts.map +1 -1
  237. package/dist/processors/factory.js +1 -1
  238. package/dist/processors/index.d.ts +1 -1
  239. package/dist/processors/index.d.ts.map +1 -1
  240. package/dist/processors/index.js +1 -1
  241. package/dist/processors/workstreams/factory.d.ts.map +1 -1
  242. package/dist/processors/workstreams/factory.js +1 -4
  243. package/dist/processors/workstreams/index.d.ts +2 -4
  244. package/dist/processors/workstreams/index.d.ts.map +1 -1
  245. package/dist/processors/workstreams/index.js +43 -102
  246. package/dist/processors/workstreams/migrations.d.ts.map +1 -1
  247. package/dist/processors/workstreams/migrations.js +15 -12
  248. package/dist/scripts/sow-mirror/mirror_sow_state.js +114 -119
  249. package/dist/style.css +6885 -6085
  250. package/dist/subgraphs/index.d.ts +5 -1
  251. package/dist/subgraphs/index.d.ts.map +1 -1
  252. package/dist/subgraphs/index.js +5 -1
  253. package/dist/subgraphs/network-profile/index.d.ts +11 -0
  254. package/dist/subgraphs/network-profile/index.d.ts.map +1 -0
  255. package/dist/subgraphs/network-profile/index.js +11 -0
  256. package/dist/subgraphs/network-profile/resolvers.d.ts.map +1 -0
  257. package/dist/subgraphs/network-profile/resolvers.js +205 -0
  258. package/dist/subgraphs/network-profile/schema.d.ts.map +1 -0
  259. package/dist/subgraphs/network-profile/schema.js +139 -0
  260. package/dist/subgraphs/networks/resolvers.d.ts +2 -2
  261. package/dist/subgraphs/networks/resolvers.d.ts.map +1 -1
  262. package/dist/subgraphs/networks/resolvers.js +8 -138
  263. package/dist/subgraphs/networks/schema.d.ts.map +1 -1
  264. package/dist/subgraphs/networks/schema.js +1 -66
  265. package/dist/subgraphs/{builders-addon → payment-terms}/index.d.ts +1 -1
  266. package/dist/subgraphs/payment-terms/index.d.ts.map +1 -0
  267. package/dist/subgraphs/{builders-addon → payment-terms}/index.js +2 -2
  268. package/dist/subgraphs/payment-terms/resolvers.d.ts +3 -0
  269. package/dist/subgraphs/payment-terms/resolvers.d.ts.map +1 -0
  270. package/dist/subgraphs/payment-terms/resolvers.js +277 -0
  271. package/dist/subgraphs/payment-terms/schema.d.ts +3 -0
  272. package/dist/subgraphs/payment-terms/schema.d.ts.map +1 -0
  273. package/dist/subgraphs/payment-terms/schema.js +324 -0
  274. package/dist/subgraphs/request-for-proposals/index.d.ts +11 -0
  275. package/dist/subgraphs/request-for-proposals/index.d.ts.map +1 -0
  276. package/dist/subgraphs/request-for-proposals/index.js +11 -0
  277. package/dist/subgraphs/request-for-proposals/resolvers.d.ts +3 -0
  278. package/dist/subgraphs/request-for-proposals/resolvers.d.ts.map +1 -0
  279. package/dist/subgraphs/request-for-proposals/resolvers.js +145 -0
  280. package/dist/subgraphs/request-for-proposals/schema.d.ts +3 -0
  281. package/dist/subgraphs/request-for-proposals/schema.d.ts.map +1 -0
  282. package/dist/subgraphs/request-for-proposals/schema.js +232 -0
  283. package/dist/subgraphs/workstream/index.d.ts +11 -0
  284. package/dist/subgraphs/workstream/index.d.ts.map +1 -0
  285. package/dist/subgraphs/workstream/index.js +11 -0
  286. package/dist/subgraphs/workstream/resolvers.d.ts +3 -0
  287. package/dist/subgraphs/workstream/resolvers.d.ts.map +1 -0
  288. package/dist/subgraphs/workstream/resolvers.js +181 -0
  289. package/dist/subgraphs/workstream/schema.d.ts +3 -0
  290. package/dist/subgraphs/workstream/schema.d.ts.map +1 -0
  291. package/dist/subgraphs/workstream/schema.js +206 -0
  292. package/dist/subgraphs/workstreams/index.d.ts +1 -4
  293. package/dist/subgraphs/workstreams/index.d.ts.map +1 -1
  294. package/dist/subgraphs/workstreams/index.js +0 -6
  295. package/dist/subgraphs/workstreams/resolvers.d.ts.map +1 -1
  296. package/dist/subgraphs/workstreams/resolvers.js +30 -495
  297. package/dist/subgraphs/workstreams/schema.d.ts.map +1 -1
  298. package/dist/subgraphs/workstreams/schema.js +35 -228
  299. package/dist/vite.config.d.ts.map +1 -1
  300. package/dist/vite.config.js +1 -6
  301. package/dist/vitest.config.d.ts +3 -0
  302. package/dist/vitest.config.d.ts.map +1 -0
  303. package/dist/vitest.config.js +8 -0
  304. package/package.json +90 -56
  305. package/dist/document-models/builders/actions.d.ts +0 -14
  306. package/dist/document-models/builders/actions.d.ts.map +0 -1
  307. package/dist/document-models/builders/actions.js +0 -4
  308. package/dist/document-models/builders/gen/actions.d.ts +0 -4
  309. package/dist/document-models/builders/gen/actions.d.ts.map +0 -1
  310. package/dist/document-models/builders/gen/actions.js +0 -1
  311. package/dist/document-models/builders/gen/builders/actions.d.ts +0 -12
  312. package/dist/document-models/builders/gen/builders/actions.d.ts.map +0 -1
  313. package/dist/document-models/builders/gen/builders/actions.js +0 -1
  314. package/dist/document-models/builders/gen/builders/creators.d.ts +0 -5
  315. package/dist/document-models/builders/gen/builders/creators.d.ts.map +0 -1
  316. package/dist/document-models/builders/gen/builders/creators.js +0 -4
  317. package/dist/document-models/builders/gen/builders/error.d.ts +0 -2
  318. package/dist/document-models/builders/gen/builders/error.d.ts.map +0 -1
  319. package/dist/document-models/builders/gen/builders/error.js +0 -1
  320. package/dist/document-models/builders/gen/builders/operations.d.ts +0 -8
  321. package/dist/document-models/builders/gen/builders/operations.d.ts.map +0 -1
  322. package/dist/document-models/builders/gen/builders/operations.js +0 -1
  323. package/dist/document-models/builders/gen/creators.d.ts +0 -3
  324. package/dist/document-models/builders/gen/creators.d.ts.map +0 -1
  325. package/dist/document-models/builders/gen/creators.js +0 -2
  326. package/dist/document-models/builders/gen/document-model.d.ts +0 -3
  327. package/dist/document-models/builders/gen/document-model.d.ts.map +0 -1
  328. package/dist/document-models/builders/gen/document-model.js +0 -59
  329. package/dist/document-models/builders/gen/document-schema.d.ts +0 -44
  330. package/dist/document-models/builders/gen/document-schema.d.ts.map +0 -1
  331. package/dist/document-models/builders/gen/document-schema.js +0 -33
  332. package/dist/document-models/builders/gen/document-type.d.ts +0 -2
  333. package/dist/document-models/builders/gen/document-type.d.ts.map +0 -1
  334. package/dist/document-models/builders/gen/document-type.js +0 -1
  335. package/dist/document-models/builders/gen/index.d.ts +0 -12
  336. package/dist/document-models/builders/gen/index.d.ts.map +0 -1
  337. package/dist/document-models/builders/gen/index.js +0 -11
  338. package/dist/document-models/builders/gen/ph-factories.d.ts +0 -23
  339. package/dist/document-models/builders/gen/ph-factories.d.ts.map +0 -1
  340. package/dist/document-models/builders/gen/ph-factories.js +0 -47
  341. package/dist/document-models/builders/gen/reducer.d.ts +0 -3
  342. package/dist/document-models/builders/gen/reducer.d.ts.map +0 -1
  343. package/dist/document-models/builders/gen/reducer.js +0 -23
  344. package/dist/document-models/builders/gen/schema/index.d.ts +0 -3
  345. package/dist/document-models/builders/gen/schema/index.d.ts.map +0 -1
  346. package/dist/document-models/builders/gen/schema/index.js +0 -2
  347. package/dist/document-models/builders/gen/schema/types.d.ts +0 -158
  348. package/dist/document-models/builders/gen/schema/types.d.ts.map +0 -1
  349. package/dist/document-models/builders/gen/schema/types.js +0 -1
  350. package/dist/document-models/builders/gen/schema/zod.d.ts +0 -13
  351. package/dist/document-models/builders/gen/schema/zod.d.ts.map +0 -1
  352. package/dist/document-models/builders/gen/schema/zod.js +0 -21
  353. package/dist/document-models/builders/gen/types.d.ts +0 -12
  354. package/dist/document-models/builders/gen/types.d.ts.map +0 -1
  355. package/dist/document-models/builders/gen/types.js +0 -1
  356. package/dist/document-models/builders/gen/utils.d.ts +0 -15
  357. package/dist/document-models/builders/gen/utils.d.ts.map +0 -1
  358. package/dist/document-models/builders/gen/utils.js +0 -51
  359. package/dist/document-models/builders/hooks.d.ts +0 -14
  360. package/dist/document-models/builders/hooks.d.ts.map +0 -1
  361. package/dist/document-models/builders/hooks.js +0 -25
  362. package/dist/document-models/builders/index.d.ts +0 -6
  363. package/dist/document-models/builders/index.d.ts.map +0 -1
  364. package/dist/document-models/builders/index.js +0 -5
  365. package/dist/document-models/builders/module.d.ts +0 -5
  366. package/dist/document-models/builders/module.d.ts.map +0 -1
  367. package/dist/document-models/builders/module.js +0 -11
  368. package/dist/document-models/builders/src/index.d.ts +0 -2
  369. package/dist/document-models/builders/src/index.d.ts.map +0 -1
  370. package/dist/document-models/builders/src/index.js +0 -1
  371. package/dist/document-models/builders/src/reducers/builders.d.ts +0 -3
  372. package/dist/document-models/builders/src/reducers/builders.d.ts.map +0 -1
  373. package/dist/document-models/builders/src/reducers/builders.js +0 -8
  374. package/dist/document-models/builders/src/tests/builders.test.d.ts +0 -6
  375. package/dist/document-models/builders/src/tests/builders.test.d.ts.map +0 -1
  376. package/dist/document-models/builders/src/tests/builders.test.js +0 -29
  377. package/dist/document-models/builders/src/tests/document-model.test.d.ts +0 -10
  378. package/dist/document-models/builders/src/tests/document-model.test.d.ts.map +0 -1
  379. package/dist/document-models/builders/src/tests/document-model.test.js +0 -104
  380. package/dist/document-models/builders/src/utils.d.ts +0 -2
  381. package/dist/document-models/builders/src/utils.d.ts.map +0 -1
  382. package/dist/document-models/builders/src/utils.js +0 -1
  383. package/dist/document-models/builders/tests/builders.test.d.ts +0 -2
  384. package/dist/document-models/builders/tests/builders.test.d.ts.map +0 -1
  385. package/dist/document-models/builders/tests/builders.test.js +0 -25
  386. package/dist/document-models/builders/tests/document-model.test.d.ts +0 -10
  387. package/dist/document-models/builders/tests/document-model.test.d.ts.map +0 -1
  388. package/dist/document-models/builders/tests/document-model.test.js +0 -104
  389. package/dist/document-models/builders/utils.d.ts +0 -14
  390. package/dist/document-models/builders/utils.d.ts.map +0 -1
  391. package/dist/document-models/builders/utils.js +0 -7
  392. package/dist/document-models/network-profile/gen/document-schema.d.ts +0 -80
  393. package/dist/document-models/network-profile/gen/document-schema.d.ts.map +0 -1
  394. package/dist/document-models/payment-terms/gen/document-schema.d.ts +0 -95
  395. package/dist/document-models/payment-terms/gen/document-schema.d.ts.map +0 -1
  396. package/dist/document-models/request-for-proposals/gen/document-schema.d.ts +0 -83
  397. package/dist/document-models/request-for-proposals/gen/document-schema.d.ts.map +0 -1
  398. package/dist/document-models/workstream/gen/document-schema.d.ts +0 -71
  399. package/dist/document-models/workstream/gen/document-schema.d.ts.map +0 -1
  400. package/dist/editors/builders/editor.d.ts +0 -3
  401. package/dist/editors/builders/editor.d.ts.map +0 -1
  402. package/dist/editors/builders/editor.js +0 -285
  403. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts +0 -20
  404. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts.map +0 -1
  405. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.js +0 -57
  406. package/dist/editors/builders/module.d.ts +0 -4
  407. package/dist/editors/builders/module.d.ts.map +0 -1
  408. package/dist/editors/builders/module.js +0 -10
  409. package/dist/editors/builders/utils/graphql-client.d.ts +0 -41
  410. package/dist/editors/builders/utils/graphql-client.d.ts.map +0 -1
  411. package/dist/editors/builders/utils/graphql-client.js +0 -189
  412. package/dist/editors/editors.d.ts +0 -3
  413. package/dist/editors/editors.d.ts.map +0 -1
  414. package/dist/editors/editors.js +0 -14
  415. package/dist/editors/network-admin/components/DriveContents.d.ts +0 -3
  416. package/dist/editors/network-admin/components/DriveContents.d.ts.map +0 -1
  417. package/dist/editors/network-admin/components/DriveContents.js +0 -10
  418. package/dist/editors/network-admin/components/EmptyState.d.ts +0 -3
  419. package/dist/editors/network-admin/components/EmptyState.d.ts.map +0 -1
  420. package/dist/editors/network-admin/components/EmptyState.js +0 -10
  421. package/dist/editors/network-admin/components/Files.d.ts +0 -3
  422. package/dist/editors/network-admin/components/Files.d.ts.map +0 -1
  423. package/dist/editors/network-admin/components/Files.js +0 -12
  424. package/dist/editors/network-admin/components/Folders.d.ts +0 -3
  425. package/dist/editors/network-admin/components/Folders.d.ts.map +0 -1
  426. package/dist/editors/network-admin/components/Folders.js +0 -12
  427. package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts +0 -3
  428. package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts.map +0 -1
  429. package/dist/editors/network-admin/components/NavigationBreadcrumbs.js +0 -6
  430. package/dist/editors/network-admin/module.d.ts +0 -4
  431. package/dist/editors/network-admin/module.d.ts.map +0 -1
  432. package/dist/editors/network-admin/module.js +0 -10
  433. package/dist/editors/network-profile/components/EditName.d.ts +0 -3
  434. package/dist/editors/network-profile/components/EditName.d.ts.map +0 -1
  435. package/dist/editors/network-profile/components/EditName.js +0 -31
  436. package/dist/editors/network-profile/module.d.ts +0 -4
  437. package/dist/editors/network-profile/module.d.ts.map +0 -1
  438. package/dist/editors/network-profile/module.js +0 -10
  439. package/dist/editors/payment-terms/components/clauses-section.d.ts +0 -12
  440. package/dist/editors/payment-terms/components/clauses-section.d.ts.map +0 -1
  441. package/dist/editors/payment-terms/components/clauses-section.js +0 -269
  442. package/dist/editors/payment-terms/components/escrow-section.d.ts +0 -13
  443. package/dist/editors/payment-terms/components/escrow-section.d.ts.map +0 -1
  444. package/dist/editors/payment-terms/components/escrow-section.js +0 -72
  445. package/dist/editors/payment-terms/components/evaluation-section.d.ts +0 -13
  446. package/dist/editors/payment-terms/components/evaluation-section.d.ts.map +0 -1
  447. package/dist/editors/payment-terms/components/evaluation-section.js +0 -94
  448. package/dist/editors/payment-terms/components/header-section.d.ts +0 -16
  449. package/dist/editors/payment-terms/components/header-section.d.ts.map +0 -1
  450. package/dist/editors/payment-terms/components/header-section.js +0 -67
  451. package/dist/editors/payment-terms/components/milestones-section.d.ts +0 -11
  452. package/dist/editors/payment-terms/components/milestones-section.d.ts.map +0 -1
  453. package/dist/editors/payment-terms/components/milestones-section.js +0 -236
  454. package/dist/editors/payment-terms/components/parties-section.d.ts +0 -11
  455. package/dist/editors/payment-terms/components/parties-section.d.ts.map +0 -1
  456. package/dist/editors/payment-terms/components/parties-section.js +0 -36
  457. package/dist/editors/payment-terms/components/payment-config-section.d.ts +0 -11
  458. package/dist/editors/payment-terms/components/payment-config-section.d.ts.map +0 -1
  459. package/dist/editors/payment-terms/components/payment-config-section.js +0 -68
  460. package/dist/editors/payment-terms/components/time-materials-section.d.ts +0 -11
  461. package/dist/editors/payment-terms/components/time-materials-section.d.ts.map +0 -1
  462. package/dist/editors/payment-terms/components/time-materials-section.js +0 -68
  463. package/dist/editors/payment-terms/module.d.ts +0 -4
  464. package/dist/editors/payment-terms/module.d.ts.map +0 -1
  465. package/dist/editors/payment-terms/module.js +0 -10
  466. package/dist/editors/request-for-proposals/components/EditName.d.ts +0 -3
  467. package/dist/editors/request-for-proposals/components/EditName.d.ts.map +0 -1
  468. package/dist/editors/request-for-proposals/components/EditName.js +0 -31
  469. package/dist/editors/request-for-proposals/module.d.ts +0 -4
  470. package/dist/editors/request-for-proposals/module.d.ts.map +0 -1
  471. package/dist/editors/request-for-proposals/module.js +0 -10
  472. package/dist/editors/workstream/module.d.ts +0 -4
  473. package/dist/editors/workstream/module.d.ts.map +0 -1
  474. package/dist/editors/workstream/module.js +0 -10
  475. package/dist/subgraphs/builders-addon/index.d.ts.map +0 -1
  476. package/dist/subgraphs/builders-addon/resolvers.d.ts.map +0 -1
  477. package/dist/subgraphs/builders-addon/resolvers.js +0 -376
  478. package/dist/subgraphs/builders-addon/schema.d.ts.map +0 -1
  479. package/dist/subgraphs/builders-addon/schema.js +0 -209
  480. /package/dist/subgraphs/{builders-addon → network-profile}/resolvers.d.ts +0 -0
  481. /package/dist/subgraphs/{builders-addon → network-profile}/schema.d.ts +0 -0
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useCallback } from "react";
3
+ import { TextInput, Textarea, Button, } from "@powerhousedao/document-engineering";
4
+ import { toast } from "@powerhousedao/design-system";
5
+ import {} from "../../document-models/payment-terms/index.js";
6
+ export function EscrowTab({ state, dispatch, actions }) {
7
+ const [isEditing, setIsEditing] = useState(false);
8
+ const [formData, setFormData] = useState({
9
+ amountHeld: state.escrowDetails?.amountHeld?.value?.toString() || "",
10
+ proofOfFundsDocumentId: state.escrowDetails?.proofOfFundsDocumentId || "",
11
+ releaseConditions: state.escrowDetails?.releaseConditions || "",
12
+ escrowProvider: state.escrowDetails?.escrowProvider || "",
13
+ });
14
+ const handleSubmit = useCallback((e) => {
15
+ e.preventDefault();
16
+ if (!formData.amountHeld || isNaN(parseFloat(formData.amountHeld))) {
17
+ toast("Please enter a valid amount to be held in escrow", {
18
+ type: "error",
19
+ });
20
+ return;
21
+ }
22
+ if (!formData.releaseConditions.trim()) {
23
+ toast("Release conditions are required", {
24
+ type: "error",
25
+ });
26
+ return;
27
+ }
28
+ dispatch(actions.setEscrowDetails({
29
+ amountHeld: {
30
+ value: parseFloat(formData.amountHeld),
31
+ unit: state.currency,
32
+ },
33
+ proofOfFundsDocumentId: formData.proofOfFundsDocumentId || undefined,
34
+ releaseConditions: formData.releaseConditions,
35
+ escrowProvider: formData.escrowProvider || undefined,
36
+ }));
37
+ toast("Escrow details saved", {
38
+ type: "success",
39
+ });
40
+ setIsEditing(false);
41
+ }, [formData, dispatch, actions, state.currency]);
42
+ const handleCancel = useCallback(() => {
43
+ setFormData({
44
+ amountHeld: state.escrowDetails?.amountHeld?.value?.toString() || "",
45
+ proofOfFundsDocumentId: state.escrowDetails?.proofOfFundsDocumentId || "",
46
+ releaseConditions: state.escrowDetails?.releaseConditions || "",
47
+ escrowProvider: state.escrowDetails?.escrowProvider || "",
48
+ });
49
+ setIsEditing(false);
50
+ }, [state.escrowDetails]);
51
+ if (!isEditing) {
52
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Escrow Configuration" }), _jsx(Button, { onClick: () => setIsEditing(true), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: state.escrowDetails ? "Edit Escrow" : "Configure Escrow" })] }), state.escrowDetails && state.escrowDetails.releaseConditions ? (_jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Amount Held" }), _jsx("p", { className: "text-lg dark:text-white", children: state.escrowDetails.amountHeld
53
+ ? `${state.escrowDetails.amountHeld.value} ${state.escrowDetails.amountHeld.unit}`
54
+ : "Not set" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Escrow Provider" }), _jsx("p", { className: "text-lg dark:text-white", children: state.escrowDetails.escrowProvider || "Not specified" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Proof of Funds Document ID" }), _jsx("p", { className: "text-lg font-mono text-sm dark:text-white", children: state.escrowDetails.proofOfFundsDocumentId || "Not provided" })] }), _jsxs("div", { className: "col-span-1", children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Release Conditions" }), _jsx("div", { className: "bg-gray-50 dark:bg-gray-700 p-3 rounded border dark:border-gray-600", children: _jsx("p", { className: "text-sm dark:text-white", children: state.escrowDetails.releaseConditions }) })] })] })) : (_jsxs("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: [_jsx("p", { children: "No escrow configuration set up yet." }), _jsx("p", { className: "text-sm", children: "Click \"Configure Escrow\" to get started." })] }))] }));
55
+ }
56
+ return (_jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsx("div", { className: "flex justify-between items-center mb-4", children: _jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Configure Escrow" }) }), _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsx(TextInput, { label: `Amount Held (${state.currency}) *`, type: "number", value: formData.amountHeld, onChange: (e) => setFormData({ ...formData, amountHeld: e.target.value }), className: "w-full", placeholder: "0.00", step: "0.01", required: true }), _jsx(TextInput, { label: "Escrow Provider", value: formData.escrowProvider, onChange: (e) => setFormData({ ...formData, escrowProvider: e.target.value }), className: "w-full", placeholder: "e.g., Escrow.com" }), _jsx(TextInput, { label: "Proof of Funds Document ID", value: formData.proofOfFundsDocumentId, onChange: (e) => setFormData({ ...formData, proofOfFundsDocumentId: e.target.value }), className: "w-full", placeholder: "Document reference ID" }), _jsx("div", { className: "col-span-1", children: _jsx(Textarea, { label: "Release Conditions *", value: formData.releaseConditions, onChange: (e) => setFormData({ ...formData, releaseConditions: e.target.value }), className: "w-full", rows: 4, placeholder: "Describe the conditions for releasing escrow funds...", required: true }) })] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { type: "submit", children: "Save Escrow Details" }), _jsx(Button, { type: "button", onClick: handleCancel, children: "Cancel" })] })] }));
57
+ }
@@ -0,0 +1,10 @@
1
+ import type { PaymentTermsState } from "../../document-models/payment-terms/gen/schema/types.js";
2
+ import type { PaymentTermsAction } from "../../document-models/payment-terms/gen/actions.js";
3
+ import { type actions as paymentTermsActions } from "../../document-models/payment-terms/index.js";
4
+ export interface EvaluationTabProps {
5
+ state: PaymentTermsState;
6
+ dispatch: (action: PaymentTermsAction) => void;
7
+ actions: typeof paymentTermsActions;
8
+ }
9
+ export declare function EvaluationTab({ state, dispatch, actions }: EvaluationTabProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=evaluation-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-tab.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/evaluation-tab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,yDAAyD,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,kBAAkB,2CA2N7E"}
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useCallback, useMemo } from "react";
3
+ import { TextInput, Select, Textarea, Button } from "@powerhousedao/document-engineering";
4
+ import { toast } from "@powerhousedao/design-system";
5
+ import {} from "../../document-models/payment-terms/index.js";
6
+ export function EvaluationTab({ state, dispatch, actions }) {
7
+ const [isEditing, setIsEditing] = useState(false);
8
+ const [formData, setFormData] = useState({
9
+ evaluationFrequency: state.evaluation?.evaluationFrequency || "MONTHLY",
10
+ evaluatorTeam: state.evaluation?.evaluatorTeam || "",
11
+ criteria: state.evaluation?.criteria?.join("\n") || "",
12
+ impactsPayout: state.evaluation?.impactsPayout || false,
13
+ impactsReputation: state.evaluation?.impactsReputation || false,
14
+ commentsVisibleToClient: state.evaluation?.commentsVisibleToClient || false
15
+ });
16
+ const evaluationFrequencyOptions = useMemo(() => [
17
+ { label: "Weekly", value: "WEEKLY" },
18
+ { label: "Monthly", value: "MONTHLY" },
19
+ { label: "Per Milestone", value: "PER_MILESTONE" }
20
+ ], []);
21
+ const handleSubmit = useCallback((e) => {
22
+ e.preventDefault();
23
+ if (!formData.evaluatorTeam.trim()) {
24
+ toast("Evaluator team is required", {
25
+ type: "error",
26
+ });
27
+ return;
28
+ }
29
+ if (!formData.criteria.trim()) {
30
+ toast("Evaluation criteria are required", {
31
+ type: "error",
32
+ });
33
+ return;
34
+ }
35
+ dispatch(actions.setEvaluationTerms({
36
+ evaluationFrequency: formData.evaluationFrequency,
37
+ evaluatorTeam: formData.evaluatorTeam,
38
+ criteria: formData.criteria.split("\n").filter(c => c.trim()),
39
+ impactsPayout: formData.impactsPayout,
40
+ impactsReputation: formData.impactsReputation,
41
+ commentsVisibleToClient: formData.commentsVisibleToClient
42
+ }));
43
+ toast("Evaluation terms saved", {
44
+ type: "success",
45
+ });
46
+ setIsEditing(false);
47
+ }, [formData, dispatch, actions]);
48
+ const handleCancel = useCallback(() => {
49
+ setFormData({
50
+ evaluationFrequency: state.evaluation?.evaluationFrequency || "MONTHLY",
51
+ evaluatorTeam: state.evaluation?.evaluatorTeam || "",
52
+ criteria: state.evaluation?.criteria?.join("\n") || "",
53
+ impactsPayout: state.evaluation?.impactsPayout || false,
54
+ impactsReputation: state.evaluation?.impactsReputation || false,
55
+ commentsVisibleToClient: state.evaluation?.commentsVisibleToClient || false
56
+ });
57
+ setIsEditing(false);
58
+ }, [state.evaluation]);
59
+ if (!isEditing) {
60
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Evaluation Terms" }), _jsx(Button, { onClick: () => setIsEditing(true), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: state.evaluation ? "Edit Terms" : "Configure Evaluation" })] }), state.evaluation ? (_jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Evaluation Frequency" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.evaluationFrequency })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Evaluator Team" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.evaluatorTeam })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Impacts Payout" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.impactsPayout ? "Yes" : "No" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Impacts Reputation" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.impactsReputation ? "Yes" : "No" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Comments Visible to Client" }), _jsx("p", { className: "text-lg dark:text-white", children: state.evaluation.commentsVisibleToClient ? "Yes" : "No" })] }), _jsxs("div", { className: "col-span-2", children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Evaluation Criteria" }), _jsx("div", { className: "bg-gray-50 dark:bg-gray-700 p-3 rounded border dark:border-gray-600", children: _jsx("ul", { className: "list-disc list-inside text-sm space-y-1", children: state.evaluation.criteria.map((criterion, index) => (_jsx("li", { children: criterion }, index))) }) })] })] })) : (_jsxs("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: [_jsx("p", { children: "No evaluation terms configured yet." }), _jsx("p", { className: "text-sm", children: "Click \"Configure Evaluation\" to get started." })] }))] }));
61
+ }
62
+ return (_jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsx("div", { className: "flex justify-between items-center mb-4", children: _jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Configure Evaluation Terms" }) }), _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsx(Select, { label: "Evaluation Frequency *", options: evaluationFrequencyOptions, value: formData.evaluationFrequency, onChange: (value) => setFormData({ ...formData, evaluationFrequency: value }) }), _jsx(TextInput, { label: "Evaluator Team *", value: formData.evaluatorTeam, onChange: (e) => setFormData({ ...formData, evaluatorTeam: e.target.value }), className: "w-full", placeholder: "e.g., Product Team", required: true }), _jsx("div", { className: "col-span-2", children: _jsx(Textarea, { label: "Evaluation Criteria * (one per line)", value: formData.criteria, onChange: (e) => setFormData({ ...formData, criteria: e.target.value }), className: "w-full", rows: 6, placeholder: "Enter each evaluation criterion on a separate line...", required: true }) }), _jsxs("div", { className: "col-span-2 space-y-4", children: [_jsx("h3", { className: "text-lg font-medium dark:text-white", children: "Impact Settings" }), _jsxs("div", { className: "flex items-center", children: [_jsx("input", { type: "checkbox", id: "impactsPayout", checked: formData.impactsPayout, onChange: (e) => setFormData({ ...formData, impactsPayout: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "impactsPayout", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Evaluation results impact payout" })] }), _jsxs("div", { className: "flex items-center", children: [_jsx("input", { type: "checkbox", id: "impactsReputation", checked: formData.impactsReputation, onChange: (e) => setFormData({ ...formData, impactsReputation: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "impactsReputation", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Evaluation results impact reputation" })] }), _jsxs("div", { className: "flex items-center", children: [_jsx("input", { type: "checkbox", id: "commentsVisibleToClient", checked: formData.commentsVisibleToClient, onChange: (e) => setFormData({ ...formData, commentsVisibleToClient: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "commentsVisibleToClient", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Evaluation comments visible to client" })] })] })] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { type: "submit", color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: "Save Evaluation Terms" }), _jsx(Button, { type: "button", onClick: handleCancel, color: "light", size: "sm", className: "cursor-pointer hover:bg-gray-600 hover:text-white", children: "Cancel" })] })] }));
63
+ }
@@ -0,0 +1,4 @@
1
+ import type { EditorModule } from "document-model";
2
+ export declare const module: EditorModule;
3
+ export default module;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,MAAM,EAAE,YAOpB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,10 @@
1
+ import Editor from "./editor.js";
2
+ export const module = {
3
+ Component: Editor,
4
+ documentTypes: ["payment-terms"],
5
+ config: {
6
+ id: "payment-terms-editor",
7
+ name: "Payment Terms Editor",
8
+ },
9
+ };
10
+ export default module;
@@ -0,0 +1,10 @@
1
+ import type { Milestone, PaymentTermsAction } from "../../document-models/payment-terms/gen/types.js";
2
+ import { type actions as paymentTermsActions } from "../../document-models/payment-terms/index.js";
3
+ export interface MilestonesTabProps {
4
+ milestones: Milestone[];
5
+ dispatch: (action: PaymentTermsAction) => void;
6
+ actions: typeof paymentTermsActions;
7
+ currency: string;
8
+ }
9
+ export declare function MilestonesTab({ milestones, dispatch, actions, currency, }: MilestonesTabProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=milestones-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milestones-tab.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/milestones-tab.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,SAAS,EAET,kBAAkB,EACnB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAgB,GACjB,EAAE,kBAAkB,2CAiWpB"}
@@ -0,0 +1,205 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useCallback, useMemo } from "react";
3
+ import { ObjectSetTable, TextInput, DatePicker, } from "@powerhousedao/document-engineering";
4
+ import { Button, } from "@powerhousedao/document-engineering";
5
+ import { Icon, toast } from "@powerhousedao/design-system";
6
+ import { generateId } from "document-model/core";
7
+ import {} from "../../document-models/payment-terms/index.js";
8
+ export function MilestonesTab({ milestones, dispatch, actions, currency = "USD", }) {
9
+ const [isAddingNew, setIsAddingNew] = useState(false);
10
+ const [newMilestone, setNewMilestone] = useState({
11
+ name: "",
12
+ amount: "",
13
+ expectedCompletionDate: "",
14
+ requiresApproval: true,
15
+ });
16
+ const columns = useMemo(() => [
17
+ {
18
+ field: "name",
19
+ title: "Name",
20
+ editable: true,
21
+ align: "left",
22
+ onSave: (newValue, context) => {
23
+ if (newValue !== context.row.name) {
24
+ dispatch(actions.updateMilestone({
25
+ id: context.row.id,
26
+ name: newValue,
27
+ }));
28
+ toast("Milestone name updated", {
29
+ type: "success",
30
+ });
31
+ return true;
32
+ }
33
+ return false;
34
+ },
35
+ },
36
+ {
37
+ field: "amount",
38
+ title: `Amount (${currency})`,
39
+ editable: true,
40
+ align: "right",
41
+ renderCell: (value) => {
42
+ return value ? `${value.value} ${value.unit}` : "";
43
+ },
44
+ onSave: (newValue, context) => {
45
+ const amount = parseFloat(newValue);
46
+ if (isNaN(amount)) {
47
+ toast("Please enter a valid amount", {
48
+ type: "error",
49
+ });
50
+ return false;
51
+ }
52
+ dispatch(actions.updateMilestone({
53
+ id: context.row.id,
54
+ amount: { value: amount, unit: currency },
55
+ }));
56
+ toast("Milestone amount updated", {
57
+ type: "success",
58
+ });
59
+ return true;
60
+ },
61
+ },
62
+ {
63
+ field: "expectedCompletionDate",
64
+ title: "Expected Completion",
65
+ editable: true,
66
+ align: "center",
67
+ renderCell: (value) => {
68
+ return value ? new Date(value).toLocaleDateString() : "Not set";
69
+ },
70
+ onSave: (newValue, context) => {
71
+ const dateValue = newValue;
72
+ dispatch(actions.updateMilestone({
73
+ id: context.row.id,
74
+ expectedCompletionDate: dateValue || undefined,
75
+ }));
76
+ toast("Expected completion date updated", {
77
+ type: "success",
78
+ });
79
+ return true;
80
+ },
81
+ },
82
+ {
83
+ field: "requiresApproval",
84
+ title: "Requires Approval",
85
+ editable: true,
86
+ align: "center",
87
+ renderCell: (value) => (value ? "Yes" : "No"),
88
+ onSave: (newValue, context) => {
89
+ const approved = newValue === "true" || newValue === true;
90
+ dispatch(actions.updateMilestone({
91
+ id: context.row.id,
92
+ requiresApproval: approved,
93
+ }));
94
+ toast("Approval requirement updated", {
95
+ type: "success",
96
+ });
97
+ return true;
98
+ },
99
+ },
100
+ {
101
+ field: "payoutStatus",
102
+ title: "Status",
103
+ editable: true,
104
+ align: "center",
105
+ renderCell: (value) => {
106
+ const statusMap = {
107
+ PENDING: "Pending",
108
+ READY_FOR_REVIEW: "Ready for Review",
109
+ APPROVED: "Approved",
110
+ PAID: "Paid",
111
+ REJECTED: "Rejected",
112
+ };
113
+ return statusMap[value] || value;
114
+ },
115
+ onSave: (newValue, context) => {
116
+ dispatch(actions.updateMilestoneStatus({
117
+ id: context.row.id,
118
+ payoutStatus: newValue,
119
+ }));
120
+ toast("Milestone status updated", {
121
+ type: "success",
122
+ });
123
+ return true;
124
+ },
125
+ },
126
+ {
127
+ field: "actions",
128
+ title: "Actions",
129
+ editable: false,
130
+ align: "center",
131
+ renderCell: (_, context) => (_jsx(Button, { onClick: () => {
132
+ dispatch(actions.deleteMilestone({ id: context.row.id }));
133
+ toast("Milestone deleted", {
134
+ type: "success",
135
+ });
136
+ }, size: "sm", className: "text-red-600 hover:text-red-800", children: _jsx(Icon, { name: "Trash", size: 16 }) })),
137
+ },
138
+ ], [actions, currency, dispatch]);
139
+ const handleAddMilestone = useCallback((e) => {
140
+ e.preventDefault();
141
+ if (!newMilestone.name.trim()) {
142
+ toast("Name is required", {
143
+ type: "error",
144
+ });
145
+ return;
146
+ }
147
+ if (!newMilestone.amount || isNaN(parseFloat(newMilestone.amount))) {
148
+ toast("Valid amount is required", {
149
+ type: "error",
150
+ });
151
+ return;
152
+ }
153
+ const milestoneData = {
154
+ id: generateId(),
155
+ name: newMilestone.name,
156
+ amount: {
157
+ value: parseFloat(newMilestone.amount),
158
+ unit: currency,
159
+ },
160
+ requiresApproval: newMilestone.requiresApproval,
161
+ expectedCompletionDate: null,
162
+ payoutStatus: "PENDING",
163
+ };
164
+ if (newMilestone.expectedCompletionDate) {
165
+ milestoneData.expectedCompletionDate = new Date(newMilestone.expectedCompletionDate).toISOString();
166
+ }
167
+ dispatch(actions.addMilestone(milestoneData));
168
+ toast("Milestone added successfully", {
169
+ type: "success",
170
+ });
171
+ // Reset form and close edit section
172
+ setNewMilestone({
173
+ name: "",
174
+ amount: "",
175
+ expectedCompletionDate: "",
176
+ requiresApproval: true,
177
+ });
178
+ setIsAddingNew(false);
179
+ }, [newMilestone, dispatch, actions, currency]);
180
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Milestones" }), _jsxs("p", { className: "text-sm text-gray-600 dark:text-gray-300 mt-1", children: [milestones.length, " milestone(s) defined"] })] }), _jsxs(Button, { onClick: () => setIsAddingNew(!isAddingNew), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: [_jsx(Icon, { name: "Plus", size: 16, className: "mr-2" }), "Add Milestone"] })] }), isAddingNew && (_jsxs("div", { className: "bg-gray-50 dark:bg-gray-700 p-4 rounded-lg border dark:border-gray-600", children: [_jsx("h3", { className: "text-lg font-medium mb-4 dark:text-white", children: "Add New Milestone" }), _jsxs("form", { onSubmit: handleAddMilestone, className: "space-y-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(TextInput, { label: "Name *", value: newMilestone.name, onChange: (e) => setNewMilestone({ ...newMilestone, name: e.target.value }), className: "w-full", required: true }), _jsx(TextInput, { label: `Amount (${currency}) *`, type: "number", value: newMilestone.amount, onChange: (e) => setNewMilestone({ ...newMilestone, amount: e.target.value }), className: "w-full", placeholder: "0.00", step: "0.01", required: true }), _jsx(DatePicker, { value: newMilestone.expectedCompletionDate
181
+ ? new Date(newMilestone.expectedCompletionDate)
182
+ : undefined, onChange: (e) => {
183
+ const date = e.target.value ? new Date(e.target.value) : null;
184
+ setNewMilestone({
185
+ ...newMilestone,
186
+ expectedCompletionDate: date?.toISOString() || "",
187
+ });
188
+ }, name: "expected-completion-date", placeholder: "Select expected completion date" }), _jsxs("div", { className: "flex items-center pt-6", children: [_jsx("input", { type: "checkbox", id: "requiresApproval", checked: newMilestone.requiresApproval, onChange: (e) => setNewMilestone({
189
+ ...newMilestone,
190
+ requiresApproval: e.target.checked,
191
+ }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "requiresApproval", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Requires Approval" })] })] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { type: "submit", color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: "Add Milestone" }), _jsx(Button, { type: "button", onClick: () => {
192
+ setIsAddingNew(false);
193
+ setNewMilestone({
194
+ name: "",
195
+ amount: "",
196
+ expectedCompletionDate: "",
197
+ requiresApproval: true,
198
+ });
199
+ }, color: "light", size: "sm", className: "cursor-pointer hover:bg-gray-600 hover:text-white", children: "Cancel" })] })] })] })), milestones.length > 0 ? (_jsx(ObjectSetTable, { data: milestones, columns: columns, onAdd: () => setIsAddingNew(true), onDelete: (row) => {
200
+ dispatch(actions.deleteMilestone({ id: row.id }));
201
+ toast("Milestone deleted", {
202
+ type: "success",
203
+ });
204
+ } })) : (_jsxs("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400 border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg", children: [_jsx(Icon, { name: "Calendar", size: 48, className: "mx-auto mb-4 text-gray-400" }), _jsx("p", { className: "text-lg font-medium", children: "No milestones defined yet" }), _jsx("p", { className: "text-sm", children: "Add your first milestone to get started" })] }))] }));
205
+ }
@@ -0,0 +1,10 @@
1
+ import type { PaymentTermsState } from "../../document-models/payment-terms/gen/schema/types.js";
2
+ import type { PaymentTermsAction } from "../../document-models/payment-terms/gen/actions.js";
3
+ import { type actions as paymentTermsActions } from "../../document-models/payment-terms/index.js";
4
+ export interface RetainerTabProps {
5
+ state: PaymentTermsState;
6
+ dispatch: (action: PaymentTermsAction) => void;
7
+ actions: typeof paymentTermsActions;
8
+ }
9
+ export declare function RetainerTab({ state, dispatch, actions }: RetainerTabProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=retainer-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retainer-tab.d.ts","sourceRoot":"","sources":["../../../editors/payment-terms/retainer-tab.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,yDAAyD,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,mBAAmB,CAAC;CACrC;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,gBAAgB,2CA+RzE"}
@@ -0,0 +1,91 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useCallback, useMemo } from "react";
3
+ import { TextInput, Select, Textarea, DatePicker, Button } from "@powerhousedao/document-engineering";
4
+ import { toast } from "@powerhousedao/design-system";
5
+ import {} from "../../document-models/payment-terms/index.js";
6
+ export function RetainerTab({ state, dispatch, actions }) {
7
+ const [isEditing, setIsEditing] = useState(false);
8
+ const [formData, setFormData] = useState({
9
+ retainerAmount: state.retainerDetails?.retainerAmount?.value?.toString() || "",
10
+ billingFrequency: state.retainerDetails?.billingFrequency || "MONTHLY",
11
+ startDate: state.retainerDetails?.startDate || "",
12
+ endDate: state.retainerDetails?.endDate || "",
13
+ autoRenew: state.retainerDetails?.autoRenew || false,
14
+ servicesIncluded: state.retainerDetails?.servicesIncluded || "",
15
+ });
16
+ const billingFrequencyOptions = useMemo(() => [
17
+ { label: "Weekly", value: "WEEKLY" },
18
+ { label: "Biweekly", value: "BIWEEKLY" },
19
+ { label: "Monthly", value: "MONTHLY" },
20
+ ], []);
21
+ const handleSubmit = useCallback((e) => {
22
+ e.preventDefault();
23
+ if (!formData.retainerAmount ||
24
+ isNaN(parseFloat(formData.retainerAmount))) {
25
+ toast("Please enter a valid retainer amount", {
26
+ type: "error",
27
+ });
28
+ return;
29
+ }
30
+ if (!formData.startDate) {
31
+ toast("Start date is required", {
32
+ type: "error",
33
+ });
34
+ return;
35
+ }
36
+ if (!formData.servicesIncluded.trim()) {
37
+ toast("Services included description is required", {
38
+ type: "error",
39
+ });
40
+ return;
41
+ }
42
+ // Convert date strings to ISO format for the schema
43
+ const startDate = new Date(formData.startDate).toISOString();
44
+ const endDate = formData.endDate
45
+ ? new Date(formData.endDate).toISOString()
46
+ : undefined;
47
+ dispatch(actions.setRetainerDetails({
48
+ retainerAmount: {
49
+ value: parseFloat(formData.retainerAmount),
50
+ unit: state.currency,
51
+ },
52
+ billingFrequency: formData.billingFrequency,
53
+ startDate: startDate,
54
+ endDate: endDate,
55
+ autoRenew: formData.autoRenew,
56
+ servicesIncluded: formData.servicesIncluded,
57
+ }));
58
+ toast("Retainer configuration saved", {
59
+ type: "success",
60
+ });
61
+ setIsEditing(false);
62
+ }, [formData, dispatch, actions, state.currency]);
63
+ const handleCancel = useCallback(() => {
64
+ setFormData({
65
+ retainerAmount: state.retainerDetails?.retainerAmount?.value?.toString() || "",
66
+ billingFrequency: state.retainerDetails?.billingFrequency || "MONTHLY",
67
+ startDate: state.retainerDetails?.startDate || "",
68
+ endDate: state.retainerDetails?.endDate || "",
69
+ autoRenew: state.retainerDetails?.autoRenew || false,
70
+ servicesIncluded: state.retainerDetails?.servicesIncluded || "",
71
+ });
72
+ setIsEditing(false);
73
+ }, [state.retainerDetails]);
74
+ if (!isEditing) {
75
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Retainer Configuration" }), _jsx(Button, { onClick: () => setIsEditing(true), color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: state.retainerDetails
76
+ ? "Edit Configuration"
77
+ : "Configure Retainer" })] }), state.retainerDetails ? (_jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Retainer Amount" }), _jsx("p", { className: "text-lg dark:text-white", children: state.retainerDetails.retainerAmount
78
+ ? `${state.retainerDetails.retainerAmount.value} ${state.retainerDetails.retainerAmount.unit}`
79
+ : "Not set" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Billing Frequency" }), _jsx("p", { className: "text-lg dark:text-white", children: state.retainerDetails.billingFrequency })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Start Date" }), _jsx("p", { className: "text-lg dark:text-white", children: state.retainerDetails.startDate })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "End Date" }), _jsx("p", { className: "text-lg dark:text-white", children: state.retainerDetails.endDate || "Ongoing" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Auto Renew" }), _jsx("p", { className: "text-lg dark:text-white", children: state.retainerDetails.autoRenew ? "Yes" : "No" })] }), _jsxs("div", { className: "col-span-2", children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: "Services Included" }), _jsx("div", { className: "bg-gray-50 dark:bg-gray-700 p-3 rounded border dark:border-gray-600", children: _jsx("p", { className: "text-sm dark:text-white", children: state.retainerDetails.servicesIncluded }) })] })] })) : (_jsxs("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: [_jsx("p", { children: "No retainer configuration set up yet." }), _jsx("p", { className: "text-sm", children: "Click \"Configure Retainer\" to get started." })] }))] }));
80
+ }
81
+ return (_jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsx("div", { className: "flex justify-between items-center mb-4", children: _jsx("h2", { className: "text-xl font-semibold dark:text-white", children: "Configure Retainer" }) }), _jsxs("div", { className: "grid grid-cols-2 gap-6", children: [_jsx(TextInput, { label: "Retainer Amount *", type: "number", value: formData.retainerAmount, onChange: (e) => setFormData({ ...formData, retainerAmount: e.target.value }), className: "w-full", placeholder: "0.00", step: "0.01", required: true }), _jsx(Select, { label: "Billing Frequency *", options: billingFrequencyOptions, value: formData.billingFrequency, onChange: (value) => setFormData({
82
+ ...formData,
83
+ billingFrequency: value,
84
+ }) }), _jsx(DatePicker, { value: formData.startDate ? new Date(formData.startDate) : undefined, onChange: (e) => {
85
+ const date = e.target.value ? new Date(e.target.value) : null;
86
+ setFormData({ ...formData, startDate: date?.toISOString() || "" });
87
+ }, name: "start-date", placeholder: "Select start date", required: true }), _jsx(DatePicker, { value: formData.endDate ? new Date(formData.endDate) : undefined, onChange: (e) => {
88
+ const date = e.target.value ? new Date(e.target.value) : null;
89
+ setFormData({ ...formData, endDate: date?.toISOString() || "" });
90
+ }, name: "end-date", placeholder: "Select end date (optional)" }), _jsx("div", { className: "col-span-2", children: _jsx(Textarea, { label: "Services Included *", value: formData.servicesIncluded, onChange: (e) => setFormData({ ...formData, servicesIncluded: e.target.value }), className: "w-full", rows: 4, placeholder: "Describe the services included in the retainer...", required: true }) }), _jsx("div", { className: "col-span-2", children: _jsxs("div", { className: "flex items-center", children: [_jsx("input", { type: "checkbox", id: "autoRenew", checked: formData.autoRenew, onChange: (e) => setFormData({ ...formData, autoRenew: e.target.checked }), className: "mr-2 h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" }), _jsx("label", { htmlFor: "autoRenew", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Auto-Renew Retainer" })] }) })] }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { type: "submit", color: "light", size: "sm", className: "cursor-pointer hover:bg-blue-600 hover:text-white", children: "Save Configuration" }), _jsx(Button, { type: "button", onClick: handleCancel, color: "light", size: "sm", className: "cursor-pointer hover:bg-gray-600 hover:text-white", children: "Cancel" })] })] }));
91
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/request-for-proposals/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqB1D,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAYjC,MAAM,CAAC,OAAO,UAAU,MAAM,4CA+P7B"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/request-for-proposals/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAsB1D,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAYjC,MAAM,CAAC,OAAO,UAAU,MAAM,4CA4P7B"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { actions, } from "../../document-models/request-for-proposals/index.js";
3
3
  import { DatePicker, Select, TextInput, NumberInput, } from "@powerhousedao/document-engineering";
4
- import { toast, ToastContainer } from "@powerhousedao/design-system/connect";
4
+ import { toast, ToastContainer } from "@powerhousedao/design-system";
5
5
  import { MarkdownEditor } from "./markdown-editor.js";
6
- import { useSelectedRequestForProposalsDocument } from "../../document-models/request-for-proposals/hooks.js";
7
- import { DocumentToolbar } from "@powerhousedao/design-system/connect";
6
+ import { useSelectedRequestForProposalsDocument } from "../hooks/useRequestForProposalsDocument.js";
7
+ import { DocumentToolbar } from "@powerhousedao/design-system";
8
8
  import { setSelectedNode, useParentFolderForSelectedNode, } from "@powerhousedao/reactor-browser";
9
9
  const statusOptions = [
10
10
  { label: "DRAFT", value: "DRAFT" },
@@ -42,7 +42,7 @@ export default function Editor() {
42
42
  if (e.target.value !== state.title) {
43
43
  dispatch(actions.editRfp({ title: e.target.value }));
44
44
  }
45
- }, placeholder: "Enter rfp title" })] }), _jsx("div", { className: "w-[150px]", children: _jsx(Select, { label: "Status", options: statusOptions, value: state.status, onChange: (value) => dispatch(actions.editRfp({ status: value })) }) })] }) }), _jsx("div", { className: "bg-white rounded-lg p-6 mb-6 shadow-sm", children: _jsx(MarkdownEditor, { height: 200, label: "Summary", value: state.summary ?? "", onChange: () => { }, onBlur: (value) => dispatch(actions.editRfp({ summary: value })) }) }), _jsxs("div", { className: "flex flex-row justify-between bg-white rounded-lg p-6 mb-6 shadow-sm", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "Submission Deadline" }), _jsx("div", { className: "w-[250px]", children: _jsx(DatePicker, { className: "bg-white", value: state.deadline ? new Date(state.deadline) : undefined, onChange: (e) => {
45
+ }, placeholder: "Enter rfp title" })] }), _jsx("div", { className: "w-[150px]", children: _jsx(Select, { label: "Status", options: statusOptions, value: state.status, onChange: (value) => dispatch(actions.editRfp({ status: value })) }) })] }) }), _jsx("div", { className: "bg-white rounded-lg p-6 mb-6 shadow-sm", children: _jsx(MarkdownEditor, { height: 200, label: "Summary", value: state.summary ?? "", onChange: () => { }, onBlur: (value) => dispatch(actions.editRfp({ summary: value })) }) }), _jsxs("div", { className: "flex flex-row justify-between bg-white rounded-lg p-6 mb-6 shadow-sm", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "Submission Deadline" }), _jsx("div", { className: "w-[250px]", children: _jsx(DatePicker, { value: state.deadline ? new Date(state.deadline) : undefined, onChange: (e) => {
46
46
  const date = e.target.value
47
47
  ? new Date(e.target.value)
48
48
  : null;
@@ -0,0 +1,4 @@
1
+ import type { EditorModule } from "document-model";
2
+ export declare const module: EditorModule;
3
+ export default module;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/request-for-proposals/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,MAAM,EAAE,YAOpB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,10 @@
1
+ import Editor from "./editor.js";
2
+ export const module = {
3
+ Component: Editor,
4
+ documentTypes: ["powerhouse/rfp"],
5
+ config: {
6
+ id: "request-for-proposals-editor",
7
+ name: "Request for Proposals Editor",
8
+ },
9
+ };
10
+ export default module;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-editor.d.ts","sourceRoot":"","sources":["../../../editors/request-for-proposals/markdown-editor.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAY,EACZ,KAAiB,EACjB,cAAqD,GACtD,EAAE,mBAAmB,2CA2LrB"}
1
+ {"version":3,"file":"markdown-editor.d.ts","sourceRoot":"","sources":["../../../editors/request-for-proposals/markdown-editor.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAY,EACZ,KAAiB,EACjB,cAAqD,GACtD,EAAE,mBAAmB,2CAuLrB"}
@@ -43,7 +43,7 @@ export function MarkdownEditor({ value, onChange, onBlur, height = 350, label =
43
43
  // Update contentValue when value prop changes
44
44
  useEffect(() => {
45
45
  if (isLoaded) {
46
- const stringValue = typeof value === "string" ? value : "";
46
+ const stringValue = typeof value === 'string' ? value : '';
47
47
  const safeValue = stringValue.trim() || " ";
48
48
  setContentValue(safeValue);
49
49
  }
@@ -76,9 +76,9 @@ export function MarkdownEditor({ value, onChange, onBlur, height = 350, label =
76
76
  // Handle content changes
77
77
  const handleContentChange = (newValue) => {
78
78
  if (newValue !== undefined) {
79
- const stringValue = typeof newValue === "string" ? newValue : "";
79
+ const stringValue = typeof newValue === 'string' ? newValue : '';
80
80
  // Only replace completely empty strings with a space, preserve all other content
81
- const safeValue = stringValue === "" ? " " : stringValue;
81
+ const safeValue = stringValue === '' ? " " : stringValue;
82
82
  setContentValue(safeValue);
83
83
  onChange(newValue); // Keep the original value for the parent component
84
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/workstream/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAgDxB,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAsBjC,MAAM,CAAC,OAAO,UAAU,MAAM,4CAu9C7B"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/workstream/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AA8CxB,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAsBjC,MAAM,CAAC,OAAO,UAAU,MAAM,4CAwzC7B"}