@layerfi/components 0.1.82 → 0.1.84-alpha
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 +624 -423
- package/dist/esm/index.mjs +539 -338
- package/dist/index.css +1 -1
- package/dist/index.d.ts +86 -1
- package/package.json +7 -2
- package/dist/esm/index.mjs.map +0 -7
- package/dist/index.css.map +0 -7
- package/eslint.config.mjs +0 -100
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.84-alpha";
|
|
119
119
|
|
|
120
120
|
// src/models/APIError.ts
|
|
121
121
|
var APIError = class _APIError extends Error {
|
|
@@ -354,6 +354,9 @@ var getLedgerAccountsLines = get(
|
|
|
354
354
|
var getLedgerAccountsEntry = get(
|
|
355
355
|
({ businessId, entryId }) => `/v1/businesses/${businessId}/ledger/entries/${entryId}`
|
|
356
356
|
);
|
|
357
|
+
var getLedgerAccountBalancesCSV = get(
|
|
358
|
+
({ businessId }) => `/v1/businesses/${businessId}/ledger/balances/exports/csv`
|
|
359
|
+
);
|
|
357
360
|
|
|
358
361
|
// src/api/layer/journal.ts
|
|
359
362
|
var getJournal = get(
|
|
@@ -365,6 +368,9 @@ var createJournalEntries = post(
|
|
|
365
368
|
var reverseJournalEntry = post(
|
|
366
369
|
({ businessId, entryId }) => `/v1/businesses/${businessId}/ledger/entries/${entryId}/reverse`
|
|
367
370
|
);
|
|
371
|
+
var getJournalEntriesCSV = get(
|
|
372
|
+
({ businessId }) => `/v1/businesses/${businessId}/ledger/entries/exports/csv`
|
|
373
|
+
);
|
|
368
374
|
|
|
369
375
|
// src/api/layer/linked_accounts.ts
|
|
370
376
|
var syncConnection = post(({ businessId }) => `/v1/businesses/${businessId}/sync`);
|
|
@@ -507,6 +513,7 @@ var Layer = {
|
|
|
507
513
|
getCategories,
|
|
508
514
|
getChartOfAccounts,
|
|
509
515
|
getLedgerAccountBalances,
|
|
516
|
+
getLedgerAccountBalancesCSV,
|
|
510
517
|
getLedgerAccountsLines,
|
|
511
518
|
getLedgerAccountsEntry,
|
|
512
519
|
getProfitAndLoss,
|
|
@@ -514,6 +521,7 @@ var Layer = {
|
|
|
514
521
|
getProfitAndLossCsv,
|
|
515
522
|
getLinkedAccounts,
|
|
516
523
|
getJournal,
|
|
524
|
+
getJournalEntriesCSV,
|
|
517
525
|
reverseJournalEntry,
|
|
518
526
|
compareProfitAndLoss,
|
|
519
527
|
profitAndLossComparisonCsv,
|
|
@@ -11816,6 +11824,9 @@ var Indicator = ({
|
|
|
11816
11824
|
setCustomCursorSize,
|
|
11817
11825
|
viewBox = {}
|
|
11818
11826
|
}) => {
|
|
11827
|
+
if (!(className == null ? void 0 : className.match(/selected/))) {
|
|
11828
|
+
return null;
|
|
11829
|
+
}
|
|
11819
11830
|
const [opacityIndicator, setOpacityIndicator] = (0, import_react133.useState)(0);
|
|
11820
11831
|
const { x: animateTo = 0, width = 0 } = "x" in viewBox ? viewBox : emptyViewBox;
|
|
11821
11832
|
const margin = width > 12 ? 12 : 6;
|
|
@@ -11833,9 +11844,6 @@ var Indicator = ({
|
|
|
11833
11844
|
setOpacityIndicator(1);
|
|
11834
11845
|
}, 200);
|
|
11835
11846
|
}, [animateTo]);
|
|
11836
|
-
if (!(className == null ? void 0 : className.match(/selected/))) {
|
|
11837
|
-
return null;
|
|
11838
|
-
}
|
|
11839
11847
|
const rectRef = (ref) => {
|
|
11840
11848
|
if (ref) {
|
|
11841
11849
|
const refRectWidth = ref.getBoundingClientRect().width;
|
|
@@ -15486,7 +15494,7 @@ var StatementOfCashFlowView = ({
|
|
|
15486
15494
|
};
|
|
15487
15495
|
|
|
15488
15496
|
// src/components/ChartOfAccounts/ChartOfAccounts.tsx
|
|
15489
|
-
var
|
|
15497
|
+
var import_react201 = __toESM(require("react"));
|
|
15490
15498
|
|
|
15491
15499
|
// src/contexts/ChartOfAccountsContext/ChartOfAccountsContext.tsx
|
|
15492
15500
|
var import_react183 = require("react");
|
|
@@ -16129,7 +16137,7 @@ var useLedgerAccounts = (showReversalEntries = false) => {
|
|
|
16129
16137
|
};
|
|
16130
16138
|
|
|
16131
16139
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTableWithPanel.tsx
|
|
16132
|
-
var
|
|
16140
|
+
var import_react193 = __toESM(require("react"));
|
|
16133
16141
|
|
|
16134
16142
|
// src/icons/Plus.tsx
|
|
16135
16143
|
var React188 = __toESM(require("react"));
|
|
@@ -16562,6 +16570,91 @@ var ChartOfAccountsTableContent = ({
|
|
|
16562
16570
|
)));
|
|
16563
16571
|
};
|
|
16564
16572
|
|
|
16573
|
+
// src/components/ChartOfAccounts/download/AccountBalancesDownloadButton.tsx
|
|
16574
|
+
var import_react192 = __toESM(require("react"));
|
|
16575
|
+
|
|
16576
|
+
// src/components/ChartOfAccounts/download/useAccountBalancesDownload.ts
|
|
16577
|
+
var import_mutation4 = __toESM(require("swr/mutation"));
|
|
16578
|
+
function buildKey4({
|
|
16579
|
+
access_token: accessToken,
|
|
16580
|
+
apiUrl,
|
|
16581
|
+
businessId,
|
|
16582
|
+
startCutoff,
|
|
16583
|
+
endCutoff
|
|
16584
|
+
}) {
|
|
16585
|
+
if (accessToken && apiUrl) {
|
|
16586
|
+
return {
|
|
16587
|
+
accessToken,
|
|
16588
|
+
apiUrl,
|
|
16589
|
+
businessId,
|
|
16590
|
+
startCutoff,
|
|
16591
|
+
endCutoff,
|
|
16592
|
+
tags: ["#account-balances", "#exports", "#csv"]
|
|
16593
|
+
};
|
|
16594
|
+
}
|
|
16595
|
+
}
|
|
16596
|
+
function useAccountBalancesDownload({
|
|
16597
|
+
startCutoff,
|
|
16598
|
+
endCutoff,
|
|
16599
|
+
onSuccess
|
|
16600
|
+
}) {
|
|
16601
|
+
const { data: auth } = useAuth();
|
|
16602
|
+
const { businessId } = useLayerContext();
|
|
16603
|
+
return (0, import_mutation4.default)(
|
|
16604
|
+
() => buildKey4(__spreadProps(__spreadValues({}, auth), {
|
|
16605
|
+
businessId,
|
|
16606
|
+
startCutoff,
|
|
16607
|
+
endCutoff
|
|
16608
|
+
})),
|
|
16609
|
+
({ accessToken, apiUrl, businessId: businessId2, startCutoff: startCutoff2, endCutoff: endCutoff2 }) => getLedgerAccountBalancesCSV(
|
|
16610
|
+
apiUrl,
|
|
16611
|
+
accessToken,
|
|
16612
|
+
{
|
|
16613
|
+
params: {
|
|
16614
|
+
businessId: businessId2,
|
|
16615
|
+
startCutoff: startCutoff2 == null ? void 0 : startCutoff2.toISOString(),
|
|
16616
|
+
endCutoff: endCutoff2 == null ? void 0 : endCutoff2.toISOString()
|
|
16617
|
+
}
|
|
16618
|
+
}
|
|
16619
|
+
)().then(({ data }) => {
|
|
16620
|
+
if (onSuccess) {
|
|
16621
|
+
return onSuccess(data);
|
|
16622
|
+
}
|
|
16623
|
+
}),
|
|
16624
|
+
{
|
|
16625
|
+
revalidate: false,
|
|
16626
|
+
throwOnError: false
|
|
16627
|
+
}
|
|
16628
|
+
);
|
|
16629
|
+
}
|
|
16630
|
+
|
|
16631
|
+
// src/components/ChartOfAccounts/download/AccountBalancesDownloadButton.tsx
|
|
16632
|
+
function AccountBalancesDownloadButton({
|
|
16633
|
+
startCutoff,
|
|
16634
|
+
endCutoff,
|
|
16635
|
+
iconOnly
|
|
16636
|
+
}) {
|
|
16637
|
+
const { invisibleDownloadRef, triggerInvisibleDownload } = useInvisibleDownload();
|
|
16638
|
+
const { trigger, isMutating, error } = useAccountBalancesDownload({
|
|
16639
|
+
startCutoff,
|
|
16640
|
+
endCutoff,
|
|
16641
|
+
onSuccess: ({ presignedUrl }) => triggerInvisibleDownload({ url: presignedUrl })
|
|
16642
|
+
});
|
|
16643
|
+
return /* @__PURE__ */ import_react192.default.createElement(import_react192.default.Fragment, null, /* @__PURE__ */ import_react192.default.createElement(
|
|
16644
|
+
DownloadButton,
|
|
16645
|
+
{
|
|
16646
|
+
iconOnly,
|
|
16647
|
+
onClick: () => {
|
|
16648
|
+
trigger();
|
|
16649
|
+
},
|
|
16650
|
+
isDownloading: isMutating,
|
|
16651
|
+
requestFailed: Boolean(error),
|
|
16652
|
+
text: "Download CSV",
|
|
16653
|
+
retryText: "Retry"
|
|
16654
|
+
}
|
|
16655
|
+
), /* @__PURE__ */ import_react192.default.createElement(InvisibleDownload_default, { ref: invisibleDownloadRef }));
|
|
16656
|
+
}
|
|
16657
|
+
|
|
16565
16658
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTableWithPanel.tsx
|
|
16566
16659
|
var COMPONENT_NAME5 = "chart-of-accounts";
|
|
16567
16660
|
var ChartOfAccountsTableWithPanel = ({
|
|
@@ -16570,18 +16663,19 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16570
16663
|
asWidget = false,
|
|
16571
16664
|
withDateControl = false,
|
|
16572
16665
|
withExpandAllButton = false,
|
|
16666
|
+
showAddAccountButton = true,
|
|
16573
16667
|
stringOverrides,
|
|
16574
16668
|
templateAccountsEditable
|
|
16575
16669
|
}) => {
|
|
16576
16670
|
var _a;
|
|
16577
|
-
const { data, isLoading, addAccount, error, isValidating, refetch, form } = (0,
|
|
16578
|
-
const [expandAll, setExpandAll] = (0,
|
|
16671
|
+
const { data, isLoading, addAccount, error, isValidating, refetch, form } = (0, import_react193.useContext)(ChartOfAccountsContext);
|
|
16672
|
+
const [expandAll, setExpandAll] = (0, import_react193.useState)();
|
|
16579
16673
|
const cumulativeIndex = 0;
|
|
16580
16674
|
const accountsLength = (_a = data == null ? void 0 : data.accounts.length) != null ? _a : 0;
|
|
16581
|
-
return /* @__PURE__ */
|
|
16675
|
+
return /* @__PURE__ */ import_react193.default.createElement(
|
|
16582
16676
|
Panel,
|
|
16583
16677
|
{
|
|
16584
|
-
sidebar: /* @__PURE__ */
|
|
16678
|
+
sidebar: /* @__PURE__ */ import_react193.default.createElement(
|
|
16585
16679
|
ChartOfAccountsSidebar,
|
|
16586
16680
|
{
|
|
16587
16681
|
parentRef: containerRef,
|
|
@@ -16591,7 +16685,7 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16591
16685
|
sidebarIsOpen: Boolean(form),
|
|
16592
16686
|
parentRef: containerRef
|
|
16593
16687
|
},
|
|
16594
|
-
/* @__PURE__ */
|
|
16688
|
+
/* @__PURE__ */ import_react193.default.createElement(Header2, { className: `Layer__${COMPONENT_NAME5}__header`, asHeader: true, rounded: true }, /* @__PURE__ */ import_react193.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react193.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react193.default.createElement(
|
|
16595
16689
|
Heading,
|
|
16596
16690
|
{
|
|
16597
16691
|
className: `Layer__${COMPONENT_NAME5}__title`,
|
|
@@ -16599,13 +16693,13 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16599
16693
|
},
|
|
16600
16694
|
(stringOverrides == null ? void 0 : stringOverrides.headerText) || "Chart of Accounts"
|
|
16601
16695
|
)))),
|
|
16602
|
-
/* @__PURE__ */
|
|
16696
|
+
/* @__PURE__ */ import_react193.default.createElement(Header2, { className: `Layer__${COMPONENT_NAME5}__header`, sticky: true }, /* @__PURE__ */ import_react193.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react193.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react193.default.createElement(
|
|
16603
16697
|
Heading,
|
|
16604
16698
|
{
|
|
16605
16699
|
size: "secondary" /* secondary */,
|
|
16606
16700
|
className: `Layer__${COMPONENT_NAME5}__subtitle`
|
|
16607
16701
|
},
|
|
16608
|
-
withDateControl || withExpandAllButton ? /* @__PURE__ */
|
|
16702
|
+
withDateControl || withExpandAllButton ? /* @__PURE__ */ import_react193.default.createElement("div", { className: "Layer__header__actions-col" }, withDateControl && /* @__PURE__ */ import_react193.default.createElement(ChartOfAccountsDatePicker, null), withExpandAllButton && /* @__PURE__ */ import_react193.default.createElement(
|
|
16609
16703
|
ExpandCollapseButton,
|
|
16610
16704
|
{
|
|
16611
16705
|
iconOnly: view === "mobile",
|
|
@@ -16616,17 +16710,22 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16616
16710
|
variant: "secondary" /* secondary */
|
|
16617
16711
|
}
|
|
16618
16712
|
)) : null
|
|
16619
|
-
)), /* @__PURE__ */
|
|
16713
|
+
)), /* @__PURE__ */ import_react193.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react193.default.createElement(
|
|
16714
|
+
AccountBalancesDownloadButton,
|
|
16715
|
+
{
|
|
16716
|
+
iconOnly: ["mobile", "tablet"].includes(view)
|
|
16717
|
+
}
|
|
16718
|
+
), showAddAccountButton && /* @__PURE__ */ import_react193.default.createElement(
|
|
16620
16719
|
Button,
|
|
16621
16720
|
{
|
|
16622
16721
|
onClick: () => addAccount(),
|
|
16623
16722
|
disabled: isLoading,
|
|
16624
16723
|
iconOnly: ["mobile", "tablet"].includes(view),
|
|
16625
|
-
leftIcon: ["mobile", "tablet"].includes(view) && /* @__PURE__ */
|
|
16724
|
+
leftIcon: ["mobile", "tablet"].includes(view) && /* @__PURE__ */ import_react193.default.createElement(Plus_default, { size: 14 })
|
|
16626
16725
|
},
|
|
16627
16726
|
(stringOverrides == null ? void 0 : stringOverrides.addAccountButtonText) || "Add Account"
|
|
16628
16727
|
)))),
|
|
16629
|
-
data && /* @__PURE__ */
|
|
16728
|
+
data && /* @__PURE__ */ import_react193.default.createElement(
|
|
16630
16729
|
ChartOfAccountsTable,
|
|
16631
16730
|
{
|
|
16632
16731
|
view,
|
|
@@ -16639,7 +16738,7 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16639
16738
|
templateAccountsEditable
|
|
16640
16739
|
}
|
|
16641
16740
|
),
|
|
16642
|
-
error ? /* @__PURE__ */
|
|
16741
|
+
error ? /* @__PURE__ */ import_react193.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react193.default.createElement(
|
|
16643
16742
|
DataState,
|
|
16644
16743
|
{
|
|
16645
16744
|
status: "failed" /* failed */,
|
|
@@ -16649,8 +16748,8 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16649
16748
|
isLoading: isValidating || isLoading
|
|
16650
16749
|
}
|
|
16651
16750
|
)) : null,
|
|
16652
|
-
(!data || isLoading) && !error ? /* @__PURE__ */
|
|
16653
|
-
!isLoading && !error && (data == null ? void 0 : data.accounts.length) === 0 ? /* @__PURE__ */
|
|
16751
|
+
(!data || isLoading) && !error ? /* @__PURE__ */ import_react193.default.createElement("div", { className: `Layer__${COMPONENT_NAME5}__loader-container` }, /* @__PURE__ */ import_react193.default.createElement(Loader2, null)) : null,
|
|
16752
|
+
!isLoading && !error && (data == null ? void 0 : data.accounts.length) === 0 ? /* @__PURE__ */ import_react193.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react193.default.createElement(
|
|
16654
16753
|
DataState,
|
|
16655
16754
|
{
|
|
16656
16755
|
status: "info" /* info */,
|
|
@@ -16664,10 +16763,10 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
16664
16763
|
};
|
|
16665
16764
|
|
|
16666
16765
|
// src/components/LedgerAccount/LedgerAccountIndex.tsx
|
|
16667
|
-
var
|
|
16766
|
+
var import_react200 = __toESM(require("react"));
|
|
16668
16767
|
|
|
16669
16768
|
// src/components/LedgerAccountEntryDetails/LedgerAccountEntryDetails.tsx
|
|
16670
|
-
var
|
|
16769
|
+
var import_react198 = __toESM(require("react"));
|
|
16671
16770
|
|
|
16672
16771
|
// src/utils/journal.ts
|
|
16673
16772
|
var getAccountIdentifierPayload = (journalLineItem) => {
|
|
@@ -16691,14 +16790,14 @@ var entryNumber = (entry) => {
|
|
|
16691
16790
|
};
|
|
16692
16791
|
|
|
16693
16792
|
// src/components/Card/Card.tsx
|
|
16694
|
-
var
|
|
16793
|
+
var import_react194 = __toESM(require("react"));
|
|
16695
16794
|
var import_classnames63 = __toESM(require("classnames"));
|
|
16696
16795
|
var Card = ({ children, className }) => {
|
|
16697
|
-
return /* @__PURE__ */
|
|
16796
|
+
return /* @__PURE__ */ import_react194.default.createElement("div", { className: (0, import_classnames63.default)("Layer__card", className) }, children);
|
|
16698
16797
|
};
|
|
16699
16798
|
|
|
16700
16799
|
// src/components/DateTime/DateTime.tsx
|
|
16701
|
-
var
|
|
16800
|
+
var import_react195 = __toESM(require("react"));
|
|
16702
16801
|
var import_date_fns33 = require("date-fns");
|
|
16703
16802
|
var DateTime = ({
|
|
16704
16803
|
value,
|
|
@@ -16709,11 +16808,11 @@ var DateTime = ({
|
|
|
16709
16808
|
onlyTime
|
|
16710
16809
|
}) => {
|
|
16711
16810
|
if (format9) {
|
|
16712
|
-
return /* @__PURE__ */
|
|
16811
|
+
return /* @__PURE__ */ import_react195.default.createElement(Text, { className: "Layer__datetime" }, (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(value), format9));
|
|
16713
16812
|
}
|
|
16714
16813
|
const date = (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(value), dateFormat != null ? dateFormat : DATE_FORMAT);
|
|
16715
16814
|
const time = (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(value), timeFormat != null ? timeFormat : TIME_FORMAT);
|
|
16716
|
-
return /* @__PURE__ */
|
|
16815
|
+
return /* @__PURE__ */ import_react195.default.createElement(Text, { className: "Layer__datetime" }, !onlyTime && /* @__PURE__ */ import_react195.default.createElement(
|
|
16717
16816
|
Text,
|
|
16718
16817
|
{
|
|
16719
16818
|
as: "span",
|
|
@@ -16722,7 +16821,7 @@ var DateTime = ({
|
|
|
16722
16821
|
className: "Layer__datetime__date"
|
|
16723
16822
|
},
|
|
16724
16823
|
date
|
|
16725
|
-
), !onlyDate && /* @__PURE__ */
|
|
16824
|
+
), !onlyDate && /* @__PURE__ */ import_react195.default.createElement(
|
|
16726
16825
|
Text,
|
|
16727
16826
|
{
|
|
16728
16827
|
as: "span",
|
|
@@ -16735,7 +16834,7 @@ var DateTime = ({
|
|
|
16735
16834
|
};
|
|
16736
16835
|
|
|
16737
16836
|
// src/components/DetailsList/DetailsList.tsx
|
|
16738
|
-
var
|
|
16837
|
+
var import_react196 = __toESM(require("react"));
|
|
16739
16838
|
var import_classnames64 = __toESM(require("classnames"));
|
|
16740
16839
|
var DetailsList = ({
|
|
16741
16840
|
title,
|
|
@@ -16744,14 +16843,14 @@ var DetailsList = ({
|
|
|
16744
16843
|
titleClassName,
|
|
16745
16844
|
actions
|
|
16746
16845
|
}) => {
|
|
16747
|
-
return /* @__PURE__ */
|
|
16846
|
+
return /* @__PURE__ */ import_react196.default.createElement("div", { className: (0, import_classnames64.default)("Layer__details-list", className) }, title && /* @__PURE__ */ import_react196.default.createElement(Header, { className: titleClassName }, /* @__PURE__ */ import_react196.default.createElement(Heading, { size: "secondary" /* secondary */ }, title), actions && /* @__PURE__ */ import_react196.default.createElement("div", { className: "Layer__details-list__actions" }, actions)), /* @__PURE__ */ import_react196.default.createElement("ul", { className: "Layer__details-list__list" }, children));
|
|
16748
16847
|
};
|
|
16749
16848
|
|
|
16750
16849
|
// src/components/DetailsList/DetailsListItem.tsx
|
|
16751
|
-
var
|
|
16850
|
+
var import_react197 = __toESM(require("react"));
|
|
16752
16851
|
var renderValue = (value) => {
|
|
16753
16852
|
if (typeof value === "string") {
|
|
16754
|
-
return /* @__PURE__ */
|
|
16853
|
+
return /* @__PURE__ */ import_react197.default.createElement(Text, { weight: "bold" /* bold */, size: "sm" /* sm */ }, value);
|
|
16755
16854
|
}
|
|
16756
16855
|
return value;
|
|
16757
16856
|
};
|
|
@@ -16760,7 +16859,7 @@ var DetailsListItem = ({
|
|
|
16760
16859
|
children,
|
|
16761
16860
|
isLoading
|
|
16762
16861
|
}) => {
|
|
16763
|
-
return /* @__PURE__ */
|
|
16862
|
+
return /* @__PURE__ */ import_react197.default.createElement("li", { className: "Layer__details-list-item" }, /* @__PURE__ */ import_react197.default.createElement("label", { className: "Layer__details-list-item__label" }, label), /* @__PURE__ */ import_react197.default.createElement("span", { className: "Layer__details-list-item__value" }, isLoading ? /* @__PURE__ */ import_react197.default.createElement(SkeletonLoader, null) : renderValue(children)));
|
|
16764
16863
|
};
|
|
16765
16864
|
|
|
16766
16865
|
// src/components/LedgerAccountEntryDetails/LedgerAccountEntryDetails.tsx
|
|
@@ -16771,19 +16870,19 @@ var SourceDetailView = ({
|
|
|
16771
16870
|
switch (source.type) {
|
|
16772
16871
|
case "Transaction_Ledger_Entry_Source": {
|
|
16773
16872
|
const transactionSource = source;
|
|
16774
|
-
return /* @__PURE__ */
|
|
16873
|
+
return /* @__PURE__ */ import_react198.default.createElement(import_react198.default.Fragment, null, /* @__PURE__ */ import_react198.default.createElement(
|
|
16775
16874
|
DetailsListItem,
|
|
16776
16875
|
{
|
|
16777
16876
|
label: (stringOverrides == null ? void 0 : stringOverrides.accountNameLabel) || "Account name"
|
|
16778
16877
|
},
|
|
16779
16878
|
transactionSource.account_name
|
|
16780
|
-
), /* @__PURE__ */
|
|
16879
|
+
), /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.dateLabel) || "Date" }, /* @__PURE__ */ import_react198.default.createElement(DateTime, { value: transactionSource.date })), /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(transactionSource.amount)}`), /* @__PURE__ */ import_react198.default.createElement(
|
|
16781
16880
|
DetailsListItem,
|
|
16782
16881
|
{
|
|
16783
16882
|
label: (stringOverrides == null ? void 0 : stringOverrides.directionLabel) || "Direction"
|
|
16784
16883
|
},
|
|
16785
16884
|
transactionSource.direction
|
|
16786
|
-
), /* @__PURE__ */
|
|
16885
|
+
), /* @__PURE__ */ import_react198.default.createElement(
|
|
16787
16886
|
DetailsListItem,
|
|
16788
16887
|
{
|
|
16789
16888
|
label: (stringOverrides == null ? void 0 : stringOverrides.counterpartyLabel) || "Counterparty"
|
|
@@ -16793,23 +16892,23 @@ var SourceDetailView = ({
|
|
|
16793
16892
|
}
|
|
16794
16893
|
case "Invoice_Ledger_Entry_Source": {
|
|
16795
16894
|
const invoiceSource = source;
|
|
16796
|
-
return /* @__PURE__ */
|
|
16895
|
+
return /* @__PURE__ */ import_react198.default.createElement(import_react198.default.Fragment, null, /* @__PURE__ */ import_react198.default.createElement(
|
|
16797
16896
|
DetailsListItem,
|
|
16798
16897
|
{
|
|
16799
16898
|
label: (stringOverrides == null ? void 0 : stringOverrides.invoiceNumberLabel) || "Invoice number"
|
|
16800
16899
|
},
|
|
16801
16900
|
invoiceSource.invoice_number
|
|
16802
|
-
), /* @__PURE__ */
|
|
16901
|
+
), /* @__PURE__ */ import_react198.default.createElement(
|
|
16803
16902
|
DetailsListItem,
|
|
16804
16903
|
{
|
|
16805
16904
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
16806
16905
|
},
|
|
16807
16906
|
invoiceSource.recipient_name
|
|
16808
|
-
), /* @__PURE__ */
|
|
16907
|
+
), /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.dateLabel) || "Date" }, /* @__PURE__ */ import_react198.default.createElement(DateTime, { value: invoiceSource.date })), /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(invoiceSource.amount)}`));
|
|
16809
16908
|
}
|
|
16810
16909
|
case "Manual_Ledger_Entry_Source": {
|
|
16811
16910
|
const manualSource = source;
|
|
16812
|
-
return /* @__PURE__ */
|
|
16911
|
+
return /* @__PURE__ */ import_react198.default.createElement(import_react198.default.Fragment, null, /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.memoLabel) || "Memo" }, manualSource.memo), /* @__PURE__ */ import_react198.default.createElement(
|
|
16813
16912
|
DetailsListItem,
|
|
16814
16913
|
{
|
|
16815
16914
|
label: (stringOverrides == null ? void 0 : stringOverrides.createdByLabel) || "Created by"
|
|
@@ -16819,17 +16918,17 @@ var SourceDetailView = ({
|
|
|
16819
16918
|
}
|
|
16820
16919
|
case "Invoice_Payment_Ledger_Entry_Source": {
|
|
16821
16920
|
const invoicePaymentSource = source;
|
|
16822
|
-
return /* @__PURE__ */
|
|
16921
|
+
return /* @__PURE__ */ import_react198.default.createElement(import_react198.default.Fragment, null, /* @__PURE__ */ import_react198.default.createElement(
|
|
16823
16922
|
DetailsListItem,
|
|
16824
16923
|
{
|
|
16825
16924
|
label: (stringOverrides == null ? void 0 : stringOverrides.invoiceNumberLabel) || "Invoice number"
|
|
16826
16925
|
},
|
|
16827
16926
|
invoicePaymentSource.invoice_number
|
|
16828
|
-
), /* @__PURE__ */
|
|
16927
|
+
), /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(invoicePaymentSource.amount)}`));
|
|
16829
16928
|
}
|
|
16830
16929
|
case "Refund_Ledger_Entry_Source": {
|
|
16831
16930
|
const refundSource = source;
|
|
16832
|
-
return /* @__PURE__ */
|
|
16931
|
+
return /* @__PURE__ */ import_react198.default.createElement(import_react198.default.Fragment, null, /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ import_react198.default.createElement(
|
|
16833
16932
|
DetailsListItem,
|
|
16834
16933
|
{
|
|
16835
16934
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
@@ -16839,7 +16938,7 @@ var SourceDetailView = ({
|
|
|
16839
16938
|
}
|
|
16840
16939
|
case "Refund_Payment_Ledger_Entry_Source": {
|
|
16841
16940
|
const refundSource = source;
|
|
16842
|
-
return /* @__PURE__ */
|
|
16941
|
+
return /* @__PURE__ */ import_react198.default.createElement(import_react198.default.Fragment, null, /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ import_react198.default.createElement(
|
|
16843
16942
|
DetailsListItem,
|
|
16844
16943
|
{
|
|
16845
16944
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
@@ -16849,7 +16948,7 @@ var SourceDetailView = ({
|
|
|
16849
16948
|
}
|
|
16850
16949
|
case "Opening_Balance_Ledger_Entry_Source": {
|
|
16851
16950
|
const openingBalanceSource = source;
|
|
16852
|
-
return /* @__PURE__ */
|
|
16951
|
+
return /* @__PURE__ */ import_react198.default.createElement(import_react198.default.Fragment, null, /* @__PURE__ */ import_react198.default.createElement(
|
|
16853
16952
|
DetailsListItem,
|
|
16854
16953
|
{
|
|
16855
16954
|
label: (stringOverrides == null ? void 0 : stringOverrides.accountNameLabel) || "Account name"
|
|
@@ -16859,7 +16958,7 @@ var SourceDetailView = ({
|
|
|
16859
16958
|
}
|
|
16860
16959
|
case "Payout_Ledger_Entry_Source": {
|
|
16861
16960
|
const payoutSource = source;
|
|
16862
|
-
return /* @__PURE__ */
|
|
16961
|
+
return /* @__PURE__ */ import_react198.default.createElement(import_react198.default.Fragment, null, /* @__PURE__ */ import_react198.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(payoutSource.paid_out_amount)}`), /* @__PURE__ */ import_react198.default.createElement(
|
|
16863
16962
|
DetailsListItem,
|
|
16864
16963
|
{
|
|
16865
16964
|
label: (stringOverrides == null ? void 0 : stringOverrides.processorLabel) || "Processor"
|
|
@@ -16875,8 +16974,8 @@ var LedgerAccountEntryDetails = ({
|
|
|
16875
16974
|
stringOverrides
|
|
16876
16975
|
}) => {
|
|
16877
16976
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
16878
|
-
const { entryData, isLoadingEntry, closeSelectedEntry, errorEntry } = (0,
|
|
16879
|
-
const { totalDebit, totalCredit } = (0,
|
|
16977
|
+
const { entryData, isLoadingEntry, closeSelectedEntry, errorEntry } = (0, import_react198.useContext)(LedgerAccountsContext);
|
|
16978
|
+
const { totalDebit, totalCredit } = (0, import_react198.useMemo)(() => {
|
|
16880
16979
|
var _a2;
|
|
16881
16980
|
let totalDebit2 = 0;
|
|
16882
16981
|
let totalCredit2 = 0;
|
|
@@ -16889,15 +16988,15 @@ var LedgerAccountEntryDetails = ({
|
|
|
16889
16988
|
});
|
|
16890
16989
|
return { totalDebit: totalDebit2, totalCredit: totalCredit2 };
|
|
16891
16990
|
}, [entryData]);
|
|
16892
|
-
return /* @__PURE__ */
|
|
16991
|
+
return /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__ledger-account__entry-details" }, /* @__PURE__ */ import_react198.default.createElement(Header2, { className: "Layer__ledger-account__entry-details__header" }, /* @__PURE__ */ import_react198.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react198.default.createElement(HeaderCol, { className: "Layer__hidden-lg Layer__hidden-xl" }, /* @__PURE__ */ import_react198.default.createElement(BackButton, { onClick: closeSelectedEntry }), /* @__PURE__ */ import_react198.default.createElement(Heading, { size: "secondary" /* secondary */ }, (stringOverrides == null ? void 0 : stringOverrides.title) || "Transaction details")), /* @__PURE__ */ import_react198.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react198.default.createElement(Heading, { size: "secondary" /* secondary */ }, ((_a = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _a.header) || "Transaction source")), /* @__PURE__ */ import_react198.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react198.default.createElement(CloseButton, { onClick: closeSelectedEntry })))), /* @__PURE__ */ import_react198.default.createElement(
|
|
16893
16992
|
DetailsList,
|
|
16894
16993
|
{
|
|
16895
16994
|
title: ((_b = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _b.header) || "Transaction source",
|
|
16896
16995
|
titleClassName: "Layer__hidden-lg Layer__hidden-xl",
|
|
16897
|
-
actions: /* @__PURE__ */
|
|
16996
|
+
actions: /* @__PURE__ */ import_react198.default.createElement(
|
|
16898
16997
|
Button,
|
|
16899
16998
|
{
|
|
16900
|
-
rightIcon: /* @__PURE__ */
|
|
16999
|
+
rightIcon: /* @__PURE__ */ import_react198.default.createElement(X_default, null),
|
|
16901
17000
|
iconOnly: true,
|
|
16902
17001
|
onClick: closeSelectedEntry,
|
|
16903
17002
|
variant: "secondary" /* secondary */,
|
|
@@ -16905,16 +17004,16 @@ var LedgerAccountEntryDetails = ({
|
|
|
16905
17004
|
}
|
|
16906
17005
|
)
|
|
16907
17006
|
},
|
|
16908
|
-
/* @__PURE__ */
|
|
17007
|
+
/* @__PURE__ */ import_react198.default.createElement(
|
|
16909
17008
|
DetailsListItem,
|
|
16910
17009
|
{
|
|
16911
17010
|
label: ((_d = (_c = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _c.details) == null ? void 0 : _d.sourceLabel) || "Source",
|
|
16912
17011
|
isLoading: isLoadingEntry
|
|
16913
17012
|
},
|
|
16914
|
-
/* @__PURE__ */
|
|
17013
|
+
/* @__PURE__ */ import_react198.default.createElement(Badge, null, (_e = entryData == null ? void 0 : entryData.source) == null ? void 0 : _e.entity_name)
|
|
16915
17014
|
),
|
|
16916
|
-
((_f = entryData == null ? void 0 : entryData.source) == null ? void 0 : _f.display_description) && /* @__PURE__ */
|
|
16917
|
-
), /* @__PURE__ */
|
|
17015
|
+
((_f = entryData == null ? void 0 : entryData.source) == null ? void 0 : _f.display_description) && /* @__PURE__ */ import_react198.default.createElement(SourceDetailView, { source: entryData == null ? void 0 : entryData.source })
|
|
17016
|
+
), /* @__PURE__ */ import_react198.default.createElement(
|
|
16918
17017
|
DetailsList,
|
|
16919
17018
|
{
|
|
16920
17019
|
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(
|
|
@@ -16922,7 +17021,7 @@ var LedgerAccountEntryDetails = ({
|
|
|
16922
17021
|
) : `Journal Entry ${entryData ? entryNumber(entryData) : ""}`,
|
|
16923
17022
|
className: "Layer__border-top"
|
|
16924
17023
|
},
|
|
16925
|
-
/* @__PURE__ */
|
|
17024
|
+
/* @__PURE__ */ import_react198.default.createElement(
|
|
16926
17025
|
DetailsListItem,
|
|
16927
17026
|
{
|
|
16928
17027
|
label: ((_j = (_i = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _i.details) == null ? void 0 : _j.entryTypeLabel) || "Entry type",
|
|
@@ -16930,23 +17029,23 @@ var LedgerAccountEntryDetails = ({
|
|
|
16930
17029
|
},
|
|
16931
17030
|
humanizeEnum((_k = entryData == null ? void 0 : entryData.entry_type) != null ? _k : "")
|
|
16932
17031
|
),
|
|
16933
|
-
/* @__PURE__ */
|
|
17032
|
+
/* @__PURE__ */ import_react198.default.createElement(
|
|
16934
17033
|
DetailsListItem,
|
|
16935
17034
|
{
|
|
16936
17035
|
label: ((_m = (_l = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _l.details) == null ? void 0 : _m.dateLabel) || "Date",
|
|
16937
17036
|
isLoading: isLoadingEntry
|
|
16938
17037
|
},
|
|
16939
|
-
(entryData == null ? void 0 : entryData.entry_at) && /* @__PURE__ */
|
|
17038
|
+
(entryData == null ? void 0 : entryData.entry_at) && /* @__PURE__ */ import_react198.default.createElement(DateTime, { value: entryData == null ? void 0 : entryData.entry_at })
|
|
16940
17039
|
),
|
|
16941
|
-
/* @__PURE__ */
|
|
17040
|
+
/* @__PURE__ */ import_react198.default.createElement(
|
|
16942
17041
|
DetailsListItem,
|
|
16943
17042
|
{
|
|
16944
17043
|
label: ((_o = (_n = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _n.details) == null ? void 0 : _o.creationDateLabel) || "Creation date",
|
|
16945
17044
|
isLoading: isLoadingEntry
|
|
16946
17045
|
},
|
|
16947
|
-
(entryData == null ? void 0 : entryData.date) && /* @__PURE__ */
|
|
17046
|
+
(entryData == null ? void 0 : entryData.date) && /* @__PURE__ */ import_react198.default.createElement(DateTime, { value: entryData == null ? void 0 : entryData.date })
|
|
16948
17047
|
),
|
|
16949
|
-
(entryData == null ? void 0 : entryData.reversal_id) && /* @__PURE__ */
|
|
17048
|
+
(entryData == null ? void 0 : entryData.reversal_id) && /* @__PURE__ */ import_react198.default.createElement(
|
|
16950
17049
|
DetailsListItem,
|
|
16951
17050
|
{
|
|
16952
17051
|
label: ((_q = (_p = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _p.details) == null ? void 0 : _q.reversalLabel) || "Reversal",
|
|
@@ -16954,40 +17053,40 @@ var LedgerAccountEntryDetails = ({
|
|
|
16954
17053
|
},
|
|
16955
17054
|
entryData == null ? void 0 : entryData.reversal_id.substring(0, 5)
|
|
16956
17055
|
)
|
|
16957
|
-
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */
|
|
17056
|
+
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__ledger-account__entry-details__line-items" }, /* @__PURE__ */ import_react198.default.createElement(Card, null, /* @__PURE__ */ import_react198.default.createElement(
|
|
16958
17057
|
Table,
|
|
16959
17058
|
{
|
|
16960
17059
|
componentName: "ledger-account__entry-details",
|
|
16961
17060
|
borderCollapse: "collapse"
|
|
16962
17061
|
},
|
|
16963
|
-
/* @__PURE__ */
|
|
16964
|
-
/* @__PURE__ */
|
|
17062
|
+
/* @__PURE__ */ import_react198.default.createElement(TableHead, null, /* @__PURE__ */ import_react198.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react198.default.createElement(TableCell, null, ((_r = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _r.lineItemsColumnHeader) || "Line items"), /* @__PURE__ */ import_react198.default.createElement(TableCell, { align: "right" /* RIGHT */ }, ((_s = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _s.debitColumnHeader) || "Debit"), /* @__PURE__ */ import_react198.default.createElement(TableCell, { align: "right" /* RIGHT */ }, ((_t = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _t.creditColumnHeader) || "Credit"))),
|
|
17063
|
+
/* @__PURE__ */ import_react198.default.createElement(TableBody, null, (_u = entryData == null ? void 0 : entryData.line_items) == null ? void 0 : _u.map((item, index) => {
|
|
16965
17064
|
var _a2;
|
|
16966
|
-
return /* @__PURE__ */
|
|
17065
|
+
return /* @__PURE__ */ import_react198.default.createElement(
|
|
16967
17066
|
TableRow,
|
|
16968
17067
|
{
|
|
16969
17068
|
key: `ledger-line-item-${index}`,
|
|
16970
17069
|
rowKey: `ledger-line-item-${index}`
|
|
16971
17070
|
},
|
|
16972
|
-
/* @__PURE__ */
|
|
16973
|
-
/* @__PURE__ */
|
|
16974
|
-
/* @__PURE__ */
|
|
17071
|
+
/* @__PURE__ */ import_react198.default.createElement(TableCell, null, ((_a2 = item.account) == null ? void 0 : _a2.name) || ""),
|
|
17072
|
+
/* @__PURE__ */ import_react198.default.createElement(TableCell, { align: "right" /* RIGHT */ }, item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */ import_react198.default.createElement(Badge, { variant: "warning" /* WARNING */ }, "$", centsToDollars(item.amount || 0))),
|
|
17073
|
+
/* @__PURE__ */ import_react198.default.createElement(TableCell, { align: "right" /* RIGHT */ }, item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */ import_react198.default.createElement(Badge, { variant: "success" /* SUCCESS */ }, "$", centsToDollars(item.amount || 0)))
|
|
16975
17074
|
);
|
|
16976
|
-
}), /* @__PURE__ */
|
|
17075
|
+
}), /* @__PURE__ */ import_react198.default.createElement(
|
|
16977
17076
|
TableRow,
|
|
16978
17077
|
{
|
|
16979
17078
|
rowKey: "ledger-line-item-summation",
|
|
16980
17079
|
variant: "summation"
|
|
16981
17080
|
},
|
|
16982
|
-
/* @__PURE__ */
|
|
16983
|
-
/* @__PURE__ */
|
|
16984
|
-
/* @__PURE__ */
|
|
17081
|
+
/* @__PURE__ */ import_react198.default.createElement(TableCell, { primary: true }, ((_v = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _v.totalRowHeader) || "Total"),
|
|
17082
|
+
/* @__PURE__ */ import_react198.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, totalDebit || 0),
|
|
17083
|
+
/* @__PURE__ */ import_react198.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, totalCredit || 0)
|
|
16985
17084
|
))
|
|
16986
17085
|
))) : null);
|
|
16987
17086
|
};
|
|
16988
17087
|
|
|
16989
17088
|
// src/components/LedgerAccount/LedgerAccountRow.tsx
|
|
16990
|
-
var
|
|
17089
|
+
var import_react199 = __toESM(require("react"));
|
|
16991
17090
|
var import_classnames65 = __toESM(require("classnames"));
|
|
16992
17091
|
var import_date_fns34 = require("date-fns");
|
|
16993
17092
|
var LedgerAccountRow = ({
|
|
@@ -16997,9 +17096,9 @@ var LedgerAccountRow = ({
|
|
|
16997
17096
|
view
|
|
16998
17097
|
}) => {
|
|
16999
17098
|
var _a, _b, _c, _d, _e, _f;
|
|
17000
|
-
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0,
|
|
17001
|
-
const [showComponent, setShowComponent] = (0,
|
|
17002
|
-
(0,
|
|
17099
|
+
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0, import_react199.useContext)(LedgerAccountsContext);
|
|
17100
|
+
const [showComponent, setShowComponent] = (0, import_react199.useState)(false);
|
|
17101
|
+
(0, import_react199.useEffect)(() => {
|
|
17003
17102
|
if (initialLoad) {
|
|
17004
17103
|
const timeoutId = setTimeout(() => {
|
|
17005
17104
|
setShowComponent(true);
|
|
@@ -17010,7 +17109,7 @@ var LedgerAccountRow = ({
|
|
|
17010
17109
|
}
|
|
17011
17110
|
}, []);
|
|
17012
17111
|
if (view === "tablet") {
|
|
17013
|
-
return /* @__PURE__ */
|
|
17112
|
+
return /* @__PURE__ */ import_react199.default.createElement(
|
|
17014
17113
|
"tr",
|
|
17015
17114
|
{
|
|
17016
17115
|
className: (0, import_classnames65.default)(
|
|
@@ -17029,21 +17128,21 @@ var LedgerAccountRow = ({
|
|
|
17029
17128
|
}
|
|
17030
17129
|
}
|
|
17031
17130
|
},
|
|
17032
|
-
/* @__PURE__ */
|
|
17131
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell Layer__ledger-account-table__tablet-main-col" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content" }, /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__ledger-account-table__tablet-main-col__date" }, /* @__PURE__ */ import_react199.default.createElement(Text, null, row.date && (0, import_date_fns34.format)((0, import_date_fns34.parseISO)(row.date), DATE_FORMAT)), /* @__PURE__ */ import_react199.default.createElement(
|
|
17033
17132
|
Text,
|
|
17034
17133
|
{
|
|
17035
17134
|
weight: "normal" /* normal */,
|
|
17036
17135
|
className: "Layer__ledger_account-table__journal-id"
|
|
17037
17136
|
},
|
|
17038
17137
|
entryNumber(row)
|
|
17039
|
-
)), /* @__PURE__ */
|
|
17040
|
-
/* @__PURE__ */
|
|
17041
|
-
/* @__PURE__ */
|
|
17042
|
-
/* @__PURE__ */
|
|
17138
|
+
)), /* @__PURE__ */ import_react199.default.createElement(Text, null, (_b = (_a = row.source) == null ? void 0 : _a.display_description) != null ? _b : ""))),
|
|
17139
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "DEBIT" /* DEBIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
17140
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "CREDIT" /* CREDIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
17141
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, `$${centsToDollars(row.running_balance)}`))
|
|
17043
17142
|
);
|
|
17044
17143
|
}
|
|
17045
17144
|
if (view === "mobile") {
|
|
17046
|
-
return /* @__PURE__ */
|
|
17145
|
+
return /* @__PURE__ */ import_react199.default.createElement(
|
|
17047
17146
|
"tr",
|
|
17048
17147
|
{
|
|
17049
17148
|
className: (0, import_classnames65.default)(
|
|
@@ -17062,17 +17161,17 @@ var LedgerAccountRow = ({
|
|
|
17062
17161
|
}
|
|
17063
17162
|
}
|
|
17064
17163
|
},
|
|
17065
|
-
/* @__PURE__ */
|
|
17164
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell Layer__ledger-account-table__tablet-main-col" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content" }, /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__ledger-account-table__tablet-main-col__date" }, /* @__PURE__ */ import_react199.default.createElement(Text, null, row.date && (0, import_date_fns34.format)((0, import_date_fns34.parseISO)(row.date), DATE_FORMAT)), /* @__PURE__ */ import_react199.default.createElement(
|
|
17066
17165
|
Text,
|
|
17067
17166
|
{
|
|
17068
17167
|
weight: "normal" /* normal */,
|
|
17069
17168
|
className: "Layer__ledger_account-table__journal-id"
|
|
17070
17169
|
},
|
|
17071
17170
|
entryNumber(row)
|
|
17072
|
-
)), /* @__PURE__ */
|
|
17171
|
+
)), /* @__PURE__ */ import_react199.default.createElement(Text, null, (_d = (_c = row.source) == null ? void 0 : _c.display_description) != null ? _d : ""), /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__ledger_account-table__balances-mobile" }, /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Debit"), /* @__PURE__ */ import_react199.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_react199.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Credit"), /* @__PURE__ */ import_react199.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_react199.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Running balance"), /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__value" }, `$${centsToDollars(row.running_balance)}`)))))
|
|
17073
17172
|
);
|
|
17074
17173
|
}
|
|
17075
|
-
return /* @__PURE__ */
|
|
17174
|
+
return /* @__PURE__ */ import_react199.default.createElement(
|
|
17076
17175
|
"tr",
|
|
17077
17176
|
{
|
|
17078
17177
|
className: (0, import_classnames65.default)(
|
|
@@ -17091,12 +17190,12 @@ var LedgerAccountRow = ({
|
|
|
17091
17190
|
}
|
|
17092
17191
|
}
|
|
17093
17192
|
},
|
|
17094
|
-
/* @__PURE__ */
|
|
17095
|
-
/* @__PURE__ */
|
|
17096
|
-
/* @__PURE__ */
|
|
17097
|
-
/* @__PURE__ */
|
|
17098
|
-
/* @__PURE__ */
|
|
17099
|
-
/* @__PURE__ */
|
|
17193
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content" }, row.date && (0, import_date_fns34.format)((0, import_date_fns34.parseISO)(row.date), DATE_FORMAT))),
|
|
17194
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content" }, entryNumber(row))),
|
|
17195
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content" }, (_f = (_e = row.source) == null ? void 0 : _e.display_description) != null ? _f : "")),
|
|
17196
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "DEBIT" /* DEBIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
17197
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "CREDIT" /* CREDIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
17198
|
+
/* @__PURE__ */ import_react199.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react199.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, `$${centsToDollars(row.running_balance)}`))
|
|
17100
17199
|
);
|
|
17101
17200
|
};
|
|
17102
17201
|
|
|
@@ -17109,9 +17208,9 @@ var LedgerAccount = ({
|
|
|
17109
17208
|
stringOverrides
|
|
17110
17209
|
}) => {
|
|
17111
17210
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
17112
|
-
const [currentPage, setCurrentPage] = (0,
|
|
17113
|
-
const [initialLoad, setInitialLoad] = (0,
|
|
17114
|
-
const { data: accountData } = (0,
|
|
17211
|
+
const [currentPage, setCurrentPage] = (0, import_react200.useState)(1);
|
|
17212
|
+
const [initialLoad, setInitialLoad] = (0, import_react200.useState)(true);
|
|
17213
|
+
const { data: accountData } = (0, import_react200.useContext)(ChartOfAccountsContext);
|
|
17115
17214
|
const {
|
|
17116
17215
|
data: rawData,
|
|
17117
17216
|
error,
|
|
@@ -17122,8 +17221,8 @@ var LedgerAccount = ({
|
|
|
17122
17221
|
selectedEntryId,
|
|
17123
17222
|
closeSelectedEntry,
|
|
17124
17223
|
refetch
|
|
17125
|
-
} = (0,
|
|
17126
|
-
(0,
|
|
17224
|
+
} = (0, import_react200.useContext)(LedgerAccountsContext);
|
|
17225
|
+
(0, import_react200.useEffect)(() => {
|
|
17127
17226
|
if (!isLoading) {
|
|
17128
17227
|
const timeoutLoad = setTimeout(() => {
|
|
17129
17228
|
setInitialLoad(false);
|
|
@@ -17135,12 +17234,12 @@ var LedgerAccount = ({
|
|
|
17135
17234
|
"Layer__ledger-account__index",
|
|
17136
17235
|
accountId && "open"
|
|
17137
17236
|
);
|
|
17138
|
-
const account = (0,
|
|
17237
|
+
const account = (0, import_react200.useMemo)(() => {
|
|
17139
17238
|
return flattenAccounts((accountData == null ? void 0 : accountData.accounts) || []).find(
|
|
17140
17239
|
(x) => x.id === accountId
|
|
17141
17240
|
);
|
|
17142
17241
|
}, [accountId]);
|
|
17143
|
-
const data = (0,
|
|
17242
|
+
const data = (0, import_react200.useMemo)(() => {
|
|
17144
17243
|
var _a2;
|
|
17145
17244
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
17146
17245
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
@@ -17150,10 +17249,10 @@ var LedgerAccount = ({
|
|
|
17150
17249
|
setAccountId(void 0);
|
|
17151
17250
|
closeSelectedEntry();
|
|
17152
17251
|
};
|
|
17153
|
-
return /* @__PURE__ */
|
|
17252
|
+
return /* @__PURE__ */ import_react200.default.createElement(
|
|
17154
17253
|
Panel,
|
|
17155
17254
|
{
|
|
17156
|
-
sidebar: /* @__PURE__ */
|
|
17255
|
+
sidebar: /* @__PURE__ */ import_react200.default.createElement(
|
|
17157
17256
|
LedgerAccountEntryDetails,
|
|
17158
17257
|
{
|
|
17159
17258
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.ledgerEntryDetail
|
|
@@ -17163,21 +17262,21 @@ var LedgerAccount = ({
|
|
|
17163
17262
|
parentRef: containerRef,
|
|
17164
17263
|
className: "Layer__ledger-account__panel"
|
|
17165
17264
|
},
|
|
17166
|
-
/* @__PURE__ */
|
|
17265
|
+
/* @__PURE__ */ import_react200.default.createElement("div", { className: baseClassName }, /* @__PURE__ */ import_react200.default.createElement(Header2, { className: "Layer__ledger-account__header" }, /* @__PURE__ */ import_react200.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react200.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react200.default.createElement(BackButton, { onClick: close }), /* @__PURE__ */ import_react200.default.createElement("div", { className: "Layer__ledger-account__title-container" }, /* @__PURE__ */ import_react200.default.createElement(
|
|
17167
17266
|
Text,
|
|
17168
17267
|
{
|
|
17169
17268
|
weight: "bold" /* bold */,
|
|
17170
17269
|
className: "Layer__ledger-account__title"
|
|
17171
17270
|
},
|
|
17172
17271
|
(_a = account == null ? void 0 : account.name) != null ? _a : ""
|
|
17173
|
-
), /* @__PURE__ */
|
|
17272
|
+
), /* @__PURE__ */ import_react200.default.createElement("div", { className: "Layer__ledger-account__balance-container" }, /* @__PURE__ */ import_react200.default.createElement(
|
|
17174
17273
|
Text,
|
|
17175
17274
|
{
|
|
17176
17275
|
className: "Layer__ledger-account__balance-label",
|
|
17177
17276
|
size: "sm" /* sm */
|
|
17178
17277
|
},
|
|
17179
17278
|
"Current balance"
|
|
17180
|
-
), /* @__PURE__ */
|
|
17279
|
+
), /* @__PURE__ */ import_react200.default.createElement(
|
|
17181
17280
|
Text,
|
|
17182
17281
|
{
|
|
17183
17282
|
className: "Layer__ledger-account__balance-value",
|
|
@@ -17185,9 +17284,9 @@ var LedgerAccount = ({
|
|
|
17185
17284
|
},
|
|
17186
17285
|
"$",
|
|
17187
17286
|
centsToDollars((account == null ? void 0 : account.balance) || 0)
|
|
17188
|
-
)))))), /* @__PURE__ */
|
|
17287
|
+
)))))), /* @__PURE__ */ import_react200.default.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__ledger-account-table" }, /* @__PURE__ */ import_react200.default.createElement("thead", null, /* @__PURE__ */ import_react200.default.createElement("tr", null, view !== "desktop" && /* @__PURE__ */ import_react200.default.createElement("th", null), view === "desktop" && /* @__PURE__ */ import_react200.default.createElement(import_react200.default.Fragment, null, /* @__PURE__ */ import_react200.default.createElement("th", { className: "Layer__table-header" }, ((_b = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _b.dateColumnHeader) || "Date"), /* @__PURE__ */ import_react200.default.createElement("th", { className: "Layer__table-header" }, ((_c = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _c.journalIdColumnHeader) || "Journal id #"), /* @__PURE__ */ import_react200.default.createElement("th", { className: "Layer__table-header" }, ((_d = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _d.sourceColumnHeader) || "Source")), view !== "mobile" && /* @__PURE__ */ import_react200.default.createElement(import_react200.default.Fragment, null, /* @__PURE__ */ import_react200.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_react200.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_react200.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_react200.default.createElement("tbody", null, (_h = data == null ? void 0 : data.filter(
|
|
17189
17288
|
(entry) => !entry.entry_reversal_of && !entry.entry_reversed_by
|
|
17190
|
-
)) == null ? void 0 : _h.map((x, index) => /* @__PURE__ */
|
|
17289
|
+
)) == null ? void 0 : _h.map((x, index) => /* @__PURE__ */ import_react200.default.createElement(
|
|
17191
17290
|
LedgerAccountRow,
|
|
17192
17291
|
{
|
|
17193
17292
|
key: x.id,
|
|
@@ -17196,7 +17295,7 @@ var LedgerAccount = ({
|
|
|
17196
17295
|
initialLoad,
|
|
17197
17296
|
view
|
|
17198
17297
|
}
|
|
17199
|
-
)))), data && /* @__PURE__ */
|
|
17298
|
+
)))), data && /* @__PURE__ */ import_react200.default.createElement("div", { className: "Layer__ledger-account__pagination" }, /* @__PURE__ */ import_react200.default.createElement(
|
|
17200
17299
|
Pagination,
|
|
17201
17300
|
{
|
|
17202
17301
|
currentPage,
|
|
@@ -17204,7 +17303,7 @@ var LedgerAccount = ({
|
|
|
17204
17303
|
pageSize,
|
|
17205
17304
|
onPageChange: (page) => setCurrentPage(page)
|
|
17206
17305
|
}
|
|
17207
|
-
)), error ? /* @__PURE__ */
|
|
17306
|
+
)), error ? /* @__PURE__ */ import_react200.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react200.default.createElement(
|
|
17208
17307
|
DataState,
|
|
17209
17308
|
{
|
|
17210
17309
|
status: "failed" /* failed */,
|
|
@@ -17213,7 +17312,7 @@ var LedgerAccount = ({
|
|
|
17213
17312
|
onRefresh: () => refetch(),
|
|
17214
17313
|
isLoading: isValidating || isLoading
|
|
17215
17314
|
}
|
|
17216
|
-
)) : null, (!data || isLoading) && !error ? /* @__PURE__ */
|
|
17315
|
+
)) : null, (!data || isLoading) && !error ? /* @__PURE__ */ import_react200.default.createElement("div", { className: "Layer__ledger-account__loader-container" }, /* @__PURE__ */ import_react200.default.createElement(Loader2, null)) : null, !isLoading && !error && (data == null ? void 0 : data.length) === 0 ? /* @__PURE__ */ import_react200.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react200.default.createElement(
|
|
17217
17316
|
DataState,
|
|
17218
17317
|
{
|
|
17219
17318
|
status: "info" /* info */,
|
|
@@ -17234,25 +17333,26 @@ var ChartOfAccounts = (props) => {
|
|
|
17234
17333
|
const ledgerAccountsContextData = useLedgerAccounts(
|
|
17235
17334
|
(_a = props.showReversalEntries) != null ? _a : false
|
|
17236
17335
|
);
|
|
17237
|
-
return /* @__PURE__ */
|
|
17336
|
+
return /* @__PURE__ */ import_react201.default.createElement(ChartOfAccountsContext.Provider, { value: chartOfAccountsContextData }, /* @__PURE__ */ import_react201.default.createElement(LedgerAccountsContext.Provider, { value: ledgerAccountsContextData }, /* @__PURE__ */ import_react201.default.createElement(ChartOfAccountsContent, __spreadValues({}, props))));
|
|
17238
17337
|
};
|
|
17239
17338
|
var ChartOfAccountsContent = ({
|
|
17240
17339
|
asWidget,
|
|
17241
17340
|
withDateControl,
|
|
17242
17341
|
withExpandAllButton,
|
|
17243
17342
|
stringOverrides,
|
|
17244
|
-
templateAccountsEditable
|
|
17343
|
+
templateAccountsEditable,
|
|
17344
|
+
showAddAccountButton
|
|
17245
17345
|
}) => {
|
|
17246
|
-
const { accountId } = (0,
|
|
17346
|
+
const { accountId } = (0, import_react201.useContext)(LedgerAccountsContext);
|
|
17247
17347
|
const { view, containerRef } = useElementViewSize();
|
|
17248
|
-
return /* @__PURE__ */
|
|
17348
|
+
return /* @__PURE__ */ import_react201.default.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ import_react201.default.createElement(
|
|
17249
17349
|
LedgerAccount,
|
|
17250
17350
|
{
|
|
17251
17351
|
view,
|
|
17252
17352
|
containerRef,
|
|
17253
17353
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.ledgerAccount
|
|
17254
17354
|
}
|
|
17255
|
-
) : /* @__PURE__ */
|
|
17355
|
+
) : /* @__PURE__ */ import_react201.default.createElement(
|
|
17256
17356
|
ChartOfAccountsTableWithPanel,
|
|
17257
17357
|
{
|
|
17258
17358
|
asWidget,
|
|
@@ -17260,6 +17360,7 @@ var ChartOfAccountsContent = ({
|
|
|
17260
17360
|
withExpandAllButton,
|
|
17261
17361
|
view,
|
|
17262
17362
|
containerRef,
|
|
17363
|
+
showAddAccountButton,
|
|
17263
17364
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.chartOfAccountsTable,
|
|
17264
17365
|
templateAccountsEditable
|
|
17265
17366
|
}
|
|
@@ -17267,11 +17368,11 @@ var ChartOfAccountsContent = ({
|
|
|
17267
17368
|
};
|
|
17268
17369
|
|
|
17269
17370
|
// src/components/Journal/Journal.tsx
|
|
17270
|
-
var
|
|
17371
|
+
var import_react211 = __toESM(require("react"));
|
|
17271
17372
|
|
|
17272
17373
|
// src/contexts/JournalContext/JournalContext.tsx
|
|
17273
|
-
var
|
|
17274
|
-
var JournalContext = (0,
|
|
17374
|
+
var import_react202 = require("react");
|
|
17375
|
+
var JournalContext = (0, import_react202.createContext)({
|
|
17275
17376
|
data: void 0,
|
|
17276
17377
|
isLoading: false,
|
|
17277
17378
|
error: void 0,
|
|
@@ -17305,7 +17406,7 @@ var JournalContext = (0, import_react201.createContext)({
|
|
|
17305
17406
|
});
|
|
17306
17407
|
|
|
17307
17408
|
// src/hooks/useJournal/useJournal.tsx
|
|
17308
|
-
var
|
|
17409
|
+
var import_react203 = require("react");
|
|
17309
17410
|
var import_swr11 = __toESM(require("swr"));
|
|
17310
17411
|
var useJournal = () => {
|
|
17311
17412
|
const {
|
|
@@ -17317,11 +17418,11 @@ var useJournal = () => {
|
|
|
17317
17418
|
} = useLayerContext();
|
|
17318
17419
|
const { apiUrl } = useEnvironment();
|
|
17319
17420
|
const { data: auth } = useAuth();
|
|
17320
|
-
const [selectedEntryId, setSelectedEntryId] = (0,
|
|
17321
|
-
const [form, setForm] = (0,
|
|
17322
|
-
const [addingEntry, setAddingEntry] = (0,
|
|
17323
|
-
const [sendingForm, setSendingForm] = (0,
|
|
17324
|
-
const [apiError, setApiError] = (0,
|
|
17421
|
+
const [selectedEntryId, setSelectedEntryId] = (0, import_react203.useState)();
|
|
17422
|
+
const [form, setForm] = (0, import_react203.useState)();
|
|
17423
|
+
const [addingEntry, setAddingEntry] = (0, import_react203.useState)(false);
|
|
17424
|
+
const [sendingForm, setSendingForm] = (0, import_react203.useState)(false);
|
|
17425
|
+
const [apiError, setApiError] = (0, import_react203.useState)(void 0);
|
|
17325
17426
|
const queryKey = businessId && (auth == null ? void 0 : auth.access_token) && `journal-lines-${businessId}`;
|
|
17326
17427
|
const { data, isLoading, isValidating, error, mutate } = (0, import_swr11.default)(
|
|
17327
17428
|
queryKey,
|
|
@@ -17537,12 +17638,12 @@ var useJournal = () => {
|
|
|
17537
17638
|
params: { businessId, entryId }
|
|
17538
17639
|
});
|
|
17539
17640
|
});
|
|
17540
|
-
(0,
|
|
17641
|
+
(0, import_react203.useEffect)(() => {
|
|
17541
17642
|
if (queryKey && (isLoading || isValidating)) {
|
|
17542
17643
|
read("JOURNAL" /* JOURNAL */, queryKey);
|
|
17543
17644
|
}
|
|
17544
17645
|
}, [isLoading, isValidating]);
|
|
17545
|
-
(0,
|
|
17646
|
+
(0, import_react203.useEffect)(() => {
|
|
17546
17647
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
17547
17648
|
refetch();
|
|
17548
17649
|
}
|
|
@@ -17574,13 +17675,13 @@ var useJournal = () => {
|
|
|
17574
17675
|
};
|
|
17575
17676
|
|
|
17576
17677
|
// src/components/JournalTable/JournalTableWithPanel.tsx
|
|
17577
|
-
var
|
|
17678
|
+
var import_react210 = __toESM(require("react"));
|
|
17578
17679
|
|
|
17579
17680
|
// src/components/JournalSidebar/JournalSidebar.tsx
|
|
17580
|
-
var
|
|
17681
|
+
var import_react207 = __toESM(require("react"));
|
|
17581
17682
|
|
|
17582
17683
|
// src/components/JournalEntryDetails/JournalEntryDetails.tsx
|
|
17583
|
-
var
|
|
17684
|
+
var import_react204 = __toESM(require("react"));
|
|
17584
17685
|
var JournalEntryDetails = () => {
|
|
17585
17686
|
var _a, _b, _c, _d;
|
|
17586
17687
|
const {
|
|
@@ -17591,16 +17692,16 @@ var JournalEntryDetails = () => {
|
|
|
17591
17692
|
selectedEntryId,
|
|
17592
17693
|
reverseEntry,
|
|
17593
17694
|
refetch
|
|
17594
|
-
} = (0,
|
|
17595
|
-
const [reverseEntryProcessing, setReverseEntryProcessing] = (0,
|
|
17596
|
-
const [reverseEntryError, setReverseEntryError] = (0,
|
|
17597
|
-
const entry = (0,
|
|
17695
|
+
} = (0, import_react204.useContext)(JournalContext);
|
|
17696
|
+
const [reverseEntryProcessing, setReverseEntryProcessing] = (0, import_react204.useState)(false);
|
|
17697
|
+
const [reverseEntryError, setReverseEntryError] = (0, import_react204.useState)();
|
|
17698
|
+
const entry = (0, import_react204.useMemo)(() => {
|
|
17598
17699
|
if (selectedEntryId && data) {
|
|
17599
17700
|
return data.find((x) => x.id === selectedEntryId);
|
|
17600
17701
|
}
|
|
17601
17702
|
return;
|
|
17602
17703
|
}, [data, selectedEntryId]);
|
|
17603
|
-
const sortedLineItems = (0,
|
|
17704
|
+
const sortedLineItems = (0, import_react204.useMemo)(
|
|
17604
17705
|
() => {
|
|
17605
17706
|
var _a2;
|
|
17606
17707
|
return (_a2 = entry == null ? void 0 : entry.line_items) == null ? void 0 : _a2.sort(
|
|
@@ -17624,15 +17725,15 @@ var JournalEntryDetails = () => {
|
|
|
17624
17725
|
setReverseEntryProcessing(false);
|
|
17625
17726
|
}
|
|
17626
17727
|
});
|
|
17627
|
-
return /* @__PURE__ */
|
|
17728
|
+
return /* @__PURE__ */ import_react204.default.createElement("div", { className: "Layer__journal__entry-details" }, /* @__PURE__ */ import_react204.default.createElement(Header2, { className: "Layer__journal__entry-details__mobile-header" }, /* @__PURE__ */ import_react204.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react204.default.createElement(HeaderCol, { className: "Layer__hidden-lg Layer__hidden-xl" }, /* @__PURE__ */ import_react204.default.createElement(BackButton, { onClick: closeSelectedEntry }), /* @__PURE__ */ import_react204.default.createElement(Heading, { size: "secondary" /* secondary */ }, "Transaction details")), /* @__PURE__ */ import_react204.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react204.default.createElement(Heading, { size: "secondary" /* secondary */ }, "Transaction source")), /* @__PURE__ */ import_react204.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react204.default.createElement(CloseButton, { onClick: closeSelectedEntry })))), /* @__PURE__ */ import_react204.default.createElement(
|
|
17628
17729
|
DetailsList,
|
|
17629
17730
|
{
|
|
17630
17731
|
title: "Transaction source",
|
|
17631
17732
|
titleClassName: "Layer__hidden-lg Layer__hidden-xl",
|
|
17632
|
-
actions: /* @__PURE__ */
|
|
17733
|
+
actions: /* @__PURE__ */ import_react204.default.createElement(
|
|
17633
17734
|
Button,
|
|
17634
17735
|
{
|
|
17635
|
-
rightIcon: /* @__PURE__ */
|
|
17736
|
+
rightIcon: /* @__PURE__ */ import_react204.default.createElement(X_default, null),
|
|
17636
17737
|
iconOnly: true,
|
|
17637
17738
|
onClick: closeSelectedEntry,
|
|
17638
17739
|
className: "Layer__details-list__close-btn",
|
|
@@ -17640,32 +17741,32 @@ var JournalEntryDetails = () => {
|
|
|
17640
17741
|
}
|
|
17641
17742
|
)
|
|
17642
17743
|
},
|
|
17643
|
-
/* @__PURE__ */
|
|
17644
|
-
((_b = entry == null ? void 0 : entry.source) == null ? void 0 : _b.display_description) && /* @__PURE__ */
|
|
17645
|
-
), /* @__PURE__ */
|
|
17744
|
+
/* @__PURE__ */ import_react204.default.createElement(DetailsListItem, { label: "Source", isLoading: isLoadingEntry }, /* @__PURE__ */ import_react204.default.createElement(Badge, null, (_a = entry == null ? void 0 : entry.source) == null ? void 0 : _a.entity_name)),
|
|
17745
|
+
((_b = entry == null ? void 0 : entry.source) == null ? void 0 : _b.display_description) && /* @__PURE__ */ import_react204.default.createElement(SourceDetailView, { source: entry == null ? void 0 : entry.source })
|
|
17746
|
+
), /* @__PURE__ */ import_react204.default.createElement(
|
|
17646
17747
|
DetailsList,
|
|
17647
17748
|
{
|
|
17648
17749
|
title: `Journal Entry ${entry ? entryNumber(entry) : ""}`,
|
|
17649
17750
|
className: "Layer__border-top"
|
|
17650
17751
|
},
|
|
17651
|
-
/* @__PURE__ */
|
|
17652
|
-
/* @__PURE__ */
|
|
17653
|
-
/* @__PURE__ */
|
|
17654
|
-
(entry == null ? void 0 : entry.reversal_id) && /* @__PURE__ */
|
|
17655
|
-
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */
|
|
17752
|
+
/* @__PURE__ */ import_react204.default.createElement(DetailsListItem, { label: "Entry type", isLoading: isLoadingEntry }, humanizeEnum((_c = entry == null ? void 0 : entry.entry_type) != null ? _c : "")),
|
|
17753
|
+
/* @__PURE__ */ import_react204.default.createElement(DetailsListItem, { label: "Effective date", isLoading: isLoadingEntry }, (entry == null ? void 0 : entry.entry_at) && /* @__PURE__ */ import_react204.default.createElement(DateTime, { value: entry == null ? void 0 : entry.entry_at })),
|
|
17754
|
+
/* @__PURE__ */ import_react204.default.createElement(DetailsListItem, { label: "Creation date", isLoading: isLoadingEntry }, (entry == null ? void 0 : entry.date) && /* @__PURE__ */ import_react204.default.createElement(DateTime, { value: entry == null ? void 0 : entry.date })),
|
|
17755
|
+
(entry == null ? void 0 : entry.reversal_id) && /* @__PURE__ */ import_react204.default.createElement(DetailsListItem, { label: "Reversal", isLoading: isLoadingEntry }, `Journal Entry #${entry == null ? void 0 : entry.reversal_id.substring(0, 5)}`)
|
|
17756
|
+
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ import_react204.default.createElement("div", { className: "Layer__journal__entry-details__line-items" }, /* @__PURE__ */ import_react204.default.createElement(Card, null, /* @__PURE__ */ import_react204.default.createElement(
|
|
17656
17757
|
Table,
|
|
17657
17758
|
{
|
|
17658
17759
|
componentName: "journal__entry-details",
|
|
17659
17760
|
borderCollapse: "collapse"
|
|
17660
17761
|
},
|
|
17661
|
-
/* @__PURE__ */
|
|
17762
|
+
/* @__PURE__ */ import_react204.default.createElement(TableHead, null, /* @__PURE__ */ import_react204.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react204.default.createElement(TableCell, null, "Line items"), /* @__PURE__ */ import_react204.default.createElement(
|
|
17662
17763
|
TableCell,
|
|
17663
17764
|
{
|
|
17664
17765
|
className: "Layer__journal__debit-credit-col",
|
|
17665
17766
|
align: "right" /* RIGHT */
|
|
17666
17767
|
},
|
|
17667
17768
|
"Debit"
|
|
17668
|
-
), /* @__PURE__ */
|
|
17769
|
+
), /* @__PURE__ */ import_react204.default.createElement(
|
|
17669
17770
|
TableCell,
|
|
17670
17771
|
{
|
|
17671
17772
|
className: "Layer__journal__debit-credit-col",
|
|
@@ -17673,37 +17774,37 @@ var JournalEntryDetails = () => {
|
|
|
17673
17774
|
},
|
|
17674
17775
|
"Credit"
|
|
17675
17776
|
))),
|
|
17676
|
-
/* @__PURE__ */
|
|
17777
|
+
/* @__PURE__ */ import_react204.default.createElement(TableBody, null, sortedLineItems == null ? void 0 : sortedLineItems.map((item, index) => /* @__PURE__ */ import_react204.default.createElement(
|
|
17677
17778
|
TableRow,
|
|
17678
17779
|
{
|
|
17679
17780
|
key: `ledger-line-item-${index}`,
|
|
17680
17781
|
rowKey: `ledger-line-item-${index}`
|
|
17681
17782
|
},
|
|
17682
|
-
/* @__PURE__ */
|
|
17683
|
-
/* @__PURE__ */
|
|
17783
|
+
/* @__PURE__ */ import_react204.default.createElement(TableCell, null, item.account.name),
|
|
17784
|
+
/* @__PURE__ */ import_react204.default.createElement(
|
|
17684
17785
|
TableCell,
|
|
17685
17786
|
{
|
|
17686
17787
|
className: "Layer__journal__debit-credit-col",
|
|
17687
17788
|
align: "right" /* RIGHT */
|
|
17688
17789
|
},
|
|
17689
|
-
item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */
|
|
17790
|
+
item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */ import_react204.default.createElement(Badge, { variant: "warning" /* WARNING */ }, "$", centsToDollars(item.amount || 0))
|
|
17690
17791
|
),
|
|
17691
|
-
/* @__PURE__ */
|
|
17792
|
+
/* @__PURE__ */ import_react204.default.createElement(
|
|
17692
17793
|
TableCell,
|
|
17693
17794
|
{
|
|
17694
17795
|
className: "Layer__journal__debit-credit-col",
|
|
17695
17796
|
align: "right" /* RIGHT */
|
|
17696
17797
|
},
|
|
17697
|
-
item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */
|
|
17798
|
+
item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */ import_react204.default.createElement(Badge, { variant: "success" /* SUCCESS */ }, "$", centsToDollars(item.amount || 0))
|
|
17698
17799
|
)
|
|
17699
|
-
)), /* @__PURE__ */
|
|
17800
|
+
)), /* @__PURE__ */ import_react204.default.createElement(
|
|
17700
17801
|
TableRow,
|
|
17701
17802
|
{
|
|
17702
17803
|
rowKey: "ledger-line-item-summation",
|
|
17703
17804
|
variant: "summation"
|
|
17704
17805
|
},
|
|
17705
|
-
/* @__PURE__ */
|
|
17706
|
-
/* @__PURE__ */
|
|
17806
|
+
/* @__PURE__ */ import_react204.default.createElement(TableCell, { primary: true }, "Total"),
|
|
17807
|
+
/* @__PURE__ */ import_react204.default.createElement(
|
|
17707
17808
|
TableCell,
|
|
17708
17809
|
{
|
|
17709
17810
|
isCurrency: true,
|
|
@@ -17713,7 +17814,7 @@ var JournalEntryDetails = () => {
|
|
|
17713
17814
|
},
|
|
17714
17815
|
(entry == null ? void 0 : entry.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0)) || 0
|
|
17715
17816
|
),
|
|
17716
|
-
/* @__PURE__ */
|
|
17817
|
+
/* @__PURE__ */ import_react204.default.createElement(
|
|
17717
17818
|
TableCell,
|
|
17718
17819
|
{
|
|
17719
17820
|
isCurrency: true,
|
|
@@ -17724,10 +17825,10 @@ var JournalEntryDetails = () => {
|
|
|
17724
17825
|
(entry == null ? void 0 : entry.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0)) || 0
|
|
17725
17826
|
)
|
|
17726
17827
|
))
|
|
17727
|
-
)), /* @__PURE__ */
|
|
17828
|
+
)), /* @__PURE__ */ import_react204.default.createElement("div", { className: "Layer__journal__entry-details__reverse-btn-container" }, /* @__PURE__ */ import_react204.default.createElement(
|
|
17728
17829
|
Button,
|
|
17729
17830
|
{
|
|
17730
|
-
rightIcon: reverseEntryError ? /* @__PURE__ */
|
|
17831
|
+
rightIcon: reverseEntryError ? /* @__PURE__ */ import_react204.default.createElement(AlertCircle_default, { size: 12 }) : /* @__PURE__ */ import_react204.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
17731
17832
|
variant: "secondary" /* secondary */,
|
|
17732
17833
|
onClick: reverseEntryProcessing ? () => {
|
|
17733
17834
|
} : onReverseEntry,
|
|
@@ -17740,10 +17841,10 @@ var JournalEntryDetails = () => {
|
|
|
17740
17841
|
};
|
|
17741
17842
|
|
|
17742
17843
|
// src/components/JournalForm/JournalForm.tsx
|
|
17743
|
-
var
|
|
17844
|
+
var import_react206 = __toESM(require("react"));
|
|
17744
17845
|
|
|
17745
17846
|
// src/components/JournalForm/JournalFormEntryLines.tsx
|
|
17746
|
-
var
|
|
17847
|
+
var import_react205 = __toESM(require("react"));
|
|
17747
17848
|
var JournalFormEntryLines = ({
|
|
17748
17849
|
entrylineItems,
|
|
17749
17850
|
addEntryLine,
|
|
@@ -17752,17 +17853,17 @@ var JournalFormEntryLines = ({
|
|
|
17752
17853
|
sendingForm,
|
|
17753
17854
|
config
|
|
17754
17855
|
}) => {
|
|
17755
|
-
const { data: accountsData } = (0,
|
|
17756
|
-
const { form } = (0,
|
|
17856
|
+
const { data: accountsData } = (0, import_react205.useContext)(ChartOfAccountsContext);
|
|
17857
|
+
const { form } = (0, import_react205.useContext)(JournalContext);
|
|
17757
17858
|
const parentOptions = useParentOptions(accountsData);
|
|
17758
|
-
return /* @__PURE__ */
|
|
17759
|
-
return /* @__PURE__ */
|
|
17859
|
+
return /* @__PURE__ */ import_react205.default.createElement(import_react205.default.Fragment, null, ["DEBIT", "CREDIT"].map((direction, idx) => {
|
|
17860
|
+
return /* @__PURE__ */ import_react205.default.createElement(
|
|
17760
17861
|
"div",
|
|
17761
17862
|
{
|
|
17762
17863
|
key: "Layer__journal__form__input-group-" + idx,
|
|
17763
17864
|
className: "Layer__journal__form__input-group Layer__journal__form__input-group__border"
|
|
17764
17865
|
},
|
|
17765
|
-
/* @__PURE__ */
|
|
17866
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
17766
17867
|
Text,
|
|
17767
17868
|
{
|
|
17768
17869
|
className: "Layer__journal__form__input-group__title",
|
|
@@ -17777,13 +17878,13 @@ var JournalFormEntryLines = ({
|
|
|
17777
17878
|
if (item.direction !== direction) {
|
|
17778
17879
|
return null;
|
|
17779
17880
|
}
|
|
17780
|
-
return /* @__PURE__ */
|
|
17881
|
+
return /* @__PURE__ */ import_react205.default.createElement(
|
|
17781
17882
|
"div",
|
|
17782
17883
|
{
|
|
17783
17884
|
className: "Layer__journal__form__input-group__line-item",
|
|
17784
17885
|
key: direction + "-" + idx2
|
|
17785
17886
|
},
|
|
17786
|
-
/* @__PURE__ */
|
|
17887
|
+
/* @__PURE__ */ import_react205.default.createElement(InputGroup, { name: direction, label: "Amount", inline: true }, /* @__PURE__ */ import_react205.default.createElement(
|
|
17787
17888
|
InputWithBadge,
|
|
17788
17889
|
{
|
|
17789
17890
|
name: direction,
|
|
@@ -17809,14 +17910,14 @@ var JournalFormEntryLines = ({
|
|
|
17809
17910
|
)) == null ? void 0 : _c.message
|
|
17810
17911
|
}
|
|
17811
17912
|
)),
|
|
17812
|
-
/* @__PURE__ */
|
|
17913
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
17813
17914
|
InputGroup,
|
|
17814
17915
|
{
|
|
17815
17916
|
name: "account-name",
|
|
17816
17917
|
label: "Account name",
|
|
17817
17918
|
inline: true
|
|
17818
17919
|
},
|
|
17819
|
-
/* @__PURE__ */
|
|
17920
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
17820
17921
|
Select2,
|
|
17821
17922
|
{
|
|
17822
17923
|
options: parentOptions,
|
|
@@ -17840,18 +17941,18 @@ var JournalFormEntryLines = ({
|
|
|
17840
17941
|
)) == null ? void 0 : _f.message
|
|
17841
17942
|
}
|
|
17842
17943
|
),
|
|
17843
|
-
idx2 >= 2 && /* @__PURE__ */
|
|
17944
|
+
idx2 >= 2 && /* @__PURE__ */ import_react205.default.createElement(
|
|
17844
17945
|
IconButton,
|
|
17845
17946
|
{
|
|
17846
17947
|
className: "Layer__remove__button",
|
|
17847
17948
|
onClick: () => removeEntryLine(idx2),
|
|
17848
|
-
icon: /* @__PURE__ */
|
|
17949
|
+
icon: /* @__PURE__ */ import_react205.default.createElement(Trash_default, null)
|
|
17849
17950
|
}
|
|
17850
17951
|
)
|
|
17851
17952
|
)
|
|
17852
17953
|
);
|
|
17853
17954
|
}),
|
|
17854
|
-
(config.form.addEntryLinesLimit === void 0 || config.form.addEntryLinesLimit > (entrylineItems == null ? void 0 : entrylineItems.length)) && /* @__PURE__ */
|
|
17955
|
+
(config.form.addEntryLinesLimit === void 0 || config.form.addEntryLinesLimit > (entrylineItems == null ? void 0 : entrylineItems.length)) && /* @__PURE__ */ import_react205.default.createElement(
|
|
17855
17956
|
TextButton,
|
|
17856
17957
|
{
|
|
17857
17958
|
className: "Layer__journal__add-entry-line",
|
|
@@ -17878,8 +17979,8 @@ var JournalForm = ({
|
|
|
17878
17979
|
changeFormData,
|
|
17879
17980
|
addEntryLine,
|
|
17880
17981
|
removeEntryLine
|
|
17881
|
-
} = (0,
|
|
17882
|
-
return /* @__PURE__ */
|
|
17982
|
+
} = (0, import_react206.useContext)(JournalContext);
|
|
17983
|
+
return /* @__PURE__ */ import_react206.default.createElement(
|
|
17883
17984
|
"form",
|
|
17884
17985
|
{
|
|
17885
17986
|
className: "Layer__form",
|
|
@@ -17888,7 +17989,7 @@ var JournalForm = ({
|
|
|
17888
17989
|
submitForm();
|
|
17889
17990
|
}
|
|
17890
17991
|
},
|
|
17891
|
-
/* @__PURE__ */
|
|
17992
|
+
/* @__PURE__ */ import_react206.default.createElement(Header2, { className: "Layer__journal__sidebar__header" }, /* @__PURE__ */ import_react206.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react206.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react206.default.createElement(Heading, { size: "secondary" /* secondary */, className: "title" }, (_a = stringOverrides == null ? void 0 : stringOverrides.header) != null ? _a : "Add New Entry")), /* @__PURE__ */ import_react206.default.createElement(HeaderCol, { className: "actions" }, /* @__PURE__ */ import_react206.default.createElement(
|
|
17892
17993
|
Button,
|
|
17893
17994
|
{
|
|
17894
17995
|
type: "button",
|
|
@@ -17897,7 +17998,7 @@ var JournalForm = ({
|
|
|
17897
17998
|
disabled: sendingForm
|
|
17898
17999
|
},
|
|
17899
18000
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
17900
|
-
), apiError && /* @__PURE__ */
|
|
18001
|
+
), apiError && /* @__PURE__ */ import_react206.default.createElement(
|
|
17901
18002
|
RetryButton,
|
|
17902
18003
|
{
|
|
17903
18004
|
type: "submit",
|
|
@@ -17906,7 +18007,7 @@ var JournalForm = ({
|
|
|
17906
18007
|
disabled: sendingForm
|
|
17907
18008
|
},
|
|
17908
18009
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
17909
|
-
), !apiError && /* @__PURE__ */
|
|
18010
|
+
), !apiError && /* @__PURE__ */ import_react206.default.createElement(
|
|
17910
18011
|
SubmitButton,
|
|
17911
18012
|
{
|
|
17912
18013
|
type: "submit",
|
|
@@ -17916,7 +18017,7 @@ var JournalForm = ({
|
|
|
17916
18017
|
},
|
|
17917
18018
|
(stringOverrides == null ? void 0 : stringOverrides.saveButton) || "Save"
|
|
17918
18019
|
)))),
|
|
17919
|
-
apiError && /* @__PURE__ */
|
|
18020
|
+
apiError && /* @__PURE__ */ import_react206.default.createElement(
|
|
17920
18021
|
Text,
|
|
17921
18022
|
{
|
|
17922
18023
|
size: "sm" /* sm */,
|
|
@@ -17924,7 +18025,7 @@ var JournalForm = ({
|
|
|
17924
18025
|
},
|
|
17925
18026
|
apiError
|
|
17926
18027
|
),
|
|
17927
|
-
/* @__PURE__ */
|
|
18028
|
+
/* @__PURE__ */ import_react206.default.createElement("div", { className: "Layer__journal__form__input-group" }, /* @__PURE__ */ import_react206.default.createElement(InputGroup, { name: "date", label: "Effective Date", inline: true }, /* @__PURE__ */ import_react206.default.createElement("div", { className: "Layer__journal__datepicker__wrapper" }, /* @__PURE__ */ import_react206.default.createElement(
|
|
17928
18029
|
DatePicker,
|
|
17929
18030
|
{
|
|
17930
18031
|
selected: (form == null ? void 0 : form.data.entry_at) ? new Date(form == null ? void 0 : form.data.entry_at) : /* @__PURE__ */ new Date(),
|
|
@@ -17937,7 +18038,7 @@ var JournalForm = ({
|
|
|
17937
18038
|
placeholderText: "Select date",
|
|
17938
18039
|
currentDateOption: false
|
|
17939
18040
|
}
|
|
17940
|
-
), /* @__PURE__ */
|
|
18041
|
+
), /* @__PURE__ */ import_react206.default.createElement(
|
|
17941
18042
|
DatePicker,
|
|
17942
18043
|
{
|
|
17943
18044
|
selected: (form == null ? void 0 : form.data.entry_at) ? new Date(form == null ? void 0 : form.data.entry_at) : /* @__PURE__ */ new Date(),
|
|
@@ -17951,7 +18052,7 @@ var JournalForm = ({
|
|
|
17951
18052
|
currentDateOption: false
|
|
17952
18053
|
}
|
|
17953
18054
|
)))),
|
|
17954
|
-
/* @__PURE__ */
|
|
18055
|
+
/* @__PURE__ */ import_react206.default.createElement(
|
|
17955
18056
|
JournalFormEntryLines,
|
|
17956
18057
|
{
|
|
17957
18058
|
entrylineItems: (form == null ? void 0 : form.data.line_items) || [],
|
|
@@ -17962,7 +18063,7 @@ var JournalForm = ({
|
|
|
17962
18063
|
config
|
|
17963
18064
|
}
|
|
17964
18065
|
),
|
|
17965
|
-
/* @__PURE__ */
|
|
18066
|
+
/* @__PURE__ */ import_react206.default.createElement("div", { className: "Layer__journal__form__input-group Layer__journal__form__input-group__textarea" }, /* @__PURE__ */ import_react206.default.createElement(InputGroup, { name: "memo", label: "Notes" }, /* @__PURE__ */ import_react206.default.createElement(
|
|
17966
18067
|
Textarea,
|
|
17967
18068
|
{
|
|
17968
18069
|
name: "memo",
|
|
@@ -17972,7 +18073,7 @@ var JournalForm = ({
|
|
|
17972
18073
|
disabled: sendingForm
|
|
17973
18074
|
}
|
|
17974
18075
|
))),
|
|
17975
|
-
/* @__PURE__ */
|
|
18076
|
+
/* @__PURE__ */ import_react206.default.createElement("div", { className: "Layer__journal__bottom-actions" }, /* @__PURE__ */ import_react206.default.createElement(
|
|
17976
18077
|
Button,
|
|
17977
18078
|
{
|
|
17978
18079
|
type: "button",
|
|
@@ -17981,7 +18082,7 @@ var JournalForm = ({
|
|
|
17981
18082
|
disabled: sendingForm
|
|
17982
18083
|
},
|
|
17983
18084
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
17984
|
-
), apiError && /* @__PURE__ */
|
|
18085
|
+
), apiError && /* @__PURE__ */ import_react206.default.createElement(
|
|
17985
18086
|
RetryButton,
|
|
17986
18087
|
{
|
|
17987
18088
|
type: "submit",
|
|
@@ -17990,7 +18091,7 @@ var JournalForm = ({
|
|
|
17990
18091
|
disabled: sendingForm
|
|
17991
18092
|
},
|
|
17992
18093
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
17993
|
-
), !apiError && /* @__PURE__ */
|
|
18094
|
+
), !apiError && /* @__PURE__ */ import_react206.default.createElement(
|
|
17994
18095
|
SubmitButton,
|
|
17995
18096
|
{
|
|
17996
18097
|
type: "submit",
|
|
@@ -18009,15 +18110,15 @@ var JournalSidebar = ({
|
|
|
18009
18110
|
config,
|
|
18010
18111
|
stringOverrides
|
|
18011
18112
|
}) => {
|
|
18012
|
-
const { selectedEntryId } = (0,
|
|
18113
|
+
const { selectedEntryId } = (0, import_react207.useContext)(JournalContext);
|
|
18013
18114
|
if (selectedEntryId !== "new") {
|
|
18014
|
-
return /* @__PURE__ */
|
|
18115
|
+
return /* @__PURE__ */ import_react207.default.createElement(JournalEntryDetails, null);
|
|
18015
18116
|
}
|
|
18016
|
-
return /* @__PURE__ */
|
|
18117
|
+
return /* @__PURE__ */ import_react207.default.createElement(JournalForm, { config, stringOverrides });
|
|
18017
18118
|
};
|
|
18018
18119
|
|
|
18019
18120
|
// src/components/JournalTable/JournalTable.tsx
|
|
18020
|
-
var
|
|
18121
|
+
var import_react208 = __toESM(require("react"));
|
|
18021
18122
|
var import_date_fns35 = require("date-fns");
|
|
18022
18123
|
var accountName = (row) => {
|
|
18023
18124
|
if ("account" in row) {
|
|
@@ -18032,7 +18133,7 @@ var JournalTable = ({
|
|
|
18032
18133
|
view,
|
|
18033
18134
|
data,
|
|
18034
18135
|
stringOverrides
|
|
18035
|
-
}) => /* @__PURE__ */
|
|
18136
|
+
}) => /* @__PURE__ */ import_react208.default.createElement(TableProvider, null, /* @__PURE__ */ import_react208.default.createElement(
|
|
18036
18137
|
JournalTableContent,
|
|
18037
18138
|
{
|
|
18038
18139
|
view,
|
|
@@ -18044,9 +18145,9 @@ var JournalTableContent = ({
|
|
|
18044
18145
|
data,
|
|
18045
18146
|
stringOverrides
|
|
18046
18147
|
}) => {
|
|
18047
|
-
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0,
|
|
18148
|
+
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0, import_react208.useContext)(JournalContext);
|
|
18048
18149
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
18049
|
-
(0,
|
|
18150
|
+
(0, import_react208.useEffect)(() => {
|
|
18050
18151
|
if (data.length > 0) {
|
|
18051
18152
|
setIsOpen(data.map((x) => `journal-row-${x.id}`));
|
|
18052
18153
|
}
|
|
@@ -18054,7 +18155,7 @@ var JournalTableContent = ({
|
|
|
18054
18155
|
const renderJournalRow = (row, index, rowKey, depth) => {
|
|
18055
18156
|
const expandable = !!row.line_items && row.line_items.length > 0;
|
|
18056
18157
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
18057
|
-
return /* @__PURE__ */
|
|
18158
|
+
return /* @__PURE__ */ import_react208.default.createElement(import_react208.default.Fragment, { key: rowKey + "-" + index }, /* @__PURE__ */ import_react208.default.createElement(
|
|
18058
18159
|
TableRow,
|
|
18059
18160
|
{
|
|
18060
18161
|
rowKey: rowKey + "-" + index,
|
|
@@ -18072,7 +18173,7 @@ var JournalTableContent = ({
|
|
|
18072
18173
|
},
|
|
18073
18174
|
depth
|
|
18074
18175
|
},
|
|
18075
|
-
/* @__PURE__ */
|
|
18176
|
+
/* @__PURE__ */ import_react208.default.createElement(
|
|
18076
18177
|
TableCell,
|
|
18077
18178
|
{
|
|
18078
18179
|
withExpandIcon: expandable,
|
|
@@ -18083,16 +18184,16 @@ var JournalTableContent = ({
|
|
|
18083
18184
|
},
|
|
18084
18185
|
entryNumber(row)
|
|
18085
18186
|
),
|
|
18086
|
-
/* @__PURE__ */
|
|
18087
|
-
/* @__PURE__ */
|
|
18088
|
-
/* @__PURE__ */
|
|
18089
|
-
/* @__PURE__ */
|
|
18187
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, null, row.entry_at && (0, import_date_fns35.format)((0, import_date_fns35.parseISO)(row.entry_at), DATE_FORMAT)),
|
|
18188
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, null, humanizeEnum(row.entry_type)),
|
|
18189
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, null, "(", row.line_items.length, ")"),
|
|
18190
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, "line_items" in row && Math.abs(
|
|
18090
18191
|
row.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
18091
18192
|
)),
|
|
18092
|
-
/* @__PURE__ */
|
|
18193
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, "line_items" in row && Math.abs(
|
|
18093
18194
|
row.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
18094
18195
|
))
|
|
18095
|
-
), expandable && expanded && row.line_items.map((subItem, subIdx) => /* @__PURE__ */
|
|
18196
|
+
), expandable && expanded && row.line_items.map((subItem, subIdx) => /* @__PURE__ */ import_react208.default.createElement(
|
|
18096
18197
|
TableRow,
|
|
18097
18198
|
{
|
|
18098
18199
|
key: rowKey + "-" + index + "-" + subIdx,
|
|
@@ -18100,19 +18201,104 @@ var JournalTableContent = ({
|
|
|
18100
18201
|
depth: depth + 1,
|
|
18101
18202
|
selected: selectedEntryId === row.id
|
|
18102
18203
|
},
|
|
18103
|
-
/* @__PURE__ */
|
|
18104
|
-
/* @__PURE__ */
|
|
18105
|
-
/* @__PURE__ */
|
|
18106
|
-
/* @__PURE__ */
|
|
18107
|
-
subItem.direction === "DEBIT" && subItem.amount >= 0 ? /* @__PURE__ */
|
|
18108
|
-
subItem.direction === "CREDIT" && subItem.amount >= 0 ? /* @__PURE__ */
|
|
18204
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, null),
|
|
18205
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, null),
|
|
18206
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, null),
|
|
18207
|
+
/* @__PURE__ */ import_react208.default.createElement(TableCell, null, accountName(subItem)),
|
|
18208
|
+
subItem.direction === "DEBIT" && subItem.amount >= 0 ? /* @__PURE__ */ import_react208.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, subItem.amount) : /* @__PURE__ */ import_react208.default.createElement(TableCell, null),
|
|
18209
|
+
subItem.direction === "CREDIT" && subItem.amount >= 0 ? /* @__PURE__ */ import_react208.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, subItem.amount) : /* @__PURE__ */ import_react208.default.createElement(TableCell, null)
|
|
18109
18210
|
)));
|
|
18110
18211
|
};
|
|
18111
|
-
return /* @__PURE__ */
|
|
18212
|
+
return /* @__PURE__ */ import_react208.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react208.default.createElement(TableHead, null, /* @__PURE__ */ import_react208.default.createElement(TableRow, { isHeadRow: true, rowKey: "journal-head-row" }, /* @__PURE__ */ import_react208.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.idColumnHeader) || "Id"), /* @__PURE__ */ import_react208.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.dateColumnHeader) || "Date"), /* @__PURE__ */ import_react208.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.transactionColumnHeader) || "Transaction"), /* @__PURE__ */ import_react208.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.accountColumnHeader) || "Account Name"), /* @__PURE__ */ import_react208.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.debitColumnHeader) || "Debit"), /* @__PURE__ */ import_react208.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.creditColumnHeader) || "Credit"))), /* @__PURE__ */ import_react208.default.createElement(TableBody, null, data.map(
|
|
18112
18213
|
(entry, idx) => renderJournalRow(entry, idx, `journal-row-${entry.id}`, 0)
|
|
18113
18214
|
)));
|
|
18114
18215
|
};
|
|
18115
18216
|
|
|
18217
|
+
// src/components/Journal/download/JournalEntriesDownloadButton.tsx
|
|
18218
|
+
var import_react209 = __toESM(require("react"));
|
|
18219
|
+
|
|
18220
|
+
// src/components/Journal/download/useJournalEntriesDownload.ts
|
|
18221
|
+
var import_mutation5 = __toESM(require("swr/mutation"));
|
|
18222
|
+
function buildKey5({
|
|
18223
|
+
access_token: accessToken,
|
|
18224
|
+
apiUrl,
|
|
18225
|
+
businessId,
|
|
18226
|
+
startCutoff,
|
|
18227
|
+
endCutoff
|
|
18228
|
+
}) {
|
|
18229
|
+
if (accessToken && apiUrl) {
|
|
18230
|
+
return {
|
|
18231
|
+
accessToken,
|
|
18232
|
+
apiUrl,
|
|
18233
|
+
businessId,
|
|
18234
|
+
startCutoff,
|
|
18235
|
+
endCutoff,
|
|
18236
|
+
tags: ["#journal-entries", "#exports", "#csv"]
|
|
18237
|
+
};
|
|
18238
|
+
}
|
|
18239
|
+
}
|
|
18240
|
+
function useJournalEntriesDownload({
|
|
18241
|
+
startCutoff,
|
|
18242
|
+
endCutoff,
|
|
18243
|
+
onSuccess
|
|
18244
|
+
}) {
|
|
18245
|
+
const { data: auth } = useAuth();
|
|
18246
|
+
const { businessId } = useLayerContext();
|
|
18247
|
+
return (0, import_mutation5.default)(
|
|
18248
|
+
() => buildKey5(__spreadProps(__spreadValues({}, auth), {
|
|
18249
|
+
businessId,
|
|
18250
|
+
startCutoff,
|
|
18251
|
+
endCutoff
|
|
18252
|
+
})),
|
|
18253
|
+
({ accessToken, apiUrl, businessId: businessId2, startCutoff: startCutoff2, endCutoff: endCutoff2 }) => getJournalEntriesCSV(
|
|
18254
|
+
apiUrl,
|
|
18255
|
+
accessToken,
|
|
18256
|
+
{
|
|
18257
|
+
params: {
|
|
18258
|
+
businessId: businessId2,
|
|
18259
|
+
startCutoff: startCutoff2 == null ? void 0 : startCutoff2.toISOString(),
|
|
18260
|
+
endCutoff: endCutoff2 == null ? void 0 : endCutoff2.toISOString()
|
|
18261
|
+
}
|
|
18262
|
+
}
|
|
18263
|
+
)().then(({ data }) => {
|
|
18264
|
+
if (onSuccess) {
|
|
18265
|
+
return onSuccess(data);
|
|
18266
|
+
}
|
|
18267
|
+
}),
|
|
18268
|
+
{
|
|
18269
|
+
revalidate: false,
|
|
18270
|
+
throwOnError: false
|
|
18271
|
+
}
|
|
18272
|
+
);
|
|
18273
|
+
}
|
|
18274
|
+
|
|
18275
|
+
// src/components/Journal/download/JournalEntriesDownloadButton.tsx
|
|
18276
|
+
function JournalEntriesDownloadButton({
|
|
18277
|
+
startCutoff,
|
|
18278
|
+
endCutoff,
|
|
18279
|
+
iconOnly
|
|
18280
|
+
}) {
|
|
18281
|
+
const { invisibleDownloadRef, triggerInvisibleDownload } = useInvisibleDownload();
|
|
18282
|
+
const { trigger, isMutating, error } = useJournalEntriesDownload({
|
|
18283
|
+
startCutoff,
|
|
18284
|
+
endCutoff,
|
|
18285
|
+
onSuccess: ({ presignedUrl }) => triggerInvisibleDownload({ url: presignedUrl })
|
|
18286
|
+
});
|
|
18287
|
+
return /* @__PURE__ */ import_react209.default.createElement(import_react209.default.Fragment, null, /* @__PURE__ */ import_react209.default.createElement(
|
|
18288
|
+
DownloadButton,
|
|
18289
|
+
{
|
|
18290
|
+
iconOnly,
|
|
18291
|
+
onClick: () => {
|
|
18292
|
+
trigger();
|
|
18293
|
+
},
|
|
18294
|
+
isDownloading: isMutating,
|
|
18295
|
+
requestFailed: Boolean(error),
|
|
18296
|
+
text: "Download CSV",
|
|
18297
|
+
retryText: "Retry"
|
|
18298
|
+
}
|
|
18299
|
+
), /* @__PURE__ */ import_react209.default.createElement(InvisibleDownload_default, { ref: invisibleDownloadRef }));
|
|
18300
|
+
}
|
|
18301
|
+
|
|
18116
18302
|
// src/components/JournalTable/JournalTableWithPanel.tsx
|
|
18117
18303
|
var COMPONENT_NAME6 = "journal";
|
|
18118
18304
|
var JournalTableWithPanel = ({
|
|
@@ -18122,7 +18308,7 @@ var JournalTableWithPanel = ({
|
|
|
18122
18308
|
stringOverrides,
|
|
18123
18309
|
view
|
|
18124
18310
|
}) => {
|
|
18125
|
-
const [currentPage, setCurrentPage] = (0,
|
|
18311
|
+
const [currentPage, setCurrentPage] = (0, import_react210.useState)(1);
|
|
18126
18312
|
const {
|
|
18127
18313
|
data: rawData,
|
|
18128
18314
|
isLoading,
|
|
@@ -18131,17 +18317,17 @@ var JournalTableWithPanel = ({
|
|
|
18131
18317
|
refetch,
|
|
18132
18318
|
selectedEntryId,
|
|
18133
18319
|
addEntry
|
|
18134
|
-
} = (0,
|
|
18135
|
-
const data = (0,
|
|
18320
|
+
} = (0, import_react210.useContext)(JournalContext);
|
|
18321
|
+
const data = (0, import_react210.useMemo)(() => {
|
|
18136
18322
|
var _a;
|
|
18137
18323
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
18138
18324
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
18139
18325
|
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);
|
|
18140
18326
|
}, [rawData, currentPage]);
|
|
18141
|
-
return /* @__PURE__ */
|
|
18327
|
+
return /* @__PURE__ */ import_react210.default.createElement(
|
|
18142
18328
|
Panel,
|
|
18143
18329
|
{
|
|
18144
|
-
sidebar: /* @__PURE__ */
|
|
18330
|
+
sidebar: /* @__PURE__ */ import_react210.default.createElement(
|
|
18145
18331
|
JournalSidebar,
|
|
18146
18332
|
{
|
|
18147
18333
|
parentRef: containerRef,
|
|
@@ -18152,7 +18338,7 @@ var JournalTableWithPanel = ({
|
|
|
18152
18338
|
sidebarIsOpen: Boolean(selectedEntryId),
|
|
18153
18339
|
parentRef: containerRef
|
|
18154
18340
|
},
|
|
18155
|
-
/* @__PURE__ */
|
|
18341
|
+
/* @__PURE__ */ import_react210.default.createElement(
|
|
18156
18342
|
Header2,
|
|
18157
18343
|
{
|
|
18158
18344
|
className: `Layer__${COMPONENT_NAME6}__header`,
|
|
@@ -18160,7 +18346,7 @@ var JournalTableWithPanel = ({
|
|
|
18160
18346
|
sticky: true,
|
|
18161
18347
|
rounded: true
|
|
18162
18348
|
},
|
|
18163
|
-
/* @__PURE__ */
|
|
18349
|
+
/* @__PURE__ */ import_react210.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react210.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react210.default.createElement(
|
|
18164
18350
|
Heading,
|
|
18165
18351
|
{
|
|
18166
18352
|
className: `Layer__${COMPONENT_NAME6}__title`,
|
|
@@ -18169,25 +18355,30 @@ var JournalTableWithPanel = ({
|
|
|
18169
18355
|
(stringOverrides == null ? void 0 : stringOverrides.componentTitle) || "Journal"
|
|
18170
18356
|
)))
|
|
18171
18357
|
),
|
|
18172
|
-
/* @__PURE__ */
|
|
18358
|
+
/* @__PURE__ */ import_react210.default.createElement(Header2, null, /* @__PURE__ */ import_react210.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react210.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react210.default.createElement(
|
|
18173
18359
|
Heading,
|
|
18174
18360
|
{
|
|
18175
18361
|
size: "secondary" /* secondary */,
|
|
18176
18362
|
className: `Layer__${COMPONENT_NAME6}__subtitle`
|
|
18177
18363
|
},
|
|
18178
18364
|
(stringOverrides == null ? void 0 : stringOverrides.componentSubtitle) || "Entries"
|
|
18179
|
-
)), /* @__PURE__ */
|
|
18365
|
+
)), /* @__PURE__ */ import_react210.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react210.default.createElement(
|
|
18366
|
+
JournalEntriesDownloadButton,
|
|
18367
|
+
{
|
|
18368
|
+
iconOnly: ["mobile", "tablet"].includes(view)
|
|
18369
|
+
}
|
|
18370
|
+
), /* @__PURE__ */ import_react210.default.createElement(
|
|
18180
18371
|
Button,
|
|
18181
18372
|
{
|
|
18182
18373
|
onClick: () => addEntry(),
|
|
18183
18374
|
disabled: isLoading,
|
|
18184
18375
|
iconOnly: view === "mobile",
|
|
18185
|
-
leftIcon: view === "mobile" && /* @__PURE__ */
|
|
18376
|
+
leftIcon: view === "mobile" && /* @__PURE__ */ import_react210.default.createElement(PlusIcon_default, { size: 14 })
|
|
18186
18377
|
},
|
|
18187
18378
|
(stringOverrides == null ? void 0 : stringOverrides.addEntryButton) || "Add Entry"
|
|
18188
18379
|
)))),
|
|
18189
|
-
data && /* @__PURE__ */
|
|
18190
|
-
data && /* @__PURE__ */
|
|
18380
|
+
data && /* @__PURE__ */ import_react210.default.createElement(JournalTable, { view: "desktop", data }),
|
|
18381
|
+
data && /* @__PURE__ */ import_react210.default.createElement("div", { className: "Layer__journal__pagination" }, /* @__PURE__ */ import_react210.default.createElement(
|
|
18191
18382
|
Pagination,
|
|
18192
18383
|
{
|
|
18193
18384
|
currentPage,
|
|
@@ -18196,7 +18387,7 @@ var JournalTableWithPanel = ({
|
|
|
18196
18387
|
onPageChange: (page) => setCurrentPage(page)
|
|
18197
18388
|
}
|
|
18198
18389
|
)),
|
|
18199
|
-
(data == null ? void 0 : data.length) === 0 && !isLoading && !error && /* @__PURE__ */
|
|
18390
|
+
(data == null ? void 0 : data.length) === 0 && !isLoading && !error && /* @__PURE__ */ import_react210.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react210.default.createElement(
|
|
18200
18391
|
DataState,
|
|
18201
18392
|
{
|
|
18202
18393
|
status: "allDone" /* allDone */,
|
|
@@ -18204,7 +18395,7 @@ var JournalTableWithPanel = ({
|
|
|
18204
18395
|
description: "There are no entries in the journal."
|
|
18205
18396
|
}
|
|
18206
18397
|
)),
|
|
18207
|
-
error ? /* @__PURE__ */
|
|
18398
|
+
error ? /* @__PURE__ */ import_react210.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react210.default.createElement(
|
|
18208
18399
|
DataState,
|
|
18209
18400
|
{
|
|
18210
18401
|
status: "failed" /* failed */,
|
|
@@ -18214,7 +18405,7 @@ var JournalTableWithPanel = ({
|
|
|
18214
18405
|
isLoading: isValidating || isLoading
|
|
18215
18406
|
}
|
|
18216
18407
|
)) : null,
|
|
18217
|
-
(!data || isLoading) && !error ? /* @__PURE__ */
|
|
18408
|
+
(!data || isLoading) && !error ? /* @__PURE__ */ import_react210.default.createElement("div", { className: `Layer__${COMPONENT_NAME6}__loader-container` }, /* @__PURE__ */ import_react210.default.createElement(Loader2, null)) : null
|
|
18218
18409
|
);
|
|
18219
18410
|
};
|
|
18220
18411
|
|
|
@@ -18227,7 +18418,7 @@ var JOURNAL_CONFIG = {
|
|
|
18227
18418
|
var Journal = (props) => {
|
|
18228
18419
|
const JournalContextData = useJournal();
|
|
18229
18420
|
const AccountsContextData = useChartOfAccounts();
|
|
18230
|
-
return /* @__PURE__ */
|
|
18421
|
+
return /* @__PURE__ */ import_react211.default.createElement(ChartOfAccountsContext.Provider, { value: AccountsContextData }, /* @__PURE__ */ import_react211.default.createElement(JournalContext.Provider, { value: JournalContextData }, /* @__PURE__ */ import_react211.default.createElement(JournalContent, __spreadValues({}, props))));
|
|
18231
18422
|
};
|
|
18232
18423
|
var JournalContent = ({
|
|
18233
18424
|
asWidget,
|
|
@@ -18235,7 +18426,7 @@ var JournalContent = ({
|
|
|
18235
18426
|
stringOverrides
|
|
18236
18427
|
}) => {
|
|
18237
18428
|
const { view, containerRef } = useElementViewSize();
|
|
18238
|
-
return /* @__PURE__ */
|
|
18429
|
+
return /* @__PURE__ */ import_react211.default.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ import_react211.default.createElement(
|
|
18239
18430
|
JournalTableWithPanel,
|
|
18240
18431
|
{
|
|
18241
18432
|
view,
|
|
@@ -18247,12 +18438,12 @@ var JournalContent = ({
|
|
|
18247
18438
|
};
|
|
18248
18439
|
|
|
18249
18440
|
// src/components/Tasks/Tasks.tsx
|
|
18250
|
-
var
|
|
18441
|
+
var import_react220 = __toESM(require("react"));
|
|
18251
18442
|
|
|
18252
18443
|
// src/contexts/TasksContext/TasksContext.tsx
|
|
18253
|
-
var
|
|
18444
|
+
var import_react212 = require("react");
|
|
18254
18445
|
var import_date_fns36 = require("date-fns");
|
|
18255
|
-
var TasksContext = (0,
|
|
18446
|
+
var TasksContext = (0, import_react212.createContext)({
|
|
18256
18447
|
data: void 0,
|
|
18257
18448
|
isLoading: false,
|
|
18258
18449
|
loadedStatus: "initial",
|
|
@@ -18275,7 +18466,7 @@ var TasksContext = (0, import_react210.createContext)({
|
|
|
18275
18466
|
});
|
|
18276
18467
|
|
|
18277
18468
|
// src/hooks/useTasks/useTasks.tsx
|
|
18278
|
-
var
|
|
18469
|
+
var import_react213 = require("react");
|
|
18279
18470
|
|
|
18280
18471
|
// src/types/tasks.ts
|
|
18281
18472
|
var COMPLETED_TASK_TYPES = ["COMPLETED", "USER_MARKED_COMPLETED"];
|
|
@@ -18331,15 +18522,15 @@ var useTasks = ({
|
|
|
18331
18522
|
startDate: initialStartDate = (0, import_date_fns37.startOfYear)(/* @__PURE__ */ new Date()),
|
|
18332
18523
|
endDate: initialEndDate = (0, import_date_fns37.endOfYear)(/* @__PURE__ */ new Date())
|
|
18333
18524
|
} = {}) => {
|
|
18334
|
-
const [loadedStatus, setLoadedStatus] = (0,
|
|
18525
|
+
const [loadedStatus, setLoadedStatus] = (0, import_react213.useState)("initial");
|
|
18335
18526
|
const { businessId, read, syncTimestamps, hasBeenTouched } = useLayerContext();
|
|
18336
18527
|
const { apiUrl } = useEnvironment();
|
|
18337
18528
|
const { data: auth } = useAuth();
|
|
18338
|
-
const [dateRange, setDateRange] = (0,
|
|
18529
|
+
const [dateRange, setDateRange] = (0, import_react213.useState)({
|
|
18339
18530
|
startDate: initialStartDate,
|
|
18340
18531
|
endDate: initialEndDate
|
|
18341
18532
|
});
|
|
18342
|
-
const [currentDate, setCurrentDate] = (0,
|
|
18533
|
+
const [currentDate, setCurrentDate] = (0, import_react213.useState)(/* @__PURE__ */ new Date());
|
|
18343
18534
|
const queryKey = businessId && (auth == null ? void 0 : auth.access_token) && `tasks-${businessId}-${dateRange.startDate}-${dateRange.endDate}`;
|
|
18344
18535
|
const { data, isLoading, isValidating, error, mutate } = (0, import_swr12.default)(
|
|
18345
18536
|
queryKey,
|
|
@@ -18351,7 +18542,7 @@ var useTasks = ({
|
|
|
18351
18542
|
}
|
|
18352
18543
|
})
|
|
18353
18544
|
);
|
|
18354
|
-
const monthlyData = (0,
|
|
18545
|
+
const monthlyData = (0, import_react213.useMemo)(() => {
|
|
18355
18546
|
if (data == null ? void 0 : data.data) {
|
|
18356
18547
|
const grouped = data.data.reduce((acc, task) => {
|
|
18357
18548
|
const effectiveDate = task.effective_date ? (0, import_date_fns37.parseISO)(task.effective_date) : (0, import_date_fns37.parseISO)(task.created_at);
|
|
@@ -18378,7 +18569,7 @@ var useTasks = ({
|
|
|
18378
18569
|
}
|
|
18379
18570
|
return [];
|
|
18380
18571
|
}, [data]);
|
|
18381
|
-
(0,
|
|
18572
|
+
(0, import_react213.useEffect)(() => {
|
|
18382
18573
|
if (isLoading && loadedStatus === "initial") {
|
|
18383
18574
|
setLoadedStatus("loading");
|
|
18384
18575
|
} else if (!isLoading && loadedStatus === "loading") {
|
|
@@ -18425,12 +18616,12 @@ var useTasks = ({
|
|
|
18425
18616
|
body: data2
|
|
18426
18617
|
}).then(() => refetch());
|
|
18427
18618
|
};
|
|
18428
|
-
(0,
|
|
18619
|
+
(0, import_react213.useEffect)(() => {
|
|
18429
18620
|
if (queryKey && (isLoading || isValidating)) {
|
|
18430
18621
|
read("TASKS" /* TASKS */, queryKey);
|
|
18431
18622
|
}
|
|
18432
18623
|
}, [isLoading, isValidating]);
|
|
18433
|
-
(0,
|
|
18624
|
+
(0, import_react213.useEffect)(() => {
|
|
18434
18625
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
18435
18626
|
refetch();
|
|
18436
18627
|
}
|
|
@@ -18455,13 +18646,13 @@ var useTasks = ({
|
|
|
18455
18646
|
};
|
|
18456
18647
|
|
|
18457
18648
|
// src/components/TasksHeader/TasksHeader.tsx
|
|
18458
|
-
var
|
|
18649
|
+
var import_react214 = __toESM(require("react"));
|
|
18459
18650
|
|
|
18460
18651
|
// src/icons/ProgressIcon.tsx
|
|
18461
|
-
var
|
|
18652
|
+
var React212 = __toESM(require("react"));
|
|
18462
18653
|
var ProgressIcon = (_a) => {
|
|
18463
18654
|
var _b = _a, { size = 12 } = _b, props = __objRest(_b, ["size"]);
|
|
18464
|
-
return /* @__PURE__ */
|
|
18655
|
+
return /* @__PURE__ */ React212.createElement(
|
|
18465
18656
|
"svg",
|
|
18466
18657
|
__spreadProps(__spreadValues({
|
|
18467
18658
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -18471,7 +18662,7 @@ var ProgressIcon = (_a) => {
|
|
|
18471
18662
|
width: size,
|
|
18472
18663
|
height: size
|
|
18473
18664
|
}),
|
|
18474
|
-
/* @__PURE__ */
|
|
18665
|
+
/* @__PURE__ */ React212.createElement(
|
|
18475
18666
|
"path",
|
|
18476
18667
|
{
|
|
18477
18668
|
d: "M9 1.5V4.5",
|
|
@@ -18480,7 +18671,7 @@ var ProgressIcon = (_a) => {
|
|
|
18480
18671
|
strokeLinejoin: "round"
|
|
18481
18672
|
}
|
|
18482
18673
|
),
|
|
18483
|
-
/* @__PURE__ */
|
|
18674
|
+
/* @__PURE__ */ React212.createElement(
|
|
18484
18675
|
"path",
|
|
18485
18676
|
{
|
|
18486
18677
|
d: "M9 13.5V16.5",
|
|
@@ -18489,7 +18680,7 @@ var ProgressIcon = (_a) => {
|
|
|
18489
18680
|
strokeLinejoin: "round"
|
|
18490
18681
|
}
|
|
18491
18682
|
),
|
|
18492
|
-
/* @__PURE__ */
|
|
18683
|
+
/* @__PURE__ */ React212.createElement(
|
|
18493
18684
|
"path",
|
|
18494
18685
|
{
|
|
18495
18686
|
d: "M3.6975 3.6975L5.82 5.82",
|
|
@@ -18498,7 +18689,7 @@ var ProgressIcon = (_a) => {
|
|
|
18498
18689
|
strokeLinejoin: "round"
|
|
18499
18690
|
}
|
|
18500
18691
|
),
|
|
18501
|
-
/* @__PURE__ */
|
|
18692
|
+
/* @__PURE__ */ React212.createElement(
|
|
18502
18693
|
"path",
|
|
18503
18694
|
{
|
|
18504
18695
|
d: "M12.18 12.18L14.3025 14.3025",
|
|
@@ -18507,7 +18698,7 @@ var ProgressIcon = (_a) => {
|
|
|
18507
18698
|
strokeLinejoin: "round"
|
|
18508
18699
|
}
|
|
18509
18700
|
),
|
|
18510
|
-
/* @__PURE__ */
|
|
18701
|
+
/* @__PURE__ */ React212.createElement(
|
|
18511
18702
|
"path",
|
|
18512
18703
|
{
|
|
18513
18704
|
d: "M1.5 9H4.5",
|
|
@@ -18516,7 +18707,7 @@ var ProgressIcon = (_a) => {
|
|
|
18516
18707
|
strokeLinejoin: "round"
|
|
18517
18708
|
}
|
|
18518
18709
|
),
|
|
18519
|
-
/* @__PURE__ */
|
|
18710
|
+
/* @__PURE__ */ React212.createElement(
|
|
18520
18711
|
"path",
|
|
18521
18712
|
{
|
|
18522
18713
|
d: "M13.5 9H16.5",
|
|
@@ -18525,7 +18716,7 @@ var ProgressIcon = (_a) => {
|
|
|
18525
18716
|
strokeLinejoin: "round"
|
|
18526
18717
|
}
|
|
18527
18718
|
),
|
|
18528
|
-
/* @__PURE__ */
|
|
18719
|
+
/* @__PURE__ */ React212.createElement(
|
|
18529
18720
|
"path",
|
|
18530
18721
|
{
|
|
18531
18722
|
d: "M3.6975 14.3025L5.82 12.18",
|
|
@@ -18534,7 +18725,7 @@ var ProgressIcon = (_a) => {
|
|
|
18534
18725
|
strokeLinejoin: "round"
|
|
18535
18726
|
}
|
|
18536
18727
|
),
|
|
18537
|
-
/* @__PURE__ */
|
|
18728
|
+
/* @__PURE__ */ React212.createElement(
|
|
18538
18729
|
"path",
|
|
18539
18730
|
{
|
|
18540
18731
|
d: "M12.18 5.82L14.3025 3.6975",
|
|
@@ -18552,22 +18743,22 @@ var import_date_fns38 = require("date-fns");
|
|
|
18552
18743
|
var import_classnames67 = __toESM(require("classnames"));
|
|
18553
18744
|
var ICONS = {
|
|
18554
18745
|
loading: {
|
|
18555
|
-
icon: /* @__PURE__ */
|
|
18746
|
+
icon: /* @__PURE__ */ import_react214.default.createElement(ProgressIcon_default, { size: 12, className: "Layer__anim--rotating" }),
|
|
18556
18747
|
text: "Loading",
|
|
18557
18748
|
badge: "default" /* DEFAULT */
|
|
18558
18749
|
},
|
|
18559
18750
|
done: {
|
|
18560
|
-
icon: /* @__PURE__ */
|
|
18751
|
+
icon: /* @__PURE__ */ import_react214.default.createElement(Check_default, { size: 12 }),
|
|
18561
18752
|
text: "Done",
|
|
18562
18753
|
badge: "success" /* SUCCESS */
|
|
18563
18754
|
},
|
|
18564
18755
|
pending: {
|
|
18565
|
-
icon: /* @__PURE__ */
|
|
18756
|
+
icon: /* @__PURE__ */ import_react214.default.createElement(AlertCircle_default, { size: 12 }),
|
|
18566
18757
|
text: "In progress",
|
|
18567
18758
|
badge: "warning" /* WARNING */
|
|
18568
18759
|
},
|
|
18569
18760
|
refresh: {
|
|
18570
|
-
icon: /* @__PURE__ */
|
|
18761
|
+
icon: /* @__PURE__ */ import_react214.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
18571
18762
|
text: "Refresh",
|
|
18572
18763
|
badge: "default" /* DEFAULT */
|
|
18573
18764
|
}
|
|
@@ -18585,12 +18776,12 @@ var TasksHeader = ({
|
|
|
18585
18776
|
error,
|
|
18586
18777
|
dateRange,
|
|
18587
18778
|
setDateRange
|
|
18588
|
-
} = (0,
|
|
18779
|
+
} = (0, import_react214.useContext)(TasksContext);
|
|
18589
18780
|
const { business } = useLayerContext();
|
|
18590
18781
|
const completedTasks = tasks == null ? void 0 : tasks.filter((task) => isComplete(task.status)).length;
|
|
18591
18782
|
const badgeVariant = completedTasks === (tasks == null ? void 0 : tasks.length) ? ICONS.done : ICONS.pending;
|
|
18592
18783
|
const minDate = getEarliestDateToBrowse(business);
|
|
18593
|
-
return /* @__PURE__ */
|
|
18784
|
+
return /* @__PURE__ */ import_react214.default.createElement("div", { className: (0, import_classnames67.default)("Layer__tasks-header", collapsable && "Layer__tasks-header--collapsable") }, /* @__PURE__ */ import_react214.default.createElement("div", { className: "Layer__tasks-header__left-col" }, /* @__PURE__ */ import_react214.default.createElement("div", { className: "Layer__tasks-header__left-col__title" }, /* @__PURE__ */ import_react214.default.createElement(Text, { size: "lg" /* lg */ }, tasksHeader), loadedStatus !== "complete" && !open ? /* @__PURE__ */ import_react214.default.createElement(Badge, { variant: ICONS.loading.badge, icon: ICONS.loading.icon }, ICONS.loading.text) : loadedStatus === "complete" && !open && (!tasks || error) ? /* @__PURE__ */ import_react214.default.createElement(
|
|
18594
18785
|
Badge,
|
|
18595
18786
|
{
|
|
18596
18787
|
onClick: () => refetch(),
|
|
@@ -18598,7 +18789,7 @@ var TasksHeader = ({
|
|
|
18598
18789
|
icon: ICONS.refresh.icon
|
|
18599
18790
|
},
|
|
18600
18791
|
ICONS.refresh.text
|
|
18601
|
-
) : loadedStatus === "complete" && !open ? /* @__PURE__ */
|
|
18792
|
+
) : loadedStatus === "complete" && !open ? /* @__PURE__ */ import_react214.default.createElement(Badge, { variant: badgeVariant.badge, icon: badgeVariant.icon }, badgeVariant.text) : open ? null : /* @__PURE__ */ import_react214.default.createElement(Badge, { variant: badgeVariant.badge, icon: badgeVariant.icon }, badgeVariant.text)), /* @__PURE__ */ import_react214.default.createElement("div", { className: "Layer__tasks-header__left-col__controls" }, /* @__PURE__ */ import_react214.default.createElement(
|
|
18602
18793
|
DatePicker,
|
|
18603
18794
|
{
|
|
18604
18795
|
selected: dateRange.startDate,
|
|
@@ -18618,17 +18809,17 @@ var TasksHeader = ({
|
|
|
18618
18809
|
navigateArrows: ["mobile", "desktop"],
|
|
18619
18810
|
disabled: minDate && (0, import_date_fns38.getYear)(minDate) === (0, import_date_fns38.getYear)(/* @__PURE__ */ new Date())
|
|
18620
18811
|
}
|
|
18621
|
-
), collapsable && /* @__PURE__ */
|
|
18812
|
+
), collapsable && /* @__PURE__ */ import_react214.default.createElement("div", { className: "Layer__tasks-header__left-col__expand" }, /* @__PURE__ */ import_react214.default.createElement(ExpandButton, { onClick: toggleContent, collapsed: !open })))));
|
|
18622
18813
|
};
|
|
18623
18814
|
|
|
18624
18815
|
// src/components/TasksList/TasksList.tsx
|
|
18625
|
-
var
|
|
18816
|
+
var import_react216 = __toESM(require("react"));
|
|
18626
18817
|
|
|
18627
18818
|
// src/icons/SmileIcon.tsx
|
|
18628
|
-
var
|
|
18819
|
+
var React214 = __toESM(require("react"));
|
|
18629
18820
|
var SmileIcon = (_a) => {
|
|
18630
18821
|
var _b = _a, { size = 12 } = _b, props = __objRest(_b, ["size"]);
|
|
18631
|
-
return /* @__PURE__ */
|
|
18822
|
+
return /* @__PURE__ */ React214.createElement(
|
|
18632
18823
|
"svg",
|
|
18633
18824
|
__spreadProps(__spreadValues({
|
|
18634
18825
|
viewBox: "0 0 12 12",
|
|
@@ -18638,7 +18829,7 @@ var SmileIcon = (_a) => {
|
|
|
18638
18829
|
width: size,
|
|
18639
18830
|
height: size
|
|
18640
18831
|
}),
|
|
18641
|
-
/* @__PURE__ */
|
|
18832
|
+
/* @__PURE__ */ React214.createElement(
|
|
18642
18833
|
"path",
|
|
18643
18834
|
{
|
|
18644
18835
|
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",
|
|
@@ -18647,7 +18838,7 @@ var SmileIcon = (_a) => {
|
|
|
18647
18838
|
strokeLinejoin: "round"
|
|
18648
18839
|
}
|
|
18649
18840
|
),
|
|
18650
|
-
/* @__PURE__ */
|
|
18841
|
+
/* @__PURE__ */ React214.createElement(
|
|
18651
18842
|
"path",
|
|
18652
18843
|
{
|
|
18653
18844
|
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",
|
|
@@ -18656,7 +18847,7 @@ var SmileIcon = (_a) => {
|
|
|
18656
18847
|
strokeLinejoin: "round"
|
|
18657
18848
|
}
|
|
18658
18849
|
),
|
|
18659
|
-
/* @__PURE__ */
|
|
18850
|
+
/* @__PURE__ */ React214.createElement(
|
|
18660
18851
|
"path",
|
|
18661
18852
|
{
|
|
18662
18853
|
d: "M5 5H5.005",
|
|
@@ -18665,7 +18856,7 @@ var SmileIcon = (_a) => {
|
|
|
18665
18856
|
strokeLinejoin: "round"
|
|
18666
18857
|
}
|
|
18667
18858
|
),
|
|
18668
|
-
/* @__PURE__ */
|
|
18859
|
+
/* @__PURE__ */ React214.createElement(
|
|
18669
18860
|
"path",
|
|
18670
18861
|
{
|
|
18671
18862
|
d: "M8 5H8.005",
|
|
@@ -18679,7 +18870,7 @@ var SmileIcon = (_a) => {
|
|
|
18679
18870
|
var SmileIcon_default = SmileIcon;
|
|
18680
18871
|
|
|
18681
18872
|
// src/components/TasksListItem/TasksListItem.tsx
|
|
18682
|
-
var
|
|
18873
|
+
var import_react215 = __toESM(require("react"));
|
|
18683
18874
|
var import_classnames68 = __toESM(require("classnames"));
|
|
18684
18875
|
var TasksListItem = ({
|
|
18685
18876
|
task,
|
|
@@ -18687,15 +18878,15 @@ var TasksListItem = ({
|
|
|
18687
18878
|
defaultOpen
|
|
18688
18879
|
}) => {
|
|
18689
18880
|
var _a;
|
|
18690
|
-
const [isOpen, setIsOpen] = (0,
|
|
18691
|
-
const [userResponse, setUserResponse] = (0,
|
|
18692
|
-
const [selectedFiles, setSelectedFiles] = (0,
|
|
18881
|
+
const [isOpen, setIsOpen] = (0, import_react215.useState)(defaultOpen);
|
|
18882
|
+
const [userResponse, setUserResponse] = (0, import_react215.useState)(task.user_response || "");
|
|
18883
|
+
const [selectedFiles, setSelectedFiles] = (0, import_react215.useState)();
|
|
18693
18884
|
const {
|
|
18694
18885
|
submitResponseToTask: submitResponseToTask2,
|
|
18695
18886
|
uploadDocumentsForTask,
|
|
18696
18887
|
deleteUploadsForTask,
|
|
18697
18888
|
updateDocUploadTaskDescription
|
|
18698
|
-
} = (0,
|
|
18889
|
+
} = (0, import_react215.useContext)(TasksContext);
|
|
18699
18890
|
const taskBodyClassName = (0, import_classnames68.default)(
|
|
18700
18891
|
"Layer__tasks-list-item__body",
|
|
18701
18892
|
isOpen && "Layer__tasks-list-item__body--expanded",
|
|
@@ -18709,14 +18900,14 @@ var TasksListItem = ({
|
|
|
18709
18900
|
"Layer__tasks-list-item",
|
|
18710
18901
|
isOpen && "Layer__tasks-list-item__expanded"
|
|
18711
18902
|
);
|
|
18712
|
-
(0,
|
|
18903
|
+
(0, import_react215.useEffect)(() => {
|
|
18713
18904
|
setIsOpen(defaultOpen);
|
|
18714
18905
|
}, [defaultOpen]);
|
|
18715
|
-
const uploadDocumentAction = (0,
|
|
18906
|
+
const uploadDocumentAction = (0, import_react215.useMemo)(() => {
|
|
18716
18907
|
if (task.user_response_type === "UPLOAD_DOCUMENT") {
|
|
18717
18908
|
if (task.status === "TODO") {
|
|
18718
18909
|
if (!selectedFiles) {
|
|
18719
|
-
return /* @__PURE__ */
|
|
18910
|
+
return /* @__PURE__ */ import_react215.default.createElement(
|
|
18720
18911
|
FileInput,
|
|
18721
18912
|
{
|
|
18722
18913
|
onUpload: (files) => {
|
|
@@ -18727,10 +18918,19 @@ var TasksListItem = ({
|
|
|
18727
18918
|
}
|
|
18728
18919
|
);
|
|
18729
18920
|
} else {
|
|
18730
|
-
return /* @__PURE__ */
|
|
18921
|
+
return /* @__PURE__ */ import_react215.default.createElement(import_react215.default.Fragment, null, /* @__PURE__ */ import_react215.default.createElement(
|
|
18731
18922
|
Button,
|
|
18732
18923
|
{
|
|
18733
18924
|
variant: "secondary" /* secondary */,
|
|
18925
|
+
onClick: () => __async(void 0, null, function* () {
|
|
18926
|
+
setSelectedFiles(void 0);
|
|
18927
|
+
})
|
|
18928
|
+
},
|
|
18929
|
+
"Cancel"
|
|
18930
|
+
), /* @__PURE__ */ import_react215.default.createElement(
|
|
18931
|
+
Button,
|
|
18932
|
+
{
|
|
18933
|
+
variant: "primary" /* primary */,
|
|
18734
18934
|
onClick: () => __async(void 0, null, function* () {
|
|
18735
18935
|
yield uploadDocumentsForTask(task.id, selectedFiles, userResponse);
|
|
18736
18936
|
setIsOpen(false);
|
|
@@ -18739,11 +18939,11 @@ var TasksListItem = ({
|
|
|
18739
18939
|
})
|
|
18740
18940
|
},
|
|
18741
18941
|
"Submit"
|
|
18742
|
-
);
|
|
18942
|
+
));
|
|
18743
18943
|
}
|
|
18744
18944
|
} else if (task.status === "USER_MARKED_COMPLETED") {
|
|
18745
18945
|
if (task.user_response && task.user_response != userResponse) {
|
|
18746
|
-
return /* @__PURE__ */
|
|
18946
|
+
return /* @__PURE__ */ import_react215.default.createElement(
|
|
18747
18947
|
Button,
|
|
18748
18948
|
{
|
|
18749
18949
|
variant: "secondary" /* secondary */,
|
|
@@ -18754,7 +18954,7 @@ var TasksListItem = ({
|
|
|
18754
18954
|
"Update"
|
|
18755
18955
|
);
|
|
18756
18956
|
} else {
|
|
18757
|
-
return /* @__PURE__ */
|
|
18957
|
+
return /* @__PURE__ */ import_react215.default.createElement(
|
|
18758
18958
|
Button,
|
|
18759
18959
|
{
|
|
18760
18960
|
variant: "secondary" /* secondary */,
|
|
@@ -18770,14 +18970,14 @@ var TasksListItem = ({
|
|
|
18770
18970
|
}
|
|
18771
18971
|
}
|
|
18772
18972
|
}, [task, selectedFiles, userResponse]);
|
|
18773
|
-
return /* @__PURE__ */
|
|
18973
|
+
return /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-list-item-wrapper" }, /* @__PURE__ */ import_react215.default.createElement("div", { className: taskItemClassName }, /* @__PURE__ */ import_react215.default.createElement(
|
|
18774
18974
|
"div",
|
|
18775
18975
|
{
|
|
18776
18976
|
className: "Layer__tasks-list-item__head",
|
|
18777
18977
|
onClick: () => setIsOpen(!isOpen)
|
|
18778
18978
|
},
|
|
18779
|
-
/* @__PURE__ */
|
|
18780
|
-
/* @__PURE__ */
|
|
18979
|
+
/* @__PURE__ */ import_react215.default.createElement("div", { className: taskHeadClassName }, /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-list-item__head-info__status" }, isComplete(task.status) ? /* @__PURE__ */ import_react215.default.createElement(Check_default, { size: 12 }) : /* @__PURE__ */ import_react215.default.createElement(AlertCircle_default, { size: 12 })), /* @__PURE__ */ import_react215.default.createElement(Text, { size: "md" /* md */ }, task.title)),
|
|
18980
|
+
/* @__PURE__ */ import_react215.default.createElement(
|
|
18781
18981
|
ChevronDownFill_default,
|
|
18782
18982
|
{
|
|
18783
18983
|
size: 16,
|
|
@@ -18787,14 +18987,14 @@ var TasksListItem = ({
|
|
|
18787
18987
|
}
|
|
18788
18988
|
}
|
|
18789
18989
|
)
|
|
18790
|
-
), /* @__PURE__ */
|
|
18990
|
+
), /* @__PURE__ */ import_react215.default.createElement("div", { className: taskBodyClassName }, /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-list-item__body-info" }, /* @__PURE__ */ import_react215.default.createElement(Text, { size: "sm" /* sm */ }, task.question), /* @__PURE__ */ import_react215.default.createElement(
|
|
18791
18991
|
Textarea,
|
|
18792
18992
|
{
|
|
18793
18993
|
value: userResponse,
|
|
18794
18994
|
placeholder: task.user_response_type === "UPLOAD_DOCUMENT" ? "Optional description" : "",
|
|
18795
18995
|
onChange: (e) => setUserResponse(e.target.value)
|
|
18796
18996
|
}
|
|
18797
|
-
), task.user_response_type === "UPLOAD_DOCUMENT" ? /* @__PURE__ */
|
|
18997
|
+
), task.user_response_type === "UPLOAD_DOCUMENT" ? /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-list__link-list" }, selectedFiles ? /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-list__link-list-header" }, "Selected Files:") : task.documents ? /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-list__link-list-header" }, "Uploaded Files:") : null, /* @__PURE__ */ import_react215.default.createElement("ul", { className: "Layer__tasks-list__links-list" }, (_a = task.documents) == null ? void 0 : _a.map((document2, idx) => /* @__PURE__ */ import_react215.default.createElement("li", { key: `uploaded-doc-name-${idx}` }, /* @__PURE__ */ import_react215.default.createElement("a", { className: "Layer__tasks-list-item__link", href: document2.presigned_url.presignedUrl }, document2.file_name))), selectedFiles == null ? void 0 : selectedFiles.map((file, idx) => /* @__PURE__ */ import_react215.default.createElement("li", { key: `selected-file-name-${idx}` }, /* @__PURE__ */ import_react215.default.createElement("a", { className: "Layer__tasks-list-item__link" }, file.name))))) : null, /* @__PURE__ */ import_react215.default.createElement("div", { className: "Layer__tasks-list-item__actions" }, task.user_response_type === "UPLOAD_DOCUMENT" ? uploadDocumentAction : /* @__PURE__ */ import_react215.default.createElement(
|
|
18798
18998
|
Button,
|
|
18799
18999
|
{
|
|
18800
19000
|
disabled: userResponse.length === 0 || userResponse === task.user_response,
|
|
@@ -18819,10 +19019,10 @@ function paginateArray(array, chunkSize = 10) {
|
|
|
18819
19019
|
}
|
|
18820
19020
|
return result;
|
|
18821
19021
|
}
|
|
18822
|
-
var TasksEmptyState = () => /* @__PURE__ */
|
|
19022
|
+
var TasksEmptyState = () => /* @__PURE__ */ import_react216.default.createElement("div", { className: "Layer__tasks-empty-state" }, /* @__PURE__ */ import_react216.default.createElement("div", { className: "Layer__tasks-icon" }, /* @__PURE__ */ import_react216.default.createElement(SmileIcon_default, null)), /* @__PURE__ */ import_react216.default.createElement(Text, { size: "sm" /* sm */ }, "There are no pending tasks!", /* @__PURE__ */ import_react216.default.createElement("br", null), " Great job!"));
|
|
18823
19023
|
var TasksList = ({ pageSize = 10 }) => {
|
|
18824
|
-
const { data: rawData, error, currentDate } = (0,
|
|
18825
|
-
const tasks = (0,
|
|
19024
|
+
const { data: rawData, error, currentDate } = (0, import_react216.useContext)(TasksContext);
|
|
19025
|
+
const tasks = (0, import_react216.useMemo)(() => {
|
|
18826
19026
|
return rawData == null ? void 0 : rawData.filter((x) => {
|
|
18827
19027
|
const d = x.effective_date ? (0, import_date_fns39.parseISO)(x.effective_date) : (0, import_date_fns39.parseISO)(x.created_at);
|
|
18828
19028
|
return !(0, import_date_fns39.isBefore)(d, (0, import_date_fns39.startOfMonth)(currentDate)) && !(0, import_date_fns39.isAfter)(d, (0, import_date_fns39.endOfMonth)(currentDate));
|
|
@@ -18832,10 +19032,10 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
18832
19032
|
tasks || [],
|
|
18833
19033
|
pageSize
|
|
18834
19034
|
).findIndex((page) => page.some((task) => !isComplete(task.status)));
|
|
18835
|
-
const [currentPage, setCurrentPage] = (0,
|
|
19035
|
+
const [currentPage, setCurrentPage] = (0, import_react216.useState)(
|
|
18836
19036
|
firstPageWithIincompleteTasks === -1 ? 1 : firstPageWithIincompleteTasks + 1
|
|
18837
19037
|
);
|
|
18838
|
-
const sortedTasks = (0,
|
|
19038
|
+
const sortedTasks = (0, import_react216.useMemo)(() => {
|
|
18839
19039
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
18840
19040
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
18841
19041
|
return tasks == null ? void 0 : tasks.sort((x) => isComplete(x.status) ? 1 : -1).slice(firstPageIndex, lastPageIndex);
|
|
@@ -18845,11 +19045,12 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
18845
19045
|
);
|
|
18846
19046
|
const goToNextPage = (task) => {
|
|
18847
19047
|
const allComplete = sortedTasks == null ? void 0 : sortedTasks.filter((taskInList) => taskInList.id !== task.id).every((task2) => isComplete(task2.status));
|
|
18848
|
-
|
|
19048
|
+
const hasMorePages = sortedTasks ? sortedTasks.length > pageSize * currentPage : false;
|
|
19049
|
+
if (allComplete && hasMorePages) {
|
|
18849
19050
|
setCurrentPage(currentPage + 1);
|
|
18850
19051
|
}
|
|
18851
19052
|
};
|
|
18852
|
-
return /* @__PURE__ */
|
|
19053
|
+
return /* @__PURE__ */ import_react216.default.createElement("div", { className: "Layer__tasks-list" }, sortedTasks && sortedTasks.length > 0 ? /* @__PURE__ */ import_react216.default.createElement(import_react216.default.Fragment, null, sortedTasks.map((task, index) => /* @__PURE__ */ import_react216.default.createElement(
|
|
18853
19054
|
TasksListItem,
|
|
18854
19055
|
{
|
|
18855
19056
|
key: task.id,
|
|
@@ -18857,7 +19058,7 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
18857
19058
|
goToNextPageIfAllComplete: goToNextPage,
|
|
18858
19059
|
defaultOpen: index === indexFirstIncomplete
|
|
18859
19060
|
}
|
|
18860
|
-
)), tasks && tasks.length >= 10 && /* @__PURE__ */
|
|
19061
|
+
)), tasks && tasks.length >= 10 && /* @__PURE__ */ import_react216.default.createElement("div", { className: "Layer__tasks__pagination" }, /* @__PURE__ */ import_react216.default.createElement(
|
|
18861
19062
|
Pagination,
|
|
18862
19063
|
{
|
|
18863
19064
|
currentPage,
|
|
@@ -18865,17 +19066,17 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
18865
19066
|
pageSize,
|
|
18866
19067
|
onPageChange: (page) => setCurrentPage(page)
|
|
18867
19068
|
}
|
|
18868
|
-
))) : /* @__PURE__ */
|
|
19069
|
+
))) : /* @__PURE__ */ import_react216.default.createElement(import_react216.default.Fragment, null, error ? /* @__PURE__ */ import_react216.default.createElement(ErrorText, null, "Approval failed. Check connection and retry in few seconds.") : /* @__PURE__ */ import_react216.default.createElement(TasksEmptyState, null)));
|
|
18869
19070
|
};
|
|
18870
19071
|
|
|
18871
19072
|
// src/components/TasksPending/TasksPending.tsx
|
|
18872
|
-
var
|
|
19073
|
+
var import_react217 = __toESM(require("react"));
|
|
18873
19074
|
var import_classnames69 = __toESM(require("classnames"));
|
|
18874
19075
|
var import_date_fns40 = require("date-fns");
|
|
18875
19076
|
var import_recharts4 = require("recharts");
|
|
18876
19077
|
var TasksPending = () => {
|
|
18877
|
-
const { data: rawData, currentDate } = (0,
|
|
18878
|
-
const data = (0,
|
|
19078
|
+
const { data: rawData, currentDate } = (0, import_react217.useContext)(TasksContext);
|
|
19079
|
+
const data = (0, import_react217.useMemo)(() => {
|
|
18879
19080
|
return rawData == null ? void 0 : rawData.filter((x) => {
|
|
18880
19081
|
const d = x.effective_date ? (0, import_date_fns40.parseISO)(x.effective_date) : (0, import_date_fns40.parseISO)(x.created_at);
|
|
18881
19082
|
return !(0, import_date_fns40.isBefore)(d, (0, import_date_fns40.startOfMonth)(currentDate)) && !(0, import_date_fns40.isAfter)(d, (0, import_date_fns40.endOfMonth)(currentDate));
|
|
@@ -18895,7 +19096,7 @@ var TasksPending = () => {
|
|
|
18895
19096
|
const taskStatusClassName = (0, import_classnames69.default)(
|
|
18896
19097
|
completedTasks && completedTasks > 0 ? "Layer__tasks-pending-bar__status--done" : "Layer__tasks-pending-bar__status--pending"
|
|
18897
19098
|
);
|
|
18898
|
-
return /* @__PURE__ */
|
|
19099
|
+
return /* @__PURE__ */ import_react217.default.createElement("div", { className: "Layer__tasks-pending" }, /* @__PURE__ */ import_react217.default.createElement(Text, { size: "lg" /* lg */ }, (0, import_date_fns40.format)(currentDate, "MMMM")), data && (data == null ? void 0 : data.length) > 0 ? /* @__PURE__ */ import_react217.default.createElement("div", { className: "Layer__tasks-pending-bar" }, /* @__PURE__ */ import_react217.default.createElement(Text, { size: "sm" /* sm */ }, /* @__PURE__ */ import_react217.default.createElement("span", { className: taskStatusClassName }, completedTasks), "/", data == null ? void 0 : data.length, " done"), /* @__PURE__ */ import_react217.default.createElement(import_recharts4.PieChart, { width: 24, height: 24, className: "mini-chart" }, /* @__PURE__ */ import_react217.default.createElement(
|
|
18899
19100
|
import_recharts4.Pie,
|
|
18900
19101
|
{
|
|
18901
19102
|
data: chartData,
|
|
@@ -18913,7 +19114,7 @@ var TasksPending = () => {
|
|
|
18913
19114
|
animationEasing: "ease-in-out"
|
|
18914
19115
|
},
|
|
18915
19116
|
chartData.map((task, index) => {
|
|
18916
|
-
return /* @__PURE__ */
|
|
19117
|
+
return /* @__PURE__ */ import_react217.default.createElement(
|
|
18917
19118
|
import_recharts4.Cell,
|
|
18918
19119
|
{
|
|
18919
19120
|
key: `cell-${index}`,
|
|
@@ -18926,11 +19127,11 @@ var TasksPending = () => {
|
|
|
18926
19127
|
};
|
|
18927
19128
|
|
|
18928
19129
|
// src/components/TasksMonthSelector/TasksMonthSelector.tsx
|
|
18929
|
-
var
|
|
19130
|
+
var import_react219 = __toESM(require("react"));
|
|
18930
19131
|
var import_date_fns41 = require("date-fns");
|
|
18931
19132
|
|
|
18932
19133
|
// src/components/TasksMonthSelector/TaskMonthTile.tsx
|
|
18933
|
-
var
|
|
19134
|
+
var import_react218 = __toESM(require("react"));
|
|
18934
19135
|
var import_classnames70 = __toESM(require("classnames"));
|
|
18935
19136
|
var TaskMonthTile = ({ monthData, onClick, active, disabled }) => {
|
|
18936
19137
|
const isCompleted = monthData.total === monthData.completed;
|
|
@@ -18940,7 +19141,7 @@ var TaskMonthTile = ({ monthData, onClick, active, disabled }) => {
|
|
|
18940
19141
|
active && "Layer__tasks-month-selector__month--active",
|
|
18941
19142
|
disabled && "Layer__tasks-month-selector__month--disabled"
|
|
18942
19143
|
);
|
|
18943
|
-
return /* @__PURE__ */
|
|
19144
|
+
return /* @__PURE__ */ import_react218.default.createElement("div", { className: baseClass, onClick: () => !disabled && onClick(monthData.startDate) }, /* @__PURE__ */ import_react218.default.createElement(Text, { size: "sm" /* sm */, className: "Layer__tasks-month-selector__month__str" }, monthData.monthStr), /* @__PURE__ */ import_react218.default.createElement(Text, { size: "sm" /* sm */, className: "Layer__tasks-month-selector__month__total" }, monthData.total > 0 && isCompleted ? monthData.total : ""), isCompleted && monthData.total > 0 && /* @__PURE__ */ import_react218.default.createElement("span", { className: "Layer__tasks-month-selector__month__completed" }, /* @__PURE__ */ import_react218.default.createElement(Check_default, { size: 12 })), !isCompleted && monthData.total > 0 && /* @__PURE__ */ import_react218.default.createElement("span", { className: "Layer__tasks-month-selector__month__incompleted" }, /* @__PURE__ */ import_react218.default.createElement(Text, { size: "sm" /* sm */ }, monthData.total), /* @__PURE__ */ import_react218.default.createElement(AlertCircle_default, { size: 12 })));
|
|
18944
19145
|
};
|
|
18945
19146
|
|
|
18946
19147
|
// src/components/TasksMonthSelector/TasksMonthSelector.tsx
|
|
@@ -18952,7 +19153,7 @@ var DEFAULT_TASK_DATA = {
|
|
|
18952
19153
|
var isCurrentMonth = (monthDate, currentDate) => (0, import_date_fns41.getMonth)(currentDate) === (0, import_date_fns41.getMonth)(monthDate) && (0, import_date_fns41.getYear)(currentDate) === (0, import_date_fns41.getYear)(monthDate);
|
|
18953
19154
|
var TasksMonthSelector = ({ tasks, year, currentDate, onClick }) => {
|
|
18954
19155
|
const { business } = useLayerContext();
|
|
18955
|
-
const minDate = (0,
|
|
19156
|
+
const minDate = (0, import_react219.useMemo)(() => {
|
|
18956
19157
|
if (business) {
|
|
18957
19158
|
const date = getEarliestDateToBrowse(business);
|
|
18958
19159
|
if (date) {
|
|
@@ -18961,7 +19162,7 @@ var TasksMonthSelector = ({ tasks, year, currentDate, onClick }) => {
|
|
|
18961
19162
|
}
|
|
18962
19163
|
return;
|
|
18963
19164
|
}, [business]);
|
|
18964
|
-
const months = (0,
|
|
19165
|
+
const months = (0, import_react219.useMemo)(() => {
|
|
18965
19166
|
return Array.from({ length: 12 }, (_, i) => {
|
|
18966
19167
|
var _a;
|
|
18967
19168
|
const startDate = (0, import_date_fns41.set)(
|
|
@@ -18985,8 +19186,8 @@ var TasksMonthSelector = ({ tasks, year, currentDate, onClick }) => {
|
|
|
18985
19186
|
}, taskData);
|
|
18986
19187
|
});
|
|
18987
19188
|
}, [tasks, year, minDate]);
|
|
18988
|
-
return /* @__PURE__ */
|
|
18989
|
-
return /* @__PURE__ */
|
|
19189
|
+
return /* @__PURE__ */ import_react219.default.createElement("div", { className: "Layer__tasks-month-selector" }, months.map((month, idx) => {
|
|
19190
|
+
return /* @__PURE__ */ import_react219.default.createElement(
|
|
18990
19191
|
TaskMonthTile,
|
|
18991
19192
|
{
|
|
18992
19193
|
key: idx,
|
|
@@ -19002,7 +19203,7 @@ var TasksMonthSelector = ({ tasks, year, currentDate, onClick }) => {
|
|
|
19002
19203
|
// src/components/Tasks/Tasks.tsx
|
|
19003
19204
|
var import_classnames71 = __toESM(require("classnames"));
|
|
19004
19205
|
var import_date_fns42 = require("date-fns");
|
|
19005
|
-
var UseTasksContext = (0,
|
|
19206
|
+
var UseTasksContext = (0, import_react220.createContext)({
|
|
19006
19207
|
data: void 0,
|
|
19007
19208
|
isLoading: void 0,
|
|
19008
19209
|
loadedStatus: "initial",
|
|
@@ -19032,7 +19233,7 @@ var Tasks = ({
|
|
|
19032
19233
|
// deprecated
|
|
19033
19234
|
stringOverrides
|
|
19034
19235
|
}) => {
|
|
19035
|
-
return /* @__PURE__ */
|
|
19236
|
+
return /* @__PURE__ */ import_react220.default.createElement(TasksProvider, null, /* @__PURE__ */ import_react220.default.createElement(
|
|
19036
19237
|
TasksComponent,
|
|
19037
19238
|
{
|
|
19038
19239
|
collapsable,
|
|
@@ -19045,7 +19246,7 @@ var Tasks = ({
|
|
|
19045
19246
|
};
|
|
19046
19247
|
var TasksProvider = ({ children }) => {
|
|
19047
19248
|
const contextData = useTasks();
|
|
19048
|
-
return /* @__PURE__ */
|
|
19249
|
+
return /* @__PURE__ */ import_react220.default.createElement(TasksContext.Provider, { value: contextData }, children);
|
|
19049
19250
|
};
|
|
19050
19251
|
var TasksComponent = ({
|
|
19051
19252
|
collapsable = false,
|
|
@@ -19063,8 +19264,8 @@ var TasksComponent = ({
|
|
|
19063
19264
|
currentDate,
|
|
19064
19265
|
setCurrentDate,
|
|
19065
19266
|
dateRange
|
|
19066
|
-
} = (0,
|
|
19067
|
-
const allComplete = (0,
|
|
19267
|
+
} = (0, import_react220.useContext)(TasksContext);
|
|
19268
|
+
const allComplete = (0, import_react220.useMemo)(() => {
|
|
19068
19269
|
if (!data) {
|
|
19069
19270
|
return void 0;
|
|
19070
19271
|
}
|
|
@@ -19073,15 +19274,15 @@ var TasksComponent = ({
|
|
|
19073
19274
|
}
|
|
19074
19275
|
return false;
|
|
19075
19276
|
}, [data, isLoading]);
|
|
19076
|
-
const [open, setOpen] = (0,
|
|
19277
|
+
const [open, setOpen] = (0, import_react220.useState)(
|
|
19077
19278
|
defaultCollapsed || collapsedWhenComplete ? false : true
|
|
19078
19279
|
);
|
|
19079
|
-
(0,
|
|
19280
|
+
(0, import_react220.useEffect)(() => {
|
|
19080
19281
|
if (allComplete && open && collapsedWhenComplete && loadedStatus === "complete") {
|
|
19081
19282
|
setOpen(false);
|
|
19082
19283
|
}
|
|
19083
19284
|
}, [allComplete]);
|
|
19084
|
-
return /* @__PURE__ */
|
|
19285
|
+
return /* @__PURE__ */ import_react220.default.createElement("div", { className: "Layer__tasks-component" }, /* @__PURE__ */ import_react220.default.createElement(
|
|
19085
19286
|
TasksHeader,
|
|
19086
19287
|
{
|
|
19087
19288
|
tasksHeader: (stringOverrides == null ? void 0 : stringOverrides.header) || tasksHeader,
|
|
@@ -19089,7 +19290,7 @@ var TasksComponent = ({
|
|
|
19089
19290
|
open,
|
|
19090
19291
|
toggleContent: () => setOpen(!open)
|
|
19091
19292
|
}
|
|
19092
|
-
), /* @__PURE__ */
|
|
19293
|
+
), /* @__PURE__ */ import_react220.default.createElement(
|
|
19093
19294
|
"div",
|
|
19094
19295
|
{
|
|
19095
19296
|
className: (0, import_classnames71.default)(
|
|
@@ -19097,7 +19298,7 @@ var TasksComponent = ({
|
|
|
19097
19298
|
!open && "Layer__tasks__content--collapsed"
|
|
19098
19299
|
)
|
|
19099
19300
|
},
|
|
19100
|
-
isLoading || !data ? /* @__PURE__ */
|
|
19301
|
+
isLoading || !data ? /* @__PURE__ */ import_react220.default.createElement("div", { className: "Layer__tasks__loader-container" }, /* @__PURE__ */ import_react220.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react220.default.createElement(import_react220.default.Fragment, null, /* @__PURE__ */ import_react220.default.createElement(
|
|
19101
19302
|
TasksMonthSelector,
|
|
19102
19303
|
{
|
|
19103
19304
|
tasks: monthlyData,
|
|
@@ -19105,21 +19306,21 @@ var TasksComponent = ({
|
|
|
19105
19306
|
onClick: setCurrentDate,
|
|
19106
19307
|
year: (0, import_date_fns42.getYear)(dateRange.startDate)
|
|
19107
19308
|
}
|
|
19108
|
-
), /* @__PURE__ */
|
|
19309
|
+
), /* @__PURE__ */ import_react220.default.createElement(TasksPending, null), /* @__PURE__ */ import_react220.default.createElement(TasksList, null))
|
|
19109
19310
|
));
|
|
19110
19311
|
};
|
|
19111
19312
|
|
|
19112
19313
|
// src/components/PlatformOnboarding/LinkAccounts.tsx
|
|
19113
|
-
var
|
|
19314
|
+
var import_react221 = __toESM(require("react"));
|
|
19114
19315
|
var LinkAccounts = (_a) => {
|
|
19115
19316
|
var _b = _a, { inBox } = _b, props = __objRest(_b, ["inBox"]);
|
|
19116
|
-
const content = (0,
|
|
19317
|
+
const content = (0, import_react221.useMemo)(() => {
|
|
19117
19318
|
if (inBox) {
|
|
19118
|
-
return /* @__PURE__ */
|
|
19319
|
+
return /* @__PURE__ */ import_react221.default.createElement("div", { className: "Layer__link-accounts__box" }, /* @__PURE__ */ import_react221.default.createElement(LinkAccountsContent, __spreadValues({}, props)));
|
|
19119
19320
|
}
|
|
19120
|
-
return /* @__PURE__ */
|
|
19321
|
+
return /* @__PURE__ */ import_react221.default.createElement(LinkAccountsContent, __spreadValues({}, props));
|
|
19121
19322
|
}, [inBox, props]);
|
|
19122
|
-
return /* @__PURE__ */
|
|
19323
|
+
return /* @__PURE__ */ import_react221.default.createElement(LinkedAccountsProvider, null, content);
|
|
19123
19324
|
};
|
|
19124
19325
|
var LinkAccountsContent = ({
|
|
19125
19326
|
title,
|
|
@@ -19133,8 +19334,8 @@ var LinkAccountsContent = ({
|
|
|
19133
19334
|
onNext
|
|
19134
19335
|
}) => {
|
|
19135
19336
|
var _a;
|
|
19136
|
-
const { data, loadingStatus, error, refetchAccounts, addConnection } = (0,
|
|
19137
|
-
return /* @__PURE__ */
|
|
19337
|
+
const { data, loadingStatus, error, refetchAccounts, addConnection } = (0, import_react221.useContext)(LinkedAccountsContext);
|
|
19338
|
+
return /* @__PURE__ */ import_react221.default.createElement("div", { className: "Layer__link-accounts Layer__component" }, title && /* @__PURE__ */ import_react221.default.createElement(Heading, { size: "view" /* view */ }, title), data && data.length === 0 ? /* @__PURE__ */ import_react221.default.createElement("div", { className: "Layer__link-accounts__data-status-container" }, !hideLoading && loadingStatus !== "complete" ? /* @__PURE__ */ import_react221.default.createElement(Loader2, null) : null, Boolean(error) && /* @__PURE__ */ import_react221.default.createElement(
|
|
19138
19339
|
DataState,
|
|
19139
19340
|
{
|
|
19140
19341
|
status: "failed" /* failed */,
|
|
@@ -19142,7 +19343,7 @@ var LinkAccountsContent = ({
|
|
|
19142
19343
|
description: "Please try again later",
|
|
19143
19344
|
onRefresh: refetchAccounts
|
|
19144
19345
|
}
|
|
19145
|
-
)) : null, data && data.length > 0 ? /* @__PURE__ */
|
|
19346
|
+
)) : null, data && data.length > 0 ? /* @__PURE__ */ import_react221.default.createElement("div", { className: "Layer__link-accounts__list" }, data == null ? void 0 : data.map((account, index) => /* @__PURE__ */ import_react221.default.createElement(
|
|
19146
19347
|
LinkedAccountItemThumb,
|
|
19147
19348
|
{
|
|
19148
19349
|
key: index,
|
|
@@ -19152,33 +19353,33 @@ var LinkAccountsContent = ({
|
|
|
19152
19353
|
showBreakConnection,
|
|
19153
19354
|
asWidget
|
|
19154
19355
|
}
|
|
19155
|
-
))) : null, /* @__PURE__ */
|
|
19356
|
+
))) : null, /* @__PURE__ */ import_react221.default.createElement(
|
|
19156
19357
|
ActionableRow,
|
|
19157
19358
|
{
|
|
19158
|
-
iconBox: /* @__PURE__ */
|
|
19359
|
+
iconBox: /* @__PURE__ */ import_react221.default.createElement(PlaidIcon_default, null),
|
|
19159
19360
|
title: data && data.length > 0 ? "Connect my next business account" : "Connect accounts",
|
|
19160
19361
|
description: "Import data with one simple integration.",
|
|
19161
|
-
button: /* @__PURE__ */
|
|
19362
|
+
button: /* @__PURE__ */ import_react221.default.createElement(
|
|
19162
19363
|
Button,
|
|
19163
19364
|
{
|
|
19164
19365
|
onClick: () => addConnection("PLAID"),
|
|
19165
|
-
rightIcon: /* @__PURE__ */
|
|
19366
|
+
rightIcon: /* @__PURE__ */ import_react221.default.createElement(Link_default, { size: 12 }),
|
|
19166
19367
|
disabled: loadingStatus !== "complete"
|
|
19167
19368
|
},
|
|
19168
19369
|
data && data.length > 0 ? "Connect next" : "Connect"
|
|
19169
19370
|
)
|
|
19170
19371
|
}
|
|
19171
|
-
), /* @__PURE__ */
|
|
19372
|
+
), /* @__PURE__ */ import_react221.default.createElement(LinkedAccountsConfirmationModal, null), onBack || onNext ? /* @__PURE__ */ import_react221.default.createElement("div", { className: "Layer__link-accounts__footer" }, onBack && /* @__PURE__ */ import_react221.default.createElement(Button, { onClick: onBack, variant: "secondary" /* secondary */ }, (_a = stringOverrides == null ? void 0 : stringOverrides.backButtonText) != null ? _a : "Back"), onNext && /* @__PURE__ */ import_react221.default.createElement(Button, { onClick: onNext }, (stringOverrides == null ? void 0 : stringOverrides.nextButtonText) || "I\u2019m done connecting my business accounts")) : null);
|
|
19172
19373
|
};
|
|
19173
19374
|
|
|
19174
19375
|
// src/components/UpsellBanner/BookkeepingUpsellBar.tsx
|
|
19175
|
-
var
|
|
19376
|
+
var import_react222 = __toESM(require("react"));
|
|
19176
19377
|
|
|
19177
19378
|
// src/icons/Coffee.tsx
|
|
19178
|
-
var
|
|
19379
|
+
var React222 = __toESM(require("react"));
|
|
19179
19380
|
var CoffeeIcon = (_a) => {
|
|
19180
19381
|
var _b = _a, { size = 11 } = _b, props = __objRest(_b, ["size"]);
|
|
19181
|
-
return /* @__PURE__ */
|
|
19382
|
+
return /* @__PURE__ */ React222.createElement(
|
|
19182
19383
|
"svg",
|
|
19183
19384
|
__spreadProps(__spreadValues({
|
|
19184
19385
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -19188,7 +19389,7 @@ var CoffeeIcon = (_a) => {
|
|
|
19188
19389
|
width: size,
|
|
19189
19390
|
height: size
|
|
19190
19391
|
}),
|
|
19191
|
-
/* @__PURE__ */
|
|
19392
|
+
/* @__PURE__ */ React222.createElement("g", { clipPath: "url(#clip0_5018_10141)" }, /* @__PURE__ */ React222.createElement(
|
|
19192
19393
|
"path",
|
|
19193
19394
|
{
|
|
19194
19395
|
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",
|
|
@@ -19196,7 +19397,7 @@ var CoffeeIcon = (_a) => {
|
|
|
19196
19397
|
strokeLinecap: "round",
|
|
19197
19398
|
strokeLinejoin: "round"
|
|
19198
19399
|
}
|
|
19199
|
-
), /* @__PURE__ */
|
|
19400
|
+
), /* @__PURE__ */ React222.createElement(
|
|
19200
19401
|
"path",
|
|
19201
19402
|
{
|
|
19202
19403
|
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",
|
|
@@ -19204,7 +19405,7 @@ var CoffeeIcon = (_a) => {
|
|
|
19204
19405
|
strokeLinecap: "round",
|
|
19205
19406
|
strokeLinejoin: "round"
|
|
19206
19407
|
}
|
|
19207
|
-
), /* @__PURE__ */
|
|
19408
|
+
), /* @__PURE__ */ React222.createElement(
|
|
19208
19409
|
"path",
|
|
19209
19410
|
{
|
|
19210
19411
|
d: "M8.75 0.958344V2.33334",
|
|
@@ -19212,7 +19413,7 @@ var CoffeeIcon = (_a) => {
|
|
|
19212
19413
|
strokeLinecap: "round",
|
|
19213
19414
|
strokeLinejoin: "round"
|
|
19214
19415
|
}
|
|
19215
|
-
), /* @__PURE__ */
|
|
19416
|
+
), /* @__PURE__ */ React222.createElement(
|
|
19216
19417
|
"path",
|
|
19217
19418
|
{
|
|
19218
19419
|
d: "M6.91663 0.958344V2.33334",
|
|
@@ -19220,7 +19421,7 @@ var CoffeeIcon = (_a) => {
|
|
|
19220
19421
|
strokeLinecap: "round",
|
|
19221
19422
|
strokeLinejoin: "round"
|
|
19222
19423
|
}
|
|
19223
|
-
), /* @__PURE__ */
|
|
19424
|
+
), /* @__PURE__ */ React222.createElement(
|
|
19224
19425
|
"path",
|
|
19225
19426
|
{
|
|
19226
19427
|
d: "M5.08337 0.958344V2.33334",
|
|
@@ -19229,7 +19430,7 @@ var CoffeeIcon = (_a) => {
|
|
|
19229
19430
|
strokeLinejoin: "round"
|
|
19230
19431
|
}
|
|
19231
19432
|
)),
|
|
19232
|
-
/* @__PURE__ */
|
|
19433
|
+
/* @__PURE__ */ React222.createElement("defs", null, /* @__PURE__ */ React222.createElement("clipPath", { id: "clip0_5018_10141" }, /* @__PURE__ */ React222.createElement(
|
|
19233
19434
|
"rect",
|
|
19234
19435
|
{
|
|
19235
19436
|
width: "11",
|
|
@@ -19247,26 +19448,26 @@ var BookkeepingUpsellBar = ({
|
|
|
19247
19448
|
onClick,
|
|
19248
19449
|
href
|
|
19249
19450
|
}) => {
|
|
19250
|
-
return /* @__PURE__ */
|
|
19451
|
+
return /* @__PURE__ */ import_react222.default.createElement("div", { className: "Layer__bar-banner Layer__bar-banner--bookkeeping" }, /* @__PURE__ */ import_react222.default.createElement("div", { className: "Layer__bar-banner__left-col" }, /* @__PURE__ */ import_react222.default.createElement(IconBox, null, /* @__PURE__ */ import_react222.default.createElement(Coffee_default, null)), /* @__PURE__ */ import_react222.default.createElement("div", { className: "Layer__bar-banner__text-container" }, /* @__PURE__ */ import_react222.default.createElement(Text, { size: "md" /* md */, weight: "bold" /* bold */ }, "Need help with your books?"), /* @__PURE__ */ import_react222.default.createElement(
|
|
19251
19452
|
Text,
|
|
19252
19453
|
{
|
|
19253
19454
|
size: "sm" /* sm */,
|
|
19254
19455
|
className: "Layer__bar-banner__text-container__desc"
|
|
19255
19456
|
},
|
|
19256
19457
|
"Order bookkeeping service supported by real humans."
|
|
19257
|
-
))), onClick ? /* @__PURE__ */
|
|
19458
|
+
))), onClick ? /* @__PURE__ */ import_react222.default.createElement(Button, { variant: "secondary" /* secondary */, onClick }, "Schedule a demo") : href ? /* @__PURE__ */ import_react222.default.createElement(Link2, { href, target: "_blank", variant: "secondary" /* secondary */ }, "Schedule a demo") : null);
|
|
19258
19459
|
};
|
|
19259
19460
|
|
|
19260
19461
|
// src/views/BookkeepingOverview/BookkeepingOverview.tsx
|
|
19261
|
-
var
|
|
19462
|
+
var import_react224 = __toESM(require("react"));
|
|
19262
19463
|
|
|
19263
19464
|
// src/views/BookkeepingOverview/internal/BookkeepingProfitAndLossSummariesContainer.tsx
|
|
19264
|
-
var
|
|
19465
|
+
var import_react223 = __toESM(require("react"));
|
|
19265
19466
|
var CLASS_NAME7 = "Layer__BookkeepingProfitAndLossSummariesContainer";
|
|
19266
19467
|
function BookkeepingProfitAndLossSummariesContainer({
|
|
19267
19468
|
children
|
|
19268
19469
|
}) {
|
|
19269
|
-
return /* @__PURE__ */
|
|
19470
|
+
return /* @__PURE__ */ import_react223.default.createElement("div", { className: CLASS_NAME7 }, children);
|
|
19270
19471
|
}
|
|
19271
19472
|
|
|
19272
19473
|
// src/views/BookkeepingOverview/BookkeepingOverview.tsx
|
|
@@ -19278,19 +19479,19 @@ var BookkeepingOverview = ({
|
|
|
19278
19479
|
slotProps
|
|
19279
19480
|
}) => {
|
|
19280
19481
|
var _a, _b, _c, _d, _e, _f;
|
|
19281
|
-
const [pnlToggle, setPnlToggle] = (0,
|
|
19482
|
+
const [pnlToggle, setPnlToggle] = (0, import_react224.useState)("expenses");
|
|
19282
19483
|
const [width] = useWindowSize();
|
|
19283
19484
|
const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
|
|
19284
|
-
return /* @__PURE__ */
|
|
19485
|
+
return /* @__PURE__ */ import_react224.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react224.default.createElement(TasksProvider, null, /* @__PURE__ */ import_react224.default.createElement(
|
|
19285
19486
|
View,
|
|
19286
19487
|
{
|
|
19287
19488
|
viewClassName: "Layer__bookkeeping-overview--view",
|
|
19288
19489
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "Bookkeeping overview",
|
|
19289
19490
|
withSidebar: width > 1100,
|
|
19290
|
-
sidebar: /* @__PURE__ */
|
|
19491
|
+
sidebar: /* @__PURE__ */ import_react224.default.createElement(TasksComponent, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.tasks }),
|
|
19291
19492
|
showHeader: showTitle
|
|
19292
19493
|
},
|
|
19293
|
-
width <= 1100 && /* @__PURE__ */
|
|
19494
|
+
width <= 1100 && /* @__PURE__ */ import_react224.default.createElement(
|
|
19294
19495
|
TasksComponent,
|
|
19295
19496
|
{
|
|
19296
19497
|
collapsable: true,
|
|
@@ -19298,30 +19499,30 @@ var BookkeepingOverview = ({
|
|
|
19298
19499
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.tasks
|
|
19299
19500
|
}
|
|
19300
19501
|
),
|
|
19301
|
-
/* @__PURE__ */
|
|
19502
|
+
/* @__PURE__ */ import_react224.default.createElement(
|
|
19302
19503
|
Container,
|
|
19303
19504
|
{
|
|
19304
19505
|
name: "bookkeeping-overview-profit-and-loss",
|
|
19305
19506
|
asWidget: true,
|
|
19306
19507
|
elevated: true
|
|
19307
19508
|
},
|
|
19308
|
-
/* @__PURE__ */
|
|
19509
|
+
/* @__PURE__ */ import_react224.default.createElement(
|
|
19309
19510
|
ProfitAndLoss.Header,
|
|
19310
19511
|
{
|
|
19311
19512
|
text: ((_c = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _c.header) || "Profit & Loss",
|
|
19312
19513
|
withDatePicker: true
|
|
19313
19514
|
}
|
|
19314
19515
|
),
|
|
19315
|
-
/* @__PURE__ */
|
|
19516
|
+
/* @__PURE__ */ import_react224.default.createElement(BookkeepingProfitAndLossSummariesContainer, null, /* @__PURE__ */ import_react224.default.createElement(
|
|
19316
19517
|
ProfitAndLoss.Summaries,
|
|
19317
19518
|
{
|
|
19318
19519
|
stringOverrides: (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.summaries,
|
|
19319
19520
|
variants: profitAndLossSummariesVariants
|
|
19320
19521
|
}
|
|
19321
19522
|
)),
|
|
19322
|
-
/* @__PURE__ */
|
|
19523
|
+
/* @__PURE__ */ import_react224.default.createElement(ProfitAndLoss.Chart, null)
|
|
19323
19524
|
),
|
|
19324
|
-
/* @__PURE__ */
|
|
19525
|
+
/* @__PURE__ */ import_react224.default.createElement("div", { className: "Layer__bookkeeping-overview-profit-and-loss-charts" }, /* @__PURE__ */ import_react224.default.createElement(
|
|
19325
19526
|
Toggle,
|
|
19326
19527
|
{
|
|
19327
19528
|
name: "pnl-detailed-charts",
|
|
@@ -19338,7 +19539,7 @@ var BookkeepingOverview = ({
|
|
|
19338
19539
|
selected: pnlToggle,
|
|
19339
19540
|
onChange: (e) => setPnlToggle(e.target.value)
|
|
19340
19541
|
}
|
|
19341
|
-
), /* @__PURE__ */
|
|
19542
|
+
), /* @__PURE__ */ import_react224.default.createElement(
|
|
19342
19543
|
Container,
|
|
19343
19544
|
{
|
|
19344
19545
|
name: (0, import_classnames72.default)(
|
|
@@ -19346,7 +19547,7 @@ var BookkeepingOverview = ({
|
|
|
19346
19547
|
pnlToggle !== "revenue" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
19347
19548
|
)
|
|
19348
19549
|
},
|
|
19349
|
-
/* @__PURE__ */
|
|
19550
|
+
/* @__PURE__ */ import_react224.default.createElement(
|
|
19350
19551
|
ProfitAndLoss.DetailedCharts,
|
|
19351
19552
|
{
|
|
19352
19553
|
scope: "revenue",
|
|
@@ -19354,7 +19555,7 @@ var BookkeepingOverview = ({
|
|
|
19354
19555
|
stringOverrides: (_e = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _e.detailedCharts
|
|
19355
19556
|
}
|
|
19356
19557
|
)
|
|
19357
|
-
), /* @__PURE__ */
|
|
19558
|
+
), /* @__PURE__ */ import_react224.default.createElement(
|
|
19358
19559
|
Container,
|
|
19359
19560
|
{
|
|
19360
19561
|
name: (0, import_classnames72.default)(
|
|
@@ -19362,7 +19563,7 @@ var BookkeepingOverview = ({
|
|
|
19362
19563
|
pnlToggle !== "expenses" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
19363
19564
|
)
|
|
19364
19565
|
},
|
|
19365
|
-
/* @__PURE__ */
|
|
19566
|
+
/* @__PURE__ */ import_react224.default.createElement(
|
|
19366
19567
|
ProfitAndLoss.DetailedCharts,
|
|
19367
19568
|
{
|
|
19368
19569
|
scope: "expenses",
|
|
@@ -19375,15 +19576,15 @@ var BookkeepingOverview = ({
|
|
|
19375
19576
|
};
|
|
19376
19577
|
|
|
19377
19578
|
// src/views/AccountingOverview/AccountingOverview.tsx
|
|
19378
|
-
var
|
|
19579
|
+
var import_react227 = __toESM(require("react"));
|
|
19379
19580
|
|
|
19380
19581
|
// src/views/AccountingOverview/internal/TransactionsToReview.tsx
|
|
19381
|
-
var
|
|
19582
|
+
var import_react226 = __toESM(require("react"));
|
|
19382
19583
|
|
|
19383
19584
|
// src/components/BadgeLoader/BadgeLoader.tsx
|
|
19384
|
-
var
|
|
19585
|
+
var import_react225 = __toESM(require("react"));
|
|
19385
19586
|
var BadgeLoader = ({ children }) => {
|
|
19386
|
-
return /* @__PURE__ */
|
|
19587
|
+
return /* @__PURE__ */ import_react225.default.createElement("span", { className: "Layer__loader Layer__loader--as-badge" }, /* @__PURE__ */ import_react225.default.createElement(Loader_default, { size: 11, className: "Layer__anim--rotating" }), children);
|
|
19387
19588
|
};
|
|
19388
19589
|
|
|
19389
19590
|
// src/views/AccountingOverview/internal/TransactionsToReview.tsx
|
|
@@ -19396,17 +19597,17 @@ function TransactionsToReview({
|
|
|
19396
19597
|
variants
|
|
19397
19598
|
}) {
|
|
19398
19599
|
const { size = "sm" } = variants != null ? variants : {};
|
|
19399
|
-
const { dateRange: contextDateRange } = (0,
|
|
19600
|
+
const { dateRange: contextDateRange } = (0, import_react226.useContext)(ProfitAndLoss.Context);
|
|
19400
19601
|
const dateRange = usePnlDateRange ? contextDateRange : void 0;
|
|
19401
|
-
const [toReview, setToReview] = (0,
|
|
19602
|
+
const [toReview, setToReview] = (0, import_react226.useState)(0);
|
|
19402
19603
|
const { data, loaded, error, refetch } = useProfitAndLossLTM({
|
|
19403
19604
|
currentDate: dateRange ? dateRange.startDate : (0, import_date_fns43.startOfMonth)(/* @__PURE__ */ new Date()),
|
|
19404
19605
|
tagFilter
|
|
19405
19606
|
});
|
|
19406
|
-
(0,
|
|
19607
|
+
(0, import_react226.useEffect)(() => {
|
|
19407
19608
|
checkTransactionsToReview();
|
|
19408
19609
|
}, []);
|
|
19409
|
-
(0,
|
|
19610
|
+
(0, import_react226.useEffect)(() => {
|
|
19410
19611
|
checkTransactionsToReview();
|
|
19411
19612
|
}, [dateRange, loaded]);
|
|
19412
19613
|
const checkTransactionsToReview = () => {
|
|
@@ -19428,33 +19629,33 @@ function TransactionsToReview({
|
|
|
19428
19629
|
verticalGap = "sm";
|
|
19429
19630
|
break;
|
|
19430
19631
|
}
|
|
19431
|
-
return /* @__PURE__ */
|
|
19632
|
+
return /* @__PURE__ */ import_react226.default.createElement("div", { onClick, className: CLASS_NAME8 }, /* @__PURE__ */ import_react226.default.createElement(VStack, { gap: verticalGap, align: "start" }, /* @__PURE__ */ import_react226.default.createElement(ProfitAndLossSummariesHeading, { variants }, "Transactions to review"), loaded === "initial" || loaded === "loading" ? /* @__PURE__ */ import_react226.default.createElement(BadgeLoader, null) : null, loaded === "complete" && error ? /* @__PURE__ */ import_react226.default.createElement(
|
|
19432
19633
|
Badge,
|
|
19433
19634
|
{
|
|
19434
19635
|
variant: "error" /* ERROR */,
|
|
19435
19636
|
size: "small" /* SMALL */,
|
|
19436
|
-
icon: /* @__PURE__ */
|
|
19637
|
+
icon: /* @__PURE__ */ import_react226.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
19437
19638
|
onClick: () => refetch()
|
|
19438
19639
|
},
|
|
19439
19640
|
"Refresh"
|
|
19440
|
-
) : null, loaded === "complete" && !error && toReview > 0 ? /* @__PURE__ */
|
|
19641
|
+
) : null, loaded === "complete" && !error && toReview > 0 ? /* @__PURE__ */ import_react226.default.createElement(
|
|
19441
19642
|
Badge,
|
|
19442
19643
|
{
|
|
19443
19644
|
variant: "warning" /* WARNING */,
|
|
19444
19645
|
size: "small" /* SMALL */,
|
|
19445
|
-
icon: /* @__PURE__ */
|
|
19646
|
+
icon: /* @__PURE__ */ import_react226.default.createElement(Bell_default, { size: 12 })
|
|
19446
19647
|
},
|
|
19447
19648
|
toReview,
|
|
19448
19649
|
" pending"
|
|
19449
|
-
) : null, loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */
|
|
19650
|
+
) : null, loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */ import_react226.default.createElement(
|
|
19450
19651
|
Badge,
|
|
19451
19652
|
{
|
|
19452
19653
|
variant: "success" /* SUCCESS */,
|
|
19453
19654
|
size: "small" /* SMALL */,
|
|
19454
|
-
icon: /* @__PURE__ */
|
|
19655
|
+
icon: /* @__PURE__ */ import_react226.default.createElement(Check_default, { size: 12 })
|
|
19455
19656
|
},
|
|
19456
19657
|
"All done"
|
|
19457
|
-
) : null), /* @__PURE__ */
|
|
19658
|
+
) : null), /* @__PURE__ */ import_react226.default.createElement(IconButton, { icon: /* @__PURE__ */ import_react226.default.createElement(ChevronRight_default, null), withBorder: true, onClick }));
|
|
19458
19659
|
}
|
|
19459
19660
|
|
|
19460
19661
|
// src/views/AccountingOverview/AccountingOverview.tsx
|
|
@@ -19473,36 +19674,36 @@ var AccountingOverview = ({
|
|
|
19473
19674
|
slotProps
|
|
19474
19675
|
}) => {
|
|
19475
19676
|
var _a, _b, _c, _d, _e;
|
|
19476
|
-
const [pnlToggle, setPnlToggle] = (0,
|
|
19677
|
+
const [pnlToggle, setPnlToggle] = (0, import_react227.useState)("expenses");
|
|
19477
19678
|
const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
|
|
19478
|
-
return /* @__PURE__ */
|
|
19679
|
+
return /* @__PURE__ */ import_react227.default.createElement(
|
|
19479
19680
|
ProfitAndLoss,
|
|
19480
19681
|
{
|
|
19481
19682
|
asContainer: false,
|
|
19482
19683
|
tagFilter: tagFilter ? { key: tagFilter.tagKey, values: tagFilter.tagValues } : void 0
|
|
19483
19684
|
},
|
|
19484
|
-
/* @__PURE__ */
|
|
19685
|
+
/* @__PURE__ */ import_react227.default.createElement(
|
|
19485
19686
|
View,
|
|
19486
19687
|
{
|
|
19487
19688
|
title,
|
|
19488
19689
|
showHeader: showTitle,
|
|
19489
|
-
header: /* @__PURE__ */
|
|
19690
|
+
header: /* @__PURE__ */ import_react227.default.createElement(Header2, null, /* @__PURE__ */ import_react227.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react227.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react227.default.createElement(ProfitAndLoss.DatePicker, null))))
|
|
19490
19691
|
},
|
|
19491
|
-
enableOnboarding && /* @__PURE__ */
|
|
19692
|
+
enableOnboarding && /* @__PURE__ */ import_react227.default.createElement(
|
|
19492
19693
|
Onboarding,
|
|
19493
19694
|
{
|
|
19494
19695
|
onTransactionsToReviewClick,
|
|
19495
19696
|
onboardingStepOverride
|
|
19496
19697
|
}
|
|
19497
19698
|
),
|
|
19498
|
-
/* @__PURE__ */
|
|
19699
|
+
/* @__PURE__ */ import_react227.default.createElement(
|
|
19499
19700
|
Internal_ProfitAndLossSummaries,
|
|
19500
19701
|
{
|
|
19501
19702
|
stringOverrides: (_c = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _c.summaries,
|
|
19502
19703
|
chartColorsList,
|
|
19503
19704
|
slots: {
|
|
19504
19705
|
unstable_AdditionalListItems: showTransactionsToReview ? [
|
|
19505
|
-
/* @__PURE__ */
|
|
19706
|
+
/* @__PURE__ */ import_react227.default.createElement(
|
|
19506
19707
|
TransactionsToReview,
|
|
19507
19708
|
{
|
|
19508
19709
|
key: "transactions-to-review",
|
|
@@ -19516,28 +19717,28 @@ var AccountingOverview = ({
|
|
|
19516
19717
|
variants: profitAndLossSummariesVariants
|
|
19517
19718
|
}
|
|
19518
19719
|
),
|
|
19519
|
-
/* @__PURE__ */
|
|
19720
|
+
/* @__PURE__ */ import_react227.default.createElement(
|
|
19520
19721
|
Container,
|
|
19521
19722
|
{
|
|
19522
19723
|
name: "accounting-overview-profit-and-loss",
|
|
19523
19724
|
asWidget: true,
|
|
19524
19725
|
elevated: true
|
|
19525
19726
|
},
|
|
19526
|
-
/* @__PURE__ */
|
|
19727
|
+
/* @__PURE__ */ import_react227.default.createElement(
|
|
19527
19728
|
ProfitAndLoss.Header,
|
|
19528
19729
|
{
|
|
19529
19730
|
text: (stringOverrides == null ? void 0 : stringOverrides.header) || "Profit & Loss"
|
|
19530
19731
|
}
|
|
19531
19732
|
),
|
|
19532
|
-
/* @__PURE__ */
|
|
19733
|
+
/* @__PURE__ */ import_react227.default.createElement(
|
|
19533
19734
|
ProfitAndLoss.Chart,
|
|
19534
19735
|
{
|
|
19535
19736
|
tagFilter: tagFilter ? { key: tagFilter.tagKey, values: tagFilter.tagValues } : void 0
|
|
19536
19737
|
}
|
|
19537
19738
|
)
|
|
19538
19739
|
),
|
|
19539
|
-
middleBanner && /* @__PURE__ */
|
|
19540
|
-
/* @__PURE__ */
|
|
19740
|
+
middleBanner && /* @__PURE__ */ import_react227.default.createElement(Container, { name: "accounting-overview-middle-banner" }, middleBanner),
|
|
19741
|
+
/* @__PURE__ */ import_react227.default.createElement("div", { className: "Layer__accounting-overview-profit-and-loss-charts" }, /* @__PURE__ */ import_react227.default.createElement(
|
|
19541
19742
|
Toggle,
|
|
19542
19743
|
{
|
|
19543
19744
|
name: "pnl-detailed-charts",
|
|
@@ -19554,7 +19755,7 @@ var AccountingOverview = ({
|
|
|
19554
19755
|
selected: pnlToggle,
|
|
19555
19756
|
onChange: (e) => setPnlToggle(e.target.value)
|
|
19556
19757
|
}
|
|
19557
|
-
), /* @__PURE__ */
|
|
19758
|
+
), /* @__PURE__ */ import_react227.default.createElement(
|
|
19558
19759
|
Container,
|
|
19559
19760
|
{
|
|
19560
19761
|
name: (0, import_classnames73.default)(
|
|
@@ -19562,7 +19763,7 @@ var AccountingOverview = ({
|
|
|
19562
19763
|
pnlToggle !== "revenue" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
19563
19764
|
)
|
|
19564
19765
|
},
|
|
19565
|
-
/* @__PURE__ */
|
|
19766
|
+
/* @__PURE__ */ import_react227.default.createElement(
|
|
19566
19767
|
ProfitAndLoss.DetailedCharts,
|
|
19567
19768
|
{
|
|
19568
19769
|
scope: "revenue",
|
|
@@ -19571,7 +19772,7 @@ var AccountingOverview = ({
|
|
|
19571
19772
|
chartColorsList
|
|
19572
19773
|
}
|
|
19573
19774
|
)
|
|
19574
|
-
), /* @__PURE__ */
|
|
19775
|
+
), /* @__PURE__ */ import_react227.default.createElement(
|
|
19575
19776
|
Container,
|
|
19576
19777
|
{
|
|
19577
19778
|
name: (0, import_classnames73.default)(
|
|
@@ -19579,7 +19780,7 @@ var AccountingOverview = ({
|
|
|
19579
19780
|
pnlToggle !== "expenses" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
19580
19781
|
)
|
|
19581
19782
|
},
|
|
19582
|
-
/* @__PURE__ */
|
|
19783
|
+
/* @__PURE__ */ import_react227.default.createElement(
|
|
19583
19784
|
ProfitAndLoss.DetailedCharts,
|
|
19584
19785
|
{
|
|
19585
19786
|
scope: "expenses",
|
|
@@ -19594,7 +19795,7 @@ var AccountingOverview = ({
|
|
|
19594
19795
|
};
|
|
19595
19796
|
|
|
19596
19797
|
// src/views/BankTransactionsWithLinkedAccounts/BankTransactionsWithLinkedAccounts.tsx
|
|
19597
|
-
var
|
|
19798
|
+
var import_react228 = __toESM(require("react"));
|
|
19598
19799
|
var BankTransactionsWithLinkedAccounts = ({
|
|
19599
19800
|
title,
|
|
19600
19801
|
// deprecated
|
|
@@ -19610,13 +19811,13 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
19610
19811
|
mobileComponent,
|
|
19611
19812
|
stringOverrides
|
|
19612
19813
|
}) => {
|
|
19613
|
-
return /* @__PURE__ */
|
|
19814
|
+
return /* @__PURE__ */ import_react228.default.createElement(
|
|
19614
19815
|
View,
|
|
19615
19816
|
{
|
|
19616
19817
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "Bank transactions",
|
|
19617
19818
|
showHeader: showTitle
|
|
19618
19819
|
},
|
|
19619
|
-
/* @__PURE__ */
|
|
19820
|
+
/* @__PURE__ */ import_react228.default.createElement(
|
|
19620
19821
|
LinkedAccounts,
|
|
19621
19822
|
{
|
|
19622
19823
|
elevated: elevatedLinkedAccounts,
|
|
@@ -19626,7 +19827,7 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
19626
19827
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.linkedAccounts
|
|
19627
19828
|
}
|
|
19628
19829
|
),
|
|
19629
|
-
/* @__PURE__ */
|
|
19830
|
+
/* @__PURE__ */ import_react228.default.createElement(
|
|
19630
19831
|
BankTransactions,
|
|
19631
19832
|
{
|
|
19632
19833
|
asWidget: true,
|
|
@@ -19642,7 +19843,7 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
19642
19843
|
};
|
|
19643
19844
|
|
|
19644
19845
|
// src/views/GeneralLedger/GeneralLedger.tsx
|
|
19645
|
-
var
|
|
19846
|
+
var import_react229 = __toESM(require("react"));
|
|
19646
19847
|
var GeneralLedgerView = ({
|
|
19647
19848
|
title,
|
|
19648
19849
|
// deprecated
|
|
@@ -19650,14 +19851,14 @@ var GeneralLedgerView = ({
|
|
|
19650
19851
|
stringOverrides,
|
|
19651
19852
|
chartOfAccountsOptions
|
|
19652
19853
|
}) => {
|
|
19653
|
-
const [activeTab, setActiveTab] = (0,
|
|
19654
|
-
return /* @__PURE__ */
|
|
19854
|
+
const [activeTab, setActiveTab] = (0, import_react229.useState)("chartOfAccounts");
|
|
19855
|
+
return /* @__PURE__ */ import_react229.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react229.default.createElement(
|
|
19655
19856
|
View,
|
|
19656
19857
|
{
|
|
19657
19858
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "General Ledger",
|
|
19658
19859
|
showHeader: showTitle
|
|
19659
19860
|
},
|
|
19660
|
-
/* @__PURE__ */
|
|
19861
|
+
/* @__PURE__ */ import_react229.default.createElement(
|
|
19661
19862
|
Toggle,
|
|
19662
19863
|
{
|
|
19663
19864
|
name: "general-ledger-tabs",
|
|
@@ -19675,7 +19876,7 @@ var GeneralLedgerView = ({
|
|
|
19675
19876
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
19676
19877
|
}
|
|
19677
19878
|
),
|
|
19678
|
-
activeTab === "chartOfAccounts" ? /* @__PURE__ */
|
|
19879
|
+
activeTab === "chartOfAccounts" ? /* @__PURE__ */ import_react229.default.createElement(
|
|
19679
19880
|
ChartOfAccounts,
|
|
19680
19881
|
{
|
|
19681
19882
|
asWidget: true,
|
|
@@ -19684,12 +19885,12 @@ var GeneralLedgerView = ({
|
|
|
19684
19885
|
templateAccountsEditable: chartOfAccountsOptions == null ? void 0 : chartOfAccountsOptions.templateAccountsEditable,
|
|
19685
19886
|
showReversalEntries: chartOfAccountsOptions == null ? void 0 : chartOfAccountsOptions.showReversalEntries
|
|
19686
19887
|
}
|
|
19687
|
-
) : /* @__PURE__ */
|
|
19888
|
+
) : /* @__PURE__ */ import_react229.default.createElement(Journal, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.journal })
|
|
19688
19889
|
));
|
|
19689
19890
|
};
|
|
19690
19891
|
|
|
19691
19892
|
// src/views/ProjectProfitability/ProjectProfitability.tsx
|
|
19692
|
-
var
|
|
19893
|
+
var import_react230 = __toESM(require("react"));
|
|
19693
19894
|
var import_react_select5 = __toESM(require("react-select"));
|
|
19694
19895
|
var ProjectProfitabilityView = ({
|
|
19695
19896
|
valueOptions,
|
|
@@ -19698,9 +19899,9 @@ var ProjectProfitabilityView = ({
|
|
|
19698
19899
|
datePickerMode = "monthPicker",
|
|
19699
19900
|
csvMoneyFormat = "DOLLAR_STRING"
|
|
19700
19901
|
}) => {
|
|
19701
|
-
const [activeTab, setActiveTab] = (0,
|
|
19702
|
-
const [tagFilter, setTagFilter] = (0,
|
|
19703
|
-
const [pnlTagFilter, setPnlTagFilter] = (0,
|
|
19902
|
+
const [activeTab, setActiveTab] = (0, import_react230.useState)("overview");
|
|
19903
|
+
const [tagFilter, setTagFilter] = (0, import_react230.useState)(null);
|
|
19904
|
+
const [pnlTagFilter, setPnlTagFilter] = (0, import_react230.useState)(
|
|
19704
19905
|
void 0
|
|
19705
19906
|
);
|
|
19706
19907
|
const isOptionSelected = (option, selectValue) => {
|
|
@@ -19714,14 +19915,14 @@ var ProjectProfitabilityView = ({
|
|
|
19714
19915
|
values: tagFilter2.tagValues
|
|
19715
19916
|
} : void 0;
|
|
19716
19917
|
};
|
|
19717
|
-
return /* @__PURE__ */
|
|
19918
|
+
return /* @__PURE__ */ import_react230.default.createElement(
|
|
19718
19919
|
View,
|
|
19719
19920
|
{
|
|
19720
19921
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || "",
|
|
19721
19922
|
showHeader: showTitle,
|
|
19722
19923
|
viewClassName: "Layer__project-view"
|
|
19723
19924
|
},
|
|
19724
|
-
/* @__PURE__ */
|
|
19925
|
+
/* @__PURE__ */ import_react230.default.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ import_react230.default.createElement("div", { className: "Layer__component" }, /* @__PURE__ */ import_react230.default.createElement(
|
|
19725
19926
|
Toggle,
|
|
19726
19927
|
{
|
|
19727
19928
|
name: "project-tabs",
|
|
@@ -19742,7 +19943,7 @@ var ProjectProfitabilityView = ({
|
|
|
19742
19943
|
selected: activeTab,
|
|
19743
19944
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
19744
19945
|
}
|
|
19745
|
-
)), /* @__PURE__ */
|
|
19946
|
+
)), /* @__PURE__ */ import_react230.default.createElement(
|
|
19746
19947
|
import_react_select5.default,
|
|
19747
19948
|
{
|
|
19748
19949
|
className: "Layer__category-menu Layer__select",
|
|
@@ -19760,7 +19961,7 @@ var ProjectProfitabilityView = ({
|
|
|
19760
19961
|
}
|
|
19761
19962
|
}
|
|
19762
19963
|
)),
|
|
19763
|
-
/* @__PURE__ */
|
|
19964
|
+
/* @__PURE__ */ import_react230.default.createElement(Container, { name: "project" }, /* @__PURE__ */ import_react230.default.createElement(import_react230.default.Fragment, null, activeTab === "overview" && /* @__PURE__ */ import_react230.default.createElement(
|
|
19764
19965
|
AccountingOverview,
|
|
19765
19966
|
{
|
|
19766
19967
|
stringOverrides: { header: "Project Overview" },
|
|
@@ -19770,7 +19971,7 @@ var ProjectProfitabilityView = ({
|
|
|
19770
19971
|
showTransactionsToReview: false,
|
|
19771
19972
|
showTitle: false
|
|
19772
19973
|
}
|
|
19773
|
-
), activeTab === "transactions" && /* @__PURE__ */
|
|
19974
|
+
), activeTab === "transactions" && /* @__PURE__ */ import_react230.default.createElement(
|
|
19774
19975
|
BankTransactions,
|
|
19775
19976
|
{
|
|
19776
19977
|
hideHeader: true,
|
|
@@ -19779,7 +19980,7 @@ var ProjectProfitabilityView = ({
|
|
|
19779
19980
|
tagFilter: tagFilter != null ? tagFilter : void 0
|
|
19780
19981
|
}
|
|
19781
19982
|
}
|
|
19782
|
-
), activeTab === "report" && /* @__PURE__ */
|
|
19983
|
+
), activeTab === "report" && /* @__PURE__ */ import_react230.default.createElement(ProfitAndLoss, { asContainer: false, tagFilter: pnlTagFilter }, /* @__PURE__ */ import_react230.default.createElement(
|
|
19783
19984
|
ProfitAndLoss.Report,
|
|
19784
19985
|
{
|
|
19785
19986
|
stringOverrides,
|
|
@@ -19791,7 +19992,7 @@ var ProjectProfitabilityView = ({
|
|
|
19791
19992
|
};
|
|
19792
19993
|
|
|
19793
19994
|
// src/views/Reports/Reports.tsx
|
|
19794
|
-
var
|
|
19995
|
+
var import_react231 = __toESM(require("react"));
|
|
19795
19996
|
var getOptions = (enabledReports) => {
|
|
19796
19997
|
return [
|
|
19797
19998
|
enabledReports.includes("profitAndLoss") ? {
|
|
@@ -19818,17 +20019,17 @@ var Reports = ({
|
|
|
19818
20019
|
statementOfCashFlowConfig
|
|
19819
20020
|
}) => {
|
|
19820
20021
|
var _a;
|
|
19821
|
-
const [activeTab, setActiveTab] = (0,
|
|
20022
|
+
const [activeTab, setActiveTab] = (0, import_react231.useState)(enabledReports[0]);
|
|
19822
20023
|
const { view, containerRef } = useElementViewSize();
|
|
19823
20024
|
const options = getOptions(enabledReports);
|
|
19824
20025
|
const defaultTitle = enabledReports.length > 1 ? "Reports" : (_a = options.find((option) => option.value = enabledReports[0])) == null ? void 0 : _a.label;
|
|
19825
|
-
return /* @__PURE__ */
|
|
20026
|
+
return /* @__PURE__ */ import_react231.default.createElement(
|
|
19826
20027
|
View,
|
|
19827
20028
|
{
|
|
19828
20029
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || defaultTitle,
|
|
19829
20030
|
showHeader: showTitle
|
|
19830
20031
|
},
|
|
19831
|
-
enabledReports.length > 1 && /* @__PURE__ */
|
|
20032
|
+
enabledReports.length > 1 && /* @__PURE__ */ import_react231.default.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ import_react231.default.createElement(
|
|
19832
20033
|
Toggle,
|
|
19833
20034
|
{
|
|
19834
20035
|
name: "reports-tabs",
|
|
@@ -19837,7 +20038,7 @@ var Reports = ({
|
|
|
19837
20038
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
19838
20039
|
}
|
|
19839
20040
|
)),
|
|
19840
|
-
/* @__PURE__ */
|
|
20041
|
+
/* @__PURE__ */ import_react231.default.createElement(Container, { name: "reports", ref: containerRef }, /* @__PURE__ */ import_react231.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react231.default.createElement(
|
|
19841
20042
|
ReportsPanel,
|
|
19842
20043
|
{
|
|
19843
20044
|
containerRef,
|
|
@@ -19860,7 +20061,7 @@ var ReportsPanel = ({
|
|
|
19860
20061
|
statementOfCashFlowConfig,
|
|
19861
20062
|
view
|
|
19862
20063
|
}) => {
|
|
19863
|
-
return /* @__PURE__ */
|
|
20064
|
+
return /* @__PURE__ */ import_react231.default.createElement(import_react231.default.Fragment, null, openReport === "profitAndLoss" && /* @__PURE__ */ import_react231.default.createElement(
|
|
19864
20065
|
ProfitAndLoss.Report,
|
|
19865
20066
|
__spreadValues({
|
|
19866
20067
|
stringOverrides,
|
|
@@ -19868,7 +20069,7 @@ var ReportsPanel = ({
|
|
|
19868
20069
|
parentRef: containerRef,
|
|
19869
20070
|
view
|
|
19870
20071
|
}, profitAndLossConfig)
|
|
19871
|
-
), openReport === "balanceSheet" && /* @__PURE__ */
|
|
20072
|
+
), openReport === "balanceSheet" && /* @__PURE__ */ import_react231.default.createElement(BalanceSheet, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.balanceSheet }), openReport === "statementOfCashFlow" && /* @__PURE__ */ import_react231.default.createElement(
|
|
19872
20073
|
StatementOfCashFlow,
|
|
19873
20074
|
__spreadValues({
|
|
19874
20075
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.statementOfCashflow
|
|
@@ -19877,11 +20078,11 @@ var ReportsPanel = ({
|
|
|
19877
20078
|
};
|
|
19878
20079
|
|
|
19879
20080
|
// src/components/ProfitAndLossView/ProfitAndLossView.tsx
|
|
19880
|
-
var
|
|
20081
|
+
var import_react232 = __toESM(require("react"));
|
|
19881
20082
|
var COMPONENT_NAME7 = "profit-and-loss";
|
|
19882
20083
|
var ProfitAndLossView = (props) => {
|
|
19883
|
-
const containerRef = (0,
|
|
19884
|
-
return /* @__PURE__ */
|
|
20084
|
+
const containerRef = (0, import_react232.useRef)(null);
|
|
20085
|
+
return /* @__PURE__ */ import_react232.default.createElement(Container, { name: COMPONENT_NAME7, ref: containerRef }, /* @__PURE__ */ import_react232.default.createElement(ProfitAndLoss, null, /* @__PURE__ */ import_react232.default.createElement(ProfitAndLossPanel, __spreadValues({ containerRef }, props))));
|
|
19885
20086
|
};
|
|
19886
20087
|
var ProfitAndLossPanel = (_a) => {
|
|
19887
20088
|
var _b = _a, {
|
|
@@ -19891,11 +20092,11 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
19891
20092
|
"containerRef",
|
|
19892
20093
|
"stringOverrides"
|
|
19893
20094
|
]);
|
|
19894
|
-
const { sidebarScope } = (0,
|
|
19895
|
-
return /* @__PURE__ */
|
|
20095
|
+
const { sidebarScope } = (0, import_react232.useContext)(ProfitAndLoss.Context);
|
|
20096
|
+
return /* @__PURE__ */ import_react232.default.createElement(
|
|
19896
20097
|
Panel,
|
|
19897
20098
|
{
|
|
19898
|
-
sidebar: /* @__PURE__ */
|
|
20099
|
+
sidebar: /* @__PURE__ */ import_react232.default.createElement(
|
|
19899
20100
|
ProfitAndLossDetailedCharts,
|
|
19900
20101
|
{
|
|
19901
20102
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossDetailedCharts
|
|
@@ -19904,7 +20105,7 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
19904
20105
|
sidebarIsOpen: Boolean(sidebarScope),
|
|
19905
20106
|
parentRef: containerRef
|
|
19906
20107
|
},
|
|
19907
|
-
/* @__PURE__ */
|
|
20108
|
+
/* @__PURE__ */ import_react232.default.createElement(
|
|
19908
20109
|
ProfitAndLoss.Header,
|
|
19909
20110
|
{
|
|
19910
20111
|
text: (stringOverrides == null ? void 0 : stringOverrides.header) || "Profit & Loss",
|
|
@@ -19912,7 +20113,7 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
19912
20113
|
headingClassName: "Layer__profit-and-loss__title"
|
|
19913
20114
|
}
|
|
19914
20115
|
),
|
|
19915
|
-
/* @__PURE__ */
|
|
20116
|
+
/* @__PURE__ */ import_react232.default.createElement(Components, __spreadValues({ stringOverrides }, props))
|
|
19916
20117
|
);
|
|
19917
20118
|
};
|
|
19918
20119
|
var Components = ({
|
|
@@ -19920,11 +20121,11 @@ var Components = ({
|
|
|
19920
20121
|
hideTable = false,
|
|
19921
20122
|
stringOverrides
|
|
19922
20123
|
}) => {
|
|
19923
|
-
const { error, isLoading, isValidating, refetch } = (0,
|
|
20124
|
+
const { error, isLoading, isValidating, refetch } = (0, import_react232.useContext)(
|
|
19924
20125
|
ProfitAndLoss.Context
|
|
19925
20126
|
);
|
|
19926
20127
|
if (!isLoading && error) {
|
|
19927
|
-
return /* @__PURE__ */
|
|
20128
|
+
return /* @__PURE__ */ import_react232.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react232.default.createElement(
|
|
19928
20129
|
DataState,
|
|
19929
20130
|
{
|
|
19930
20131
|
status: "failed" /* failed */,
|
|
@@ -19935,26 +20136,26 @@ var Components = ({
|
|
|
19935
20136
|
}
|
|
19936
20137
|
));
|
|
19937
20138
|
}
|
|
19938
|
-
return /* @__PURE__ */
|
|
20139
|
+
return /* @__PURE__ */ import_react232.default.createElement(import_react232.default.Fragment, null, !hideChart && /* @__PURE__ */ import_react232.default.createElement("div", { className: `Layer__${COMPONENT_NAME7}__chart_with_summaries` }, /* @__PURE__ */ import_react232.default.createElement(
|
|
19939
20140
|
"div",
|
|
19940
20141
|
{
|
|
19941
20142
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__summary-col`
|
|
19942
20143
|
},
|
|
19943
|
-
/* @__PURE__ */
|
|
19944
|
-
/* @__PURE__ */
|
|
20144
|
+
/* @__PURE__ */ import_react232.default.createElement(ProfitAndLoss.DatePicker, null),
|
|
20145
|
+
/* @__PURE__ */ import_react232.default.createElement(
|
|
19945
20146
|
ProfitAndLoss.Summaries,
|
|
19946
20147
|
{
|
|
19947
20148
|
actionable: true,
|
|
19948
20149
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossSummaries
|
|
19949
20150
|
}
|
|
19950
20151
|
)
|
|
19951
|
-
), /* @__PURE__ */
|
|
20152
|
+
), /* @__PURE__ */ import_react232.default.createElement(
|
|
19952
20153
|
"div",
|
|
19953
20154
|
{
|
|
19954
20155
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__chart-col`
|
|
19955
20156
|
},
|
|
19956
|
-
/* @__PURE__ */
|
|
19957
|
-
)), !hideTable && /* @__PURE__ */
|
|
20157
|
+
/* @__PURE__ */ import_react232.default.createElement(ProfitAndLoss.Chart, null)
|
|
20158
|
+
)), !hideTable && /* @__PURE__ */ import_react232.default.createElement(
|
|
19958
20159
|
ProfitAndLoss.Table,
|
|
19959
20160
|
{
|
|
19960
20161
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossTable
|