@powerhousedao/contributor-billing 0.0.33 → 0.0.34

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 (95) hide show
  1. package/dist/document-models/invoice/gen/actions.d.ts +3 -1
  2. package/dist/document-models/invoice/gen/actions.d.ts.map +1 -1
  3. package/dist/document-models/invoice/gen/actions.js +1 -0
  4. package/dist/document-models/invoice/gen/creators.d.ts +1 -0
  5. package/dist/document-models/invoice/gen/creators.d.ts.map +1 -1
  6. package/dist/document-models/invoice/gen/creators.js +1 -0
  7. package/dist/document-models/invoice/gen/document-model.d.ts.map +1 -1
  8. package/dist/document-models/invoice/gen/document-model.js +167 -50
  9. package/dist/document-models/invoice/gen/general/actions.d.ts +4 -6
  10. package/dist/document-models/invoice/gen/general/actions.d.ts.map +1 -1
  11. package/dist/document-models/invoice/gen/general/creators.d.ts +4 -6
  12. package/dist/document-models/invoice/gen/general/creators.d.ts.map +1 -1
  13. package/dist/document-models/invoice/gen/general/creators.js +2 -4
  14. package/dist/document-models/invoice/gen/general/object.d.ts +3 -5
  15. package/dist/document-models/invoice/gen/general/object.d.ts.map +1 -1
  16. package/dist/document-models/invoice/gen/general/object.js +6 -12
  17. package/dist/document-models/invoice/gen/general/operations.d.ts +3 -5
  18. package/dist/document-models/invoice/gen/general/operations.d.ts.map +1 -1
  19. package/dist/document-models/invoice/gen/object.d.ts +3 -1
  20. package/dist/document-models/invoice/gen/object.d.ts.map +1 -1
  21. package/dist/document-models/invoice/gen/object.js +8 -1
  22. package/dist/document-models/invoice/gen/reducer.d.ts.map +1 -1
  23. package/dist/document-models/invoice/gen/reducer.js +56 -15
  24. package/dist/document-models/invoice/gen/schema/types.d.ts +89 -23
  25. package/dist/document-models/invoice/gen/schema/types.d.ts.map +1 -1
  26. package/dist/document-models/invoice/gen/schema/zod.d.ts +21 -7
  27. package/dist/document-models/invoice/gen/schema/zod.d.ts.map +1 -1
  28. package/dist/document-models/invoice/gen/schema/zod.js +124 -28
  29. package/dist/document-models/invoice/gen/transitions/actions.d.ts +16 -0
  30. package/dist/document-models/invoice/gen/transitions/actions.d.ts.map +1 -0
  31. package/dist/document-models/invoice/gen/transitions/actions.js +1 -0
  32. package/dist/document-models/invoice/gen/transitions/creators.d.ts +15 -0
  33. package/dist/document-models/invoice/gen/transitions/creators.d.ts.map +1 -0
  34. package/dist/document-models/invoice/gen/transitions/creators.js +14 -0
  35. package/dist/document-models/invoice/gen/transitions/error.d.ts +2 -0
  36. package/dist/document-models/invoice/gen/transitions/error.d.ts.map +1 -0
  37. package/dist/document-models/invoice/gen/transitions/error.js +1 -0
  38. package/dist/document-models/invoice/gen/transitions/object.d.ts +18 -0
  39. package/dist/document-models/invoice/gen/transitions/object.d.ts.map +1 -0
  40. package/dist/document-models/invoice/gen/transitions/object.js +40 -0
  41. package/dist/document-models/invoice/gen/transitions/operations.d.ts +18 -0
  42. package/dist/document-models/invoice/gen/transitions/operations.d.ts.map +1 -0
  43. package/dist/document-models/invoice/gen/transitions/operations.js +1 -0
  44. package/dist/document-models/invoice/gen/utils.d.ts.map +1 -1
  45. package/dist/document-models/invoice/gen/utils.js +10 -6
  46. package/dist/document-models/invoice/index.d.ts +14 -4
  47. package/dist/document-models/invoice/index.d.ts.map +1 -1
  48. package/dist/document-models/invoice/src/reducers/general.d.ts.map +1 -1
  49. package/dist/document-models/invoice/src/reducers/general.js +26 -42
  50. package/dist/document-models/invoice/src/reducers/transitions.d.ts +8 -0
  51. package/dist/document-models/invoice/src/reducers/transitions.d.ts.map +1 -0
  52. package/dist/document-models/invoice/src/reducers/transitions.js +162 -0
  53. package/dist/document-models/invoice/src/tests/general.test.js +10 -31
  54. package/dist/document-models/invoice/src/tests/transitions.test.d.ts +6 -0
  55. package/dist/document-models/invoice/src/tests/transitions.test.d.ts.map +1 -0
  56. package/dist/document-models/invoice/src/tests/transitions.test.js +506 -0
  57. package/dist/document-models/invoice/utils/statusTransitions.d.ts +13 -0
  58. package/dist/document-models/invoice/utils/statusTransitions.d.ts.map +1 -0
  59. package/dist/document-models/invoice/utils/statusTransitions.js +13 -0
  60. package/dist/editors/billing-statement/lineItemTags/tagMapping.js +64 -64
  61. package/dist/editors/contributor-billing/components/DriveExplorer.js +1 -1
  62. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderControls.d.ts +3 -2
  63. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderControls.d.ts.map +1 -1
  64. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderControls.js +26 -3
  65. package/dist/editors/contributor-billing/components/InvoiceTable/InvoiceTable.d.ts.map +1 -1
  66. package/dist/editors/contributor-billing/components/InvoiceTable/InvoiceTable.js +11 -3
  67. package/dist/editors/invoice/components/confirmationModal.d.ts +14 -0
  68. package/dist/editors/invoice/components/confirmationModal.d.ts.map +1 -0
  69. package/dist/editors/invoice/components/confirmationModal.js +7 -0
  70. package/dist/editors/invoice/components/selectField.d.ts.map +1 -1
  71. package/dist/editors/invoice/components/selectField.js +109 -112
  72. package/dist/editors/invoice/components/statusModalComponents.d.ts +52 -0
  73. package/dist/editors/invoice/components/statusModalComponents.d.ts.map +1 -0
  74. package/dist/editors/invoice/components/statusModalComponents.js +78 -0
  75. package/dist/editors/invoice/editor.d.ts +1 -1
  76. package/dist/editors/invoice/editor.d.ts.map +1 -1
  77. package/dist/editors/invoice/editor.js +153 -158
  78. package/dist/editors/invoice/ingestUBL.d.ts.map +1 -1
  79. package/dist/editors/invoice/ingestUBL.js +0 -3
  80. package/dist/editors/invoice/invoiceToGnosis.d.ts.map +1 -1
  81. package/dist/editors/invoice/invoiceToGnosis.js +4 -3
  82. package/dist/editors/invoice/lineItemTags/tagMapping.d.ts.map +1 -1
  83. package/dist/editors/invoice/lineItemTags/tagMapping.js +65 -64
  84. package/dist/editors/invoice/validation/validationHandler.d.ts +4 -0
  85. package/dist/editors/invoice/validation/validationHandler.d.ts.map +1 -0
  86. package/dist/editors/invoice/validation/validationHandler.js +117 -0
  87. package/dist/scripts/contributor-billing/createXeroCsv.d.ts +8 -0
  88. package/dist/scripts/contributor-billing/createXeroCsv.d.ts.map +1 -0
  89. package/dist/scripts/contributor-billing/createXeroCsv.js +206 -0
  90. package/dist/style.css +181 -18
  91. package/dist/subgraphs/invoice/resolvers.d.ts.map +1 -1
  92. package/dist/subgraphs/invoice/resolvers.js +92 -22
  93. package/dist/subgraphs/invoice/schema.d.ts.map +1 -1
  94. package/dist/subgraphs/invoice/schema.js +181 -57
  95. package/package.json +1 -1
@@ -9,23 +9,31 @@ const STATUS_OPTIONS = [
9
9
  "CANCELLED",
10
10
  "ACCEPTED",
11
11
  "REJECTED",
12
- "AWAITINGPAYMENT",
13
12
  "PAYMENTSCHEDULED",
14
13
  "PAYMENTSENT",
15
14
  "PAYMENTISSUE",
16
15
  "PAYMENTRECEIVED",
16
+ "PAYMENTCLOSED",
17
17
  ];
18
18
  function warningIcon() {
19
19
  return _jsx(Icon, { name: "WarningFill", color: "#eb4235" });
20
20
  }
21
21
  function clockIcon() {
22
- return _jsx(FileCheck, { style: { width: 24, height: 24, fill: "#475264", color: 'white', padding: 0, margin: 0, borderColor: '#475264' } });
22
+ return (_jsx(FileCheck, { style: {
23
+ width: 24,
24
+ height: 24,
25
+ fill: "#475264",
26
+ color: "white",
27
+ padding: 0,
28
+ margin: 0,
29
+ borderColor: "#475264",
30
+ } }));
23
31
  }
24
32
  function checkCircleIcon(color) {
25
- return _jsx(FileCheck, { style: { width: 24, height: 24, fill: color, color: 'white' } });
33
+ return (_jsx(FileCheck, { style: { width: 24, height: 24, fill: color, color: "white" } }));
26
34
  }
27
35
  function arrowRightIcon(color) {
28
- return _jsx(ArrowBigRight, { style: { width: 22, height: 22, fill: color, color: color } });
36
+ return (_jsx(ArrowBigRight, { style: { width: 22, height: 22, fill: color, color: color } }));
29
37
  }
30
38
  const STATUS_OPTIONS_MAP = [
31
39
  {
@@ -53,11 +61,6 @@ const STATUS_OPTIONS_MAP = [
53
61
  value: "REJECTED",
54
62
  icon: warningIcon,
55
63
  },
56
- {
57
- label: "Awaiting Payment",
58
- value: "AWAITINGPAYMENT",
59
- icon: () => checkCircleIcon("#475264"),
60
- },
61
64
  {
62
65
  label: "Payment Scheduled",
63
66
  value: "PAYMENTSCHEDULED",
@@ -78,6 +81,11 @@ const STATUS_OPTIONS_MAP = [
78
81
  value: "PAYMENTRECEIVED",
79
82
  icon: () => checkCircleIcon("#34a853"),
80
83
  },
84
+ {
85
+ label: "Payment Closed",
86
+ value: "PAYMENTCLOSED",
87
+ icon: () => checkCircleIcon("#475264"),
88
+ },
81
89
  ];
82
90
  export const SelectField = (props) => {
83
91
  const { options, value: status, onChange } = props;
@@ -105,8 +113,8 @@ export const SelectField = (props) => {
105
113
  icon: warningIcon,
106
114
  },
107
115
  {
108
- label: "Re-draft Invoice",
109
- value: "RE_DRAFT_INVOICE",
116
+ label: "Reset Invoice",
117
+ value: "RESET_INVOICE",
110
118
  },
111
119
  ];
112
120
  const issuedActions = [
@@ -116,70 +124,72 @@ export const SelectField = (props) => {
116
124
  icon: () => arrowRightIcon("#475264"),
117
125
  },
118
126
  {
119
- label: "Pay now",
120
- value: "PAY_NOW",
127
+ label: "Reject Invoice",
128
+ value: "REJECT_INVOICE",
121
129
  },
122
130
  {
123
- label: "Pay later",
124
- value: "PAY_LATER",
131
+ label: "Accept Invoice",
132
+ value: "ACCEPT_INVOICE",
125
133
  },
134
+ ];
135
+ const rejectedActions = [
126
136
  {
127
- label: "Batch Payment",
128
- value: "BATCH_PAYMENT",
137
+ label: "Rejected",
138
+ value: "REJECTED",
139
+ icon: warningIcon,
129
140
  },
130
141
  {
131
- label: "Reject Invoice",
132
- value: "REJECT_INVOICE",
142
+ label: "Re-instate Invoice",
143
+ value: "RE_INSTATE_INVOICE",
133
144
  },
145
+ ];
146
+ const acceptedActions = [
134
147
  {
135
- label: "Mark as paid",
136
- value: "MARK_AS_PAID",
148
+ label: "Accepted",
149
+ value: "ACCEPTED",
150
+ icon: () => checkCircleIcon("#475264"),
137
151
  },
138
- ];
139
- const paymentScheduledActions = [
140
152
  {
141
- label: "Payment Scheduled",
142
- value: "PAYMENTSCHEDULED",
143
- icon: clockIcon,
153
+ label: "Schedule Payment",
154
+ value: "SCHEDULE_PAYMENT",
144
155
  },
145
156
  {
146
- label: "Payment Sent",
147
- value: "PAYMENTSENT",
148
- icon: clockIcon,
157
+ label: "Close Payment",
158
+ value: "CLOSE_PAYMENT",
149
159
  },
150
160
  ];
151
- const paymentSentActions = [
161
+ const paymentScheduledActions = [
152
162
  {
153
- label: "Payment Sent",
154
- value: "PAYMENTSENT",
163
+ label: "Payment Scheduled",
164
+ value: "PAYMENTSCHEDULED",
155
165
  icon: clockIcon,
156
166
  },
157
167
  {
158
- label: "Payment Returned",
159
- value: "PAYMENT_RETURNED",
168
+ label: "Register Payment",
169
+ value: "REGISTER_PAYMENT",
160
170
  },
161
171
  {
162
- label: "Report Issue",
163
- value: "REPORT_ISSUE",
172
+ label: "Report Payment Issue",
173
+ value: "REPORT_PAYMENT_ISSUE",
164
174
  },
165
175
  {
166
- label: "Mark as paid",
167
- value: "MARK_AS_PAID",
176
+ label: "Close Payment",
177
+ value: "CLOSE_PAYMENT",
168
178
  },
169
179
  ];
170
- const awaitingPaymentActions = [
180
+ const paymentSentActions = [
171
181
  {
172
- label: "Awaiting Payment",
173
- value: "AWAITINGPAYMENT",
174
- icon: () => checkCircleIcon("#475264"),
182
+ label: "Payment Sent",
183
+ value: "PAYMENTSENT",
184
+ icon: clockIcon,
175
185
  },
176
186
  {
177
- label: "Pay now",
178
- value: "PAY_NOW",
187
+ label: "Report Payment Issue",
188
+ value: "REPORT_PAYMENT_ISSUE",
179
189
  },
180
190
  {
181
- label: "Mark as paid",
182
- value: "MARK_AS_PAID",
191
+ label: "Confirm Payment",
192
+ value: "CONFIRM_PAYMENT",
183
193
  },
184
194
  ];
185
195
  const paymentIssueActions = [
@@ -189,8 +199,12 @@ export const SelectField = (props) => {
189
199
  icon: warningIcon,
190
200
  },
191
201
  {
192
- label: "Re-draft Invoice",
193
- value: "RE_DRAFT_INVOICE",
202
+ label: "Re-approve Payment",
203
+ value: "RE_APPROVE_PAYMENT",
204
+ },
205
+ {
206
+ label: "Close Payment",
207
+ value: "CLOSE_PAYMENT",
194
208
  },
195
209
  ];
196
210
  const paymentReceivedActions = [
@@ -200,34 +214,19 @@ export const SelectField = (props) => {
200
214
  icon: () => checkCircleIcon("#34a853"),
201
215
  },
202
216
  {
203
- label: "Re-draft Invoice",
204
- value: "RE_DRAFT_INVOICE",
217
+ label: "Report Payment Issue",
218
+ value: "REPORT_PAYMENT_ISSUE",
205
219
  },
206
220
  ];
207
- const acceptedActions = [
221
+ const paymentClosedActions = [
208
222
  {
209
- label: "Accepted",
210
- value: "ACCEPTED",
223
+ label: "Payment Closed",
224
+ value: "PAYMENTCLOSED",
211
225
  icon: () => checkCircleIcon("#475264"),
212
226
  },
213
227
  {
214
- label: "Pay now",
215
- value: "PAY_NOW",
216
- },
217
- {
218
- label: "Batch Payment",
219
- value: "BATCH_PAYMENT",
220
- },
221
- ];
222
- const rejectedActions = [
223
- {
224
- label: "Rejected",
225
- value: "REJECTED",
226
- icon: warningIcon,
227
- },
228
- {
229
- label: "Re-draft Invoice",
230
- value: "RE_DRAFT_INVOICE",
228
+ label: "Re-approve Payment",
229
+ value: "RE_APPROVE_PAYMENT",
231
230
  },
232
231
  ];
233
232
  const optionsToShow = () => {
@@ -238,20 +237,20 @@ export const SelectField = (props) => {
238
237
  return issuedActions;
239
238
  case "CANCELLED":
240
239
  return cancelledActions;
240
+ case "ACCEPTED":
241
+ return acceptedActions;
242
+ case "REJECTED":
243
+ return rejectedActions;
241
244
  case "PAYMENTSCHEDULED":
242
245
  return paymentScheduledActions;
243
246
  case "PAYMENTSENT":
244
247
  return paymentSentActions;
245
- case "AWAITINGPAYMENT":
246
- return awaitingPaymentActions;
247
248
  case "PAYMENTISSUE":
248
249
  return paymentIssueActions;
249
250
  case "PAYMENTRECEIVED":
250
251
  return paymentReceivedActions;
251
- case "ACCEPTED":
252
- return acceptedActions;
253
- case "REJECTED":
254
- return rejectedActions;
252
+ case "PAYMENTCLOSED":
253
+ return paymentClosedActions;
255
254
  default:
256
255
  return STATUS_OPTIONS_MAP.filter((opt) => opt.value === status);
257
256
  }
@@ -267,54 +266,52 @@ export const SelectField = (props) => {
267
266
  onChange("CANCELLED");
268
267
  }
269
268
  else if (status === "CANCELLED") {
270
- if (value === "RE_DRAFT_INVOICE")
269
+ if (value === "RESET_INVOICE")
271
270
  onChange("DRAFT");
272
271
  }
273
272
  else if (status === "ISSUED") {
274
- if (value === "PAY_NOW")
275
- onChange("PAYMENTSCHEDULED");
276
- else if (value === "PAY_LATER")
277
- onChange("ACCEPTED");
278
- else if (value === "BATCH_PAYMENT")
279
- onChange("AWAITINGPAYMENT");
280
- else if (value === "REJECT_INVOICE")
273
+ if (value === "REJECT_INVOICE")
281
274
  onChange("REJECTED");
282
- else if (value === "MARK_AS_PAID")
283
- onChange("PAYMENTRECEIVED");
275
+ else if (value === "ACCEPT_INVOICE")
276
+ onChange("ACCEPTED");
284
277
  }
285
- else if (status === "PAYMENTSCHEDULED") {
286
- if (value === "PAYMENTSENT")
287
- onChange("PAYMENTSENT");
278
+ else if (status === 'REJECTED') {
279
+ if (value === "RE_INSTATE_INVOICE")
280
+ onChange("ISSUED");
288
281
  }
289
- else if (status === "PAYMENTSENT") {
290
- if (value === "PAYMENT_RETURNED")
291
- onChange("AWAITINGPAYMENT");
292
- else if (value === "REPORT_ISSUE")
282
+ else if (status === 'ACCEPTED') {
283
+ if (value === "SCHEDULE_PAYMENT")
284
+ onChange("PAYMENTSCHEDULED");
285
+ else if (value === "CLOSE_PAYMENT")
286
+ onChange("PAYMENTCLOSED");
287
+ }
288
+ else if (status === 'PAYMENTSCHEDULED') {
289
+ if (value === "REGISTER_PAYMENT")
290
+ onChange("PAYMENTSENT");
291
+ else if (value === "REPORT_PAYMENT_ISSUE")
293
292
  onChange("PAYMENTISSUE");
294
- else if (value === "MARK_AS_PAID")
295
- onChange("PAYMENTRECEIVED");
293
+ else if (value === "CLOSE_PAYMENT")
294
+ onChange("PAYMENTCLOSED");
296
295
  }
297
- else if (status === "AWAITINGPAYMENT") {
298
- if (value === "PAY_NOW")
299
- onChange("PAYMENTSCHEDULED");
300
- else if (value === "MARK_AS_PAID")
296
+ else if (status === 'PAYMENTSENT') {
297
+ if (value === "REPORT_PAYMENT_ISSUE")
298
+ onChange("PAYMENTISSUE");
299
+ else if (value === "CONFIRM_PAYMENT")
301
300
  onChange("PAYMENTRECEIVED");
302
301
  }
303
- else if (status === "PAYMENTISSUE") {
304
- if (value === "RE_DRAFT_INVOICE")
305
- onChange("DRAFT");
306
- }
307
- else if (status === "PAYMENTRECEIVED") {
308
- if (value === "RE_DRAFT_INVOICE")
309
- onChange("DRAFT");
302
+ else if (status === 'PAYMENTISSUE') {
303
+ if (value === "RE_APPROVE_PAYMENT")
304
+ onChange("ACCEPTED");
305
+ else if (value === "CLOSE_PAYMENT")
306
+ onChange("PAYMENTCLOSED");
310
307
  }
311
- else if (status === "ACCEPTED") {
312
- if (value === "PAY_NOW" || value === "BATCH_PAYMENT")
313
- onChange("AWAITINGPAYMENT");
308
+ else if (status === 'PAYMENTRECEIVED') {
309
+ if (value === "REPORT_PAYMENT_ISSUE")
310
+ onChange("PAYMENTISSUE");
314
311
  }
315
- else if (status === "REJECTED") {
316
- if (value === "RE_DRAFT_INVOICE")
317
- onChange("DRAFT");
312
+ else if (status === 'PAYMENTCLOSED') {
313
+ if (value === "RE_APPROVE_PAYMENT")
314
+ onChange("ACCEPTED");
318
315
  }
319
316
  // Optionally, handle other statuses/actions here
320
317
  }
@@ -0,0 +1,52 @@
1
+ import { type InvoiceDocument, type Payment } from "../../../document-models/invoice/index.js";
2
+ interface IssueInvoiceModalContentProps {
3
+ invoiceNoInput: string;
4
+ setInvoiceNoInput: React.Dispatch<React.SetStateAction<string>>;
5
+ state: InvoiceDocument["state"]["global"];
6
+ dispatch: (action: any) => void;
7
+ setWarning: (hasWarning: boolean) => void;
8
+ }
9
+ export declare function IssueInvoiceModalContent({ invoiceNoInput, setInvoiceNoInput, state, dispatch, setWarning, }: IssueInvoiceModalContentProps): import("react/jsx-runtime").JSX.Element;
10
+ interface RejectInvoiceModalContentProps {
11
+ state: InvoiceDocument["state"]["global"];
12
+ dispatch: (action: any) => void;
13
+ setWarning: (hasWarning: boolean) => void;
14
+ setRejectReason: (reason: string) => void;
15
+ setFinalReason: (final: boolean) => void;
16
+ finalReason: boolean;
17
+ rejectReason: string;
18
+ }
19
+ export declare function RejectInvoiceModalContent({ state, dispatch, setWarning, setRejectReason, setFinalReason, finalReason, rejectReason, }: RejectInvoiceModalContentProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function FinalRejectionModalContent({ rejectReason, }: {
21
+ rejectReason: string;
22
+ }): import("react/jsx-runtime").JSX.Element;
23
+ interface SchedulePaymentModalContentProps {
24
+ paymentRef: string;
25
+ setPaymentRef: (paymentRef: string) => void;
26
+ }
27
+ export declare function SchedulePaymentModalContent({ paymentRef, setPaymentRef, }: SchedulePaymentModalContentProps): import("react/jsx-runtime").JSX.Element;
28
+ interface ClosePaymentModalContentProps {
29
+ closureReason: string;
30
+ setClosureReason: (closureReason: string) => void;
31
+ }
32
+ export declare function ClosePaymentModalContent({ closureReason, setClosureReason, }: ClosePaymentModalContentProps): import("react/jsx-runtime").JSX.Element;
33
+ interface RegisterPaymentTxModalContentProps {
34
+ paymentDate: string;
35
+ setPaymentDate: (paymentDate: string) => void;
36
+ txnRef: string;
37
+ setTxnRef: (txnRef: string) => void;
38
+ }
39
+ export declare function RegisterPaymentTxModalContent({ paymentDate, setPaymentDate, txnRef, setTxnRef, }: RegisterPaymentTxModalContentProps): import("react/jsx-runtime").JSX.Element;
40
+ interface ReportPaymentIssueModalContentProps {
41
+ paymentIssue: string;
42
+ setPaymentIssue: (paymentIssue: string) => void;
43
+ }
44
+ export declare function ReportPaymentIssueModalContent({ paymentIssue, setPaymentIssue, }: ReportPaymentIssueModalContentProps): import("react/jsx-runtime").JSX.Element;
45
+ interface ConfirmPaymentModalContentProps {
46
+ paymentAmount: string;
47
+ setPaymentAmount: (paymentAmount: string) => void;
48
+ payments: Payment[];
49
+ }
50
+ export declare function ConfirmPaymentModalContent({ paymentAmount, setPaymentAmount, payments, }: ConfirmPaymentModalContentProps): import("react/jsx-runtime").JSX.Element;
51
+ export {};
52
+ //# sourceMappingURL=statusModalComponents.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,78 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { actions, } from "../../../document-models/invoice/index.js";
3
+ import { InputField } from "../components/inputField.js";
4
+ import { DatePicker } from "../components/datePicker.js";
5
+ import { useEffect } from "react";
6
+ import { Textarea, Checkbox, Select, } from "@powerhousedao/document-engineering";
7
+ export function IssueInvoiceModalContent({ invoiceNoInput, setInvoiceNoInput, state, dispatch, setWarning, }) {
8
+ useEffect(() => {
9
+ if (invoiceNoInput === "" || state.dateIssued === "") {
10
+ setWarning(true);
11
+ }
12
+ else {
13
+ setWarning(false);
14
+ }
15
+ }, [invoiceNoInput, state.dateIssued, setWarning]);
16
+ const warning = invoiceNoInput === "" || state.dateIssued === "";
17
+ return (_jsxs("div", { children: [warning && (_jsx("div", { className: "my-6 rounded-md bg-red-50 p-4 text-center flex flex-col items-center justify-center min-h-[64px]", children: _jsx("div", { className: "text-red-500", children: _jsx("p", { children: "Warning: Fill in all fields before continuing." }) }) })), _jsxs("div", { children: [_jsx("label", { className: "block mb-1 text-sm", children: "Invoice Number:" }), _jsx(InputField, { placeholder: "Add invoice number", value: invoiceNoInput, handleInputChange: (e) => setInvoiceNoInput(e.target.value), onBlur: (e) => {
18
+ const newValue = e.target.value;
19
+ if (newValue !== state.invoiceNo) {
20
+ dispatch(actions.editInvoice({ invoiceNo: newValue }));
21
+ }
22
+ }, input: invoiceNoInput })] }), _jsxs("div", { className: "mt-4", children: [_jsx("label", { className: "block mb-1 text-sm", children: "Issue Date:" }), _jsx(DatePicker, { name: "issueDate", className: String.raw `w-full p-0`, onChange: (e) => {
23
+ const newDate = e.target.value.split("T")[0];
24
+ dispatch(actions.editInvoice({
25
+ dateIssued: newDate,
26
+ }));
27
+ }, value: state.dateIssued })] })] }));
28
+ }
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) => {
31
+ setRejectReason(e.target.value);
32
+ } })] }), _jsx("div", { className: "mt-4 flex justify-center gap-2", children: _jsx(Checkbox, { label: "Final", value: finalReason, onChange: () => {
33
+ setFinalReason(!finalReason);
34
+ } }) })] }));
35
+ }
36
+ export function FinalRejectionModalContent({ rejectReason, }) {
37
+ return (_jsxs("div", { children: ["Invoice is rejected with reason: ", rejectReason, " and is final."] }));
38
+ }
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) => {
41
+ setPaymentRef(e.target.value);
42
+ } })] }) }));
43
+ }
44
+ export function ClosePaymentModalContent({ closureReason, setClosureReason, }) {
45
+ return (_jsx("div", { className: "w-[250px]", children: _jsxs("div", { className: "justify-center", children: [_jsx("label", { className: "block mb-2 text-sm", children: "Closure Reason:" }), _jsx(Select, { options: [
46
+ {
47
+ label: "Underpaid",
48
+ value: "UNDERPAID",
49
+ },
50
+ {
51
+ label: "Overpaid",
52
+ value: "OVERPAID",
53
+ },
54
+ {
55
+ label: "Cancelled",
56
+ value: "CANCELLED",
57
+ },
58
+ ], value: closureReason, onChange: (e) => {
59
+ setClosureReason(e);
60
+ } })] }) }));
61
+ }
62
+ export function RegisterPaymentTxModalContent({ paymentDate, setPaymentDate, txnRef, setTxnRef, }) {
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
+ 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) => {
66
+ setTxnRef(e.target.value);
67
+ } })] })] }));
68
+ }
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) => {
71
+ setPaymentIssue(e.target.value);
72
+ } })] }) }));
73
+ }
74
+ export function ConfirmPaymentModalContent({ paymentAmount, setPaymentAmount, payments, }) {
75
+ return (_jsxs("div", { className: "w-full", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("label", { className: "block mb-1 text-sm font-bold", children: "Processor Reference :" }), _jsx("span", { className: "break-all max-w-full", children: payments[payments.length - 1].processorRef })] }), _jsxs("div", { className: "flex flex-col gap-2 mt-4", children: [_jsx("label", { className: "block mb-1 text-sm font-bold", children: "Payment Date :" }), _jsx("span", { className: "break-all max-w-full", children: payments[payments.length - 1].paymentDate })] }), _jsxs("div", { className: "flex flex-col gap-2 mt-4", children: [_jsx("label", { className: "block mb-1 text-sm font-bold", children: "Transaction Reference :" }), _jsx("span", { className: "break-all max-w-full", children: payments[payments.length - 1].txnRef })] }), _jsxs("div", { className: "mt-4", children: [_jsx("label", { className: "block mb-1 text-sm font-bold", children: "Payment Amount:" }), _jsx("input", { className: "w-full rounded-md border border-gray-300 px-3 py-2 bg-white", type: "number", name: "Enter payment amount", value: paymentAmount, onChange: (e) => {
76
+ setPaymentAmount(e.target.value);
77
+ } })] })] }));
78
+ }
@@ -1,4 +1,4 @@
1
- import type { EditorProps } from "document-model";
1
+ import { type EditorProps } from "document-model";
2
2
  import { type InvoiceDocument } from "../../document-models/invoice/index.js";
3
3
  export type IProps = EditorProps<InvoiceDocument>;
4
4
  export default function Editor(props: IProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/invoice/editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,wCAAwC,CAAC;AA4BhD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAqClD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,MAAM,2CAixB3C"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/invoice/editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,wCAAwC,CAAC;AA6ChD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,MAAM,2CAu0B3C"}