@powerhousedao/contributor-billing 0.1.3 → 0.1.4

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 (159) hide show
  1. package/dist/document-models/expense-report/gen/actions.d.ts +4 -0
  2. package/dist/document-models/expense-report/gen/actions.d.ts.map +1 -0
  3. package/dist/document-models/expense-report/gen/actions.js +1 -0
  4. package/dist/document-models/expense-report/gen/creators.d.ts +2 -0
  5. package/dist/document-models/expense-report/gen/creators.d.ts.map +1 -0
  6. package/dist/document-models/expense-report/gen/creators.js +1 -0
  7. package/dist/document-models/expense-report/gen/document-model.d.ts +3 -0
  8. package/dist/document-models/expense-report/gen/document-model.d.ts.map +1 -0
  9. package/dist/document-models/expense-report/gen/document-model.js +202 -0
  10. package/dist/document-models/expense-report/gen/expense-report/actions.d.ts +8 -0
  11. package/dist/document-models/expense-report/gen/expense-report/actions.d.ts.map +1 -0
  12. package/dist/document-models/expense-report/gen/expense-report/actions.js +1 -0
  13. package/dist/document-models/expense-report/gen/expense-report/creators.d.ts +4 -0
  14. package/dist/document-models/expense-report/gen/expense-report/creators.d.ts.map +1 -0
  15. package/dist/document-models/expense-report/gen/expense-report/creators.js +3 -0
  16. package/dist/document-models/expense-report/gen/expense-report/error.d.ts +2 -0
  17. package/dist/document-models/expense-report/gen/expense-report/error.d.ts.map +1 -0
  18. package/dist/document-models/expense-report/gen/expense-report/error.js +1 -0
  19. package/dist/document-models/expense-report/gen/expense-report/object.d.ts +7 -0
  20. package/dist/document-models/expense-report/gen/expense-report/object.d.ts.map +1 -0
  21. package/dist/document-models/expense-report/gen/expense-report/object.js +7 -0
  22. package/dist/document-models/expense-report/gen/expense-report/operations.d.ts +7 -0
  23. package/dist/document-models/expense-report/gen/expense-report/operations.d.ts.map +1 -0
  24. package/dist/document-models/expense-report/gen/expense-report/operations.js +1 -0
  25. package/dist/document-models/expense-report/gen/index.d.ts +8 -0
  26. package/dist/document-models/expense-report/gen/index.d.ts.map +1 -0
  27. package/dist/document-models/expense-report/gen/index.js +6 -0
  28. package/dist/document-models/expense-report/gen/object.d.ts +15 -0
  29. package/dist/document-models/expense-report/gen/object.d.ts.map +1 -0
  30. package/dist/document-models/expense-report/gen/object.js +25 -0
  31. package/dist/document-models/expense-report/gen/ph-factories.d.ts +27 -0
  32. package/dist/document-models/expense-report/gen/ph-factories.d.ts.map +1 -0
  33. package/dist/document-models/expense-report/gen/ph-factories.js +189 -0
  34. package/dist/document-models/expense-report/gen/reducer.d.ts +5 -0
  35. package/dist/document-models/expense-report/gen/reducer.d.ts.map +1 -0
  36. package/dist/document-models/expense-report/gen/reducer.js +76 -0
  37. package/dist/document-models/expense-report/gen/schema/index.d.ts +3 -0
  38. package/dist/document-models/expense-report/gen/schema/index.d.ts.map +1 -0
  39. package/dist/document-models/expense-report/gen/schema/index.js +2 -0
  40. package/dist/document-models/expense-report/gen/schema/types.d.ts +254 -0
  41. package/dist/document-models/expense-report/gen/schema/types.d.ts.map +1 -0
  42. package/dist/document-models/expense-report/gen/schema/types.js +1 -0
  43. package/dist/document-models/expense-report/gen/schema/zod.d.ts +32 -0
  44. package/dist/document-models/expense-report/gen/schema/zod.d.ts.map +1 -0
  45. package/dist/document-models/expense-report/gen/schema/zod.js +216 -0
  46. package/dist/document-models/expense-report/gen/types.d.ts +10 -0
  47. package/dist/document-models/expense-report/gen/types.d.ts.map +1 -0
  48. package/dist/document-models/expense-report/gen/types.js +1 -0
  49. package/dist/document-models/expense-report/gen/utils.d.ts +22 -0
  50. package/dist/document-models/expense-report/gen/utils.d.ts.map +1 -0
  51. package/dist/document-models/expense-report/gen/utils.js +181 -0
  52. package/dist/document-models/expense-report/gen/wallet/actions.d.ts +64 -0
  53. package/dist/document-models/expense-report/gen/wallet/actions.d.ts.map +1 -0
  54. package/dist/document-models/expense-report/gen/wallet/actions.js +1 -0
  55. package/dist/document-models/expense-report/gen/wallet/creators.d.ts +18 -0
  56. package/dist/document-models/expense-report/gen/wallet/creators.d.ts.map +1 -0
  57. package/dist/document-models/expense-report/gen/wallet/creators.js +17 -0
  58. package/dist/document-models/expense-report/gen/wallet/error.d.ts +2 -0
  59. package/dist/document-models/expense-report/gen/wallet/error.d.ts.map +1 -0
  60. package/dist/document-models/expense-report/gen/wallet/error.js +1 -0
  61. package/dist/document-models/expense-report/gen/wallet/object.d.ts +21 -0
  62. package/dist/document-models/expense-report/gen/wallet/object.d.ts.map +1 -0
  63. package/dist/document-models/expense-report/gen/wallet/object.js +49 -0
  64. package/dist/document-models/expense-report/gen/wallet/operations.d.ts +21 -0
  65. package/dist/document-models/expense-report/gen/wallet/operations.d.ts.map +1 -0
  66. package/dist/document-models/expense-report/gen/wallet/operations.js +1 -0
  67. package/dist/document-models/expense-report/index.d.ts +39 -0
  68. package/dist/document-models/expense-report/index.d.ts.map +1 -0
  69. package/dist/document-models/expense-report/index.js +21 -0
  70. package/dist/document-models/expense-report/src/reducers/wallet.d.ts +3 -0
  71. package/dist/document-models/expense-report/src/reducers/wallet.d.ts.map +1 -0
  72. package/dist/document-models/expense-report/src/reducers/wallet.js +180 -0
  73. package/dist/document-models/expense-report/src/tests/document-model.test.d.ts +6 -0
  74. package/dist/document-models/expense-report/src/tests/document-model.test.d.ts.map +1 -0
  75. package/dist/document-models/expense-report/src/tests/document-model.test.js +18 -0
  76. package/dist/document-models/expense-report/src/tests/expense-report.test.d.ts +6 -0
  77. package/dist/document-models/expense-report/src/tests/expense-report.test.d.ts.map +1 -0
  78. package/dist/document-models/expense-report/src/tests/expense-report.test.js +24 -0
  79. package/dist/document-models/expense-report/src/tests/wallet.test.d.ts +6 -0
  80. package/dist/document-models/expense-report/src/tests/wallet.test.d.ts.map +1 -0
  81. package/dist/document-models/expense-report/src/tests/wallet.test.js +24 -0
  82. package/dist/document-models/expense-report/src/utils.d.ts +2 -0
  83. package/dist/document-models/expense-report/src/utils.d.ts.map +1 -0
  84. package/dist/document-models/expense-report/src/utils.js +1 -0
  85. package/dist/document-models/index.d.ts +1 -0
  86. package/dist/document-models/index.d.ts.map +1 -1
  87. package/dist/document-models/index.js +1 -0
  88. package/dist/document-models/integrations/gen/ph-factories.d.ts.map +1 -1
  89. package/dist/document-models/integrations/gen/ph-factories.js +2 -14
  90. package/dist/document-models/integrations/gen/utils.d.ts.map +1 -1
  91. package/dist/document-models/integrations/gen/utils.js +2 -14
  92. package/dist/document-models/invoice/gen/ph-factories.d.ts.map +1 -1
  93. package/dist/document-models/invoice/gen/ph-factories.js +2 -5
  94. package/dist/document-models/invoice/gen/schema/types.d.ts +1 -1
  95. package/dist/document-models/invoice/gen/schema/types.d.ts.map +1 -1
  96. package/dist/document-models/invoice/gen/utils.d.ts.map +1 -1
  97. package/dist/document-models/invoice/gen/utils.js +1 -4
  98. package/dist/editors/billing-statement/components/lineItemsTable.d.ts.map +1 -1
  99. package/dist/editors/billing-statement/components/lineItemsTable.js +71 -13
  100. package/dist/editors/billing-statement/editor.js +1 -1
  101. package/dist/editors/contributor-billing/components/DriveExplorer.d.ts.map +1 -1
  102. package/dist/editors/contributor-billing/components/DriveExplorer.js +8 -4
  103. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderControls.d.ts +4 -1
  104. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderControls.d.ts.map +1 -1
  105. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderControls.js +2 -2
  106. package/dist/editors/contributor-billing/components/InvoiceTable/InvoiceTable.d.ts.map +1 -1
  107. package/dist/editors/contributor-billing/components/InvoiceTable/InvoiceTable.js +24 -1
  108. package/dist/editors/expense-report/components/AddBillingStatementModal.d.ts +11 -0
  109. package/dist/editors/expense-report/components/AddBillingStatementModal.d.ts.map +1 -0
  110. package/dist/editors/expense-report/components/AddBillingStatementModal.js +170 -0
  111. package/dist/editors/expense-report/components/AggregatedExpensesTable.d.ts +11 -0
  112. package/dist/editors/expense-report/components/AggregatedExpensesTable.d.ts.map +1 -0
  113. package/dist/editors/expense-report/components/AggregatedExpensesTable.js +232 -0
  114. package/dist/editors/expense-report/components/WalletsTable.d.ts +10 -0
  115. package/dist/editors/expense-report/components/WalletsTable.d.ts.map +1 -0
  116. package/dist/editors/expense-report/components/WalletsTable.js +164 -0
  117. package/dist/editors/expense-report/editor.d.ts +2 -0
  118. package/dist/editors/expense-report/editor.d.ts.map +1 -0
  119. package/dist/editors/expense-report/editor.js +88 -0
  120. package/dist/editors/expense-report/hooks/useSyncWallet.d.ts +5 -0
  121. package/dist/editors/expense-report/hooks/useSyncWallet.d.ts.map +1 -0
  122. package/dist/editors/expense-report/hooks/useSyncWallet.js +55 -0
  123. package/dist/editors/expense-report/hooks/useWalletSync.d.ts +9 -0
  124. package/dist/editors/expense-report/hooks/useWalletSync.d.ts.map +1 -0
  125. package/dist/editors/expense-report/hooks/useWalletSync.js +79 -0
  126. package/dist/editors/expense-report/index.d.ts +3 -0
  127. package/dist/editors/expense-report/index.d.ts.map +1 -0
  128. package/dist/editors/expense-report/index.js +11 -0
  129. package/dist/editors/hooks/useExpenseReportDocument.d.ts +4 -0
  130. package/dist/editors/hooks/useExpenseReportDocument.d.ts.map +1 -0
  131. package/dist/editors/hooks/useExpenseReportDocument.js +8 -0
  132. package/dist/editors/index.d.ts +1 -0
  133. package/dist/editors/index.d.ts.map +1 -1
  134. package/dist/editors/index.js +1 -0
  135. package/dist/editors/invoice/components/statusModalComponents.d.ts.map +1 -1
  136. package/dist/editors/invoice/components/statusModalComponents.js +4 -4
  137. package/dist/editors/invoice/editor.js +1 -1
  138. package/dist/editors/invoice/ingestPDF.d.ts.map +1 -1
  139. package/dist/editors/invoice/ingestPDF.js +3 -3
  140. package/dist/editors/invoice/invoiceToGnosis.js +1 -1
  141. package/dist/editors/invoice/requestFinance.js +1 -1
  142. package/dist/editors/invoice/uploadPdfChunked.js +1 -1
  143. package/dist/index.d.ts +1 -1
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/powerhouse.manifest.json +13 -2
  146. package/dist/style.css +525 -37
  147. package/dist/subgraphs/expense-report/index.d.ts +11 -0
  148. package/dist/subgraphs/expense-report/index.d.ts.map +1 -0
  149. package/dist/subgraphs/expense-report/index.js +11 -0
  150. package/dist/subgraphs/expense-report/resolvers.d.ts +3 -0
  151. package/dist/subgraphs/expense-report/resolvers.d.ts.map +1 -0
  152. package/dist/subgraphs/expense-report/resolvers.js +252 -0
  153. package/dist/subgraphs/expense-report/schema.d.ts +3 -0
  154. package/dist/subgraphs/expense-report/schema.d.ts.map +1 -0
  155. package/dist/subgraphs/expense-report/schema.js +228 -0
  156. package/dist/subgraphs/index.d.ts +1 -0
  157. package/dist/subgraphs/index.d.ts.map +1 -1
  158. package/dist/subgraphs/index.js +1 -0
  159. package/package.json +13 -13
@@ -0,0 +1,79 @@
1
+ import { useMemo } from "react";
2
+ import { useSelectedDriveDocuments } from "@powerhousedao/reactor-browser";
3
+ export function useWalletSync(wallets) {
4
+ const documents = useSelectedDriveDocuments();
5
+ const syncStatus = useMemo(() => {
6
+ if (!documents || wallets.length === 0) {
7
+ return { needsSync: false, outdatedWallets: [], tagChangedWallets: [] };
8
+ }
9
+ // Create a map of billing statement documents
10
+ const billingStatements = new Map();
11
+ documents
12
+ .filter((doc) => doc.header.documentType === "powerhouse/billing-statement")
13
+ .forEach((doc) => {
14
+ billingStatements.set(doc.header.id, doc);
15
+ });
16
+ const outdatedWallets = [];
17
+ const tagChangedWallets = [];
18
+ // Check each wallet
19
+ wallets.forEach((wallet) => {
20
+ if (!wallet.billingStatements || wallet.billingStatements.length === 0) {
21
+ return; // No billing statements to sync
22
+ }
23
+ // Get current line items count and total for this wallet
24
+ const currentLineItemsCount = wallet.lineItems?.length || 0;
25
+ let currentTotal = 0;
26
+ wallet.lineItems?.forEach((item) => {
27
+ currentTotal += item?.actuals || 0;
28
+ });
29
+ // Calculate what the line items should be based on billing statements
30
+ let expectedLineItemsCount = 0;
31
+ let expectedTotal = 0;
32
+ const expectedTags = new Set();
33
+ wallet.billingStatements.forEach((statementId) => {
34
+ if (!statementId)
35
+ return;
36
+ const statement = billingStatements.get(statementId);
37
+ if (statement?.state?.global?.lineItems) {
38
+ expectedLineItemsCount += statement.state.global.lineItems.length;
39
+ statement.state.global.lineItems.forEach((item) => {
40
+ expectedTotal += item.totalPriceCash || 0;
41
+ // Collect tags from billing statement
42
+ const expenseAccountTag = item.lineItemTag?.find((tag) => tag.dimension === "expense-account");
43
+ if (expenseAccountTag?.label) {
44
+ expectedTags.add(expenseAccountTag.label);
45
+ }
46
+ });
47
+ }
48
+ });
49
+ // Check current tags in wallet line items
50
+ const currentTags = new Set();
51
+ wallet.lineItems?.forEach((item) => {
52
+ if (item?.group) {
53
+ // We need to map the group ID back to label to compare
54
+ // This is a simplified check - just checking if tags exist
55
+ currentTags.add(item.group);
56
+ }
57
+ });
58
+ // Check if wallet needs sync (count or total mismatch)
59
+ const needsQuantitySync = currentLineItemsCount !== expectedLineItemsCount ||
60
+ Math.abs(currentTotal - expectedTotal) > 0.01; // Account for floating point precision
61
+ // Check if tags have changed (size mismatch suggests tag changes)
62
+ const hasTagChanges = expectedTags.size > 0 && currentTags.size !== expectedTags.size;
63
+ if (needsQuantitySync || hasTagChanges) {
64
+ if (wallet.wallet) {
65
+ outdatedWallets.push(wallet.wallet);
66
+ if (hasTagChanges) {
67
+ tagChangedWallets.push(wallet.wallet);
68
+ }
69
+ }
70
+ }
71
+ });
72
+ return {
73
+ needsSync: outdatedWallets.length > 0,
74
+ outdatedWallets,
75
+ tagChangedWallets,
76
+ };
77
+ }, [documents, wallets]);
78
+ return syncStatus;
79
+ }
@@ -0,0 +1,3 @@
1
+ import type { EditorModule } from "document-model";
2
+ export declare const module: EditorModule;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/expense-report/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,MAAM,EAAE,YASpB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Editor } from "./editor.js";
2
+ export const module = {
3
+ Component: Editor,
4
+ documentTypes: ["powerhouse/expense-report"],
5
+ config: {
6
+ id: "powerhouse-expense-report-editor",
7
+ disableExternalControls: true,
8
+ documentToolbarEnabled: true,
9
+ showSwitchboardLink: true,
10
+ },
11
+ };
@@ -0,0 +1,4 @@
1
+ import type { ExpenseReportDocument } from "../../document-models/expense-report/index.js";
2
+ export declare function useExpenseReportDocument(documentId: string | null | undefined): never[] | [ExpenseReportDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/expense-report/gen/actions.js").ExpenseReportWalletAction>];
3
+ export declare function useSelectedExpenseReportDocument(): never[] | [ExpenseReportDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/expense-report/gen/actions.js").ExpenseReportWalletAction>];
4
+ //# sourceMappingURL=useExpenseReportDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpenseReportDocument.d.ts","sourceRoot":"","sources":["../../../editors/hooks/useExpenseReportDocument.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,+CAA+C,CAAC;AAEvD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,yLAMtC;AAED,wBAAgB,gCAAgC,0LAG/C"}
@@ -0,0 +1,8 @@
1
+ import { useDocumentOfType, useSelectedDocumentId, } from "@powerhousedao/reactor-browser";
2
+ export function useExpenseReportDocument(documentId) {
3
+ return useDocumentOfType(documentId, "powerhouse/expense-report");
4
+ }
5
+ export function useSelectedExpenseReportDocument() {
6
+ const selectedDocumentId = useSelectedDocumentId();
7
+ return useExpenseReportDocument(selectedDocumentId);
8
+ }
@@ -2,4 +2,5 @@ export { module as Invoice } from "./invoice/index.js";
2
2
  export { module as ContributorBilling } from "./contributor-billing/index.js";
3
3
  export { module as BillingStatement } from "./billing-statement/index.js";
4
4
  export { module as Integrations } from "./integrations/index.js";
5
+ export { module as ExpenseReport } from "./expense-report/index.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
@@ -2,3 +2,4 @@ export { module as Invoice } from "./invoice/index.js";
2
2
  export { module as ContributorBilling } from "./contributor-billing/index.js";
3
3
  export { module as BillingStatement } from "./billing-statement/index.js";
4
4
  export { module as Integrations } from "./integrations/index.js";
5
+ export { module as ExpenseReport } from "./expense-report/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"statusModalComponents.d.ts","sourceRoot":"","sources":["../../../../editors/invoice/components/statusModalComponents.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,OAAO,EAEb,MAAM,2CAA2C,CAAC;AAYnD,UAAU,6BAA6B;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3C;AACD,wBAAgB,wBAAwB,CAAC,EACvC,cAAc,EACd,iBAAiB,EACjB,KAAK,EACL,QAAQ,EACR,UAAU,GACX,EAAE,6BAA6B,2CAqD/B;AAED,UAAU,8BAA8B;IACtC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,wBAAgB,yBAAyB,CAAC,EACxC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,GACb,EAAE,8BAA8B,2CAwBhC;AAED,wBAAgB,0BAA0B,CAAC,EACzC,YAAY,GACb,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;CACtB,2CAIA;AAED,UAAU,gCAAgC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,UAAU,EACV,aAAa,GACd,EAAE,gCAAgC,2CAelC;AAED,UAAU,6BAA6B;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,wBAAwB,CAAC,EACvC,aAAa,EACb,gBAAgB,GACjB,EAAE,6BAA6B,2CA4B/B;AAED,UAAU,kCAAkC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,WAAW,EACX,cAAc,EACd,MAAM,EACN,SAAS,GACV,EAAE,kCAAkC,2CA0BpC;AAED,UAAU,mCAAmC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,YAAY,EACZ,eAAe,GAChB,EAAE,mCAAmC,2CAerC;AAED,UAAU,+BAA+B;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,wBAAgB,0BAA0B,CAAC,EACzC,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,EAAE,+BAA+B,2CAiCjC"}
1
+ {"version":3,"file":"statusModalComponents.d.ts","sourceRoot":"","sources":["../../../../editors/invoice/components/statusModalComponents.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,OAAO,EAEb,MAAM,2CAA2C,CAAC;AAYnD,UAAU,6BAA6B;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3C;AACD,wBAAgB,wBAAwB,CAAC,EACvC,cAAc,EACd,iBAAiB,EACjB,KAAK,EACL,QAAQ,EACR,UAAU,GACX,EAAE,6BAA6B,2CAqD/B;AAED,UAAU,8BAA8B;IACtC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,wBAAgB,yBAAyB,CAAC,EACxC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,GACb,EAAE,8BAA8B,2CAyBhC;AAED,wBAAgB,0BAA0B,CAAC,EACzC,YAAY,GACb,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;CACtB,2CAIA;AAED,UAAU,gCAAgC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,UAAU,EACV,aAAa,GACd,EAAE,gCAAgC,2CAgBlC;AAED,UAAU,6BAA6B;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,wBAAwB,CAAC,EACvC,aAAa,EACb,gBAAgB,GACjB,EAAE,6BAA6B,2CA4B/B;AAED,UAAU,kCAAkC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,WAAW,EACX,cAAc,EACd,MAAM,EACN,SAAS,GACV,EAAE,kCAAkC,2CA2BpC;AAED,UAAU,mCAAmC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,YAAY,EACZ,eAAe,GAChB,EAAE,mCAAmC,2CAgBrC;AAED,UAAU,+BAA+B;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,wBAAgB,0BAA0B,CAAC,EACzC,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,EAAE,+BAA+B,2CAuCjC"}
@@ -27,7 +27,7 @@ export function IssueInvoiceModalContent({ invoiceNoInput, setInvoiceNoInput, st
27
27
  }, value: state.dateIssued })] })] }));
28
28
  }
29
29
  export function RejectInvoiceModalContent({ state, dispatch, setWarning, setRejectReason, setFinalReason, finalReason, rejectReason, }) {
30
- return (_jsxs("div", { className: "w-full", children: [_jsxs("div", { children: [_jsx("label", { className: "block mb-1 text-sm", children: "Reason:" }), _jsx(Textarea, { placeholder: "Add reason", value: rejectReason, onChange: (e) => {
30
+ return (_jsxs("div", { className: "w-full", children: [_jsxs("div", { children: [_jsx("label", { className: "block mb-1 text-sm", children: "Reason:" }), _jsx(Textarea, { autoExpand: true, placeholder: "Add reason", value: rejectReason, onChange: (e) => {
31
31
  setRejectReason(e.target.value);
32
32
  } })] }), _jsx("div", { className: "mt-4 flex justify-center gap-2", children: _jsx(Checkbox, { label: "Final", value: finalReason, onChange: () => {
33
33
  setFinalReason(!finalReason);
@@ -37,7 +37,7 @@ export function FinalRejectionModalContent({ rejectReason, }) {
37
37
  return (_jsxs("div", { children: ["Invoice is rejected with reason: ", rejectReason, " and is final."] }));
38
38
  }
39
39
  export function SchedulePaymentModalContent({ paymentRef, setPaymentRef, }) {
40
- return (_jsx("div", { className: "w-full", children: _jsxs("div", { children: [_jsx("label", { className: "block mb-1 text-sm", children: "Payment Reference:" }), _jsx(Textarea, { placeholder: "Add payment reference", value: paymentRef, onChange: (e) => {
40
+ return (_jsx("div", { className: "w-full", children: _jsxs("div", { children: [_jsx("label", { className: "block mb-1 text-sm", children: "Payment Reference:" }), _jsx(Textarea, { autoExpand: true, placeholder: "Add payment reference", value: paymentRef, onChange: (e) => {
41
41
  setPaymentRef(e.target.value);
42
42
  } })] }) }));
43
43
  }
@@ -62,12 +62,12 @@ export function ClosePaymentModalContent({ closureReason, setClosureReason, }) {
62
62
  export function RegisterPaymentTxModalContent({ paymentDate, setPaymentDate, txnRef, setTxnRef, }) {
63
63
  return (_jsxs("div", { className: "w-full", children: [_jsxs("div", { className: "mt-4", children: [_jsx("label", { className: "block mb-1 text-sm", children: "Payment Date:" }), _jsx(DatePicker, { name: "paymentDate", className: String.raw `w-full p-0`, onChange: (e) => {
64
64
  setPaymentDate(e.target.value);
65
- }, value: paymentDate })] }), _jsxs("div", { className: "mt-4", children: [_jsx("label", { className: "block mb-1 text-sm", children: "Transaction Reference:" }), _jsx(Textarea, { placeholder: "Add transaction reference", value: txnRef, onChange: (e) => {
65
+ }, value: paymentDate })] }), _jsxs("div", { className: "mt-4", children: [_jsx("label", { className: "block mb-1 text-sm", children: "Transaction Reference:" }), _jsx(Textarea, { autoExpand: true, placeholder: "Add transaction reference", value: txnRef, onChange: (e) => {
66
66
  setTxnRef(e.target.value);
67
67
  } })] })] }));
68
68
  }
69
69
  export function ReportPaymentIssueModalContent({ paymentIssue, setPaymentIssue, }) {
70
- return (_jsx("div", { className: "w-full", children: _jsxs("div", { children: [_jsx("label", { className: "block mb-1 text-sm", children: "Payment Issue:" }), _jsx(Textarea, { placeholder: "Add payment issue", value: paymentIssue, onChange: (e) => {
70
+ return (_jsx("div", { className: "w-full", children: _jsxs("div", { children: [_jsx("label", { className: "block mb-1 text-sm", children: "Payment Issue:" }), _jsx(Textarea, { autoExpand: true, placeholder: "Add payment issue", value: paymentIssue, onChange: (e) => {
71
71
  setPaymentIssue(e.target.value);
72
72
  } })] }) }));
73
73
  }
@@ -416,7 +416,7 @@ export default function Editor(props) {
416
416
  })), onAddItem: (item) => dispatch(actions.addLineItem(item)), onDeleteItem: (input) => dispatch(actions.deleteLineItem(input)), onUpdateCurrency: (input) => {
417
417
  setFiatMode(input.currency !== "USDS");
418
418
  dispatch(actions.editInvoice(input));
419
- }, onUpdateItem: (item) => dispatch(actions.editLineItem(item)), onEditingItemChange: setEditingItemValues, dispatch: dispatch, paymentAccounts: state.invoiceTags || [] }) }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsx("div", { className: "col-span-1", children: _jsx("div", { className: "", children: _jsx(Textarea, { label: "Notes", placeholder: "Add notes", autoExpand: false, rows: 4, multiline: true, value: notes, onBlur: (e) => {
419
+ }, onUpdateItem: (item) => dispatch(actions.editLineItem(item)), onEditingItemChange: setEditingItemValues, dispatch: dispatch, paymentAccounts: state.invoiceTags || [] }) }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsx("div", { className: "col-span-1", children: _jsx("div", { className: "", children: _jsx(Textarea, { label: "Notes", placeholder: "Add notes", autoExpand: true, rows: 4, multiline: true, value: notes, onBlur: (e) => {
420
420
  const newValue = e.target.value;
421
421
  if (newValue !== state.notes) {
422
422
  dispatch(actions.editInvoice({ notes: newValue }));
@@ -1 +1 @@
1
- {"version":3,"file":"ingestPDF.d.ts","sourceRoot":"","sources":["../../../editors/invoice/ingestPDF.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAW,MAAM,wCAAwC,CAAC;AAWhF,wBAAsB,WAAW,CAAC,EAChC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C,iBAUA;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,kBAAkB,GACnB,EAAE,gBAAgB,2CAmRlB"}
1
+ {"version":3,"file":"ingestPDF.d.ts","sourceRoot":"","sources":["../../../editors/invoice/ingestPDF.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAW,MAAM,wCAAwC,CAAC;AAYhF,wBAAsB,WAAW,CAAC,EAChC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C,iBAUA;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,kBAAkB,GACnB,EAAE,gBAAgB,2CAoRlB"}
@@ -4,9 +4,9 @@ import { actions } from "../../document-models/invoice/index.js";
4
4
  import { toast } from "@powerhousedao/design-system";
5
5
  import { uploadPdfChunked } from "./uploadPdfChunked.js";
6
6
  import { getCountryCodeFromName } from "./utils/utils.js";
7
- let GRAPHQL_URL = "http://localhost:4001/graphql/invoice";
8
- if (!window.document.baseURI.includes("localhost")) {
9
- GRAPHQL_URL = "https://jetstream.powerhouse.io/api/graphql/invoice";
7
+ let GRAPHQL_URL = 'http://localhost:4001/graphql/invoice';
8
+ if (!window.document.baseURI.includes('localhost')) {
9
+ GRAPHQL_URL = 'https://switchboard-dev.powerhouse.xyz/graphql/invoice';
10
10
  }
11
11
  export async function loadPDFFile({ file, dispatch, }) {
12
12
  if (!file)
@@ -4,7 +4,7 @@ import { actions } from "../../document-models/invoice/index.js";
4
4
  import { generateId } from "document-model";
5
5
  let GRAPHQL_URL = "http://localhost:4001/graphql/invoice";
6
6
  if (!window.document.baseURI.includes("localhost")) {
7
- GRAPHQL_URL = "https://jetstream.powerhouse.io/api/graphql/invoice";
7
+ GRAPHQL_URL = "https://switchboard-dev.powerhouse.xyz/graphql/invoice";
8
8
  }
9
9
  const InvoiceToGnosis = ({ docState, dispatch, }) => {
10
10
  const [isLoading, setIsLoading] = useState(false);
@@ -4,7 +4,7 @@ import { actions } from "../../document-models/invoice/index.js";
4
4
  import { generateId } from "document-model";
5
5
  let GRAPHQL_URL = "http://localhost:4001/graphql/invoice";
6
6
  if (!window.document.baseURI.includes("localhost")) {
7
- GRAPHQL_URL = "https://jetstream.powerhouse.io/api/graphql/invoice";
7
+ GRAPHQL_URL = "https://switchboard-dev.powerhouse.xyz/graphql/invoice";
8
8
  }
9
9
  const RequestFinance = ({ docState, dispatch, }) => {
10
10
  const [isLoading, setIsLoading] = useState(false);
@@ -7,7 +7,7 @@
7
7
  */
8
8
  let GRAPHQL_URL = 'http://localhost:4001/graphql/invoice';
9
9
  if (!window.document.baseURI.includes('localhost')) {
10
- GRAPHQL_URL = "https://jetstream.powerhouse.io/api/graphql/invoice";
10
+ GRAPHQL_URL = 'https://switchboard-dev.powerhouse.xyz/graphql/invoice';
11
11
  }
12
12
  export async function uploadPdfChunked(pdfData, endpoint = GRAPHQL_URL, chunkSize = 500 * 1024, // 500KB chunks
13
13
  onProgress) {
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Manifest } from "document-model";
2
2
  export declare const manifest: Manifest;
3
- export declare const documentModels: (import("document-model").DocumentModelModule<import("./document-models/invoice/gen/ph-factories.js").InvoicePHState> | import("document-model").DocumentModelModule<import("./document-models/billing-statement/gen/ph-factories.js").BillingStatementPHState> | import("document-model").DocumentModelModule<import("./document-models/integrations/gen/ph-factories.js").IntegrationsPHState>)[];
3
+ export declare const documentModels: (import("document-model").DocumentModelModule<import("./document-models/invoice/gen/ph-factories.js").InvoicePHState> | import("document-model").DocumentModelModule<import("./document-models/billing-statement/gen/ph-factories.js").BillingStatementPHState> | import("document-model").DocumentModelModule<import("./document-models/integrations/gen/ph-factories.js").IntegrationsPHState> | import("document-model").DocumentModelModule<import("./document-models/expense-report/gen/ph-factories.js").ExpenseReportPHState>)[];
4
4
  export declare const editors: (import("document-model").EditorModule | import("@powerhousedao/reactor-browser").DriveEditorModule)[];
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK1C,eAAO,MAAM,QAAQ,EAAE,QAAuB,CAAC;AAC/C,eAAO,MAAM,cAAc,qYAAuC,CAAC;AACnE,eAAO,MAAM,OAAO,wGAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK1C,eAAO,MAAM,QAAQ,EAAE,QAAuB,CAAC;AAC/C,eAAO,MAAM,cAAc,ygBAAuC,CAAC;AACnE,eAAO,MAAM,OAAO,wGAAgC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "Contributor Billing",
3
3
  "description": "The invoice package offers contributors of decentralized and open organisations a way to get paid via their legal entity or governmental identity. ",
4
- "category": "Workforce",
4
+ "category": "Finance",
5
5
  "publisher": {
6
6
  "name": "Powerhouse",
7
- "url": "https://www.powerhouse.inc/"
7
+ "url": "https://powerhouse.inc/"
8
8
  },
9
9
  "documentModels": [
10
10
  {
@@ -18,6 +18,10 @@
18
18
  {
19
19
  "id": "powerhouse/billing-statement",
20
20
  "name": "Billing Statement"
21
+ },
22
+ {
23
+ "id": "powerhouse/expense-report",
24
+ "name": "Expense Report"
21
25
  }
22
26
  ],
23
27
  "editors": [
@@ -41,6 +45,13 @@
41
45
  "documentTypes": [
42
46
  "powerhouse/integrations"
43
47
  ]
48
+ },
49
+ {
50
+ "id": "powerhouse-expense-report-editor",
51
+ "name": "Expense Report",
52
+ "documentTypes": [
53
+ "powerhouse/expense-report"
54
+ ]
44
55
  }
45
56
  ],
46
57
  "apps": [