@layerfi/components 0.1.39 → 0.1.40
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/esm/index.js +470 -317
- package/dist/esm/index.js.map +4 -4
- package/dist/index.d.ts +312 -36
- package/dist/index.js +548 -395
- package/dist/index.js.map +4 -4
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -4164,7 +4164,8 @@ var LinkedAccountsComponent = ({
|
|
|
4164
4164
|
elevated,
|
|
4165
4165
|
showLedgerBalance = true,
|
|
4166
4166
|
showUnlinkItem = false,
|
|
4167
|
-
showBreakConnection = false
|
|
4167
|
+
showBreakConnection = false,
|
|
4168
|
+
stringOverrides
|
|
4168
4169
|
}) => {
|
|
4169
4170
|
const { isLoading, error, isValidating, refetchAccounts } = useContext8(
|
|
4170
4171
|
LinkedAccountsContext
|
|
@@ -4175,7 +4176,7 @@ var LinkedAccountsComponent = ({
|
|
|
4175
4176
|
className: "Layer__linked-accounts__title",
|
|
4176
4177
|
size: "secondary" /* secondary */
|
|
4177
4178
|
},
|
|
4178
|
-
"Linked Accounts"
|
|
4179
|
+
stringOverrides?.title || "Linked Accounts"
|
|
4179
4180
|
)), isLoading && /* @__PURE__ */ React56.createElement("div", { className: "Layer__linked-accounts__loader-container" }, /* @__PURE__ */ React56.createElement(Loader2, null)), error && !isLoading ? /* @__PURE__ */ React56.createElement(
|
|
4180
4181
|
DataState,
|
|
4181
4182
|
{
|
|
@@ -4245,6 +4246,147 @@ import React85 from "react";
|
|
|
4245
4246
|
// src/components/BankTransactionList/BankTransactionListItem.tsx
|
|
4246
4247
|
import React84, { useEffect as useEffect13, useRef as useRef11, useState as useState16 } from "react";
|
|
4247
4248
|
|
|
4249
|
+
// src/hooks/useProfitAndLoss/useProfitAndLossLTM.tsx
|
|
4250
|
+
import { useEffect as useEffect8, useMemo as useMemo4, useState as useState10 } from "react";
|
|
4251
|
+
import { startOfMonth, sub } from "date-fns";
|
|
4252
|
+
import useSWR3 from "swr";
|
|
4253
|
+
var buildDates = ({ currentDate }) => {
|
|
4254
|
+
return {
|
|
4255
|
+
startYear: startOfMonth(currentDate).getFullYear() - 1,
|
|
4256
|
+
startMonth: startOfMonth(currentDate).getMonth() + 1,
|
|
4257
|
+
endYear: startOfMonth(currentDate).getFullYear(),
|
|
4258
|
+
endMonth: startOfMonth(currentDate).getMonth() + 1
|
|
4259
|
+
};
|
|
4260
|
+
};
|
|
4261
|
+
var buildMonthsArray = (startDate, endDate) => {
|
|
4262
|
+
if (startDate >= endDate) {
|
|
4263
|
+
return [];
|
|
4264
|
+
}
|
|
4265
|
+
var dates = [];
|
|
4266
|
+
for (var d = startDate; d <= endDate; d.setMonth(d.getMonth() + 1)) {
|
|
4267
|
+
dates.push(new Date(d));
|
|
4268
|
+
}
|
|
4269
|
+
return dates;
|
|
4270
|
+
};
|
|
4271
|
+
var useProfitAndLossLTM = ({ currentDate, tagFilter, reportingBasis } = {
|
|
4272
|
+
currentDate: /* @__PURE__ */ new Date()
|
|
4273
|
+
}) => {
|
|
4274
|
+
const { businessId, auth, apiUrl, syncTimestamps, read, hasBeenTouched } = useLayerContext();
|
|
4275
|
+
const [date, setDate] = useState10(currentDate);
|
|
4276
|
+
const [loaded, setLoaded] = useState10("initial");
|
|
4277
|
+
const [data, setData] = useState10([]);
|
|
4278
|
+
const { startYear, startMonth, endYear, endMonth } = useMemo4(() => {
|
|
4279
|
+
return buildDates({ currentDate: date });
|
|
4280
|
+
}, [date, businessId, tagFilter, reportingBasis]);
|
|
4281
|
+
const {
|
|
4282
|
+
data: rawData,
|
|
4283
|
+
isLoading,
|
|
4284
|
+
isValidating,
|
|
4285
|
+
error,
|
|
4286
|
+
mutate
|
|
4287
|
+
} = useSWR3(
|
|
4288
|
+
businessId && Boolean(startYear) && Boolean(startMonth) && Boolean(endYear) && Boolean(endMonth) && auth?.access_token && `profit-and-loss-summaries-${businessId}-${startYear.toString()}-${startMonth.toString()}-${tagFilter?.key}-${tagFilter?.values?.join(
|
|
4289
|
+
","
|
|
4290
|
+
)}-${reportingBasis}`,
|
|
4291
|
+
Layer.getProfitAndLossSummaries(apiUrl, auth?.access_token, {
|
|
4292
|
+
params: {
|
|
4293
|
+
businessId,
|
|
4294
|
+
startYear: startYear.toString(),
|
|
4295
|
+
startMonth: startMonth.toString(),
|
|
4296
|
+
endYear: endYear.toString(),
|
|
4297
|
+
endMonth: endMonth.toString(),
|
|
4298
|
+
tagKey: tagFilter?.key,
|
|
4299
|
+
tagValues: tagFilter?.values?.join(","),
|
|
4300
|
+
reportingBasis
|
|
4301
|
+
}
|
|
4302
|
+
})
|
|
4303
|
+
);
|
|
4304
|
+
useEffect8(() => {
|
|
4305
|
+
const newData = data.slice();
|
|
4306
|
+
const newPeriod = buildMonthsArray(sub(date, { years: 1 }), date);
|
|
4307
|
+
if (newData && newPeriod) {
|
|
4308
|
+
newPeriod.forEach((x) => {
|
|
4309
|
+
if (!newData?.find(
|
|
4310
|
+
(n) => x.getMonth() + 1 === n.month && x.getFullYear() === n.year
|
|
4311
|
+
)) {
|
|
4312
|
+
newData.push({
|
|
4313
|
+
year: x.getFullYear(),
|
|
4314
|
+
month: x.getMonth() + 1,
|
|
4315
|
+
income: 0,
|
|
4316
|
+
costOfGoodsSold: 0,
|
|
4317
|
+
grossProfit: 0,
|
|
4318
|
+
operatingExpenses: 0,
|
|
4319
|
+
profitBeforeTaxes: 0,
|
|
4320
|
+
taxes: 0,
|
|
4321
|
+
netProfit: 0,
|
|
4322
|
+
fullyCategorized: false,
|
|
4323
|
+
totalExpenses: 0,
|
|
4324
|
+
uncategorizedInflows: 0,
|
|
4325
|
+
uncategorizedOutflows: 0,
|
|
4326
|
+
uncategorized_transactions: 0,
|
|
4327
|
+
isLoading: true
|
|
4328
|
+
});
|
|
4329
|
+
}
|
|
4330
|
+
});
|
|
4331
|
+
}
|
|
4332
|
+
if (newData) {
|
|
4333
|
+
setData(
|
|
4334
|
+
newData.sort(
|
|
4335
|
+
(a, b) => Number(new Date(a.year, a.month, 1)) - Number(new Date(b.year, b.month, 1))
|
|
4336
|
+
)
|
|
4337
|
+
);
|
|
4338
|
+
}
|
|
4339
|
+
}, [startYear, startMonth]);
|
|
4340
|
+
useEffect8(() => {
|
|
4341
|
+
const newData = rawData?.data?.months?.slice();
|
|
4342
|
+
if (data && newData) {
|
|
4343
|
+
data.forEach((x) => {
|
|
4344
|
+
if (!newData?.find((n) => x.month === n.month && x.year === n.year)) {
|
|
4345
|
+
newData.push({ ...x });
|
|
4346
|
+
}
|
|
4347
|
+
});
|
|
4348
|
+
}
|
|
4349
|
+
if (newData) {
|
|
4350
|
+
setData(
|
|
4351
|
+
newData.sort(
|
|
4352
|
+
(a, b) => Number(new Date(a.year, a.month, 1)) - Number(new Date(b.year, b.month, 1))
|
|
4353
|
+
)
|
|
4354
|
+
);
|
|
4355
|
+
}
|
|
4356
|
+
}, [rawData]);
|
|
4357
|
+
useEffect8(() => {
|
|
4358
|
+
if (isLoading && loaded === "initial") {
|
|
4359
|
+
setLoaded("loading");
|
|
4360
|
+
return;
|
|
4361
|
+
}
|
|
4362
|
+
if (!isLoading && rawData) {
|
|
4363
|
+
setLoaded("complete");
|
|
4364
|
+
}
|
|
4365
|
+
}, [data, isLoading]);
|
|
4366
|
+
const pullData = (date2) => setDate(date2);
|
|
4367
|
+
useEffect8(() => {
|
|
4368
|
+
if (isLoading || isValidating) {
|
|
4369
|
+
read("PROFIT_AND_LOSS" /* PROFIT_AND_LOSS */);
|
|
4370
|
+
}
|
|
4371
|
+
}, [isLoading, isValidating]);
|
|
4372
|
+
useEffect8(() => {
|
|
4373
|
+
if (hasBeenTouched("PROFIT_AND_LOSS" /* PROFIT_AND_LOSS */)) {
|
|
4374
|
+
mutate();
|
|
4375
|
+
}
|
|
4376
|
+
}, [syncTimestamps]);
|
|
4377
|
+
const refetch = () => {
|
|
4378
|
+
mutate();
|
|
4379
|
+
};
|
|
4380
|
+
return {
|
|
4381
|
+
data,
|
|
4382
|
+
isLoading,
|
|
4383
|
+
loaded,
|
|
4384
|
+
error,
|
|
4385
|
+
pullData,
|
|
4386
|
+
refetch
|
|
4387
|
+
};
|
|
4388
|
+
};
|
|
4389
|
+
|
|
4248
4390
|
// src/icons/ChevronDownFill.tsx
|
|
4249
4391
|
import * as React57 from "react";
|
|
4250
4392
|
var ChevronDownFill = ({ size = 18, ...props }) => /* @__PURE__ */ React57.createElement(
|
|
@@ -4512,7 +4654,7 @@ var MinimizeTwo_default = MinimizeTwo;
|
|
|
4512
4654
|
import React64, { useContext as useContext9 } from "react";
|
|
4513
4655
|
|
|
4514
4656
|
// src/components/BankTransactionMobileList/BusinessCategories.tsx
|
|
4515
|
-
import React63, { useState as
|
|
4657
|
+
import React63, { useState as useState11 } from "react";
|
|
4516
4658
|
|
|
4517
4659
|
// src/components/ActionableList/ActionableList.tsx
|
|
4518
4660
|
import React62 from "react";
|
|
@@ -4608,8 +4750,8 @@ var getAssignedValue = (bankTransaction) => {
|
|
|
4608
4750
|
var BusinessCategories = ({ select }) => {
|
|
4609
4751
|
const { categories } = useLayerContext();
|
|
4610
4752
|
const categoryOptions = flattenCategories(categories);
|
|
4611
|
-
const [optionsToShow, setOptionsToShow] =
|
|
4612
|
-
const [selectedGroup, setSelectedGroup] =
|
|
4753
|
+
const [optionsToShow, setOptionsToShow] = useState11(categoryOptions);
|
|
4754
|
+
const [selectedGroup, setSelectedGroup] = useState11();
|
|
4613
4755
|
const onCategorySelect = (v) => {
|
|
4614
4756
|
if (v.value.type === "GROUP" && v.value.items) {
|
|
4615
4757
|
setOptionsToShow(v.value.items);
|
|
@@ -5370,8 +5512,8 @@ var Textarea = ({
|
|
|
5370
5512
|
|
|
5371
5513
|
// src/components/Toggle/Toggle.tsx
|
|
5372
5514
|
import React78, {
|
|
5373
|
-
useEffect as
|
|
5374
|
-
useState as
|
|
5515
|
+
useEffect as useEffect9,
|
|
5516
|
+
useState as useState12
|
|
5375
5517
|
} from "react";
|
|
5376
5518
|
import classNames31 from "classnames";
|
|
5377
5519
|
var Toggle = ({
|
|
@@ -5381,9 +5523,9 @@ var Toggle = ({
|
|
|
5381
5523
|
onChange,
|
|
5382
5524
|
size = "medium" /* medium */
|
|
5383
5525
|
}) => {
|
|
5384
|
-
const [currentWidth, setCurrentWidth] =
|
|
5385
|
-
const [thumbPos, setThumbPos] =
|
|
5386
|
-
const [initialized, setInitialized] =
|
|
5526
|
+
const [currentWidth, setCurrentWidth] = useState12(0);
|
|
5527
|
+
const [thumbPos, setThumbPos] = useState12({ left: 0, width: 0 });
|
|
5528
|
+
const [initialized, setInitialized] = useState12(false);
|
|
5387
5529
|
const toggleRef = useElementSize((a, b, c) => {
|
|
5388
5530
|
if (c.width && c?.width !== currentWidth) {
|
|
5389
5531
|
setCurrentWidth(c.width);
|
|
@@ -5418,14 +5560,14 @@ var Toggle = ({
|
|
|
5418
5560
|
shift2 = shift2 + (size === "medium" /* medium */ ? 2 : 1.5);
|
|
5419
5561
|
setThumbPos({ left: shift2, width });
|
|
5420
5562
|
};
|
|
5421
|
-
|
|
5563
|
+
useEffect9(() => {
|
|
5422
5564
|
const selectedIndex = getSelectedIndex();
|
|
5423
5565
|
updateThumbPosition(selectedIndex);
|
|
5424
5566
|
setTimeout(() => {
|
|
5425
5567
|
setInitialized(true);
|
|
5426
5568
|
}, 400);
|
|
5427
5569
|
}, []);
|
|
5428
|
-
|
|
5570
|
+
useEffect9(() => {
|
|
5429
5571
|
const selectedIndex = getSelectedIndex();
|
|
5430
5572
|
updateThumbPosition(selectedIndex);
|
|
5431
5573
|
}, [currentWidth]);
|
|
@@ -5513,7 +5655,7 @@ var ToggleOption = ({
|
|
|
5513
5655
|
};
|
|
5514
5656
|
|
|
5515
5657
|
// src/components/ExpandedBankTransactionRow/APIErrorNotifications.tsx
|
|
5516
|
-
import React79, { useEffect as
|
|
5658
|
+
import React79, { useEffect as useEffect10, useState as useState13 } from "react";
|
|
5517
5659
|
var ERROR_TITLE = "Approval Failed";
|
|
5518
5660
|
var ERROR_MESSAGE = "Something went wrong, try again later";
|
|
5519
5661
|
var NOTIFICATION_TIME = 4e3;
|
|
@@ -5523,7 +5665,7 @@ var APIErrorNotifications = ({
|
|
|
5523
5665
|
bankTransaction,
|
|
5524
5666
|
containerWidth
|
|
5525
5667
|
}) => {
|
|
5526
|
-
const [notifications, setNotifications] =
|
|
5668
|
+
const [notifications, setNotifications] = useState13([]);
|
|
5527
5669
|
const pushNotification = (title, message) => {
|
|
5528
5670
|
const timestamp = (/* @__PURE__ */ new Date()).valueOf();
|
|
5529
5671
|
if (notificationsCache.find(
|
|
@@ -5552,7 +5694,7 @@ var APIErrorNotifications = ({
|
|
|
5552
5694
|
);
|
|
5553
5695
|
setNotifications(notificationsCache.concat());
|
|
5554
5696
|
};
|
|
5555
|
-
|
|
5697
|
+
useEffect10(() => {
|
|
5556
5698
|
if (bankTransaction.error) {
|
|
5557
5699
|
pushNotification(ERROR_TITLE, ERROR_MESSAGE);
|
|
5558
5700
|
}
|
|
@@ -5577,8 +5719,8 @@ var Notification = ({
|
|
|
5577
5719
|
notification,
|
|
5578
5720
|
deleteNotification
|
|
5579
5721
|
}) => {
|
|
5580
|
-
const [visible, setVisible] =
|
|
5581
|
-
|
|
5722
|
+
const [visible, setVisible] = useState13(false);
|
|
5723
|
+
useEffect10(() => {
|
|
5582
5724
|
setVisible(true);
|
|
5583
5725
|
const timer = setTimeout(() => {
|
|
5584
5726
|
hideNotification();
|
|
@@ -5617,149 +5759,6 @@ var Notification = ({
|
|
|
5617
5759
|
|
|
5618
5760
|
// src/components/ExpandedBankTransactionRow/ExpandedBankTransactionRow.tsx
|
|
5619
5761
|
import classNames32 from "classnames";
|
|
5620
|
-
|
|
5621
|
-
// src/hooks/useProfitAndLoss/useProfitAndLossLTM.tsx
|
|
5622
|
-
import { useEffect as useEffect10, useMemo as useMemo4, useState as useState13 } from "react";
|
|
5623
|
-
import { startOfMonth, sub } from "date-fns";
|
|
5624
|
-
import useSWR3 from "swr";
|
|
5625
|
-
var buildDates = ({ currentDate }) => {
|
|
5626
|
-
return {
|
|
5627
|
-
startYear: startOfMonth(currentDate).getFullYear() - 1,
|
|
5628
|
-
startMonth: startOfMonth(currentDate).getMonth() + 1,
|
|
5629
|
-
endYear: startOfMonth(currentDate).getFullYear(),
|
|
5630
|
-
endMonth: startOfMonth(currentDate).getMonth() + 1
|
|
5631
|
-
};
|
|
5632
|
-
};
|
|
5633
|
-
var buildMonthsArray = (startDate, endDate) => {
|
|
5634
|
-
if (startDate >= endDate) {
|
|
5635
|
-
return [];
|
|
5636
|
-
}
|
|
5637
|
-
var dates = [];
|
|
5638
|
-
for (var d = startDate; d <= endDate; d.setMonth(d.getMonth() + 1)) {
|
|
5639
|
-
dates.push(new Date(d));
|
|
5640
|
-
}
|
|
5641
|
-
return dates;
|
|
5642
|
-
};
|
|
5643
|
-
var useProfitAndLossLTM = ({ currentDate, tagFilter, reportingBasis } = {
|
|
5644
|
-
currentDate: /* @__PURE__ */ new Date()
|
|
5645
|
-
}) => {
|
|
5646
|
-
const { businessId, auth, apiUrl, syncTimestamps, read, hasBeenTouched } = useLayerContext();
|
|
5647
|
-
const [date, setDate] = useState13(currentDate);
|
|
5648
|
-
const [loaded, setLoaded] = useState13("initial");
|
|
5649
|
-
const [data, setData] = useState13([]);
|
|
5650
|
-
const { startYear, startMonth, endYear, endMonth } = useMemo4(() => {
|
|
5651
|
-
return buildDates({ currentDate: date });
|
|
5652
|
-
}, [date, businessId, tagFilter, reportingBasis]);
|
|
5653
|
-
const {
|
|
5654
|
-
data: rawData,
|
|
5655
|
-
isLoading,
|
|
5656
|
-
isValidating,
|
|
5657
|
-
error,
|
|
5658
|
-
mutate
|
|
5659
|
-
} = useSWR3(
|
|
5660
|
-
businessId && Boolean(startYear) && Boolean(startMonth) && Boolean(endYear) && Boolean(endMonth) && auth?.access_token && `profit-and-loss-summaries-${businessId}-${startYear.toString()}-${startMonth.toString()}-${tagFilter?.key}-${tagFilter?.values?.join(
|
|
5661
|
-
","
|
|
5662
|
-
)}-${reportingBasis}`,
|
|
5663
|
-
Layer.getProfitAndLossSummaries(apiUrl, auth?.access_token, {
|
|
5664
|
-
params: {
|
|
5665
|
-
businessId,
|
|
5666
|
-
startYear: startYear.toString(),
|
|
5667
|
-
startMonth: startMonth.toString(),
|
|
5668
|
-
endYear: endYear.toString(),
|
|
5669
|
-
endMonth: endMonth.toString(),
|
|
5670
|
-
tagKey: tagFilter?.key,
|
|
5671
|
-
tagValues: tagFilter?.values?.join(","),
|
|
5672
|
-
reportingBasis
|
|
5673
|
-
}
|
|
5674
|
-
})
|
|
5675
|
-
);
|
|
5676
|
-
useEffect10(() => {
|
|
5677
|
-
const newData = data.slice();
|
|
5678
|
-
const newPeriod = buildMonthsArray(sub(date, { years: 1 }), date);
|
|
5679
|
-
if (newData && newPeriod) {
|
|
5680
|
-
newPeriod.forEach((x) => {
|
|
5681
|
-
if (!newData?.find(
|
|
5682
|
-
(n) => x.getMonth() + 1 === n.month && x.getFullYear() === n.year
|
|
5683
|
-
)) {
|
|
5684
|
-
newData.push({
|
|
5685
|
-
year: x.getFullYear(),
|
|
5686
|
-
month: x.getMonth() + 1,
|
|
5687
|
-
income: 0,
|
|
5688
|
-
costOfGoodsSold: 0,
|
|
5689
|
-
grossProfit: 0,
|
|
5690
|
-
operatingExpenses: 0,
|
|
5691
|
-
profitBeforeTaxes: 0,
|
|
5692
|
-
taxes: 0,
|
|
5693
|
-
netProfit: 0,
|
|
5694
|
-
fullyCategorized: false,
|
|
5695
|
-
totalExpenses: 0,
|
|
5696
|
-
uncategorizedInflows: 0,
|
|
5697
|
-
uncategorizedOutflows: 0,
|
|
5698
|
-
uncategorized_transactions: 0,
|
|
5699
|
-
isLoading: true
|
|
5700
|
-
});
|
|
5701
|
-
}
|
|
5702
|
-
});
|
|
5703
|
-
}
|
|
5704
|
-
if (newData) {
|
|
5705
|
-
setData(
|
|
5706
|
-
newData.sort(
|
|
5707
|
-
(a, b) => Number(new Date(a.year, a.month, 1)) - Number(new Date(b.year, b.month, 1))
|
|
5708
|
-
)
|
|
5709
|
-
);
|
|
5710
|
-
}
|
|
5711
|
-
}, [startYear, startMonth]);
|
|
5712
|
-
useEffect10(() => {
|
|
5713
|
-
const newData = rawData?.data?.months?.slice();
|
|
5714
|
-
if (data && newData) {
|
|
5715
|
-
data.forEach((x) => {
|
|
5716
|
-
if (!newData?.find((n) => x.month === n.month && x.year === n.year)) {
|
|
5717
|
-
newData.push({ ...x });
|
|
5718
|
-
}
|
|
5719
|
-
});
|
|
5720
|
-
}
|
|
5721
|
-
if (newData) {
|
|
5722
|
-
setData(
|
|
5723
|
-
newData.sort(
|
|
5724
|
-
(a, b) => Number(new Date(a.year, a.month, 1)) - Number(new Date(b.year, b.month, 1))
|
|
5725
|
-
)
|
|
5726
|
-
);
|
|
5727
|
-
}
|
|
5728
|
-
}, [rawData]);
|
|
5729
|
-
useEffect10(() => {
|
|
5730
|
-
if (isLoading && loaded === "initial") {
|
|
5731
|
-
setLoaded("loading");
|
|
5732
|
-
return;
|
|
5733
|
-
}
|
|
5734
|
-
if (!isLoading && rawData) {
|
|
5735
|
-
setLoaded("complete");
|
|
5736
|
-
}
|
|
5737
|
-
}, [data, isLoading]);
|
|
5738
|
-
const pullData = (date2) => setDate(date2);
|
|
5739
|
-
useEffect10(() => {
|
|
5740
|
-
if (isLoading || isValidating) {
|
|
5741
|
-
read("PROFIT_AND_LOSS" /* PROFIT_AND_LOSS */);
|
|
5742
|
-
}
|
|
5743
|
-
}, [isLoading, isValidating]);
|
|
5744
|
-
useEffect10(() => {
|
|
5745
|
-
if (hasBeenTouched("PROFIT_AND_LOSS" /* PROFIT_AND_LOSS */)) {
|
|
5746
|
-
mutate();
|
|
5747
|
-
}
|
|
5748
|
-
}, [syncTimestamps]);
|
|
5749
|
-
const refetch = () => {
|
|
5750
|
-
mutate();
|
|
5751
|
-
};
|
|
5752
|
-
return {
|
|
5753
|
-
data,
|
|
5754
|
-
isLoading,
|
|
5755
|
-
loaded,
|
|
5756
|
-
error,
|
|
5757
|
-
pullData,
|
|
5758
|
-
refetch
|
|
5759
|
-
};
|
|
5760
|
-
};
|
|
5761
|
-
|
|
5762
|
-
// src/components/ExpandedBankTransactionRow/ExpandedBankTransactionRow.tsx
|
|
5763
5762
|
var isAlreadyMatched2 = (bankTransaction) => {
|
|
5764
5763
|
if (bankTransaction?.match) {
|
|
5765
5764
|
const foundMatch = bankTransaction.suggested_matches?.find(
|
|
@@ -6311,7 +6310,8 @@ var BankTransactionRow = ({
|
|
|
6311
6310
|
initialLoad,
|
|
6312
6311
|
showDescriptions,
|
|
6313
6312
|
showReceiptUploads,
|
|
6314
|
-
hardRefreshPnlOnCategorize
|
|
6313
|
+
hardRefreshPnlOnCategorize,
|
|
6314
|
+
stringOverrides
|
|
6315
6315
|
}) => {
|
|
6316
6316
|
const expandedRowRef = useRef10(null);
|
|
6317
6317
|
const [showRetry, setShowRetry] = useState15(false);
|
|
@@ -6537,7 +6537,7 @@ var BankTransactionRow = ({
|
|
|
6537
6537
|
active: open,
|
|
6538
6538
|
action: categorized ? "save" /* SAVE */ : "update" /* UPDATE */
|
|
6539
6539
|
},
|
|
6540
|
-
categorized ? "Update" : "Approve"
|
|
6540
|
+
categorized ? stringOverrides?.updateButtonText || "Update" : stringOverrides?.approveButtonText || "Approve"
|
|
6541
6541
|
) : null,
|
|
6542
6542
|
/* @__PURE__ */ React82.createElement(
|
|
6543
6543
|
IconButton,
|
|
@@ -6619,7 +6619,8 @@ var BankTransactionListItem = ({
|
|
|
6619
6619
|
showReceiptUploads,
|
|
6620
6620
|
hardRefreshPnlOnCategorize,
|
|
6621
6621
|
containerWidth,
|
|
6622
|
-
removeTransaction
|
|
6622
|
+
removeTransaction,
|
|
6623
|
+
stringOverrides
|
|
6623
6624
|
}) => {
|
|
6624
6625
|
const expandedRowRef = useRef11(null);
|
|
6625
6626
|
const [showRetry, setShowRetry] = useState16(false);
|
|
@@ -6712,7 +6713,7 @@ var BankTransactionListItem = ({
|
|
|
6712
6713
|
close: () => setOpen(false),
|
|
6713
6714
|
categorized,
|
|
6714
6715
|
asListItem: true,
|
|
6715
|
-
submitBtnText: categorized ? "Update" : "Approve",
|
|
6716
|
+
submitBtnText: categorized ? stringOverrides?.updateButtonText || "Update" : stringOverrides?.approveButtonText || "Approve",
|
|
6716
6717
|
containerWidth,
|
|
6717
6718
|
showDescriptions,
|
|
6718
6719
|
showReceiptUploads,
|
|
@@ -6742,7 +6743,7 @@ var BankTransactionListItem = ({
|
|
|
6742
6743
|
processing: bankTransaction.processing,
|
|
6743
6744
|
action: !categorized ? "save" /* SAVE */ : "update" /* UPDATE */
|
|
6744
6745
|
},
|
|
6745
|
-
!categorized ? "Approve" : "Update"
|
|
6746
|
+
!categorized ? stringOverrides?.approveButtonText || "Approve" : stringOverrides?.updateButtonText || "Update"
|
|
6746
6747
|
) : null, !categorized && showRetry ? /* @__PURE__ */ React84.createElement(
|
|
6747
6748
|
RetryButton,
|
|
6748
6749
|
{
|
|
@@ -6767,7 +6768,8 @@ var BankTransactionList = ({
|
|
|
6767
6768
|
containerWidth,
|
|
6768
6769
|
showDescriptions = false,
|
|
6769
6770
|
showReceiptUploads = false,
|
|
6770
|
-
hardRefreshPnlOnCategorize = false
|
|
6771
|
+
hardRefreshPnlOnCategorize = false,
|
|
6772
|
+
stringOverrides
|
|
6771
6773
|
}) => {
|
|
6772
6774
|
return /* @__PURE__ */ React85.createElement("ul", { className: "Layer__bank-transactions__list" }, bankTransactions?.map(
|
|
6773
6775
|
(bankTransaction, index) => /* @__PURE__ */ React85.createElement(
|
|
@@ -6782,7 +6784,8 @@ var BankTransactionList = ({
|
|
|
6782
6784
|
containerWidth,
|
|
6783
6785
|
showDescriptions,
|
|
6784
6786
|
showReceiptUploads,
|
|
6785
|
-
hardRefreshPnlOnCategorize
|
|
6787
|
+
hardRefreshPnlOnCategorize,
|
|
6788
|
+
stringOverrides
|
|
6786
6789
|
}
|
|
6787
6790
|
)
|
|
6788
6791
|
));
|
|
@@ -7601,6 +7604,7 @@ var BankTransactionsTable = ({
|
|
|
7601
7604
|
showDescriptions = false,
|
|
7602
7605
|
showReceiptUploads = false,
|
|
7603
7606
|
hardRefreshPnlOnCategorize = false,
|
|
7607
|
+
stringOverrides,
|
|
7604
7608
|
isSyncing = false,
|
|
7605
7609
|
page,
|
|
7606
7610
|
lastPage,
|
|
@@ -7612,7 +7616,7 @@ var BankTransactionsTable = ({
|
|
|
7612
7616
|
width: "100%",
|
|
7613
7617
|
className: "Layer__table Layer__bank-transactions__table with-cell-separators"
|
|
7614
7618
|
},
|
|
7615
|
-
/* @__PURE__ */ React98.createElement("thead", null, /* @__PURE__ */ React98.createElement("tr", null, /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__bank-transactions__date-col" }, "Date"), /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__bank-transactions__tx-col" }, "Transaction"), /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__bank-transactions__account-col" }, "Account"), /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__table-cell--amount Layer__table-cell__amount-col" }, "Amount"), categorizeView && editable ? /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__table-header--primary Layer__table-cell__category-col" }, "Categorize") : /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__table-cell__category-col" }, "Category"))),
|
|
7619
|
+
/* @__PURE__ */ React98.createElement("thead", null, /* @__PURE__ */ React98.createElement("tr", null, /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__bank-transactions__date-col" }, stringOverrides?.transactionsTable?.dateColumnHeaderText || "Date"), /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__bank-transactions__tx-col" }, stringOverrides?.transactionsTable?.transactionColumnHeaderText || "Transaction"), /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__bank-transactions__account-col" }, stringOverrides?.transactionsTable?.accountColumnHeaderText || "Account"), /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__table-cell--amount Layer__table-cell__amount-col" }, stringOverrides?.transactionsTable?.amountColumnHeaderText || "Amount"), categorizeView && editable ? /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__table-header--primary Layer__table-cell__category-col" }, stringOverrides?.transactionsTable?.categorizeColumnHeaderText || "Categorize") : /* @__PURE__ */ React98.createElement("th", { className: "Layer__table-header Layer__table-cell__category-col" }, stringOverrides?.transactionsTable?.categoryColumnHeaderText || "Category"))),
|
|
7616
7620
|
isLoading && page && page === 1 ? /* @__PURE__ */ React98.createElement(BankTransactionsLoader, { isLoading: true }) : null,
|
|
7617
7621
|
!isLoading && isSyncing && page && page === 1 ? /* @__PURE__ */ React98.createElement(BankTransactionsLoader, { isLoading: false }) : null,
|
|
7618
7622
|
/* @__PURE__ */ React98.createElement("tbody", null, !isLoading && bankTransactions?.map(
|
|
@@ -7629,7 +7633,8 @@ var BankTransactionsTable = ({
|
|
|
7629
7633
|
containerWidth,
|
|
7630
7634
|
showDescriptions,
|
|
7631
7635
|
showReceiptUploads,
|
|
7632
|
-
hardRefreshPnlOnCategorize
|
|
7636
|
+
hardRefreshPnlOnCategorize,
|
|
7637
|
+
stringOverrides: stringOverrides?.bankTransactionCTAs
|
|
7633
7638
|
}
|
|
7634
7639
|
)
|
|
7635
7640
|
), isSyncing && (lastPage || (!bankTransactions || bankTransactions.length === 0) && page === 1) ? /* @__PURE__ */ React98.createElement("tr", null, /* @__PURE__ */ React98.createElement("td", { colSpan: 3 }, /* @__PURE__ */ React98.createElement(
|
|
@@ -8414,7 +8419,9 @@ var Tabs = ({ name, options, selected, onChange }) => {
|
|
|
8414
8419
|
// src/components/BankTransactions/BankTransactionsHeader.tsx
|
|
8415
8420
|
import classNames41 from "classnames";
|
|
8416
8421
|
import { endOfMonth as endOfMonth2, startOfMonth as startOfMonth4 } from "date-fns";
|
|
8417
|
-
var DownloadButton = (
|
|
8422
|
+
var DownloadButton = ({
|
|
8423
|
+
downloadButtonTextOverride
|
|
8424
|
+
}) => {
|
|
8418
8425
|
const { auth, businessId, apiUrl } = useLayerContext();
|
|
8419
8426
|
const [requestFailed, setRequestFailed] = useState26(false);
|
|
8420
8427
|
const handleClick = async () => {
|
|
@@ -8456,7 +8463,7 @@ var DownloadButton = () => {
|
|
|
8456
8463
|
rightIcon: /* @__PURE__ */ React108.createElement(DownloadCloud_default, { size: 12 }),
|
|
8457
8464
|
onClick: handleClick
|
|
8458
8465
|
},
|
|
8459
|
-
"Download"
|
|
8466
|
+
downloadButtonTextOverride || "Download"
|
|
8460
8467
|
);
|
|
8461
8468
|
};
|
|
8462
8469
|
var BankTransactionsHeader = ({
|
|
@@ -8471,6 +8478,7 @@ var BankTransactionsHeader = ({
|
|
|
8471
8478
|
listView,
|
|
8472
8479
|
dateRange,
|
|
8473
8480
|
setDateRange,
|
|
8481
|
+
stringOverrides,
|
|
8474
8482
|
isSyncing
|
|
8475
8483
|
}) => {
|
|
8476
8484
|
const { business } = useLayerContext();
|
|
@@ -8490,7 +8498,7 @@ var BankTransactionsHeader = ({
|
|
|
8490
8498
|
className: "Layer__bank-transactions__title",
|
|
8491
8499
|
size: asWidget ? "secondary" /* secondary */ : "secondary" /* secondary */
|
|
8492
8500
|
},
|
|
8493
|
-
"Transactions"
|
|
8501
|
+
stringOverrides?.header || "Transactions"
|
|
8494
8502
|
), isSyncing && /* @__PURE__ */ React108.createElement(
|
|
8495
8503
|
SyncingComponent,
|
|
8496
8504
|
{
|
|
@@ -8514,7 +8522,12 @@ var BankTransactionsHeader = ({
|
|
|
8514
8522
|
minDate: getEarliestDateToBrowse(business)
|
|
8515
8523
|
}
|
|
8516
8524
|
) : null),
|
|
8517
|
-
/* @__PURE__ */ React108.createElement("div", { className: "Layer__header__actions-wrapper" }, !categorizedOnly && !(mobileComponent == "mobileList" && listView) && categorizeView && /* @__PURE__ */ React108.createElement("div", { className: "Layer__header__actions" }, /* @__PURE__ */ React108.createElement(
|
|
8525
|
+
/* @__PURE__ */ React108.createElement("div", { className: "Layer__header__actions-wrapper" }, !categorizedOnly && !(mobileComponent == "mobileList" && listView) && categorizeView && /* @__PURE__ */ React108.createElement("div", { className: "Layer__header__actions" }, /* @__PURE__ */ React108.createElement(
|
|
8526
|
+
DownloadButton,
|
|
8527
|
+
{
|
|
8528
|
+
downloadButtonTextOverride: stringOverrides?.downloadButton
|
|
8529
|
+
}
|
|
8530
|
+
), /* @__PURE__ */ React108.createElement(
|
|
8518
8531
|
Toggle,
|
|
8519
8532
|
{
|
|
8520
8533
|
name: "bank-transaction-display",
|
|
@@ -8632,7 +8645,8 @@ var BankTransactionsContent = ({
|
|
|
8632
8645
|
monthlyView = false,
|
|
8633
8646
|
mobileComponent,
|
|
8634
8647
|
filters: inputFilters,
|
|
8635
|
-
hideHeader = false
|
|
8648
|
+
hideHeader = false,
|
|
8649
|
+
stringOverrides
|
|
8636
8650
|
}) => {
|
|
8637
8651
|
const [currentPage, setCurrentPage] = useState27(1);
|
|
8638
8652
|
const [initialLoad, setInitialLoad] = useState27(true);
|
|
@@ -8789,6 +8803,7 @@ var BankTransactionsContent = ({
|
|
|
8789
8803
|
listView,
|
|
8790
8804
|
dateRange,
|
|
8791
8805
|
setDateRange: (v) => setDateRange(v),
|
|
8806
|
+
stringOverrides: stringOverrides?.bankTransactionsHeader,
|
|
8792
8807
|
isDataLoading: isLoading,
|
|
8793
8808
|
isSyncing
|
|
8794
8809
|
}
|
|
@@ -8808,6 +8823,7 @@ var BankTransactionsContent = ({
|
|
|
8808
8823
|
showReceiptUploads,
|
|
8809
8824
|
page: currentPage,
|
|
8810
8825
|
hardRefreshPnlOnCategorize,
|
|
8826
|
+
stringOverrides,
|
|
8811
8827
|
lastPage: isLastPage,
|
|
8812
8828
|
onRefresh: refetch
|
|
8813
8829
|
}
|
|
@@ -8819,7 +8835,8 @@ var BankTransactionsContent = ({
|
|
|
8819
8835
|
editable,
|
|
8820
8836
|
removeTransaction,
|
|
8821
8837
|
containerWidth,
|
|
8822
|
-
hardRefreshPnlOnCategorize
|
|
8838
|
+
hardRefreshPnlOnCategorize,
|
|
8839
|
+
stringOverrides: stringOverrides?.bankTransactionCTAs
|
|
8823
8840
|
}
|
|
8824
8841
|
) : null,
|
|
8825
8842
|
!isLoading && listView && mobileComponent === "mobileList" ? /* @__PURE__ */ React111.createElement(
|
|
@@ -10247,7 +10264,8 @@ var DetailedTable = ({
|
|
|
10247
10264
|
filters,
|
|
10248
10265
|
sortBy,
|
|
10249
10266
|
hoveredItem,
|
|
10250
|
-
setHoveredItem
|
|
10267
|
+
setHoveredItem,
|
|
10268
|
+
stringOverrides
|
|
10251
10269
|
}) => {
|
|
10252
10270
|
const buildColClass = (column) => {
|
|
10253
10271
|
return classNames43(
|
|
@@ -10263,7 +10281,8 @@ var DetailedTable = ({
|
|
|
10263
10281
|
className: buildColClass("category"),
|
|
10264
10282
|
onClick: () => sortBy(sidebarScope ?? "expenses", "category")
|
|
10265
10283
|
},
|
|
10266
|
-
"Category
|
|
10284
|
+
stringOverrides?.categoryColumnHeader || "Category",
|
|
10285
|
+
" ",
|
|
10267
10286
|
/* @__PURE__ */ React118.createElement(SortArrows_default, { className: "Layer__sort-arrows" })
|
|
10268
10287
|
), /* @__PURE__ */ React118.createElement(
|
|
10269
10288
|
"th",
|
|
@@ -10271,7 +10290,8 @@ var DetailedTable = ({
|
|
|
10271
10290
|
className: buildColClass("type"),
|
|
10272
10291
|
onClick: () => sortBy(sidebarScope ?? "expenses", "type")
|
|
10273
10292
|
},
|
|
10274
|
-
"Type
|
|
10293
|
+
stringOverrides?.typeColumnHeader || "Type",
|
|
10294
|
+
" ",
|
|
10275
10295
|
/* @__PURE__ */ React118.createElement(SortArrows_default, { className: "Layer__sort-arrows" })
|
|
10276
10296
|
), /* @__PURE__ */ React118.createElement("th", null), /* @__PURE__ */ React118.createElement(
|
|
10277
10297
|
"th",
|
|
@@ -10279,7 +10299,8 @@ var DetailedTable = ({
|
|
|
10279
10299
|
className: buildColClass("value"),
|
|
10280
10300
|
onClick: () => sortBy(sidebarScope ?? "expenses", "value")
|
|
10281
10301
|
},
|
|
10282
|
-
"Value
|
|
10302
|
+
stringOverrides?.valueColumnHeader || "Value",
|
|
10303
|
+
" ",
|
|
10283
10304
|
/* @__PURE__ */ React118.createElement(SortArrows_default, { className: "Layer__sort-arrows" })
|
|
10284
10305
|
))), /* @__PURE__ */ React118.createElement("tbody", null, filteredData.filter((x) => !x.hidden).map((item, idx) => {
|
|
10285
10306
|
return /* @__PURE__ */ React118.createElement(
|
|
@@ -10620,7 +10641,8 @@ import { format as format2 } from "date-fns";
|
|
|
10620
10641
|
var ProfitAndLossDetailedCharts = ({
|
|
10621
10642
|
scope,
|
|
10622
10643
|
hideClose = false,
|
|
10623
|
-
showDatePicker = false
|
|
10644
|
+
showDatePicker = false,
|
|
10645
|
+
stringOverrides
|
|
10624
10646
|
}) => {
|
|
10625
10647
|
const {
|
|
10626
10648
|
filteredDataRevenue,
|
|
@@ -10675,7 +10697,8 @@ var ProfitAndLossDetailedCharts = ({
|
|
|
10675
10697
|
filters,
|
|
10676
10698
|
sortBy,
|
|
10677
10699
|
hoveredItem,
|
|
10678
|
-
setHoveredItem
|
|
10700
|
+
setHoveredItem,
|
|
10701
|
+
stringOverrides: stringOverrides?.detailedTableStringOverrides
|
|
10679
10702
|
}
|
|
10680
10703
|
))));
|
|
10681
10704
|
};
|
|
@@ -10749,8 +10772,10 @@ var buildMiniChartData = (scope, data) => {
|
|
|
10749
10772
|
};
|
|
10750
10773
|
var ProfitAndLossSummaries = ({
|
|
10751
10774
|
vertical,
|
|
10752
|
-
|
|
10753
|
-
|
|
10775
|
+
actionable = false,
|
|
10776
|
+
revenueLabel,
|
|
10777
|
+
// deprecated
|
|
10778
|
+
stringOverrides
|
|
10754
10779
|
}) => {
|
|
10755
10780
|
const {
|
|
10756
10781
|
data: storedData,
|
|
@@ -10797,7 +10822,7 @@ var ProfitAndLossSummaries = ({
|
|
|
10797
10822
|
}
|
|
10798
10823
|
},
|
|
10799
10824
|
/* @__PURE__ */ React123.createElement(MiniChart, { data: revenueChartData }),
|
|
10800
|
-
/* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ React123.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, revenueLabel), isLoading || storedData === void 0 ? /* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ React123.createElement(SkeletonLoader, null)) : /* @__PURE__ */ React123.createElement(
|
|
10825
|
+
/* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ React123.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, stringOverrides?.revenueLabel || revenueLabel || "Revenue"), isLoading || storedData === void 0 ? /* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ React123.createElement(SkeletonLoader, null)) : /* @__PURE__ */ React123.createElement(
|
|
10801
10826
|
"span",
|
|
10802
10827
|
{
|
|
10803
10828
|
className: `Layer__profit-and-loss-summaries__amount ${incomeDirectionClass}`
|
|
@@ -10819,7 +10844,7 @@ var ProfitAndLossSummaries = ({
|
|
|
10819
10844
|
}
|
|
10820
10845
|
},
|
|
10821
10846
|
/* @__PURE__ */ React123.createElement(MiniChart, { data: expensesChartData }),
|
|
10822
|
-
/* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ React123.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, "Expenses"), isLoading || storedData === void 0 ? /* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ React123.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ React123.createElement(
|
|
10847
|
+
/* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ React123.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, stringOverrides?.expensesLabel || "Expenses"), isLoading || storedData === void 0 ? /* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ React123.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ React123.createElement(
|
|
10823
10848
|
"span",
|
|
10824
10849
|
{
|
|
10825
10850
|
className: `Layer__profit-and-loss-summaries__amount ${expensesDirectionClass}`
|
|
@@ -10837,7 +10862,7 @@ var ProfitAndLossSummaries = ({
|
|
|
10837
10862
|
actionable && "Layer__actionable"
|
|
10838
10863
|
)
|
|
10839
10864
|
},
|
|
10840
|
-
/* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ React123.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, "Net Profit"), isLoading || storedData === void 0 ? /* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ React123.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ React123.createElement(
|
|
10865
|
+
/* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ React123.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, stringOverrides?.netProfitLabel || "Net Profit"), isLoading || storedData === void 0 ? /* @__PURE__ */ React123.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ React123.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ React123.createElement(
|
|
10841
10866
|
"span",
|
|
10842
10867
|
{
|
|
10843
10868
|
className: `Layer__profit-and-loss-summaries__amount ${netProfitDirectionClass}`
|
|
@@ -11024,7 +11049,7 @@ var empty_profit_and_loss_report_default = {
|
|
|
11024
11049
|
|
|
11025
11050
|
// src/components/ProfitAndLossTable/ProfitAndLossTable.tsx
|
|
11026
11051
|
import classNames45 from "classnames";
|
|
11027
|
-
var ProfitAndLossTable = ({ lockExpanded, asContainer }) => {
|
|
11052
|
+
var ProfitAndLossTable = ({ lockExpanded, asContainer, stringOverrides }) => {
|
|
11028
11053
|
const {
|
|
11029
11054
|
data: actualData,
|
|
11030
11055
|
isLoading,
|
|
@@ -11077,7 +11102,7 @@ var ProfitAndLossTable = ({ lockExpanded, asContainer }) => {
|
|
|
11077
11102
|
{
|
|
11078
11103
|
lineItem: {
|
|
11079
11104
|
value: data.gross_profit,
|
|
11080
|
-
display_name: "Gross Profit"
|
|
11105
|
+
display_name: stringOverrides?.grossProfitLabel || "Gross Profit"
|
|
11081
11106
|
},
|
|
11082
11107
|
variant: "summation",
|
|
11083
11108
|
direction: "CREDIT" /* CREDIT */,
|
|
@@ -11101,7 +11126,7 @@ var ProfitAndLossTable = ({ lockExpanded, asContainer }) => {
|
|
|
11101
11126
|
{
|
|
11102
11127
|
lineItem: {
|
|
11103
11128
|
value: data.profit_before_taxes,
|
|
11104
|
-
display_name: "Profit Before Taxes"
|
|
11129
|
+
display_name: stringOverrides?.profitBeforeTaxesLabel || "Profit Before Taxes"
|
|
11105
11130
|
},
|
|
11106
11131
|
variant: "summation",
|
|
11107
11132
|
direction: "CREDIT" /* CREDIT */,
|
|
@@ -11125,7 +11150,7 @@ var ProfitAndLossTable = ({ lockExpanded, asContainer }) => {
|
|
|
11125
11150
|
{
|
|
11126
11151
|
lineItem: {
|
|
11127
11152
|
value: data.net_profit,
|
|
11128
|
-
display_name: "Net Profit"
|
|
11153
|
+
display_name: stringOverrides?.netProfitLabel || "Net Profit"
|
|
11129
11154
|
},
|
|
11130
11155
|
variant: "summation",
|
|
11131
11156
|
direction: "CREDIT" /* CREDIT */,
|
|
@@ -11475,7 +11500,8 @@ var Table = ({
|
|
|
11475
11500
|
// src/components/BalanceSheetTable/BalanceSheetTable.tsx
|
|
11476
11501
|
var BalanceSheetTable = ({
|
|
11477
11502
|
data,
|
|
11478
|
-
config
|
|
11503
|
+
config,
|
|
11504
|
+
stringOverrides
|
|
11479
11505
|
}) => {
|
|
11480
11506
|
const { isOpen, setIsOpen, expandedAllRows } = useTableExpandRow();
|
|
11481
11507
|
const allRowKeys = [];
|
|
@@ -11531,7 +11557,7 @@ var BalanceSheetTable = ({
|
|
|
11531
11557
|
/* @__PURE__ */ React136.createElement(TableCell, { primary: true, isCurrency: true }, lineItem.value)
|
|
11532
11558
|
));
|
|
11533
11559
|
};
|
|
11534
|
-
return /* @__PURE__ */ React136.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ React136.createElement(TableHead, null, /* @__PURE__ */ React136.createElement(TableRow, { isHeadRow: true, rowKey: "balance-sheet-head-row" }, /* @__PURE__ */ React136.createElement(TableCell, { isHeaderCell: true }, "Type"), /* @__PURE__ */ React136.createElement(TableCell, { isHeaderCell: true }, "Total"))), /* @__PURE__ */ React136.createElement(TableBody, null, config.map((row, idx) => /* @__PURE__ */ React136.createElement(React136.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
11560
|
+
return /* @__PURE__ */ React136.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ React136.createElement(TableHead, null, /* @__PURE__ */ React136.createElement(TableRow, { isHeadRow: true, rowKey: "balance-sheet-head-row" }, /* @__PURE__ */ React136.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.typeColumnHeader || "Type"), /* @__PURE__ */ React136.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.totalColumnHeader || "Total"))), /* @__PURE__ */ React136.createElement(TableBody, null, config.map((row, idx) => /* @__PURE__ */ React136.createElement(React136.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
11535
11561
|
data[row.lineItem],
|
|
11536
11562
|
0,
|
|
11537
11563
|
row.lineItem,
|
|
@@ -11633,11 +11659,12 @@ import { format as format4, parse, startOfDay as startOfDay2 } from "date-fns";
|
|
|
11633
11659
|
var COMPONENT_NAME3 = "balance-sheet";
|
|
11634
11660
|
var BalanceSheet = (props) => {
|
|
11635
11661
|
const balanceSheetContextData = useBalanceSheet(props.effectiveDate);
|
|
11636
|
-
return /* @__PURE__ */ React140.createElement(BalanceSheetContext.Provider, { value: balanceSheetContextData }, /* @__PURE__ */ React140.createElement(BalanceSheetView, { asWidget: props.asWidget, ...props }));
|
|
11662
|
+
return /* @__PURE__ */ React140.createElement(BalanceSheetContext.Provider, { value: balanceSheetContextData }, /* @__PURE__ */ React140.createElement(BalanceSheetView, { asWidget: props.asWidget, stringOverrides: props.stringOverrides, ...props }));
|
|
11637
11663
|
};
|
|
11638
11664
|
var BalanceSheetView = ({
|
|
11639
11665
|
withExpandAllButton = true,
|
|
11640
|
-
asWidget = false
|
|
11666
|
+
asWidget = false,
|
|
11667
|
+
stringOverrides
|
|
11641
11668
|
}) => {
|
|
11642
11669
|
const [effectiveDate, setEffectiveDate] = useState37(startOfDay2(/* @__PURE__ */ new Date()));
|
|
11643
11670
|
const { data, isLoading, refetch } = useBalanceSheet(effectiveDate);
|
|
@@ -11666,7 +11693,7 @@ var BalanceSheetView = ({
|
|
|
11666
11693
|
}
|
|
11667
11694
|
), withExpandAllButton && /* @__PURE__ */ React140.createElement(BalanceSheetExpandAllButton, null))
|
|
11668
11695
|
},
|
|
11669
|
-
!data || isLoading ? /* @__PURE__ */ React140.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ React140.createElement(Loader2, null)) : /* @__PURE__ */ React140.createElement(BalanceSheetTable, { data, config: BALANCE_SHEET_ROWS })
|
|
11696
|
+
!data || isLoading ? /* @__PURE__ */ React140.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ React140.createElement(Loader2, null)) : /* @__PURE__ */ React140.createElement(BalanceSheetTable, { data, config: BALANCE_SHEET_ROWS, stringOverrides: stringOverrides?.balanceSheetTable })
|
|
11670
11697
|
)));
|
|
11671
11698
|
}
|
|
11672
11699
|
return /* @__PURE__ */ React140.createElement(TableProvider, null, /* @__PURE__ */ React140.createElement(
|
|
@@ -11681,7 +11708,7 @@ var BalanceSheetView = ({
|
|
|
11681
11708
|
}
|
|
11682
11709
|
), withExpandAllButton && /* @__PURE__ */ React140.createElement(BalanceSheetExpandAllButton, null))
|
|
11683
11710
|
},
|
|
11684
|
-
!data || isLoading ? /* @__PURE__ */ React140.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ React140.createElement(Loader2, null)) : /* @__PURE__ */ React140.createElement(BalanceSheetTable, { data, config: BALANCE_SHEET_ROWS })
|
|
11711
|
+
!data || isLoading ? /* @__PURE__ */ React140.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ React140.createElement(Loader2, null)) : /* @__PURE__ */ React140.createElement(BalanceSheetTable, { data, config: BALANCE_SHEET_ROWS, stringOverrides: stringOverrides?.balanceSheetTable })
|
|
11685
11712
|
));
|
|
11686
11713
|
};
|
|
11687
11714
|
|
|
@@ -11739,7 +11766,8 @@ var useStatementOfCashFlow = (startDate = /* @__PURE__ */ new Date(), endDate =
|
|
|
11739
11766
|
import React141 from "react";
|
|
11740
11767
|
var StatementOfCashFlowTable = ({
|
|
11741
11768
|
data,
|
|
11742
|
-
config
|
|
11769
|
+
config,
|
|
11770
|
+
stringOverrides
|
|
11743
11771
|
}) => {
|
|
11744
11772
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
11745
11773
|
const renderLineItem = (lineItem, depth = 0, rowKey, rowIndex) => {
|
|
@@ -11781,7 +11809,7 @@ var StatementOfCashFlowTable = ({
|
|
|
11781
11809
|
/* @__PURE__ */ React141.createElement(TableCell, { primary: true, isCurrency: true }, lineItem.value)
|
|
11782
11810
|
));
|
|
11783
11811
|
};
|
|
11784
|
-
return /* @__PURE__ */ React141.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ React141.createElement(TableHead, null, /* @__PURE__ */ React141.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ React141.createElement(TableCell, { isHeaderCell: true }, "Type"), /* @__PURE__ */ React141.createElement(TableCell, { isHeaderCell: true }, "Total"))), /* @__PURE__ */ React141.createElement(TableBody, null, config.map((row, idx) => {
|
|
11812
|
+
return /* @__PURE__ */ React141.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ React141.createElement(TableHead, null, /* @__PURE__ */ React141.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ React141.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.typeColumnHeader || "Type"), /* @__PURE__ */ React141.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.totalColumnHeader || "Total"))), /* @__PURE__ */ React141.createElement(TableBody, null, config.map((row, idx) => {
|
|
11785
11813
|
if (row.type === "line_item") {
|
|
11786
11814
|
return /* @__PURE__ */ React141.createElement(React141.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
11787
11815
|
data[row.lineItem],
|
|
@@ -11837,11 +11865,11 @@ var STATEMENT_OF_CASH_FLOW_ROWS = [
|
|
|
11837
11865
|
// src/components/StatementOfCashFlow/StatementOfCashFlow.tsx
|
|
11838
11866
|
import { startOfDay as startOfDay4, subWeeks } from "date-fns";
|
|
11839
11867
|
var COMPONENT_NAME4 = "statement-of-cash-flow";
|
|
11840
|
-
var StatementOfCashFlow = () => {
|
|
11868
|
+
var StatementOfCashFlow = ({ stringOverrides }) => {
|
|
11841
11869
|
const cashContextData = useStatementOfCashFlow();
|
|
11842
|
-
return /* @__PURE__ */ React142.createElement(StatementOfCashFlowContext.Provider, { value: cashContextData }, /* @__PURE__ */ React142.createElement(StatementOfCashFlowView,
|
|
11870
|
+
return /* @__PURE__ */ React142.createElement(StatementOfCashFlowContext.Provider, { value: cashContextData }, /* @__PURE__ */ React142.createElement(StatementOfCashFlowView, { stringOverrides }));
|
|
11843
11871
|
};
|
|
11844
|
-
var StatementOfCashFlowView = () => {
|
|
11872
|
+
var StatementOfCashFlowView = ({ stringOverrides }) => {
|
|
11845
11873
|
const [startDate, setStartDate] = useState38(
|
|
11846
11874
|
startOfDay4(subWeeks(/* @__PURE__ */ new Date(), 4))
|
|
11847
11875
|
);
|
|
@@ -11879,7 +11907,8 @@ var StatementOfCashFlowView = () => {
|
|
|
11879
11907
|
StatementOfCashFlowTable,
|
|
11880
11908
|
{
|
|
11881
11909
|
data,
|
|
11882
|
-
config: STATEMENT_OF_CASH_FLOW_ROWS
|
|
11910
|
+
config: STATEMENT_OF_CASH_FLOW_ROWS,
|
|
11911
|
+
stringOverrides: stringOverrides?.statementOfCashFlowTable
|
|
11883
11912
|
}
|
|
11884
11913
|
)
|
|
11885
11914
|
));
|
|
@@ -12810,7 +12839,7 @@ var useParentOptions = (data) => useMemo12(
|
|
|
12810
12839
|
);
|
|
12811
12840
|
|
|
12812
12841
|
// src/components/ChartOfAccountsForm/ChartOfAccountsForm.tsx
|
|
12813
|
-
var ChartOfAccountsForm = () => {
|
|
12842
|
+
var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
12814
12843
|
const {
|
|
12815
12844
|
form,
|
|
12816
12845
|
data,
|
|
@@ -12841,7 +12870,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12841
12870
|
submitForm();
|
|
12842
12871
|
}
|
|
12843
12872
|
},
|
|
12844
|
-
/* @__PURE__ */ React147.createElement("div", { className: "Layer__chart-of-accounts__sidebar__header" }, /* @__PURE__ */ React147.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, form?.action === "edit" ? "Edit" : "Add New
|
|
12873
|
+
/* @__PURE__ */ React147.createElement("div", { className: "Layer__chart-of-accounts__sidebar__header" }, /* @__PURE__ */ React147.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, form?.action === "edit" ? stringOverrides?.editModeHeader || "Edit Account" : stringOverrides?.createModeHeader || "Add New Account"), /* @__PURE__ */ React147.createElement("div", { className: "actions" }, /* @__PURE__ */ React147.createElement(
|
|
12845
12874
|
Button,
|
|
12846
12875
|
{
|
|
12847
12876
|
type: "button",
|
|
@@ -12849,7 +12878,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12849
12878
|
variant: "secondary" /* secondary */,
|
|
12850
12879
|
disabled: sendingForm
|
|
12851
12880
|
},
|
|
12852
|
-
"Cancel"
|
|
12881
|
+
stringOverrides?.cancelButton || "Cancel"
|
|
12853
12882
|
), apiError && /* @__PURE__ */ React147.createElement(
|
|
12854
12883
|
RetryButton,
|
|
12855
12884
|
{
|
|
@@ -12858,7 +12887,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12858
12887
|
error: "Check connection and retry in few seconds.",
|
|
12859
12888
|
disabled: sendingForm
|
|
12860
12889
|
},
|
|
12861
|
-
"Retry"
|
|
12890
|
+
stringOverrides?.retryButton || "Retry"
|
|
12862
12891
|
), !apiError && /* @__PURE__ */ React147.createElement(
|
|
12863
12892
|
SubmitButton,
|
|
12864
12893
|
{
|
|
@@ -12867,7 +12896,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12867
12896
|
active: true,
|
|
12868
12897
|
disabled: sendingForm
|
|
12869
12898
|
},
|
|
12870
|
-
"Save"
|
|
12899
|
+
stringOverrides?.saveButton || "Save"
|
|
12871
12900
|
))),
|
|
12872
12901
|
apiError && /* @__PURE__ */ React147.createElement(
|
|
12873
12902
|
Text,
|
|
@@ -12878,7 +12907,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12878
12907
|
apiError
|
|
12879
12908
|
),
|
|
12880
12909
|
entry && /* @__PURE__ */ React147.createElement("div", { className: "Layer__chart-of-accounts__form-edit-entry" }, /* @__PURE__ */ React147.createElement(Text, { weight: "bold" /* bold */ }, entry.name), /* @__PURE__ */ React147.createElement(Text, { weight: "bold" /* bold */ }, "$", centsToDollars(entry.balance || 0))),
|
|
12881
|
-
/* @__PURE__ */ React147.createElement("div", { className: "Layer__chart-of-accounts__form" }, /* @__PURE__ */ React147.createElement(InputGroup, { name: "parent", label: "Parent", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12910
|
+
/* @__PURE__ */ React147.createElement("div", { className: "Layer__chart-of-accounts__form" }, /* @__PURE__ */ React147.createElement(InputGroup, { name: "parent", label: stringOverrides?.parentLabel || "Parent", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12882
12911
|
Select2,
|
|
12883
12912
|
{
|
|
12884
12913
|
options: parentOptions,
|
|
@@ -12886,7 +12915,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12886
12915
|
onChange: (sel) => changeFormData("parent", sel),
|
|
12887
12916
|
disabled: sendingForm
|
|
12888
12917
|
}
|
|
12889
|
-
)), /* @__PURE__ */ React147.createElement(InputGroup, { name: "name", label: "Name", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12918
|
+
)), /* @__PURE__ */ React147.createElement(InputGroup, { name: "name", label: stringOverrides?.nameLabel || "Name", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12890
12919
|
Input,
|
|
12891
12920
|
{
|
|
12892
12921
|
name: "name",
|
|
@@ -12897,7 +12926,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12897
12926
|
disabled: sendingForm,
|
|
12898
12927
|
onChange: (e) => changeFormData("name", e.target.value)
|
|
12899
12928
|
}
|
|
12900
|
-
)), /* @__PURE__ */ React147.createElement(InputGroup, { name: "type", label: "Type", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12929
|
+
)), /* @__PURE__ */ React147.createElement(InputGroup, { name: "type", label: stringOverrides?.typeLabel || "Type", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12901
12930
|
Select2,
|
|
12902
12931
|
{
|
|
12903
12932
|
options: LEDGER_ACCOUNT_TYPES,
|
|
@@ -12907,7 +12936,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12907
12936
|
errorMessage: form?.errors?.find((x) => x.field === "type")?.message,
|
|
12908
12937
|
disabled: sendingForm || form.action === "edit" || form.data.parent !== void 0
|
|
12909
12938
|
}
|
|
12910
|
-
)), /* @__PURE__ */ React147.createElement(InputGroup, { name: "subType", label: "Sub-Type", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12939
|
+
)), /* @__PURE__ */ React147.createElement(InputGroup, { name: "subType", label: stringOverrides?.subTypeLabel || "Sub-Type", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12911
12940
|
Select2,
|
|
12912
12941
|
{
|
|
12913
12942
|
options: form?.data.type?.value !== void 0 ? LEDGER_ACCOUNT_SUBTYPES_FOR_TYPE[form?.data.type?.value] : LEDGER_ACCOUNT_SUBTYPES,
|
|
@@ -12915,7 +12944,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12915
12944
|
onChange: (sel) => changeFormData("subType", sel),
|
|
12916
12945
|
disabled: sendingForm
|
|
12917
12946
|
}
|
|
12918
|
-
)), /* @__PURE__ */ React147.createElement(InputGroup, { name: "normality", label: "Normality", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12947
|
+
)), /* @__PURE__ */ React147.createElement(InputGroup, { name: "normality", label: stringOverrides?.normalityLabel || "Normality", inline: true }, /* @__PURE__ */ React147.createElement(
|
|
12919
12948
|
Select2,
|
|
12920
12949
|
{
|
|
12921
12950
|
options: NORMALITY_OPTIONS,
|
|
@@ -12935,7 +12964,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12935
12964
|
variant: "secondary" /* secondary */,
|
|
12936
12965
|
disabled: sendingForm
|
|
12937
12966
|
},
|
|
12938
|
-
"Cancel"
|
|
12967
|
+
stringOverrides?.cancelButton || "Cancel"
|
|
12939
12968
|
), apiError && /* @__PURE__ */ React147.createElement(
|
|
12940
12969
|
RetryButton,
|
|
12941
12970
|
{
|
|
@@ -12944,7 +12973,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12944
12973
|
error: "Check connection and retry in few seconds.",
|
|
12945
12974
|
disabled: sendingForm
|
|
12946
12975
|
},
|
|
12947
|
-
"Retry"
|
|
12976
|
+
stringOverrides?.retryButton || "Retry"
|
|
12948
12977
|
), !apiError && /* @__PURE__ */ React147.createElement(
|
|
12949
12978
|
SubmitButton,
|
|
12950
12979
|
{
|
|
@@ -12953,16 +12982,17 @@ var ChartOfAccountsForm = () => {
|
|
|
12953
12982
|
active: true,
|
|
12954
12983
|
disabled: sendingForm
|
|
12955
12984
|
},
|
|
12956
|
-
"Save"
|
|
12985
|
+
stringOverrides?.saveButton || "Save"
|
|
12957
12986
|
)))
|
|
12958
12987
|
);
|
|
12959
12988
|
};
|
|
12960
12989
|
|
|
12961
12990
|
// src/components/ChartOfAccountsSidebar/ChartOfAccountsSidebar.tsx
|
|
12962
12991
|
var ChartOfAccountsSidebar = ({
|
|
12963
|
-
parentRef: _parentRef
|
|
12992
|
+
parentRef: _parentRef,
|
|
12993
|
+
stringOverrides
|
|
12964
12994
|
}) => {
|
|
12965
|
-
return /* @__PURE__ */ React148.createElement(ChartOfAccountsForm,
|
|
12995
|
+
return /* @__PURE__ */ React148.createElement(ChartOfAccountsForm, { stringOverrides });
|
|
12966
12996
|
};
|
|
12967
12997
|
|
|
12968
12998
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTable.tsx
|
|
@@ -12972,7 +13002,8 @@ var ChartOfAccountsTable = ({
|
|
|
12972
13002
|
containerRef,
|
|
12973
13003
|
asWidget = false,
|
|
12974
13004
|
withDateControl = false,
|
|
12975
|
-
withExpandAllButton = false
|
|
13005
|
+
withExpandAllButton = false,
|
|
13006
|
+
stringOverrides
|
|
12976
13007
|
}) => {
|
|
12977
13008
|
const { data, isLoading, addAccount, error, isValidating, refetch, form } = useContext21(ChartOfAccountsContext);
|
|
12978
13009
|
const [expandAll, setExpandAll] = useState42();
|
|
@@ -12981,7 +13012,13 @@ var ChartOfAccountsTable = ({
|
|
|
12981
13012
|
return /* @__PURE__ */ React149.createElement(
|
|
12982
13013
|
Panel,
|
|
12983
13014
|
{
|
|
12984
|
-
sidebar: /* @__PURE__ */ React149.createElement(
|
|
13015
|
+
sidebar: /* @__PURE__ */ React149.createElement(
|
|
13016
|
+
ChartOfAccountsSidebar,
|
|
13017
|
+
{
|
|
13018
|
+
parentRef: containerRef,
|
|
13019
|
+
stringOverrides: stringOverrides?.chartOfAccountsForm
|
|
13020
|
+
}
|
|
13021
|
+
),
|
|
12985
13022
|
sidebarIsOpen: Boolean(form),
|
|
12986
13023
|
parentRef: containerRef
|
|
12987
13024
|
},
|
|
@@ -12997,7 +13034,7 @@ var ChartOfAccountsTable = ({
|
|
|
12997
13034
|
className: `Layer__${COMPONENT_NAME5}__title`,
|
|
12998
13035
|
size: asWidget ? "secondary" /* secondary */ : "primary" /* primary */
|
|
12999
13036
|
},
|
|
13000
|
-
"Chart of Accounts"
|
|
13037
|
+
stringOverrides?.headerText || "Chart of Accounts"
|
|
13001
13038
|
),
|
|
13002
13039
|
/* @__PURE__ */ React149.createElement(
|
|
13003
13040
|
"div",
|
|
@@ -13014,10 +13051,10 @@ var ChartOfAccountsTable = ({
|
|
|
13014
13051
|
},
|
|
13015
13052
|
!expandAll || expandAll === "collapsed" ? "Expand all rows" : "Collapse all rows"
|
|
13016
13053
|
)) : null,
|
|
13017
|
-
/* @__PURE__ */ React149.createElement("div", { className: "Layer__header__actions-col" }, /* @__PURE__ */ React149.createElement(Button, { onClick: () => addAccount(), disabled: isLoading }, "Add Account"))
|
|
13054
|
+
/* @__PURE__ */ React149.createElement("div", { className: "Layer__header__actions-col" }, /* @__PURE__ */ React149.createElement(Button, { onClick: () => addAccount(), disabled: isLoading }, stringOverrides?.addAccountButtonText || "Add Account"))
|
|
13018
13055
|
)
|
|
13019
13056
|
),
|
|
13020
|
-
/* @__PURE__ */ React149.createElement("table", { className: "Layer__chart-of-accounts__table" }, /* @__PURE__ */ React149.createElement("thead", null, /* @__PURE__ */ React149.createElement("tr", { className: "Layer__table-row--header" }, /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__name" }, "Name"), /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__type" }, "Type"), /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__subtype Layer__mobile--hidden" }, "Sub-Type"), /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__balance" }, "Balance"), /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__actions" }))), /* @__PURE__ */ React149.createElement("tbody", null, !error && data?.accounts.map((account, idx) => {
|
|
13057
|
+
/* @__PURE__ */ React149.createElement("table", { className: "Layer__chart-of-accounts__table" }, /* @__PURE__ */ React149.createElement("thead", null, /* @__PURE__ */ React149.createElement("tr", { className: "Layer__table-row--header" }, /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__name" }, stringOverrides?.nameColumnHeader || "Name"), /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__type" }, stringOverrides?.typeColumnHeader || "Type"), /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__subtype Layer__mobile--hidden" }, stringOverrides?.subtypeColumnHeader || "Sub-Type"), /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__balance" }, stringOverrides?.balanceColumnHeader || "Balance"), /* @__PURE__ */ React149.createElement("th", { className: "Layer__table-header Layer__coa__actions" }))), /* @__PURE__ */ React149.createElement("tbody", null, !error && data?.accounts.map((account, idx) => {
|
|
13021
13058
|
const currentCumulativeIndex = cumulativeIndex;
|
|
13022
13059
|
cumulativeIndex = (account.sub_accounts?.length || 0) + cumulativeIndex + 1;
|
|
13023
13060
|
return /* @__PURE__ */ React149.createElement(
|
|
@@ -13144,41 +13181,41 @@ var DetailsListItem = ({
|
|
|
13144
13181
|
};
|
|
13145
13182
|
|
|
13146
13183
|
// src/components/LedgerAccountEntryDetails/LedgerAccountEntryDetails.tsx
|
|
13147
|
-
var SourceDetailView = ({ source }) => {
|
|
13184
|
+
var SourceDetailView = ({ source, stringOverrides }) => {
|
|
13148
13185
|
switch (source.type) {
|
|
13149
13186
|
case "Transaction_Ledger_Entry_Source": {
|
|
13150
13187
|
const transactionSource = source;
|
|
13151
|
-
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Account name" }, transactionSource.account_name), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Date" }, /* @__PURE__ */ React154.createElement(DateTime, { value: transactionSource.date })), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(transactionSource.amount)}`), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Direction" }, transactionSource.direction), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Counterparty" }, transactionSource.counterparty));
|
|
13188
|
+
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.accountNameLabel || "Account name" }, transactionSource.account_name), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.dateLabel || "Date" }, /* @__PURE__ */ React154.createElement(DateTime, { value: transactionSource.date })), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(transactionSource.amount)}`), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.directionLabel || "Direction" }, transactionSource.direction), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.counterpartyLabel || "Counterparty" }, transactionSource.counterparty));
|
|
13152
13189
|
}
|
|
13153
13190
|
case "Invoice_Ledger_Entry_Source": {
|
|
13154
13191
|
const invoiceSource = source;
|
|
13155
|
-
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Invoice number" }, invoiceSource.invoice_number), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Recipient name" }, invoiceSource.recipient_name), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Date" }, /* @__PURE__ */ React154.createElement(DateTime, { value: invoiceSource.date })), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(invoiceSource.amount)}`));
|
|
13192
|
+
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.invoiceNumberLabel || "Invoice number" }, invoiceSource.invoice_number), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.recipientNameLabel || "Recipient name" }, invoiceSource.recipient_name), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.dateLabel || "Date" }, /* @__PURE__ */ React154.createElement(DateTime, { value: invoiceSource.date })), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(invoiceSource.amount)}`));
|
|
13156
13193
|
}
|
|
13157
13194
|
case "Manual_Ledger_Entry_Source": {
|
|
13158
13195
|
const manualSource = source;
|
|
13159
|
-
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Memo" }, manualSource.memo), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Created by" }, manualSource.created_by));
|
|
13196
|
+
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.memoLabel || "Memo" }, manualSource.memo), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.createdByLabel || "Created by" }, manualSource.created_by));
|
|
13160
13197
|
}
|
|
13161
13198
|
case "Invoice_Payment_Ledger_Entry_Source": {
|
|
13162
13199
|
const invoicePaymentSource = source;
|
|
13163
|
-
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Invoice number" }, invoicePaymentSource.invoice_number), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(invoicePaymentSource.amount)}`));
|
|
13200
|
+
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.invoiceNumberLabel || "Invoice number" }, invoicePaymentSource.invoice_number), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(invoicePaymentSource.amount)}`));
|
|
13164
13201
|
}
|
|
13165
13202
|
case "Refund_Ledger_Entry_Source": {
|
|
13166
13203
|
const refundSource = source;
|
|
13167
|
-
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Recipient name" }, refundSource.recipient_name));
|
|
13204
|
+
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.recipientNameLabel || "Recipient name" }, refundSource.recipient_name));
|
|
13168
13205
|
}
|
|
13169
13206
|
case "Opening_Balance_Ledger_Entry_Source": {
|
|
13170
13207
|
const openingBalanceSource = source;
|
|
13171
|
-
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Account name" }, openingBalanceSource.account_name));
|
|
13208
|
+
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.accountNameLabel || "Account name" }, openingBalanceSource.account_name));
|
|
13172
13209
|
}
|
|
13173
13210
|
case "Payout_Ledger_Entry_Source": {
|
|
13174
13211
|
const payoutSource = source;
|
|
13175
|
-
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(payoutSource.paid_out_amount)}`), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Processor" }, payoutSource.processor));
|
|
13212
|
+
return /* @__PURE__ */ React154.createElement(React154.Fragment, null, /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(payoutSource.paid_out_amount)}`), /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.processorLabel || "Processor" }, payoutSource.processor));
|
|
13176
13213
|
}
|
|
13177
13214
|
default:
|
|
13178
13215
|
return null;
|
|
13179
13216
|
}
|
|
13180
13217
|
};
|
|
13181
|
-
var LedgerAccountEntryDetails = () => {
|
|
13218
|
+
var LedgerAccountEntryDetails = ({ stringOverrides }) => {
|
|
13182
13219
|
const { entryData, isLoadingEntry, closeSelectedEntry, errorEntry } = useContext22(LedgerAccountsContext);
|
|
13183
13220
|
const { totalDebit, totalCredit } = useMemo14(() => {
|
|
13184
13221
|
let totalDebit2 = 0;
|
|
@@ -13192,10 +13229,10 @@ var LedgerAccountEntryDetails = () => {
|
|
|
13192
13229
|
});
|
|
13193
13230
|
return { totalDebit: totalDebit2, totalCredit: totalCredit2 };
|
|
13194
13231
|
}, [entryData]);
|
|
13195
|
-
return /* @__PURE__ */ React154.createElement("div", { className: "Layer__ledger-account__entry-details" }, /* @__PURE__ */ React154.createElement("div", { className: "Layer__ledger-account__entry-details__back-btn" }, /* @__PURE__ */ React154.createElement(BackButton, { onClick: () => closeSelectedEntry() }), /* @__PURE__ */ React154.createElement("div", { className: "Layer__ledger-account__entry-details__title-container" }, /* @__PURE__ */ React154.createElement(Text, { weight: "bold" /* bold */ }, "Transaction details"))), /* @__PURE__ */ React154.createElement(
|
|
13232
|
+
return /* @__PURE__ */ React154.createElement("div", { className: "Layer__ledger-account__entry-details" }, /* @__PURE__ */ React154.createElement("div", { className: "Layer__ledger-account__entry-details__back-btn" }, /* @__PURE__ */ React154.createElement(BackButton, { onClick: () => closeSelectedEntry() }), /* @__PURE__ */ React154.createElement("div", { className: "Layer__ledger-account__entry-details__title-container" }, /* @__PURE__ */ React154.createElement(Text, { weight: "bold" /* bold */ }, stringOverrides?.title || "Transaction details"))), /* @__PURE__ */ React154.createElement(
|
|
13196
13233
|
DetailsList,
|
|
13197
13234
|
{
|
|
13198
|
-
title: "Transaction source",
|
|
13235
|
+
title: stringOverrides?.transactionSource?.header || "Transaction source",
|
|
13199
13236
|
actions: /* @__PURE__ */ React154.createElement(
|
|
13200
13237
|
Button,
|
|
13201
13238
|
{
|
|
@@ -13207,25 +13244,32 @@ var LedgerAccountEntryDetails = () => {
|
|
|
13207
13244
|
}
|
|
13208
13245
|
)
|
|
13209
13246
|
},
|
|
13210
|
-
/* @__PURE__ */ React154.createElement(
|
|
13247
|
+
/* @__PURE__ */ React154.createElement(
|
|
13248
|
+
DetailsListItem,
|
|
13249
|
+
{
|
|
13250
|
+
label: stringOverrides?.transactionSource?.details?.sourceLabel || "Source",
|
|
13251
|
+
isLoading: isLoadingEntry
|
|
13252
|
+
},
|
|
13253
|
+
/* @__PURE__ */ React154.createElement(Badge, null, entryData?.source?.entity_name)
|
|
13254
|
+
),
|
|
13211
13255
|
entryData?.source?.display_description && /* @__PURE__ */ React154.createElement(SourceDetailView, { source: entryData?.source })
|
|
13212
13256
|
), /* @__PURE__ */ React154.createElement(
|
|
13213
13257
|
DetailsList,
|
|
13214
13258
|
{
|
|
13215
|
-
title: `Journal Entry ${entryData?.id.substring(0, 5)}`,
|
|
13259
|
+
title: stringOverrides?.journalEntry?.header ? stringOverrides?.journalEntry?.header(entryData?.id.substring(0, 5)) : `Journal Entry ${entryData?.id.substring(0, 5)}`,
|
|
13216
13260
|
className: "Layer__border-top"
|
|
13217
13261
|
},
|
|
13218
|
-
/* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Entry type", isLoading: isLoadingEntry }, humanizeEnum(entryData?.entry_type ?? "")),
|
|
13219
|
-
/* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Date", isLoading: isLoadingEntry }, entryData?.entry_at && /* @__PURE__ */ React154.createElement(DateTime, { value: entryData?.entry_at })),
|
|
13220
|
-
/* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Creation date", isLoading: isLoadingEntry }, entryData?.date && /* @__PURE__ */ React154.createElement(DateTime, { value: entryData?.date })),
|
|
13221
|
-
entryData?.reversal_id && /* @__PURE__ */ React154.createElement(DetailsListItem, { label: "Reversal", isLoading: isLoadingEntry }, entryData?.reversal_id.substring(0, 5))
|
|
13262
|
+
/* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.journalEntry?.details?.entryTypeLabel || "Entry type", isLoading: isLoadingEntry }, humanizeEnum(entryData?.entry_type ?? "")),
|
|
13263
|
+
/* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.journalEntry?.details?.dateLabel || "Date", isLoading: isLoadingEntry }, entryData?.entry_at && /* @__PURE__ */ React154.createElement(DateTime, { value: entryData?.entry_at })),
|
|
13264
|
+
/* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.journalEntry?.details?.creationDateLabel || "Creation date", isLoading: isLoadingEntry }, entryData?.date && /* @__PURE__ */ React154.createElement(DateTime, { value: entryData?.date })),
|
|
13265
|
+
entryData?.reversal_id && /* @__PURE__ */ React154.createElement(DetailsListItem, { label: stringOverrides?.journalEntry?.details?.reversalLabel || "Reversal", isLoading: isLoadingEntry }, entryData?.reversal_id.substring(0, 5))
|
|
13222
13266
|
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ React154.createElement("div", { className: "Layer__ledger-account__entry-details__line-items" }, /* @__PURE__ */ React154.createElement(Card, null, /* @__PURE__ */ React154.createElement(
|
|
13223
13267
|
Table,
|
|
13224
13268
|
{
|
|
13225
13269
|
componentName: "ledger-account__entry-details",
|
|
13226
13270
|
borderCollapse: "collapse"
|
|
13227
13271
|
},
|
|
13228
|
-
/* @__PURE__ */ React154.createElement(TableHead, null, /* @__PURE__ */ React154.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ React154.createElement(TableCell, null, "Line items"), /* @__PURE__ */ React154.createElement(TableCell, null, "Debit"), /* @__PURE__ */ React154.createElement(TableCell, null, "Credit"))),
|
|
13272
|
+
/* @__PURE__ */ React154.createElement(TableHead, null, /* @__PURE__ */ React154.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ React154.createElement(TableCell, null, stringOverrides?.lineItemsTable?.lineItemsColumnHeader || "Line items"), /* @__PURE__ */ React154.createElement(TableCell, null, stringOverrides?.lineItemsTable?.debitColumnHeader || "Debit"), /* @__PURE__ */ React154.createElement(TableCell, null, stringOverrides?.lineItemsTable?.creditColumnHeader || "Credit"))),
|
|
13229
13273
|
/* @__PURE__ */ React154.createElement(TableBody, null, entryData?.line_items?.map((item, index) => /* @__PURE__ */ React154.createElement(
|
|
13230
13274
|
TableRow,
|
|
13231
13275
|
{
|
|
@@ -13241,7 +13285,7 @@ var LedgerAccountEntryDetails = () => {
|
|
|
13241
13285
|
rowKey: "ledger-line-item-summation",
|
|
13242
13286
|
variant: "summation"
|
|
13243
13287
|
},
|
|
13244
|
-
/* @__PURE__ */ React154.createElement(TableCell, { primary: true }, "Total"),
|
|
13288
|
+
/* @__PURE__ */ React154.createElement(TableCell, { primary: true }, stringOverrides?.lineItemsTable?.totalRowHeader || "Total"),
|
|
13245
13289
|
/* @__PURE__ */ React154.createElement(TableCell, { isCurrency: true, primary: true }, totalDebit || 0),
|
|
13246
13290
|
/* @__PURE__ */ React154.createElement(TableCell, { isCurrency: true, primary: true }, totalCredit || 0)
|
|
13247
13291
|
))
|
|
@@ -13366,7 +13410,8 @@ import classNames55 from "classnames";
|
|
|
13366
13410
|
var LedgerAccount = ({
|
|
13367
13411
|
containerRef,
|
|
13368
13412
|
pageSize = 15,
|
|
13369
|
-
view
|
|
13413
|
+
view,
|
|
13414
|
+
stringOverrides
|
|
13370
13415
|
}) => {
|
|
13371
13416
|
const [currentPage, setCurrentPage] = useState44(1);
|
|
13372
13417
|
const [initialLoad, setInitialLoad] = useState44(true);
|
|
@@ -13411,7 +13456,12 @@ var LedgerAccount = ({
|
|
|
13411
13456
|
return /* @__PURE__ */ React156.createElement(
|
|
13412
13457
|
Panel,
|
|
13413
13458
|
{
|
|
13414
|
-
sidebar: /* @__PURE__ */ React156.createElement(
|
|
13459
|
+
sidebar: /* @__PURE__ */ React156.createElement(
|
|
13460
|
+
LedgerAccountEntryDetails,
|
|
13461
|
+
{
|
|
13462
|
+
stringOverrides: stringOverrides?.ledgerEntryDetail
|
|
13463
|
+
}
|
|
13464
|
+
),
|
|
13415
13465
|
sidebarIsOpen: Boolean(selectedEntryId),
|
|
13416
13466
|
parentRef: containerRef,
|
|
13417
13467
|
className: "Layer__ledger-account__panel"
|
|
@@ -13438,7 +13488,7 @@ var LedgerAccount = ({
|
|
|
13438
13488
|
},
|
|
13439
13489
|
"$",
|
|
13440
13490
|
centsToDollars(entry?.balance || 0)
|
|
13441
|
-
)))), /* @__PURE__ */ React156.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__ledger-account-table" }, /* @__PURE__ */ React156.createElement("thead", null, /* @__PURE__ */ React156.createElement("tr", null, view !== "desktop" && /* @__PURE__ */ React156.createElement("th", null), view === "desktop" && /* @__PURE__ */ React156.createElement(React156.Fragment, null, /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header" }, "Date"), /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header" }, "Journal id #"), /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header" }, "Source")), view !== "mobile" && /* @__PURE__ */ React156.createElement(React156.Fragment, null, /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Debit"), /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Credit"), /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Running balance")))), /* @__PURE__ */ React156.createElement("tbody", null, data?.map((x, index) => /* @__PURE__ */ React156.createElement(
|
|
13491
|
+
)))), /* @__PURE__ */ React156.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__ledger-account-table" }, /* @__PURE__ */ React156.createElement("thead", null, /* @__PURE__ */ React156.createElement("tr", null, view !== "desktop" && /* @__PURE__ */ React156.createElement("th", null), view === "desktop" && /* @__PURE__ */ React156.createElement(React156.Fragment, null, /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header" }, stringOverrides?.ledgerEntriesTable?.dateColumnHeader || "Date"), /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header" }, stringOverrides?.ledgerEntriesTable?.journalIdColumnHeader || "Journal id #"), /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header" }, stringOverrides?.ledgerEntriesTable?.sourceColumnHeader || "Source")), view !== "mobile" && /* @__PURE__ */ React156.createElement(React156.Fragment, null, /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.ledgerEntriesTable?.debitColumnHeader || "Debit"), /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.ledgerEntriesTable?.creditColumnHeader || "Credit"), /* @__PURE__ */ React156.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.ledgerEntriesTable?.runningBalanceColumnHeader || "Running balance")))), /* @__PURE__ */ React156.createElement("tbody", null, data?.map((x, index) => /* @__PURE__ */ React156.createElement(
|
|
13442
13492
|
LedgerAccountRow,
|
|
13443
13493
|
{
|
|
13444
13494
|
key: x.id,
|
|
@@ -13487,7 +13537,8 @@ var ChartOfAccounts = (props) => {
|
|
|
13487
13537
|
var ChartOfAccountsContent = ({
|
|
13488
13538
|
asWidget,
|
|
13489
13539
|
withDateControl,
|
|
13490
|
-
withExpandAllButton
|
|
13540
|
+
withExpandAllButton,
|
|
13541
|
+
stringOverrides
|
|
13491
13542
|
}) => {
|
|
13492
13543
|
const { accountId } = useContext25(LedgerAccountsContext);
|
|
13493
13544
|
const [view, setView] = useState45("desktop");
|
|
@@ -13502,14 +13553,15 @@ var ChartOfAccountsContent = ({
|
|
|
13502
13553
|
}
|
|
13503
13554
|
}
|
|
13504
13555
|
});
|
|
13505
|
-
return /* @__PURE__ */ React157.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ React157.createElement(LedgerAccount, { view, containerRef }) : /* @__PURE__ */ React157.createElement(
|
|
13556
|
+
return /* @__PURE__ */ React157.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ React157.createElement(LedgerAccount, { view, containerRef, stringOverrides: stringOverrides?.ledgerAccount }) : /* @__PURE__ */ React157.createElement(
|
|
13506
13557
|
ChartOfAccountsTable,
|
|
13507
13558
|
{
|
|
13508
13559
|
asWidget,
|
|
13509
13560
|
withDateControl,
|
|
13510
13561
|
withExpandAllButton,
|
|
13511
13562
|
view,
|
|
13512
|
-
containerRef
|
|
13563
|
+
containerRef,
|
|
13564
|
+
stringOverrides: stringOverrides?.chartOfAccountsTable
|
|
13513
13565
|
}
|
|
13514
13566
|
));
|
|
13515
13567
|
};
|
|
@@ -13518,8 +13570,8 @@ var ChartOfAccountsContent = ({
|
|
|
13518
13570
|
import React164, { useState as useState49 } from "react";
|
|
13519
13571
|
|
|
13520
13572
|
// src/contexts/JournalContext/JournalContext.tsx
|
|
13521
|
-
import { createContext as
|
|
13522
|
-
var JournalContext =
|
|
13573
|
+
import { createContext as createContext12 } from "react";
|
|
13574
|
+
var JournalContext = createContext12({
|
|
13523
13575
|
data: void 0,
|
|
13524
13576
|
isLoading: false,
|
|
13525
13577
|
error: void 0,
|
|
@@ -14227,7 +14279,7 @@ var JournalFormEntryLines = ({
|
|
|
14227
14279
|
};
|
|
14228
14280
|
|
|
14229
14281
|
// src/components/JournalForm/JournalForm.tsx
|
|
14230
|
-
var JournalForm = ({ config }) => {
|
|
14282
|
+
var JournalForm = ({ config, stringOverrides }) => {
|
|
14231
14283
|
const {
|
|
14232
14284
|
form,
|
|
14233
14285
|
cancelForm,
|
|
@@ -14247,7 +14299,7 @@ var JournalForm = ({ config }) => {
|
|
|
14247
14299
|
submitForm();
|
|
14248
14300
|
}
|
|
14249
14301
|
},
|
|
14250
|
-
/* @__PURE__ */ React161.createElement("div", { className: "Layer__journal__sidebar__header" }, /* @__PURE__ */ React161.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, "Add New Entry"), /* @__PURE__ */ React161.createElement("div", { className: "actions" }, /* @__PURE__ */ React161.createElement(
|
|
14302
|
+
/* @__PURE__ */ React161.createElement("div", { className: "Layer__journal__sidebar__header" }, /* @__PURE__ */ React161.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, stringOverrides?.header && "Add New Entry"), /* @__PURE__ */ React161.createElement("div", { className: "actions" }, /* @__PURE__ */ React161.createElement(
|
|
14251
14303
|
Button,
|
|
14252
14304
|
{
|
|
14253
14305
|
type: "button",
|
|
@@ -14255,7 +14307,7 @@ var JournalForm = ({ config }) => {
|
|
|
14255
14307
|
variant: "secondary" /* secondary */,
|
|
14256
14308
|
disabled: sendingForm
|
|
14257
14309
|
},
|
|
14258
|
-
"Cancel"
|
|
14310
|
+
stringOverrides?.cancelButton || "Cancel"
|
|
14259
14311
|
), apiError && /* @__PURE__ */ React161.createElement(
|
|
14260
14312
|
RetryButton,
|
|
14261
14313
|
{
|
|
@@ -14264,7 +14316,7 @@ var JournalForm = ({ config }) => {
|
|
|
14264
14316
|
error: "Check connection and retry in few seconds.",
|
|
14265
14317
|
disabled: sendingForm
|
|
14266
14318
|
},
|
|
14267
|
-
"Retry"
|
|
14319
|
+
stringOverrides?.retryButton || "Retry"
|
|
14268
14320
|
), !apiError && /* @__PURE__ */ React161.createElement(
|
|
14269
14321
|
SubmitButton,
|
|
14270
14322
|
{
|
|
@@ -14273,7 +14325,7 @@ var JournalForm = ({ config }) => {
|
|
|
14273
14325
|
active: true,
|
|
14274
14326
|
disabled: sendingForm
|
|
14275
14327
|
},
|
|
14276
|
-
"Save"
|
|
14328
|
+
stringOverrides?.saveButton || "Save"
|
|
14277
14329
|
))),
|
|
14278
14330
|
apiError && /* @__PURE__ */ React161.createElement(
|
|
14279
14331
|
Text,
|
|
@@ -14339,7 +14391,7 @@ var JournalForm = ({ config }) => {
|
|
|
14339
14391
|
variant: "secondary" /* secondary */,
|
|
14340
14392
|
disabled: sendingForm
|
|
14341
14393
|
},
|
|
14342
|
-
"Cancel"
|
|
14394
|
+
stringOverrides?.cancelButton || "Cancel"
|
|
14343
14395
|
), apiError && /* @__PURE__ */ React161.createElement(
|
|
14344
14396
|
RetryButton,
|
|
14345
14397
|
{
|
|
@@ -14348,7 +14400,7 @@ var JournalForm = ({ config }) => {
|
|
|
14348
14400
|
error: "Check connection and retry in few seconds.",
|
|
14349
14401
|
disabled: sendingForm
|
|
14350
14402
|
},
|
|
14351
|
-
"Retry"
|
|
14403
|
+
stringOverrides?.retryButton || "Retry"
|
|
14352
14404
|
), !apiError && /* @__PURE__ */ React161.createElement(
|
|
14353
14405
|
SubmitButton,
|
|
14354
14406
|
{
|
|
@@ -14357,7 +14409,7 @@ var JournalForm = ({ config }) => {
|
|
|
14357
14409
|
active: true,
|
|
14358
14410
|
disabled: sendingForm
|
|
14359
14411
|
},
|
|
14360
|
-
"Save"
|
|
14412
|
+
stringOverrides?.saveButton || "Save"
|
|
14361
14413
|
))
|
|
14362
14414
|
);
|
|
14363
14415
|
};
|
|
@@ -14365,13 +14417,14 @@ var JournalForm = ({ config }) => {
|
|
|
14365
14417
|
// src/components/JournalSidebar/JournalSidebar.tsx
|
|
14366
14418
|
var JournalSidebar = ({
|
|
14367
14419
|
parentRef: _parentRef,
|
|
14368
|
-
config
|
|
14420
|
+
config,
|
|
14421
|
+
stringOverrides
|
|
14369
14422
|
}) => {
|
|
14370
14423
|
const { selectedEntryId } = useContext30(JournalContext);
|
|
14371
14424
|
if (selectedEntryId !== "new") {
|
|
14372
14425
|
return /* @__PURE__ */ React162.createElement(JournalEntryDetails, null);
|
|
14373
14426
|
}
|
|
14374
|
-
return /* @__PURE__ */ React162.createElement(JournalForm, { config });
|
|
14427
|
+
return /* @__PURE__ */ React162.createElement(JournalForm, { config, stringOverrides });
|
|
14375
14428
|
};
|
|
14376
14429
|
|
|
14377
14430
|
// src/components/JournalTable/JournalTable.tsx
|
|
@@ -14380,7 +14433,8 @@ var JournalTable = ({
|
|
|
14380
14433
|
view,
|
|
14381
14434
|
containerRef,
|
|
14382
14435
|
pageSize = 15,
|
|
14383
|
-
config
|
|
14436
|
+
config,
|
|
14437
|
+
stringOverrides
|
|
14384
14438
|
}) => {
|
|
14385
14439
|
const [currentPage, setCurrentPage] = useState48(1);
|
|
14386
14440
|
const {
|
|
@@ -14400,12 +14454,12 @@ var JournalTable = ({
|
|
|
14400
14454
|
return /* @__PURE__ */ React163.createElement(
|
|
14401
14455
|
Panel,
|
|
14402
14456
|
{
|
|
14403
|
-
sidebar: /* @__PURE__ */ React163.createElement(JournalSidebar, { parentRef: containerRef, config }),
|
|
14457
|
+
sidebar: /* @__PURE__ */ React163.createElement(JournalSidebar, { parentRef: containerRef, config, stringOverrides: stringOverrides?.journalForm }),
|
|
14404
14458
|
sidebarIsOpen: Boolean(selectedEntryId),
|
|
14405
14459
|
parentRef: containerRef
|
|
14406
14460
|
},
|
|
14407
|
-
/* @__PURE__ */ React163.createElement(Header, { className: `Layer__${COMPONENT_NAME6}__header` }, /* @__PURE__ */ React163.createElement(Heading, { className: `Layer__${COMPONENT_NAME6}__title` }, "Journal"), /* @__PURE__ */ React163.createElement("div", { className: `Layer__${COMPONENT_NAME6}__actions` }, /* @__PURE__ */ React163.createElement(Button, { onClick: () => addEntry(), disabled: isLoading }, "Add Entry"))),
|
|
14408
|
-
/* @__PURE__ */ React163.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__journal__table" }, /* @__PURE__ */ React163.createElement("thead", null, /* @__PURE__ */ React163.createElement("tr", null, /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }, "Id"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }, "Date"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }, "Transaction"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }, "Account"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Debit"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Credit"))), /* @__PURE__ */ React163.createElement("tbody", null, !error && data?.map((entry, idx) => {
|
|
14461
|
+
/* @__PURE__ */ React163.createElement(Header, { className: `Layer__${COMPONENT_NAME6}__header` }, /* @__PURE__ */ React163.createElement(Heading, { className: `Layer__${COMPONENT_NAME6}__title` }, stringOverrides?.componentTitle || "Journal"), /* @__PURE__ */ React163.createElement("div", { className: `Layer__${COMPONENT_NAME6}__actions` }, /* @__PURE__ */ React163.createElement(Button, { onClick: () => addEntry(), disabled: isLoading }, stringOverrides?.addEntryButton || "Add Entry"))),
|
|
14462
|
+
/* @__PURE__ */ React163.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__journal__table" }, /* @__PURE__ */ React163.createElement("thead", null, /* @__PURE__ */ React163.createElement("tr", null, /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }, stringOverrides?.idColumnHeader || "Id"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }, stringOverrides?.dateColumnHeader || "Date"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }, stringOverrides?.transactionColumnHeader || "Transaction"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header" }, stringOverrides?.accountColumnHeader || "Account"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.debitColumnHeader || "Debit"), /* @__PURE__ */ React163.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.creditColumnHeader || "Credit"))), /* @__PURE__ */ React163.createElement("tbody", null, !error && data?.map((entry, idx) => {
|
|
14409
14463
|
return /* @__PURE__ */ React163.createElement(
|
|
14410
14464
|
JournalRow,
|
|
14411
14465
|
{
|
|
@@ -14452,7 +14506,8 @@ var Journal = (props) => {
|
|
|
14452
14506
|
};
|
|
14453
14507
|
var JournalContent = ({
|
|
14454
14508
|
asWidget,
|
|
14455
|
-
config = JOURNAL_CONFIG
|
|
14509
|
+
config = JOURNAL_CONFIG,
|
|
14510
|
+
stringOverrides
|
|
14456
14511
|
}) => {
|
|
14457
14512
|
const [view, setView] = useState49("desktop");
|
|
14458
14513
|
const containerRef = useElementSize((_a, _b, { width }) => {
|
|
@@ -14466,12 +14521,20 @@ var JournalContent = ({
|
|
|
14466
14521
|
}
|
|
14467
14522
|
}
|
|
14468
14523
|
});
|
|
14469
|
-
return /* @__PURE__ */ React164.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ React164.createElement(
|
|
14524
|
+
return /* @__PURE__ */ React164.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ React164.createElement(
|
|
14525
|
+
JournalTable,
|
|
14526
|
+
{
|
|
14527
|
+
view,
|
|
14528
|
+
containerRef,
|
|
14529
|
+
config,
|
|
14530
|
+
stringOverrides: stringOverrides?.journalTable
|
|
14531
|
+
}
|
|
14532
|
+
));
|
|
14470
14533
|
};
|
|
14471
14534
|
|
|
14472
14535
|
// src/components/Tasks/Tasks.tsx
|
|
14473
14536
|
import React171, {
|
|
14474
|
-
createContext as
|
|
14537
|
+
createContext as createContext14,
|
|
14475
14538
|
useContext as useContext36,
|
|
14476
14539
|
useEffect as useEffect44,
|
|
14477
14540
|
useMemo as useMemo19,
|
|
@@ -14479,8 +14542,8 @@ import React171, {
|
|
|
14479
14542
|
} from "react";
|
|
14480
14543
|
|
|
14481
14544
|
// src/contexts/TasksContext/TasksContext.tsx
|
|
14482
|
-
import { createContext as
|
|
14483
|
-
var TasksContext =
|
|
14545
|
+
import { createContext as createContext13 } from "react";
|
|
14546
|
+
var TasksContext = createContext13({
|
|
14484
14547
|
data: void 0,
|
|
14485
14548
|
isLoading: false,
|
|
14486
14549
|
loadedStatus: "initial",
|
|
@@ -14908,7 +14971,7 @@ var TasksPending = () => {
|
|
|
14908
14971
|
|
|
14909
14972
|
// src/components/Tasks/Tasks.tsx
|
|
14910
14973
|
import classNames59 from "classnames";
|
|
14911
|
-
var UseTasksContext =
|
|
14974
|
+
var UseTasksContext = createContext14({
|
|
14912
14975
|
data: void 0,
|
|
14913
14976
|
isLoading: void 0,
|
|
14914
14977
|
loadedStatus: "initial",
|
|
@@ -14920,18 +14983,21 @@ var UseTasksContext = createContext15({
|
|
|
14920
14983
|
}
|
|
14921
14984
|
});
|
|
14922
14985
|
var Tasks = ({
|
|
14923
|
-
tasksHeader,
|
|
14924
14986
|
collapsable = false,
|
|
14925
14987
|
defaultCollapsed = false,
|
|
14926
|
-
collapsedWhenComplete
|
|
14988
|
+
collapsedWhenComplete,
|
|
14989
|
+
tasksHeader,
|
|
14990
|
+
// deprecated
|
|
14991
|
+
stringOverrides
|
|
14927
14992
|
}) => {
|
|
14928
14993
|
return /* @__PURE__ */ React171.createElement(TasksProvider, null, /* @__PURE__ */ React171.createElement(
|
|
14929
14994
|
TasksComponent,
|
|
14930
14995
|
{
|
|
14931
|
-
tasksHeader,
|
|
14932
14996
|
collapsable,
|
|
14933
14997
|
defaultCollapsed,
|
|
14934
|
-
collapsedWhenComplete
|
|
14998
|
+
collapsedWhenComplete,
|
|
14999
|
+
tasksHeader,
|
|
15000
|
+
stringOverrides
|
|
14935
15001
|
}
|
|
14936
15002
|
));
|
|
14937
15003
|
};
|
|
@@ -14940,10 +15006,12 @@ var TasksProvider = ({ children }) => {
|
|
|
14940
15006
|
return /* @__PURE__ */ React171.createElement(TasksContext.Provider, { value: contextData }, children);
|
|
14941
15007
|
};
|
|
14942
15008
|
var TasksComponent = ({
|
|
14943
|
-
tasksHeader,
|
|
14944
15009
|
collapsable = false,
|
|
14945
15010
|
defaultCollapsed = false,
|
|
14946
|
-
collapsedWhenComplete
|
|
15011
|
+
collapsedWhenComplete,
|
|
15012
|
+
tasksHeader,
|
|
15013
|
+
// deprecated
|
|
15014
|
+
stringOverrides
|
|
14947
15015
|
}) => {
|
|
14948
15016
|
const { isLoading, loadedStatus, data } = useContext36(TasksContext);
|
|
14949
15017
|
const allComplete = useMemo19(() => {
|
|
@@ -14966,7 +15034,7 @@ var TasksComponent = ({
|
|
|
14966
15034
|
return /* @__PURE__ */ React171.createElement("div", { className: "Layer__tasks-component" }, /* @__PURE__ */ React171.createElement(
|
|
14967
15035
|
TasksHeader,
|
|
14968
15036
|
{
|
|
14969
|
-
tasksHeader,
|
|
15037
|
+
tasksHeader: stringOverrides?.header || tasksHeader,
|
|
14970
15038
|
collapsable,
|
|
14971
15039
|
open,
|
|
14972
15040
|
toggleContent: () => setOpen(!open)
|
|
@@ -15076,7 +15144,9 @@ var BookkeepingUpsellBar = ({
|
|
|
15076
15144
|
import React175, { useState as useState54 } from "react";
|
|
15077
15145
|
import classNames60 from "classnames";
|
|
15078
15146
|
var BookkeepingOverview = ({
|
|
15079
|
-
title
|
|
15147
|
+
title,
|
|
15148
|
+
// deprecated
|
|
15149
|
+
stringOverrides
|
|
15080
15150
|
}) => {
|
|
15081
15151
|
const [pnlToggle, setPnlToggle] = useState54("revenue");
|
|
15082
15152
|
const [width] = useWindowSize();
|
|
@@ -15084,16 +15154,16 @@ var BookkeepingOverview = ({
|
|
|
15084
15154
|
View,
|
|
15085
15155
|
{
|
|
15086
15156
|
viewClassName: "Layer__bookkeeping-overview--view",
|
|
15087
|
-
title,
|
|
15157
|
+
title: stringOverrides?.title || title || "Bookkeeping overview",
|
|
15088
15158
|
withSidebar: width > 1100,
|
|
15089
|
-
sidebar: /* @__PURE__ */ React175.createElement(TasksComponent, {
|
|
15159
|
+
sidebar: /* @__PURE__ */ React175.createElement(TasksComponent, { stringOverrides: stringOverrides?.tasks })
|
|
15090
15160
|
},
|
|
15091
15161
|
width <= 1100 && /* @__PURE__ */ React175.createElement(
|
|
15092
15162
|
TasksComponent,
|
|
15093
15163
|
{
|
|
15094
|
-
tasksHeader: "Bookkeeeping Tasks",
|
|
15095
15164
|
collapsable: true,
|
|
15096
|
-
collapsedWhenComplete: true
|
|
15165
|
+
collapsedWhenComplete: true,
|
|
15166
|
+
stringOverrides: stringOverrides?.tasks
|
|
15097
15167
|
}
|
|
15098
15168
|
),
|
|
15099
15169
|
/* @__PURE__ */ React175.createElement(
|
|
@@ -15103,8 +15173,13 @@ var BookkeepingOverview = ({
|
|
|
15103
15173
|
asWidget: true,
|
|
15104
15174
|
elevated: true
|
|
15105
15175
|
},
|
|
15106
|
-
/* @__PURE__ */ React175.createElement(Header, null, /* @__PURE__ */ React175.createElement(Heading, { size: "secondary" /* secondary */ }, "Profit & Loss"), /* @__PURE__ */ React175.createElement(ProfitAndLoss.DatePicker, null)),
|
|
15107
|
-
/* @__PURE__ */ React175.createElement("div", { className: "Layer__bookkeeping-overview__summaries-row" }, /* @__PURE__ */ React175.createElement(
|
|
15176
|
+
/* @__PURE__ */ React175.createElement(Header, null, /* @__PURE__ */ React175.createElement(Heading, { size: "secondary" /* secondary */ }, stringOverrides?.profitAndLoss?.header || "Profit & Loss"), /* @__PURE__ */ React175.createElement(ProfitAndLoss.DatePicker, null)),
|
|
15177
|
+
/* @__PURE__ */ React175.createElement("div", { className: "Layer__bookkeeping-overview__summaries-row" }, /* @__PURE__ */ React175.createElement(
|
|
15178
|
+
ProfitAndLoss.Summaries,
|
|
15179
|
+
{
|
|
15180
|
+
stringOverrides: stringOverrides?.profitAndLoss?.summaries
|
|
15181
|
+
}
|
|
15182
|
+
)),
|
|
15108
15183
|
/* @__PURE__ */ React175.createElement(ProfitAndLoss.Chart, null)
|
|
15109
15184
|
),
|
|
15110
15185
|
/* @__PURE__ */ React175.createElement("div", { className: "Layer__bookkeeping-overview-profit-and-loss-charts" }, /* @__PURE__ */ React175.createElement(
|
|
@@ -15132,7 +15207,14 @@ var BookkeepingOverview = ({
|
|
|
15132
15207
|
pnlToggle !== "revenue" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
15133
15208
|
)
|
|
15134
15209
|
},
|
|
15135
|
-
/* @__PURE__ */ React175.createElement(
|
|
15210
|
+
/* @__PURE__ */ React175.createElement(
|
|
15211
|
+
ProfitAndLoss.DetailedCharts,
|
|
15212
|
+
{
|
|
15213
|
+
scope: "revenue",
|
|
15214
|
+
hideClose: true,
|
|
15215
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts
|
|
15216
|
+
}
|
|
15217
|
+
)
|
|
15136
15218
|
), /* @__PURE__ */ React175.createElement(
|
|
15137
15219
|
Container,
|
|
15138
15220
|
{
|
|
@@ -15141,7 +15223,14 @@ var BookkeepingOverview = ({
|
|
|
15141
15223
|
pnlToggle !== "expenses" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
15142
15224
|
)
|
|
15143
15225
|
},
|
|
15144
|
-
/* @__PURE__ */ React175.createElement(
|
|
15226
|
+
/* @__PURE__ */ React175.createElement(
|
|
15227
|
+
ProfitAndLoss.DetailedCharts,
|
|
15228
|
+
{
|
|
15229
|
+
scope: "expenses",
|
|
15230
|
+
hideClose: true,
|
|
15231
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts
|
|
15232
|
+
}
|
|
15233
|
+
)
|
|
15145
15234
|
))
|
|
15146
15235
|
)));
|
|
15147
15236
|
};
|
|
@@ -15250,7 +15339,8 @@ var AccountingOverview = ({
|
|
|
15250
15339
|
title = "Accounting overview",
|
|
15251
15340
|
enableOnboarding = false,
|
|
15252
15341
|
onTransactionsToReviewClick,
|
|
15253
|
-
middleBanner
|
|
15342
|
+
middleBanner,
|
|
15343
|
+
stringOverrides
|
|
15254
15344
|
}) => {
|
|
15255
15345
|
const [pnlToggle, setPnlToggle] = useState56("revenue");
|
|
15256
15346
|
return /* @__PURE__ */ React179.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ React179.createElement(View, { title, headerControls: /* @__PURE__ */ React179.createElement(ProfitAndLoss.DatePicker, null) }, enableOnboarding && /* @__PURE__ */ React179.createElement(
|
|
@@ -15258,7 +15348,12 @@ var AccountingOverview = ({
|
|
|
15258
15348
|
{
|
|
15259
15349
|
onTransactionsToReviewClick
|
|
15260
15350
|
}
|
|
15261
|
-
), /* @__PURE__ */ React179.createElement("div", { className: "Layer__accounting-overview__summaries-row" }, /* @__PURE__ */ React179.createElement(
|
|
15351
|
+
), /* @__PURE__ */ React179.createElement("div", { className: "Layer__accounting-overview__summaries-row" }, /* @__PURE__ */ React179.createElement(
|
|
15352
|
+
ProfitAndLoss.Summaries,
|
|
15353
|
+
{
|
|
15354
|
+
stringOverrides: stringOverrides?.profitAndLoss?.summaries
|
|
15355
|
+
}
|
|
15356
|
+
), /* @__PURE__ */ React179.createElement(
|
|
15262
15357
|
TransactionToReviewCard,
|
|
15263
15358
|
{
|
|
15264
15359
|
usePnlDateRange: true,
|
|
@@ -15271,7 +15366,7 @@ var AccountingOverview = ({
|
|
|
15271
15366
|
asWidget: true,
|
|
15272
15367
|
elevated: true
|
|
15273
15368
|
},
|
|
15274
|
-
/* @__PURE__ */ React179.createElement(Header, null, /* @__PURE__ */ React179.createElement(Heading, { size: "secondary" /* secondary */ }, "Profit & Loss")),
|
|
15369
|
+
/* @__PURE__ */ React179.createElement(Header, null, /* @__PURE__ */ React179.createElement(Heading, { size: "secondary" /* secondary */ }, stringOverrides?.header || "Profit & Loss")),
|
|
15275
15370
|
/* @__PURE__ */ React179.createElement(ProfitAndLoss.Chart, null)
|
|
15276
15371
|
), middleBanner && /* @__PURE__ */ React179.createElement(Container, { name: "accounting-overview-middle-banner" }, middleBanner), /* @__PURE__ */ React179.createElement("div", { className: "Layer__accounting-overview-profit-and-loss-charts" }, /* @__PURE__ */ React179.createElement(
|
|
15277
15372
|
Toggle,
|
|
@@ -15298,7 +15393,14 @@ var AccountingOverview = ({
|
|
|
15298
15393
|
pnlToggle !== "revenue" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
15299
15394
|
)
|
|
15300
15395
|
},
|
|
15301
|
-
/* @__PURE__ */ React179.createElement(
|
|
15396
|
+
/* @__PURE__ */ React179.createElement(
|
|
15397
|
+
ProfitAndLoss.DetailedCharts,
|
|
15398
|
+
{
|
|
15399
|
+
scope: "revenue",
|
|
15400
|
+
hideClose: true,
|
|
15401
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts
|
|
15402
|
+
}
|
|
15403
|
+
)
|
|
15302
15404
|
), /* @__PURE__ */ React179.createElement(
|
|
15303
15405
|
Container,
|
|
15304
15406
|
{
|
|
@@ -15307,14 +15409,22 @@ var AccountingOverview = ({
|
|
|
15307
15409
|
pnlToggle !== "expenses" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
15308
15410
|
)
|
|
15309
15411
|
},
|
|
15310
|
-
/* @__PURE__ */ React179.createElement(
|
|
15412
|
+
/* @__PURE__ */ React179.createElement(
|
|
15413
|
+
ProfitAndLoss.DetailedCharts,
|
|
15414
|
+
{
|
|
15415
|
+
scope: "expenses",
|
|
15416
|
+
hideClose: true,
|
|
15417
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts
|
|
15418
|
+
}
|
|
15419
|
+
)
|
|
15311
15420
|
))));
|
|
15312
15421
|
};
|
|
15313
15422
|
|
|
15314
15423
|
// src/views/BankTransactionsWithLinkedAccounts/BankTransactionsWithLinkedAccounts.tsx
|
|
15315
15424
|
import React180 from "react";
|
|
15316
15425
|
var BankTransactionsWithLinkedAccounts = ({
|
|
15317
|
-
title
|
|
15426
|
+
title,
|
|
15427
|
+
// deprecated
|
|
15318
15428
|
elevatedLinkedAccounts = true,
|
|
15319
15429
|
showLedgerBalance = true,
|
|
15320
15430
|
showUnlinkItem = false,
|
|
@@ -15323,15 +15433,17 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
15323
15433
|
hardRefreshPnlOnCategorize = false,
|
|
15324
15434
|
showDescriptions,
|
|
15325
15435
|
showReceiptUploads,
|
|
15326
|
-
mobileComponent
|
|
15436
|
+
mobileComponent,
|
|
15437
|
+
stringOverrides
|
|
15327
15438
|
}) => {
|
|
15328
|
-
return /* @__PURE__ */ React180.createElement(View, { title }, /* @__PURE__ */ React180.createElement(
|
|
15439
|
+
return /* @__PURE__ */ React180.createElement(View, { title: stringOverrides?.title || title || "Bank transactions" }, /* @__PURE__ */ React180.createElement(
|
|
15329
15440
|
LinkedAccounts,
|
|
15330
15441
|
{
|
|
15331
15442
|
elevated: elevatedLinkedAccounts,
|
|
15332
15443
|
showLedgerBalance,
|
|
15333
15444
|
showUnlinkItem,
|
|
15334
|
-
showBreakConnection
|
|
15445
|
+
showBreakConnection,
|
|
15446
|
+
stringOverrides: stringOverrides?.linkedAccounts
|
|
15335
15447
|
}
|
|
15336
15448
|
), /* @__PURE__ */ React180.createElement(
|
|
15337
15449
|
BankTransactions,
|
|
@@ -15341,7 +15453,8 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
15341
15453
|
showReceiptUploads,
|
|
15342
15454
|
mobileComponent,
|
|
15343
15455
|
categorizedOnly,
|
|
15344
|
-
hardRefreshPnlOnCategorize
|
|
15456
|
+
hardRefreshPnlOnCategorize,
|
|
15457
|
+
stringOverrides: stringOverrides?.bankTransactions
|
|
15345
15458
|
}
|
|
15346
15459
|
));
|
|
15347
15460
|
};
|
|
@@ -15349,32 +15462,41 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
15349
15462
|
// src/views/GeneralLedger/GeneralLedger.tsx
|
|
15350
15463
|
import React181, { useState as useState57 } from "react";
|
|
15351
15464
|
var GeneralLedgerView = ({
|
|
15352
|
-
title
|
|
15465
|
+
title,
|
|
15466
|
+
// deprecated
|
|
15467
|
+
stringOverrides
|
|
15353
15468
|
}) => {
|
|
15354
15469
|
const [activeTab, setActiveTab] = useState57("chartOfAccounts");
|
|
15355
|
-
return /* @__PURE__ */ React181.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ React181.createElement(View, { title }, /* @__PURE__ */ React181.createElement(
|
|
15470
|
+
return /* @__PURE__ */ React181.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ React181.createElement(View, { title: stringOverrides?.title || title || "General Ledger" }, /* @__PURE__ */ React181.createElement(
|
|
15356
15471
|
Toggle,
|
|
15357
15472
|
{
|
|
15358
15473
|
name: "general-ledger-tabs",
|
|
15359
15474
|
options: [
|
|
15360
15475
|
{
|
|
15361
15476
|
value: "chartOfAccounts",
|
|
15362
|
-
label: "Chart of accounts"
|
|
15477
|
+
label: stringOverrides?.chartOfAccountsToggleOption || "Chart of accounts"
|
|
15363
15478
|
},
|
|
15364
15479
|
{
|
|
15365
15480
|
value: "journal",
|
|
15366
|
-
label: "Journal"
|
|
15481
|
+
label: stringOverrides?.journalToggleOption || "Journal"
|
|
15367
15482
|
}
|
|
15368
15483
|
],
|
|
15369
15484
|
selected: activeTab,
|
|
15370
15485
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
15371
15486
|
}
|
|
15372
|
-
), /* @__PURE__ */ React181.createElement(Container, { name: "generalLedger" }, activeTab === "chartOfAccounts" ? /* @__PURE__ */ React181.createElement(
|
|
15487
|
+
), /* @__PURE__ */ React181.createElement(Container, { name: "generalLedger" }, activeTab === "chartOfAccounts" ? /* @__PURE__ */ React181.createElement(
|
|
15488
|
+
ChartOfAccounts,
|
|
15489
|
+
{
|
|
15490
|
+
asWidget: true,
|
|
15491
|
+
withExpandAllButton: true,
|
|
15492
|
+
stringOverrides: stringOverrides?.chartOfAccounts
|
|
15493
|
+
}
|
|
15494
|
+
) : /* @__PURE__ */ React181.createElement(Journal, { stringOverrides: stringOverrides?.journal }))));
|
|
15373
15495
|
};
|
|
15374
15496
|
|
|
15375
15497
|
// src/views/Reports/Reports.tsx
|
|
15376
15498
|
import React182, { useContext as useContext38, useRef as useRef16, useState as useState58 } from "react";
|
|
15377
|
-
var DownloadButton2 = () => {
|
|
15499
|
+
var DownloadButton2 = ({ stringOverrides }) => {
|
|
15378
15500
|
const { dateRange } = useContext38(ProfitAndLoss.Context);
|
|
15379
15501
|
const { auth, businessId, apiUrl } = useLayerContext();
|
|
15380
15502
|
const [requestFailed, setRequestFailed] = useState58(false);
|
|
@@ -15411,7 +15533,7 @@ var DownloadButton2 = () => {
|
|
|
15411
15533
|
className: "Layer__download-retry-btn",
|
|
15412
15534
|
error: "Approval failed. Check connection and retry in few seconds."
|
|
15413
15535
|
},
|
|
15414
|
-
"Retry"
|
|
15536
|
+
stringOverrides?.retryButtonText || "Retry"
|
|
15415
15537
|
) : /* @__PURE__ */ React182.createElement(
|
|
15416
15538
|
Button,
|
|
15417
15539
|
{
|
|
@@ -15419,13 +15541,13 @@ var DownloadButton2 = () => {
|
|
|
15419
15541
|
rightIcon: /* @__PURE__ */ React182.createElement(DownloadCloud_default, { size: 12 }),
|
|
15420
15542
|
onClick: handleClick
|
|
15421
15543
|
},
|
|
15422
|
-
"Download"
|
|
15544
|
+
stringOverrides?.downloadButtonText || "Download"
|
|
15423
15545
|
);
|
|
15424
15546
|
};
|
|
15425
|
-
var Reports = ({ title
|
|
15547
|
+
var Reports = ({ title, stringOverrides }) => {
|
|
15426
15548
|
const containerRef = useRef16(null);
|
|
15427
15549
|
const [activeTab, setActiveTab] = useState58("profitAndLoss");
|
|
15428
|
-
return /* @__PURE__ */ React182.createElement(View, { title }, /* @__PURE__ */ React182.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ React182.createElement(
|
|
15550
|
+
return /* @__PURE__ */ React182.createElement(View, { title: stringOverrides?.title || title || "Reports" }, /* @__PURE__ */ React182.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ React182.createElement(
|
|
15429
15551
|
Toggle,
|
|
15430
15552
|
{
|
|
15431
15553
|
name: "reports-tabs",
|
|
@@ -15440,26 +15562,38 @@ var Reports = ({ title = "Reports" }) => {
|
|
|
15440
15562
|
selected: activeTab,
|
|
15441
15563
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
15442
15564
|
}
|
|
15443
|
-
)), /* @__PURE__ */ React182.createElement(Container, { name: "reports", ref: containerRef }, /* @__PURE__ */ React182.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ React182.createElement(ReportsPanel, { containerRef, openReport: activeTab }))));
|
|
15565
|
+
)), /* @__PURE__ */ React182.createElement(Container, { name: "reports", ref: containerRef }, /* @__PURE__ */ React182.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ React182.createElement(ReportsPanel, { containerRef, openReport: activeTab, stringOverrides }))));
|
|
15444
15566
|
};
|
|
15445
|
-
var ReportsPanel = ({ containerRef, openReport }) => {
|
|
15567
|
+
var ReportsPanel = ({ containerRef, openReport, stringOverrides }) => {
|
|
15446
15568
|
const { sidebarScope } = useContext38(ProfitAndLoss.Context);
|
|
15447
15569
|
return /* @__PURE__ */ React182.createElement(React182.Fragment, null, openReport === "profitAndLoss" && /* @__PURE__ */ React182.createElement(
|
|
15448
15570
|
View,
|
|
15449
15571
|
{
|
|
15450
15572
|
type: "panel",
|
|
15451
|
-
headerControls: /* @__PURE__ */ React182.createElement(React182.Fragment, null, /* @__PURE__ */ React182.createElement(ProfitAndLoss.DatePicker, null), /* @__PURE__ */ React182.createElement(DownloadButton2,
|
|
15573
|
+
headerControls: /* @__PURE__ */ React182.createElement(React182.Fragment, null, /* @__PURE__ */ React182.createElement(ProfitAndLoss.DatePicker, null), /* @__PURE__ */ React182.createElement(DownloadButton2, { stringOverrides: stringOverrides?.downloadButton }))
|
|
15452
15574
|
},
|
|
15453
15575
|
/* @__PURE__ */ React182.createElement(
|
|
15454
15576
|
Panel,
|
|
15455
15577
|
{
|
|
15456
|
-
sidebar: /* @__PURE__ */ React182.createElement(
|
|
15578
|
+
sidebar: /* @__PURE__ */ React182.createElement(
|
|
15579
|
+
ProfitAndLoss.DetailedCharts,
|
|
15580
|
+
{
|
|
15581
|
+
showDatePicker: false,
|
|
15582
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts
|
|
15583
|
+
}
|
|
15584
|
+
),
|
|
15457
15585
|
sidebarIsOpen: Boolean(sidebarScope),
|
|
15458
15586
|
parentRef: containerRef
|
|
15459
15587
|
},
|
|
15460
|
-
/* @__PURE__ */ React182.createElement(
|
|
15588
|
+
/* @__PURE__ */ React182.createElement(
|
|
15589
|
+
ProfitAndLoss.Table,
|
|
15590
|
+
{
|
|
15591
|
+
asContainer: false,
|
|
15592
|
+
stringOverrides: stringOverrides?.profitAndLoss?.table
|
|
15593
|
+
}
|
|
15594
|
+
)
|
|
15461
15595
|
)
|
|
15462
|
-
), openReport === "balanceSheet" && /* @__PURE__ */ React182.createElement(BalanceSheet,
|
|
15596
|
+
), openReport === "balanceSheet" && /* @__PURE__ */ React182.createElement(BalanceSheet, { stringOverrides: stringOverrides?.balanceSheet }), openReport === "statementOfCashFlow" && /* @__PURE__ */ React182.createElement(StatementOfCashFlow, { stringOverrides: stringOverrides?.statementOfCashflow }));
|
|
15463
15597
|
};
|
|
15464
15598
|
|
|
15465
15599
|
// src/components/ProfitAndLossView/ProfitAndLossView.tsx
|
|
@@ -15471,23 +15605,30 @@ var ProfitAndLossView = (props) => {
|
|
|
15471
15605
|
};
|
|
15472
15606
|
var ProfitAndLossPanel = ({
|
|
15473
15607
|
containerRef,
|
|
15608
|
+
stringOverrides,
|
|
15474
15609
|
...props
|
|
15475
15610
|
}) => {
|
|
15476
15611
|
const { sidebarScope } = useContext39(ProfitAndLoss.Context);
|
|
15477
15612
|
return /* @__PURE__ */ React183.createElement(
|
|
15478
15613
|
Panel,
|
|
15479
15614
|
{
|
|
15480
|
-
sidebar: /* @__PURE__ */ React183.createElement(
|
|
15615
|
+
sidebar: /* @__PURE__ */ React183.createElement(
|
|
15616
|
+
ProfitAndLossDetailedCharts,
|
|
15617
|
+
{
|
|
15618
|
+
stringOverrides: stringOverrides?.profitAndLossDetailedCharts
|
|
15619
|
+
}
|
|
15620
|
+
),
|
|
15481
15621
|
sidebarIsOpen: Boolean(sidebarScope),
|
|
15482
15622
|
parentRef: containerRef
|
|
15483
15623
|
},
|
|
15484
|
-
/* @__PURE__ */ React183.createElement(Header, { className: `Layer__${COMPONENT_NAME7}__header` }, /* @__PURE__ */ React183.createElement(Heading, { className: "Layer__profit-and-loss__title" }, "Profit & Loss")),
|
|
15485
|
-
/* @__PURE__ */ React183.createElement(Components, { ...props })
|
|
15624
|
+
/* @__PURE__ */ React183.createElement(Header, { className: `Layer__${COMPONENT_NAME7}__header` }, /* @__PURE__ */ React183.createElement(Heading, { className: "Layer__profit-and-loss__title" }, stringOverrides?.header || "Profit & Loss")),
|
|
15625
|
+
/* @__PURE__ */ React183.createElement(Components, { stringOverrides, ...props })
|
|
15486
15626
|
);
|
|
15487
15627
|
};
|
|
15488
15628
|
var Components = ({
|
|
15489
15629
|
hideChart = false,
|
|
15490
|
-
hideTable = false
|
|
15630
|
+
hideTable = false,
|
|
15631
|
+
stringOverrides
|
|
15491
15632
|
}) => {
|
|
15492
15633
|
const { error, isLoading, isValidating, refetch } = useContext39(
|
|
15493
15634
|
ProfitAndLoss.Context
|
|
@@ -15510,14 +15651,26 @@ var Components = ({
|
|
|
15510
15651
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__summary-col`
|
|
15511
15652
|
},
|
|
15512
15653
|
/* @__PURE__ */ React183.createElement(ProfitAndLoss.DatePicker, null),
|
|
15513
|
-
/* @__PURE__ */ React183.createElement(
|
|
15654
|
+
/* @__PURE__ */ React183.createElement(
|
|
15655
|
+
ProfitAndLoss.Summaries,
|
|
15656
|
+
{
|
|
15657
|
+
vertical: true,
|
|
15658
|
+
actionable: true,
|
|
15659
|
+
stringOverrides: stringOverrides?.profitAndLossSummaries
|
|
15660
|
+
}
|
|
15661
|
+
)
|
|
15514
15662
|
), /* @__PURE__ */ React183.createElement(
|
|
15515
15663
|
"div",
|
|
15516
15664
|
{
|
|
15517
15665
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__chart-col`
|
|
15518
15666
|
},
|
|
15519
15667
|
/* @__PURE__ */ React183.createElement(ProfitAndLoss.Chart, null)
|
|
15520
|
-
)), !hideTable && /* @__PURE__ */ React183.createElement(
|
|
15668
|
+
)), !hideTable && /* @__PURE__ */ React183.createElement(
|
|
15669
|
+
ProfitAndLoss.Table,
|
|
15670
|
+
{
|
|
15671
|
+
stringOverrides: stringOverrides?.profitAndLossTable
|
|
15672
|
+
}
|
|
15673
|
+
));
|
|
15521
15674
|
};
|
|
15522
15675
|
export {
|
|
15523
15676
|
AccountingOverview,
|