@layerfi/components 0.1.79 → 0.1.81
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.
- package/dist/cjs/index.cjs +801 -552
- package/dist/esm/index.mjs +743 -494
- package/dist/esm/index.mjs.map +7 -0
- package/dist/index.css +30 -20
- package/dist/index.css.map +7 -0
- package/dist/index.d.ts +145 -30
- package/package.json +3 -2
- package/dist/styles/index.css +0 -7999
package/dist/cjs/index.cjs
CHANGED
|
@@ -115,7 +115,7 @@ var import_react17 = __toESM(require("react"));
|
|
|
115
115
|
var import_react16 = __toESM(require("react"));
|
|
116
116
|
|
|
117
117
|
// package.json
|
|
118
|
-
var version = "0.1.
|
|
118
|
+
var version = "0.1.81";
|
|
119
119
|
|
|
120
120
|
// src/models/APIError.ts
|
|
121
121
|
var APIError = class _APIError extends Error {
|
|
@@ -235,12 +235,42 @@ var tryToReadErrorsFromResponse = (res) => __async(void 0, null, function* () {
|
|
|
235
235
|
}
|
|
236
236
|
});
|
|
237
237
|
|
|
238
|
+
// src/utils/request/toDefinedSearchParameters.ts
|
|
239
|
+
function toSnakeCase(input) {
|
|
240
|
+
var _a;
|
|
241
|
+
const segments = (_a = input.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)) != null ? _a : [];
|
|
242
|
+
return segments.map((segment) => segment.toLowerCase()).join("_");
|
|
243
|
+
}
|
|
244
|
+
function toDefinedSearchParameters(input) {
|
|
245
|
+
const definedParameters = Object.fromEntries(
|
|
246
|
+
Object.entries(input).map(([key, value]) => {
|
|
247
|
+
if (value === null || value === void 0) {
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
if (value instanceof Date) {
|
|
251
|
+
return [key, value.toISOString()];
|
|
252
|
+
}
|
|
253
|
+
if (typeof value !== "string") {
|
|
254
|
+
return [key, String(value)];
|
|
255
|
+
}
|
|
256
|
+
return [key, value];
|
|
257
|
+
}).filter((entry) => entry !== null).map(([key, value]) => [toSnakeCase(key), value])
|
|
258
|
+
);
|
|
259
|
+
return new URLSearchParams(definedParameters);
|
|
260
|
+
}
|
|
261
|
+
|
|
238
262
|
// src/api/layer/balance_sheet.ts
|
|
239
263
|
var getBalanceSheet = get(
|
|
240
264
|
({ businessId, effectiveDate }) => `/v1/businesses/${businessId}/reports/balance-sheet?effective_date=${encodeURIComponent(
|
|
241
265
|
effectiveDate
|
|
242
266
|
)}`
|
|
243
267
|
);
|
|
268
|
+
var getBalanceSheetCSV = get(
|
|
269
|
+
({ businessId, effectiveDate }) => {
|
|
270
|
+
const parameters = toDefinedSearchParameters({ effectiveDate });
|
|
271
|
+
return `/v1/businesses/${businessId}/reports/balance-sheet/exports/csv?${parameters}`;
|
|
272
|
+
}
|
|
273
|
+
);
|
|
244
274
|
|
|
245
275
|
// src/api/layer/bankTransactions.ts
|
|
246
276
|
var getBankTransactions = get(
|
|
@@ -273,10 +303,10 @@ var updateBankTransactionMetadata = put(
|
|
|
273
303
|
({ businessId, bankTransactionId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/metadata`
|
|
274
304
|
);
|
|
275
305
|
var listBankTransactionDocuments = get(
|
|
276
|
-
({ businessId, bankTransactionId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/documents?content_disposition=
|
|
306
|
+
({ businessId, bankTransactionId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/documents?content_disposition=ATTACHMENT`
|
|
277
307
|
);
|
|
278
308
|
var getBankTransactionDocument = get(
|
|
279
|
-
({ businessId, bankTransactionId, documentId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/documents/${documentId}?content_disposition=
|
|
309
|
+
({ businessId, bankTransactionId, documentId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/documents/${documentId}?content_disposition=ATTACHMENT`
|
|
280
310
|
);
|
|
281
311
|
var archiveBankTransactionDocument = post(
|
|
282
312
|
({ businessId, bankTransactionId, documentId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/documents/${documentId}/archive`
|
|
@@ -417,6 +447,12 @@ var getStatementOfCashFlow = get(
|
|
|
417
447
|
startDate
|
|
418
448
|
)}&end_date=${encodeURIComponent(endDate)}`
|
|
419
449
|
);
|
|
450
|
+
var getCashflowStatementCSV = get(
|
|
451
|
+
({ businessId, startDate, endDate }) => {
|
|
452
|
+
const parameters = toDefinedSearchParameters({ startDate, endDate });
|
|
453
|
+
return `/v1/businesses/${businessId}/reports/cashflow-statement/exports/csv?${parameters}`;
|
|
454
|
+
}
|
|
455
|
+
);
|
|
420
456
|
|
|
421
457
|
// src/api/layer/tasks.ts
|
|
422
458
|
var getTasks = get(
|
|
@@ -5122,15 +5158,18 @@ var import_mutation = __toESM(require("swr/mutation"));
|
|
|
5122
5158
|
|
|
5123
5159
|
// src/components/ui/Stack/Stack.tsx
|
|
5124
5160
|
var import_react62 = __toESM(require("react"));
|
|
5125
|
-
var CLASS_NAME = "
|
|
5126
|
-
function
|
|
5127
|
-
var _b = _a, { align, children, gap, justify } = _b, restProps = __objRest(_b, ["align", "children", "gap", "justify"]);
|
|
5161
|
+
var CLASS_NAME = "Layer__Stack";
|
|
5162
|
+
function Stack(_a) {
|
|
5163
|
+
var _b = _a, { align, children, direction, gap, justify } = _b, restProps = __objRest(_b, ["align", "children", "direction", "gap", "justify"]);
|
|
5128
5164
|
const dataProperties = (0, import_react62.useMemo)(
|
|
5129
|
-
() => toDataProperties({ align, gap, justify }),
|
|
5130
|
-
[align, gap, justify]
|
|
5165
|
+
() => toDataProperties({ align, gap, justify, direction }),
|
|
5166
|
+
[align, direction, gap, justify]
|
|
5131
5167
|
);
|
|
5132
5168
|
return /* @__PURE__ */ import_react62.default.createElement("div", __spreadProps(__spreadValues(__spreadValues({}, restProps), dataProperties), { className: CLASS_NAME }), children);
|
|
5133
5169
|
}
|
|
5170
|
+
function VStack(props) {
|
|
5171
|
+
return /* @__PURE__ */ import_react62.default.createElement(Stack, __spreadProps(__spreadValues({}, props), { direction: "column" }));
|
|
5172
|
+
}
|
|
5134
5173
|
|
|
5135
5174
|
// src/components/utility/ConditionalList.tsx
|
|
5136
5175
|
var import_react63 = __toESM(require("react"));
|
|
@@ -8663,6 +8702,7 @@ var import_classnames39 = __toESM(require("classnames"));
|
|
|
8663
8702
|
var BusinessForm = ({
|
|
8664
8703
|
bankTransaction,
|
|
8665
8704
|
showTooltips,
|
|
8705
|
+
showCategorization,
|
|
8666
8706
|
showReceiptUploads,
|
|
8667
8707
|
showDescriptions
|
|
8668
8708
|
}) => {
|
|
@@ -8753,7 +8793,7 @@ var BusinessForm = ({
|
|
|
8753
8793
|
true
|
|
8754
8794
|
);
|
|
8755
8795
|
};
|
|
8756
|
-
return /* @__PURE__ */ import_react102.default.createElement("div", { className: "Layer__bank-transaction-mobile-list-item__business-form" }, /* @__PURE__ */ import_react102.default.createElement(
|
|
8796
|
+
return /* @__PURE__ */ import_react102.default.createElement("div", { className: "Layer__bank-transaction-mobile-list-item__business-form" }, showCategorization ? /* @__PURE__ */ import_react102.default.createElement(
|
|
8757
8797
|
ActionableList,
|
|
8758
8798
|
{
|
|
8759
8799
|
options,
|
|
@@ -8761,7 +8801,7 @@ var BusinessForm = ({
|
|
|
8761
8801
|
selectedId: selectedCategory == null ? void 0 : selectedCategory.id,
|
|
8762
8802
|
showDescriptions: showTooltips
|
|
8763
8803
|
}
|
|
8764
|
-
), showDescriptions && /* @__PURE__ */ import_react102.default.createElement(
|
|
8804
|
+
) : null, showDescriptions && /* @__PURE__ */ import_react102.default.createElement(
|
|
8765
8805
|
InputGroup,
|
|
8766
8806
|
{
|
|
8767
8807
|
className: "Layer__bank-transaction-mobile-list-item__description",
|
|
@@ -9065,6 +9105,7 @@ var import_classnames42 = __toESM(require("classnames"));
|
|
|
9065
9105
|
var SplitForm = ({
|
|
9066
9106
|
bankTransaction,
|
|
9067
9107
|
showTooltips,
|
|
9108
|
+
showCategorization,
|
|
9068
9109
|
showReceiptUploads,
|
|
9069
9110
|
showDescriptions
|
|
9070
9111
|
}) => {
|
|
@@ -9204,7 +9245,7 @@ var SplitForm = ({
|
|
|
9204
9245
|
true
|
|
9205
9246
|
);
|
|
9206
9247
|
});
|
|
9207
|
-
return /* @__PURE__ */ import_react105.default.createElement("div", null, /* @__PURE__ */ import_react105.default.createElement(Text, { weight: "bold" /* bold */, size: "sm" /* sm */ }, "Split transaction"), /* @__PURE__ */ import_react105.default.createElement("div", { className: "Layer__bank-transactions__table-cell__header" }, /* @__PURE__ */ import_react105.default.createElement(Text, { size: "sm" /* sm */ }, "Category"), /* @__PURE__ */ import_react105.default.createElement(Text, { size: "sm" /* sm */ }, "Amount")), /* @__PURE__ */ import_react105.default.createElement("div", { className: "Layer__bank-transactions__splits-inputs" }, rowState.splits.map((split, index) => /* @__PURE__ */ import_react105.default.createElement(
|
|
9248
|
+
return /* @__PURE__ */ import_react105.default.createElement("div", null, showCategorization ? /* @__PURE__ */ import_react105.default.createElement(import_react105.default.Fragment, null, /* @__PURE__ */ import_react105.default.createElement(Text, { weight: "bold" /* bold */, size: "sm" /* sm */ }, "Split transaction"), /* @__PURE__ */ import_react105.default.createElement("div", { className: "Layer__bank-transactions__table-cell__header" }, /* @__PURE__ */ import_react105.default.createElement(Text, { size: "sm" /* sm */ }, "Category"), /* @__PURE__ */ import_react105.default.createElement(Text, { size: "sm" /* sm */ }, "Amount")), /* @__PURE__ */ import_react105.default.createElement("div", { className: "Layer__bank-transactions__splits-inputs" }, rowState.splits.map((split, index) => /* @__PURE__ */ import_react105.default.createElement(
|
|
9208
9249
|
"div",
|
|
9209
9250
|
{
|
|
9210
9251
|
className: "Layer__bank-transactions__table-cell--split-entry",
|
|
@@ -9260,7 +9301,7 @@ var SplitForm = ({
|
|
|
9260
9301
|
className: "Layer__add-new-split"
|
|
9261
9302
|
},
|
|
9262
9303
|
"Add new split"
|
|
9263
|
-
)), showDescriptions && /* @__PURE__ */ import_react105.default.createElement(
|
|
9304
|
+
))) : null, showDescriptions && /* @__PURE__ */ import_react105.default.createElement(
|
|
9264
9305
|
InputGroup,
|
|
9265
9306
|
{
|
|
9266
9307
|
className: "Layer__bank-transaction-mobile-list-item__description",
|
|
@@ -9353,6 +9394,7 @@ var BankTransactionMobileForms = ({
|
|
|
9353
9394
|
purpose,
|
|
9354
9395
|
bankTransaction,
|
|
9355
9396
|
showTooltips,
|
|
9397
|
+
showCategorization,
|
|
9356
9398
|
showReceiptUploads,
|
|
9357
9399
|
showDescriptions,
|
|
9358
9400
|
isOpen
|
|
@@ -9364,6 +9406,7 @@ var BankTransactionMobileForms = ({
|
|
|
9364
9406
|
BusinessForm,
|
|
9365
9407
|
{
|
|
9366
9408
|
bankTransaction,
|
|
9409
|
+
showCategorization,
|
|
9367
9410
|
showTooltips,
|
|
9368
9411
|
showReceiptUploads,
|
|
9369
9412
|
showDescriptions
|
|
@@ -9543,7 +9586,7 @@ var BankTransactionMobileListItem = ({
|
|
|
9543
9586
|
isCredit(bankTransaction) ? "+$" : " $",
|
|
9544
9587
|
centsToDollars(bankTransaction.amount)
|
|
9545
9588
|
), /* @__PURE__ */ import_react109.default.createElement("span", { className: `${className}__heading__date` }, (0, import_date_fns11.format)((0, import_date_fns11.parseISO)(bankTransaction.date), DATE_FORMAT2))))
|
|
9546
|
-
),
|
|
9589
|
+
), /* @__PURE__ */ import_react109.default.createElement(
|
|
9547
9590
|
"div",
|
|
9548
9591
|
{
|
|
9549
9592
|
className: `${className}__expanded-row`,
|
|
@@ -9555,7 +9598,7 @@ var BankTransactionMobileListItem = ({
|
|
|
9555
9598
|
className: `${className}__expanded-row__content`,
|
|
9556
9599
|
ref: formRowRef
|
|
9557
9600
|
},
|
|
9558
|
-
/* @__PURE__ */ import_react109.default.createElement("div", { className: `${className}__toggle-row` }, /* @__PURE__ */ import_react109.default.createElement(
|
|
9601
|
+
categorizationEnabled(mode) ? /* @__PURE__ */ import_react109.default.createElement("div", { className: `${className}__toggle-row` }, /* @__PURE__ */ import_react109.default.createElement(
|
|
9559
9602
|
Toggle,
|
|
9560
9603
|
{
|
|
9561
9604
|
name: `purpose-${bankTransaction.id}`,
|
|
@@ -9564,31 +9607,29 @@ var BankTransactionMobileListItem = ({
|
|
|
9564
9607
|
{
|
|
9565
9608
|
value: "business",
|
|
9566
9609
|
label: "Business",
|
|
9567
|
-
style: { minWidth: 84 }
|
|
9568
|
-
disabled: !categorizationEnabled(mode)
|
|
9610
|
+
style: { minWidth: 84 }
|
|
9569
9611
|
},
|
|
9570
9612
|
{
|
|
9571
9613
|
value: "personal",
|
|
9572
9614
|
label: "Personal",
|
|
9573
|
-
style: { minWidth: 84 }
|
|
9574
|
-
disabled: !categorizationEnabled(mode)
|
|
9615
|
+
style: { minWidth: 84 }
|
|
9575
9616
|
},
|
|
9576
9617
|
{
|
|
9577
9618
|
value: "more",
|
|
9578
9619
|
label: "More",
|
|
9579
|
-
style: { minWidth: 84 }
|
|
9580
|
-
disabled: !categorizationEnabled(mode)
|
|
9620
|
+
style: { minWidth: 84 }
|
|
9581
9621
|
}
|
|
9582
9622
|
],
|
|
9583
9623
|
selected: purpose,
|
|
9584
9624
|
onChange: onChangePurpose
|
|
9585
9625
|
}
|
|
9586
|
-
), /* @__PURE__ */ import_react109.default.createElement(CloseButton, { onClick: () => close() })),
|
|
9626
|
+
), /* @__PURE__ */ import_react109.default.createElement(CloseButton, { onClick: () => close() })) : null,
|
|
9587
9627
|
/* @__PURE__ */ import_react109.default.createElement(
|
|
9588
9628
|
BankTransactionMobileForms,
|
|
9589
9629
|
{
|
|
9590
9630
|
purpose,
|
|
9591
9631
|
bankTransaction,
|
|
9632
|
+
showCategorization: categorizationEnabled(mode),
|
|
9592
9633
|
showTooltips,
|
|
9593
9634
|
showReceiptUploads,
|
|
9594
9635
|
showDescriptions,
|
|
@@ -9596,7 +9637,7 @@ var BankTransactionMobileListItem = ({
|
|
|
9596
9637
|
}
|
|
9597
9638
|
)
|
|
9598
9639
|
)
|
|
9599
|
-
)
|
|
9640
|
+
));
|
|
9600
9641
|
};
|
|
9601
9642
|
|
|
9602
9643
|
// src/components/BankTransactionMobileList/BankTransactionMobileList.tsx
|
|
@@ -14626,7 +14667,7 @@ ProfitAndLoss.Report = ProfitAndLossReport;
|
|
|
14626
14667
|
ProfitAndLoss.DownloadButton = ProfitAndLossDownloadButton;
|
|
14627
14668
|
|
|
14628
14669
|
// src/components/BalanceSheet/BalanceSheet.tsx
|
|
14629
|
-
var
|
|
14670
|
+
var import_react177 = __toESM(require("react"));
|
|
14630
14671
|
|
|
14631
14672
|
// src/contexts/BalanceSheetContext/BalanceSheetContext.tsx
|
|
14632
14673
|
var import_react169 = require("react");
|
|
@@ -14675,12 +14716,12 @@ var useBalanceSheet = (date = /* @__PURE__ */ new Date()) => {
|
|
|
14675
14716
|
|
|
14676
14717
|
// src/hooks/useElementViewSize/useElementViewSize.tsx
|
|
14677
14718
|
var import_react171 = require("react");
|
|
14678
|
-
var useElementViewSize = (
|
|
14679
|
-
const
|
|
14719
|
+
var useElementViewSize = () => {
|
|
14720
|
+
const containerRef = (0, import_react171.useRef)(null);
|
|
14680
14721
|
const [view, setView] = (0, import_react171.useState)("desktop");
|
|
14681
14722
|
const resizeTimeout = (0, import_react171.useRef)(null);
|
|
14682
14723
|
(0, import_react171.useLayoutEffect)(() => {
|
|
14683
|
-
const element =
|
|
14724
|
+
const element = containerRef == null ? void 0 : containerRef.current;
|
|
14684
14725
|
if (!element) {
|
|
14685
14726
|
return;
|
|
14686
14727
|
}
|
|
@@ -14708,11 +14749,8 @@ var useElementViewSize = (callback) => {
|
|
|
14708
14749
|
clearTimeout(resizeTimeout.current);
|
|
14709
14750
|
}
|
|
14710
14751
|
};
|
|
14711
|
-
}, [
|
|
14712
|
-
|
|
14713
|
-
callback(view);
|
|
14714
|
-
}, [view, callback]);
|
|
14715
|
-
return ref;
|
|
14752
|
+
}, [containerRef, view]);
|
|
14753
|
+
return { view, containerRef };
|
|
14716
14754
|
};
|
|
14717
14755
|
|
|
14718
14756
|
// src/components/BalanceSheetDatePicker/BalanceSheetDatePicker.tsx
|
|
@@ -14833,10 +14871,131 @@ var BALANCE_SHEET_ROWS = [
|
|
|
14833
14871
|
|
|
14834
14872
|
// src/components/BalanceSheet/BalanceSheet.tsx
|
|
14835
14873
|
var import_date_fns26 = require("date-fns");
|
|
14874
|
+
|
|
14875
|
+
// src/components/BalanceSheet/download/BalanceSheetDownloadButton.tsx
|
|
14876
|
+
var import_react176 = __toESM(require("react"));
|
|
14877
|
+
|
|
14878
|
+
// src/components/utility/InvisibleDownload.tsx
|
|
14879
|
+
var import_react175 = __toESM(require("react"));
|
|
14880
|
+
|
|
14881
|
+
// src/utils/delay/runDelayed.ts
|
|
14882
|
+
var DEFAULT_DELAY_MS = 50;
|
|
14883
|
+
function runDelayedSync(block, delayMs = DEFAULT_DELAY_MS) {
|
|
14884
|
+
return new Promise(
|
|
14885
|
+
(resolve) => setTimeout(() => resolve(block()), delayMs)
|
|
14886
|
+
);
|
|
14887
|
+
}
|
|
14888
|
+
|
|
14889
|
+
// src/components/utility/InvisibleDownload.tsx
|
|
14890
|
+
function useInvisibleDownload() {
|
|
14891
|
+
const invisibleDownloadRef = (0, import_react175.useRef)(null);
|
|
14892
|
+
const triggerInvisibleDownload = (0, import_react175.useCallback)((options) => {
|
|
14893
|
+
var _a;
|
|
14894
|
+
(_a = invisibleDownloadRef.current) == null ? void 0 : _a.trigger(options);
|
|
14895
|
+
}, []);
|
|
14896
|
+
return { invisibleDownloadRef, triggerInvisibleDownload };
|
|
14897
|
+
}
|
|
14898
|
+
var CLASS_NAME6 = "Layer__InvisibleDownload";
|
|
14899
|
+
var InvisibleDownload = (0, import_react175.forwardRef)((_props, ref) => {
|
|
14900
|
+
const internalRef = (0, import_react175.useRef)(null);
|
|
14901
|
+
(0, import_react175.useImperativeHandle)(ref, () => ({
|
|
14902
|
+
trigger: (_0) => __async(void 0, [_0], function* ({ url }) {
|
|
14903
|
+
var _a;
|
|
14904
|
+
(_a = internalRef.current) == null ? void 0 : _a.setAttribute("href", url);
|
|
14905
|
+
return runDelayedSync(() => {
|
|
14906
|
+
var _a2;
|
|
14907
|
+
return (_a2 = internalRef.current) == null ? void 0 : _a2.click();
|
|
14908
|
+
});
|
|
14909
|
+
})
|
|
14910
|
+
}));
|
|
14911
|
+
const handleContainClick = (0, import_react175.useCallback)((event) => {
|
|
14912
|
+
event.stopPropagation();
|
|
14913
|
+
}, []);
|
|
14914
|
+
return /* @__PURE__ */ import_react175.default.createElement("a", { download: true, className: CLASS_NAME6, ref: internalRef, onClick: handleContainClick });
|
|
14915
|
+
});
|
|
14916
|
+
InvisibleDownload.displayName = "InvisibleDownload";
|
|
14917
|
+
var InvisibleDownload_default = InvisibleDownload;
|
|
14918
|
+
|
|
14919
|
+
// src/components/BalanceSheet/download/useBalanceSheetDownload.ts
|
|
14920
|
+
var import_mutation2 = __toESM(require("swr/mutation"));
|
|
14921
|
+
function buildKey2({
|
|
14922
|
+
access_token: accessToken,
|
|
14923
|
+
apiUrl,
|
|
14924
|
+
businessId,
|
|
14925
|
+
effectiveDate
|
|
14926
|
+
}) {
|
|
14927
|
+
if (accessToken && apiUrl) {
|
|
14928
|
+
return {
|
|
14929
|
+
accessToken,
|
|
14930
|
+
apiUrl,
|
|
14931
|
+
businessId,
|
|
14932
|
+
effectiveDate,
|
|
14933
|
+
tags: ["#balance-sheet", "#exports", "#csv"]
|
|
14934
|
+
};
|
|
14935
|
+
}
|
|
14936
|
+
}
|
|
14937
|
+
function useBalanceSheetDownload({
|
|
14938
|
+
effectiveDate,
|
|
14939
|
+
onSuccess
|
|
14940
|
+
}) {
|
|
14941
|
+
const { data: auth } = useAuth();
|
|
14942
|
+
const { businessId } = useLayerContext();
|
|
14943
|
+
return (0, import_mutation2.default)(
|
|
14944
|
+
() => buildKey2(__spreadProps(__spreadValues({}, auth), {
|
|
14945
|
+
businessId,
|
|
14946
|
+
effectiveDate
|
|
14947
|
+
})),
|
|
14948
|
+
({ accessToken, apiUrl, businessId: businessId2, effectiveDate: effectiveDate2 }) => getBalanceSheetCSV(
|
|
14949
|
+
apiUrl,
|
|
14950
|
+
accessToken,
|
|
14951
|
+
{
|
|
14952
|
+
params: {
|
|
14953
|
+
businessId: businessId2,
|
|
14954
|
+
effectiveDate: effectiveDate2.toISOString()
|
|
14955
|
+
}
|
|
14956
|
+
}
|
|
14957
|
+
)().then(({ data }) => {
|
|
14958
|
+
if (onSuccess) {
|
|
14959
|
+
return onSuccess(data);
|
|
14960
|
+
}
|
|
14961
|
+
}),
|
|
14962
|
+
{
|
|
14963
|
+
revalidate: false,
|
|
14964
|
+
throwOnError: false
|
|
14965
|
+
}
|
|
14966
|
+
);
|
|
14967
|
+
}
|
|
14968
|
+
|
|
14969
|
+
// src/components/BalanceSheet/download/BalanceSheetDownloadButton.tsx
|
|
14970
|
+
function BalanceSheetDownloadButton({
|
|
14971
|
+
effectiveDate,
|
|
14972
|
+
iconOnly
|
|
14973
|
+
}) {
|
|
14974
|
+
const { invisibleDownloadRef, triggerInvisibleDownload } = useInvisibleDownload();
|
|
14975
|
+
const { trigger, isMutating, error } = useBalanceSheetDownload({
|
|
14976
|
+
effectiveDate,
|
|
14977
|
+
onSuccess: ({ presignedUrl }) => triggerInvisibleDownload({ url: presignedUrl })
|
|
14978
|
+
});
|
|
14979
|
+
return /* @__PURE__ */ import_react176.default.createElement(import_react176.default.Fragment, null, /* @__PURE__ */ import_react176.default.createElement(
|
|
14980
|
+
DownloadButton,
|
|
14981
|
+
{
|
|
14982
|
+
iconOnly,
|
|
14983
|
+
onClick: () => {
|
|
14984
|
+
trigger();
|
|
14985
|
+
},
|
|
14986
|
+
isDownloading: isMutating,
|
|
14987
|
+
requestFailed: Boolean(error),
|
|
14988
|
+
text: "Download",
|
|
14989
|
+
retryText: "Retry"
|
|
14990
|
+
}
|
|
14991
|
+
), /* @__PURE__ */ import_react176.default.createElement(InvisibleDownload_default, { ref: invisibleDownloadRef }));
|
|
14992
|
+
}
|
|
14993
|
+
|
|
14994
|
+
// src/components/BalanceSheet/BalanceSheet.tsx
|
|
14836
14995
|
var COMPONENT_NAME3 = "balance-sheet";
|
|
14837
14996
|
var BalanceSheet = (props) => {
|
|
14838
14997
|
const balanceSheetContextData = useBalanceSheet(props.effectiveDate);
|
|
14839
|
-
return /* @__PURE__ */
|
|
14998
|
+
return /* @__PURE__ */ import_react177.default.createElement(BalanceSheetContext.Provider, { value: balanceSheetContextData }, /* @__PURE__ */ import_react177.default.createElement(
|
|
14840
14999
|
BalanceSheetView,
|
|
14841
15000
|
__spreadValues({
|
|
14842
15001
|
asWidget: props.asWidget,
|
|
@@ -14849,13 +15008,10 @@ var BalanceSheetView = ({
|
|
|
14849
15008
|
asWidget = false,
|
|
14850
15009
|
stringOverrides
|
|
14851
15010
|
}) => {
|
|
14852
|
-
const [effectiveDate, setEffectiveDate] = (0,
|
|
15011
|
+
const [effectiveDate, setEffectiveDate] = (0, import_react177.useState)((0, import_date_fns26.startOfDay)(/* @__PURE__ */ new Date()));
|
|
14853
15012
|
const { data, isLoading, refetch } = useBalanceSheet(effectiveDate);
|
|
14854
|
-
const
|
|
14855
|
-
|
|
14856
|
-
(newView) => setView(newView)
|
|
14857
|
-
);
|
|
14858
|
-
(0, import_react175.useEffect)(() => {
|
|
15013
|
+
const { view, containerRef } = useElementViewSize();
|
|
15014
|
+
(0, import_react177.useEffect)(() => {
|
|
14859
15015
|
const d1 = effectiveDate && (0, import_date_fns26.format)((0, import_date_fns26.startOfDay)(effectiveDate), "yyyy-MM-dd'T'HH:mm:ssXXX");
|
|
14860
15016
|
const d2 = (data == null ? void 0 : data.effective_date) && (0, import_date_fns26.format)(
|
|
14861
15017
|
(0, import_date_fns26.startOfDay)(
|
|
@@ -14868,20 +15024,20 @@ var BalanceSheetView = ({
|
|
|
14868
15024
|
}
|
|
14869
15025
|
}, [effectiveDate]);
|
|
14870
15026
|
if (asWidget) {
|
|
14871
|
-
return /* @__PURE__ */
|
|
15027
|
+
return /* @__PURE__ */ import_react177.default.createElement(TableProvider, null, /* @__PURE__ */ import_react177.default.createElement(Container, { name: COMPONENT_NAME3, asWidget: true }, /* @__PURE__ */ import_react177.default.createElement(
|
|
14872
15028
|
View,
|
|
14873
15029
|
{
|
|
14874
15030
|
type: "panel",
|
|
14875
15031
|
ref: containerRef,
|
|
14876
|
-
header: /* @__PURE__ */
|
|
15032
|
+
header: /* @__PURE__ */ import_react177.default.createElement(Header2, null, /* @__PURE__ */ import_react177.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react177.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react177.default.createElement(
|
|
14877
15033
|
BalanceSheetDatePicker,
|
|
14878
15034
|
{
|
|
14879
15035
|
effectiveDate,
|
|
14880
15036
|
setEffectiveDate
|
|
14881
15037
|
}
|
|
14882
|
-
)), withExpandAllButton && /* @__PURE__ */
|
|
15038
|
+
)), withExpandAllButton && /* @__PURE__ */ import_react177.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react177.default.createElement(BalanceSheetExpandAllButton, { view }))))
|
|
14883
15039
|
},
|
|
14884
|
-
!data || isLoading ? /* @__PURE__ */
|
|
15040
|
+
!data || isLoading ? /* @__PURE__ */ import_react177.default.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ import_react177.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react177.default.createElement(
|
|
14885
15041
|
BalanceSheetTable,
|
|
14886
15042
|
{
|
|
14887
15043
|
data,
|
|
@@ -14891,20 +15047,26 @@ var BalanceSheetView = ({
|
|
|
14891
15047
|
)
|
|
14892
15048
|
)));
|
|
14893
15049
|
}
|
|
14894
|
-
return /* @__PURE__ */
|
|
15050
|
+
return /* @__PURE__ */ import_react177.default.createElement(TableProvider, null, /* @__PURE__ */ import_react177.default.createElement(
|
|
14895
15051
|
View,
|
|
14896
15052
|
{
|
|
14897
15053
|
type: "panel",
|
|
14898
15054
|
ref: containerRef,
|
|
14899
|
-
header: /* @__PURE__ */
|
|
15055
|
+
header: /* @__PURE__ */ import_react177.default.createElement(Header2, null, /* @__PURE__ */ import_react177.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react177.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react177.default.createElement(
|
|
14900
15056
|
BalanceSheetDatePicker,
|
|
14901
15057
|
{
|
|
14902
15058
|
effectiveDate,
|
|
14903
15059
|
setEffectiveDate
|
|
14904
15060
|
}
|
|
14905
|
-
)),
|
|
15061
|
+
)), /* @__PURE__ */ import_react177.default.createElement(HeaderCol, null, withExpandAllButton && /* @__PURE__ */ import_react177.default.createElement(BalanceSheetExpandAllButton, { view }), /* @__PURE__ */ import_react177.default.createElement(
|
|
15062
|
+
BalanceSheetDownloadButton,
|
|
15063
|
+
{
|
|
15064
|
+
effectiveDate,
|
|
15065
|
+
iconOnly: view === "mobile"
|
|
15066
|
+
}
|
|
15067
|
+
))))
|
|
14906
15068
|
},
|
|
14907
|
-
!data || isLoading ? /* @__PURE__ */
|
|
15069
|
+
!data || isLoading ? /* @__PURE__ */ import_react177.default.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ import_react177.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react177.default.createElement(
|
|
14908
15070
|
BalanceSheetTable,
|
|
14909
15071
|
{
|
|
14910
15072
|
data,
|
|
@@ -14916,11 +15078,11 @@ var BalanceSheetView = ({
|
|
|
14916
15078
|
};
|
|
14917
15079
|
|
|
14918
15080
|
// src/components/StatementOfCashFlow/StatementOfCashFlow.tsx
|
|
14919
|
-
var
|
|
15081
|
+
var import_react182 = __toESM(require("react"));
|
|
14920
15082
|
|
|
14921
15083
|
// src/contexts/StatementOfCashContext/StatementOfCashFlowContext.tsx
|
|
14922
|
-
var
|
|
14923
|
-
var StatementOfCashFlowContext = (0,
|
|
15084
|
+
var import_react178 = require("react");
|
|
15085
|
+
var StatementOfCashFlowContext = (0, import_react178.createContext)({
|
|
14924
15086
|
data: void 0,
|
|
14925
15087
|
isLoading: false,
|
|
14926
15088
|
error: void 0,
|
|
@@ -14929,7 +15091,7 @@ var StatementOfCashFlowContext = (0, import_react176.createContext)({
|
|
|
14929
15091
|
});
|
|
14930
15092
|
|
|
14931
15093
|
// src/hooks/useStatementOfCashFlow/useStatementOfCashFlow.tsx
|
|
14932
|
-
var
|
|
15094
|
+
var import_react179 = require("react");
|
|
14933
15095
|
var import_date_fns27 = require("date-fns");
|
|
14934
15096
|
var import_swr8 = __toESM(require("swr"));
|
|
14935
15097
|
var useStatementOfCashFlow = (startDate = /* @__PURE__ */ new Date(), endDate = /* @__PURE__ */ new Date()) => {
|
|
@@ -14955,12 +15117,12 @@ var useStatementOfCashFlow = (startDate = /* @__PURE__ */ new Date(), endDate =
|
|
|
14955
15117
|
const refetch = () => {
|
|
14956
15118
|
mutate();
|
|
14957
15119
|
};
|
|
14958
|
-
(0,
|
|
15120
|
+
(0, import_react179.useEffect)(() => {
|
|
14959
15121
|
if (queryKey && (isLoading || isValidating)) {
|
|
14960
15122
|
read("STATEMENT_OF_CASH_FLOWS" /* STATEMENT_OF_CASH_FLOWS */, queryKey);
|
|
14961
15123
|
}
|
|
14962
15124
|
}, [isLoading, isValidating]);
|
|
14963
|
-
(0,
|
|
15125
|
+
(0, import_react179.useEffect)(() => {
|
|
14964
15126
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
14965
15127
|
refetch();
|
|
14966
15128
|
}
|
|
@@ -14969,7 +15131,7 @@ var useStatementOfCashFlow = (startDate = /* @__PURE__ */ new Date(), endDate =
|
|
|
14969
15131
|
};
|
|
14970
15132
|
|
|
14971
15133
|
// src/components/StatementOfCashFlowTable/StatementOfCashFlowTable.tsx
|
|
14972
|
-
var
|
|
15134
|
+
var import_react180 = __toESM(require("react"));
|
|
14973
15135
|
var StatementOfCashFlowTable = ({
|
|
14974
15136
|
data,
|
|
14975
15137
|
config,
|
|
@@ -14979,7 +15141,7 @@ var StatementOfCashFlowTable = ({
|
|
|
14979
15141
|
const renderLineItem = (lineItem, depth = 0, rowKey, rowIndex) => {
|
|
14980
15142
|
const expandable = !!lineItem.line_items && lineItem.line_items.length > 0;
|
|
14981
15143
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
14982
|
-
return /* @__PURE__ */
|
|
15144
|
+
return /* @__PURE__ */ import_react180.default.createElement(import_react180.default.Fragment, { key: rowKey + "-" + rowIndex }, /* @__PURE__ */ import_react180.default.createElement(
|
|
14983
15145
|
TableRow,
|
|
14984
15146
|
{
|
|
14985
15147
|
rowKey: rowKey + "-" + rowIndex,
|
|
@@ -14988,8 +15150,8 @@ var StatementOfCashFlowTable = ({
|
|
|
14988
15150
|
handleExpand: () => setIsOpen(rowKey),
|
|
14989
15151
|
depth
|
|
14990
15152
|
},
|
|
14991
|
-
/* @__PURE__ */
|
|
14992
|
-
/* @__PURE__ */
|
|
15153
|
+
/* @__PURE__ */ import_react180.default.createElement(TableCell, { withExpandIcon: expandable, primary: expandable }, lineItem.display_name),
|
|
15154
|
+
/* @__PURE__ */ import_react180.default.createElement(
|
|
14993
15155
|
TableCell,
|
|
14994
15156
|
{
|
|
14995
15157
|
isCurrency: !expandable || expandable && !expanded,
|
|
@@ -15005,35 +15167,35 @@ var StatementOfCashFlowTable = ({
|
|
|
15005
15167
|
rowKey + ":" + subItem.name,
|
|
15006
15168
|
subIdx
|
|
15007
15169
|
)
|
|
15008
|
-
), expanded && expandable && /* @__PURE__ */
|
|
15170
|
+
), expanded && expandable && /* @__PURE__ */ import_react180.default.createElement(
|
|
15009
15171
|
TableRow,
|
|
15010
15172
|
{
|
|
15011
15173
|
rowKey: rowKey + "-" + rowIndex + "--summation",
|
|
15012
15174
|
depth: depth + 1,
|
|
15013
15175
|
variant: "summation"
|
|
15014
15176
|
},
|
|
15015
|
-
/* @__PURE__ */
|
|
15016
|
-
/* @__PURE__ */
|
|
15177
|
+
/* @__PURE__ */ import_react180.default.createElement(TableCell, { primary: true }, `Total of ${lineItem.display_name}`),
|
|
15178
|
+
/* @__PURE__ */ import_react180.default.createElement(TableCell, { primary: true, isCurrency: true, align: "right" /* RIGHT */ }, lineItem.value)
|
|
15017
15179
|
));
|
|
15018
15180
|
};
|
|
15019
|
-
return /* @__PURE__ */
|
|
15181
|
+
return /* @__PURE__ */ import_react180.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react180.default.createElement(TableHead, null, /* @__PURE__ */ import_react180.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react180.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.typeColumnHeader) || "Type"), /* @__PURE__ */ import_react180.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.totalColumnHeader) || "Total"))), /* @__PURE__ */ import_react180.default.createElement(TableBody, null, config.map((row, idx) => {
|
|
15020
15182
|
if (row.type === "line_item") {
|
|
15021
|
-
return /* @__PURE__ */
|
|
15183
|
+
return /* @__PURE__ */ import_react180.default.createElement(import_react180.default.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
15022
15184
|
data[row.lineItem],
|
|
15023
15185
|
0,
|
|
15024
15186
|
row.lineItem ? row.lineItem : "",
|
|
15025
15187
|
idx
|
|
15026
15188
|
));
|
|
15027
15189
|
} else {
|
|
15028
|
-
return /* @__PURE__ */
|
|
15190
|
+
return /* @__PURE__ */ import_react180.default.createElement(
|
|
15029
15191
|
TableRow,
|
|
15030
15192
|
{
|
|
15031
15193
|
key: row.name + "-" + idx,
|
|
15032
15194
|
rowKey: row.name + "-" + idx,
|
|
15033
15195
|
variant: "default"
|
|
15034
15196
|
},
|
|
15035
|
-
/* @__PURE__ */
|
|
15036
|
-
/* @__PURE__ */
|
|
15197
|
+
/* @__PURE__ */ import_react180.default.createElement(TableCell, { primary: true }, row.displayName),
|
|
15198
|
+
/* @__PURE__ */ import_react180.default.createElement(TableCell, { primary: true, isCurrency: true, align: "right" /* RIGHT */ }, row.lineItem)
|
|
15037
15199
|
);
|
|
15038
15200
|
}
|
|
15039
15201
|
})));
|
|
@@ -15080,10 +15242,97 @@ var STATEMENT_OF_CASH_FLOW_ROWS = [
|
|
|
15080
15242
|
|
|
15081
15243
|
// src/components/StatementOfCashFlow/StatementOfCashFlow.tsx
|
|
15082
15244
|
var import_date_fns28 = require("date-fns");
|
|
15245
|
+
|
|
15246
|
+
// src/components/StatementOfCashFlow/download/CashflowStatementDownloadButton.tsx
|
|
15247
|
+
var import_react181 = __toESM(require("react"));
|
|
15248
|
+
|
|
15249
|
+
// src/components/StatementOfCashFlow/download/useCashflowStatementDownload.ts
|
|
15250
|
+
var import_mutation3 = __toESM(require("swr/mutation"));
|
|
15251
|
+
function buildKey3({
|
|
15252
|
+
access_token: accessToken,
|
|
15253
|
+
apiUrl,
|
|
15254
|
+
businessId,
|
|
15255
|
+
startDate,
|
|
15256
|
+
endDate
|
|
15257
|
+
}) {
|
|
15258
|
+
if (accessToken && apiUrl) {
|
|
15259
|
+
return {
|
|
15260
|
+
accessToken,
|
|
15261
|
+
apiUrl,
|
|
15262
|
+
businessId,
|
|
15263
|
+
startDate,
|
|
15264
|
+
endDate,
|
|
15265
|
+
tags: ["#cashflow-statement", "#exports", "#csv"]
|
|
15266
|
+
};
|
|
15267
|
+
}
|
|
15268
|
+
}
|
|
15269
|
+
function useCashflowStatementDownload({
|
|
15270
|
+
startDate,
|
|
15271
|
+
endDate,
|
|
15272
|
+
onSuccess
|
|
15273
|
+
}) {
|
|
15274
|
+
const { data: auth } = useAuth();
|
|
15275
|
+
const { businessId } = useLayerContext();
|
|
15276
|
+
return (0, import_mutation3.default)(
|
|
15277
|
+
() => buildKey3(__spreadProps(__spreadValues({}, auth), {
|
|
15278
|
+
businessId,
|
|
15279
|
+
startDate,
|
|
15280
|
+
endDate
|
|
15281
|
+
})),
|
|
15282
|
+
({ accessToken, apiUrl, businessId: businessId2, startDate: startDate2, endDate: endDate2 }) => getCashflowStatementCSV(
|
|
15283
|
+
apiUrl,
|
|
15284
|
+
accessToken,
|
|
15285
|
+
{
|
|
15286
|
+
params: {
|
|
15287
|
+
businessId: businessId2,
|
|
15288
|
+
startDate: startDate2.toISOString(),
|
|
15289
|
+
endDate: endDate2.toISOString()
|
|
15290
|
+
}
|
|
15291
|
+
}
|
|
15292
|
+
)().then(({ data }) => {
|
|
15293
|
+
if (onSuccess) {
|
|
15294
|
+
return onSuccess(data);
|
|
15295
|
+
}
|
|
15296
|
+
}),
|
|
15297
|
+
{
|
|
15298
|
+
revalidate: false,
|
|
15299
|
+
throwOnError: false
|
|
15300
|
+
}
|
|
15301
|
+
);
|
|
15302
|
+
}
|
|
15303
|
+
|
|
15304
|
+
// src/components/StatementOfCashFlow/download/CashflowStatementDownloadButton.tsx
|
|
15305
|
+
function CashflowStatementDownloadButton({
|
|
15306
|
+
startDate,
|
|
15307
|
+
endDate,
|
|
15308
|
+
iconOnly
|
|
15309
|
+
}) {
|
|
15310
|
+
const { invisibleDownloadRef, triggerInvisibleDownload } = useInvisibleDownload();
|
|
15311
|
+
const { trigger, isMutating, error } = useCashflowStatementDownload({
|
|
15312
|
+
startDate,
|
|
15313
|
+
endDate,
|
|
15314
|
+
onSuccess: ({ presignedUrl }) => triggerInvisibleDownload({ url: presignedUrl })
|
|
15315
|
+
});
|
|
15316
|
+
return /* @__PURE__ */ import_react181.default.createElement(import_react181.default.Fragment, null, /* @__PURE__ */ import_react181.default.createElement(
|
|
15317
|
+
DownloadButton,
|
|
15318
|
+
{
|
|
15319
|
+
iconOnly,
|
|
15320
|
+
onClick: () => {
|
|
15321
|
+
trigger();
|
|
15322
|
+
},
|
|
15323
|
+
isDownloading: isMutating,
|
|
15324
|
+
requestFailed: Boolean(error),
|
|
15325
|
+
text: "Download",
|
|
15326
|
+
retryText: "Retry"
|
|
15327
|
+
}
|
|
15328
|
+
), /* @__PURE__ */ import_react181.default.createElement(InvisibleDownload_default, { ref: invisibleDownloadRef }));
|
|
15329
|
+
}
|
|
15330
|
+
|
|
15331
|
+
// src/components/StatementOfCashFlow/StatementOfCashFlow.tsx
|
|
15083
15332
|
var COMPONENT_NAME4 = "statement-of-cash-flow";
|
|
15084
15333
|
var StatementOfCashFlow = (props) => {
|
|
15085
15334
|
const cashContextData = useStatementOfCashFlow();
|
|
15086
|
-
return /* @__PURE__ */
|
|
15335
|
+
return /* @__PURE__ */ import_react182.default.createElement(StatementOfCashFlowContext.Provider, { value: cashContextData }, /* @__PURE__ */ import_react182.default.createElement(StatementOfCashFlowView, __spreadValues({}, props)));
|
|
15087
15336
|
};
|
|
15088
15337
|
var StatementOfCashFlowView = ({
|
|
15089
15338
|
stringOverrides,
|
|
@@ -15092,15 +15341,16 @@ var StatementOfCashFlowView = ({
|
|
|
15092
15341
|
allowedDatePickerModes,
|
|
15093
15342
|
customDateRanges
|
|
15094
15343
|
}) => {
|
|
15095
|
-
const [startDate, setStartDate] = (0,
|
|
15344
|
+
const [startDate, setStartDate] = (0, import_react182.useState)(
|
|
15096
15345
|
(0, import_date_fns28.startOfDay)((0, import_date_fns28.subWeeks)(/* @__PURE__ */ new Date(), 4))
|
|
15097
15346
|
);
|
|
15098
|
-
const [endDate, setEndDate] = (0,
|
|
15347
|
+
const [endDate, setEndDate] = (0, import_react182.useState)((0, import_date_fns28.startOfDay)(/* @__PURE__ */ new Date()));
|
|
15099
15348
|
const { data, isLoading, refetch } = useStatementOfCashFlow(
|
|
15100
15349
|
startDate,
|
|
15101
15350
|
endDate
|
|
15102
15351
|
);
|
|
15103
|
-
const
|
|
15352
|
+
const { view, containerRef } = useElementViewSize();
|
|
15353
|
+
const [datePickerMode, setDatePickerMode] = (0, import_react182.useState)(
|
|
15104
15354
|
deprecated_datePickerMode != null ? deprecated_datePickerMode : defaultDatePickerMode
|
|
15105
15355
|
);
|
|
15106
15356
|
const handleDateChange = (dates) => {
|
|
@@ -15114,7 +15364,7 @@ var StatementOfCashFlowView = ({
|
|
|
15114
15364
|
refetch();
|
|
15115
15365
|
}
|
|
15116
15366
|
};
|
|
15117
|
-
const datePicker = datePickerMode === "monthPicker" ? /* @__PURE__ */
|
|
15367
|
+
const datePicker = datePickerMode === "monthPicker" ? /* @__PURE__ */ import_react182.default.createElement(
|
|
15118
15368
|
DatePicker,
|
|
15119
15369
|
{
|
|
15120
15370
|
selected: startDate,
|
|
@@ -15132,7 +15382,7 @@ var StatementOfCashFlowView = ({
|
|
|
15132
15382
|
ModeSelector: DatePickerModeSelector
|
|
15133
15383
|
}
|
|
15134
15384
|
}
|
|
15135
|
-
) : /* @__PURE__ */
|
|
15385
|
+
) : /* @__PURE__ */ import_react182.default.createElement(
|
|
15136
15386
|
DatePicker,
|
|
15137
15387
|
{
|
|
15138
15388
|
selected: [startDate, endDate],
|
|
@@ -15147,13 +15397,21 @@ var StatementOfCashFlowView = ({
|
|
|
15147
15397
|
}
|
|
15148
15398
|
}
|
|
15149
15399
|
);
|
|
15150
|
-
return /* @__PURE__ */
|
|
15400
|
+
return /* @__PURE__ */ import_react182.default.createElement(TableProvider, null, /* @__PURE__ */ import_react182.default.createElement(
|
|
15151
15401
|
View,
|
|
15152
15402
|
{
|
|
15153
15403
|
type: "panel",
|
|
15154
|
-
|
|
15404
|
+
ref: containerRef,
|
|
15405
|
+
header: /* @__PURE__ */ import_react182.default.createElement(Header2, null, /* @__PURE__ */ import_react182.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react182.default.createElement(HeaderCol, null, datePicker), /* @__PURE__ */ import_react182.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react182.default.createElement(
|
|
15406
|
+
CashflowStatementDownloadButton,
|
|
15407
|
+
{
|
|
15408
|
+
startDate,
|
|
15409
|
+
endDate,
|
|
15410
|
+
iconOnly: view === "mobile"
|
|
15411
|
+
}
|
|
15412
|
+
))))
|
|
15155
15413
|
},
|
|
15156
|
-
!data || isLoading ? /* @__PURE__ */
|
|
15414
|
+
!data || isLoading ? /* @__PURE__ */ import_react182.default.createElement("div", { className: `Layer__${COMPONENT_NAME4}__loader-container` }, /* @__PURE__ */ import_react182.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react182.default.createElement(
|
|
15157
15415
|
StatementOfCashFlowTable,
|
|
15158
15416
|
{
|
|
15159
15417
|
data,
|
|
@@ -15165,12 +15423,12 @@ var StatementOfCashFlowView = ({
|
|
|
15165
15423
|
};
|
|
15166
15424
|
|
|
15167
15425
|
// src/components/ChartOfAccounts/ChartOfAccounts.tsx
|
|
15168
|
-
var
|
|
15426
|
+
var import_react200 = __toESM(require("react"));
|
|
15169
15427
|
|
|
15170
15428
|
// src/contexts/ChartOfAccountsContext/ChartOfAccountsContext.tsx
|
|
15171
|
-
var
|
|
15429
|
+
var import_react183 = require("react");
|
|
15172
15430
|
var import_date_fns29 = require("date-fns");
|
|
15173
|
-
var ChartOfAccountsContext = (0,
|
|
15431
|
+
var ChartOfAccountsContext = (0, import_react183.createContext)(
|
|
15174
15432
|
{
|
|
15175
15433
|
data: void 0,
|
|
15176
15434
|
isLoading: false,
|
|
@@ -15201,8 +15459,8 @@ var ChartOfAccountsContext = (0, import_react180.createContext)(
|
|
|
15201
15459
|
);
|
|
15202
15460
|
|
|
15203
15461
|
// src/contexts/LedgerAccountsContext/LedgerAccountsContext.tsx
|
|
15204
|
-
var
|
|
15205
|
-
var LedgerAccountsContext = (0,
|
|
15462
|
+
var import_react184 = require("react");
|
|
15463
|
+
var LedgerAccountsContext = (0, import_react184.createContext)({
|
|
15206
15464
|
data: void 0,
|
|
15207
15465
|
entryData: void 0,
|
|
15208
15466
|
isLoading: false,
|
|
@@ -15224,7 +15482,7 @@ var LedgerAccountsContext = (0, import_react181.createContext)({
|
|
|
15224
15482
|
});
|
|
15225
15483
|
|
|
15226
15484
|
// src/hooks/useChartOfAccounts/useChartOfAccounts.tsx
|
|
15227
|
-
var
|
|
15485
|
+
var import_react185 = require("react");
|
|
15228
15486
|
|
|
15229
15487
|
// src/components/ChartOfAccountsForm/constants.ts
|
|
15230
15488
|
var LEDGER_ACCOUNT_TYPES = [
|
|
@@ -15524,13 +15782,13 @@ var useChartOfAccounts = ({ withDates, startDate: initialStartDate, endDate: ini
|
|
|
15524
15782
|
} = useLayerContext();
|
|
15525
15783
|
const { apiUrl } = useEnvironment();
|
|
15526
15784
|
const { data: auth } = useAuth();
|
|
15527
|
-
const [form, setForm] = (0,
|
|
15528
|
-
const [sendingForm, setSendingForm] = (0,
|
|
15529
|
-
const [apiError, setApiError] = (0,
|
|
15530
|
-
const [startDate, setStartDate] = (0,
|
|
15785
|
+
const [form, setForm] = (0, import_react185.useState)();
|
|
15786
|
+
const [sendingForm, setSendingForm] = (0, import_react185.useState)(false);
|
|
15787
|
+
const [apiError, setApiError] = (0, import_react185.useState)(void 0);
|
|
15788
|
+
const [startDate, setStartDate] = (0, import_react185.useState)(
|
|
15531
15789
|
initialStartDate != null ? initialStartDate : (0, import_date_fns30.startOfMonth)(Date.now())
|
|
15532
15790
|
);
|
|
15533
|
-
const [endDate, setEndDate] = (0,
|
|
15791
|
+
const [endDate, setEndDate] = (0, import_react185.useState)(
|
|
15534
15792
|
initialEndDate != null ? initialEndDate : (0, import_date_fns30.endOfMonth)(Date.now())
|
|
15535
15793
|
);
|
|
15536
15794
|
const queryKey = businessId && (auth == null ? void 0 : auth.access_token) && `chart-of-accounts-${businessId}-${startDate == null ? void 0 : startDate.valueOf()}-${endDate == null ? void 0 : endDate.valueOf()}`;
|
|
@@ -15712,12 +15970,12 @@ var useChartOfAccounts = ({ withDates, startDate: initialStartDate, endDate: ini
|
|
|
15712
15970
|
newEndDate && setEndDate(newEndDate);
|
|
15713
15971
|
};
|
|
15714
15972
|
const refetch = () => mutate();
|
|
15715
|
-
(0,
|
|
15973
|
+
(0, import_react185.useEffect)(() => {
|
|
15716
15974
|
if (queryKey && (isLoading || isValidating)) {
|
|
15717
15975
|
read("CHART_OF_ACCOUNTS" /* CHART_OF_ACCOUNTS */, queryKey);
|
|
15718
15976
|
}
|
|
15719
15977
|
}, [isLoading, isValidating]);
|
|
15720
|
-
(0,
|
|
15978
|
+
(0, import_react185.useEffect)(() => {
|
|
15721
15979
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
15722
15980
|
refetch();
|
|
15723
15981
|
}
|
|
@@ -15743,14 +16001,14 @@ var useChartOfAccounts = ({ withDates, startDate: initialStartDate, endDate: ini
|
|
|
15743
16001
|
};
|
|
15744
16002
|
|
|
15745
16003
|
// src/hooks/useLedgerAccounts/useLedgerAccounts.tsx
|
|
15746
|
-
var
|
|
16004
|
+
var import_react186 = require("react");
|
|
15747
16005
|
var import_swr10 = __toESM(require("swr"));
|
|
15748
16006
|
var useLedgerAccounts = (showReversalEntries = false) => {
|
|
15749
16007
|
const { businessId, read, syncTimestamps, hasBeenTouched } = useLayerContext();
|
|
15750
16008
|
const { apiUrl } = useEnvironment();
|
|
15751
16009
|
const { data: auth } = useAuth();
|
|
15752
|
-
const [accountId, setAccountId] = (0,
|
|
15753
|
-
const [selectedEntryId, setSelectedEntryId] = (0,
|
|
16010
|
+
const [accountId, setAccountId] = (0, import_react186.useState)();
|
|
16011
|
+
const [selectedEntryId, setSelectedEntryId] = (0, import_react186.useState)();
|
|
15754
16012
|
const queryKey = businessId && accountId && (auth == null ? void 0 : auth.access_token) && `ledger-accounts-lines-${businessId}-${accountId}`;
|
|
15755
16013
|
const { data, isLoading, isValidating, error, mutate } = (0, import_swr10.default)(
|
|
15756
16014
|
queryKey,
|
|
@@ -15779,12 +16037,12 @@ var useLedgerAccounts = (showReversalEntries = false) => {
|
|
|
15779
16037
|
setSelectedEntryId(void 0);
|
|
15780
16038
|
mutateEntryData();
|
|
15781
16039
|
};
|
|
15782
|
-
(0,
|
|
16040
|
+
(0, import_react186.useEffect)(() => {
|
|
15783
16041
|
if (queryKey && (isLoading || isValidating)) {
|
|
15784
16042
|
read("LEDGER_ACCOUNTS" /* LEDGER_ACCOUNTS */, queryKey);
|
|
15785
16043
|
}
|
|
15786
16044
|
}, [isLoading, isValidating]);
|
|
15787
|
-
(0,
|
|
16045
|
+
(0, import_react186.useEffect)(() => {
|
|
15788
16046
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
15789
16047
|
refetch();
|
|
15790
16048
|
}
|
|
@@ -15808,13 +16066,13 @@ var useLedgerAccounts = (showReversalEntries = false) => {
|
|
|
15808
16066
|
};
|
|
15809
16067
|
|
|
15810
16068
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTableWithPanel.tsx
|
|
15811
|
-
var
|
|
16069
|
+
var import_react192 = __toESM(require("react"));
|
|
15812
16070
|
|
|
15813
16071
|
// src/icons/Plus.tsx
|
|
15814
|
-
var
|
|
16072
|
+
var React188 = __toESM(require("react"));
|
|
15815
16073
|
var Plus = (_a) => {
|
|
15816
16074
|
var _b = _a, { size = 14 } = _b, props = __objRest(_b, ["size"]);
|
|
15817
|
-
return /* @__PURE__ */
|
|
16075
|
+
return /* @__PURE__ */ React188.createElement(
|
|
15818
16076
|
"svg",
|
|
15819
16077
|
__spreadProps(__spreadValues({
|
|
15820
16078
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -15824,7 +16082,7 @@ var Plus = (_a) => {
|
|
|
15824
16082
|
width: size,
|
|
15825
16083
|
height: size
|
|
15826
16084
|
}),
|
|
15827
|
-
/* @__PURE__ */
|
|
16085
|
+
/* @__PURE__ */ React188.createElement(
|
|
15828
16086
|
"path",
|
|
15829
16087
|
{
|
|
15830
16088
|
d: "M7 2.91602V11.0827",
|
|
@@ -15833,7 +16091,7 @@ var Plus = (_a) => {
|
|
|
15833
16091
|
strokeLinejoin: "round"
|
|
15834
16092
|
}
|
|
15835
16093
|
),
|
|
15836
|
-
/* @__PURE__ */
|
|
16094
|
+
/* @__PURE__ */ React188.createElement(
|
|
15837
16095
|
"path",
|
|
15838
16096
|
{
|
|
15839
16097
|
d: "M2.91669 7H11.0834",
|
|
@@ -15847,11 +16105,11 @@ var Plus = (_a) => {
|
|
|
15847
16105
|
var Plus_default = Plus;
|
|
15848
16106
|
|
|
15849
16107
|
// src/components/ChartOfAccountsDatePicker/ChartOfAccountsDatePicker.tsx
|
|
15850
|
-
var
|
|
16108
|
+
var import_react187 = __toESM(require("react"));
|
|
15851
16109
|
var import_date_fns31 = require("date-fns");
|
|
15852
16110
|
var ChartOfAccountsDatePicker = () => {
|
|
15853
|
-
const { changeDateRange, dateRange } = (0,
|
|
15854
|
-
return /* @__PURE__ */
|
|
16111
|
+
const { changeDateRange, dateRange } = (0, import_react187.useContext)(ChartOfAccountsContext);
|
|
16112
|
+
return /* @__PURE__ */ import_react187.default.createElement(
|
|
15855
16113
|
DatePicker,
|
|
15856
16114
|
{
|
|
15857
16115
|
mode: "monthPicker",
|
|
@@ -15869,16 +16127,16 @@ var ChartOfAccountsDatePicker = () => {
|
|
|
15869
16127
|
};
|
|
15870
16128
|
|
|
15871
16129
|
// src/components/ChartOfAccountsSidebar/ChartOfAccountsSidebar.tsx
|
|
15872
|
-
var
|
|
16130
|
+
var import_react190 = __toESM(require("react"));
|
|
15873
16131
|
|
|
15874
16132
|
// src/components/ChartOfAccountsForm/ChartOfAccountsForm.tsx
|
|
15875
|
-
var
|
|
16133
|
+
var import_react189 = __toESM(require("react"));
|
|
15876
16134
|
|
|
15877
16135
|
// src/components/ChartOfAccountsForm/useParentOptions.ts
|
|
15878
|
-
var
|
|
16136
|
+
var import_react188 = require("react");
|
|
15879
16137
|
var useParentOptions = (data) => {
|
|
15880
16138
|
var _a;
|
|
15881
|
-
return (0,
|
|
16139
|
+
return (0, import_react188.useMemo)(
|
|
15882
16140
|
() => flattenAccounts((data == null ? void 0 : data.accounts) || []).sort((a, b) => (a == null ? void 0 : a.name) && (b == null ? void 0 : b.name) ? a.name.localeCompare(b.name) : 0).map((x) => {
|
|
15883
16141
|
return {
|
|
15884
16142
|
label: x.name,
|
|
@@ -15902,9 +16160,9 @@ var ChartOfAccountsForm = ({
|
|
|
15902
16160
|
submitForm,
|
|
15903
16161
|
sendingForm,
|
|
15904
16162
|
apiError
|
|
15905
|
-
} = (0,
|
|
16163
|
+
} = (0, import_react189.useContext)(ChartOfAccountsContext);
|
|
15906
16164
|
const parentOptions = useParentOptions(data);
|
|
15907
|
-
const entry = (0,
|
|
16165
|
+
const entry = (0, import_react189.useMemo)(() => {
|
|
15908
16166
|
if ((form == null ? void 0 : form.action) === "edit" && form.accountId) {
|
|
15909
16167
|
return flattenAccounts((data == null ? void 0 : data.accounts) || []).find(
|
|
15910
16168
|
(x) => x.id === form.accountId
|
|
@@ -15915,7 +16173,7 @@ var ChartOfAccountsForm = ({
|
|
|
15915
16173
|
if (!form) {
|
|
15916
16174
|
return null;
|
|
15917
16175
|
}
|
|
15918
|
-
return /* @__PURE__ */
|
|
16176
|
+
return /* @__PURE__ */ import_react189.default.createElement(
|
|
15919
16177
|
"form",
|
|
15920
16178
|
{
|
|
15921
16179
|
className: "Layer__form",
|
|
@@ -15924,7 +16182,7 @@ var ChartOfAccountsForm = ({
|
|
|
15924
16182
|
submitForm();
|
|
15925
16183
|
}
|
|
15926
16184
|
},
|
|
15927
|
-
/* @__PURE__ */
|
|
16185
|
+
/* @__PURE__ */ import_react189.default.createElement(Header2, { className: "Layer__chart-of-accounts__sidebar__header" }, /* @__PURE__ */ import_react189.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react189.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react189.default.createElement(Heading, { size: "secondary" /* secondary */, className: "title" }, (form == null ? void 0 : form.action) === "edit" ? (stringOverrides == null ? void 0 : stringOverrides.editModeHeader) || "Edit Account" : (stringOverrides == null ? void 0 : stringOverrides.createModeHeader) || "Add New Account")), /* @__PURE__ */ import_react189.default.createElement(HeaderCol, { className: "actions" }, /* @__PURE__ */ import_react189.default.createElement(
|
|
15928
16186
|
Button,
|
|
15929
16187
|
{
|
|
15930
16188
|
type: "button",
|
|
@@ -15933,7 +16191,7 @@ var ChartOfAccountsForm = ({
|
|
|
15933
16191
|
disabled: sendingForm
|
|
15934
16192
|
},
|
|
15935
16193
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
15936
|
-
), apiError && /* @__PURE__ */
|
|
16194
|
+
), apiError && /* @__PURE__ */ import_react189.default.createElement(
|
|
15937
16195
|
RetryButton,
|
|
15938
16196
|
{
|
|
15939
16197
|
type: "submit",
|
|
@@ -15942,7 +16200,7 @@ var ChartOfAccountsForm = ({
|
|
|
15942
16200
|
disabled: sendingForm
|
|
15943
16201
|
},
|
|
15944
16202
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
15945
|
-
), !apiError && /* @__PURE__ */
|
|
16203
|
+
), !apiError && /* @__PURE__ */ import_react189.default.createElement(
|
|
15946
16204
|
SubmitButton,
|
|
15947
16205
|
{
|
|
15948
16206
|
type: "submit",
|
|
@@ -15952,7 +16210,7 @@ var ChartOfAccountsForm = ({
|
|
|
15952
16210
|
},
|
|
15953
16211
|
(stringOverrides == null ? void 0 : stringOverrides.saveButton) || "Save"
|
|
15954
16212
|
)))),
|
|
15955
|
-
apiError && /* @__PURE__ */
|
|
16213
|
+
apiError && /* @__PURE__ */ import_react189.default.createElement(
|
|
15956
16214
|
Text,
|
|
15957
16215
|
{
|
|
15958
16216
|
size: "sm" /* sm */,
|
|
@@ -15960,15 +16218,15 @@ var ChartOfAccountsForm = ({
|
|
|
15960
16218
|
},
|
|
15961
16219
|
apiError
|
|
15962
16220
|
),
|
|
15963
|
-
entry && /* @__PURE__ */
|
|
15964
|
-
/* @__PURE__ */
|
|
16221
|
+
entry && /* @__PURE__ */ import_react189.default.createElement("div", { className: "Layer__chart-of-accounts__form-edit-entry" }, /* @__PURE__ */ import_react189.default.createElement(Text, { weight: "bold" /* bold */ }, entry.name), /* @__PURE__ */ import_react189.default.createElement(Text, { weight: "bold" /* bold */ }, "$", centsToDollars(entry.balance || 0))),
|
|
16222
|
+
/* @__PURE__ */ import_react189.default.createElement("div", { className: "Layer__chart-of-accounts__form" }, /* @__PURE__ */ import_react189.default.createElement(
|
|
15965
16223
|
InputGroup,
|
|
15966
16224
|
{
|
|
15967
16225
|
name: "parent",
|
|
15968
16226
|
label: (stringOverrides == null ? void 0 : stringOverrides.parentLabel) || "Parent",
|
|
15969
16227
|
inline: true
|
|
15970
16228
|
},
|
|
15971
|
-
/* @__PURE__ */
|
|
16229
|
+
/* @__PURE__ */ import_react189.default.createElement(
|
|
15972
16230
|
Select2,
|
|
15973
16231
|
{
|
|
15974
16232
|
options: parentOptions,
|
|
@@ -15977,14 +16235,14 @@ var ChartOfAccountsForm = ({
|
|
|
15977
16235
|
disabled: sendingForm
|
|
15978
16236
|
}
|
|
15979
16237
|
)
|
|
15980
|
-
), /* @__PURE__ */
|
|
16238
|
+
), /* @__PURE__ */ import_react189.default.createElement(
|
|
15981
16239
|
InputGroup,
|
|
15982
16240
|
{
|
|
15983
16241
|
name: "name",
|
|
15984
16242
|
label: (stringOverrides == null ? void 0 : stringOverrides.nameLabel) || "Name",
|
|
15985
16243
|
inline: true
|
|
15986
16244
|
},
|
|
15987
|
-
/* @__PURE__ */
|
|
16245
|
+
/* @__PURE__ */ import_react189.default.createElement(
|
|
15988
16246
|
Input,
|
|
15989
16247
|
{
|
|
15990
16248
|
name: "name",
|
|
@@ -15996,14 +16254,14 @@ var ChartOfAccountsForm = ({
|
|
|
15996
16254
|
onChange: (e) => changeFormData("name", e.target.value)
|
|
15997
16255
|
}
|
|
15998
16256
|
)
|
|
15999
|
-
), /* @__PURE__ */
|
|
16257
|
+
), /* @__PURE__ */ import_react189.default.createElement(
|
|
16000
16258
|
InputGroup,
|
|
16001
16259
|
{
|
|
16002
16260
|
name: "type",
|
|
16003
16261
|
label: (stringOverrides == null ? void 0 : stringOverrides.typeLabel) || "Type",
|
|
16004
16262
|
inline: true
|
|
16005
16263
|
},
|
|
16006
|
-
/* @__PURE__ */
|
|
16264
|
+
/* @__PURE__ */ import_react189.default.createElement(
|
|
16007
16265
|
Select2,
|
|
16008
16266
|
{
|
|
16009
16267
|
options: LEDGER_ACCOUNT_TYPES,
|
|
@@ -16014,14 +16272,14 @@ var ChartOfAccountsForm = ({
|
|
|
16014
16272
|
disabled: sendingForm || form.action === "edit" || form.data.parent !== void 0
|
|
16015
16273
|
}
|
|
16016
16274
|
)
|
|
16017
|
-
), /* @__PURE__ */
|
|
16275
|
+
), /* @__PURE__ */ import_react189.default.createElement(
|
|
16018
16276
|
InputGroup,
|
|
16019
16277
|
{
|
|
16020
16278
|
name: "subType",
|
|
16021
16279
|
label: (stringOverrides == null ? void 0 : stringOverrides.subTypeLabel) || "Sub-Type",
|
|
16022
16280
|
inline: true
|
|
16023
16281
|
},
|
|
16024
|
-
/* @__PURE__ */
|
|
16282
|
+
/* @__PURE__ */ import_react189.default.createElement(
|
|
16025
16283
|
Select2,
|
|
16026
16284
|
{
|
|
16027
16285
|
options: ((_g = form == null ? void 0 : form.data.type) == null ? void 0 : _g.value) !== void 0 ? LEDGER_ACCOUNT_SUBTYPES_FOR_TYPE[(_h = form == null ? void 0 : form.data.type) == null ? void 0 : _h.value] : LEDGER_ACCOUNT_SUBTYPES,
|
|
@@ -16030,14 +16288,14 @@ var ChartOfAccountsForm = ({
|
|
|
16030
16288
|
disabled: sendingForm
|
|
16031
16289
|
}
|
|
16032
16290
|
)
|
|
16033
|
-
), /* @__PURE__ */
|
|
16291
|
+
), /* @__PURE__ */ import_react189.default.createElement(
|
|
16034
16292
|
InputGroup,
|
|
16035
16293
|
{
|
|
16036
16294
|
name: "normality",
|
|
16037
16295
|
label: (stringOverrides == null ? void 0 : stringOverrides.normalityLabel) || "Normality",
|
|
16038
16296
|
inline: true
|
|
16039
16297
|
},
|
|
16040
|
-
/* @__PURE__ */
|
|
16298
|
+
/* @__PURE__ */ import_react189.default.createElement(
|
|
16041
16299
|
Select2,
|
|
16042
16300
|
{
|
|
16043
16301
|
options: NORMALITY_OPTIONS,
|
|
@@ -16050,7 +16308,7 @@ var ChartOfAccountsForm = ({
|
|
|
16050
16308
|
disabled: sendingForm
|
|
16051
16309
|
}
|
|
16052
16310
|
)
|
|
16053
|
-
), /* @__PURE__ */
|
|
16311
|
+
), /* @__PURE__ */ import_react189.default.createElement("div", { className: "actions" }, /* @__PURE__ */ import_react189.default.createElement(
|
|
16054
16312
|
Button,
|
|
16055
16313
|
{
|
|
16056
16314
|
type: "button",
|
|
@@ -16059,7 +16317,7 @@ var ChartOfAccountsForm = ({
|
|
|
16059
16317
|
disabled: sendingForm
|
|
16060
16318
|
},
|
|
16061
16319
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
16062
|
-
), apiError && /* @__PURE__ */
|
|
16320
|
+
), apiError && /* @__PURE__ */ import_react189.default.createElement(
|
|
16063
16321
|
RetryButton,
|
|
16064
16322
|
{
|
|
16065
16323
|
type: "submit",
|
|
@@ -16068,7 +16326,7 @@ var ChartOfAccountsForm = ({
|
|
|
16068
16326
|
disabled: sendingForm
|
|
16069
16327
|
},
|
|
16070
16328
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
16071
|
-
), !apiError && /* @__PURE__ */
|
|
16329
|
+
), !apiError && /* @__PURE__ */ import_react189.default.createElement(
|
|
16072
16330
|
SubmitButton,
|
|
16073
16331
|
{
|
|
16074
16332
|
type: "submit",
|
|
@@ -16086,17 +16344,17 @@ var ChartOfAccountsSidebar = ({
|
|
|
16086
16344
|
parentRef: _parentRef,
|
|
16087
16345
|
stringOverrides
|
|
16088
16346
|
}) => {
|
|
16089
|
-
return /* @__PURE__ */
|
|
16347
|
+
return /* @__PURE__ */ import_react190.default.createElement(ChartOfAccountsForm, { stringOverrides });
|
|
16090
16348
|
};
|
|
16091
16349
|
|
|
16092
16350
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTable.tsx
|
|
16093
|
-
var
|
|
16351
|
+
var import_react191 = __toESM(require("react"));
|
|
16094
16352
|
|
|
16095
16353
|
// src/icons/Edit2.tsx
|
|
16096
|
-
var
|
|
16354
|
+
var React192 = __toESM(require("react"));
|
|
16097
16355
|
var Edit2 = (_a) => {
|
|
16098
16356
|
var _b = _a, { size = 18 } = _b, props = __objRest(_b, ["size"]);
|
|
16099
|
-
return /* @__PURE__ */
|
|
16357
|
+
return /* @__PURE__ */ React192.createElement(
|
|
16100
16358
|
"svg",
|
|
16101
16359
|
__spreadProps(__spreadValues({
|
|
16102
16360
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -16106,7 +16364,7 @@ var Edit2 = (_a) => {
|
|
|
16106
16364
|
width: size,
|
|
16107
16365
|
height: size
|
|
16108
16366
|
}),
|
|
16109
|
-
/* @__PURE__ */
|
|
16367
|
+
/* @__PURE__ */ React192.createElement(
|
|
16110
16368
|
"path",
|
|
16111
16369
|
{
|
|
16112
16370
|
d: "M12.75 2.25C12.947 2.05301 13.1808 1.89676 13.4382 1.79015C13.6956 1.68355 13.9714 1.62868 14.25 1.62868C14.5286 1.62868 14.8044 1.68355 15.0618 1.79015C15.3192 1.89676 15.553 2.05301 15.75 2.25C15.947 2.44698 16.1032 2.68083 16.2098 2.9382C16.3165 3.19557 16.3713 3.47142 16.3713 3.75C16.3713 4.02857 16.3165 4.30442 16.2098 4.56179C16.1032 4.81916 15.947 5.05302 15.75 5.25L5.625 15.375L1.5 16.5L2.625 12.375L12.75 2.25Z",
|
|
@@ -16129,7 +16387,7 @@ var ChartOfAccountsTable = ({
|
|
|
16129
16387
|
cumulativeIndex,
|
|
16130
16388
|
accountsLength,
|
|
16131
16389
|
templateAccountsEditable = true
|
|
16132
|
-
}) => /* @__PURE__ */
|
|
16390
|
+
}) => /* @__PURE__ */ import_react191.default.createElement(TableProvider, null, /* @__PURE__ */ import_react191.default.createElement(
|
|
16133
16391
|
ChartOfAccountsTableContent,
|
|
16134
16392
|
{
|
|
16135
16393
|
view,
|
|
@@ -16149,18 +16407,18 @@ var ChartOfAccountsTableContent = ({
|
|
|
16149
16407
|
expandAll,
|
|
16150
16408
|
templateAccountsEditable
|
|
16151
16409
|
}) => {
|
|
16152
|
-
const { setAccountId } = (0,
|
|
16153
|
-
const { editAccount } = (0,
|
|
16410
|
+
const { setAccountId } = (0, import_react191.useContext)(LedgerAccountsContext);
|
|
16411
|
+
const { editAccount } = (0, import_react191.useContext)(ChartOfAccountsContext);
|
|
16154
16412
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
16155
|
-
const [accountsRowKeys, setAccountsRowKeys] = (0,
|
|
16156
|
-
(0,
|
|
16413
|
+
const [accountsRowKeys, setAccountsRowKeys] = (0, import_react191.useState)([]);
|
|
16414
|
+
(0, import_react191.useEffect)(() => {
|
|
16157
16415
|
if (expandAll === "expanded") {
|
|
16158
16416
|
setIsOpen(accountsRowKeys);
|
|
16159
16417
|
} else if (expandAll === "collapsed") {
|
|
16160
16418
|
setIsOpen([]);
|
|
16161
16419
|
}
|
|
16162
16420
|
}, [expandAll]);
|
|
16163
|
-
(0,
|
|
16421
|
+
(0, import_react191.useEffect)(() => {
|
|
16164
16422
|
const defaultExpanded = data.accounts.map(
|
|
16165
16423
|
(account) => "coa-row-" + account.id
|
|
16166
16424
|
);
|
|
@@ -16179,7 +16437,7 @@ var ChartOfAccountsTableContent = ({
|
|
|
16179
16437
|
var _a, _b;
|
|
16180
16438
|
const expandable = !!account.sub_accounts && account.sub_accounts.length > 0;
|
|
16181
16439
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
16182
|
-
return /* @__PURE__ */
|
|
16440
|
+
return /* @__PURE__ */ import_react191.default.createElement(import_react191.default.Fragment, { key: rowKey + "-" + index }, /* @__PURE__ */ import_react191.default.createElement(
|
|
16183
16441
|
TableRow,
|
|
16184
16442
|
{
|
|
16185
16443
|
rowKey: rowKey + "-" + index,
|
|
@@ -16191,7 +16449,7 @@ var ChartOfAccountsTableContent = ({
|
|
|
16191
16449
|
},
|
|
16192
16450
|
depth
|
|
16193
16451
|
},
|
|
16194
|
-
/* @__PURE__ */
|
|
16452
|
+
/* @__PURE__ */ import_react191.default.createElement(
|
|
16195
16453
|
TableCell,
|
|
16196
16454
|
{
|
|
16197
16455
|
withExpandIcon: expandable,
|
|
@@ -16202,14 +16460,14 @@ var ChartOfAccountsTableContent = ({
|
|
|
16202
16460
|
},
|
|
16203
16461
|
account.name
|
|
16204
16462
|
),
|
|
16205
|
-
/* @__PURE__ */
|
|
16206
|
-
/* @__PURE__ */
|
|
16207
|
-
/* @__PURE__ */
|
|
16208
|
-
/* @__PURE__ */
|
|
16463
|
+
/* @__PURE__ */ import_react191.default.createElement(TableCell, null, (_a = account.account_type) == null ? void 0 : _a.display_name),
|
|
16464
|
+
/* @__PURE__ */ import_react191.default.createElement(TableCell, null, (_b = account.account_subtype) == null ? void 0 : _b.display_name),
|
|
16465
|
+
/* @__PURE__ */ import_react191.default.createElement(TableCell, { isCurrency: true }, account.balance),
|
|
16466
|
+
/* @__PURE__ */ import_react191.default.createElement(TableCell, null, /* @__PURE__ */ import_react191.default.createElement("span", { className: "Layer__coa__actions" }, /* @__PURE__ */ import_react191.default.createElement(
|
|
16209
16467
|
Button,
|
|
16210
16468
|
{
|
|
16211
16469
|
variant: "secondary" /* secondary */,
|
|
16212
|
-
rightIcon: /* @__PURE__ */
|
|
16470
|
+
rightIcon: /* @__PURE__ */ import_react191.default.createElement(Edit2_default, { size: 12 }),
|
|
16213
16471
|
iconOnly: true,
|
|
16214
16472
|
disabled: !templateAccountsEditable && !!account.stable_name,
|
|
16215
16473
|
onClick: (e) => {
|
|
@@ -16231,7 +16489,7 @@ var ChartOfAccountsTableContent = ({
|
|
|
16231
16489
|
);
|
|
16232
16490
|
}));
|
|
16233
16491
|
};
|
|
16234
|
-
return /* @__PURE__ */
|
|
16492
|
+
return /* @__PURE__ */ import_react191.default.createElement(Table, null, /* @__PURE__ */ import_react191.default.createElement(TableHead, null, /* @__PURE__ */ import_react191.default.createElement(TableRow, { isHeadRow: true, rowKey: "charts-of-accounts-head-row" }, /* @__PURE__ */ import_react191.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.nameColumnHeader) || "Name"), /* @__PURE__ */ import_react191.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.typeColumnHeader) || "Type"), /* @__PURE__ */ import_react191.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.subtypeColumnHeader) || "Sub-Type"), /* @__PURE__ */ import_react191.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.balanceColumnHeader) || "Balance"), /* @__PURE__ */ import_react191.default.createElement(TableCell, { isHeaderCell: true }))), /* @__PURE__ */ import_react191.default.createElement(TableBody, null, !error && data.accounts.map(
|
|
16235
16493
|
(account, idx) => renderChartOfAccountsDesktopRow(
|
|
16236
16494
|
account,
|
|
16237
16495
|
idx,
|
|
@@ -16253,14 +16511,14 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16253
16511
|
templateAccountsEditable
|
|
16254
16512
|
}) => {
|
|
16255
16513
|
var _a;
|
|
16256
|
-
const { data, isLoading, addAccount, error, isValidating, refetch, form } = (0,
|
|
16257
|
-
const [expandAll, setExpandAll] = (0,
|
|
16514
|
+
const { data, isLoading, addAccount, error, isValidating, refetch, form } = (0, import_react192.useContext)(ChartOfAccountsContext);
|
|
16515
|
+
const [expandAll, setExpandAll] = (0, import_react192.useState)();
|
|
16258
16516
|
const cumulativeIndex = 0;
|
|
16259
16517
|
const accountsLength = (_a = data == null ? void 0 : data.accounts.length) != null ? _a : 0;
|
|
16260
|
-
return /* @__PURE__ */
|
|
16518
|
+
return /* @__PURE__ */ import_react192.default.createElement(
|
|
16261
16519
|
Panel,
|
|
16262
16520
|
{
|
|
16263
|
-
sidebar: /* @__PURE__ */
|
|
16521
|
+
sidebar: /* @__PURE__ */ import_react192.default.createElement(
|
|
16264
16522
|
ChartOfAccountsSidebar,
|
|
16265
16523
|
{
|
|
16266
16524
|
parentRef: containerRef,
|
|
@@ -16270,7 +16528,7 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16270
16528
|
sidebarIsOpen: Boolean(form),
|
|
16271
16529
|
parentRef: containerRef
|
|
16272
16530
|
},
|
|
16273
|
-
/* @__PURE__ */
|
|
16531
|
+
/* @__PURE__ */ import_react192.default.createElement(Header2, { className: `Layer__${COMPONENT_NAME5}__header`, asHeader: true, rounded: true }, /* @__PURE__ */ import_react192.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react192.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react192.default.createElement(
|
|
16274
16532
|
Heading,
|
|
16275
16533
|
{
|
|
16276
16534
|
className: `Layer__${COMPONENT_NAME5}__title`,
|
|
@@ -16278,13 +16536,13 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16278
16536
|
},
|
|
16279
16537
|
(stringOverrides == null ? void 0 : stringOverrides.headerText) || "Chart of Accounts"
|
|
16280
16538
|
)))),
|
|
16281
|
-
/* @__PURE__ */
|
|
16539
|
+
/* @__PURE__ */ import_react192.default.createElement(Header2, { className: `Layer__${COMPONENT_NAME5}__header`, sticky: true }, /* @__PURE__ */ import_react192.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react192.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react192.default.createElement(
|
|
16282
16540
|
Heading,
|
|
16283
16541
|
{
|
|
16284
16542
|
size: "secondary" /* secondary */,
|
|
16285
16543
|
className: `Layer__${COMPONENT_NAME5}__subtitle`
|
|
16286
16544
|
},
|
|
16287
|
-
withDateControl || withExpandAllButton ? /* @__PURE__ */
|
|
16545
|
+
withDateControl || withExpandAllButton ? /* @__PURE__ */ import_react192.default.createElement("div", { className: "Layer__header__actions-col" }, withDateControl && /* @__PURE__ */ import_react192.default.createElement(ChartOfAccountsDatePicker, null), withExpandAllButton && /* @__PURE__ */ import_react192.default.createElement(
|
|
16288
16546
|
ExpandCollapseButton,
|
|
16289
16547
|
{
|
|
16290
16548
|
iconOnly: view === "mobile",
|
|
@@ -16295,17 +16553,17 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16295
16553
|
variant: "secondary" /* secondary */
|
|
16296
16554
|
}
|
|
16297
16555
|
)) : null
|
|
16298
|
-
)), /* @__PURE__ */
|
|
16556
|
+
)), /* @__PURE__ */ import_react192.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react192.default.createElement(
|
|
16299
16557
|
Button,
|
|
16300
16558
|
{
|
|
16301
16559
|
onClick: () => addAccount(),
|
|
16302
16560
|
disabled: isLoading,
|
|
16303
16561
|
iconOnly: ["mobile", "tablet"].includes(view),
|
|
16304
|
-
leftIcon: ["mobile", "tablet"].includes(view) && /* @__PURE__ */
|
|
16562
|
+
leftIcon: ["mobile", "tablet"].includes(view) && /* @__PURE__ */ import_react192.default.createElement(Plus_default, { size: 14 })
|
|
16305
16563
|
},
|
|
16306
16564
|
(stringOverrides == null ? void 0 : stringOverrides.addAccountButtonText) || "Add Account"
|
|
16307
16565
|
)))),
|
|
16308
|
-
data && /* @__PURE__ */
|
|
16566
|
+
data && /* @__PURE__ */ import_react192.default.createElement(
|
|
16309
16567
|
ChartOfAccountsTable,
|
|
16310
16568
|
{
|
|
16311
16569
|
view,
|
|
@@ -16318,7 +16576,7 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16318
16576
|
templateAccountsEditable
|
|
16319
16577
|
}
|
|
16320
16578
|
),
|
|
16321
|
-
error ? /* @__PURE__ */
|
|
16579
|
+
error ? /* @__PURE__ */ import_react192.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react192.default.createElement(
|
|
16322
16580
|
DataState,
|
|
16323
16581
|
{
|
|
16324
16582
|
status: "failed" /* failed */,
|
|
@@ -16328,8 +16586,8 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16328
16586
|
isLoading: isValidating || isLoading
|
|
16329
16587
|
}
|
|
16330
16588
|
)) : null,
|
|
16331
|
-
(!data || isLoading) && !error ? /* @__PURE__ */
|
|
16332
|
-
!isLoading && !error && (data == null ? void 0 : data.accounts.length) === 0 ? /* @__PURE__ */
|
|
16589
|
+
(!data || isLoading) && !error ? /* @__PURE__ */ import_react192.default.createElement("div", { className: `Layer__${COMPONENT_NAME5}__loader-container` }, /* @__PURE__ */ import_react192.default.createElement(Loader2, null)) : null,
|
|
16590
|
+
!isLoading && !error && (data == null ? void 0 : data.accounts.length) === 0 ? /* @__PURE__ */ import_react192.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react192.default.createElement(
|
|
16333
16591
|
DataState,
|
|
16334
16592
|
{
|
|
16335
16593
|
status: "info" /* info */,
|
|
@@ -16343,10 +16601,10 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16343
16601
|
};
|
|
16344
16602
|
|
|
16345
16603
|
// src/components/LedgerAccount/LedgerAccountIndex.tsx
|
|
16346
|
-
var
|
|
16604
|
+
var import_react199 = __toESM(require("react"));
|
|
16347
16605
|
|
|
16348
16606
|
// src/components/LedgerAccountEntryDetails/LedgerAccountEntryDetails.tsx
|
|
16349
|
-
var
|
|
16607
|
+
var import_react197 = __toESM(require("react"));
|
|
16350
16608
|
|
|
16351
16609
|
// src/utils/journal.ts
|
|
16352
16610
|
var getAccountIdentifierPayload = (journalLineItem) => {
|
|
@@ -16370,14 +16628,14 @@ var entryNumber = (entry) => {
|
|
|
16370
16628
|
};
|
|
16371
16629
|
|
|
16372
16630
|
// src/components/Card/Card.tsx
|
|
16373
|
-
var
|
|
16631
|
+
var import_react193 = __toESM(require("react"));
|
|
16374
16632
|
var import_classnames63 = __toESM(require("classnames"));
|
|
16375
16633
|
var Card = ({ children, className }) => {
|
|
16376
|
-
return /* @__PURE__ */
|
|
16634
|
+
return /* @__PURE__ */ import_react193.default.createElement("div", { className: (0, import_classnames63.default)("Layer__card", className) }, children);
|
|
16377
16635
|
};
|
|
16378
16636
|
|
|
16379
16637
|
// src/components/DateTime/DateTime.tsx
|
|
16380
|
-
var
|
|
16638
|
+
var import_react194 = __toESM(require("react"));
|
|
16381
16639
|
var import_date_fns32 = require("date-fns");
|
|
16382
16640
|
var DateTime = ({
|
|
16383
16641
|
value,
|
|
@@ -16388,11 +16646,11 @@ var DateTime = ({
|
|
|
16388
16646
|
onlyTime
|
|
16389
16647
|
}) => {
|
|
16390
16648
|
if (format8) {
|
|
16391
|
-
return /* @__PURE__ */
|
|
16649
|
+
return /* @__PURE__ */ import_react194.default.createElement(Text, { className: "Layer__datetime" }, (0, import_date_fns32.format)((0, import_date_fns32.parseISO)(value), format8));
|
|
16392
16650
|
}
|
|
16393
16651
|
const date = (0, import_date_fns32.format)((0, import_date_fns32.parseISO)(value), dateFormat != null ? dateFormat : DATE_FORMAT);
|
|
16394
16652
|
const time = (0, import_date_fns32.format)((0, import_date_fns32.parseISO)(value), timeFormat != null ? timeFormat : TIME_FORMAT);
|
|
16395
|
-
return /* @__PURE__ */
|
|
16653
|
+
return /* @__PURE__ */ import_react194.default.createElement(Text, { className: "Layer__datetime" }, !onlyTime && /* @__PURE__ */ import_react194.default.createElement(
|
|
16396
16654
|
Text,
|
|
16397
16655
|
{
|
|
16398
16656
|
as: "span",
|
|
@@ -16401,7 +16659,7 @@ var DateTime = ({
|
|
|
16401
16659
|
className: "Layer__datetime__date"
|
|
16402
16660
|
},
|
|
16403
16661
|
date
|
|
16404
|
-
), !onlyDate && /* @__PURE__ */
|
|
16662
|
+
), !onlyDate && /* @__PURE__ */ import_react194.default.createElement(
|
|
16405
16663
|
Text,
|
|
16406
16664
|
{
|
|
16407
16665
|
as: "span",
|
|
@@ -16414,7 +16672,7 @@ var DateTime = ({
|
|
|
16414
16672
|
};
|
|
16415
16673
|
|
|
16416
16674
|
// src/components/DetailsList/DetailsList.tsx
|
|
16417
|
-
var
|
|
16675
|
+
var import_react195 = __toESM(require("react"));
|
|
16418
16676
|
var import_classnames64 = __toESM(require("classnames"));
|
|
16419
16677
|
var DetailsList = ({
|
|
16420
16678
|
title,
|
|
@@ -16423,14 +16681,14 @@ var DetailsList = ({
|
|
|
16423
16681
|
titleClassName,
|
|
16424
16682
|
actions
|
|
16425
16683
|
}) => {
|
|
16426
|
-
return /* @__PURE__ */
|
|
16684
|
+
return /* @__PURE__ */ import_react195.default.createElement("div", { className: (0, import_classnames64.default)("Layer__details-list", className) }, title && /* @__PURE__ */ import_react195.default.createElement(Header, { className: titleClassName }, /* @__PURE__ */ import_react195.default.createElement(Heading, { size: "secondary" /* secondary */ }, title), actions && /* @__PURE__ */ import_react195.default.createElement("div", { className: "Layer__details-list__actions" }, actions)), /* @__PURE__ */ import_react195.default.createElement("ul", { className: "Layer__details-list__list" }, children));
|
|
16427
16685
|
};
|
|
16428
16686
|
|
|
16429
16687
|
// src/components/DetailsList/DetailsListItem.tsx
|
|
16430
|
-
var
|
|
16688
|
+
var import_react196 = __toESM(require("react"));
|
|
16431
16689
|
var renderValue = (value) => {
|
|
16432
16690
|
if (typeof value === "string") {
|
|
16433
|
-
return /* @__PURE__ */
|
|
16691
|
+
return /* @__PURE__ */ import_react196.default.createElement(Text, { weight: "bold" /* bold */, size: "sm" /* sm */ }, value);
|
|
16434
16692
|
}
|
|
16435
16693
|
return value;
|
|
16436
16694
|
};
|
|
@@ -16439,7 +16697,7 @@ var DetailsListItem = ({
|
|
|
16439
16697
|
children,
|
|
16440
16698
|
isLoading
|
|
16441
16699
|
}) => {
|
|
16442
|
-
return /* @__PURE__ */
|
|
16700
|
+
return /* @__PURE__ */ import_react196.default.createElement("li", { className: "Layer__details-list-item" }, /* @__PURE__ */ import_react196.default.createElement("label", { className: "Layer__details-list-item__label" }, label), /* @__PURE__ */ import_react196.default.createElement("span", { className: "Layer__details-list-item__value" }, isLoading ? /* @__PURE__ */ import_react196.default.createElement(SkeletonLoader, null) : renderValue(children)));
|
|
16443
16701
|
};
|
|
16444
16702
|
|
|
16445
16703
|
// src/components/LedgerAccountEntryDetails/LedgerAccountEntryDetails.tsx
|
|
@@ -16450,19 +16708,19 @@ var SourceDetailView = ({
|
|
|
16450
16708
|
switch (source.type) {
|
|
16451
16709
|
case "Transaction_Ledger_Entry_Source": {
|
|
16452
16710
|
const transactionSource = source;
|
|
16453
|
-
return /* @__PURE__ */
|
|
16711
|
+
return /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, /* @__PURE__ */ import_react197.default.createElement(
|
|
16454
16712
|
DetailsListItem,
|
|
16455
16713
|
{
|
|
16456
16714
|
label: (stringOverrides == null ? void 0 : stringOverrides.accountNameLabel) || "Account name"
|
|
16457
16715
|
},
|
|
16458
16716
|
transactionSource.account_name
|
|
16459
|
-
), /* @__PURE__ */
|
|
16717
|
+
), /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.dateLabel) || "Date" }, /* @__PURE__ */ import_react197.default.createElement(DateTime, { value: transactionSource.date })), /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(transactionSource.amount)}`), /* @__PURE__ */ import_react197.default.createElement(
|
|
16460
16718
|
DetailsListItem,
|
|
16461
16719
|
{
|
|
16462
16720
|
label: (stringOverrides == null ? void 0 : stringOverrides.directionLabel) || "Direction"
|
|
16463
16721
|
},
|
|
16464
16722
|
transactionSource.direction
|
|
16465
|
-
), /* @__PURE__ */
|
|
16723
|
+
), /* @__PURE__ */ import_react197.default.createElement(
|
|
16466
16724
|
DetailsListItem,
|
|
16467
16725
|
{
|
|
16468
16726
|
label: (stringOverrides == null ? void 0 : stringOverrides.counterpartyLabel) || "Counterparty"
|
|
@@ -16472,23 +16730,23 @@ var SourceDetailView = ({
|
|
|
16472
16730
|
}
|
|
16473
16731
|
case "Invoice_Ledger_Entry_Source": {
|
|
16474
16732
|
const invoiceSource = source;
|
|
16475
|
-
return /* @__PURE__ */
|
|
16733
|
+
return /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, /* @__PURE__ */ import_react197.default.createElement(
|
|
16476
16734
|
DetailsListItem,
|
|
16477
16735
|
{
|
|
16478
16736
|
label: (stringOverrides == null ? void 0 : stringOverrides.invoiceNumberLabel) || "Invoice number"
|
|
16479
16737
|
},
|
|
16480
16738
|
invoiceSource.invoice_number
|
|
16481
|
-
), /* @__PURE__ */
|
|
16739
|
+
), /* @__PURE__ */ import_react197.default.createElement(
|
|
16482
16740
|
DetailsListItem,
|
|
16483
16741
|
{
|
|
16484
16742
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
16485
16743
|
},
|
|
16486
16744
|
invoiceSource.recipient_name
|
|
16487
|
-
), /* @__PURE__ */
|
|
16745
|
+
), /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.dateLabel) || "Date" }, /* @__PURE__ */ import_react197.default.createElement(DateTime, { value: invoiceSource.date })), /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(invoiceSource.amount)}`));
|
|
16488
16746
|
}
|
|
16489
16747
|
case "Manual_Ledger_Entry_Source": {
|
|
16490
16748
|
const manualSource = source;
|
|
16491
|
-
return /* @__PURE__ */
|
|
16749
|
+
return /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.memoLabel) || "Memo" }, manualSource.memo), /* @__PURE__ */ import_react197.default.createElement(
|
|
16492
16750
|
DetailsListItem,
|
|
16493
16751
|
{
|
|
16494
16752
|
label: (stringOverrides == null ? void 0 : stringOverrides.createdByLabel) || "Created by"
|
|
@@ -16498,17 +16756,17 @@ var SourceDetailView = ({
|
|
|
16498
16756
|
}
|
|
16499
16757
|
case "Invoice_Payment_Ledger_Entry_Source": {
|
|
16500
16758
|
const invoicePaymentSource = source;
|
|
16501
|
-
return /* @__PURE__ */
|
|
16759
|
+
return /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, /* @__PURE__ */ import_react197.default.createElement(
|
|
16502
16760
|
DetailsListItem,
|
|
16503
16761
|
{
|
|
16504
16762
|
label: (stringOverrides == null ? void 0 : stringOverrides.invoiceNumberLabel) || "Invoice number"
|
|
16505
16763
|
},
|
|
16506
16764
|
invoicePaymentSource.invoice_number
|
|
16507
|
-
), /* @__PURE__ */
|
|
16765
|
+
), /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(invoicePaymentSource.amount)}`));
|
|
16508
16766
|
}
|
|
16509
16767
|
case "Refund_Ledger_Entry_Source": {
|
|
16510
16768
|
const refundSource = source;
|
|
16511
|
-
return /* @__PURE__ */
|
|
16769
|
+
return /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ import_react197.default.createElement(
|
|
16512
16770
|
DetailsListItem,
|
|
16513
16771
|
{
|
|
16514
16772
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
@@ -16518,7 +16776,7 @@ var SourceDetailView = ({
|
|
|
16518
16776
|
}
|
|
16519
16777
|
case "Refund_Payment_Ledger_Entry_Source": {
|
|
16520
16778
|
const refundSource = source;
|
|
16521
|
-
return /* @__PURE__ */
|
|
16779
|
+
return /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ import_react197.default.createElement(
|
|
16522
16780
|
DetailsListItem,
|
|
16523
16781
|
{
|
|
16524
16782
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
@@ -16528,7 +16786,7 @@ var SourceDetailView = ({
|
|
|
16528
16786
|
}
|
|
16529
16787
|
case "Opening_Balance_Ledger_Entry_Source": {
|
|
16530
16788
|
const openingBalanceSource = source;
|
|
16531
|
-
return /* @__PURE__ */
|
|
16789
|
+
return /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, /* @__PURE__ */ import_react197.default.createElement(
|
|
16532
16790
|
DetailsListItem,
|
|
16533
16791
|
{
|
|
16534
16792
|
label: (stringOverrides == null ? void 0 : stringOverrides.accountNameLabel) || "Account name"
|
|
@@ -16538,7 +16796,7 @@ var SourceDetailView = ({
|
|
|
16538
16796
|
}
|
|
16539
16797
|
case "Payout_Ledger_Entry_Source": {
|
|
16540
16798
|
const payoutSource = source;
|
|
16541
|
-
return /* @__PURE__ */
|
|
16799
|
+
return /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, /* @__PURE__ */ import_react197.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(payoutSource.paid_out_amount)}`), /* @__PURE__ */ import_react197.default.createElement(
|
|
16542
16800
|
DetailsListItem,
|
|
16543
16801
|
{
|
|
16544
16802
|
label: (stringOverrides == null ? void 0 : stringOverrides.processorLabel) || "Processor"
|
|
@@ -16554,8 +16812,8 @@ var LedgerAccountEntryDetails = ({
|
|
|
16554
16812
|
stringOverrides
|
|
16555
16813
|
}) => {
|
|
16556
16814
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
16557
|
-
const { entryData, isLoadingEntry, closeSelectedEntry, errorEntry } = (0,
|
|
16558
|
-
const { totalDebit, totalCredit } = (0,
|
|
16815
|
+
const { entryData, isLoadingEntry, closeSelectedEntry, errorEntry } = (0, import_react197.useContext)(LedgerAccountsContext);
|
|
16816
|
+
const { totalDebit, totalCredit } = (0, import_react197.useMemo)(() => {
|
|
16559
16817
|
var _a2;
|
|
16560
16818
|
let totalDebit2 = 0;
|
|
16561
16819
|
let totalCredit2 = 0;
|
|
@@ -16568,15 +16826,15 @@ var LedgerAccountEntryDetails = ({
|
|
|
16568
16826
|
});
|
|
16569
16827
|
return { totalDebit: totalDebit2, totalCredit: totalCredit2 };
|
|
16570
16828
|
}, [entryData]);
|
|
16571
|
-
return /* @__PURE__ */
|
|
16829
|
+
return /* @__PURE__ */ import_react197.default.createElement("div", { className: "Layer__ledger-account__entry-details" }, /* @__PURE__ */ import_react197.default.createElement(Header2, { className: "Layer__ledger-account__entry-details__header" }, /* @__PURE__ */ import_react197.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react197.default.createElement(HeaderCol, { className: "Layer__hidden-lg Layer__hidden-xl" }, /* @__PURE__ */ import_react197.default.createElement(BackButton, { onClick: closeSelectedEntry }), /* @__PURE__ */ import_react197.default.createElement(Heading, { size: "secondary" /* secondary */ }, (stringOverrides == null ? void 0 : stringOverrides.title) || "Transaction details")), /* @__PURE__ */ import_react197.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react197.default.createElement(Heading, { size: "secondary" /* secondary */ }, ((_a = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _a.header) || "Transaction source")), /* @__PURE__ */ import_react197.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react197.default.createElement(CloseButton, { onClick: closeSelectedEntry })))), /* @__PURE__ */ import_react197.default.createElement(
|
|
16572
16830
|
DetailsList,
|
|
16573
16831
|
{
|
|
16574
16832
|
title: ((_b = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _b.header) || "Transaction source",
|
|
16575
16833
|
titleClassName: "Layer__hidden-lg Layer__hidden-xl",
|
|
16576
|
-
actions: /* @__PURE__ */
|
|
16834
|
+
actions: /* @__PURE__ */ import_react197.default.createElement(
|
|
16577
16835
|
Button,
|
|
16578
16836
|
{
|
|
16579
|
-
rightIcon: /* @__PURE__ */
|
|
16837
|
+
rightIcon: /* @__PURE__ */ import_react197.default.createElement(X_default, null),
|
|
16580
16838
|
iconOnly: true,
|
|
16581
16839
|
onClick: closeSelectedEntry,
|
|
16582
16840
|
variant: "secondary" /* secondary */,
|
|
@@ -16584,16 +16842,16 @@ var LedgerAccountEntryDetails = ({
|
|
|
16584
16842
|
}
|
|
16585
16843
|
)
|
|
16586
16844
|
},
|
|
16587
|
-
/* @__PURE__ */
|
|
16845
|
+
/* @__PURE__ */ import_react197.default.createElement(
|
|
16588
16846
|
DetailsListItem,
|
|
16589
16847
|
{
|
|
16590
16848
|
label: ((_d = (_c = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _c.details) == null ? void 0 : _d.sourceLabel) || "Source",
|
|
16591
16849
|
isLoading: isLoadingEntry
|
|
16592
16850
|
},
|
|
16593
|
-
/* @__PURE__ */
|
|
16851
|
+
/* @__PURE__ */ import_react197.default.createElement(Badge, null, (_e = entryData == null ? void 0 : entryData.source) == null ? void 0 : _e.entity_name)
|
|
16594
16852
|
),
|
|
16595
|
-
((_f = entryData == null ? void 0 : entryData.source) == null ? void 0 : _f.display_description) && /* @__PURE__ */
|
|
16596
|
-
), /* @__PURE__ */
|
|
16853
|
+
((_f = entryData == null ? void 0 : entryData.source) == null ? void 0 : _f.display_description) && /* @__PURE__ */ import_react197.default.createElement(SourceDetailView, { source: entryData == null ? void 0 : entryData.source })
|
|
16854
|
+
), /* @__PURE__ */ import_react197.default.createElement(
|
|
16597
16855
|
DetailsList,
|
|
16598
16856
|
{
|
|
16599
16857
|
title: ((_g = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _g.header) ? (_h = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _h.header(
|
|
@@ -16601,7 +16859,7 @@ var LedgerAccountEntryDetails = ({
|
|
|
16601
16859
|
) : `Journal Entry ${entryData ? entryNumber(entryData) : ""}`,
|
|
16602
16860
|
className: "Layer__border-top"
|
|
16603
16861
|
},
|
|
16604
|
-
/* @__PURE__ */
|
|
16862
|
+
/* @__PURE__ */ import_react197.default.createElement(
|
|
16605
16863
|
DetailsListItem,
|
|
16606
16864
|
{
|
|
16607
16865
|
label: ((_j = (_i = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _i.details) == null ? void 0 : _j.entryTypeLabel) || "Entry type",
|
|
@@ -16609,23 +16867,23 @@ var LedgerAccountEntryDetails = ({
|
|
|
16609
16867
|
},
|
|
16610
16868
|
humanizeEnum((_k = entryData == null ? void 0 : entryData.entry_type) != null ? _k : "")
|
|
16611
16869
|
),
|
|
16612
|
-
/* @__PURE__ */
|
|
16870
|
+
/* @__PURE__ */ import_react197.default.createElement(
|
|
16613
16871
|
DetailsListItem,
|
|
16614
16872
|
{
|
|
16615
16873
|
label: ((_m = (_l = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _l.details) == null ? void 0 : _m.dateLabel) || "Date",
|
|
16616
16874
|
isLoading: isLoadingEntry
|
|
16617
16875
|
},
|
|
16618
|
-
(entryData == null ? void 0 : entryData.entry_at) && /* @__PURE__ */
|
|
16876
|
+
(entryData == null ? void 0 : entryData.entry_at) && /* @__PURE__ */ import_react197.default.createElement(DateTime, { value: entryData == null ? void 0 : entryData.entry_at })
|
|
16619
16877
|
),
|
|
16620
|
-
/* @__PURE__ */
|
|
16878
|
+
/* @__PURE__ */ import_react197.default.createElement(
|
|
16621
16879
|
DetailsListItem,
|
|
16622
16880
|
{
|
|
16623
16881
|
label: ((_o = (_n = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _n.details) == null ? void 0 : _o.creationDateLabel) || "Creation date",
|
|
16624
16882
|
isLoading: isLoadingEntry
|
|
16625
16883
|
},
|
|
16626
|
-
(entryData == null ? void 0 : entryData.date) && /* @__PURE__ */
|
|
16884
|
+
(entryData == null ? void 0 : entryData.date) && /* @__PURE__ */ import_react197.default.createElement(DateTime, { value: entryData == null ? void 0 : entryData.date })
|
|
16627
16885
|
),
|
|
16628
|
-
(entryData == null ? void 0 : entryData.reversal_id) && /* @__PURE__ */
|
|
16886
|
+
(entryData == null ? void 0 : entryData.reversal_id) && /* @__PURE__ */ import_react197.default.createElement(
|
|
16629
16887
|
DetailsListItem,
|
|
16630
16888
|
{
|
|
16631
16889
|
label: ((_q = (_p = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _p.details) == null ? void 0 : _q.reversalLabel) || "Reversal",
|
|
@@ -16633,40 +16891,40 @@ var LedgerAccountEntryDetails = ({
|
|
|
16633
16891
|
},
|
|
16634
16892
|
entryData == null ? void 0 : entryData.reversal_id.substring(0, 5)
|
|
16635
16893
|
)
|
|
16636
|
-
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */
|
|
16894
|
+
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ import_react197.default.createElement("div", { className: "Layer__ledger-account__entry-details__line-items" }, /* @__PURE__ */ import_react197.default.createElement(Card, null, /* @__PURE__ */ import_react197.default.createElement(
|
|
16637
16895
|
Table,
|
|
16638
16896
|
{
|
|
16639
16897
|
componentName: "ledger-account__entry-details",
|
|
16640
16898
|
borderCollapse: "collapse"
|
|
16641
16899
|
},
|
|
16642
|
-
/* @__PURE__ */
|
|
16643
|
-
/* @__PURE__ */
|
|
16900
|
+
/* @__PURE__ */ import_react197.default.createElement(TableHead, null, /* @__PURE__ */ import_react197.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react197.default.createElement(TableCell, null, ((_r = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _r.lineItemsColumnHeader) || "Line items"), /* @__PURE__ */ import_react197.default.createElement(TableCell, { align: "right" /* RIGHT */ }, ((_s = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _s.debitColumnHeader) || "Debit"), /* @__PURE__ */ import_react197.default.createElement(TableCell, { align: "right" /* RIGHT */ }, ((_t = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _t.creditColumnHeader) || "Credit"))),
|
|
16901
|
+
/* @__PURE__ */ import_react197.default.createElement(TableBody, null, (_u = entryData == null ? void 0 : entryData.line_items) == null ? void 0 : _u.map((item, index) => {
|
|
16644
16902
|
var _a2;
|
|
16645
|
-
return /* @__PURE__ */
|
|
16903
|
+
return /* @__PURE__ */ import_react197.default.createElement(
|
|
16646
16904
|
TableRow,
|
|
16647
16905
|
{
|
|
16648
16906
|
key: `ledger-line-item-${index}`,
|
|
16649
16907
|
rowKey: `ledger-line-item-${index}`
|
|
16650
16908
|
},
|
|
16651
|
-
/* @__PURE__ */
|
|
16652
|
-
/* @__PURE__ */
|
|
16653
|
-
/* @__PURE__ */
|
|
16909
|
+
/* @__PURE__ */ import_react197.default.createElement(TableCell, null, ((_a2 = item.account) == null ? void 0 : _a2.name) || ""),
|
|
16910
|
+
/* @__PURE__ */ import_react197.default.createElement(TableCell, { align: "right" /* RIGHT */ }, item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */ import_react197.default.createElement(Badge, { variant: "warning" /* WARNING */ }, "$", centsToDollars(item.amount || 0))),
|
|
16911
|
+
/* @__PURE__ */ import_react197.default.createElement(TableCell, { align: "right" /* RIGHT */ }, item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */ import_react197.default.createElement(Badge, { variant: "success" /* SUCCESS */ }, "$", centsToDollars(item.amount || 0)))
|
|
16654
16912
|
);
|
|
16655
|
-
}), /* @__PURE__ */
|
|
16913
|
+
}), /* @__PURE__ */ import_react197.default.createElement(
|
|
16656
16914
|
TableRow,
|
|
16657
16915
|
{
|
|
16658
16916
|
rowKey: "ledger-line-item-summation",
|
|
16659
16917
|
variant: "summation"
|
|
16660
16918
|
},
|
|
16661
|
-
/* @__PURE__ */
|
|
16662
|
-
/* @__PURE__ */
|
|
16663
|
-
/* @__PURE__ */
|
|
16919
|
+
/* @__PURE__ */ import_react197.default.createElement(TableCell, { primary: true }, ((_v = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _v.totalRowHeader) || "Total"),
|
|
16920
|
+
/* @__PURE__ */ import_react197.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, totalDebit || 0),
|
|
16921
|
+
/* @__PURE__ */ import_react197.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, totalCredit || 0)
|
|
16664
16922
|
))
|
|
16665
16923
|
))) : null);
|
|
16666
16924
|
};
|
|
16667
16925
|
|
|
16668
16926
|
// src/components/LedgerAccount/LedgerAccountRow.tsx
|
|
16669
|
-
var
|
|
16927
|
+
var import_react198 = __toESM(require("react"));
|
|
16670
16928
|
var import_classnames65 = __toESM(require("classnames"));
|
|
16671
16929
|
var import_date_fns33 = require("date-fns");
|
|
16672
16930
|
var LedgerAccountRow = ({
|
|
@@ -16676,9 +16934,9 @@ var LedgerAccountRow = ({
|
|
|
16676
16934
|
view
|
|
16677
16935
|
}) => {
|
|
16678
16936
|
var _a, _b, _c, _d, _e, _f;
|
|
16679
|
-
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0,
|
|
16680
|
-
const [showComponent, setShowComponent] = (0,
|
|
16681
|
-
(0,
|
|
16937
|
+
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0, import_react198.useContext)(LedgerAccountsContext);
|
|
16938
|
+
const [showComponent, setShowComponent] = (0, import_react198.useState)(false);
|
|
16939
|
+
(0, import_react198.useEffect)(() => {
|
|
16682
16940
|
if (initialLoad) {
|
|
16683
16941
|
const timeoutId = setTimeout(() => {
|
|
16684
16942
|
setShowComponent(true);
|
|
@@ -16689,7 +16947,7 @@ var LedgerAccountRow = ({
|
|
|
16689
16947
|
}
|
|
16690
16948
|
}, []);
|
|
16691
16949
|
if (view === "tablet") {
|
|
16692
|
-
return /* @__PURE__ */
|
|
16950
|
+
return /* @__PURE__ */ import_react198.default.createElement(
|
|
16693
16951
|
"tr",
|
|
16694
16952
|
{
|
|
16695
16953
|
className: (0, import_classnames65.default)(
|
|
@@ -16708,21 +16966,21 @@ var LedgerAccountRow = ({
|
|
|
16708
16966
|
}
|
|
16709
16967
|
}
|
|
16710
16968
|
},
|
|
16711
|
-
/* @__PURE__ */
|
|
16969
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell Layer__ledger-account-table__tablet-main-col" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content" }, /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__ledger-account-table__tablet-main-col__date" }, /* @__PURE__ */ import_react198.default.createElement(Text, null, row.date && (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(row.date), DATE_FORMAT)), /* @__PURE__ */ import_react198.default.createElement(
|
|
16712
16970
|
Text,
|
|
16713
16971
|
{
|
|
16714
16972
|
weight: "normal" /* normal */,
|
|
16715
16973
|
className: "Layer__ledger_account-table__journal-id"
|
|
16716
16974
|
},
|
|
16717
16975
|
entryNumber(row)
|
|
16718
|
-
)), /* @__PURE__ */
|
|
16719
|
-
/* @__PURE__ */
|
|
16720
|
-
/* @__PURE__ */
|
|
16721
|
-
/* @__PURE__ */
|
|
16976
|
+
)), /* @__PURE__ */ import_react198.default.createElement(Text, null, (_b = (_a = row.source) == null ? void 0 : _a.display_description) != null ? _b : ""))),
|
|
16977
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "DEBIT" /* DEBIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
16978
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "CREDIT" /* CREDIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
16979
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, `$${centsToDollars(row.running_balance)}`))
|
|
16722
16980
|
);
|
|
16723
16981
|
}
|
|
16724
16982
|
if (view === "mobile") {
|
|
16725
|
-
return /* @__PURE__ */
|
|
16983
|
+
return /* @__PURE__ */ import_react198.default.createElement(
|
|
16726
16984
|
"tr",
|
|
16727
16985
|
{
|
|
16728
16986
|
className: (0, import_classnames65.default)(
|
|
@@ -16741,17 +16999,17 @@ var LedgerAccountRow = ({
|
|
|
16741
16999
|
}
|
|
16742
17000
|
}
|
|
16743
17001
|
},
|
|
16744
|
-
/* @__PURE__ */
|
|
17002
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell Layer__ledger-account-table__tablet-main-col" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content" }, /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__ledger-account-table__tablet-main-col__date" }, /* @__PURE__ */ import_react198.default.createElement(Text, null, row.date && (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(row.date), DATE_FORMAT)), /* @__PURE__ */ import_react198.default.createElement(
|
|
16745
17003
|
Text,
|
|
16746
17004
|
{
|
|
16747
17005
|
weight: "normal" /* normal */,
|
|
16748
17006
|
className: "Layer__ledger_account-table__journal-id"
|
|
16749
17007
|
},
|
|
16750
17008
|
entryNumber(row)
|
|
16751
|
-
)), /* @__PURE__ */
|
|
17009
|
+
)), /* @__PURE__ */ import_react198.default.createElement(Text, null, (_d = (_c = row.source) == null ? void 0 : _c.display_description) != null ? _d : ""), /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__ledger_account-table__balances-mobile" }, /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Debit"), /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__value" }, " ", row.direction === "DEBIT" /* DEBIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)), /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Credit"), /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__value" }, row.direction === "CREDIT" /* CREDIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)), /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Running balance"), /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__value" }, `$${centsToDollars(row.running_balance)}`)))))
|
|
16752
17010
|
);
|
|
16753
17011
|
}
|
|
16754
|
-
return /* @__PURE__ */
|
|
17012
|
+
return /* @__PURE__ */ import_react198.default.createElement(
|
|
16755
17013
|
"tr",
|
|
16756
17014
|
{
|
|
16757
17015
|
className: (0, import_classnames65.default)(
|
|
@@ -16770,12 +17028,12 @@ var LedgerAccountRow = ({
|
|
|
16770
17028
|
}
|
|
16771
17029
|
}
|
|
16772
17030
|
},
|
|
16773
|
-
/* @__PURE__ */
|
|
16774
|
-
/* @__PURE__ */
|
|
16775
|
-
/* @__PURE__ */
|
|
16776
|
-
/* @__PURE__ */
|
|
16777
|
-
/* @__PURE__ */
|
|
16778
|
-
/* @__PURE__ */
|
|
17031
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content" }, row.date && (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(row.date), DATE_FORMAT))),
|
|
17032
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content" }, entryNumber(row))),
|
|
17033
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content" }, (_f = (_e = row.source) == null ? void 0 : _e.display_description) != null ? _f : "")),
|
|
17034
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "DEBIT" /* DEBIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
17035
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "CREDIT" /* CREDIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
17036
|
+
/* @__PURE__ */ import_react198.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react198.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, `$${centsToDollars(row.running_balance)}`))
|
|
16779
17037
|
);
|
|
16780
17038
|
};
|
|
16781
17039
|
|
|
@@ -16788,9 +17046,9 @@ var LedgerAccount = ({
|
|
|
16788
17046
|
stringOverrides
|
|
16789
17047
|
}) => {
|
|
16790
17048
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
16791
|
-
const [currentPage, setCurrentPage] = (0,
|
|
16792
|
-
const [initialLoad, setInitialLoad] = (0,
|
|
16793
|
-
const { data: accountData } = (0,
|
|
17049
|
+
const [currentPage, setCurrentPage] = (0, import_react199.useState)(1);
|
|
17050
|
+
const [initialLoad, setInitialLoad] = (0, import_react199.useState)(true);
|
|
17051
|
+
const { data: accountData } = (0, import_react199.useContext)(ChartOfAccountsContext);
|
|
16794
17052
|
const {
|
|
16795
17053
|
data: rawData,
|
|
16796
17054
|
error,
|
|
@@ -16801,8 +17059,8 @@ var LedgerAccount = ({
|
|
|
16801
17059
|
selectedEntryId,
|
|
16802
17060
|
closeSelectedEntry,
|
|
16803
17061
|
refetch
|
|
16804
|
-
} = (0,
|
|
16805
|
-
(0,
|
|
17062
|
+
} = (0, import_react199.useContext)(LedgerAccountsContext);
|
|
17063
|
+
(0, import_react199.useEffect)(() => {
|
|
16806
17064
|
if (!isLoading) {
|
|
16807
17065
|
const timeoutLoad = setTimeout(() => {
|
|
16808
17066
|
setInitialLoad(false);
|
|
@@ -16814,12 +17072,12 @@ var LedgerAccount = ({
|
|
|
16814
17072
|
"Layer__ledger-account__index",
|
|
16815
17073
|
accountId && "open"
|
|
16816
17074
|
);
|
|
16817
|
-
const account = (0,
|
|
17075
|
+
const account = (0, import_react199.useMemo)(() => {
|
|
16818
17076
|
return flattenAccounts((accountData == null ? void 0 : accountData.accounts) || []).find(
|
|
16819
17077
|
(x) => x.id === accountId
|
|
16820
17078
|
);
|
|
16821
17079
|
}, [accountId]);
|
|
16822
|
-
const data = (0,
|
|
17080
|
+
const data = (0, import_react199.useMemo)(() => {
|
|
16823
17081
|
var _a2;
|
|
16824
17082
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
16825
17083
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
@@ -16829,10 +17087,10 @@ var LedgerAccount = ({
|
|
|
16829
17087
|
setAccountId(void 0);
|
|
16830
17088
|
closeSelectedEntry();
|
|
16831
17089
|
};
|
|
16832
|
-
return /* @__PURE__ */
|
|
17090
|
+
return /* @__PURE__ */ import_react199.default.createElement(
|
|
16833
17091
|
Panel,
|
|
16834
17092
|
{
|
|
16835
|
-
sidebar: /* @__PURE__ */
|
|
17093
|
+
sidebar: /* @__PURE__ */ import_react199.default.createElement(
|
|
16836
17094
|
LedgerAccountEntryDetails,
|
|
16837
17095
|
{
|
|
16838
17096
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.ledgerEntryDetail
|
|
@@ -16842,21 +17100,21 @@ var LedgerAccount = ({
|
|
|
16842
17100
|
parentRef: containerRef,
|
|
16843
17101
|
className: "Layer__ledger-account__panel"
|
|
16844
17102
|
},
|
|
16845
|
-
/* @__PURE__ */
|
|
17103
|
+
/* @__PURE__ */ import_react199.default.createElement("div", { className: baseClassName }, /* @__PURE__ */ import_react199.default.createElement(Header2, { className: "Layer__ledger-account__header" }, /* @__PURE__ */ import_react199.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react199.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react199.default.createElement(BackButton, { onClick: close }), /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__ledger-account__title-container" }, /* @__PURE__ */ import_react199.default.createElement(
|
|
16846
17104
|
Text,
|
|
16847
17105
|
{
|
|
16848
17106
|
weight: "bold" /* bold */,
|
|
16849
17107
|
className: "Layer__ledger-account__title"
|
|
16850
17108
|
},
|
|
16851
17109
|
(_a = account == null ? void 0 : account.name) != null ? _a : ""
|
|
16852
|
-
), /* @__PURE__ */
|
|
17110
|
+
), /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__ledger-account__balance-container" }, /* @__PURE__ */ import_react199.default.createElement(
|
|
16853
17111
|
Text,
|
|
16854
17112
|
{
|
|
16855
17113
|
className: "Layer__ledger-account__balance-label",
|
|
16856
17114
|
size: "sm" /* sm */
|
|
16857
17115
|
},
|
|
16858
17116
|
"Current balance"
|
|
16859
|
-
), /* @__PURE__ */
|
|
17117
|
+
), /* @__PURE__ */ import_react199.default.createElement(
|
|
16860
17118
|
Text,
|
|
16861
17119
|
{
|
|
16862
17120
|
className: "Layer__ledger-account__balance-value",
|
|
@@ -16864,9 +17122,9 @@ var LedgerAccount = ({
|
|
|
16864
17122
|
},
|
|
16865
17123
|
"$",
|
|
16866
17124
|
centsToDollars((account == null ? void 0 : account.balance) || 0)
|
|
16867
|
-
)))))), /* @__PURE__ */
|
|
17125
|
+
)))))), /* @__PURE__ */ import_react199.default.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__ledger-account-table" }, /* @__PURE__ */ import_react199.default.createElement("thead", null, /* @__PURE__ */ import_react199.default.createElement("tr", null, view !== "desktop" && /* @__PURE__ */ import_react199.default.createElement("th", null), view === "desktop" && /* @__PURE__ */ import_react199.default.createElement(import_react199.default.Fragment, null, /* @__PURE__ */ import_react199.default.createElement("th", { className: "Layer__table-header" }, ((_b = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _b.dateColumnHeader) || "Date"), /* @__PURE__ */ import_react199.default.createElement("th", { className: "Layer__table-header" }, ((_c = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _c.journalIdColumnHeader) || "Journal id #"), /* @__PURE__ */ import_react199.default.createElement("th", { className: "Layer__table-header" }, ((_d = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _d.sourceColumnHeader) || "Source")), view !== "mobile" && /* @__PURE__ */ import_react199.default.createElement(import_react199.default.Fragment, null, /* @__PURE__ */ import_react199.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, ((_e = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _e.debitColumnHeader) || "Debit"), /* @__PURE__ */ import_react199.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, ((_f = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _f.creditColumnHeader) || "Credit"), /* @__PURE__ */ import_react199.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, ((_g = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _g.runningBalanceColumnHeader) || "Running balance")))), /* @__PURE__ */ import_react199.default.createElement("tbody", null, (_h = data == null ? void 0 : data.filter(
|
|
16868
17126
|
(entry) => !entry.entry_reversal_of && !entry.entry_reversed_by
|
|
16869
|
-
)) == null ? void 0 : _h.map((x, index) => /* @__PURE__ */
|
|
17127
|
+
)) == null ? void 0 : _h.map((x, index) => /* @__PURE__ */ import_react199.default.createElement(
|
|
16870
17128
|
LedgerAccountRow,
|
|
16871
17129
|
{
|
|
16872
17130
|
key: x.id,
|
|
@@ -16875,7 +17133,7 @@ var LedgerAccount = ({
|
|
|
16875
17133
|
initialLoad,
|
|
16876
17134
|
view
|
|
16877
17135
|
}
|
|
16878
|
-
)))), data && /* @__PURE__ */
|
|
17136
|
+
)))), data && /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__ledger-account__pagination" }, /* @__PURE__ */ import_react199.default.createElement(
|
|
16879
17137
|
Pagination,
|
|
16880
17138
|
{
|
|
16881
17139
|
currentPage,
|
|
@@ -16883,7 +17141,7 @@ var LedgerAccount = ({
|
|
|
16883
17141
|
pageSize,
|
|
16884
17142
|
onPageChange: (page) => setCurrentPage(page)
|
|
16885
17143
|
}
|
|
16886
|
-
)), error ? /* @__PURE__ */
|
|
17144
|
+
)), error ? /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react199.default.createElement(
|
|
16887
17145
|
DataState,
|
|
16888
17146
|
{
|
|
16889
17147
|
status: "failed" /* failed */,
|
|
@@ -16892,7 +17150,7 @@ var LedgerAccount = ({
|
|
|
16892
17150
|
onRefresh: () => refetch(),
|
|
16893
17151
|
isLoading: isValidating || isLoading
|
|
16894
17152
|
}
|
|
16895
|
-
)) : null, (!data || isLoading) && !error ? /* @__PURE__ */
|
|
17153
|
+
)) : null, (!data || isLoading) && !error ? /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__ledger-account__loader-container" }, /* @__PURE__ */ import_react199.default.createElement(Loader2, null)) : null, !isLoading && !error && (data == null ? void 0 : data.length) === 0 ? /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react199.default.createElement(
|
|
16896
17154
|
DataState,
|
|
16897
17155
|
{
|
|
16898
17156
|
status: "info" /* info */,
|
|
@@ -16913,7 +17171,7 @@ var ChartOfAccounts = (props) => {
|
|
|
16913
17171
|
const ledgerAccountsContextData = useLedgerAccounts(
|
|
16914
17172
|
(_a = props.showReversalEntries) != null ? _a : false
|
|
16915
17173
|
);
|
|
16916
|
-
return /* @__PURE__ */
|
|
17174
|
+
return /* @__PURE__ */ import_react200.default.createElement(ChartOfAccountsContext.Provider, { value: chartOfAccountsContextData }, /* @__PURE__ */ import_react200.default.createElement(LedgerAccountsContext.Provider, { value: ledgerAccountsContextData }, /* @__PURE__ */ import_react200.default.createElement(ChartOfAccountsContent, __spreadValues({}, props))));
|
|
16917
17175
|
};
|
|
16918
17176
|
var ChartOfAccountsContent = ({
|
|
16919
17177
|
asWidget,
|
|
@@ -16922,19 +17180,16 @@ var ChartOfAccountsContent = ({
|
|
|
16922
17180
|
stringOverrides,
|
|
16923
17181
|
templateAccountsEditable
|
|
16924
17182
|
}) => {
|
|
16925
|
-
const { accountId } = (0,
|
|
16926
|
-
const
|
|
16927
|
-
|
|
16928
|
-
(newView) => setView(newView)
|
|
16929
|
-
);
|
|
16930
|
-
return /* @__PURE__ */ import_react197.default.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ import_react197.default.createElement(
|
|
17183
|
+
const { accountId } = (0, import_react200.useContext)(LedgerAccountsContext);
|
|
17184
|
+
const { view, containerRef } = useElementViewSize();
|
|
17185
|
+
return /* @__PURE__ */ import_react200.default.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ import_react200.default.createElement(
|
|
16931
17186
|
LedgerAccount,
|
|
16932
17187
|
{
|
|
16933
17188
|
view,
|
|
16934
17189
|
containerRef,
|
|
16935
17190
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.ledgerAccount
|
|
16936
17191
|
}
|
|
16937
|
-
) : /* @__PURE__ */
|
|
17192
|
+
) : /* @__PURE__ */ import_react200.default.createElement(
|
|
16938
17193
|
ChartOfAccountsTableWithPanel,
|
|
16939
17194
|
{
|
|
16940
17195
|
asWidget,
|
|
@@ -16949,11 +17204,11 @@ var ChartOfAccountsContent = ({
|
|
|
16949
17204
|
};
|
|
16950
17205
|
|
|
16951
17206
|
// src/components/Journal/Journal.tsx
|
|
16952
|
-
var
|
|
17207
|
+
var import_react209 = __toESM(require("react"));
|
|
16953
17208
|
|
|
16954
17209
|
// src/contexts/JournalContext/JournalContext.tsx
|
|
16955
|
-
var
|
|
16956
|
-
var JournalContext = (0,
|
|
17210
|
+
var import_react201 = require("react");
|
|
17211
|
+
var JournalContext = (0, import_react201.createContext)({
|
|
16957
17212
|
data: void 0,
|
|
16958
17213
|
isLoading: false,
|
|
16959
17214
|
error: void 0,
|
|
@@ -16987,7 +17242,7 @@ var JournalContext = (0, import_react198.createContext)({
|
|
|
16987
17242
|
});
|
|
16988
17243
|
|
|
16989
17244
|
// src/hooks/useJournal/useJournal.tsx
|
|
16990
|
-
var
|
|
17245
|
+
var import_react202 = require("react");
|
|
16991
17246
|
var import_swr11 = __toESM(require("swr"));
|
|
16992
17247
|
var useJournal = () => {
|
|
16993
17248
|
const {
|
|
@@ -16999,11 +17254,11 @@ var useJournal = () => {
|
|
|
16999
17254
|
} = useLayerContext();
|
|
17000
17255
|
const { apiUrl } = useEnvironment();
|
|
17001
17256
|
const { data: auth } = useAuth();
|
|
17002
|
-
const [selectedEntryId, setSelectedEntryId] = (0,
|
|
17003
|
-
const [form, setForm] = (0,
|
|
17004
|
-
const [addingEntry, setAddingEntry] = (0,
|
|
17005
|
-
const [sendingForm, setSendingForm] = (0,
|
|
17006
|
-
const [apiError, setApiError] = (0,
|
|
17257
|
+
const [selectedEntryId, setSelectedEntryId] = (0, import_react202.useState)();
|
|
17258
|
+
const [form, setForm] = (0, import_react202.useState)();
|
|
17259
|
+
const [addingEntry, setAddingEntry] = (0, import_react202.useState)(false);
|
|
17260
|
+
const [sendingForm, setSendingForm] = (0, import_react202.useState)(false);
|
|
17261
|
+
const [apiError, setApiError] = (0, import_react202.useState)(void 0);
|
|
17007
17262
|
const queryKey = businessId && (auth == null ? void 0 : auth.access_token) && `journal-lines-${businessId}`;
|
|
17008
17263
|
const { data, isLoading, isValidating, error, mutate } = (0, import_swr11.default)(
|
|
17009
17264
|
queryKey,
|
|
@@ -17219,12 +17474,12 @@ var useJournal = () => {
|
|
|
17219
17474
|
params: { businessId, entryId }
|
|
17220
17475
|
});
|
|
17221
17476
|
});
|
|
17222
|
-
(0,
|
|
17477
|
+
(0, import_react202.useEffect)(() => {
|
|
17223
17478
|
if (queryKey && (isLoading || isValidating)) {
|
|
17224
17479
|
read("JOURNAL" /* JOURNAL */, queryKey);
|
|
17225
17480
|
}
|
|
17226
17481
|
}, [isLoading, isValidating]);
|
|
17227
|
-
(0,
|
|
17482
|
+
(0, import_react202.useEffect)(() => {
|
|
17228
17483
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
17229
17484
|
refetch();
|
|
17230
17485
|
}
|
|
@@ -17256,13 +17511,13 @@ var useJournal = () => {
|
|
|
17256
17511
|
};
|
|
17257
17512
|
|
|
17258
17513
|
// src/components/JournalTable/JournalTableWithPanel.tsx
|
|
17259
|
-
var
|
|
17514
|
+
var import_react208 = __toESM(require("react"));
|
|
17260
17515
|
|
|
17261
17516
|
// src/components/JournalSidebar/JournalSidebar.tsx
|
|
17262
|
-
var
|
|
17517
|
+
var import_react206 = __toESM(require("react"));
|
|
17263
17518
|
|
|
17264
17519
|
// src/components/JournalEntryDetails/JournalEntryDetails.tsx
|
|
17265
|
-
var
|
|
17520
|
+
var import_react203 = __toESM(require("react"));
|
|
17266
17521
|
var JournalEntryDetails = () => {
|
|
17267
17522
|
var _a, _b, _c, _d;
|
|
17268
17523
|
const {
|
|
@@ -17273,16 +17528,16 @@ var JournalEntryDetails = () => {
|
|
|
17273
17528
|
selectedEntryId,
|
|
17274
17529
|
reverseEntry,
|
|
17275
17530
|
refetch
|
|
17276
|
-
} = (0,
|
|
17277
|
-
const [reverseEntryProcessing, setReverseEntryProcessing] = (0,
|
|
17278
|
-
const [reverseEntryError, setReverseEntryError] = (0,
|
|
17279
|
-
const entry = (0,
|
|
17531
|
+
} = (0, import_react203.useContext)(JournalContext);
|
|
17532
|
+
const [reverseEntryProcessing, setReverseEntryProcessing] = (0, import_react203.useState)(false);
|
|
17533
|
+
const [reverseEntryError, setReverseEntryError] = (0, import_react203.useState)();
|
|
17534
|
+
const entry = (0, import_react203.useMemo)(() => {
|
|
17280
17535
|
if (selectedEntryId && data) {
|
|
17281
17536
|
return data.find((x) => x.id === selectedEntryId);
|
|
17282
17537
|
}
|
|
17283
17538
|
return;
|
|
17284
17539
|
}, [data, selectedEntryId]);
|
|
17285
|
-
const sortedLineItems = (0,
|
|
17540
|
+
const sortedLineItems = (0, import_react203.useMemo)(
|
|
17286
17541
|
() => {
|
|
17287
17542
|
var _a2;
|
|
17288
17543
|
return (_a2 = entry == null ? void 0 : entry.line_items) == null ? void 0 : _a2.sort(
|
|
@@ -17306,15 +17561,15 @@ var JournalEntryDetails = () => {
|
|
|
17306
17561
|
setReverseEntryProcessing(false);
|
|
17307
17562
|
}
|
|
17308
17563
|
});
|
|
17309
|
-
return /* @__PURE__ */
|
|
17564
|
+
return /* @__PURE__ */ import_react203.default.createElement("div", { className: "Layer__journal__entry-details" }, /* @__PURE__ */ import_react203.default.createElement(Header2, { className: "Layer__journal__entry-details__mobile-header" }, /* @__PURE__ */ import_react203.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react203.default.createElement(HeaderCol, { className: "Layer__hidden-lg Layer__hidden-xl" }, /* @__PURE__ */ import_react203.default.createElement(BackButton, { onClick: closeSelectedEntry }), /* @__PURE__ */ import_react203.default.createElement(Heading, { size: "secondary" /* secondary */ }, "Transaction details")), /* @__PURE__ */ import_react203.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react203.default.createElement(Heading, { size: "secondary" /* secondary */ }, "Transaction source")), /* @__PURE__ */ import_react203.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react203.default.createElement(CloseButton, { onClick: closeSelectedEntry })))), /* @__PURE__ */ import_react203.default.createElement(
|
|
17310
17565
|
DetailsList,
|
|
17311
17566
|
{
|
|
17312
17567
|
title: "Transaction source",
|
|
17313
17568
|
titleClassName: "Layer__hidden-lg Layer__hidden-xl",
|
|
17314
|
-
actions: /* @__PURE__ */
|
|
17569
|
+
actions: /* @__PURE__ */ import_react203.default.createElement(
|
|
17315
17570
|
Button,
|
|
17316
17571
|
{
|
|
17317
|
-
rightIcon: /* @__PURE__ */
|
|
17572
|
+
rightIcon: /* @__PURE__ */ import_react203.default.createElement(X_default, null),
|
|
17318
17573
|
iconOnly: true,
|
|
17319
17574
|
onClick: closeSelectedEntry,
|
|
17320
17575
|
className: "Layer__details-list__close-btn",
|
|
@@ -17322,32 +17577,32 @@ var JournalEntryDetails = () => {
|
|
|
17322
17577
|
}
|
|
17323
17578
|
)
|
|
17324
17579
|
},
|
|
17325
|
-
/* @__PURE__ */
|
|
17326
|
-
((_b = entry == null ? void 0 : entry.source) == null ? void 0 : _b.display_description) && /* @__PURE__ */
|
|
17327
|
-
), /* @__PURE__ */
|
|
17580
|
+
/* @__PURE__ */ import_react203.default.createElement(DetailsListItem, { label: "Source", isLoading: isLoadingEntry }, /* @__PURE__ */ import_react203.default.createElement(Badge, null, (_a = entry == null ? void 0 : entry.source) == null ? void 0 : _a.entity_name)),
|
|
17581
|
+
((_b = entry == null ? void 0 : entry.source) == null ? void 0 : _b.display_description) && /* @__PURE__ */ import_react203.default.createElement(SourceDetailView, { source: entry == null ? void 0 : entry.source })
|
|
17582
|
+
), /* @__PURE__ */ import_react203.default.createElement(
|
|
17328
17583
|
DetailsList,
|
|
17329
17584
|
{
|
|
17330
17585
|
title: `Journal Entry ${entry ? entryNumber(entry) : ""}`,
|
|
17331
17586
|
className: "Layer__border-top"
|
|
17332
17587
|
},
|
|
17333
|
-
/* @__PURE__ */
|
|
17334
|
-
/* @__PURE__ */
|
|
17335
|
-
/* @__PURE__ */
|
|
17336
|
-
(entry == null ? void 0 : entry.reversal_id) && /* @__PURE__ */
|
|
17337
|
-
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */
|
|
17588
|
+
/* @__PURE__ */ import_react203.default.createElement(DetailsListItem, { label: "Entry type", isLoading: isLoadingEntry }, humanizeEnum((_c = entry == null ? void 0 : entry.entry_type) != null ? _c : "")),
|
|
17589
|
+
/* @__PURE__ */ import_react203.default.createElement(DetailsListItem, { label: "Effective date", isLoading: isLoadingEntry }, (entry == null ? void 0 : entry.entry_at) && /* @__PURE__ */ import_react203.default.createElement(DateTime, { value: entry == null ? void 0 : entry.entry_at })),
|
|
17590
|
+
/* @__PURE__ */ import_react203.default.createElement(DetailsListItem, { label: "Creation date", isLoading: isLoadingEntry }, (entry == null ? void 0 : entry.date) && /* @__PURE__ */ import_react203.default.createElement(DateTime, { value: entry == null ? void 0 : entry.date })),
|
|
17591
|
+
(entry == null ? void 0 : entry.reversal_id) && /* @__PURE__ */ import_react203.default.createElement(DetailsListItem, { label: "Reversal", isLoading: isLoadingEntry }, `Journal Entry #${entry == null ? void 0 : entry.reversal_id.substring(0, 5)}`)
|
|
17592
|
+
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ import_react203.default.createElement("div", { className: "Layer__journal__entry-details__line-items" }, /* @__PURE__ */ import_react203.default.createElement(Card, null, /* @__PURE__ */ import_react203.default.createElement(
|
|
17338
17593
|
Table,
|
|
17339
17594
|
{
|
|
17340
17595
|
componentName: "journal__entry-details",
|
|
17341
17596
|
borderCollapse: "collapse"
|
|
17342
17597
|
},
|
|
17343
|
-
/* @__PURE__ */
|
|
17598
|
+
/* @__PURE__ */ import_react203.default.createElement(TableHead, null, /* @__PURE__ */ import_react203.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react203.default.createElement(TableCell, null, "Line items"), /* @__PURE__ */ import_react203.default.createElement(
|
|
17344
17599
|
TableCell,
|
|
17345
17600
|
{
|
|
17346
17601
|
className: "Layer__journal__debit-credit-col",
|
|
17347
17602
|
align: "right" /* RIGHT */
|
|
17348
17603
|
},
|
|
17349
17604
|
"Debit"
|
|
17350
|
-
), /* @__PURE__ */
|
|
17605
|
+
), /* @__PURE__ */ import_react203.default.createElement(
|
|
17351
17606
|
TableCell,
|
|
17352
17607
|
{
|
|
17353
17608
|
className: "Layer__journal__debit-credit-col",
|
|
@@ -17355,37 +17610,37 @@ var JournalEntryDetails = () => {
|
|
|
17355
17610
|
},
|
|
17356
17611
|
"Credit"
|
|
17357
17612
|
))),
|
|
17358
|
-
/* @__PURE__ */
|
|
17613
|
+
/* @__PURE__ */ import_react203.default.createElement(TableBody, null, sortedLineItems == null ? void 0 : sortedLineItems.map((item, index) => /* @__PURE__ */ import_react203.default.createElement(
|
|
17359
17614
|
TableRow,
|
|
17360
17615
|
{
|
|
17361
17616
|
key: `ledger-line-item-${index}`,
|
|
17362
17617
|
rowKey: `ledger-line-item-${index}`
|
|
17363
17618
|
},
|
|
17364
|
-
/* @__PURE__ */
|
|
17365
|
-
/* @__PURE__ */
|
|
17619
|
+
/* @__PURE__ */ import_react203.default.createElement(TableCell, null, item.account.name),
|
|
17620
|
+
/* @__PURE__ */ import_react203.default.createElement(
|
|
17366
17621
|
TableCell,
|
|
17367
17622
|
{
|
|
17368
17623
|
className: "Layer__journal__debit-credit-col",
|
|
17369
17624
|
align: "right" /* RIGHT */
|
|
17370
17625
|
},
|
|
17371
|
-
item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */
|
|
17626
|
+
item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */ import_react203.default.createElement(Badge, { variant: "warning" /* WARNING */ }, "$", centsToDollars(item.amount || 0))
|
|
17372
17627
|
),
|
|
17373
|
-
/* @__PURE__ */
|
|
17628
|
+
/* @__PURE__ */ import_react203.default.createElement(
|
|
17374
17629
|
TableCell,
|
|
17375
17630
|
{
|
|
17376
17631
|
className: "Layer__journal__debit-credit-col",
|
|
17377
17632
|
align: "right" /* RIGHT */
|
|
17378
17633
|
},
|
|
17379
|
-
item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */
|
|
17634
|
+
item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */ import_react203.default.createElement(Badge, { variant: "success" /* SUCCESS */ }, "$", centsToDollars(item.amount || 0))
|
|
17380
17635
|
)
|
|
17381
|
-
)), /* @__PURE__ */
|
|
17636
|
+
)), /* @__PURE__ */ import_react203.default.createElement(
|
|
17382
17637
|
TableRow,
|
|
17383
17638
|
{
|
|
17384
17639
|
rowKey: "ledger-line-item-summation",
|
|
17385
17640
|
variant: "summation"
|
|
17386
17641
|
},
|
|
17387
|
-
/* @__PURE__ */
|
|
17388
|
-
/* @__PURE__ */
|
|
17642
|
+
/* @__PURE__ */ import_react203.default.createElement(TableCell, { primary: true }, "Total"),
|
|
17643
|
+
/* @__PURE__ */ import_react203.default.createElement(
|
|
17389
17644
|
TableCell,
|
|
17390
17645
|
{
|
|
17391
17646
|
isCurrency: true,
|
|
@@ -17395,7 +17650,7 @@ var JournalEntryDetails = () => {
|
|
|
17395
17650
|
},
|
|
17396
17651
|
(entry == null ? void 0 : entry.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0)) || 0
|
|
17397
17652
|
),
|
|
17398
|
-
/* @__PURE__ */
|
|
17653
|
+
/* @__PURE__ */ import_react203.default.createElement(
|
|
17399
17654
|
TableCell,
|
|
17400
17655
|
{
|
|
17401
17656
|
isCurrency: true,
|
|
@@ -17406,10 +17661,10 @@ var JournalEntryDetails = () => {
|
|
|
17406
17661
|
(entry == null ? void 0 : entry.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0)) || 0
|
|
17407
17662
|
)
|
|
17408
17663
|
))
|
|
17409
|
-
)), /* @__PURE__ */
|
|
17664
|
+
)), /* @__PURE__ */ import_react203.default.createElement("div", { className: "Layer__journal__entry-details__reverse-btn-container" }, /* @__PURE__ */ import_react203.default.createElement(
|
|
17410
17665
|
Button,
|
|
17411
17666
|
{
|
|
17412
|
-
rightIcon: reverseEntryError ? /* @__PURE__ */
|
|
17667
|
+
rightIcon: reverseEntryError ? /* @__PURE__ */ import_react203.default.createElement(AlertCircle_default, { size: 12 }) : /* @__PURE__ */ import_react203.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
17413
17668
|
variant: "secondary" /* secondary */,
|
|
17414
17669
|
onClick: reverseEntryProcessing ? () => {
|
|
17415
17670
|
} : onReverseEntry,
|
|
@@ -17422,10 +17677,10 @@ var JournalEntryDetails = () => {
|
|
|
17422
17677
|
};
|
|
17423
17678
|
|
|
17424
17679
|
// src/components/JournalForm/JournalForm.tsx
|
|
17425
|
-
var
|
|
17680
|
+
var import_react205 = __toESM(require("react"));
|
|
17426
17681
|
|
|
17427
17682
|
// src/components/JournalForm/JournalFormEntryLines.tsx
|
|
17428
|
-
var
|
|
17683
|
+
var import_react204 = __toESM(require("react"));
|
|
17429
17684
|
var JournalFormEntryLines = ({
|
|
17430
17685
|
entrylineItems,
|
|
17431
17686
|
addEntryLine,
|
|
@@ -17434,17 +17689,17 @@ var JournalFormEntryLines = ({
|
|
|
17434
17689
|
sendingForm,
|
|
17435
17690
|
config
|
|
17436
17691
|
}) => {
|
|
17437
|
-
const { data: accountsData } = (0,
|
|
17438
|
-
const { form } = (0,
|
|
17692
|
+
const { data: accountsData } = (0, import_react204.useContext)(ChartOfAccountsContext);
|
|
17693
|
+
const { form } = (0, import_react204.useContext)(JournalContext);
|
|
17439
17694
|
const parentOptions = useParentOptions(accountsData);
|
|
17440
|
-
return /* @__PURE__ */
|
|
17441
|
-
return /* @__PURE__ */
|
|
17695
|
+
return /* @__PURE__ */ import_react204.default.createElement(import_react204.default.Fragment, null, ["DEBIT", "CREDIT"].map((direction, idx) => {
|
|
17696
|
+
return /* @__PURE__ */ import_react204.default.createElement(
|
|
17442
17697
|
"div",
|
|
17443
17698
|
{
|
|
17444
17699
|
key: "Layer__journal__form__input-group-" + idx,
|
|
17445
17700
|
className: "Layer__journal__form__input-group Layer__journal__form__input-group__border"
|
|
17446
17701
|
},
|
|
17447
|
-
/* @__PURE__ */
|
|
17702
|
+
/* @__PURE__ */ import_react204.default.createElement(
|
|
17448
17703
|
Text,
|
|
17449
17704
|
{
|
|
17450
17705
|
className: "Layer__journal__form__input-group__title",
|
|
@@ -17459,13 +17714,13 @@ var JournalFormEntryLines = ({
|
|
|
17459
17714
|
if (item.direction !== direction) {
|
|
17460
17715
|
return null;
|
|
17461
17716
|
}
|
|
17462
|
-
return /* @__PURE__ */
|
|
17717
|
+
return /* @__PURE__ */ import_react204.default.createElement(
|
|
17463
17718
|
"div",
|
|
17464
17719
|
{
|
|
17465
17720
|
className: "Layer__journal__form__input-group__line-item",
|
|
17466
17721
|
key: direction + "-" + idx2
|
|
17467
17722
|
},
|
|
17468
|
-
/* @__PURE__ */
|
|
17723
|
+
/* @__PURE__ */ import_react204.default.createElement(InputGroup, { name: direction, label: "Amount", inline: true }, /* @__PURE__ */ import_react204.default.createElement(
|
|
17469
17724
|
InputWithBadge,
|
|
17470
17725
|
{
|
|
17471
17726
|
name: direction,
|
|
@@ -17491,14 +17746,14 @@ var JournalFormEntryLines = ({
|
|
|
17491
17746
|
)) == null ? void 0 : _c.message
|
|
17492
17747
|
}
|
|
17493
17748
|
)),
|
|
17494
|
-
/* @__PURE__ */
|
|
17749
|
+
/* @__PURE__ */ import_react204.default.createElement(
|
|
17495
17750
|
InputGroup,
|
|
17496
17751
|
{
|
|
17497
17752
|
name: "account-name",
|
|
17498
17753
|
label: "Account name",
|
|
17499
17754
|
inline: true
|
|
17500
17755
|
},
|
|
17501
|
-
/* @__PURE__ */
|
|
17756
|
+
/* @__PURE__ */ import_react204.default.createElement(
|
|
17502
17757
|
Select2,
|
|
17503
17758
|
{
|
|
17504
17759
|
options: parentOptions,
|
|
@@ -17522,18 +17777,18 @@ var JournalFormEntryLines = ({
|
|
|
17522
17777
|
)) == null ? void 0 : _f.message
|
|
17523
17778
|
}
|
|
17524
17779
|
),
|
|
17525
|
-
idx2 >= 2 && /* @__PURE__ */
|
|
17780
|
+
idx2 >= 2 && /* @__PURE__ */ import_react204.default.createElement(
|
|
17526
17781
|
IconButton,
|
|
17527
17782
|
{
|
|
17528
17783
|
className: "Layer__remove__button",
|
|
17529
17784
|
onClick: () => removeEntryLine(idx2),
|
|
17530
|
-
icon: /* @__PURE__ */
|
|
17785
|
+
icon: /* @__PURE__ */ import_react204.default.createElement(Trash_default, null)
|
|
17531
17786
|
}
|
|
17532
17787
|
)
|
|
17533
17788
|
)
|
|
17534
17789
|
);
|
|
17535
17790
|
}),
|
|
17536
|
-
(config.form.addEntryLinesLimit === void 0 || config.form.addEntryLinesLimit > (entrylineItems == null ? void 0 : entrylineItems.length)) && /* @__PURE__ */
|
|
17791
|
+
(config.form.addEntryLinesLimit === void 0 || config.form.addEntryLinesLimit > (entrylineItems == null ? void 0 : entrylineItems.length)) && /* @__PURE__ */ import_react204.default.createElement(
|
|
17537
17792
|
TextButton,
|
|
17538
17793
|
{
|
|
17539
17794
|
className: "Layer__journal__add-entry-line",
|
|
@@ -17560,8 +17815,8 @@ var JournalForm = ({
|
|
|
17560
17815
|
changeFormData,
|
|
17561
17816
|
addEntryLine,
|
|
17562
17817
|
removeEntryLine
|
|
17563
|
-
} = (0,
|
|
17564
|
-
return /* @__PURE__ */
|
|
17818
|
+
} = (0, import_react205.useContext)(JournalContext);
|
|
17819
|
+
return /* @__PURE__ */ import_react205.default.createElement(
|
|
17565
17820
|
"form",
|
|
17566
17821
|
{
|
|
17567
17822
|
className: "Layer__form",
|
|
@@ -17570,7 +17825,7 @@ var JournalForm = ({
|
|
|
17570
17825
|
submitForm();
|
|
17571
17826
|
}
|
|
17572
17827
|
},
|
|
17573
|
-
/* @__PURE__ */
|
|
17828
|
+
/* @__PURE__ */ import_react205.default.createElement(Header2, { className: "Layer__journal__sidebar__header" }, /* @__PURE__ */ import_react205.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react205.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react205.default.createElement(Heading, { size: "secondary" /* secondary */, className: "title" }, (_a = stringOverrides == null ? void 0 : stringOverrides.header) != null ? _a : "Add New Entry")), /* @__PURE__ */ import_react205.default.createElement(HeaderCol, { className: "actions" }, /* @__PURE__ */ import_react205.default.createElement(
|
|
17574
17829
|
Button,
|
|
17575
17830
|
{
|
|
17576
17831
|
type: "button",
|
|
@@ -17579,7 +17834,7 @@ var JournalForm = ({
|
|
|
17579
17834
|
disabled: sendingForm
|
|
17580
17835
|
},
|
|
17581
17836
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
17582
|
-
), apiError && /* @__PURE__ */
|
|
17837
|
+
), apiError && /* @__PURE__ */ import_react205.default.createElement(
|
|
17583
17838
|
RetryButton,
|
|
17584
17839
|
{
|
|
17585
17840
|
type: "submit",
|
|
@@ -17588,7 +17843,7 @@ var JournalForm = ({
|
|
|
17588
17843
|
disabled: sendingForm
|
|
17589
17844
|
},
|
|
17590
17845
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
17591
|
-
), !apiError && /* @__PURE__ */
|
|
17846
|
+
), !apiError && /* @__PURE__ */ import_react205.default.createElement(
|
|
17592
17847
|
SubmitButton,
|
|
17593
17848
|
{
|
|
17594
17849
|
type: "submit",
|
|
@@ -17598,7 +17853,7 @@ var JournalForm = ({
|
|
|
17598
17853
|
},
|
|
17599
17854
|
(stringOverrides == null ? void 0 : stringOverrides.saveButton) || "Save"
|
|
17600
17855
|
)))),
|
|
17601
|
-
apiError && /* @__PURE__ */
|
|
17856
|
+
apiError && /* @__PURE__ */ import_react205.default.createElement(
|
|
17602
17857
|
Text,
|
|
17603
17858
|
{
|
|
17604
17859
|
size: "sm" /* sm */,
|
|
@@ -17606,7 +17861,7 @@ var JournalForm = ({
|
|
|
17606
17861
|
},
|
|
17607
17862
|
apiError
|
|
17608
17863
|
),
|
|
17609
|
-
/* @__PURE__ */
|
|
17864
|
+
/* @__PURE__ */ import_react205.default.createElement("div", { className: "Layer__journal__form__input-group" }, /* @__PURE__ */ import_react205.default.createElement(InputGroup, { name: "date", label: "Effective Date", inline: true }, /* @__PURE__ */ import_react205.default.createElement("div", { className: "Layer__journal__datepicker__wrapper" }, /* @__PURE__ */ import_react205.default.createElement(
|
|
17610
17865
|
DatePicker,
|
|
17611
17866
|
{
|
|
17612
17867
|
selected: (form == null ? void 0 : form.data.entry_at) ? new Date(form == null ? void 0 : form.data.entry_at) : /* @__PURE__ */ new Date(),
|
|
@@ -17619,7 +17874,7 @@ var JournalForm = ({
|
|
|
17619
17874
|
placeholderText: "Select date",
|
|
17620
17875
|
currentDateOption: false
|
|
17621
17876
|
}
|
|
17622
|
-
), /* @__PURE__ */
|
|
17877
|
+
), /* @__PURE__ */ import_react205.default.createElement(
|
|
17623
17878
|
DatePicker,
|
|
17624
17879
|
{
|
|
17625
17880
|
selected: (form == null ? void 0 : form.data.entry_at) ? new Date(form == null ? void 0 : form.data.entry_at) : /* @__PURE__ */ new Date(),
|
|
@@ -17633,7 +17888,7 @@ var JournalForm = ({
|
|
|
17633
17888
|
currentDateOption: false
|
|
17634
17889
|
}
|
|
17635
17890
|
)))),
|
|
17636
|
-
/* @__PURE__ */
|
|
17891
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
17637
17892
|
JournalFormEntryLines,
|
|
17638
17893
|
{
|
|
17639
17894
|
entrylineItems: (form == null ? void 0 : form.data.line_items) || [],
|
|
@@ -17644,7 +17899,7 @@ var JournalForm = ({
|
|
|
17644
17899
|
config
|
|
17645
17900
|
}
|
|
17646
17901
|
),
|
|
17647
|
-
/* @__PURE__ */
|
|
17902
|
+
/* @__PURE__ */ import_react205.default.createElement("div", { className: "Layer__journal__form__input-group Layer__journal__form__input-group__textarea" }, /* @__PURE__ */ import_react205.default.createElement(InputGroup, { name: "memo", label: "Notes" }, /* @__PURE__ */ import_react205.default.createElement(
|
|
17648
17903
|
Textarea,
|
|
17649
17904
|
{
|
|
17650
17905
|
name: "memo",
|
|
@@ -17654,7 +17909,7 @@ var JournalForm = ({
|
|
|
17654
17909
|
disabled: sendingForm
|
|
17655
17910
|
}
|
|
17656
17911
|
))),
|
|
17657
|
-
/* @__PURE__ */
|
|
17912
|
+
/* @__PURE__ */ import_react205.default.createElement("div", { className: "Layer__journal__bottom-actions" }, /* @__PURE__ */ import_react205.default.createElement(
|
|
17658
17913
|
Button,
|
|
17659
17914
|
{
|
|
17660
17915
|
type: "button",
|
|
@@ -17663,7 +17918,7 @@ var JournalForm = ({
|
|
|
17663
17918
|
disabled: sendingForm
|
|
17664
17919
|
},
|
|
17665
17920
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
17666
|
-
), apiError && /* @__PURE__ */
|
|
17921
|
+
), apiError && /* @__PURE__ */ import_react205.default.createElement(
|
|
17667
17922
|
RetryButton,
|
|
17668
17923
|
{
|
|
17669
17924
|
type: "submit",
|
|
@@ -17672,7 +17927,7 @@ var JournalForm = ({
|
|
|
17672
17927
|
disabled: sendingForm
|
|
17673
17928
|
},
|
|
17674
17929
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
17675
|
-
), !apiError && /* @__PURE__ */
|
|
17930
|
+
), !apiError && /* @__PURE__ */ import_react205.default.createElement(
|
|
17676
17931
|
SubmitButton,
|
|
17677
17932
|
{
|
|
17678
17933
|
type: "submit",
|
|
@@ -17691,15 +17946,15 @@ var JournalSidebar = ({
|
|
|
17691
17946
|
config,
|
|
17692
17947
|
stringOverrides
|
|
17693
17948
|
}) => {
|
|
17694
|
-
const { selectedEntryId } = (0,
|
|
17949
|
+
const { selectedEntryId } = (0, import_react206.useContext)(JournalContext);
|
|
17695
17950
|
if (selectedEntryId !== "new") {
|
|
17696
|
-
return /* @__PURE__ */
|
|
17951
|
+
return /* @__PURE__ */ import_react206.default.createElement(JournalEntryDetails, null);
|
|
17697
17952
|
}
|
|
17698
|
-
return /* @__PURE__ */
|
|
17953
|
+
return /* @__PURE__ */ import_react206.default.createElement(JournalForm, { config, stringOverrides });
|
|
17699
17954
|
};
|
|
17700
17955
|
|
|
17701
17956
|
// src/components/JournalTable/JournalTable.tsx
|
|
17702
|
-
var
|
|
17957
|
+
var import_react207 = __toESM(require("react"));
|
|
17703
17958
|
var import_date_fns34 = require("date-fns");
|
|
17704
17959
|
var accountName = (row) => {
|
|
17705
17960
|
if ("account" in row) {
|
|
@@ -17714,7 +17969,7 @@ var JournalTable = ({
|
|
|
17714
17969
|
view,
|
|
17715
17970
|
data,
|
|
17716
17971
|
stringOverrides
|
|
17717
|
-
}) => /* @__PURE__ */
|
|
17972
|
+
}) => /* @__PURE__ */ import_react207.default.createElement(TableProvider, null, /* @__PURE__ */ import_react207.default.createElement(
|
|
17718
17973
|
JournalTableContent,
|
|
17719
17974
|
{
|
|
17720
17975
|
view,
|
|
@@ -17726,9 +17981,9 @@ var JournalTableContent = ({
|
|
|
17726
17981
|
data,
|
|
17727
17982
|
stringOverrides
|
|
17728
17983
|
}) => {
|
|
17729
|
-
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0,
|
|
17984
|
+
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0, import_react207.useContext)(JournalContext);
|
|
17730
17985
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
17731
|
-
(0,
|
|
17986
|
+
(0, import_react207.useEffect)(() => {
|
|
17732
17987
|
if (data.length > 0) {
|
|
17733
17988
|
setIsOpen(data.map((x) => `journal-row-${x.id}`));
|
|
17734
17989
|
}
|
|
@@ -17736,7 +17991,7 @@ var JournalTableContent = ({
|
|
|
17736
17991
|
const renderJournalRow = (row, index, rowKey, depth) => {
|
|
17737
17992
|
const expandable = !!row.line_items && row.line_items.length > 0;
|
|
17738
17993
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
17739
|
-
return /* @__PURE__ */
|
|
17994
|
+
return /* @__PURE__ */ import_react207.default.createElement(import_react207.default.Fragment, { key: rowKey + "-" + index }, /* @__PURE__ */ import_react207.default.createElement(
|
|
17740
17995
|
TableRow,
|
|
17741
17996
|
{
|
|
17742
17997
|
rowKey: rowKey + "-" + index,
|
|
@@ -17754,7 +18009,7 @@ var JournalTableContent = ({
|
|
|
17754
18009
|
},
|
|
17755
18010
|
depth
|
|
17756
18011
|
},
|
|
17757
|
-
/* @__PURE__ */
|
|
18012
|
+
/* @__PURE__ */ import_react207.default.createElement(
|
|
17758
18013
|
TableCell,
|
|
17759
18014
|
{
|
|
17760
18015
|
withExpandIcon: expandable,
|
|
@@ -17765,16 +18020,16 @@ var JournalTableContent = ({
|
|
|
17765
18020
|
},
|
|
17766
18021
|
entryNumber(row)
|
|
17767
18022
|
),
|
|
17768
|
-
/* @__PURE__ */
|
|
17769
|
-
/* @__PURE__ */
|
|
17770
|
-
/* @__PURE__ */
|
|
17771
|
-
/* @__PURE__ */
|
|
18023
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, null, row.entry_at && (0, import_date_fns34.format)((0, import_date_fns34.parseISO)(row.entry_at), DATE_FORMAT)),
|
|
18024
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, null, humanizeEnum(row.entry_type)),
|
|
18025
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, null, "(", row.line_items.length, ")"),
|
|
18026
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, "line_items" in row && Math.abs(
|
|
17772
18027
|
row.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
17773
18028
|
)),
|
|
17774
|
-
/* @__PURE__ */
|
|
18029
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, "line_items" in row && Math.abs(
|
|
17775
18030
|
row.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
17776
18031
|
))
|
|
17777
|
-
), expandable && expanded && row.line_items.map((subItem, subIdx) => /* @__PURE__ */
|
|
18032
|
+
), expandable && expanded && row.line_items.map((subItem, subIdx) => /* @__PURE__ */ import_react207.default.createElement(
|
|
17778
18033
|
TableRow,
|
|
17779
18034
|
{
|
|
17780
18035
|
key: rowKey + "-" + index + "-" + subIdx,
|
|
@@ -17782,15 +18037,15 @@ var JournalTableContent = ({
|
|
|
17782
18037
|
depth: depth + 1,
|
|
17783
18038
|
selected: selectedEntryId === row.id
|
|
17784
18039
|
},
|
|
17785
|
-
/* @__PURE__ */
|
|
17786
|
-
/* @__PURE__ */
|
|
17787
|
-
/* @__PURE__ */
|
|
17788
|
-
/* @__PURE__ */
|
|
17789
|
-
subItem.direction === "DEBIT" && subItem.amount >= 0 ? /* @__PURE__ */
|
|
17790
|
-
subItem.direction === "CREDIT" && subItem.amount >= 0 ? /* @__PURE__ */
|
|
18040
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, null),
|
|
18041
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, null),
|
|
18042
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, null),
|
|
18043
|
+
/* @__PURE__ */ import_react207.default.createElement(TableCell, null, accountName(subItem)),
|
|
18044
|
+
subItem.direction === "DEBIT" && subItem.amount >= 0 ? /* @__PURE__ */ import_react207.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, subItem.amount) : /* @__PURE__ */ import_react207.default.createElement(TableCell, null),
|
|
18045
|
+
subItem.direction === "CREDIT" && subItem.amount >= 0 ? /* @__PURE__ */ import_react207.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, subItem.amount) : /* @__PURE__ */ import_react207.default.createElement(TableCell, null)
|
|
17791
18046
|
)));
|
|
17792
18047
|
};
|
|
17793
|
-
return /* @__PURE__ */
|
|
18048
|
+
return /* @__PURE__ */ import_react207.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react207.default.createElement(TableHead, null, /* @__PURE__ */ import_react207.default.createElement(TableRow, { isHeadRow: true, rowKey: "journal-head-row" }, /* @__PURE__ */ import_react207.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.idColumnHeader) || "Id"), /* @__PURE__ */ import_react207.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.dateColumnHeader) || "Date"), /* @__PURE__ */ import_react207.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.transactionColumnHeader) || "Transaction"), /* @__PURE__ */ import_react207.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.accountColumnHeader) || "Account Name"), /* @__PURE__ */ import_react207.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.debitColumnHeader) || "Debit"), /* @__PURE__ */ import_react207.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.creditColumnHeader) || "Credit"))), /* @__PURE__ */ import_react207.default.createElement(TableBody, null, data.map(
|
|
17794
18049
|
(entry, idx) => renderJournalRow(entry, idx, `journal-row-${entry.id}`, 0)
|
|
17795
18050
|
)));
|
|
17796
18051
|
};
|
|
@@ -17804,7 +18059,7 @@ var JournalTableWithPanel = ({
|
|
|
17804
18059
|
stringOverrides,
|
|
17805
18060
|
view
|
|
17806
18061
|
}) => {
|
|
17807
|
-
const [currentPage, setCurrentPage] = (0,
|
|
18062
|
+
const [currentPage, setCurrentPage] = (0, import_react208.useState)(1);
|
|
17808
18063
|
const {
|
|
17809
18064
|
data: rawData,
|
|
17810
18065
|
isLoading,
|
|
@@ -17813,17 +18068,17 @@ var JournalTableWithPanel = ({
|
|
|
17813
18068
|
refetch,
|
|
17814
18069
|
selectedEntryId,
|
|
17815
18070
|
addEntry
|
|
17816
|
-
} = (0,
|
|
17817
|
-
const data = (0,
|
|
18071
|
+
} = (0, import_react208.useContext)(JournalContext);
|
|
18072
|
+
const data = (0, import_react208.useMemo)(() => {
|
|
17818
18073
|
var _a;
|
|
17819
18074
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
17820
18075
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
17821
18076
|
return (_a = rawData == null ? void 0 : rawData.sort((a, b) => Date.parse(b.entry_at) - Date.parse(a.entry_at))) == null ? void 0 : _a.slice(firstPageIndex, lastPageIndex);
|
|
17822
18077
|
}, [rawData, currentPage]);
|
|
17823
|
-
return /* @__PURE__ */
|
|
18078
|
+
return /* @__PURE__ */ import_react208.default.createElement(
|
|
17824
18079
|
Panel,
|
|
17825
18080
|
{
|
|
17826
|
-
sidebar: /* @__PURE__ */
|
|
18081
|
+
sidebar: /* @__PURE__ */ import_react208.default.createElement(
|
|
17827
18082
|
JournalSidebar,
|
|
17828
18083
|
{
|
|
17829
18084
|
parentRef: containerRef,
|
|
@@ -17834,7 +18089,7 @@ var JournalTableWithPanel = ({
|
|
|
17834
18089
|
sidebarIsOpen: Boolean(selectedEntryId),
|
|
17835
18090
|
parentRef: containerRef
|
|
17836
18091
|
},
|
|
17837
|
-
/* @__PURE__ */
|
|
18092
|
+
/* @__PURE__ */ import_react208.default.createElement(
|
|
17838
18093
|
Header2,
|
|
17839
18094
|
{
|
|
17840
18095
|
className: `Layer__${COMPONENT_NAME6}__header`,
|
|
@@ -17842,7 +18097,7 @@ var JournalTableWithPanel = ({
|
|
|
17842
18097
|
sticky: true,
|
|
17843
18098
|
rounded: true
|
|
17844
18099
|
},
|
|
17845
|
-
/* @__PURE__ */
|
|
18100
|
+
/* @__PURE__ */ import_react208.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react208.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react208.default.createElement(
|
|
17846
18101
|
Heading,
|
|
17847
18102
|
{
|
|
17848
18103
|
className: `Layer__${COMPONENT_NAME6}__title`,
|
|
@@ -17851,25 +18106,25 @@ var JournalTableWithPanel = ({
|
|
|
17851
18106
|
(stringOverrides == null ? void 0 : stringOverrides.componentTitle) || "Journal"
|
|
17852
18107
|
)))
|
|
17853
18108
|
),
|
|
17854
|
-
/* @__PURE__ */
|
|
18109
|
+
/* @__PURE__ */ import_react208.default.createElement(Header2, null, /* @__PURE__ */ import_react208.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react208.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react208.default.createElement(
|
|
17855
18110
|
Heading,
|
|
17856
18111
|
{
|
|
17857
18112
|
size: "secondary" /* secondary */,
|
|
17858
18113
|
className: `Layer__${COMPONENT_NAME6}__subtitle`
|
|
17859
18114
|
},
|
|
17860
18115
|
(stringOverrides == null ? void 0 : stringOverrides.componentSubtitle) || "Entries"
|
|
17861
|
-
)), /* @__PURE__ */
|
|
18116
|
+
)), /* @__PURE__ */ import_react208.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react208.default.createElement(
|
|
17862
18117
|
Button,
|
|
17863
18118
|
{
|
|
17864
18119
|
onClick: () => addEntry(),
|
|
17865
18120
|
disabled: isLoading,
|
|
17866
18121
|
iconOnly: view === "mobile",
|
|
17867
|
-
leftIcon: view === "mobile" && /* @__PURE__ */
|
|
18122
|
+
leftIcon: view === "mobile" && /* @__PURE__ */ import_react208.default.createElement(PlusIcon_default, { size: 14 })
|
|
17868
18123
|
},
|
|
17869
18124
|
(stringOverrides == null ? void 0 : stringOverrides.addEntryButton) || "Add Entry"
|
|
17870
18125
|
)))),
|
|
17871
|
-
data && /* @__PURE__ */
|
|
17872
|
-
data && /* @__PURE__ */
|
|
18126
|
+
data && /* @__PURE__ */ import_react208.default.createElement(JournalTable, { view: "desktop", data }),
|
|
18127
|
+
data && /* @__PURE__ */ import_react208.default.createElement("div", { className: "Layer__journal__pagination" }, /* @__PURE__ */ import_react208.default.createElement(
|
|
17873
18128
|
Pagination,
|
|
17874
18129
|
{
|
|
17875
18130
|
currentPage,
|
|
@@ -17878,7 +18133,7 @@ var JournalTableWithPanel = ({
|
|
|
17878
18133
|
onPageChange: (page) => setCurrentPage(page)
|
|
17879
18134
|
}
|
|
17880
18135
|
)),
|
|
17881
|
-
(data == null ? void 0 : data.length) === 0 && !isLoading && !error && /* @__PURE__ */
|
|
18136
|
+
(data == null ? void 0 : data.length) === 0 && !isLoading && !error && /* @__PURE__ */ import_react208.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react208.default.createElement(
|
|
17882
18137
|
DataState,
|
|
17883
18138
|
{
|
|
17884
18139
|
status: "allDone" /* allDone */,
|
|
@@ -17886,7 +18141,7 @@ var JournalTableWithPanel = ({
|
|
|
17886
18141
|
description: "There are no entries in the journal."
|
|
17887
18142
|
}
|
|
17888
18143
|
)),
|
|
17889
|
-
error ? /* @__PURE__ */
|
|
18144
|
+
error ? /* @__PURE__ */ import_react208.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react208.default.createElement(
|
|
17890
18145
|
DataState,
|
|
17891
18146
|
{
|
|
17892
18147
|
status: "failed" /* failed */,
|
|
@@ -17896,7 +18151,7 @@ var JournalTableWithPanel = ({
|
|
|
17896
18151
|
isLoading: isValidating || isLoading
|
|
17897
18152
|
}
|
|
17898
18153
|
)) : null,
|
|
17899
|
-
(!data || isLoading) && !error ? /* @__PURE__ */
|
|
18154
|
+
(!data || isLoading) && !error ? /* @__PURE__ */ import_react208.default.createElement("div", { className: `Layer__${COMPONENT_NAME6}__loader-container` }, /* @__PURE__ */ import_react208.default.createElement(Loader2, null)) : null
|
|
17900
18155
|
);
|
|
17901
18156
|
};
|
|
17902
18157
|
|
|
@@ -17909,18 +18164,15 @@ var JOURNAL_CONFIG = {
|
|
|
17909
18164
|
var Journal = (props) => {
|
|
17910
18165
|
const JournalContextData = useJournal();
|
|
17911
18166
|
const AccountsContextData = useChartOfAccounts();
|
|
17912
|
-
return /* @__PURE__ */
|
|
18167
|
+
return /* @__PURE__ */ import_react209.default.createElement(ChartOfAccountsContext.Provider, { value: AccountsContextData }, /* @__PURE__ */ import_react209.default.createElement(JournalContext.Provider, { value: JournalContextData }, /* @__PURE__ */ import_react209.default.createElement(JournalContent, __spreadValues({}, props))));
|
|
17913
18168
|
};
|
|
17914
18169
|
var JournalContent = ({
|
|
17915
18170
|
asWidget,
|
|
17916
18171
|
config = JOURNAL_CONFIG,
|
|
17917
18172
|
stringOverrides
|
|
17918
18173
|
}) => {
|
|
17919
|
-
const
|
|
17920
|
-
|
|
17921
|
-
(newView) => setView(newView)
|
|
17922
|
-
);
|
|
17923
|
-
return /* @__PURE__ */ import_react206.default.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ import_react206.default.createElement(
|
|
18174
|
+
const { view, containerRef } = useElementViewSize();
|
|
18175
|
+
return /* @__PURE__ */ import_react209.default.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ import_react209.default.createElement(
|
|
17924
18176
|
JournalTableWithPanel,
|
|
17925
18177
|
{
|
|
17926
18178
|
view,
|
|
@@ -17932,11 +18184,11 @@ var JournalContent = ({
|
|
|
17932
18184
|
};
|
|
17933
18185
|
|
|
17934
18186
|
// src/components/Tasks/Tasks.tsx
|
|
17935
|
-
var
|
|
18187
|
+
var import_react216 = __toESM(require("react"));
|
|
17936
18188
|
|
|
17937
18189
|
// src/contexts/TasksContext/TasksContext.tsx
|
|
17938
|
-
var
|
|
17939
|
-
var TasksContext = (0,
|
|
18190
|
+
var import_react210 = require("react");
|
|
18191
|
+
var TasksContext = (0, import_react210.createContext)({
|
|
17940
18192
|
data: void 0,
|
|
17941
18193
|
isLoading: false,
|
|
17942
18194
|
loadedStatus: "initial",
|
|
@@ -17950,7 +18202,7 @@ var TasksContext = (0, import_react207.createContext)({
|
|
|
17950
18202
|
});
|
|
17951
18203
|
|
|
17952
18204
|
// src/hooks/useTasks/useTasks.tsx
|
|
17953
|
-
var
|
|
18205
|
+
var import_react211 = require("react");
|
|
17954
18206
|
|
|
17955
18207
|
// src/hooks/useTasks/mockData.ts
|
|
17956
18208
|
var mockData = [
|
|
@@ -17992,7 +18244,7 @@ var mockData = [
|
|
|
17992
18244
|
var import_swr12 = __toESM(require("swr"));
|
|
17993
18245
|
var DEBUG_MODE = false;
|
|
17994
18246
|
var useTasks = () => {
|
|
17995
|
-
const [loadedStatus, setLoadedStatus] = (0,
|
|
18247
|
+
const [loadedStatus, setLoadedStatus] = (0, import_react211.useState)("initial");
|
|
17996
18248
|
const { businessId, read, syncTimestamps, hasBeenTouched } = useLayerContext();
|
|
17997
18249
|
const { apiUrl } = useEnvironment();
|
|
17998
18250
|
const { data: auth } = useAuth();
|
|
@@ -18003,7 +18255,7 @@ var useTasks = () => {
|
|
|
18003
18255
|
params: { businessId }
|
|
18004
18256
|
})
|
|
18005
18257
|
);
|
|
18006
|
-
(0,
|
|
18258
|
+
(0, import_react211.useEffect)(() => {
|
|
18007
18259
|
if (isLoading && loadedStatus === "initial") {
|
|
18008
18260
|
setLoadedStatus("loading");
|
|
18009
18261
|
} else if (!isLoading && loadedStatus === "loading") {
|
|
@@ -18034,12 +18286,12 @@ var useTasks = () => {
|
|
|
18034
18286
|
body: data2
|
|
18035
18287
|
}).then(() => refetch());
|
|
18036
18288
|
};
|
|
18037
|
-
(0,
|
|
18289
|
+
(0, import_react211.useEffect)(() => {
|
|
18038
18290
|
if (queryKey && (isLoading || isValidating)) {
|
|
18039
18291
|
read("TASKS" /* TASKS */, queryKey);
|
|
18040
18292
|
}
|
|
18041
18293
|
}, [isLoading, isValidating]);
|
|
18042
|
-
(0,
|
|
18294
|
+
(0, import_react211.useEffect)(() => {
|
|
18043
18295
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
18044
18296
|
refetch();
|
|
18045
18297
|
}
|
|
@@ -18063,13 +18315,13 @@ function isComplete(taskType) {
|
|
|
18063
18315
|
}
|
|
18064
18316
|
|
|
18065
18317
|
// src/components/TasksHeader/TasksHeader.tsx
|
|
18066
|
-
var
|
|
18318
|
+
var import_react212 = __toESM(require("react"));
|
|
18067
18319
|
|
|
18068
18320
|
// src/icons/ProgressIcon.tsx
|
|
18069
|
-
var
|
|
18321
|
+
var React210 = __toESM(require("react"));
|
|
18070
18322
|
var ProgressIcon = (_a) => {
|
|
18071
18323
|
var _b = _a, { size = 12 } = _b, props = __objRest(_b, ["size"]);
|
|
18072
|
-
return /* @__PURE__ */
|
|
18324
|
+
return /* @__PURE__ */ React210.createElement(
|
|
18073
18325
|
"svg",
|
|
18074
18326
|
__spreadProps(__spreadValues({
|
|
18075
18327
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -18079,7 +18331,7 @@ var ProgressIcon = (_a) => {
|
|
|
18079
18331
|
width: size,
|
|
18080
18332
|
height: size
|
|
18081
18333
|
}),
|
|
18082
|
-
/* @__PURE__ */
|
|
18334
|
+
/* @__PURE__ */ React210.createElement(
|
|
18083
18335
|
"path",
|
|
18084
18336
|
{
|
|
18085
18337
|
d: "M9 1.5V4.5",
|
|
@@ -18088,7 +18340,7 @@ var ProgressIcon = (_a) => {
|
|
|
18088
18340
|
strokeLinejoin: "round"
|
|
18089
18341
|
}
|
|
18090
18342
|
),
|
|
18091
|
-
/* @__PURE__ */
|
|
18343
|
+
/* @__PURE__ */ React210.createElement(
|
|
18092
18344
|
"path",
|
|
18093
18345
|
{
|
|
18094
18346
|
d: "M9 13.5V16.5",
|
|
@@ -18097,7 +18349,7 @@ var ProgressIcon = (_a) => {
|
|
|
18097
18349
|
strokeLinejoin: "round"
|
|
18098
18350
|
}
|
|
18099
18351
|
),
|
|
18100
|
-
/* @__PURE__ */
|
|
18352
|
+
/* @__PURE__ */ React210.createElement(
|
|
18101
18353
|
"path",
|
|
18102
18354
|
{
|
|
18103
18355
|
d: "M3.6975 3.6975L5.82 5.82",
|
|
@@ -18106,7 +18358,7 @@ var ProgressIcon = (_a) => {
|
|
|
18106
18358
|
strokeLinejoin: "round"
|
|
18107
18359
|
}
|
|
18108
18360
|
),
|
|
18109
|
-
/* @__PURE__ */
|
|
18361
|
+
/* @__PURE__ */ React210.createElement(
|
|
18110
18362
|
"path",
|
|
18111
18363
|
{
|
|
18112
18364
|
d: "M12.18 12.18L14.3025 14.3025",
|
|
@@ -18115,7 +18367,7 @@ var ProgressIcon = (_a) => {
|
|
|
18115
18367
|
strokeLinejoin: "round"
|
|
18116
18368
|
}
|
|
18117
18369
|
),
|
|
18118
|
-
/* @__PURE__ */
|
|
18370
|
+
/* @__PURE__ */ React210.createElement(
|
|
18119
18371
|
"path",
|
|
18120
18372
|
{
|
|
18121
18373
|
d: "M1.5 9H4.5",
|
|
@@ -18124,7 +18376,7 @@ var ProgressIcon = (_a) => {
|
|
|
18124
18376
|
strokeLinejoin: "round"
|
|
18125
18377
|
}
|
|
18126
18378
|
),
|
|
18127
|
-
/* @__PURE__ */
|
|
18379
|
+
/* @__PURE__ */ React210.createElement(
|
|
18128
18380
|
"path",
|
|
18129
18381
|
{
|
|
18130
18382
|
d: "M13.5 9H16.5",
|
|
@@ -18133,7 +18385,7 @@ var ProgressIcon = (_a) => {
|
|
|
18133
18385
|
strokeLinejoin: "round"
|
|
18134
18386
|
}
|
|
18135
18387
|
),
|
|
18136
|
-
/* @__PURE__ */
|
|
18388
|
+
/* @__PURE__ */ React210.createElement(
|
|
18137
18389
|
"path",
|
|
18138
18390
|
{
|
|
18139
18391
|
d: "M3.6975 14.3025L5.82 12.18",
|
|
@@ -18142,7 +18394,7 @@ var ProgressIcon = (_a) => {
|
|
|
18142
18394
|
strokeLinejoin: "round"
|
|
18143
18395
|
}
|
|
18144
18396
|
),
|
|
18145
|
-
/* @__PURE__ */
|
|
18397
|
+
/* @__PURE__ */ React210.createElement(
|
|
18146
18398
|
"path",
|
|
18147
18399
|
{
|
|
18148
18400
|
d: "M12.18 5.82L14.3025 3.6975",
|
|
@@ -18158,22 +18410,22 @@ var ProgressIcon_default = ProgressIcon;
|
|
|
18158
18410
|
// src/components/TasksHeader/TasksHeader.tsx
|
|
18159
18411
|
var ICONS = {
|
|
18160
18412
|
loading: {
|
|
18161
|
-
icon: /* @__PURE__ */
|
|
18413
|
+
icon: /* @__PURE__ */ import_react212.default.createElement(ProgressIcon_default, { size: 12, className: "Layer__anim--rotating" }),
|
|
18162
18414
|
text: "Loading",
|
|
18163
18415
|
badge: "default" /* DEFAULT */
|
|
18164
18416
|
},
|
|
18165
18417
|
done: {
|
|
18166
|
-
icon: /* @__PURE__ */
|
|
18418
|
+
icon: /* @__PURE__ */ import_react212.default.createElement(Check_default, { size: 12 }),
|
|
18167
18419
|
text: "Done",
|
|
18168
18420
|
badge: "success" /* SUCCESS */
|
|
18169
18421
|
},
|
|
18170
18422
|
pending: {
|
|
18171
|
-
icon: /* @__PURE__ */
|
|
18423
|
+
icon: /* @__PURE__ */ import_react212.default.createElement(AlertCircle_default, { size: 12 }),
|
|
18172
18424
|
text: "In progress",
|
|
18173
18425
|
badge: "warning" /* WARNING */
|
|
18174
18426
|
},
|
|
18175
18427
|
refresh: {
|
|
18176
|
-
icon: /* @__PURE__ */
|
|
18428
|
+
icon: /* @__PURE__ */ import_react212.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
18177
18429
|
text: "Refresh",
|
|
18178
18430
|
badge: "default" /* DEFAULT */
|
|
18179
18431
|
}
|
|
@@ -18184,10 +18436,10 @@ var TasksHeader = ({
|
|
|
18184
18436
|
open,
|
|
18185
18437
|
toggleContent
|
|
18186
18438
|
}) => {
|
|
18187
|
-
const { data: tasks, loadedStatus, refetch, error } = (0,
|
|
18439
|
+
const { data: tasks, loadedStatus, refetch, error } = (0, import_react212.useContext)(TasksContext);
|
|
18188
18440
|
const completedTasks = tasks == null ? void 0 : tasks.filter((task) => isComplete(task.status)).length;
|
|
18189
18441
|
const badgeVariant = completedTasks === (tasks == null ? void 0 : tasks.length) ? ICONS.done : ICONS.pending;
|
|
18190
|
-
return /* @__PURE__ */
|
|
18442
|
+
return /* @__PURE__ */ import_react212.default.createElement("div", { className: "Layer__tasks-header" }, /* @__PURE__ */ import_react212.default.createElement("div", { className: "Layer__tasks-header__left-col" }, /* @__PURE__ */ import_react212.default.createElement(Text, { size: "lg" /* lg */ }, tasksHeader), loadedStatus !== "complete" && !open ? /* @__PURE__ */ import_react212.default.createElement(Badge, { variant: ICONS.loading.badge, icon: ICONS.loading.icon }, ICONS.loading.text) : loadedStatus === "complete" && (!tasks || error) ? /* @__PURE__ */ import_react212.default.createElement(
|
|
18191
18443
|
Badge,
|
|
18192
18444
|
{
|
|
18193
18445
|
onClick: () => refetch(),
|
|
@@ -18195,17 +18447,17 @@ var TasksHeader = ({
|
|
|
18195
18447
|
icon: ICONS.refresh.icon
|
|
18196
18448
|
},
|
|
18197
18449
|
ICONS.refresh.text
|
|
18198
|
-
) : loadedStatus === "complete" ? /* @__PURE__ */
|
|
18450
|
+
) : loadedStatus === "complete" ? /* @__PURE__ */ import_react212.default.createElement(Badge, { variant: badgeVariant.badge, icon: badgeVariant.icon }, badgeVariant.text) : open ? null : /* @__PURE__ */ import_react212.default.createElement(Badge, { variant: badgeVariant.badge, icon: badgeVariant.icon }, badgeVariant.text)), collapsable && /* @__PURE__ */ import_react212.default.createElement(ExpandButton, { onClick: toggleContent, collapsed: !open }));
|
|
18199
18451
|
};
|
|
18200
18452
|
|
|
18201
18453
|
// src/components/TasksList/TasksList.tsx
|
|
18202
|
-
var
|
|
18454
|
+
var import_react214 = __toESM(require("react"));
|
|
18203
18455
|
|
|
18204
18456
|
// src/icons/SmileIcon.tsx
|
|
18205
|
-
var
|
|
18457
|
+
var React212 = __toESM(require("react"));
|
|
18206
18458
|
var SmileIcon = (_a) => {
|
|
18207
18459
|
var _b = _a, { size = 12 } = _b, props = __objRest(_b, ["size"]);
|
|
18208
|
-
return /* @__PURE__ */
|
|
18460
|
+
return /* @__PURE__ */ React212.createElement(
|
|
18209
18461
|
"svg",
|
|
18210
18462
|
__spreadProps(__spreadValues({
|
|
18211
18463
|
viewBox: "0 0 12 12",
|
|
@@ -18215,7 +18467,7 @@ var SmileIcon = (_a) => {
|
|
|
18215
18467
|
width: size,
|
|
18216
18468
|
height: size
|
|
18217
18469
|
}),
|
|
18218
|
-
/* @__PURE__ */
|
|
18470
|
+
/* @__PURE__ */ React212.createElement(
|
|
18219
18471
|
"path",
|
|
18220
18472
|
{
|
|
18221
18473
|
d: "M6.5 11.5C9.26142 11.5 11.5 9.26142 11.5 6.5C11.5 3.73858 9.26142 1.5 6.5 1.5C3.73858 1.5 1.5 3.73858 1.5 6.5C1.5 9.26142 3.73858 11.5 6.5 11.5Z",
|
|
@@ -18224,7 +18476,7 @@ var SmileIcon = (_a) => {
|
|
|
18224
18476
|
strokeLinejoin: "round"
|
|
18225
18477
|
}
|
|
18226
18478
|
),
|
|
18227
|
-
/* @__PURE__ */
|
|
18479
|
+
/* @__PURE__ */ React212.createElement(
|
|
18228
18480
|
"path",
|
|
18229
18481
|
{
|
|
18230
18482
|
d: "M4.5 7.5C4.5 7.5 5.25 8.5 6.5 8.5C7.75 8.5 8.5 7.5 8.5 7.5",
|
|
@@ -18233,7 +18485,7 @@ var SmileIcon = (_a) => {
|
|
|
18233
18485
|
strokeLinejoin: "round"
|
|
18234
18486
|
}
|
|
18235
18487
|
),
|
|
18236
|
-
/* @__PURE__ */
|
|
18488
|
+
/* @__PURE__ */ React212.createElement(
|
|
18237
18489
|
"path",
|
|
18238
18490
|
{
|
|
18239
18491
|
d: "M5 5H5.005",
|
|
@@ -18242,7 +18494,7 @@ var SmileIcon = (_a) => {
|
|
|
18242
18494
|
strokeLinejoin: "round"
|
|
18243
18495
|
}
|
|
18244
18496
|
),
|
|
18245
|
-
/* @__PURE__ */
|
|
18497
|
+
/* @__PURE__ */ React212.createElement(
|
|
18246
18498
|
"path",
|
|
18247
18499
|
{
|
|
18248
18500
|
d: "M8 5H8.005",
|
|
@@ -18256,16 +18508,16 @@ var SmileIcon = (_a) => {
|
|
|
18256
18508
|
var SmileIcon_default = SmileIcon;
|
|
18257
18509
|
|
|
18258
18510
|
// src/components/TasksListItem/TasksListItem.tsx
|
|
18259
|
-
var
|
|
18511
|
+
var import_react213 = __toESM(require("react"));
|
|
18260
18512
|
var import_classnames67 = __toESM(require("classnames"));
|
|
18261
18513
|
var TasksListItem = ({
|
|
18262
18514
|
task,
|
|
18263
18515
|
goToNextPageIfAllComplete,
|
|
18264
18516
|
defaultOpen
|
|
18265
18517
|
}) => {
|
|
18266
|
-
const [isOpen, setIsOpen] = (0,
|
|
18267
|
-
const [userResponse, setUserResponse] = (0,
|
|
18268
|
-
const { submitResponseToTask: submitResponseToTask2, uploadDocumentForTask } = (0,
|
|
18518
|
+
const [isOpen, setIsOpen] = (0, import_react213.useState)(defaultOpen);
|
|
18519
|
+
const [userResponse, setUserResponse] = (0, import_react213.useState)(task.user_response || "");
|
|
18520
|
+
const { submitResponseToTask: submitResponseToTask2, uploadDocumentForTask } = (0, import_react213.useContext)(TasksContext);
|
|
18269
18521
|
const taskBodyClassName = (0, import_classnames67.default)(
|
|
18270
18522
|
"Layer__tasks-list-item__body",
|
|
18271
18523
|
isOpen && "Layer__tasks-list-item__body--expanded",
|
|
@@ -18279,17 +18531,17 @@ var TasksListItem = ({
|
|
|
18279
18531
|
"Layer__tasks-list-item",
|
|
18280
18532
|
isOpen && "Layer__tasks-list-item__expanded"
|
|
18281
18533
|
);
|
|
18282
|
-
(0,
|
|
18534
|
+
(0, import_react213.useEffect)(() => {
|
|
18283
18535
|
setIsOpen(defaultOpen);
|
|
18284
18536
|
}, [defaultOpen]);
|
|
18285
|
-
return /* @__PURE__ */
|
|
18537
|
+
return /* @__PURE__ */ import_react213.default.createElement("div", { className: "Layer__tasks-list-item-wrapper" }, /* @__PURE__ */ import_react213.default.createElement("div", { className: taskItemClassName }, /* @__PURE__ */ import_react213.default.createElement(
|
|
18286
18538
|
"div",
|
|
18287
18539
|
{
|
|
18288
18540
|
className: "Layer__tasks-list-item__head",
|
|
18289
18541
|
onClick: () => setIsOpen(!isOpen)
|
|
18290
18542
|
},
|
|
18291
|
-
/* @__PURE__ */
|
|
18292
|
-
/* @__PURE__ */
|
|
18543
|
+
/* @__PURE__ */ import_react213.default.createElement("div", { className: taskHeadClassName }, /* @__PURE__ */ import_react213.default.createElement("div", { className: "Layer__tasks-list-item__head-info__status" }, isComplete(task.status) ? /* @__PURE__ */ import_react213.default.createElement(Check_default, { size: 12 }) : /* @__PURE__ */ import_react213.default.createElement(AlertCircle_default, { size: 12 })), /* @__PURE__ */ import_react213.default.createElement(Text, { size: "md" /* md */ }, task.title)),
|
|
18544
|
+
/* @__PURE__ */ import_react213.default.createElement(
|
|
18293
18545
|
ChevronDownFill_default,
|
|
18294
18546
|
{
|
|
18295
18547
|
size: 16,
|
|
@@ -18299,13 +18551,13 @@ var TasksListItem = ({
|
|
|
18299
18551
|
}
|
|
18300
18552
|
}
|
|
18301
18553
|
)
|
|
18302
|
-
), /* @__PURE__ */
|
|
18554
|
+
), /* @__PURE__ */ import_react213.default.createElement("div", { className: taskBodyClassName }, /* @__PURE__ */ import_react213.default.createElement("div", { className: "Layer__tasks-list-item__body-info" }, /* @__PURE__ */ import_react213.default.createElement(Text, { size: "sm" /* sm */ }, task.question), task.user_response_type === "FREE_RESPONSE" ? /* @__PURE__ */ import_react213.default.createElement(
|
|
18303
18555
|
Textarea,
|
|
18304
18556
|
{
|
|
18305
18557
|
value: userResponse,
|
|
18306
18558
|
onChange: (e) => setUserResponse(e.target.value)
|
|
18307
18559
|
}
|
|
18308
|
-
) : null, /* @__PURE__ */
|
|
18560
|
+
) : null, /* @__PURE__ */ import_react213.default.createElement("div", { className: "Layer__tasks-list-item__actions" }, task.user_response_type === "UPLOAD_DOCUMENT" ? /* @__PURE__ */ import_react213.default.createElement(
|
|
18309
18561
|
FileInput,
|
|
18310
18562
|
{
|
|
18311
18563
|
onUpload: (file) => {
|
|
@@ -18316,7 +18568,7 @@ var TasksListItem = ({
|
|
|
18316
18568
|
text: "Upload file",
|
|
18317
18569
|
disabled: task.completed_at != null || task.user_marked_completed_at != null || task.archived_at != null
|
|
18318
18570
|
}
|
|
18319
|
-
) : /* @__PURE__ */
|
|
18571
|
+
) : /* @__PURE__ */ import_react213.default.createElement(
|
|
18320
18572
|
Button,
|
|
18321
18573
|
{
|
|
18322
18574
|
disabled: userResponse.length === 0 || userResponse === task.user_response,
|
|
@@ -18340,17 +18592,17 @@ function paginateArray(array, chunkSize = 10) {
|
|
|
18340
18592
|
}
|
|
18341
18593
|
return result;
|
|
18342
18594
|
}
|
|
18343
|
-
var TasksEmptyState = () => /* @__PURE__ */
|
|
18595
|
+
var TasksEmptyState = () => /* @__PURE__ */ import_react214.default.createElement("div", { className: "Layer__tasks-empty-state" }, /* @__PURE__ */ import_react214.default.createElement("div", { className: "Layer__tasks-icon" }, /* @__PURE__ */ import_react214.default.createElement(SmileIcon_default, null)), /* @__PURE__ */ import_react214.default.createElement(Text, { size: "sm" /* sm */ }, "There are no pending tasks!", /* @__PURE__ */ import_react214.default.createElement("br", null), " Great job!"));
|
|
18344
18596
|
var TasksList = ({ pageSize = 10 }) => {
|
|
18345
|
-
const { data: tasks, error } = (0,
|
|
18597
|
+
const { data: tasks, error } = (0, import_react214.useContext)(TasksContext);
|
|
18346
18598
|
const firstPageWithIincompleteTasks = paginateArray(
|
|
18347
18599
|
tasks || [],
|
|
18348
18600
|
pageSize
|
|
18349
18601
|
).findIndex((page) => page.some((task) => !isComplete(task.status)));
|
|
18350
|
-
const [currentPage, setCurrentPage] = (0,
|
|
18602
|
+
const [currentPage, setCurrentPage] = (0, import_react214.useState)(
|
|
18351
18603
|
firstPageWithIincompleteTasks === -1 ? 1 : firstPageWithIincompleteTasks + 1
|
|
18352
18604
|
);
|
|
18353
|
-
const sortedTasks = (0,
|
|
18605
|
+
const sortedTasks = (0, import_react214.useMemo)(() => {
|
|
18354
18606
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
18355
18607
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
18356
18608
|
return tasks == null ? void 0 : tasks.slice(firstPageIndex, lastPageIndex);
|
|
@@ -18364,7 +18616,7 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
18364
18616
|
setCurrentPage(currentPage + 1);
|
|
18365
18617
|
}
|
|
18366
18618
|
};
|
|
18367
|
-
return /* @__PURE__ */
|
|
18619
|
+
return /* @__PURE__ */ import_react214.default.createElement("div", { className: "Layer__tasks-list" }, sortedTasks && sortedTasks.length > 0 ? /* @__PURE__ */ import_react214.default.createElement(import_react214.default.Fragment, null, sortedTasks.map((task, index) => /* @__PURE__ */ import_react214.default.createElement(
|
|
18368
18620
|
TasksListItem,
|
|
18369
18621
|
{
|
|
18370
18622
|
key: task.id,
|
|
@@ -18372,7 +18624,7 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
18372
18624
|
goToNextPageIfAllComplete: goToNextPage,
|
|
18373
18625
|
defaultOpen: index === indexFirstIncomplete
|
|
18374
18626
|
}
|
|
18375
|
-
)), tasks && tasks.length >= 10 && /* @__PURE__ */
|
|
18627
|
+
)), tasks && tasks.length >= 10 && /* @__PURE__ */ import_react214.default.createElement("div", { className: "Layer__tasks__pagination" }, /* @__PURE__ */ import_react214.default.createElement(
|
|
18376
18628
|
Pagination,
|
|
18377
18629
|
{
|
|
18378
18630
|
currentPage,
|
|
@@ -18380,16 +18632,16 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
18380
18632
|
pageSize,
|
|
18381
18633
|
onPageChange: (page) => setCurrentPage(page)
|
|
18382
18634
|
}
|
|
18383
|
-
))) : /* @__PURE__ */
|
|
18635
|
+
))) : /* @__PURE__ */ import_react214.default.createElement(import_react214.default.Fragment, null, error ? /* @__PURE__ */ import_react214.default.createElement(ErrorText, null, "Approval failed. Check connection and retry in few seconds.") : /* @__PURE__ */ import_react214.default.createElement(TasksEmptyState, null)));
|
|
18384
18636
|
};
|
|
18385
18637
|
|
|
18386
18638
|
// src/components/TasksPending/TasksPending.tsx
|
|
18387
|
-
var
|
|
18639
|
+
var import_react215 = __toESM(require("react"));
|
|
18388
18640
|
var import_classnames68 = __toESM(require("classnames"));
|
|
18389
18641
|
var import_date_fns35 = require("date-fns");
|
|
18390
18642
|
var import_recharts4 = require("recharts");
|
|
18391
18643
|
var TasksPending = () => {
|
|
18392
|
-
const { data } = (0,
|
|
18644
|
+
const { data } = (0, import_react215.useContext)(TasksContext);
|
|
18393
18645
|
const completedTasks = data == null ? void 0 : data.filter((task) => isComplete(task.status)).length;
|
|
18394
18646
|
const chartData = [
|
|
18395
18647
|
{
|
|
@@ -18404,7 +18656,7 @@ var TasksPending = () => {
|
|
|
18404
18656
|
const taskStatusClassName = (0, import_classnames68.default)(
|
|
18405
18657
|
completedTasks && completedTasks > 0 ? "Layer__tasks-pending-bar__status--done" : "Layer__tasks-pending-bar__status--pending"
|
|
18406
18658
|
);
|
|
18407
|
-
return /* @__PURE__ */
|
|
18659
|
+
return /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-pending" }, /* @__PURE__ */ import_react215.default.createElement(Text, { size: "lg" /* lg */ }, (0, import_date_fns35.format)(Date.now(), "MMMM")), /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-pending-bar" }, /* @__PURE__ */ import_react215.default.createElement(Text, { size: "sm" /* sm */ }, /* @__PURE__ */ import_react215.default.createElement("span", { className: taskStatusClassName }, completedTasks), "/", data == null ? void 0 : data.length, " done"), /* @__PURE__ */ import_react215.default.createElement(import_recharts4.PieChart, { width: 24, height: 24, className: "mini-chart" }, /* @__PURE__ */ import_react215.default.createElement(
|
|
18408
18660
|
import_recharts4.Pie,
|
|
18409
18661
|
{
|
|
18410
18662
|
data: chartData,
|
|
@@ -18422,7 +18674,7 @@ var TasksPending = () => {
|
|
|
18422
18674
|
animationEasing: "ease-in-out"
|
|
18423
18675
|
},
|
|
18424
18676
|
chartData.map((task, index) => {
|
|
18425
|
-
return /* @__PURE__ */
|
|
18677
|
+
return /* @__PURE__ */ import_react215.default.createElement(
|
|
18426
18678
|
import_recharts4.Cell,
|
|
18427
18679
|
{
|
|
18428
18680
|
key: `cell-${index}`,
|
|
@@ -18436,7 +18688,7 @@ var TasksPending = () => {
|
|
|
18436
18688
|
|
|
18437
18689
|
// src/components/Tasks/Tasks.tsx
|
|
18438
18690
|
var import_classnames69 = __toESM(require("classnames"));
|
|
18439
|
-
var UseTasksContext = (0,
|
|
18691
|
+
var UseTasksContext = (0, import_react216.createContext)({
|
|
18440
18692
|
data: void 0,
|
|
18441
18693
|
isLoading: void 0,
|
|
18442
18694
|
loadedStatus: "initial",
|
|
@@ -18457,7 +18709,7 @@ var Tasks = ({
|
|
|
18457
18709
|
// deprecated
|
|
18458
18710
|
stringOverrides
|
|
18459
18711
|
}) => {
|
|
18460
|
-
return /* @__PURE__ */
|
|
18712
|
+
return /* @__PURE__ */ import_react216.default.createElement(TasksProvider, null, /* @__PURE__ */ import_react216.default.createElement(
|
|
18461
18713
|
TasksComponent,
|
|
18462
18714
|
{
|
|
18463
18715
|
collapsable,
|
|
@@ -18470,7 +18722,7 @@ var Tasks = ({
|
|
|
18470
18722
|
};
|
|
18471
18723
|
var TasksProvider = ({ children }) => {
|
|
18472
18724
|
const contextData = useTasks();
|
|
18473
|
-
return /* @__PURE__ */
|
|
18725
|
+
return /* @__PURE__ */ import_react216.default.createElement(TasksContext.Provider, { value: contextData }, children);
|
|
18474
18726
|
};
|
|
18475
18727
|
var TasksComponent = ({
|
|
18476
18728
|
collapsable = false,
|
|
@@ -18480,8 +18732,8 @@ var TasksComponent = ({
|
|
|
18480
18732
|
// deprecated
|
|
18481
18733
|
stringOverrides
|
|
18482
18734
|
}) => {
|
|
18483
|
-
const { isLoading, loadedStatus, data } = (0,
|
|
18484
|
-
const allComplete = (0,
|
|
18735
|
+
const { isLoading, loadedStatus, data } = (0, import_react216.useContext)(TasksContext);
|
|
18736
|
+
const allComplete = (0, import_react216.useMemo)(() => {
|
|
18485
18737
|
if (!data) {
|
|
18486
18738
|
return void 0;
|
|
18487
18739
|
}
|
|
@@ -18490,15 +18742,15 @@ var TasksComponent = ({
|
|
|
18490
18742
|
}
|
|
18491
18743
|
return false;
|
|
18492
18744
|
}, [data, isLoading]);
|
|
18493
|
-
const [open, setOpen] = (0,
|
|
18745
|
+
const [open, setOpen] = (0, import_react216.useState)(
|
|
18494
18746
|
defaultCollapsed || collapsedWhenComplete ? false : true
|
|
18495
18747
|
);
|
|
18496
|
-
(0,
|
|
18748
|
+
(0, import_react216.useEffect)(() => {
|
|
18497
18749
|
if (allComplete && open && collapsedWhenComplete && loadedStatus === "complete") {
|
|
18498
18750
|
setOpen(false);
|
|
18499
18751
|
}
|
|
18500
18752
|
}, [allComplete]);
|
|
18501
|
-
return /* @__PURE__ */
|
|
18753
|
+
return /* @__PURE__ */ import_react216.default.createElement("div", { className: "Layer__tasks-component" }, /* @__PURE__ */ import_react216.default.createElement(
|
|
18502
18754
|
TasksHeader,
|
|
18503
18755
|
{
|
|
18504
18756
|
tasksHeader: (stringOverrides == null ? void 0 : stringOverrides.header) || tasksHeader,
|
|
@@ -18506,7 +18758,7 @@ var TasksComponent = ({
|
|
|
18506
18758
|
open,
|
|
18507
18759
|
toggleContent: () => setOpen(!open)
|
|
18508
18760
|
}
|
|
18509
|
-
), /* @__PURE__ */
|
|
18761
|
+
), /* @__PURE__ */ import_react216.default.createElement(
|
|
18510
18762
|
"div",
|
|
18511
18763
|
{
|
|
18512
18764
|
className: (0, import_classnames69.default)(
|
|
@@ -18514,21 +18766,21 @@ var TasksComponent = ({
|
|
|
18514
18766
|
!open && "Layer__tasks__content--collapsed"
|
|
18515
18767
|
)
|
|
18516
18768
|
},
|
|
18517
|
-
isLoading || !data ? /* @__PURE__ */
|
|
18769
|
+
isLoading || !data ? /* @__PURE__ */ import_react216.default.createElement("div", { className: "Layer__tasks__loader-container" }, /* @__PURE__ */ import_react216.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react216.default.createElement(import_react216.default.Fragment, null, data.length > 0 && /* @__PURE__ */ import_react216.default.createElement(TasksPending, null), /* @__PURE__ */ import_react216.default.createElement(TasksList, null))
|
|
18518
18770
|
));
|
|
18519
18771
|
};
|
|
18520
18772
|
|
|
18521
18773
|
// src/components/PlatformOnboarding/LinkAccounts.tsx
|
|
18522
|
-
var
|
|
18774
|
+
var import_react217 = __toESM(require("react"));
|
|
18523
18775
|
var LinkAccounts = (_a) => {
|
|
18524
18776
|
var _b = _a, { inBox } = _b, props = __objRest(_b, ["inBox"]);
|
|
18525
|
-
const content = (0,
|
|
18777
|
+
const content = (0, import_react217.useMemo)(() => {
|
|
18526
18778
|
if (inBox) {
|
|
18527
|
-
return /* @__PURE__ */
|
|
18779
|
+
return /* @__PURE__ */ import_react217.default.createElement("div", { className: "Layer__link-accounts__box" }, /* @__PURE__ */ import_react217.default.createElement(LinkAccountsContent, __spreadValues({}, props)));
|
|
18528
18780
|
}
|
|
18529
|
-
return /* @__PURE__ */
|
|
18781
|
+
return /* @__PURE__ */ import_react217.default.createElement(LinkAccountsContent, __spreadValues({}, props));
|
|
18530
18782
|
}, [inBox, props]);
|
|
18531
|
-
return /* @__PURE__ */
|
|
18783
|
+
return /* @__PURE__ */ import_react217.default.createElement(LinkedAccountsProvider, null, content);
|
|
18532
18784
|
};
|
|
18533
18785
|
var LinkAccountsContent = ({
|
|
18534
18786
|
title,
|
|
@@ -18542,8 +18794,8 @@ var LinkAccountsContent = ({
|
|
|
18542
18794
|
onNext
|
|
18543
18795
|
}) => {
|
|
18544
18796
|
var _a;
|
|
18545
|
-
const { data, loadingStatus, error, refetchAccounts, addConnection } = (0,
|
|
18546
|
-
return /* @__PURE__ */
|
|
18797
|
+
const { data, loadingStatus, error, refetchAccounts, addConnection } = (0, import_react217.useContext)(LinkedAccountsContext);
|
|
18798
|
+
return /* @__PURE__ */ import_react217.default.createElement("div", { className: "Layer__link-accounts Layer__component" }, title && /* @__PURE__ */ import_react217.default.createElement(Heading, { size: "view" /* view */ }, title), data && data.length === 0 ? /* @__PURE__ */ import_react217.default.createElement("div", { className: "Layer__link-accounts__data-status-container" }, !hideLoading && loadingStatus !== "complete" ? /* @__PURE__ */ import_react217.default.createElement(Loader2, null) : null, Boolean(error) && /* @__PURE__ */ import_react217.default.createElement(
|
|
18547
18799
|
DataState,
|
|
18548
18800
|
{
|
|
18549
18801
|
status: "failed" /* failed */,
|
|
@@ -18551,7 +18803,7 @@ var LinkAccountsContent = ({
|
|
|
18551
18803
|
description: "Please try again later",
|
|
18552
18804
|
onRefresh: refetchAccounts
|
|
18553
18805
|
}
|
|
18554
|
-
)) : null, data && data.length > 0 ? /* @__PURE__ */
|
|
18806
|
+
)) : null, data && data.length > 0 ? /* @__PURE__ */ import_react217.default.createElement("div", { className: "Layer__link-accounts__list" }, data == null ? void 0 : data.map((account, index) => /* @__PURE__ */ import_react217.default.createElement(
|
|
18555
18807
|
LinkedAccountItemThumb,
|
|
18556
18808
|
{
|
|
18557
18809
|
key: index,
|
|
@@ -18561,33 +18813,33 @@ var LinkAccountsContent = ({
|
|
|
18561
18813
|
showBreakConnection,
|
|
18562
18814
|
asWidget
|
|
18563
18815
|
}
|
|
18564
|
-
))) : null, /* @__PURE__ */
|
|
18816
|
+
))) : null, /* @__PURE__ */ import_react217.default.createElement(
|
|
18565
18817
|
ActionableRow,
|
|
18566
18818
|
{
|
|
18567
|
-
iconBox: /* @__PURE__ */
|
|
18819
|
+
iconBox: /* @__PURE__ */ import_react217.default.createElement(PlaidIcon_default, null),
|
|
18568
18820
|
title: data && data.length > 0 ? "Connect my next business account" : "Connect accounts",
|
|
18569
18821
|
description: "Import data with one simple integration.",
|
|
18570
|
-
button: /* @__PURE__ */
|
|
18822
|
+
button: /* @__PURE__ */ import_react217.default.createElement(
|
|
18571
18823
|
Button,
|
|
18572
18824
|
{
|
|
18573
18825
|
onClick: () => addConnection("PLAID"),
|
|
18574
|
-
rightIcon: /* @__PURE__ */
|
|
18826
|
+
rightIcon: /* @__PURE__ */ import_react217.default.createElement(Link_default, { size: 12 }),
|
|
18575
18827
|
disabled: loadingStatus !== "complete"
|
|
18576
18828
|
},
|
|
18577
18829
|
data && data.length > 0 ? "Connect next" : "Connect"
|
|
18578
18830
|
)
|
|
18579
18831
|
}
|
|
18580
|
-
), /* @__PURE__ */
|
|
18832
|
+
), /* @__PURE__ */ import_react217.default.createElement(LinkedAccountsConfirmationModal, null), onBack || onNext ? /* @__PURE__ */ import_react217.default.createElement("div", { className: "Layer__link-accounts__footer" }, onBack && /* @__PURE__ */ import_react217.default.createElement(Button, { onClick: onBack, variant: "secondary" /* secondary */ }, (_a = stringOverrides == null ? void 0 : stringOverrides.backButtonText) != null ? _a : "Back"), onNext && /* @__PURE__ */ import_react217.default.createElement(Button, { onClick: onNext }, (stringOverrides == null ? void 0 : stringOverrides.nextButtonText) || "I\u2019m done connecting my business accounts")) : null);
|
|
18581
18833
|
};
|
|
18582
18834
|
|
|
18583
18835
|
// src/components/UpsellBanner/BookkeepingUpsellBar.tsx
|
|
18584
|
-
var
|
|
18836
|
+
var import_react218 = __toESM(require("react"));
|
|
18585
18837
|
|
|
18586
18838
|
// src/icons/Coffee.tsx
|
|
18587
|
-
var
|
|
18839
|
+
var React218 = __toESM(require("react"));
|
|
18588
18840
|
var CoffeeIcon = (_a) => {
|
|
18589
18841
|
var _b = _a, { size = 11 } = _b, props = __objRest(_b, ["size"]);
|
|
18590
|
-
return /* @__PURE__ */
|
|
18842
|
+
return /* @__PURE__ */ React218.createElement(
|
|
18591
18843
|
"svg",
|
|
18592
18844
|
__spreadProps(__spreadValues({
|
|
18593
18845
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -18597,7 +18849,7 @@ var CoffeeIcon = (_a) => {
|
|
|
18597
18849
|
width: size,
|
|
18598
18850
|
height: size
|
|
18599
18851
|
}),
|
|
18600
|
-
/* @__PURE__ */
|
|
18852
|
+
/* @__PURE__ */ React218.createElement("g", { clipPath: "url(#clip0_5018_10141)" }, /* @__PURE__ */ React218.createElement(
|
|
18601
18853
|
"path",
|
|
18602
18854
|
{
|
|
18603
18855
|
d: "M3.25 4.16666H2.79167C2.30544 4.16666 1.83912 4.35981 1.4953 4.70363C1.15149 5.04744 0.958333 5.51376 0.958333 5.99999C0.958333 6.48622 1.15149 6.95254 1.4953 7.29635C1.83912 7.64017 2.30544 7.83332 2.79167 7.83332H3.25",
|
|
@@ -18605,7 +18857,7 @@ var CoffeeIcon = (_a) => {
|
|
|
18605
18857
|
strokeLinecap: "round",
|
|
18606
18858
|
strokeLinejoin: "round"
|
|
18607
18859
|
}
|
|
18608
|
-
), /* @__PURE__ */
|
|
18860
|
+
), /* @__PURE__ */ React218.createElement(
|
|
18609
18861
|
"path",
|
|
18610
18862
|
{
|
|
18611
18863
|
d: "M10.5834 4.16666H3.25004V8.29166C3.25004 8.77789 3.4432 9.2442 3.78701 9.58802C4.13083 9.93184 4.59714 10.125 5.08337 10.125H8.75004C9.23627 10.125 9.70259 9.93184 10.0464 9.58802C10.3902 9.2442 10.5834 8.77789 10.5834 8.29166V4.16666Z",
|
|
@@ -18613,7 +18865,7 @@ var CoffeeIcon = (_a) => {
|
|
|
18613
18865
|
strokeLinecap: "round",
|
|
18614
18866
|
strokeLinejoin: "round"
|
|
18615
18867
|
}
|
|
18616
|
-
), /* @__PURE__ */
|
|
18868
|
+
), /* @__PURE__ */ React218.createElement(
|
|
18617
18869
|
"path",
|
|
18618
18870
|
{
|
|
18619
18871
|
d: "M8.75 0.958344V2.33334",
|
|
@@ -18621,7 +18873,7 @@ var CoffeeIcon = (_a) => {
|
|
|
18621
18873
|
strokeLinecap: "round",
|
|
18622
18874
|
strokeLinejoin: "round"
|
|
18623
18875
|
}
|
|
18624
|
-
), /* @__PURE__ */
|
|
18876
|
+
), /* @__PURE__ */ React218.createElement(
|
|
18625
18877
|
"path",
|
|
18626
18878
|
{
|
|
18627
18879
|
d: "M6.91663 0.958344V2.33334",
|
|
@@ -18629,7 +18881,7 @@ var CoffeeIcon = (_a) => {
|
|
|
18629
18881
|
strokeLinecap: "round",
|
|
18630
18882
|
strokeLinejoin: "round"
|
|
18631
18883
|
}
|
|
18632
|
-
), /* @__PURE__ */
|
|
18884
|
+
), /* @__PURE__ */ React218.createElement(
|
|
18633
18885
|
"path",
|
|
18634
18886
|
{
|
|
18635
18887
|
d: "M5.08337 0.958344V2.33334",
|
|
@@ -18638,7 +18890,7 @@ var CoffeeIcon = (_a) => {
|
|
|
18638
18890
|
strokeLinejoin: "round"
|
|
18639
18891
|
}
|
|
18640
18892
|
)),
|
|
18641
|
-
/* @__PURE__ */
|
|
18893
|
+
/* @__PURE__ */ React218.createElement("defs", null, /* @__PURE__ */ React218.createElement("clipPath", { id: "clip0_5018_10141" }, /* @__PURE__ */ React218.createElement(
|
|
18642
18894
|
"rect",
|
|
18643
18895
|
{
|
|
18644
18896
|
width: "11",
|
|
@@ -18656,26 +18908,26 @@ var BookkeepingUpsellBar = ({
|
|
|
18656
18908
|
onClick,
|
|
18657
18909
|
href
|
|
18658
18910
|
}) => {
|
|
18659
|
-
return /* @__PURE__ */
|
|
18911
|
+
return /* @__PURE__ */ import_react218.default.createElement("div", { className: "Layer__bar-banner Layer__bar-banner--bookkeeping" }, /* @__PURE__ */ import_react218.default.createElement("div", { className: "Layer__bar-banner__left-col" }, /* @__PURE__ */ import_react218.default.createElement(IconBox, null, /* @__PURE__ */ import_react218.default.createElement(Coffee_default, null)), /* @__PURE__ */ import_react218.default.createElement("div", { className: "Layer__bar-banner__text-container" }, /* @__PURE__ */ import_react218.default.createElement(Text, { size: "md" /* md */, weight: "bold" /* bold */ }, "Need help with your books?"), /* @__PURE__ */ import_react218.default.createElement(
|
|
18660
18912
|
Text,
|
|
18661
18913
|
{
|
|
18662
18914
|
size: "sm" /* sm */,
|
|
18663
18915
|
className: "Layer__bar-banner__text-container__desc"
|
|
18664
18916
|
},
|
|
18665
18917
|
"Order bookkeeping service supported by real humans."
|
|
18666
|
-
))), onClick ? /* @__PURE__ */
|
|
18918
|
+
))), onClick ? /* @__PURE__ */ import_react218.default.createElement(Button, { variant: "secondary" /* secondary */, onClick }, "Schedule a demo") : href ? /* @__PURE__ */ import_react218.default.createElement(Link2, { href, target: "_blank", variant: "secondary" /* secondary */ }, "Schedule a demo") : null);
|
|
18667
18919
|
};
|
|
18668
18920
|
|
|
18669
18921
|
// src/views/BookkeepingOverview/BookkeepingOverview.tsx
|
|
18670
|
-
var
|
|
18922
|
+
var import_react220 = __toESM(require("react"));
|
|
18671
18923
|
|
|
18672
18924
|
// src/views/BookkeepingOverview/internal/BookkeepingProfitAndLossSummariesContainer.tsx
|
|
18673
|
-
var
|
|
18674
|
-
var
|
|
18925
|
+
var import_react219 = __toESM(require("react"));
|
|
18926
|
+
var CLASS_NAME7 = "Layer__BookkeepingProfitAndLossSummariesContainer";
|
|
18675
18927
|
function BookkeepingProfitAndLossSummariesContainer({
|
|
18676
18928
|
children
|
|
18677
18929
|
}) {
|
|
18678
|
-
return /* @__PURE__ */
|
|
18930
|
+
return /* @__PURE__ */ import_react219.default.createElement("div", { className: CLASS_NAME7 }, children);
|
|
18679
18931
|
}
|
|
18680
18932
|
|
|
18681
18933
|
// src/views/BookkeepingOverview/BookkeepingOverview.tsx
|
|
@@ -18687,19 +18939,19 @@ var BookkeepingOverview = ({
|
|
|
18687
18939
|
slotProps
|
|
18688
18940
|
}) => {
|
|
18689
18941
|
var _a, _b, _c, _d, _e, _f;
|
|
18690
|
-
const [pnlToggle, setPnlToggle] = (0,
|
|
18942
|
+
const [pnlToggle, setPnlToggle] = (0, import_react220.useState)("expenses");
|
|
18691
18943
|
const [width] = useWindowSize();
|
|
18692
18944
|
const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
|
|
18693
|
-
return /* @__PURE__ */
|
|
18945
|
+
return /* @__PURE__ */ import_react220.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react220.default.createElement(TasksProvider, null, /* @__PURE__ */ import_react220.default.createElement(
|
|
18694
18946
|
View,
|
|
18695
18947
|
{
|
|
18696
18948
|
viewClassName: "Layer__bookkeeping-overview--view",
|
|
18697
18949
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "Bookkeeping overview",
|
|
18698
18950
|
withSidebar: width > 1100,
|
|
18699
|
-
sidebar: /* @__PURE__ */
|
|
18951
|
+
sidebar: /* @__PURE__ */ import_react220.default.createElement(TasksComponent, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.tasks }),
|
|
18700
18952
|
showHeader: showTitle
|
|
18701
18953
|
},
|
|
18702
|
-
width <= 1100 && /* @__PURE__ */
|
|
18954
|
+
width <= 1100 && /* @__PURE__ */ import_react220.default.createElement(
|
|
18703
18955
|
TasksComponent,
|
|
18704
18956
|
{
|
|
18705
18957
|
collapsable: true,
|
|
@@ -18707,30 +18959,30 @@ var BookkeepingOverview = ({
|
|
|
18707
18959
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.tasks
|
|
18708
18960
|
}
|
|
18709
18961
|
),
|
|
18710
|
-
/* @__PURE__ */
|
|
18962
|
+
/* @__PURE__ */ import_react220.default.createElement(
|
|
18711
18963
|
Container,
|
|
18712
18964
|
{
|
|
18713
18965
|
name: "bookkeeping-overview-profit-and-loss",
|
|
18714
18966
|
asWidget: true,
|
|
18715
18967
|
elevated: true
|
|
18716
18968
|
},
|
|
18717
|
-
/* @__PURE__ */
|
|
18969
|
+
/* @__PURE__ */ import_react220.default.createElement(
|
|
18718
18970
|
ProfitAndLoss.Header,
|
|
18719
18971
|
{
|
|
18720
18972
|
text: ((_c = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _c.header) || "Profit & Loss",
|
|
18721
18973
|
withDatePicker: true
|
|
18722
18974
|
}
|
|
18723
18975
|
),
|
|
18724
|
-
/* @__PURE__ */
|
|
18976
|
+
/* @__PURE__ */ import_react220.default.createElement(BookkeepingProfitAndLossSummariesContainer, null, /* @__PURE__ */ import_react220.default.createElement(
|
|
18725
18977
|
ProfitAndLoss.Summaries,
|
|
18726
18978
|
{
|
|
18727
18979
|
stringOverrides: (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.summaries,
|
|
18728
18980
|
variants: profitAndLossSummariesVariants
|
|
18729
18981
|
}
|
|
18730
18982
|
)),
|
|
18731
|
-
/* @__PURE__ */
|
|
18983
|
+
/* @__PURE__ */ import_react220.default.createElement(ProfitAndLoss.Chart, null)
|
|
18732
18984
|
),
|
|
18733
|
-
/* @__PURE__ */
|
|
18985
|
+
/* @__PURE__ */ import_react220.default.createElement("div", { className: "Layer__bookkeeping-overview-profit-and-loss-charts" }, /* @__PURE__ */ import_react220.default.createElement(
|
|
18734
18986
|
Toggle,
|
|
18735
18987
|
{
|
|
18736
18988
|
name: "pnl-detailed-charts",
|
|
@@ -18747,7 +18999,7 @@ var BookkeepingOverview = ({
|
|
|
18747
18999
|
selected: pnlToggle,
|
|
18748
19000
|
onChange: (e) => setPnlToggle(e.target.value)
|
|
18749
19001
|
}
|
|
18750
|
-
), /* @__PURE__ */
|
|
19002
|
+
), /* @__PURE__ */ import_react220.default.createElement(
|
|
18751
19003
|
Container,
|
|
18752
19004
|
{
|
|
18753
19005
|
name: (0, import_classnames70.default)(
|
|
@@ -18755,7 +19007,7 @@ var BookkeepingOverview = ({
|
|
|
18755
19007
|
pnlToggle !== "revenue" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
18756
19008
|
)
|
|
18757
19009
|
},
|
|
18758
|
-
/* @__PURE__ */
|
|
19010
|
+
/* @__PURE__ */ import_react220.default.createElement(
|
|
18759
19011
|
ProfitAndLoss.DetailedCharts,
|
|
18760
19012
|
{
|
|
18761
19013
|
scope: "revenue",
|
|
@@ -18763,7 +19015,7 @@ var BookkeepingOverview = ({
|
|
|
18763
19015
|
stringOverrides: (_e = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _e.detailedCharts
|
|
18764
19016
|
}
|
|
18765
19017
|
)
|
|
18766
|
-
), /* @__PURE__ */
|
|
19018
|
+
), /* @__PURE__ */ import_react220.default.createElement(
|
|
18767
19019
|
Container,
|
|
18768
19020
|
{
|
|
18769
19021
|
name: (0, import_classnames70.default)(
|
|
@@ -18771,7 +19023,7 @@ var BookkeepingOverview = ({
|
|
|
18771
19023
|
pnlToggle !== "expenses" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
18772
19024
|
)
|
|
18773
19025
|
},
|
|
18774
|
-
/* @__PURE__ */
|
|
19026
|
+
/* @__PURE__ */ import_react220.default.createElement(
|
|
18775
19027
|
ProfitAndLoss.DetailedCharts,
|
|
18776
19028
|
{
|
|
18777
19029
|
scope: "expenses",
|
|
@@ -18784,20 +19036,20 @@ var BookkeepingOverview = ({
|
|
|
18784
19036
|
};
|
|
18785
19037
|
|
|
18786
19038
|
// src/views/AccountingOverview/AccountingOverview.tsx
|
|
18787
|
-
var
|
|
19039
|
+
var import_react223 = __toESM(require("react"));
|
|
18788
19040
|
|
|
18789
19041
|
// src/views/AccountingOverview/internal/TransactionsToReview.tsx
|
|
18790
|
-
var
|
|
19042
|
+
var import_react222 = __toESM(require("react"));
|
|
18791
19043
|
|
|
18792
19044
|
// src/components/BadgeLoader/BadgeLoader.tsx
|
|
18793
|
-
var
|
|
19045
|
+
var import_react221 = __toESM(require("react"));
|
|
18794
19046
|
var BadgeLoader = ({ children }) => {
|
|
18795
|
-
return /* @__PURE__ */
|
|
19047
|
+
return /* @__PURE__ */ import_react221.default.createElement("span", { className: "Layer__loader Layer__loader--as-badge" }, /* @__PURE__ */ import_react221.default.createElement(Loader_default, { size: 11, className: "Layer__anim--rotating" }), children);
|
|
18796
19048
|
};
|
|
18797
19049
|
|
|
18798
19050
|
// src/views/AccountingOverview/internal/TransactionsToReview.tsx
|
|
18799
19051
|
var import_date_fns36 = require("date-fns");
|
|
18800
|
-
var
|
|
19052
|
+
var CLASS_NAME8 = "Layer__TransactionsToReview";
|
|
18801
19053
|
function TransactionsToReview({
|
|
18802
19054
|
onClick,
|
|
18803
19055
|
usePnlDateRange,
|
|
@@ -18805,17 +19057,17 @@ function TransactionsToReview({
|
|
|
18805
19057
|
variants
|
|
18806
19058
|
}) {
|
|
18807
19059
|
const { size = "sm" } = variants != null ? variants : {};
|
|
18808
|
-
const { dateRange: contextDateRange } = (0,
|
|
19060
|
+
const { dateRange: contextDateRange } = (0, import_react222.useContext)(ProfitAndLoss.Context);
|
|
18809
19061
|
const dateRange = usePnlDateRange ? contextDateRange : void 0;
|
|
18810
|
-
const [toReview, setToReview] = (0,
|
|
19062
|
+
const [toReview, setToReview] = (0, import_react222.useState)(0);
|
|
18811
19063
|
const { data, loaded, error, refetch } = useProfitAndLossLTM({
|
|
18812
19064
|
currentDate: dateRange ? dateRange.startDate : (0, import_date_fns36.startOfMonth)(/* @__PURE__ */ new Date()),
|
|
18813
19065
|
tagFilter
|
|
18814
19066
|
});
|
|
18815
|
-
(0,
|
|
19067
|
+
(0, import_react222.useEffect)(() => {
|
|
18816
19068
|
checkTransactionsToReview();
|
|
18817
19069
|
}, []);
|
|
18818
|
-
(0,
|
|
19070
|
+
(0, import_react222.useEffect)(() => {
|
|
18819
19071
|
checkTransactionsToReview();
|
|
18820
19072
|
}, [dateRange, loaded]);
|
|
18821
19073
|
const checkTransactionsToReview = () => {
|
|
@@ -18837,33 +19089,33 @@ function TransactionsToReview({
|
|
|
18837
19089
|
verticalGap = "sm";
|
|
18838
19090
|
break;
|
|
18839
19091
|
}
|
|
18840
|
-
return /* @__PURE__ */
|
|
19092
|
+
return /* @__PURE__ */ import_react222.default.createElement("div", { onClick, className: CLASS_NAME8 }, /* @__PURE__ */ import_react222.default.createElement(VStack, { gap: verticalGap, align: "start" }, /* @__PURE__ */ import_react222.default.createElement(ProfitAndLossSummariesHeading, { variants }, "Transactions to review"), loaded === "initial" || loaded === "loading" ? /* @__PURE__ */ import_react222.default.createElement(BadgeLoader, null) : null, loaded === "complete" && error ? /* @__PURE__ */ import_react222.default.createElement(
|
|
18841
19093
|
Badge,
|
|
18842
19094
|
{
|
|
18843
19095
|
variant: "error" /* ERROR */,
|
|
18844
19096
|
size: "small" /* SMALL */,
|
|
18845
|
-
icon: /* @__PURE__ */
|
|
19097
|
+
icon: /* @__PURE__ */ import_react222.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
18846
19098
|
onClick: () => refetch()
|
|
18847
19099
|
},
|
|
18848
19100
|
"Refresh"
|
|
18849
|
-
) : null, loaded === "complete" && !error && toReview > 0 ? /* @__PURE__ */
|
|
19101
|
+
) : null, loaded === "complete" && !error && toReview > 0 ? /* @__PURE__ */ import_react222.default.createElement(
|
|
18850
19102
|
Badge,
|
|
18851
19103
|
{
|
|
18852
19104
|
variant: "warning" /* WARNING */,
|
|
18853
19105
|
size: "small" /* SMALL */,
|
|
18854
|
-
icon: /* @__PURE__ */
|
|
19106
|
+
icon: /* @__PURE__ */ import_react222.default.createElement(Bell_default, { size: 12 })
|
|
18855
19107
|
},
|
|
18856
19108
|
toReview,
|
|
18857
19109
|
" pending"
|
|
18858
|
-
) : null, loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */
|
|
19110
|
+
) : null, loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */ import_react222.default.createElement(
|
|
18859
19111
|
Badge,
|
|
18860
19112
|
{
|
|
18861
19113
|
variant: "success" /* SUCCESS */,
|
|
18862
19114
|
size: "small" /* SMALL */,
|
|
18863
|
-
icon: /* @__PURE__ */
|
|
19115
|
+
icon: /* @__PURE__ */ import_react222.default.createElement(Check_default, { size: 12 })
|
|
18864
19116
|
},
|
|
18865
19117
|
"All done"
|
|
18866
|
-
) : null), /* @__PURE__ */
|
|
19118
|
+
) : null), /* @__PURE__ */ import_react222.default.createElement(IconButton, { icon: /* @__PURE__ */ import_react222.default.createElement(ChevronRight_default, null), withBorder: true, onClick }));
|
|
18867
19119
|
}
|
|
18868
19120
|
|
|
18869
19121
|
// src/views/AccountingOverview/AccountingOverview.tsx
|
|
@@ -18882,36 +19134,36 @@ var AccountingOverview = ({
|
|
|
18882
19134
|
slotProps
|
|
18883
19135
|
}) => {
|
|
18884
19136
|
var _a, _b, _c, _d, _e;
|
|
18885
|
-
const [pnlToggle, setPnlToggle] = (0,
|
|
19137
|
+
const [pnlToggle, setPnlToggle] = (0, import_react223.useState)("expenses");
|
|
18886
19138
|
const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
|
|
18887
|
-
return /* @__PURE__ */
|
|
19139
|
+
return /* @__PURE__ */ import_react223.default.createElement(
|
|
18888
19140
|
ProfitAndLoss,
|
|
18889
19141
|
{
|
|
18890
19142
|
asContainer: false,
|
|
18891
19143
|
tagFilter: tagFilter ? { key: tagFilter.tagKey, values: tagFilter.tagValues } : void 0
|
|
18892
19144
|
},
|
|
18893
|
-
/* @__PURE__ */
|
|
19145
|
+
/* @__PURE__ */ import_react223.default.createElement(
|
|
18894
19146
|
View,
|
|
18895
19147
|
{
|
|
18896
19148
|
title,
|
|
18897
19149
|
showHeader: showTitle,
|
|
18898
|
-
header: /* @__PURE__ */
|
|
19150
|
+
header: /* @__PURE__ */ import_react223.default.createElement(Header2, null, /* @__PURE__ */ import_react223.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react223.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react223.default.createElement(ProfitAndLoss.DatePicker, null))))
|
|
18899
19151
|
},
|
|
18900
|
-
enableOnboarding && /* @__PURE__ */
|
|
19152
|
+
enableOnboarding && /* @__PURE__ */ import_react223.default.createElement(
|
|
18901
19153
|
Onboarding,
|
|
18902
19154
|
{
|
|
18903
19155
|
onTransactionsToReviewClick,
|
|
18904
19156
|
onboardingStepOverride
|
|
18905
19157
|
}
|
|
18906
19158
|
),
|
|
18907
|
-
/* @__PURE__ */
|
|
19159
|
+
/* @__PURE__ */ import_react223.default.createElement(
|
|
18908
19160
|
Internal_ProfitAndLossSummaries,
|
|
18909
19161
|
{
|
|
18910
19162
|
stringOverrides: (_c = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _c.summaries,
|
|
18911
19163
|
chartColorsList,
|
|
18912
19164
|
slots: {
|
|
18913
19165
|
unstable_AdditionalListItems: showTransactionsToReview ? [
|
|
18914
|
-
/* @__PURE__ */
|
|
19166
|
+
/* @__PURE__ */ import_react223.default.createElement(
|
|
18915
19167
|
TransactionsToReview,
|
|
18916
19168
|
{
|
|
18917
19169
|
key: "transactions-to-review",
|
|
@@ -18925,28 +19177,28 @@ var AccountingOverview = ({
|
|
|
18925
19177
|
variants: profitAndLossSummariesVariants
|
|
18926
19178
|
}
|
|
18927
19179
|
),
|
|
18928
|
-
/* @__PURE__ */
|
|
19180
|
+
/* @__PURE__ */ import_react223.default.createElement(
|
|
18929
19181
|
Container,
|
|
18930
19182
|
{
|
|
18931
19183
|
name: "accounting-overview-profit-and-loss",
|
|
18932
19184
|
asWidget: true,
|
|
18933
19185
|
elevated: true
|
|
18934
19186
|
},
|
|
18935
|
-
/* @__PURE__ */
|
|
19187
|
+
/* @__PURE__ */ import_react223.default.createElement(
|
|
18936
19188
|
ProfitAndLoss.Header,
|
|
18937
19189
|
{
|
|
18938
19190
|
text: (stringOverrides == null ? void 0 : stringOverrides.header) || "Profit & Loss"
|
|
18939
19191
|
}
|
|
18940
19192
|
),
|
|
18941
|
-
/* @__PURE__ */
|
|
19193
|
+
/* @__PURE__ */ import_react223.default.createElement(
|
|
18942
19194
|
ProfitAndLoss.Chart,
|
|
18943
19195
|
{
|
|
18944
19196
|
tagFilter: tagFilter ? { key: tagFilter.tagKey, values: tagFilter.tagValues } : void 0
|
|
18945
19197
|
}
|
|
18946
19198
|
)
|
|
18947
19199
|
),
|
|
18948
|
-
middleBanner && /* @__PURE__ */
|
|
18949
|
-
/* @__PURE__ */
|
|
19200
|
+
middleBanner && /* @__PURE__ */ import_react223.default.createElement(Container, { name: "accounting-overview-middle-banner" }, middleBanner),
|
|
19201
|
+
/* @__PURE__ */ import_react223.default.createElement("div", { className: "Layer__accounting-overview-profit-and-loss-charts" }, /* @__PURE__ */ import_react223.default.createElement(
|
|
18950
19202
|
Toggle,
|
|
18951
19203
|
{
|
|
18952
19204
|
name: "pnl-detailed-charts",
|
|
@@ -18963,7 +19215,7 @@ var AccountingOverview = ({
|
|
|
18963
19215
|
selected: pnlToggle,
|
|
18964
19216
|
onChange: (e) => setPnlToggle(e.target.value)
|
|
18965
19217
|
}
|
|
18966
|
-
), /* @__PURE__ */
|
|
19218
|
+
), /* @__PURE__ */ import_react223.default.createElement(
|
|
18967
19219
|
Container,
|
|
18968
19220
|
{
|
|
18969
19221
|
name: (0, import_classnames71.default)(
|
|
@@ -18971,7 +19223,7 @@ var AccountingOverview = ({
|
|
|
18971
19223
|
pnlToggle !== "revenue" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
18972
19224
|
)
|
|
18973
19225
|
},
|
|
18974
|
-
/* @__PURE__ */
|
|
19226
|
+
/* @__PURE__ */ import_react223.default.createElement(
|
|
18975
19227
|
ProfitAndLoss.DetailedCharts,
|
|
18976
19228
|
{
|
|
18977
19229
|
scope: "revenue",
|
|
@@ -18980,7 +19232,7 @@ var AccountingOverview = ({
|
|
|
18980
19232
|
chartColorsList
|
|
18981
19233
|
}
|
|
18982
19234
|
)
|
|
18983
|
-
), /* @__PURE__ */
|
|
19235
|
+
), /* @__PURE__ */ import_react223.default.createElement(
|
|
18984
19236
|
Container,
|
|
18985
19237
|
{
|
|
18986
19238
|
name: (0, import_classnames71.default)(
|
|
@@ -18988,7 +19240,7 @@ var AccountingOverview = ({
|
|
|
18988
19240
|
pnlToggle !== "expenses" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
18989
19241
|
)
|
|
18990
19242
|
},
|
|
18991
|
-
/* @__PURE__ */
|
|
19243
|
+
/* @__PURE__ */ import_react223.default.createElement(
|
|
18992
19244
|
ProfitAndLoss.DetailedCharts,
|
|
18993
19245
|
{
|
|
18994
19246
|
scope: "expenses",
|
|
@@ -19003,7 +19255,7 @@ var AccountingOverview = ({
|
|
|
19003
19255
|
};
|
|
19004
19256
|
|
|
19005
19257
|
// src/views/BankTransactionsWithLinkedAccounts/BankTransactionsWithLinkedAccounts.tsx
|
|
19006
|
-
var
|
|
19258
|
+
var import_react224 = __toESM(require("react"));
|
|
19007
19259
|
var BankTransactionsWithLinkedAccounts = ({
|
|
19008
19260
|
title,
|
|
19009
19261
|
// deprecated
|
|
@@ -19019,13 +19271,13 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
19019
19271
|
mobileComponent,
|
|
19020
19272
|
stringOverrides
|
|
19021
19273
|
}) => {
|
|
19022
|
-
return /* @__PURE__ */
|
|
19274
|
+
return /* @__PURE__ */ import_react224.default.createElement(
|
|
19023
19275
|
View,
|
|
19024
19276
|
{
|
|
19025
19277
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "Bank transactions",
|
|
19026
19278
|
showHeader: showTitle
|
|
19027
19279
|
},
|
|
19028
|
-
/* @__PURE__ */
|
|
19280
|
+
/* @__PURE__ */ import_react224.default.createElement(
|
|
19029
19281
|
LinkedAccounts,
|
|
19030
19282
|
{
|
|
19031
19283
|
elevated: elevatedLinkedAccounts,
|
|
@@ -19035,7 +19287,7 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
19035
19287
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.linkedAccounts
|
|
19036
19288
|
}
|
|
19037
19289
|
),
|
|
19038
|
-
/* @__PURE__ */
|
|
19290
|
+
/* @__PURE__ */ import_react224.default.createElement(
|
|
19039
19291
|
BankTransactions,
|
|
19040
19292
|
{
|
|
19041
19293
|
asWidget: true,
|
|
@@ -19051,7 +19303,7 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
19051
19303
|
};
|
|
19052
19304
|
|
|
19053
19305
|
// src/views/GeneralLedger/GeneralLedger.tsx
|
|
19054
|
-
var
|
|
19306
|
+
var import_react225 = __toESM(require("react"));
|
|
19055
19307
|
var GeneralLedgerView = ({
|
|
19056
19308
|
title,
|
|
19057
19309
|
// deprecated
|
|
@@ -19059,14 +19311,14 @@ var GeneralLedgerView = ({
|
|
|
19059
19311
|
stringOverrides,
|
|
19060
19312
|
chartOfAccountsOptions
|
|
19061
19313
|
}) => {
|
|
19062
|
-
const [activeTab, setActiveTab] = (0,
|
|
19063
|
-
return /* @__PURE__ */
|
|
19314
|
+
const [activeTab, setActiveTab] = (0, import_react225.useState)("chartOfAccounts");
|
|
19315
|
+
return /* @__PURE__ */ import_react225.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react225.default.createElement(
|
|
19064
19316
|
View,
|
|
19065
19317
|
{
|
|
19066
19318
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "General Ledger",
|
|
19067
19319
|
showHeader: showTitle
|
|
19068
19320
|
},
|
|
19069
|
-
/* @__PURE__ */
|
|
19321
|
+
/* @__PURE__ */ import_react225.default.createElement(
|
|
19070
19322
|
Toggle,
|
|
19071
19323
|
{
|
|
19072
19324
|
name: "general-ledger-tabs",
|
|
@@ -19084,7 +19336,7 @@ var GeneralLedgerView = ({
|
|
|
19084
19336
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
19085
19337
|
}
|
|
19086
19338
|
),
|
|
19087
|
-
activeTab === "chartOfAccounts" ? /* @__PURE__ */
|
|
19339
|
+
activeTab === "chartOfAccounts" ? /* @__PURE__ */ import_react225.default.createElement(
|
|
19088
19340
|
ChartOfAccounts,
|
|
19089
19341
|
{
|
|
19090
19342
|
asWidget: true,
|
|
@@ -19093,12 +19345,12 @@ var GeneralLedgerView = ({
|
|
|
19093
19345
|
templateAccountsEditable: chartOfAccountsOptions == null ? void 0 : chartOfAccountsOptions.templateAccountsEditable,
|
|
19094
19346
|
showReversalEntries: chartOfAccountsOptions == null ? void 0 : chartOfAccountsOptions.showReversalEntries
|
|
19095
19347
|
}
|
|
19096
|
-
) : /* @__PURE__ */
|
|
19348
|
+
) : /* @__PURE__ */ import_react225.default.createElement(Journal, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.journal })
|
|
19097
19349
|
));
|
|
19098
19350
|
};
|
|
19099
19351
|
|
|
19100
19352
|
// src/views/ProjectProfitability/ProjectProfitability.tsx
|
|
19101
|
-
var
|
|
19353
|
+
var import_react226 = __toESM(require("react"));
|
|
19102
19354
|
var import_react_select5 = __toESM(require("react-select"));
|
|
19103
19355
|
var ProjectProfitabilityView = ({
|
|
19104
19356
|
valueOptions,
|
|
@@ -19107,9 +19359,9 @@ var ProjectProfitabilityView = ({
|
|
|
19107
19359
|
datePickerMode = "monthPicker",
|
|
19108
19360
|
csvMoneyFormat = "DOLLAR_STRING"
|
|
19109
19361
|
}) => {
|
|
19110
|
-
const [activeTab, setActiveTab] = (0,
|
|
19111
|
-
const [tagFilter, setTagFilter] = (0,
|
|
19112
|
-
const [pnlTagFilter, setPnlTagFilter] = (0,
|
|
19362
|
+
const [activeTab, setActiveTab] = (0, import_react226.useState)("overview");
|
|
19363
|
+
const [tagFilter, setTagFilter] = (0, import_react226.useState)(null);
|
|
19364
|
+
const [pnlTagFilter, setPnlTagFilter] = (0, import_react226.useState)(
|
|
19113
19365
|
void 0
|
|
19114
19366
|
);
|
|
19115
19367
|
const isOptionSelected = (option, selectValue) => {
|
|
@@ -19123,14 +19375,14 @@ var ProjectProfitabilityView = ({
|
|
|
19123
19375
|
values: tagFilter2.tagValues
|
|
19124
19376
|
} : void 0;
|
|
19125
19377
|
};
|
|
19126
|
-
return /* @__PURE__ */
|
|
19378
|
+
return /* @__PURE__ */ import_react226.default.createElement(
|
|
19127
19379
|
View,
|
|
19128
19380
|
{
|
|
19129
19381
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || "",
|
|
19130
19382
|
showHeader: showTitle,
|
|
19131
19383
|
viewClassName: "Layer__project-view"
|
|
19132
19384
|
},
|
|
19133
|
-
/* @__PURE__ */
|
|
19385
|
+
/* @__PURE__ */ import_react226.default.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ import_react226.default.createElement("div", { className: "Layer__component" }, /* @__PURE__ */ import_react226.default.createElement(
|
|
19134
19386
|
Toggle,
|
|
19135
19387
|
{
|
|
19136
19388
|
name: "project-tabs",
|
|
@@ -19151,7 +19403,7 @@ var ProjectProfitabilityView = ({
|
|
|
19151
19403
|
selected: activeTab,
|
|
19152
19404
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
19153
19405
|
}
|
|
19154
|
-
)), /* @__PURE__ */
|
|
19406
|
+
)), /* @__PURE__ */ import_react226.default.createElement(
|
|
19155
19407
|
import_react_select5.default,
|
|
19156
19408
|
{
|
|
19157
19409
|
className: "Layer__category-menu Layer__select",
|
|
@@ -19169,7 +19421,7 @@ var ProjectProfitabilityView = ({
|
|
|
19169
19421
|
}
|
|
19170
19422
|
}
|
|
19171
19423
|
)),
|
|
19172
|
-
/* @__PURE__ */
|
|
19424
|
+
/* @__PURE__ */ import_react226.default.createElement(Container, { name: "project" }, /* @__PURE__ */ import_react226.default.createElement(import_react226.default.Fragment, null, activeTab === "overview" && /* @__PURE__ */ import_react226.default.createElement(
|
|
19173
19425
|
AccountingOverview,
|
|
19174
19426
|
{
|
|
19175
19427
|
stringOverrides: { header: "Project Overview" },
|
|
@@ -19179,7 +19431,7 @@ var ProjectProfitabilityView = ({
|
|
|
19179
19431
|
showTransactionsToReview: false,
|
|
19180
19432
|
showTitle: false
|
|
19181
19433
|
}
|
|
19182
|
-
), activeTab === "transactions" && /* @__PURE__ */
|
|
19434
|
+
), activeTab === "transactions" && /* @__PURE__ */ import_react226.default.createElement(
|
|
19183
19435
|
BankTransactions,
|
|
19184
19436
|
{
|
|
19185
19437
|
hideHeader: true,
|
|
@@ -19188,7 +19440,7 @@ var ProjectProfitabilityView = ({
|
|
|
19188
19440
|
tagFilter: tagFilter != null ? tagFilter : void 0
|
|
19189
19441
|
}
|
|
19190
19442
|
}
|
|
19191
|
-
), activeTab === "report" && /* @__PURE__ */
|
|
19443
|
+
), activeTab === "report" && /* @__PURE__ */ import_react226.default.createElement(ProfitAndLoss, { asContainer: false, tagFilter: pnlTagFilter }, /* @__PURE__ */ import_react226.default.createElement(
|
|
19192
19444
|
ProfitAndLoss.Report,
|
|
19193
19445
|
{
|
|
19194
19446
|
stringOverrides,
|
|
@@ -19200,7 +19452,7 @@ var ProjectProfitabilityView = ({
|
|
|
19200
19452
|
};
|
|
19201
19453
|
|
|
19202
19454
|
// src/views/Reports/Reports.tsx
|
|
19203
|
-
var
|
|
19455
|
+
var import_react227 = __toESM(require("react"));
|
|
19204
19456
|
var getOptions = (enabledReports) => {
|
|
19205
19457
|
return [
|
|
19206
19458
|
enabledReports.includes("profitAndLoss") ? {
|
|
@@ -19227,20 +19479,17 @@ var Reports = ({
|
|
|
19227
19479
|
statementOfCashFlowConfig
|
|
19228
19480
|
}) => {
|
|
19229
19481
|
var _a;
|
|
19230
|
-
const [activeTab, setActiveTab] = (0,
|
|
19231
|
-
const
|
|
19232
|
-
const containerRef = useElementViewSize(
|
|
19233
|
-
(newView) => setView(newView)
|
|
19234
|
-
);
|
|
19482
|
+
const [activeTab, setActiveTab] = (0, import_react227.useState)(enabledReports[0]);
|
|
19483
|
+
const { view, containerRef } = useElementViewSize();
|
|
19235
19484
|
const options = getOptions(enabledReports);
|
|
19236
19485
|
const defaultTitle = enabledReports.length > 1 ? "Reports" : (_a = options.find((option) => option.value = enabledReports[0])) == null ? void 0 : _a.label;
|
|
19237
|
-
return /* @__PURE__ */
|
|
19486
|
+
return /* @__PURE__ */ import_react227.default.createElement(
|
|
19238
19487
|
View,
|
|
19239
19488
|
{
|
|
19240
19489
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || defaultTitle,
|
|
19241
19490
|
showHeader: showTitle
|
|
19242
19491
|
},
|
|
19243
|
-
enabledReports.length > 1 && /* @__PURE__ */
|
|
19492
|
+
enabledReports.length > 1 && /* @__PURE__ */ import_react227.default.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ import_react227.default.createElement(
|
|
19244
19493
|
Toggle,
|
|
19245
19494
|
{
|
|
19246
19495
|
name: "reports-tabs",
|
|
@@ -19249,7 +19498,7 @@ var Reports = ({
|
|
|
19249
19498
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
19250
19499
|
}
|
|
19251
19500
|
)),
|
|
19252
|
-
/* @__PURE__ */
|
|
19501
|
+
/* @__PURE__ */ import_react227.default.createElement(Container, { name: "reports", ref: containerRef }, /* @__PURE__ */ import_react227.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react227.default.createElement(
|
|
19253
19502
|
ReportsPanel,
|
|
19254
19503
|
{
|
|
19255
19504
|
containerRef,
|
|
@@ -19272,7 +19521,7 @@ var ReportsPanel = ({
|
|
|
19272
19521
|
statementOfCashFlowConfig,
|
|
19273
19522
|
view
|
|
19274
19523
|
}) => {
|
|
19275
|
-
return /* @__PURE__ */
|
|
19524
|
+
return /* @__PURE__ */ import_react227.default.createElement(import_react227.default.Fragment, null, openReport === "profitAndLoss" && /* @__PURE__ */ import_react227.default.createElement(
|
|
19276
19525
|
ProfitAndLoss.Report,
|
|
19277
19526
|
__spreadValues({
|
|
19278
19527
|
stringOverrides,
|
|
@@ -19280,7 +19529,7 @@ var ReportsPanel = ({
|
|
|
19280
19529
|
parentRef: containerRef,
|
|
19281
19530
|
view
|
|
19282
19531
|
}, profitAndLossConfig)
|
|
19283
|
-
), openReport === "balanceSheet" && /* @__PURE__ */
|
|
19532
|
+
), openReport === "balanceSheet" && /* @__PURE__ */ import_react227.default.createElement(BalanceSheet, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.balanceSheet }), openReport === "statementOfCashFlow" && /* @__PURE__ */ import_react227.default.createElement(
|
|
19284
19533
|
StatementOfCashFlow,
|
|
19285
19534
|
__spreadValues({
|
|
19286
19535
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.statementOfCashflow
|
|
@@ -19289,11 +19538,11 @@ var ReportsPanel = ({
|
|
|
19289
19538
|
};
|
|
19290
19539
|
|
|
19291
19540
|
// src/components/ProfitAndLossView/ProfitAndLossView.tsx
|
|
19292
|
-
var
|
|
19541
|
+
var import_react228 = __toESM(require("react"));
|
|
19293
19542
|
var COMPONENT_NAME7 = "profit-and-loss";
|
|
19294
19543
|
var ProfitAndLossView = (props) => {
|
|
19295
|
-
const containerRef = (0,
|
|
19296
|
-
return /* @__PURE__ */
|
|
19544
|
+
const containerRef = (0, import_react228.useRef)(null);
|
|
19545
|
+
return /* @__PURE__ */ import_react228.default.createElement(Container, { name: COMPONENT_NAME7, ref: containerRef }, /* @__PURE__ */ import_react228.default.createElement(ProfitAndLoss, null, /* @__PURE__ */ import_react228.default.createElement(ProfitAndLossPanel, __spreadValues({ containerRef }, props))));
|
|
19297
19546
|
};
|
|
19298
19547
|
var ProfitAndLossPanel = (_a) => {
|
|
19299
19548
|
var _b = _a, {
|
|
@@ -19303,11 +19552,11 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
19303
19552
|
"containerRef",
|
|
19304
19553
|
"stringOverrides"
|
|
19305
19554
|
]);
|
|
19306
|
-
const { sidebarScope } = (0,
|
|
19307
|
-
return /* @__PURE__ */
|
|
19555
|
+
const { sidebarScope } = (0, import_react228.useContext)(ProfitAndLoss.Context);
|
|
19556
|
+
return /* @__PURE__ */ import_react228.default.createElement(
|
|
19308
19557
|
Panel,
|
|
19309
19558
|
{
|
|
19310
|
-
sidebar: /* @__PURE__ */
|
|
19559
|
+
sidebar: /* @__PURE__ */ import_react228.default.createElement(
|
|
19311
19560
|
ProfitAndLossDetailedCharts,
|
|
19312
19561
|
{
|
|
19313
19562
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossDetailedCharts
|
|
@@ -19316,7 +19565,7 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
19316
19565
|
sidebarIsOpen: Boolean(sidebarScope),
|
|
19317
19566
|
parentRef: containerRef
|
|
19318
19567
|
},
|
|
19319
|
-
/* @__PURE__ */
|
|
19568
|
+
/* @__PURE__ */ import_react228.default.createElement(
|
|
19320
19569
|
ProfitAndLoss.Header,
|
|
19321
19570
|
{
|
|
19322
19571
|
text: (stringOverrides == null ? void 0 : stringOverrides.header) || "Profit & Loss",
|
|
@@ -19324,7 +19573,7 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
19324
19573
|
headingClassName: "Layer__profit-and-loss__title"
|
|
19325
19574
|
}
|
|
19326
19575
|
),
|
|
19327
|
-
/* @__PURE__ */
|
|
19576
|
+
/* @__PURE__ */ import_react228.default.createElement(Components, __spreadValues({ stringOverrides }, props))
|
|
19328
19577
|
);
|
|
19329
19578
|
};
|
|
19330
19579
|
var Components = ({
|
|
@@ -19332,11 +19581,11 @@ var Components = ({
|
|
|
19332
19581
|
hideTable = false,
|
|
19333
19582
|
stringOverrides
|
|
19334
19583
|
}) => {
|
|
19335
|
-
const { error, isLoading, isValidating, refetch } = (0,
|
|
19584
|
+
const { error, isLoading, isValidating, refetch } = (0, import_react228.useContext)(
|
|
19336
19585
|
ProfitAndLoss.Context
|
|
19337
19586
|
);
|
|
19338
19587
|
if (!isLoading && error) {
|
|
19339
|
-
return /* @__PURE__ */
|
|
19588
|
+
return /* @__PURE__ */ import_react228.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react228.default.createElement(
|
|
19340
19589
|
DataState,
|
|
19341
19590
|
{
|
|
19342
19591
|
status: "failed" /* failed */,
|
|
@@ -19347,26 +19596,26 @@ var Components = ({
|
|
|
19347
19596
|
}
|
|
19348
19597
|
));
|
|
19349
19598
|
}
|
|
19350
|
-
return /* @__PURE__ */
|
|
19599
|
+
return /* @__PURE__ */ import_react228.default.createElement(import_react228.default.Fragment, null, !hideChart && /* @__PURE__ */ import_react228.default.createElement("div", { className: `Layer__${COMPONENT_NAME7}__chart_with_summaries` }, /* @__PURE__ */ import_react228.default.createElement(
|
|
19351
19600
|
"div",
|
|
19352
19601
|
{
|
|
19353
19602
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__summary-col`
|
|
19354
19603
|
},
|
|
19355
|
-
/* @__PURE__ */
|
|
19356
|
-
/* @__PURE__ */
|
|
19604
|
+
/* @__PURE__ */ import_react228.default.createElement(ProfitAndLoss.DatePicker, null),
|
|
19605
|
+
/* @__PURE__ */ import_react228.default.createElement(
|
|
19357
19606
|
ProfitAndLoss.Summaries,
|
|
19358
19607
|
{
|
|
19359
19608
|
actionable: true,
|
|
19360
19609
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossSummaries
|
|
19361
19610
|
}
|
|
19362
19611
|
)
|
|
19363
|
-
), /* @__PURE__ */
|
|
19612
|
+
), /* @__PURE__ */ import_react228.default.createElement(
|
|
19364
19613
|
"div",
|
|
19365
19614
|
{
|
|
19366
19615
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__chart-col`
|
|
19367
19616
|
},
|
|
19368
|
-
/* @__PURE__ */
|
|
19369
|
-
)), !hideTable && /* @__PURE__ */
|
|
19617
|
+
/* @__PURE__ */ import_react228.default.createElement(ProfitAndLoss.Chart, null)
|
|
19618
|
+
)), !hideTable && /* @__PURE__ */ import_react228.default.createElement(
|
|
19370
19619
|
ProfitAndLoss.Table,
|
|
19371
19620
|
{
|
|
19372
19621
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossTable
|