@powerhousedao/contributor-billing 0.0.12 → 0.0.14

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 (172) hide show
  1. package/dist/document-models/billing-statement/gen/actions.d.ts +8 -0
  2. package/dist/document-models/billing-statement/gen/actions.d.ts.map +1 -0
  3. package/dist/document-models/billing-statement/gen/actions.js +3 -0
  4. package/dist/document-models/billing-statement/gen/creators.d.ts +4 -0
  5. package/dist/document-models/billing-statement/gen/creators.d.ts.map +1 -0
  6. package/dist/document-models/billing-statement/gen/creators.js +3 -0
  7. package/dist/document-models/billing-statement/gen/document-model.d.ts +3 -0
  8. package/dist/document-models/billing-statement/gen/document-model.d.ts.map +1 -0
  9. package/dist/document-models/billing-statement/gen/document-model.js +117 -0
  10. package/dist/document-models/billing-statement/gen/general/actions.d.ts +7 -0
  11. package/dist/document-models/billing-statement/gen/general/actions.d.ts.map +1 -0
  12. package/dist/document-models/billing-statement/gen/general/actions.js +1 -0
  13. package/dist/document-models/billing-statement/gen/general/creators.d.ts +6 -0
  14. package/dist/document-models/billing-statement/gen/general/creators.d.ts.map +1 -0
  15. package/dist/document-models/billing-statement/gen/general/creators.js +5 -0
  16. package/dist/document-models/billing-statement/gen/general/error.d.ts +2 -0
  17. package/dist/document-models/billing-statement/gen/general/error.d.ts.map +1 -0
  18. package/dist/document-models/billing-statement/gen/general/error.js +1 -0
  19. package/dist/document-models/billing-statement/gen/general/object.d.ts +9 -0
  20. package/dist/document-models/billing-statement/gen/general/object.d.ts.map +1 -0
  21. package/dist/document-models/billing-statement/gen/general/object.js +13 -0
  22. package/dist/document-models/billing-statement/gen/general/operations.d.ts +9 -0
  23. package/dist/document-models/billing-statement/gen/general/operations.d.ts.map +1 -0
  24. package/dist/document-models/billing-statement/gen/general/operations.js +1 -0
  25. package/dist/document-models/billing-statement/gen/index.d.ts +6 -0
  26. package/dist/document-models/billing-statement/gen/index.d.ts.map +1 -0
  27. package/dist/document-models/billing-statement/gen/index.js +5 -0
  28. package/dist/document-models/billing-statement/gen/line-items/actions.d.ts +6 -0
  29. package/dist/document-models/billing-statement/gen/line-items/actions.d.ts.map +1 -0
  30. package/dist/document-models/billing-statement/gen/line-items/actions.js +1 -0
  31. package/dist/document-models/billing-statement/gen/line-items/creators.d.ts +5 -0
  32. package/dist/document-models/billing-statement/gen/line-items/creators.d.ts.map +1 -0
  33. package/dist/document-models/billing-statement/gen/line-items/creators.js +4 -0
  34. package/dist/document-models/billing-statement/gen/line-items/error.d.ts +2 -0
  35. package/dist/document-models/billing-statement/gen/line-items/error.d.ts.map +1 -0
  36. package/dist/document-models/billing-statement/gen/line-items/error.js +1 -0
  37. package/dist/document-models/billing-statement/gen/line-items/object.d.ts +8 -0
  38. package/dist/document-models/billing-statement/gen/line-items/object.d.ts.map +1 -0
  39. package/dist/document-models/billing-statement/gen/line-items/object.js +10 -0
  40. package/dist/document-models/billing-statement/gen/line-items/operations.d.ts +8 -0
  41. package/dist/document-models/billing-statement/gen/line-items/operations.d.ts.map +1 -0
  42. package/dist/document-models/billing-statement/gen/line-items/operations.js +1 -0
  43. package/dist/document-models/billing-statement/gen/object.d.ts +20 -0
  44. package/dist/document-models/billing-statement/gen/object.d.ts.map +1 -0
  45. package/dist/document-models/billing-statement/gen/object.js +33 -0
  46. package/dist/document-models/billing-statement/gen/reducer.d.ts +3 -0
  47. package/dist/document-models/billing-statement/gen/reducer.d.ts.map +1 -0
  48. package/dist/document-models/billing-statement/gen/reducer.js +39 -0
  49. package/dist/document-models/billing-statement/gen/schema/index.d.ts +3 -0
  50. package/dist/document-models/billing-statement/gen/schema/index.d.ts.map +1 -0
  51. package/dist/document-models/billing-statement/gen/schema/index.js +2 -0
  52. package/dist/document-models/billing-statement/gen/schema/types.d.ts +202 -0
  53. package/dist/document-models/billing-statement/gen/schema/types.d.ts.map +1 -0
  54. package/dist/document-models/billing-statement/gen/schema/types.js +1 -0
  55. package/dist/document-models/billing-statement/gen/schema/zod.d.ts +23 -0
  56. package/dist/document-models/billing-statement/gen/schema/zod.d.ts.map +1 -0
  57. package/dist/document-models/billing-statement/gen/schema/zod.js +117 -0
  58. package/dist/document-models/billing-statement/gen/tags/actions.d.ts +5 -0
  59. package/dist/document-models/billing-statement/gen/tags/actions.d.ts.map +1 -0
  60. package/dist/document-models/billing-statement/gen/tags/actions.js +1 -0
  61. package/dist/document-models/billing-statement/gen/tags/creators.d.ts +4 -0
  62. package/dist/document-models/billing-statement/gen/tags/creators.d.ts.map +1 -0
  63. package/dist/document-models/billing-statement/gen/tags/creators.js +3 -0
  64. package/dist/document-models/billing-statement/gen/tags/error.d.ts +2 -0
  65. package/dist/document-models/billing-statement/gen/tags/error.d.ts.map +1 -0
  66. package/dist/document-models/billing-statement/gen/tags/error.js +1 -0
  67. package/dist/document-models/billing-statement/gen/tags/object.d.ts +7 -0
  68. package/dist/document-models/billing-statement/gen/tags/object.d.ts.map +1 -0
  69. package/dist/document-models/billing-statement/gen/tags/object.js +7 -0
  70. package/dist/document-models/billing-statement/gen/tags/operations.d.ts +7 -0
  71. package/dist/document-models/billing-statement/gen/tags/operations.d.ts.map +1 -0
  72. package/dist/document-models/billing-statement/gen/tags/operations.js +1 -0
  73. package/dist/document-models/billing-statement/gen/types.d.ts +10 -0
  74. package/dist/document-models/billing-statement/gen/types.d.ts.map +1 -0
  75. package/dist/document-models/billing-statement/gen/types.js +1 -0
  76. package/dist/document-models/billing-statement/gen/utils.d.ts +7 -0
  77. package/dist/document-models/billing-statement/gen/utils.d.ts.map +1 -0
  78. package/dist/document-models/billing-statement/gen/utils.js +42 -0
  79. package/dist/document-models/billing-statement/index.d.ts +31 -0
  80. package/dist/document-models/billing-statement/index.d.ts.map +1 -0
  81. package/dist/document-models/billing-statement/index.js +21 -0
  82. package/dist/document-models/billing-statement/src/reducers/general.d.ts +8 -0
  83. package/dist/document-models/billing-statement/src/reducers/general.d.ts.map +1 -0
  84. package/dist/document-models/billing-statement/src/reducers/general.js +41 -0
  85. package/dist/document-models/billing-statement/src/reducers/line-items.d.ts +8 -0
  86. package/dist/document-models/billing-statement/src/reducers/line-items.d.ts.map +1 -0
  87. package/dist/document-models/billing-statement/src/reducers/line-items.js +49 -0
  88. package/dist/document-models/billing-statement/src/reducers/tags.d.ts +8 -0
  89. package/dist/document-models/billing-statement/src/reducers/tags.d.ts.map +1 -0
  90. package/dist/document-models/billing-statement/src/reducers/tags.js +36 -0
  91. package/dist/document-models/billing-statement/src/tests/document-model.test.d.ts +6 -0
  92. package/dist/document-models/billing-statement/src/tests/document-model.test.d.ts.map +1 -0
  93. package/dist/document-models/billing-statement/src/tests/document-model.test.js +17 -0
  94. package/dist/document-models/billing-statement/src/tests/general.test.d.ts +5 -0
  95. package/dist/document-models/billing-statement/src/tests/general.test.d.ts.map +1 -0
  96. package/dist/document-models/billing-statement/src/tests/general.test.js +93 -0
  97. package/dist/document-models/billing-statement/src/tests/line-items.test.d.ts +6 -0
  98. package/dist/document-models/billing-statement/src/tests/line-items.test.d.ts.map +1 -0
  99. package/dist/document-models/billing-statement/src/tests/line-items.test.js +131 -0
  100. package/dist/document-models/billing-statement/src/tests/tags.test.d.ts +6 -0
  101. package/dist/document-models/billing-statement/src/tests/tags.test.d.ts.map +1 -0
  102. package/dist/document-models/billing-statement/src/tests/tags.test.js +52 -0
  103. package/dist/document-models/billing-statement/src/utils.d.ts +2 -0
  104. package/dist/document-models/billing-statement/src/utils.d.ts.map +1 -0
  105. package/dist/document-models/billing-statement/src/utils.js +1 -0
  106. package/dist/document-models/index.d.ts +1 -0
  107. package/dist/document-models/index.d.ts.map +1 -1
  108. package/dist/document-models/index.js +1 -0
  109. package/dist/editors/billing-statement/components/lineItems.d.ts +3 -0
  110. package/dist/editors/billing-statement/components/lineItems.d.ts.map +1 -0
  111. package/dist/editors/billing-statement/components/lineItems.js +24 -0
  112. package/dist/editors/billing-statement/components/lineItemsTable.d.ts +6 -0
  113. package/dist/editors/billing-statement/components/lineItemsTable.d.ts.map +1 -0
  114. package/dist/editors/billing-statement/components/lineItemsTable.js +116 -0
  115. package/dist/editors/billing-statement/components/objectSetTable.d.ts +6 -0
  116. package/dist/editors/billing-statement/components/objectSetTable.d.ts.map +1 -0
  117. package/dist/editors/billing-statement/components/objectSetTable.js +96 -0
  118. package/dist/editors/billing-statement/editor.d.ts +5 -0
  119. package/dist/editors/billing-statement/editor.d.ts.map +1 -0
  120. package/dist/editors/billing-statement/editor.js +23 -0
  121. package/dist/editors/billing-statement/index.d.ts +5 -0
  122. package/dist/editors/billing-statement/index.d.ts.map +1 -0
  123. package/dist/editors/billing-statement/index.js +12 -0
  124. package/dist/editors/billing-statement/lineItemTags/lineItemTags.d.ts +16 -0
  125. package/dist/editors/billing-statement/lineItemTags/lineItemTags.d.ts.map +1 -0
  126. package/dist/editors/billing-statement/lineItemTags/lineItemTags.js +58 -0
  127. package/dist/editors/billing-statement/lineItemTags/tagMapping.d.ts +4 -0
  128. package/dist/editors/billing-statement/lineItemTags/tagMapping.d.ts.map +1 -0
  129. package/dist/editors/billing-statement/lineItemTags/tagMapping.js +44 -0
  130. package/dist/editors/contributor-billing/editor.js +1 -1
  131. package/dist/editors/index.d.ts +1 -0
  132. package/dist/editors/index.d.ts.map +1 -1
  133. package/dist/editors/index.js +1 -0
  134. package/dist/editors/invoice/components/currencyForm.d.ts.map +1 -1
  135. package/dist/editors/invoice/components/currencyForm.js +2 -4
  136. package/dist/editors/invoice/components/datePicker.d.ts.map +1 -1
  137. package/dist/editors/invoice/components/datePicker.js +2 -2
  138. package/dist/editors/invoice/components/inputField.d.ts.map +1 -1
  139. package/dist/editors/invoice/components/inputField.js +1 -3
  140. package/dist/editors/invoice/components/numberForm.d.ts +2 -1
  141. package/dist/editors/invoice/components/numberForm.d.ts.map +1 -1
  142. package/dist/editors/invoice/components/numberForm.js +2 -2
  143. package/dist/editors/invoice/editor.d.ts.map +1 -1
  144. package/dist/editors/invoice/editor.js +54 -44
  145. package/dist/editors/invoice/legalEntity/legalEntity.d.ts +5 -3
  146. package/dist/editors/invoice/legalEntity/legalEntity.d.ts.map +1 -1
  147. package/dist/editors/invoice/legalEntity/legalEntity.js +4 -4
  148. package/dist/editors/invoice/lineItems.d.ts +1 -1
  149. package/dist/editors/invoice/lineItems.d.ts.map +1 -1
  150. package/dist/editors/invoice/lineItems.js +21 -12
  151. package/dist/editors/invoice/validation/validationManager.d.ts.map +1 -1
  152. package/dist/editors/invoice/validation/validationManager.js +3 -2
  153. package/dist/editors/invoice/validation/validationRules.d.ts +2 -1
  154. package/dist/editors/invoice/validation/validationRules.d.ts.map +1 -1
  155. package/dist/editors/invoice/validation/validationRules.js +26 -2
  156. package/dist/index.d.ts +2 -2
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/powerhouse.manifest.json +10 -1
  159. package/dist/style.css +102 -5
  160. package/dist/subgraphs/billing-statement/index.d.ts +10 -0
  161. package/dist/subgraphs/billing-statement/index.d.ts.map +1 -0
  162. package/dist/subgraphs/billing-statement/index.js +11 -0
  163. package/dist/subgraphs/billing-statement/resolvers.d.ts +3 -0
  164. package/dist/subgraphs/billing-statement/resolvers.d.ts.map +1 -0
  165. package/dist/subgraphs/billing-statement/resolvers.js +110 -0
  166. package/dist/subgraphs/billing-statement/schema.d.ts +3 -0
  167. package/dist/subgraphs/billing-statement/schema.d.ts.map +1 -0
  168. package/dist/subgraphs/billing-statement/schema.js +165 -0
  169. package/dist/subgraphs/index.d.ts +1 -0
  170. package/dist/subgraphs/index.d.ts.map +1 -1
  171. package/dist/subgraphs/index.js +1 -0
  172. package/package.json +4 -4
@@ -8,7 +8,8 @@ export type LegalEntityMainSectionProps = Omit<ComponentPropsWithRef<"div">, "ch
8
8
  readonly value: EditLegalEntityInput;
9
9
  readonly onChange: (value: EditLegalEntityInput) => void;
10
10
  readonly disabled?: boolean;
11
- readonly countryvalidation?: ValidationResult | null;
11
+ readonly mainCountryValidation?: ValidationResult | null;
12
+ readonly bankCountryValidation?: ValidationResult | null;
12
13
  readonly streetaddressvalidation?: ValidationResult | null;
13
14
  readonly cityvalidation?: ValidationResult | null;
14
15
  readonly postalcodevalidation?: ValidationResult | null;
@@ -26,7 +27,8 @@ type LegalEntityFormProps = {
26
27
  readonly currency: string;
27
28
  readonly status: string;
28
29
  readonly walletvalidation?: ValidationResult | null;
29
- readonly countryvalidation?: ValidationResult | null;
30
+ readonly mainCountryValidation?: ValidationResult | null;
31
+ readonly bankCountryValidation?: ValidationResult | null;
30
32
  readonly ibanvalidation?: ValidationResult | null;
31
33
  readonly bicvalidation?: ValidationResult | null;
32
34
  readonly banknamevalidation?: ValidationResult | null;
@@ -35,6 +37,6 @@ type LegalEntityFormProps = {
35
37
  readonly postalcodevalidation?: ValidationResult | null;
36
38
  readonly payeremailvalidation?: ValidationResult | null;
37
39
  };
38
- export declare function LegalEntityForm({ legalEntity, onChangeInfo, onChangeBank, onChangeWallet, basicInfoDisabled, bankDisabled, walletDisabled, currency, status, walletvalidation, countryvalidation, ibanvalidation, bicvalidation, banknamevalidation, streetaddressvalidation, cityvalidation, postalcodevalidation, payeremailvalidation }: LegalEntityFormProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function LegalEntityForm({ legalEntity, onChangeInfo, onChangeBank, onChangeWallet, basicInfoDisabled, bankDisabled, walletDisabled, currency, status, walletvalidation, mainCountryValidation, bankCountryValidation, ibanvalidation, bicvalidation, banknamevalidation, streetaddressvalidation, cityvalidation, postalcodevalidation, payeremailvalidation, }: LegalEntityFormProps): import("react/jsx-runtime").JSX.Element;
39
41
  export {};
40
42
  //# sourceMappingURL=legalEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"legalEntity.d.ts","sourceRoot":"","sources":["../../../../editors/invoice/legalEntity/legalEntity.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legalEntity.d.ts","sourceRoot":"","sources":["../../../../editors/invoice/legalEntity/legalEntity.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { CountryForm } from "../components/countryForm.js";
6
6
  import { InputField } from "../components/inputField.js";
7
7
  const FieldLabel = ({ children }) => (_jsx("label", { className: "block text-sm font-medium text-gray-700", children: children }));
8
8
  export const LegalEntityMainSection = (props) => {
9
- const { value, onChange, disabled, countryvalidation, streetaddressvalidation, cityvalidation, postalcodevalidation, payeremailvalidation, ...divProps } = props;
9
+ const { value, onChange, disabled, mainCountryValidation, bankCountryValidation, streetaddressvalidation, cityvalidation, postalcodevalidation, payeremailvalidation, ...divProps } = props;
10
10
  const handleInputChange = (field) => (e) => {
11
11
  // No-op
12
12
  };
@@ -23,7 +23,7 @@ export const LegalEntityMainSection = (props) => {
23
23
  onChange({ [field]: e.target.value });
24
24
  }
25
25
  };
26
- return (_jsxs("div", { ...divProps, className: twMerge("rounded-lg border border-gray-200 bg-white p-6 mb-2", props.className), children: [_jsx("h3", { className: "mb-4 text-lg font-semibold text-gray-900", children: "Basic Information" }), _jsxs("div", { className: "space-y-6", children: [_jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.name ?? "", label: "Name", placeholder: "Legal Entity Name", onBlur: handleTextareaBlur("name"), handleInputChange: handleTextareaChange("name"), className: "h-10 w-full text-md mb-2" }) }), _jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.id ?? "", label: "Tax ID / Corp. Reg", placeholder: "332...", onBlur: handleTextareaBlur("id"), handleInputChange: handleTextareaChange("id"), className: "h-10 w-full text-md mb-2" }) }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "space-y-4", children: [_jsx(InputField, { value: value.streetAddress ?? "", label: "Address", placeholder: "Street Address", onBlur: handleTextareaBlur("streetAddress"), handleInputChange: handleTextareaChange("streetAddress"), className: "h-10 w-full text-md mb-2", validation: streetaddressvalidation }), _jsx(InputField, { value: value.extendedAddress ?? "", placeholder: "Extended Address", onBlur: handleTextareaBlur("extendedAddress"), handleInputChange: handleTextareaChange("extendedAddress"), className: "h-10 w-full text-md mb-2" })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.city ?? "", label: "City", placeholder: "City", onBlur: handleTextareaBlur("city"), handleInputChange: handleTextareaChange("city"), className: "h-10 w-full text-md mb-2", validation: cityvalidation }) }), _jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.stateProvince ?? "", label: "State/Province", placeholder: "State/Province", onBlur: handleTextareaBlur("stateProvince"), handleInputChange: handleTextareaChange("stateProvince"), className: "h-10 w-full text-md mb-2" }) })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.postalCode ?? "", label: "Postal Code", placeholder: "Postal Code", onBlur: handleTextareaBlur("postalCode"), handleInputChange: handleTextareaChange("postalCode"), className: "h-10 w-full text-md mb-2", validation: postalcodevalidation }) }), _jsxs("div", { className: "space-y-2", children: [_jsx(FieldLabel, { children: "Country" }), _jsx(CountryForm, { country: value.country ?? "", handleInputChange: handleInputChange("country"), handleBlur: handleBlur("country"), className: "h-10 w-full text-md mb-2", validation: countryvalidation })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.email ?? "", label: "Email", placeholder: "Email", onBlur: handleTextareaBlur("email"), handleInputChange: handleTextareaChange("email"), className: "h-10 w-full text-md mb-2", validation: payeremailvalidation }) }), _jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.tel ?? "", label: "Telephone", placeholder: "Telephone", onBlur: handleTextareaBlur("tel"), handleInputChange: handleTextareaChange("tel"), className: "h-10 w-full text-md mb-2" }) })] })] })] }));
26
+ return (_jsxs("div", { ...divProps, className: twMerge("rounded-lg border border-gray-200 bg-white p-6 mb-2", props.className), children: [_jsx("h3", { className: "mb-4 text-lg font-semibold text-gray-900", children: "Basic Information" }), _jsxs("div", { className: "space-y-6", children: [_jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.name ?? "", label: "Name", placeholder: "Legal Entity Name", onBlur: handleTextareaBlur("name"), handleInputChange: handleTextareaChange("name"), className: "h-10 w-full text-md mb-2" }) }), _jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.id ?? "", label: "Tax ID / Corp. Reg", placeholder: "332...", onBlur: handleTextareaBlur("id"), handleInputChange: handleTextareaChange("id"), className: "h-10 w-full text-md mb-2" }) }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "space-y-4", children: [_jsx(InputField, { value: value.streetAddress ?? "", label: "Address", placeholder: "Street Address", onBlur: handleTextareaBlur("streetAddress"), handleInputChange: handleTextareaChange("streetAddress"), className: "h-10 w-full text-md mb-2", validation: streetaddressvalidation }), _jsx(InputField, { value: value.extendedAddress ?? "", placeholder: "Extended Address", onBlur: handleTextareaBlur("extendedAddress"), handleInputChange: handleTextareaChange("extendedAddress"), className: "h-10 w-full text-md mb-2" })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.city ?? "", label: "City", placeholder: "City", onBlur: handleTextareaBlur("city"), handleInputChange: handleTextareaChange("city"), className: "h-10 w-full text-md mb-2", validation: cityvalidation }) }), _jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.stateProvince ?? "", label: "State/Province", placeholder: "State/Province", onBlur: handleTextareaBlur("stateProvince"), handleInputChange: handleTextareaChange("stateProvince"), className: "h-10 w-full text-md mb-2" }) })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.postalCode ?? "", label: "Postal Code", placeholder: "Postal Code", onBlur: handleTextareaBlur("postalCode"), handleInputChange: handleTextareaChange("postalCode"), className: "h-10 w-full text-md mb-2", validation: postalcodevalidation }) }), _jsxs("div", { className: "space-y-2", children: [_jsx(FieldLabel, { children: "Country" }), _jsx(CountryForm, { country: value.country ?? "", handleInputChange: handleInputChange("country"), handleBlur: handleBlur("country"), className: "h-10 w-full text-md mb-2", validation: mainCountryValidation })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.email ?? "", label: "Email", placeholder: "Email", onBlur: handleTextareaBlur("email"), handleInputChange: handleTextareaChange("email"), className: "h-10 w-full text-md mb-2", validation: payeremailvalidation }) }), _jsx("div", { className: "space-y-2", children: _jsx(InputField, { value: value.tel ?? "", label: "Telephone", placeholder: "Telephone", onBlur: handleTextareaBlur("tel"), handleInputChange: handleTextareaChange("tel"), className: "h-10 w-full text-md mb-2" }) })] })] })] }));
27
27
  };
28
28
  // Helper to flatten LegalEntity to EditLegalEntityInput
29
29
  function flattenLegalEntityToEditInput(legalEntity) {
@@ -52,12 +52,12 @@ function flattenLegalEntityToEditInput(legalEntity) {
52
52
  email: legalEntity.contactInfo?.email ?? "",
53
53
  };
54
54
  }
55
- export function LegalEntityForm({ legalEntity, onChangeInfo, onChangeBank, onChangeWallet, basicInfoDisabled, bankDisabled, walletDisabled, currency, status, walletvalidation, countryvalidation, ibanvalidation, bicvalidation, banknamevalidation, streetaddressvalidation, cityvalidation, postalcodevalidation, payeremailvalidation }) {
55
+ export function LegalEntityForm({ legalEntity, onChangeInfo, onChangeBank, onChangeWallet, basicInfoDisabled, bankDisabled, walletDisabled, currency, status, walletvalidation, mainCountryValidation, bankCountryValidation, ibanvalidation, bicvalidation, banknamevalidation, streetaddressvalidation, cityvalidation, postalcodevalidation, payeremailvalidation, }) {
56
56
  // Handler for main info section
57
57
  const handleChangeInfo = (update) => {
58
58
  if (!onChangeInfo)
59
59
  return;
60
60
  onChangeInfo(update);
61
61
  };
62
- return (_jsxs("div", { className: "space-y-8", children: [!basicInfoDisabled && !!onChangeInfo && (_jsx(LegalEntityMainSection, { onChange: handleChangeInfo, value: flattenLegalEntityToEditInput(legalEntity), countryvalidation: countryvalidation, streetaddressvalidation: streetaddressvalidation, cityvalidation: cityvalidation, postalcodevalidation: postalcodevalidation, payeremailvalidation: payeremailvalidation })), !walletDisabled && !!onChangeWallet && (_jsx(LegalEntityWalletSection, { onChange: onChangeWallet, value: legalEntity.paymentRouting?.wallet || {}, currency: currency, status: status, walletvalidation: walletvalidation })), !bankDisabled && !!onChangeBank && (_jsx(LegalEntityBankSection, { onChange: onChangeBank, value: legalEntity.paymentRouting?.bank || {}, countryvalidation: countryvalidation, ibanvalidation: ibanvalidation, bicvalidation: bicvalidation, banknamevalidation: banknamevalidation }))] }));
62
+ return (_jsxs("div", { className: "space-y-8", children: [!basicInfoDisabled && !!onChangeInfo && (_jsx(LegalEntityMainSection, { onChange: handleChangeInfo, value: flattenLegalEntityToEditInput(legalEntity), mainCountryValidation: mainCountryValidation, streetaddressvalidation: streetaddressvalidation, cityvalidation: cityvalidation, postalcodevalidation: postalcodevalidation, payeremailvalidation: payeremailvalidation })), !walletDisabled && !!onChangeWallet && (_jsx(LegalEntityWalletSection, { onChange: onChangeWallet, value: legalEntity.paymentRouting?.wallet || {}, currency: currency, status: status, walletvalidation: walletvalidation })), !bankDisabled && !!onChangeBank && (_jsx(LegalEntityBankSection, { onChange: onChangeBank, value: legalEntity.paymentRouting?.bank || {}, countryvalidation: bankCountryValidation, ibanvalidation: ibanvalidation, bicvalidation: bicvalidation, banknamevalidation: banknamevalidation }))] }));
63
63
  }
@@ -23,6 +23,6 @@ type LineItemsTableProps = {
23
23
  readonly dispatch: Dispatch<any>;
24
24
  readonly paymentAccounts: InvoiceTag[];
25
25
  };
26
- export declare function LineItemsTable({ lineItems, currency, onAddItem, onUpdateItem, onDeleteItem, onUpdateCurrency, dispatch, paymentAccounts }: LineItemsTableProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare function LineItemsTable({ lineItems, currency, onAddItem, onUpdateItem, onDeleteItem, onUpdateCurrency, dispatch, paymentAccounts, }: LineItemsTableProps): import("react/jsx-runtime").JSX.Element;
27
27
  export {};
28
28
  //# sourceMappingURL=lineItems.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lineItems.d.ts","sourceRoot":"","sources":["../../../editors/invoice/lineItems.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC3G,OAAO,EAA0D,QAAQ,EAAE,MAAM,OAAO,CAAC;AAqBzF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBlD;AAED,KAAK,QAAQ,GAAG;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC;AAuNF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;CACxC,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,eAAe,EAChB,EAAE,mBAAmB,2CA+IrB"}
1
+ {"version":3,"file":"lineItems.d.ts","sourceRoot":"","sources":["../../../editors/invoice/lineItems.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACX,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAML,QAAQ,EACT,MAAM,OAAO,CAAC;AAqBf,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBlD;AAED,KAAK,QAAQ,GAAG;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC;AAwNF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;CACxC,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,eAAe,GAChB,EAAE,mBAAmB,2CA6LrB"}
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /* eslint-disable react/jsx-no-bind */
4
4
  /* eslint-disable react/button-has-type */
5
5
  import { RWAButton } from "@powerhousedao/design-system";
6
- import { forwardRef, useState, useMemo, useRef } from "react";
6
+ import { forwardRef, useState, useMemo, useRef, } from "react";
7
7
  import { v4 as uuidv4 } from "uuid";
8
8
  import { Tag } from "lucide-react";
9
9
  import { NumberForm } from "./components/numberForm.js";
@@ -18,9 +18,9 @@ export function formatNumber(value) {
18
18
  const hasDecimals = value % 1 !== 0;
19
19
  // If no decimals or only trailing zeros after 2 decimal places, show 2 decimal places
20
20
  if (!hasDecimals || value.toFixed(5).endsWith("000")) {
21
- return value.toLocaleString('en-US', {
21
+ return value.toLocaleString("en-US", {
22
22
  minimumFractionDigits: 2,
23
- maximumFractionDigits: 2
23
+ maximumFractionDigits: 2,
24
24
  });
25
25
  }
26
26
  // Otherwise, show actual decimal places up to 5
@@ -28,9 +28,9 @@ export function formatNumber(value) {
28
28
  const decimalPart = stringValue.split(".")[1] || "";
29
29
  // Determine how many decimal places to show (up to 5)
30
30
  const decimalPlaces = Math.min(Math.max(2, decimalPart.length), 5);
31
- return value.toLocaleString('en-US', {
31
+ return value.toLocaleString("en-US", {
32
32
  minimumFractionDigits: decimalPlaces,
33
- maximumFractionDigits: decimalPlaces
33
+ maximumFractionDigits: decimalPlaces,
34
34
  });
35
35
  }
36
36
  const EditableLineItem = forwardRef(function EditableLineItem(props, ref) {
@@ -96,6 +96,7 @@ const EditableLineItem = forwardRef(function EditableLineItem(props, ref) {
96
96
  else if (field === "unitPriceTaxExcl") {
97
97
  // For unit price, allow up to dynamic decimal places based on currency
98
98
  const maxDecimals = getCurrencyPrecision(currency);
99
+ // Allow negative numbers with optional minus sign at start
99
100
  const regex = new RegExp(`^-?\\d*\\.?\\d{0,${maxDecimals}}$`);
100
101
  if (regex.test(value)) {
101
102
  setEditedItem((prev) => ({ ...prev, [field]: value }));
@@ -141,9 +142,9 @@ const EditableLineItem = forwardRef(function EditableLineItem(props, ref) {
141
142
  }
142
143
  return (_jsxs("tr", { ref: ref, className: "hover:bg-gray-50 table-row", children: [_jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsx(InputField, { onBlur: () => { }, handleInputChange: (e) => {
143
144
  setEditedItem((prev) => ({ ...prev, description: e.target.value }));
144
- }, value: editedItem.description ?? "", placeholder: "Description", className: "" }) }), _jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsx(NumberForm, { number: editedItem.quantity ?? "", precision: 0, handleInputChange: handleInputChange("quantity"), placeholder: "Quantity", className: "" }) }), _jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsx(NumberForm, { number: editedItem.unitPriceTaxExcl ?? "", precision: getCurrencyPrecision(currency), handleInputChange: handleInputChange("unitPriceTaxExcl"), placeholder: "Unit Price (excl. tax)", className: "" }) }), _jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsx(NumberForm, { number: editedItem.taxPercent ?? "", precision: 0, min: 0, max: 100, handleInputChange: handleInputChange("taxPercent"), placeholder: "Tax %", className: "" }) }), _jsx("td", { className: "border border-gray-200 p-3 text-right font-medium table-cell", children: formatNumber(calculatedValues.totalPriceTaxExcl) }), _jsx("td", { className: "border border-gray-200 p-3 text-right font-medium table-cell", children: formatNumber(calculatedValues.totalPriceTaxIncl) }), _jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsxs("div", { className: "flex space-x-2", children: [_jsx("button", { className: "rounded bg-blue-500 px-3 py-1 text-white hover:bg-blue-700", onClick: handleSave, children: "Save" }), _jsx("button", { className: "rounded bg-gray-500 px-3 py-1 text-white hover:bg-gray-600", onClick: onCancel, children: "Cancel" })] }) })] }));
145
+ }, value: editedItem.description ?? "", placeholder: "Description", className: "" }) }), _jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsx(NumberForm, { number: editedItem.quantity ?? "", precision: 0, handleInputChange: handleInputChange("quantity"), placeholder: "Quantity", className: "" }) }), _jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsx(NumberForm, { number: editedItem.unitPriceTaxExcl ?? "", precision: getCurrencyPrecision(currency), handleInputChange: handleInputChange("unitPriceTaxExcl"), pattern: "^-?\\d*\\.?\\d*$", placeholder: "Unit Price (excl. tax)", className: "" }) }), _jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsx(NumberForm, { number: editedItem.taxPercent ?? "", precision: 0, pattern: "^(100|[1-9]?[0-9])$", handleInputChange: handleInputChange("taxPercent"), placeholder: "Tax %", className: "" }) }), _jsx("td", { className: "border border-gray-200 p-3 text-right font-medium table-cell", children: formatNumber(calculatedValues.totalPriceTaxExcl) }), _jsx("td", { className: "border border-gray-200 p-3 text-right font-medium table-cell", children: formatNumber(calculatedValues.totalPriceTaxIncl) }), _jsx("td", { className: "border border-gray-200 p-3 table-cell", children: _jsxs("div", { className: "flex space-x-2", children: [_jsx("button", { className: "rounded bg-blue-500 px-3 py-1 text-white hover:bg-blue-700", onClick: handleSave, children: "Save" }), _jsx("button", { className: "rounded bg-gray-500 px-3 py-1 text-white hover:bg-gray-600", onClick: onCancel, children: "Cancel" })] }) })] }));
145
146
  });
146
- export function LineItemsTable({ lineItems, currency, onAddItem, onUpdateItem, onDeleteItem, onUpdateCurrency, dispatch, paymentAccounts }) {
147
+ export function LineItemsTable({ lineItems, currency, onAddItem, onUpdateItem, onDeleteItem, onUpdateCurrency, dispatch, paymentAccounts, }) {
147
148
  const [editingId, setEditingId] = useState(null);
148
149
  const [isAddingNew, setIsAddingNew] = useState(false);
149
150
  const [showTagTable, setShowTagTable] = useState(false);
@@ -162,19 +163,27 @@ export function LineItemsTable({ lineItems, currency, onAddItem, onUpdateItem, o
162
163
  setIsAddingNew(false);
163
164
  }
164
165
  // Transform line items to TagAssignmentRow format for the tag table
165
- const tagAssignmentRows = lineItems.map(item => ({
166
+ const tagAssignmentRows = lineItems.map((item) => ({
166
167
  id: item.id,
167
168
  item: item.description,
168
- period: '', // Default value
169
- expenseAccount: '', // Default value
169
+ period: "", // Default value
170
+ expenseAccount: "", // Default value
170
171
  total: `$${formatNumber(item.totalPriceTaxIncl)}`,
171
172
  lineItemTag: item.lineItemTag,
172
173
  }));
173
174
  if (showTagTable) {
174
175
  return (_jsx(LineItemTagsTable, { lineItems: tagAssignmentRows, onClose: () => setShowTagTable(false), dispatch: dispatch, paymentAccounts: paymentAccounts }));
175
176
  }
176
- return (_jsx("div", { ref: containerRef, className: "relative w-full", children: _jsxs("div", { className: "mt-4", children: [_jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsx("div", { className: "flex items-center gap-4", children: _jsx("h4", { className: "text-xl font-semibold text-gray-900", children: "Line Items" }) }), _jsx(RWAButton, { className: "mb-2", disabled: isAddingNew, onClick: handleAddClick, children: "Add Line Item" })] }), _jsx("div", { ref: tableContainerRef, className: "overflow-x-auto rounded-lg border border-gray-200", children: _jsxs("table", { ref: tableRef, className: "w-full table-fixed border-collapse bg-white", children: [_jsxs("colgroup", { children: [_jsx("col", { style: { width: '30%' } }), _jsx("col", { style: { width: '10%' } }), _jsx("col", { style: { width: '12%' } }), _jsx("col", { style: { width: '8%' } }), _jsx("col", {}), _jsx("col", {}), _jsx("col", {})] }), _jsx("thead", { children: _jsxs("tr", { className: "bg-gray-50", children: [_jsx("th", { className: "border-b border-gray-200 p-3 text-left", children: "Description" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Quantity" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Unit Price (excl. tax)" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Tax %" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Total (excl. tax)" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Total (incl. tax)" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-center", children: _jsxs("span", { className: "flex items-center justify-center gap-2", children: [_jsx("span", { className: "text-sm", children: "Actions" }), _jsx(Tag, { onClick: () => setShowTagTable(true), style: { cursor: "pointer", width: 28, height: 28, color: "white", fill: "#475264" } })] }) })] }) }), _jsxs("tbody", { children: [lineItems.map((item) => editingId === item.id ? (_jsx(EditableLineItem, { currency: currency, item: item, onCancel: () => setEditingId(null), onSave: (updatedItem) => {
177
+ return (_jsx("div", { ref: containerRef, className: "relative w-full", children: _jsxs("div", { className: "mt-4", children: [_jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsx("div", { className: "flex items-center gap-4", children: _jsx("h4", { className: "text-xl font-semibold text-gray-900", children: "Line Items" }) }), _jsx(RWAButton, { className: "mb-2", disabled: isAddingNew, onClick: handleAddClick, children: "Add Line Item" })] }), _jsx("div", { ref: tableContainerRef, className: "overflow-x-auto rounded-lg border border-gray-200", children: _jsxs("table", { ref: tableRef, className: "w-full table-fixed border-collapse bg-white", children: [_jsxs("colgroup", { children: [_jsx("col", { style: { width: "30%" } }), _jsx("col", { style: { width: "10%" } }), _jsx("col", { style: { width: "12%" } }), _jsx("col", { style: { width: "8%" } }), _jsx("col", {}), _jsx("col", {}), _jsx("col", {})] }), _jsx("thead", { children: _jsxs("tr", { className: "bg-gray-50", children: [_jsx("th", { className: "border-b border-gray-200 p-3 text-left", children: "Description" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Quantity" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Unit Price (excl. tax)" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Tax %" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Total (excl. tax)" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-right", children: "Total (incl. tax)" }), _jsx("th", { className: "border-b border-gray-200 p-3 text-center", children: _jsxs("span", { className: "flex items-center justify-center gap-2", children: [_jsx("span", { className: "text-sm", children: "Actions" }), _jsx(Tag, { onClick: () => setShowTagTable(true), style: {
178
+ cursor: "pointer",
179
+ width: 28,
180
+ height: 28,
181
+ color: "white",
182
+ fill: "#475264",
183
+ } })] }) })] }) }), _jsxs("tbody", { children: [lineItems.map((item) => editingId === item.id ? (_jsx(EditableLineItem, { currency: currency, item: item, onCancel: () => setEditingId(null), onSave: (updatedItem) => {
177
184
  onUpdateItem(updatedItem);
178
185
  setEditingId(null);
179
- } }, item.id)) : (_jsxs("tr", { className: "hover:bg-gray-50 table-row", children: [_jsx("td", { className: "border-b border-gray-200 p-3 table-cell", children: item.description }), _jsx("td", { className: "border-b border-gray-200 p-3 text-right table-cell", children: item.quantity }), _jsx("td", { className: "border-b border-gray-200 p-3 text-right table-cell", children: formatNumber(item.unitPriceTaxExcl) }), _jsxs("td", { className: "border-b border-gray-200 p-3 text-right table-cell", children: [typeof item.taxPercent === "number" ? Math.round(item.taxPercent) : 0, "%"] }), _jsx("td", { className: "border-b border-gray-200 p-3 text-right font-medium table-cell", children: formatNumber(item.totalPriceTaxExcl) }), _jsx("td", { className: "border-b border-gray-200 p-3 text-right font-medium table-cell", children: formatNumber(item.totalPriceTaxIncl) }), _jsx("td", { className: "border-b border-gray-200 p-3 table-cell", children: _jsxs("div", { className: "flex justify-center space-x-2", children: [_jsx("button", { style: { backgroundColor: "lightblue" }, className: "rounded bg-blue-600 px-3 py-1 text-white hover:bg-blue-700", onClick: () => setEditingId(item.id), children: "Edit" }), _jsx("button", { className: "rounded bg-red-600 px-3 py-1 text-white hover:bg-red-700", onClick: () => onDeleteItem({ id: item.id }), children: "Delete" })] }) })] }, item.id))), isAddingNew ? (_jsx(EditableLineItem, { currency: currency, item: {}, onCancel: handleCancelNewItem, onSave: handleSaveNewItem })) : null] })] }) })] }) }));
186
+ } }, item.id)) : (_jsxs("tr", { className: "hover:bg-gray-50 table-row", children: [_jsx("td", { className: "border-b border-gray-200 p-3 table-cell", children: item.description }), _jsx("td", { className: "border-b border-gray-200 p-3 text-right table-cell", children: item.quantity }), _jsx("td", { className: "border-b border-gray-200 p-3 text-right table-cell", children: formatNumber(item.unitPriceTaxExcl) }), _jsxs("td", { className: "border-b border-gray-200 p-3 text-right table-cell", children: [typeof item.taxPercent === "number"
187
+ ? Math.round(item.taxPercent)
188
+ : 0, "%"] }), _jsx("td", { className: "border-b border-gray-200 p-3 text-right font-medium table-cell", children: formatNumber(item.totalPriceTaxExcl) }), _jsx("td", { className: "border-b border-gray-200 p-3 text-right font-medium table-cell", children: formatNumber(item.totalPriceTaxIncl) }), _jsx("td", { className: "border-b border-gray-200 p-3 table-cell", children: _jsxs("div", { className: "flex justify-center space-x-2", children: [_jsx("button", { className: "rounded bg-blue-500 px-3 py-1 text-white hover:bg-blue-200", onClick: () => setEditingId(item.id), children: "Edit" }), _jsx("button", { className: "rounded bg-red-600 px-3 py-1 text-white hover:bg-red-700", onClick: () => onDeleteItem({ id: item.id }), children: "Delete" })] }) })] }, item.id))), isAddingNew ? (_jsx(EditableLineItem, { currency: currency, item: {}, onCancel: handleCancelNewItem, onSave: handleSaveNewItem })) : null] })] }) })] }) }));
180
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validationManager.d.ts","sourceRoot":"","sources":["../../../../editors/invoice/validation/validationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,gBAAgB,CAAC;IAC1D,SAAS,EAAE;QACP,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAClC,iBAAiB,EAAE;YACf,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,EAAE,EAAE,MAAM,EAAE,CAAC;SAChB,CAAC;KACL,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AA8BF,wBAAgB,aAAa,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,iBAAiB,GAC3B,gBAAgB,GAAG,IAAI,CAqBzB;AAGD,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,EAAE,iBAAiB,GAC3B,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAalC;AAGD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAE5D;AAGD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKxD"}
1
+ {"version":3,"file":"validationManager.d.ts","sourceRoot":"","sources":["../../../../editors/invoice/validation/validationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,gBAAgB,CAAC;IAC1D,SAAS,EAAE;QACP,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAClC,iBAAiB,EAAE;YACf,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,EAAE,EAAE,MAAM,EAAE,CAAC;SAChB,CAAC;KACL,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AA+BF,wBAAgB,aAAa,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,iBAAiB,GAC3B,gBAAgB,GAAG,IAAI,CAqBzB;AAGD,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,EAAE,iBAAiB,GAC3B,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAalC;AAGD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAE5D;AAGD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKxD"}
@@ -1,11 +1,12 @@
1
- import { accountNumberRule, bicNumberRule, bankNameRule, countryRule, currencyRule, ethereumAddressRule, invoiceNumberRule, issuerPostalCodeRule, issuerStreetAddressRule, issuerCityRule, payerEmailRule, lineItemRule } from "./validationRules.js";
1
+ import { accountNumberRule, bicNumberRule, bankNameRule, currencyRule, ethereumAddressRule, invoiceNumberRule, issuerPostalCodeRule, issuerStreetAddressRule, issuerCityRule, payerEmailRule, lineItemRule, mainCountryRule, bankCountryRule } from "./validationRules.js";
2
2
  // Validation rules registry
3
3
  const validationRules = [];
4
4
  // Register rules
5
5
  validationRules.push(invoiceNumberRule);
6
6
  validationRules.push(ethereumAddressRule);
7
7
  validationRules.push(currencyRule);
8
- validationRules.push(countryRule);
8
+ validationRules.push(mainCountryRule);
9
+ validationRules.push(bankCountryRule);
9
10
  validationRules.push(accountNumberRule);
10
11
  validationRules.push(bicNumberRule);
11
12
  validationRules.push(bankNameRule);
@@ -2,7 +2,8 @@ import { ValidationRule } from "./validationManager.js";
2
2
  export declare const invoiceNumberRule: ValidationRule;
3
3
  export declare const ethereumAddressRule: ValidationRule;
4
4
  export declare const currencyRule: ValidationRule;
5
- export declare const countryRule: ValidationRule;
5
+ export declare const mainCountryRule: ValidationRule;
6
+ export declare const bankCountryRule: ValidationRule;
6
7
  export declare const accountNumberRule: ValidationRule;
7
8
  export declare const bicNumberRule: ValidationRule;
8
9
  export declare const bankNameRule: ValidationRule;
@@ -1 +1 @@
1
- {"version":3,"file":"validationRules.d.ts","sourceRoot":"","sources":["../../../../editors/invoice/validation/validationRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAmBxD,eAAO,MAAM,iBAAiB,EAAE,cAuB/B,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,cA8BjC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAuB1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,cAuBzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cA8B/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAkC3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAuB1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAuBrC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAuB5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cAuBlC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cA8B5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAuB1B,CAAC"}
1
+ {"version":3,"file":"validationRules.d.ts","sourceRoot":"","sources":["../../../../editors/invoice/validation/validationRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAmBxD,eAAO,MAAM,iBAAiB,EAAE,cAuB/B,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,cA8BjC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAuB1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,cAuB7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,cAuB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cA8B/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAkC3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAuB1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAuBrC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAuB5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cAuBlC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cA8B5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAuB1B,CAAC"}
@@ -92,8 +92,8 @@ export const currencyRule = {
92
92
  }
93
93
  }
94
94
  };
95
- export const countryRule = {
96
- field: 'country',
95
+ export const mainCountryRule = {
96
+ field: 'mainCountry',
97
97
  validate: (value) => {
98
98
  if (!value || value.trim() === '') {
99
99
  return {
@@ -116,6 +116,30 @@ export const countryRule = {
116
116
  }
117
117
  }
118
118
  };
119
+ export const bankCountryRule = {
120
+ field: 'bankCountry',
121
+ validate: (value) => {
122
+ if (!value || value.trim() === '') {
123
+ return {
124
+ isValid: false,
125
+ message: 'Bank country is required',
126
+ severity: 'warning'
127
+ };
128
+ }
129
+ return {
130
+ isValid: true,
131
+ message: '',
132
+ severity: 'none'
133
+ };
134
+ },
135
+ appliesTo: {
136
+ currencies: ['USD', 'EUR', 'GBP', 'JPY', 'CNY', 'CHF'],
137
+ statusTransitions: {
138
+ from: ['DRAFT'],
139
+ to: ['ISSUED']
140
+ }
141
+ }
142
+ };
119
143
  export const accountNumberRule = {
120
144
  field: 'accountNum',
121
145
  validate: (value) => {
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/index.js").InvoiceDocument>[];
4
- export declare const editors: (import("document-model").EditorModule<import("./document-models/invoice/index.js").InvoiceDocument> | import("@powerhousedao/reactor-browser").DriveEditorModule<import("document-drive").DocumentDriveDocument>)[];
3
+ export declare const documentModels: (import("document-model").DocumentModelModule<import("./document-models/invoice/index.js").InvoiceDocument> | import("document-model").DocumentModelModule<import("./document-models/billing-statement/index.js").BillingStatementDocument>)[];
4
+ export declare const editors: (import("document-model").EditorModule<import("./document-models/invoice/index.js").InvoiceDocument> | import("@powerhousedao/reactor-browser").DriveEditorModule<import("document-drive").DocumentDriveDocument> | import("document-model").EditorModule<import("./document-models/billing-statement/index.js").BillingStatementDocument>)[];
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,8GAAuC,CAAC;AACnE,eAAO,MAAM,OAAO,sNAAgC,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,gPAAuC,CAAC;AACnE,eAAO,MAAM,OAAO,+UAAgC,CAAC"}
@@ -16,7 +16,16 @@
16
16
  {
17
17
  "id": "powerhouse/invoice-editor",
18
18
  "name": "Invoice",
19
- "documentTypes": ["powerhouse/invoice"]
19
+ "documentTypes": [
20
+ "powerhouse/invoice"
21
+ ]
22
+ },
23
+ {
24
+ "id": "powerhouse/billing-statement-editor",
25
+ "name": "Billing Statement",
26
+ "documentTypes": [
27
+ "powerhouse/billing-statement"
28
+ ]
20
29
  }
21
30
  ],
22
31
  "apps": [
package/dist/style.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @layer theme, base, components, utilities;
4
4
  @layer theme {
@@ -18,6 +18,7 @@
18
18
  --color-orange-700: oklch(55.3% 0.195 38.402);
19
19
  --color-orange-800: oklch(47% 0.157 37.304);
20
20
  --color-orange-900: oklch(40.8% 0.123 38.172);
21
+ --color-yellow-50: oklch(98.7% 0.026 102.212);
21
22
  --color-yellow-100: oklch(97.3% 0.071 103.193);
22
23
  --color-yellow-300: oklch(90.5% 0.182 98.111);
23
24
  --color-yellow-400: oklch(85.2% 0.199 91.936);
@@ -31,6 +32,7 @@
31
32
  --color-green-900: oklch(39.3% 0.095 152.535);
32
33
  --color-blue-50: oklch(97% 0.014 254.604);
33
34
  --color-blue-100: oklch(93.2% 0.032 255.585);
35
+ --color-blue-200: oklch(88.2% 0.059 254.128);
34
36
  --color-blue-400: oklch(70.7% 0.165 254.624);
35
37
  --color-blue-500: oklch(62.3% 0.214 259.815);
36
38
  --color-blue-600: oklch(54.6% 0.245 262.881);
@@ -311,12 +313,18 @@
311
313
  .mt-4 {
312
314
  margin-top: calc(var(--spacing) * 4);
313
315
  }
316
+ .mt-6 {
317
+ margin-top: calc(var(--spacing) * 6);
318
+ }
314
319
  .mt-8 {
315
320
  margin-top: calc(var(--spacing) * 8);
316
321
  }
317
322
  .mr-1 {
318
323
  margin-right: calc(var(--spacing) * 1);
319
324
  }
325
+ .mr-2 {
326
+ margin-right: calc(var(--spacing) * 2);
327
+ }
320
328
  .mb-1 {
321
329
  margin-bottom: calc(var(--spacing) * 1);
322
330
  }
@@ -399,6 +407,18 @@
399
407
  .w-8 {
400
408
  width: calc(var(--spacing) * 8);
401
409
  }
410
+ .w-10 {
411
+ width: calc(var(--spacing) * 10);
412
+ }
413
+ .w-16 {
414
+ width: calc(var(--spacing) * 16);
415
+ }
416
+ .w-32 {
417
+ width: calc(var(--spacing) * 32);
418
+ }
419
+ .w-40 {
420
+ width: calc(var(--spacing) * 40);
421
+ }
402
422
  .w-48 {
403
423
  width: calc(var(--spacing) * 48);
404
424
  }
@@ -411,6 +431,9 @@
411
431
  .w-full {
412
432
  width: 100%;
413
433
  }
434
+ .min-w-\[900px\] {
435
+ min-width: 900px;
436
+ }
414
437
  .flex-1 {
415
438
  flex: 1;
416
439
  }
@@ -444,6 +467,9 @@
444
467
  .grid-cols-2 {
445
468
  grid-template-columns: repeat(2, minmax(0, 1fr));
446
469
  }
470
+ .grid-rows-2 {
471
+ grid-template-rows: repeat(2, minmax(0, 1fr));
472
+ }
447
473
  .flex-col {
448
474
  flex-direction: column;
449
475
  }
@@ -534,6 +560,9 @@
534
560
  .rounded-md {
535
561
  border-radius: var(--radius-md);
536
562
  }
563
+ .rounded-sm {
564
+ border-radius: var(--radius-sm);
565
+ }
537
566
  .border {
538
567
  border-style: var(--tw-border-style);
539
568
  border-width: 1px;
@@ -570,6 +599,9 @@
570
599
  .border-gray-400 {
571
600
  border-color: var(--color-gray-400);
572
601
  }
602
+ .border-gray-500 {
603
+ border-color: var(--color-gray-500);
604
+ }
573
605
  .border-transparent {
574
606
  border-color: transparent;
575
607
  }
@@ -615,9 +647,15 @@
615
647
  .bg-white {
616
648
  background-color: var(--color-white);
617
649
  }
650
+ .bg-yellow-50 {
651
+ background-color: var(--color-yellow-50);
652
+ }
618
653
  .bg-yellow-100 {
619
654
  background-color: var(--color-yellow-100);
620
655
  }
656
+ .p-0 {
657
+ padding: calc(var(--spacing) * 0);
658
+ }
621
659
  .p-2 {
622
660
  padding: calc(var(--spacing) * 2);
623
661
  }
@@ -630,6 +668,9 @@
630
668
  .p-6 {
631
669
  padding: calc(var(--spacing) * 6);
632
670
  }
671
+ .px-1 {
672
+ padding-inline: calc(var(--spacing) * 1);
673
+ }
633
674
  .px-2 {
634
675
  padding-inline: calc(var(--spacing) * 2);
635
676
  }
@@ -651,6 +692,9 @@
651
692
  .py-2 {
652
693
  padding-block: calc(var(--spacing) * 2);
653
694
  }
695
+ .pt-2 {
696
+ padding-top: calc(var(--spacing) * 2);
697
+ }
654
698
  .pt-4 {
655
699
  padding-top: calc(var(--spacing) * 4);
656
700
  }
@@ -660,9 +704,6 @@
660
704
  .pr-8 {
661
705
  padding-right: calc(var(--spacing) * 8);
662
706
  }
663
- .pb-5 {
664
- padding-bottom: calc(var(--spacing) * 5);
665
- }
666
707
  .text-center {
667
708
  text-align: center;
668
709
  }
@@ -786,7 +827,7 @@
786
827
  --tw-ring-color: var(--color-black);
787
828
  }
788
829
  .transition {
789
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
830
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
790
831
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
791
832
  transition-duration: var(--tw-duration, var(--default-transition-duration));
792
833
  }
@@ -800,6 +841,13 @@
800
841
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
801
842
  transition-duration: var(--tw-duration, var(--default-transition-duration));
802
843
  }
844
+ .hover\:bg-blue-200 {
845
+ &:hover {
846
+ @media (hover: hover) {
847
+ background-color: var(--color-blue-200);
848
+ }
849
+ }
850
+ }
803
851
  .hover\:bg-blue-600 {
804
852
  &:hover {
805
853
  @media (hover: hover) {
@@ -925,6 +973,12 @@
925
973
  grid-template-columns: repeat(2, minmax(0, 1fr));
926
974
  }
927
975
  }
976
+ .md\:text-2xl {
977
+ @media (width >= 48rem) {
978
+ font-size: var(--text-2xl);
979
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
980
+ }
981
+ }
928
982
  }
929
983
  /*! tailwindcss v4.1.5 | MIT License | https://tailwindcss.com */
930
984
  @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
@@ -6259,6 +6313,49 @@ input[type="number"] {
6259
6313
  }
6260
6314
  }
6261
6315
  }
6316
+ .editor-container {
6317
+ width: 100%;
6318
+ min-height: 100vh;
6319
+ margin: 0;
6320
+ padding: 0.5rem;
6321
+ box-sizing: border-box;
6322
+ overflow-x: hidden;
6323
+ }
6324
+ .editor-container > * {
6325
+ width: 100%;
6326
+ max-width: 100%;
6327
+ }
6328
+ @media (max-width: 640px) {
6329
+ .editor-container {
6330
+ padding: 0.25rem;
6331
+ transform: scale(0.95);
6332
+ transform-origin: top left;
6333
+ }
6334
+ }
6335
+ @media (min-width: 641px) and (max-width: 1023px) {
6336
+ .editor-container {
6337
+ padding: 0.5rem;
6338
+ transform: scale(0.9);
6339
+ transform-origin: top left;
6340
+ }
6341
+ }
6342
+ @media (min-width: 1024px) {
6343
+ .editor-container {
6344
+ max-width: 1280px;
6345
+ margin-left: auto;
6346
+ margin-right: auto;
6347
+ padding: 1rem;
6348
+ transform: none;
6349
+ }
6350
+ }
6351
+ @media (max-width: 768px) {
6352
+ .editor-grid {
6353
+ grid-template-columns: 1fr !important;
6354
+ }
6355
+ .editor-grid-item {
6356
+ width: 100% !important;
6357
+ }
6358
+ }
6262
6359
  @property --tw-border-spacing-x {
6263
6360
  syntax: "<length>";
6264
6361
  inherits: false;
@@ -0,0 +1,10 @@
1
+ import { Subgraph } from "@powerhousedao/reactor-api";
2
+ export declare class BillingStatementSubgraph extends Subgraph {
3
+ name: string;
4
+ typeDefs: import("graphql").DocumentNode;
5
+ resolvers: Record<string, any>;
6
+ additionalContextFields: {};
7
+ onSetup(): Promise<void>;
8
+ onDisconnect(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../subgraphs/billing-statement/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAKtD,qBAAa,wBAAyB,SAAQ,QAAQ;IACpD,IAAI,SAAuB;IAE3B,QAAQ,iCAAU;IAClB,SAAS,sBAAsB;IAC/B,uBAAuB,KAAM;IACvB,OAAO;IACP,YAAY;CACnB"}
@@ -0,0 +1,11 @@
1
+ import { Subgraph } from "@powerhousedao/reactor-api";
2
+ import { schema } from "./schema.js";
3
+ import { getResolvers } from "./resolvers.js";
4
+ export class BillingStatementSubgraph extends Subgraph {
5
+ name = "billing-statement";
6
+ typeDefs = schema;
7
+ resolvers = getResolvers(this);
8
+ additionalContextFields = {};
9
+ async onSetup() { }
10
+ async onDisconnect() { }
11
+ }
@@ -0,0 +1,3 @@
1
+ import { type Subgraph } from "@powerhousedao/reactor-api";
2
+ export declare const getResolvers: (subgraph: Subgraph) => Record<string, any>;
3
+ //# sourceMappingURL=resolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/billing-statement/resolvers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAO3D,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CA8JnE,CAAC"}