@layerfi/components 0.1.39 → 0.1.41
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 +493 -334
- package/dist/esm/index.js.map +4 -4
- package/dist/index.d.ts +320 -39
- package/dist/index.js +564 -405
- package/dist/index.js.map +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4203,7 +4203,8 @@ var LinkedAccountsComponent = ({
|
|
|
4203
4203
|
elevated,
|
|
4204
4204
|
showLedgerBalance = true,
|
|
4205
4205
|
showUnlinkItem = false,
|
|
4206
|
-
showBreakConnection = false
|
|
4206
|
+
showBreakConnection = false,
|
|
4207
|
+
stringOverrides
|
|
4207
4208
|
}) => {
|
|
4208
4209
|
const { isLoading, error, isValidating, refetchAccounts } = (0, import_react49.useContext)(
|
|
4209
4210
|
LinkedAccountsContext
|
|
@@ -4214,7 +4215,7 @@ var LinkedAccountsComponent = ({
|
|
|
4214
4215
|
className: "Layer__linked-accounts__title",
|
|
4215
4216
|
size: "secondary" /* secondary */
|
|
4216
4217
|
},
|
|
4217
|
-
"Linked Accounts"
|
|
4218
|
+
stringOverrides?.title || "Linked Accounts"
|
|
4218
4219
|
)), isLoading && /* @__PURE__ */ import_react49.default.createElement("div", { className: "Layer__linked-accounts__loader-container" }, /* @__PURE__ */ import_react49.default.createElement(Loader2, null)), error && !isLoading ? /* @__PURE__ */ import_react49.default.createElement(
|
|
4219
4220
|
DataState,
|
|
4220
4221
|
{
|
|
@@ -4284,6 +4285,147 @@ var import_react72 = __toESM(require("react"));
|
|
|
4284
4285
|
// src/components/BankTransactionList/BankTransactionListItem.tsx
|
|
4285
4286
|
var import_react71 = __toESM(require("react"));
|
|
4286
4287
|
|
|
4288
|
+
// src/hooks/useProfitAndLoss/useProfitAndLossLTM.tsx
|
|
4289
|
+
var import_react51 = require("react");
|
|
4290
|
+
var import_date_fns4 = require("date-fns");
|
|
4291
|
+
var import_swr3 = __toESM(require("swr"));
|
|
4292
|
+
var buildDates = ({ currentDate }) => {
|
|
4293
|
+
return {
|
|
4294
|
+
startYear: (0, import_date_fns4.startOfMonth)(currentDate).getFullYear() - 1,
|
|
4295
|
+
startMonth: (0, import_date_fns4.startOfMonth)(currentDate).getMonth() + 1,
|
|
4296
|
+
endYear: (0, import_date_fns4.startOfMonth)(currentDate).getFullYear(),
|
|
4297
|
+
endMonth: (0, import_date_fns4.startOfMonth)(currentDate).getMonth() + 1
|
|
4298
|
+
};
|
|
4299
|
+
};
|
|
4300
|
+
var buildMonthsArray = (startDate, endDate) => {
|
|
4301
|
+
if (startDate >= endDate) {
|
|
4302
|
+
return [];
|
|
4303
|
+
}
|
|
4304
|
+
var dates = [];
|
|
4305
|
+
for (var d = startDate; d <= endDate; d.setMonth(d.getMonth() + 1)) {
|
|
4306
|
+
dates.push(new Date(d));
|
|
4307
|
+
}
|
|
4308
|
+
return dates;
|
|
4309
|
+
};
|
|
4310
|
+
var useProfitAndLossLTM = ({ currentDate, tagFilter, reportingBasis } = {
|
|
4311
|
+
currentDate: /* @__PURE__ */ new Date()
|
|
4312
|
+
}) => {
|
|
4313
|
+
const { businessId, auth, apiUrl, syncTimestamps, read, hasBeenTouched } = useLayerContext();
|
|
4314
|
+
const [date, setDate] = (0, import_react51.useState)(currentDate);
|
|
4315
|
+
const [loaded, setLoaded] = (0, import_react51.useState)("initial");
|
|
4316
|
+
const [data, setData] = (0, import_react51.useState)([]);
|
|
4317
|
+
const { startYear, startMonth, endYear, endMonth } = (0, import_react51.useMemo)(() => {
|
|
4318
|
+
return buildDates({ currentDate: date });
|
|
4319
|
+
}, [date, businessId, tagFilter, reportingBasis]);
|
|
4320
|
+
const {
|
|
4321
|
+
data: rawData,
|
|
4322
|
+
isLoading,
|
|
4323
|
+
isValidating,
|
|
4324
|
+
error,
|
|
4325
|
+
mutate
|
|
4326
|
+
} = (0, import_swr3.default)(
|
|
4327
|
+
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(
|
|
4328
|
+
","
|
|
4329
|
+
)}-${reportingBasis}`,
|
|
4330
|
+
Layer.getProfitAndLossSummaries(apiUrl, auth?.access_token, {
|
|
4331
|
+
params: {
|
|
4332
|
+
businessId,
|
|
4333
|
+
startYear: startYear.toString(),
|
|
4334
|
+
startMonth: startMonth.toString(),
|
|
4335
|
+
endYear: endYear.toString(),
|
|
4336
|
+
endMonth: endMonth.toString(),
|
|
4337
|
+
tagKey: tagFilter?.key,
|
|
4338
|
+
tagValues: tagFilter?.values?.join(","),
|
|
4339
|
+
reportingBasis
|
|
4340
|
+
}
|
|
4341
|
+
})
|
|
4342
|
+
);
|
|
4343
|
+
(0, import_react51.useEffect)(() => {
|
|
4344
|
+
const newData = data.slice();
|
|
4345
|
+
const newPeriod = buildMonthsArray((0, import_date_fns4.sub)(date, { years: 1 }), date);
|
|
4346
|
+
if (newData && newPeriod) {
|
|
4347
|
+
newPeriod.forEach((x) => {
|
|
4348
|
+
if (!newData?.find(
|
|
4349
|
+
(n) => x.getMonth() + 1 === n.month && x.getFullYear() === n.year
|
|
4350
|
+
)) {
|
|
4351
|
+
newData.push({
|
|
4352
|
+
year: x.getFullYear(),
|
|
4353
|
+
month: x.getMonth() + 1,
|
|
4354
|
+
income: 0,
|
|
4355
|
+
costOfGoodsSold: 0,
|
|
4356
|
+
grossProfit: 0,
|
|
4357
|
+
operatingExpenses: 0,
|
|
4358
|
+
profitBeforeTaxes: 0,
|
|
4359
|
+
taxes: 0,
|
|
4360
|
+
netProfit: 0,
|
|
4361
|
+
fullyCategorized: false,
|
|
4362
|
+
totalExpenses: 0,
|
|
4363
|
+
uncategorizedInflows: 0,
|
|
4364
|
+
uncategorizedOutflows: 0,
|
|
4365
|
+
uncategorized_transactions: 0,
|
|
4366
|
+
isLoading: true
|
|
4367
|
+
});
|
|
4368
|
+
}
|
|
4369
|
+
});
|
|
4370
|
+
}
|
|
4371
|
+
if (newData) {
|
|
4372
|
+
setData(
|
|
4373
|
+
newData.sort(
|
|
4374
|
+
(a, b) => Number(new Date(a.year, a.month, 1)) - Number(new Date(b.year, b.month, 1))
|
|
4375
|
+
)
|
|
4376
|
+
);
|
|
4377
|
+
}
|
|
4378
|
+
}, [startYear, startMonth]);
|
|
4379
|
+
(0, import_react51.useEffect)(() => {
|
|
4380
|
+
const newData = rawData?.data?.months?.slice();
|
|
4381
|
+
if (data && newData) {
|
|
4382
|
+
data.forEach((x) => {
|
|
4383
|
+
if (!newData?.find((n) => x.month === n.month && x.year === n.year)) {
|
|
4384
|
+
newData.push({ ...x });
|
|
4385
|
+
}
|
|
4386
|
+
});
|
|
4387
|
+
}
|
|
4388
|
+
if (newData) {
|
|
4389
|
+
setData(
|
|
4390
|
+
newData.sort(
|
|
4391
|
+
(a, b) => Number(new Date(a.year, a.month, 1)) - Number(new Date(b.year, b.month, 1))
|
|
4392
|
+
)
|
|
4393
|
+
);
|
|
4394
|
+
}
|
|
4395
|
+
}, [rawData]);
|
|
4396
|
+
(0, import_react51.useEffect)(() => {
|
|
4397
|
+
if (isLoading && loaded === "initial") {
|
|
4398
|
+
setLoaded("loading");
|
|
4399
|
+
return;
|
|
4400
|
+
}
|
|
4401
|
+
if (!isLoading && rawData) {
|
|
4402
|
+
setLoaded("complete");
|
|
4403
|
+
}
|
|
4404
|
+
}, [data, isLoading]);
|
|
4405
|
+
const pullData = (date2) => setDate(date2);
|
|
4406
|
+
(0, import_react51.useEffect)(() => {
|
|
4407
|
+
if (isLoading || isValidating) {
|
|
4408
|
+
read("PROFIT_AND_LOSS" /* PROFIT_AND_LOSS */);
|
|
4409
|
+
}
|
|
4410
|
+
}, [isLoading, isValidating]);
|
|
4411
|
+
(0, import_react51.useEffect)(() => {
|
|
4412
|
+
if (hasBeenTouched("PROFIT_AND_LOSS" /* PROFIT_AND_LOSS */)) {
|
|
4413
|
+
mutate();
|
|
4414
|
+
}
|
|
4415
|
+
}, [syncTimestamps]);
|
|
4416
|
+
const refetch = () => {
|
|
4417
|
+
mutate();
|
|
4418
|
+
};
|
|
4419
|
+
return {
|
|
4420
|
+
data,
|
|
4421
|
+
isLoading,
|
|
4422
|
+
loaded,
|
|
4423
|
+
error,
|
|
4424
|
+
pullData,
|
|
4425
|
+
refetch
|
|
4426
|
+
};
|
|
4427
|
+
};
|
|
4428
|
+
|
|
4287
4429
|
// src/icons/ChevronDownFill.tsx
|
|
4288
4430
|
var React57 = __toESM(require("react"));
|
|
4289
4431
|
var ChevronDownFill = ({ size = 18, ...props }) => /* @__PURE__ */ React57.createElement(
|
|
@@ -4443,7 +4585,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React58.createElemen
|
|
|
4443
4585
|
var Scissors_default = Scissors;
|
|
4444
4586
|
|
|
4445
4587
|
// src/components/CategorySelect/CategorySelect.tsx
|
|
4446
|
-
var
|
|
4588
|
+
var import_react55 = __toESM(require("react"));
|
|
4447
4589
|
var import_react_select = __toESM(require("react-select"));
|
|
4448
4590
|
|
|
4449
4591
|
// src/icons/Check.tsx
|
|
@@ -4546,20 +4688,20 @@ var MinimizeTwo = ({ size = 18, ...props }) => /* @__PURE__ */ React61.createEle
|
|
|
4546
4688
|
var MinimizeTwo_default = MinimizeTwo;
|
|
4547
4689
|
|
|
4548
4690
|
// src/components/CategorySelect/CategorySelectDrawer.tsx
|
|
4549
|
-
var
|
|
4691
|
+
var import_react54 = __toESM(require("react"));
|
|
4550
4692
|
|
|
4551
4693
|
// src/components/BankTransactionMobileList/BusinessCategories.tsx
|
|
4552
|
-
var
|
|
4694
|
+
var import_react53 = __toESM(require("react"));
|
|
4553
4695
|
|
|
4554
4696
|
// src/components/ActionableList/ActionableList.tsx
|
|
4555
|
-
var
|
|
4697
|
+
var import_react52 = __toESM(require("react"));
|
|
4556
4698
|
var import_classnames21 = __toESM(require("classnames"));
|
|
4557
4699
|
var ActionableList = ({
|
|
4558
4700
|
options,
|
|
4559
4701
|
onClick,
|
|
4560
4702
|
selected
|
|
4561
4703
|
}) => {
|
|
4562
|
-
return /* @__PURE__ */
|
|
4704
|
+
return /* @__PURE__ */ import_react52.default.createElement("ul", { className: "Layer__actionable-list" }, options.map((x, idx) => /* @__PURE__ */ import_react52.default.createElement(
|
|
4563
4705
|
"li",
|
|
4564
4706
|
{
|
|
4565
4707
|
role: "button",
|
|
@@ -4570,15 +4712,15 @@ var ActionableList = ({
|
|
|
4570
4712
|
x.asLink && "Layer__actionable-list-item--as-link"
|
|
4571
4713
|
)
|
|
4572
4714
|
},
|
|
4573
|
-
/* @__PURE__ */
|
|
4574
|
-
!x.asLink && selected && selected.id === x.id ? /* @__PURE__ */
|
|
4715
|
+
/* @__PURE__ */ import_react52.default.createElement(Text, null, x.label),
|
|
4716
|
+
!x.asLink && selected && selected.id === x.id ? /* @__PURE__ */ import_react52.default.createElement(
|
|
4575
4717
|
Check_default,
|
|
4576
4718
|
{
|
|
4577
4719
|
size: 16,
|
|
4578
4720
|
className: "Layer__actionable-list__selected-icon"
|
|
4579
4721
|
}
|
|
4580
4722
|
) : null,
|
|
4581
|
-
x.asLink && /* @__PURE__ */
|
|
4723
|
+
x.asLink && /* @__PURE__ */ import_react52.default.createElement(
|
|
4582
4724
|
ChevronRight_default,
|
|
4583
4725
|
{
|
|
4584
4726
|
size: 16,
|
|
@@ -4645,8 +4787,8 @@ var getAssignedValue = (bankTransaction) => {
|
|
|
4645
4787
|
var BusinessCategories = ({ select }) => {
|
|
4646
4788
|
const { categories } = useLayerContext();
|
|
4647
4789
|
const categoryOptions = flattenCategories(categories);
|
|
4648
|
-
const [optionsToShow, setOptionsToShow] = (0,
|
|
4649
|
-
const [selectedGroup, setSelectedGroup] = (0,
|
|
4790
|
+
const [optionsToShow, setOptionsToShow] = (0, import_react53.useState)(categoryOptions);
|
|
4791
|
+
const [selectedGroup, setSelectedGroup] = (0, import_react53.useState)();
|
|
4650
4792
|
const onCategorySelect = (v) => {
|
|
4651
4793
|
if (v.value.type === "GROUP" && v.value.items) {
|
|
4652
4794
|
setOptionsToShow(v.value.items);
|
|
@@ -4655,14 +4797,14 @@ var BusinessCategories = ({ select }) => {
|
|
|
4655
4797
|
}
|
|
4656
4798
|
select(v);
|
|
4657
4799
|
};
|
|
4658
|
-
return /* @__PURE__ */
|
|
4800
|
+
return /* @__PURE__ */ import_react53.default.createElement("div", { className: "Layer__bank-transaction-mobile-list-item__categories_list-container" }, /* @__PURE__ */ import_react53.default.createElement(
|
|
4659
4801
|
Text,
|
|
4660
4802
|
{
|
|
4661
4803
|
weight: "bold" /* bold */,
|
|
4662
4804
|
className: "Layer__bank-transaction-mobile-list-item__categories_list-title"
|
|
4663
4805
|
},
|
|
4664
4806
|
selectedGroup ?? "Select category"
|
|
4665
|
-
), /* @__PURE__ */
|
|
4807
|
+
), /* @__PURE__ */ import_react53.default.createElement(
|
|
4666
4808
|
ActionableList,
|
|
4667
4809
|
{
|
|
4668
4810
|
options: optionsToShow,
|
|
@@ -4677,12 +4819,12 @@ var CategorySelectDrawer = ({
|
|
|
4677
4819
|
onSelect,
|
|
4678
4820
|
selected
|
|
4679
4821
|
}) => {
|
|
4680
|
-
const { setContent, close } = (0,
|
|
4822
|
+
const { setContent, close } = (0, import_react54.useContext)(DrawerContext);
|
|
4681
4823
|
const onDrawerCategorySelect = (value) => {
|
|
4682
4824
|
close();
|
|
4683
4825
|
onSelect(value);
|
|
4684
4826
|
};
|
|
4685
|
-
return /* @__PURE__ */
|
|
4827
|
+
return /* @__PURE__ */ import_react54.default.createElement(
|
|
4686
4828
|
"button",
|
|
4687
4829
|
{
|
|
4688
4830
|
"aria-label": "Select category",
|
|
@@ -4691,11 +4833,11 @@ var CategorySelectDrawer = ({
|
|
|
4691
4833
|
selected && "Layer__category-menu__drawer-btn--selected"
|
|
4692
4834
|
),
|
|
4693
4835
|
onClick: () => setContent(
|
|
4694
|
-
/* @__PURE__ */
|
|
4836
|
+
/* @__PURE__ */ import_react54.default.createElement(CategorySelectDrawerContent, { onSelect: onDrawerCategorySelect })
|
|
4695
4837
|
)
|
|
4696
4838
|
},
|
|
4697
4839
|
selected?.payload?.display_name ?? "Select...",
|
|
4698
|
-
/* @__PURE__ */
|
|
4840
|
+
/* @__PURE__ */ import_react54.default.createElement(
|
|
4699
4841
|
ChevronDown_default,
|
|
4700
4842
|
{
|
|
4701
4843
|
size: 16,
|
|
@@ -4706,7 +4848,7 @@ var CategorySelectDrawer = ({
|
|
|
4706
4848
|
};
|
|
4707
4849
|
var CategorySelectDrawerContent = ({
|
|
4708
4850
|
onSelect
|
|
4709
|
-
}) => /* @__PURE__ */
|
|
4851
|
+
}) => /* @__PURE__ */ import_react54.default.createElement(
|
|
4710
4852
|
BusinessCategories,
|
|
4711
4853
|
{
|
|
4712
4854
|
select: (option) => {
|
|
@@ -4722,7 +4864,7 @@ var CategorySelectDrawerContent = ({
|
|
|
4722
4864
|
|
|
4723
4865
|
// src/components/CategorySelect/CategorySelect.tsx
|
|
4724
4866
|
var import_classnames23 = __toESM(require("classnames"));
|
|
4725
|
-
var
|
|
4867
|
+
var import_date_fns5 = require("date-fns");
|
|
4726
4868
|
var mapCategoryToOption2 = (category) => {
|
|
4727
4869
|
return {
|
|
4728
4870
|
type: "category" /* CATEGORY */,
|
|
@@ -4749,10 +4891,10 @@ var mapSuggestedMatchToOption = (record) => {
|
|
|
4749
4891
|
};
|
|
4750
4892
|
};
|
|
4751
4893
|
var DropdownIndicator = (props) => {
|
|
4752
|
-
return /* @__PURE__ */
|
|
4894
|
+
return /* @__PURE__ */ import_react55.default.createElement(import_react_select.components.DropdownIndicator, { ...props }, /* @__PURE__ */ import_react55.default.createElement(ChevronDown_default, null));
|
|
4753
4895
|
};
|
|
4754
4896
|
var GroupHeading = (props) => {
|
|
4755
|
-
return /* @__PURE__ */
|
|
4897
|
+
return /* @__PURE__ */ import_react55.default.createElement(
|
|
4756
4898
|
import_react_select.components.GroupHeading,
|
|
4757
4899
|
{
|
|
4758
4900
|
className: (0, import_classnames23.default)(
|
|
@@ -4768,24 +4910,24 @@ var Option2 = (props) => {
|
|
|
4768
4910
|
return;
|
|
4769
4911
|
}
|
|
4770
4912
|
if (props.data.type === "match") {
|
|
4771
|
-
return /* @__PURE__ */
|
|
4913
|
+
return /* @__PURE__ */ import_react55.default.createElement(
|
|
4772
4914
|
import_react_select.components.Option,
|
|
4773
4915
|
{
|
|
4774
4916
|
...props,
|
|
4775
4917
|
className: `${props.className} Layer__select__option-content__match`
|
|
4776
4918
|
},
|
|
4777
|
-
/* @__PURE__ */
|
|
4778
|
-
/* @__PURE__ */
|
|
4919
|
+
/* @__PURE__ */ import_react55.default.createElement("div", { className: "Layer__select__option-content__match__main-row" }, /* @__PURE__ */ import_react55.default.createElement("span", { className: "Layer__select__option-content__match__date" }, props.data.payload.date && (0, import_date_fns5.format)((0, import_date_fns5.parseISO)(props.data.payload.date), DATE_FORMAT)), /* @__PURE__ */ import_react55.default.createElement("span", { className: "Layer__select__option-content__match__description" }, props.data.payload.display_name)),
|
|
4920
|
+
/* @__PURE__ */ import_react55.default.createElement("div", { className: "Layer__select__option-content__match__amount-row" }, /* @__PURE__ */ import_react55.default.createElement("span", { className: "Layer__select__option-content__match__amount" }, "$", centsToDollars(props.data.payload.amount)))
|
|
4779
4921
|
);
|
|
4780
4922
|
}
|
|
4781
|
-
return /* @__PURE__ */
|
|
4923
|
+
return /* @__PURE__ */ import_react55.default.createElement(
|
|
4782
4924
|
import_react_select.components.Option,
|
|
4783
4925
|
{
|
|
4784
4926
|
...props,
|
|
4785
4927
|
className: `Layer__select__option-menu-content ${props.className}`
|
|
4786
4928
|
},
|
|
4787
|
-
/* @__PURE__ */
|
|
4788
|
-
props.isSelected ? /* @__PURE__ */
|
|
4929
|
+
/* @__PURE__ */ import_react55.default.createElement("div", null, props.data.payload.display_name),
|
|
4930
|
+
props.isSelected ? /* @__PURE__ */ import_react55.default.createElement("span", { className: "Layer__select__option-menu-content-check" }, /* @__PURE__ */ import_react55.default.createElement(Check_default, { size: 16 })) : null
|
|
4789
4931
|
);
|
|
4790
4932
|
};
|
|
4791
4933
|
var allCategoriesDivider = [
|
|
@@ -4871,9 +5013,9 @@ var CategorySelect = ({
|
|
|
4871
5013
|
const selected = value ? value : !excludeMatches && matchOptions?.length === 1 && matchOptions[0].options.length === 1 ? matchOptions[0].options[0] : void 0;
|
|
4872
5014
|
const placeholder = matchOptions?.length === 1 && matchOptions[0].options.length > 1 ? `${matchOptions[0].options.length} possible matches...` : "Categorize or match...";
|
|
4873
5015
|
if (asDrawer) {
|
|
4874
|
-
return /* @__PURE__ */
|
|
5016
|
+
return /* @__PURE__ */ import_react55.default.createElement(CategorySelectDrawer, { onSelect: onChange, selected: value });
|
|
4875
5017
|
}
|
|
4876
|
-
return /* @__PURE__ */
|
|
5018
|
+
return /* @__PURE__ */ import_react55.default.createElement(
|
|
4877
5019
|
import_react_select.default,
|
|
4878
5020
|
{
|
|
4879
5021
|
name,
|
|
@@ -4886,7 +5028,7 @@ var CategorySelect = ({
|
|
|
4886
5028
|
isSearchable: true,
|
|
4887
5029
|
placeholder,
|
|
4888
5030
|
defaultValue: selected,
|
|
4889
|
-
formatOptionLabel: (props) => /* @__PURE__ */
|
|
5031
|
+
formatOptionLabel: (props) => /* @__PURE__ */ import_react55.default.createElement("div", { className: "Layer__select__option-label" }, props.type === "match" && /* @__PURE__ */ import_react55.default.createElement(Badge, { size: "small" /* SMALL */, icon: /* @__PURE__ */ import_react55.default.createElement(MinimizeTwo_default, { size: 11 }) }, "Match"), /* @__PURE__ */ import_react55.default.createElement("span", null, props.payload.display_name)),
|
|
4890
5032
|
value,
|
|
4891
5033
|
onChange: (newValue) => newValue && onChange(newValue),
|
|
4892
5034
|
getOptionLabel: (category) => category.payload.display_name,
|
|
@@ -5018,7 +5160,7 @@ var Trash = ({ size = 18, ...props }) => /* @__PURE__ */ React67.createElement(
|
|
|
5018
5160
|
var Trash_default = Trash;
|
|
5019
5161
|
|
|
5020
5162
|
// src/components/Input/Input.tsx
|
|
5021
|
-
var
|
|
5163
|
+
var import_react56 = __toESM(require("react"));
|
|
5022
5164
|
var import_classnames24 = __toESM(require("classnames"));
|
|
5023
5165
|
var Input = ({
|
|
5024
5166
|
className,
|
|
@@ -5033,11 +5175,11 @@ var Input = ({
|
|
|
5033
5175
|
leftText ? "Layer__input--with-left-text" : "",
|
|
5034
5176
|
className
|
|
5035
5177
|
);
|
|
5036
|
-
return /* @__PURE__ */
|
|
5178
|
+
return /* @__PURE__ */ import_react56.default.createElement(Tooltip, { disabled: !isInvalid || !errorMessage }, /* @__PURE__ */ import_react56.default.createElement(TooltipTrigger, { className: "Layer__input-tooltip" }, /* @__PURE__ */ import_react56.default.createElement("input", { ...props, className: baseClassName }), leftText && /* @__PURE__ */ import_react56.default.createElement("span", { className: "Layer__input-left-text" }, leftText)), /* @__PURE__ */ import_react56.default.createElement(TooltipContent, { className: "Layer__tooltip" }, errorMessage));
|
|
5037
5179
|
};
|
|
5038
5180
|
|
|
5039
5181
|
// src/components/Input/InputGroup.tsx
|
|
5040
|
-
var
|
|
5182
|
+
var import_react57 = __toESM(require("react"));
|
|
5041
5183
|
var import_classnames25 = __toESM(require("classnames"));
|
|
5042
5184
|
var InputGroup = ({
|
|
5043
5185
|
label,
|
|
@@ -5051,7 +5193,7 @@ var InputGroup = ({
|
|
|
5051
5193
|
className,
|
|
5052
5194
|
inline && "Layer__input-group--inline"
|
|
5053
5195
|
);
|
|
5054
|
-
return /* @__PURE__ */
|
|
5196
|
+
return /* @__PURE__ */ import_react57.default.createElement("div", { className: baseClassName }, label && /* @__PURE__ */ import_react57.default.createElement(
|
|
5055
5197
|
Text,
|
|
5056
5198
|
{
|
|
5057
5199
|
as: "label",
|
|
@@ -5064,7 +5206,7 @@ var InputGroup = ({
|
|
|
5064
5206
|
};
|
|
5065
5207
|
|
|
5066
5208
|
// src/components/Input/FileInput.tsx
|
|
5067
|
-
var
|
|
5209
|
+
var import_react58 = __toESM(require("react"));
|
|
5068
5210
|
|
|
5069
5211
|
// src/icons/UploadCloud.tsx
|
|
5070
5212
|
var React70 = __toESM(require("react"));
|
|
@@ -5119,7 +5261,7 @@ var UploadCloud_default = UploadCloud;
|
|
|
5119
5261
|
|
|
5120
5262
|
// src/components/Input/FileInput.tsx
|
|
5121
5263
|
var FileInput = ({ text = "Upload", onUpload }) => {
|
|
5122
|
-
const hiddenFileInput = (0,
|
|
5264
|
+
const hiddenFileInput = (0, import_react58.useRef)(null);
|
|
5123
5265
|
const onClick = () => {
|
|
5124
5266
|
if (hiddenFileInput.current) {
|
|
5125
5267
|
hiddenFileInput.current.click();
|
|
@@ -5131,15 +5273,15 @@ var FileInput = ({ text = "Upload", onUpload }) => {
|
|
|
5131
5273
|
onUpload(fileUploaded);
|
|
5132
5274
|
}
|
|
5133
5275
|
};
|
|
5134
|
-
return /* @__PURE__ */
|
|
5276
|
+
return /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, /* @__PURE__ */ import_react58.default.createElement(
|
|
5135
5277
|
Button,
|
|
5136
5278
|
{
|
|
5137
5279
|
onClick,
|
|
5138
5280
|
variant: "secondary" /* secondary */,
|
|
5139
|
-
rightIcon: /* @__PURE__ */
|
|
5281
|
+
rightIcon: /* @__PURE__ */ import_react58.default.createElement(UploadCloud_default, null)
|
|
5140
5282
|
},
|
|
5141
5283
|
text
|
|
5142
|
-
), /* @__PURE__ */
|
|
5284
|
+
), /* @__PURE__ */ import_react58.default.createElement(
|
|
5143
5285
|
"input",
|
|
5144
5286
|
{
|
|
5145
5287
|
type: "file",
|
|
@@ -5151,11 +5293,11 @@ var FileInput = ({ text = "Upload", onUpload }) => {
|
|
|
5151
5293
|
};
|
|
5152
5294
|
|
|
5153
5295
|
// src/components/Input/Select.tsx
|
|
5154
|
-
var
|
|
5296
|
+
var import_react59 = __toESM(require("react"));
|
|
5155
5297
|
var import_react_select2 = __toESM(require("react-select"));
|
|
5156
5298
|
var import_classnames26 = __toESM(require("classnames"));
|
|
5157
5299
|
var DropdownIndicator2 = (props) => {
|
|
5158
|
-
return /* @__PURE__ */
|
|
5300
|
+
return /* @__PURE__ */ import_react59.default.createElement(import_react_select2.components.DropdownIndicator, { ...props }, /* @__PURE__ */ import_react59.default.createElement(ChevronDownFill_default, null));
|
|
5159
5301
|
};
|
|
5160
5302
|
var Select2 = ({
|
|
5161
5303
|
name,
|
|
@@ -5174,7 +5316,7 @@ var Select2 = ({
|
|
|
5174
5316
|
isInvalid ? "Layer__select--error" : "",
|
|
5175
5317
|
className
|
|
5176
5318
|
);
|
|
5177
|
-
return /* @__PURE__ */
|
|
5319
|
+
return /* @__PURE__ */ import_react59.default.createElement(Tooltip, { disabled: !isInvalid || !errorMessage }, /* @__PURE__ */ import_react59.default.createElement(TooltipTrigger, { className: "Layer__input-tooltip" }, /* @__PURE__ */ import_react59.default.createElement(
|
|
5178
5320
|
import_react_select2.default,
|
|
5179
5321
|
{
|
|
5180
5322
|
name,
|
|
@@ -5189,11 +5331,11 @@ var Select2 = ({
|
|
|
5189
5331
|
components: { DropdownIndicator: DropdownIndicator2 },
|
|
5190
5332
|
isDisabled: disabled
|
|
5191
5333
|
}
|
|
5192
|
-
)), /* @__PURE__ */
|
|
5334
|
+
)), /* @__PURE__ */ import_react59.default.createElement(TooltipContent, { className: "Layer__tooltip" }, errorMessage));
|
|
5193
5335
|
};
|
|
5194
5336
|
|
|
5195
5337
|
// src/components/Input/InputWithBadge.tsx
|
|
5196
|
-
var
|
|
5338
|
+
var import_react60 = __toESM(require("react"));
|
|
5197
5339
|
var import_classnames27 = __toESM(require("classnames"));
|
|
5198
5340
|
var InputWithBadge = ({
|
|
5199
5341
|
className,
|
|
@@ -5210,15 +5352,15 @@ var InputWithBadge = ({
|
|
|
5210
5352
|
leftText ? "Layer__input--with-left-text" : "",
|
|
5211
5353
|
className
|
|
5212
5354
|
);
|
|
5213
|
-
return /* @__PURE__ */
|
|
5355
|
+
return /* @__PURE__ */ import_react60.default.createElement(Tooltip, { disabled: !isInvalid || !errorMessage }, /* @__PURE__ */ import_react60.default.createElement(TooltipTrigger, { className: "Layer__input-tooltip" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "Layer__input-with-badge" }, /* @__PURE__ */ import_react60.default.createElement("input", { ...props, className: baseClassName }), badge && /* @__PURE__ */ import_react60.default.createElement(Badge, { variant }, badge)), leftText && /* @__PURE__ */ import_react60.default.createElement("span", { className: "Layer__input-left-text" }, leftText)), /* @__PURE__ */ import_react60.default.createElement(TooltipContent, { className: "Layer__tooltip" }, errorMessage));
|
|
5214
5356
|
};
|
|
5215
5357
|
|
|
5216
5358
|
// src/components/MatchForm/MatchForm.tsx
|
|
5217
|
-
var
|
|
5359
|
+
var import_react62 = __toESM(require("react"));
|
|
5218
5360
|
|
|
5219
5361
|
// src/components/BankTransactionRow/MatchBadge.tsx
|
|
5220
|
-
var
|
|
5221
|
-
var
|
|
5362
|
+
var import_react61 = __toESM(require("react"));
|
|
5363
|
+
var import_date_fns6 = require("date-fns");
|
|
5222
5364
|
var MatchBadge = ({
|
|
5223
5365
|
bankTransaction,
|
|
5224
5366
|
classNamePrefix,
|
|
@@ -5227,11 +5369,11 @@ var MatchBadge = ({
|
|
|
5227
5369
|
}) => {
|
|
5228
5370
|
if (bankTransaction.categorization_status === "MATCHED" /* MATCHED */ && bankTransaction.match) {
|
|
5229
5371
|
const { date, amount } = bankTransaction.match.bank_transaction;
|
|
5230
|
-
return /* @__PURE__ */
|
|
5372
|
+
return /* @__PURE__ */ import_react61.default.createElement(
|
|
5231
5373
|
Badge,
|
|
5232
5374
|
{
|
|
5233
|
-
icon: /* @__PURE__ */
|
|
5234
|
-
tooltip: /* @__PURE__ */
|
|
5375
|
+
icon: /* @__PURE__ */ import_react61.default.createElement(MinimizeTwo_default, { size: 11 }),
|
|
5376
|
+
tooltip: /* @__PURE__ */ import_react61.default.createElement("span", { className: `${classNamePrefix}__match-tooltip` }, /* @__PURE__ */ import_react61.default.createElement("div", { className: `${classNamePrefix}__match-tooltip__date` }, (0, import_date_fns6.format)((0, import_date_fns6.parseISO)(date), dateFormat)), /* @__PURE__ */ import_react61.default.createElement("div", { className: `${classNamePrefix}__match-tooltip__description` }, bankTransaction.match?.details?.description ?? ""), /* @__PURE__ */ import_react61.default.createElement("div", { className: `${classNamePrefix}__match-tooltip__amount` }, "$", centsToDollars(amount)))
|
|
5235
5377
|
},
|
|
5236
5378
|
text
|
|
5237
5379
|
);
|
|
@@ -5241,7 +5383,7 @@ var MatchBadge = ({
|
|
|
5241
5383
|
|
|
5242
5384
|
// src/components/MatchForm/MatchForm.tsx
|
|
5243
5385
|
var import_classnames28 = __toESM(require("classnames"));
|
|
5244
|
-
var
|
|
5386
|
+
var import_date_fns7 = require("date-fns");
|
|
5245
5387
|
var MatchForm = ({
|
|
5246
5388
|
classNamePrefix,
|
|
5247
5389
|
bankTransaction,
|
|
@@ -5249,13 +5391,13 @@ var MatchForm = ({
|
|
|
5249
5391
|
setSelectedMatchId,
|
|
5250
5392
|
matchFormError
|
|
5251
5393
|
}) => {
|
|
5252
|
-
return /* @__PURE__ */
|
|
5394
|
+
return /* @__PURE__ */ import_react62.default.createElement("div", { className: `${classNamePrefix}__match-table` }, /* @__PURE__ */ import_react62.default.createElement("div", { className: `${classNamePrefix}__match-table__header` }, /* @__PURE__ */ import_react62.default.createElement("div", { className: `${classNamePrefix}__match-table__date` }, "Date"), /* @__PURE__ */ import_react62.default.createElement("div", { className: `${classNamePrefix}__match-table__desc` }, "Description"), /* @__PURE__ */ import_react62.default.createElement("div", { className: `${classNamePrefix}__match-table__amount` }, "Amount"), /* @__PURE__ */ import_react62.default.createElement(
|
|
5253
5395
|
"div",
|
|
5254
5396
|
{
|
|
5255
5397
|
className: `${classNamePrefix}__match-table__status ${bankTransaction.match ? "" : "no-match"}`
|
|
5256
5398
|
}
|
|
5257
5399
|
)), bankTransaction.suggested_matches?.map((match, idx) => {
|
|
5258
|
-
return /* @__PURE__ */
|
|
5400
|
+
return /* @__PURE__ */ import_react62.default.createElement(
|
|
5259
5401
|
"div",
|
|
5260
5402
|
{
|
|
5261
5403
|
key: idx,
|
|
@@ -5271,15 +5413,15 @@ var MatchForm = ({
|
|
|
5271
5413
|
setSelectedMatchId(match.id);
|
|
5272
5414
|
}
|
|
5273
5415
|
},
|
|
5274
|
-
/* @__PURE__ */
|
|
5416
|
+
/* @__PURE__ */ import_react62.default.createElement(
|
|
5275
5417
|
"div",
|
|
5276
5418
|
{
|
|
5277
5419
|
className: `Layer__nowrap ${classNamePrefix}__match-table__date`
|
|
5278
5420
|
},
|
|
5279
|
-
/* @__PURE__ */
|
|
5280
|
-
/* @__PURE__ */
|
|
5421
|
+
/* @__PURE__ */ import_react62.default.createElement("span", null, (0, import_date_fns7.format)((0, import_date_fns7.parseISO)(match.details.date), DATE_FORMAT)),
|
|
5422
|
+
/* @__PURE__ */ import_react62.default.createElement("span", { className: "amount-next-to-date" }, "$", centsToDollars(match.details.amount))
|
|
5281
5423
|
),
|
|
5282
|
-
/* @__PURE__ */
|
|
5424
|
+
/* @__PURE__ */ import_react62.default.createElement("div", { className: `${classNamePrefix}__match-table__desc` }, /* @__PURE__ */ import_react62.default.createElement(
|
|
5283
5425
|
Text,
|
|
5284
5426
|
{
|
|
5285
5427
|
className: `${classNamePrefix}__match-table__desc-tooltip`,
|
|
@@ -5287,7 +5429,7 @@ var MatchForm = ({
|
|
|
5287
5429
|
as: "span"
|
|
5288
5430
|
},
|
|
5289
5431
|
match.details.description
|
|
5290
|
-
), match.details.id === bankTransaction.match?.details.id && /* @__PURE__ */
|
|
5432
|
+
), match.details.id === bankTransaction.match?.details.id && /* @__PURE__ */ import_react62.default.createElement("span", { className: "match-badge" }, /* @__PURE__ */ import_react62.default.createElement(
|
|
5291
5433
|
MatchBadge,
|
|
5292
5434
|
{
|
|
5293
5435
|
classNamePrefix,
|
|
@@ -5296,13 +5438,13 @@ var MatchForm = ({
|
|
|
5296
5438
|
text: "Matched"
|
|
5297
5439
|
}
|
|
5298
5440
|
))),
|
|
5299
|
-
/* @__PURE__ */
|
|
5300
|
-
/* @__PURE__ */
|
|
5441
|
+
/* @__PURE__ */ import_react62.default.createElement("div", { className: `${classNamePrefix}__match-table__amount` }, "$", centsToDollars(match.details.amount)),
|
|
5442
|
+
/* @__PURE__ */ import_react62.default.createElement(
|
|
5301
5443
|
"div",
|
|
5302
5444
|
{
|
|
5303
5445
|
className: `${classNamePrefix}__match-table__status ${bankTransaction.match ? "" : "no-match"}`
|
|
5304
5446
|
},
|
|
5305
|
-
match.details.id === bankTransaction.match?.details.id && /* @__PURE__ */
|
|
5447
|
+
match.details.id === bankTransaction.match?.details.id && /* @__PURE__ */ import_react62.default.createElement(
|
|
5306
5448
|
MatchBadge,
|
|
5307
5449
|
{
|
|
5308
5450
|
classNamePrefix,
|
|
@@ -5313,13 +5455,13 @@ var MatchForm = ({
|
|
|
5313
5455
|
)
|
|
5314
5456
|
)
|
|
5315
5457
|
);
|
|
5316
|
-
}), matchFormError && /* @__PURE__ */
|
|
5458
|
+
}), matchFormError && /* @__PURE__ */ import_react62.default.createElement(ErrorText, null, matchFormError));
|
|
5317
5459
|
};
|
|
5318
5460
|
|
|
5319
5461
|
// src/components/MatchForm/MatchFormMobile.tsx
|
|
5320
|
-
var
|
|
5462
|
+
var import_react63 = __toESM(require("react"));
|
|
5321
5463
|
var import_classnames29 = __toESM(require("classnames"));
|
|
5322
|
-
var
|
|
5464
|
+
var import_date_fns8 = require("date-fns");
|
|
5323
5465
|
var MatchFormMobile = ({
|
|
5324
5466
|
classNamePrefix,
|
|
5325
5467
|
bankTransaction,
|
|
@@ -5327,8 +5469,8 @@ var MatchFormMobile = ({
|
|
|
5327
5469
|
setSelectedMatchId,
|
|
5328
5470
|
matchFormError
|
|
5329
5471
|
}) => {
|
|
5330
|
-
return /* @__PURE__ */
|
|
5331
|
-
return /* @__PURE__ */
|
|
5472
|
+
return /* @__PURE__ */ import_react63.default.createElement("div", { className: `${classNamePrefix}__match-list` }, bankTransaction.suggested_matches?.map((match, idx) => {
|
|
5473
|
+
return /* @__PURE__ */ import_react63.default.createElement(
|
|
5332
5474
|
"div",
|
|
5333
5475
|
{
|
|
5334
5476
|
key: idx,
|
|
@@ -5344,14 +5486,14 @@ var MatchFormMobile = ({
|
|
|
5344
5486
|
setSelectedMatchId(match.id);
|
|
5345
5487
|
}
|
|
5346
5488
|
},
|
|
5347
|
-
/* @__PURE__ */
|
|
5489
|
+
/* @__PURE__ */ import_react63.default.createElement("div", { className: `${classNamePrefix}__match-item__col-details` }, /* @__PURE__ */ import_react63.default.createElement("div", { className: `${classNamePrefix}__match-item__heading` }, /* @__PURE__ */ import_react63.default.createElement(
|
|
5348
5490
|
Text,
|
|
5349
5491
|
{
|
|
5350
5492
|
className: `${classNamePrefix}__match-item__name`,
|
|
5351
5493
|
as: "span"
|
|
5352
5494
|
},
|
|
5353
5495
|
match.details.description
|
|
5354
|
-
), /* @__PURE__ */
|
|
5496
|
+
), /* @__PURE__ */ import_react63.default.createElement(
|
|
5355
5497
|
Text,
|
|
5356
5498
|
{
|
|
5357
5499
|
className: `${classNamePrefix}__match-item__amount`,
|
|
@@ -5359,16 +5501,16 @@ var MatchFormMobile = ({
|
|
|
5359
5501
|
},
|
|
5360
5502
|
"$",
|
|
5361
5503
|
centsToDollars(match.details.amount)
|
|
5362
|
-
)), /* @__PURE__ */
|
|
5504
|
+
)), /* @__PURE__ */ import_react63.default.createElement("div", { className: `${classNamePrefix}__match-item__details` }, /* @__PURE__ */ import_react63.default.createElement(
|
|
5363
5505
|
Text,
|
|
5364
5506
|
{
|
|
5365
5507
|
className: `${classNamePrefix}__match-item__date`,
|
|
5366
5508
|
size: "sm" /* sm */,
|
|
5367
5509
|
as: "span"
|
|
5368
5510
|
},
|
|
5369
|
-
(0,
|
|
5511
|
+
(0, import_date_fns8.format)((0, import_date_fns8.parseISO)(match.details.date), MONTH_DAY_FORMAT)
|
|
5370
5512
|
))),
|
|
5371
|
-
/* @__PURE__ */
|
|
5513
|
+
/* @__PURE__ */ import_react63.default.createElement("div", { className: `${classNamePrefix}__match-item__col-status` }, selectedMatchId && selectedMatchId === match.id ? /* @__PURE__ */ import_react63.default.createElement(
|
|
5372
5514
|
Check_default,
|
|
5373
5515
|
{
|
|
5374
5516
|
size: 16,
|
|
@@ -5376,11 +5518,11 @@ var MatchFormMobile = ({
|
|
|
5376
5518
|
}
|
|
5377
5519
|
) : null)
|
|
5378
5520
|
);
|
|
5379
|
-
}), matchFormError && /* @__PURE__ */
|
|
5521
|
+
}), matchFormError && /* @__PURE__ */ import_react63.default.createElement(ErrorText, null, matchFormError));
|
|
5380
5522
|
};
|
|
5381
5523
|
|
|
5382
5524
|
// src/components/Textarea/Textarea.tsx
|
|
5383
|
-
var
|
|
5525
|
+
var import_react64 = __toESM(require("react"));
|
|
5384
5526
|
var import_classnames30 = __toESM(require("classnames"));
|
|
5385
5527
|
var Textarea = ({
|
|
5386
5528
|
className,
|
|
@@ -5393,11 +5535,11 @@ var Textarea = ({
|
|
|
5393
5535
|
isInvalid ? "Layer__textarea--error" : "",
|
|
5394
5536
|
className
|
|
5395
5537
|
);
|
|
5396
|
-
return /* @__PURE__ */
|
|
5538
|
+
return /* @__PURE__ */ import_react64.default.createElement(Tooltip, { disabled: !isInvalid || !errorMessage }, /* @__PURE__ */ import_react64.default.createElement(TooltipTrigger, { className: "Layer__input-tooltip" }, /* @__PURE__ */ import_react64.default.createElement("textarea", { ...props, className: baseClassName })), /* @__PURE__ */ import_react64.default.createElement(TooltipContent, { className: "Layer__tooltip" }, errorMessage));
|
|
5397
5539
|
};
|
|
5398
5540
|
|
|
5399
5541
|
// src/components/Toggle/Toggle.tsx
|
|
5400
|
-
var
|
|
5542
|
+
var import_react65 = __toESM(require("react"));
|
|
5401
5543
|
var import_classnames31 = __toESM(require("classnames"));
|
|
5402
5544
|
var Toggle = ({
|
|
5403
5545
|
name,
|
|
@@ -5406,9 +5548,9 @@ var Toggle = ({
|
|
|
5406
5548
|
onChange,
|
|
5407
5549
|
size = "medium" /* medium */
|
|
5408
5550
|
}) => {
|
|
5409
|
-
const [currentWidth, setCurrentWidth] = (0,
|
|
5410
|
-
const [thumbPos, setThumbPos] = (0,
|
|
5411
|
-
const [initialized, setInitialized] = (0,
|
|
5551
|
+
const [currentWidth, setCurrentWidth] = (0, import_react65.useState)(0);
|
|
5552
|
+
const [thumbPos, setThumbPos] = (0, import_react65.useState)({ left: 0, width: 0 });
|
|
5553
|
+
const [initialized, setInitialized] = (0, import_react65.useState)(false);
|
|
5412
5554
|
const toggleRef = useElementSize((a, b, c) => {
|
|
5413
5555
|
if (c.width && c?.width !== currentWidth) {
|
|
5414
5556
|
setCurrentWidth(c.width);
|
|
@@ -5443,14 +5585,14 @@ var Toggle = ({
|
|
|
5443
5585
|
shift2 = shift2 + (size === "medium" /* medium */ ? 2 : 1.5);
|
|
5444
5586
|
setThumbPos({ left: shift2, width });
|
|
5445
5587
|
};
|
|
5446
|
-
(0,
|
|
5588
|
+
(0, import_react65.useEffect)(() => {
|
|
5447
5589
|
const selectedIndex = getSelectedIndex();
|
|
5448
5590
|
updateThumbPosition(selectedIndex);
|
|
5449
5591
|
setTimeout(() => {
|
|
5450
5592
|
setInitialized(true);
|
|
5451
5593
|
}, 400);
|
|
5452
5594
|
}, []);
|
|
5453
|
-
(0,
|
|
5595
|
+
(0, import_react65.useEffect)(() => {
|
|
5454
5596
|
const selectedIndex = getSelectedIndex();
|
|
5455
5597
|
updateThumbPosition(selectedIndex);
|
|
5456
5598
|
}, [currentWidth]);
|
|
@@ -5463,7 +5605,7 @@ var Toggle = ({
|
|
|
5463
5605
|
}
|
|
5464
5606
|
return selectedIndex;
|
|
5465
5607
|
};
|
|
5466
|
-
return /* @__PURE__ */
|
|
5608
|
+
return /* @__PURE__ */ import_react65.default.createElement("div", { className: baseClassName, ref: toggleRef }, options.map((option, index) => /* @__PURE__ */ import_react65.default.createElement(
|
|
5467
5609
|
ToggleOption,
|
|
5468
5610
|
{
|
|
5469
5611
|
...option,
|
|
@@ -5476,7 +5618,7 @@ var Toggle = ({
|
|
|
5476
5618
|
disabledMessage: option.disabledMessage,
|
|
5477
5619
|
index
|
|
5478
5620
|
}
|
|
5479
|
-
)), /* @__PURE__ */
|
|
5621
|
+
)), /* @__PURE__ */ import_react65.default.createElement("span", { className: "Layer__toggle__thumb", style: { ...thumbPos } }));
|
|
5480
5622
|
};
|
|
5481
5623
|
var ToggleOption = ({
|
|
5482
5624
|
checked,
|
|
@@ -5492,14 +5634,14 @@ var ToggleOption = ({
|
|
|
5492
5634
|
index
|
|
5493
5635
|
}) => {
|
|
5494
5636
|
if (disabled) {
|
|
5495
|
-
return /* @__PURE__ */
|
|
5637
|
+
return /* @__PURE__ */ import_react65.default.createElement(Tooltip, null, /* @__PURE__ */ import_react65.default.createElement(TooltipTrigger, null, /* @__PURE__ */ import_react65.default.createElement(
|
|
5496
5638
|
"label",
|
|
5497
5639
|
{
|
|
5498
5640
|
className: `Layer__toggle-option`,
|
|
5499
5641
|
"data-checked": checked,
|
|
5500
5642
|
style
|
|
5501
5643
|
},
|
|
5502
|
-
/* @__PURE__ */
|
|
5644
|
+
/* @__PURE__ */ import_react65.default.createElement(
|
|
5503
5645
|
"input",
|
|
5504
5646
|
{
|
|
5505
5647
|
type: "radio",
|
|
@@ -5511,17 +5653,17 @@ var ToggleOption = ({
|
|
|
5511
5653
|
"data-idx": index
|
|
5512
5654
|
}
|
|
5513
5655
|
),
|
|
5514
|
-
/* @__PURE__ */
|
|
5515
|
-
)), /* @__PURE__ */
|
|
5656
|
+
/* @__PURE__ */ import_react65.default.createElement("span", { className: "Layer__toggle-option-content" }, leftIcon && /* @__PURE__ */ import_react65.default.createElement("span", { className: "Layer__toggle-option__icon" }, leftIcon), /* @__PURE__ */ import_react65.default.createElement("span", null, label))
|
|
5657
|
+
)), /* @__PURE__ */ import_react65.default.createElement(TooltipContent, { className: "Layer__tooltip" }, disabledMessage));
|
|
5516
5658
|
}
|
|
5517
|
-
return /* @__PURE__ */
|
|
5659
|
+
return /* @__PURE__ */ import_react65.default.createElement(
|
|
5518
5660
|
"label",
|
|
5519
5661
|
{
|
|
5520
5662
|
className: `Layer__toggle-option`,
|
|
5521
5663
|
"data-checked": checked,
|
|
5522
5664
|
style
|
|
5523
5665
|
},
|
|
5524
|
-
/* @__PURE__ */
|
|
5666
|
+
/* @__PURE__ */ import_react65.default.createElement(
|
|
5525
5667
|
"input",
|
|
5526
5668
|
{
|
|
5527
5669
|
type: "radio",
|
|
@@ -5533,12 +5675,12 @@ var ToggleOption = ({
|
|
|
5533
5675
|
"data-idx": index
|
|
5534
5676
|
}
|
|
5535
5677
|
),
|
|
5536
|
-
/* @__PURE__ */
|
|
5678
|
+
/* @__PURE__ */ import_react65.default.createElement("span", { className: "Layer__toggle-option-content" }, leftIcon && /* @__PURE__ */ import_react65.default.createElement("span", { className: "Layer__toggle-option__icon" }, leftIcon), /* @__PURE__ */ import_react65.default.createElement("span", null, label))
|
|
5537
5679
|
);
|
|
5538
5680
|
};
|
|
5539
5681
|
|
|
5540
5682
|
// src/components/ExpandedBankTransactionRow/APIErrorNotifications.tsx
|
|
5541
|
-
var
|
|
5683
|
+
var import_react66 = __toESM(require("react"));
|
|
5542
5684
|
var ERROR_TITLE = "Approval Failed";
|
|
5543
5685
|
var ERROR_MESSAGE = "Something went wrong, try again later";
|
|
5544
5686
|
var NOTIFICATION_TIME = 4e3;
|
|
@@ -5548,7 +5690,7 @@ var APIErrorNotifications = ({
|
|
|
5548
5690
|
bankTransaction,
|
|
5549
5691
|
containerWidth
|
|
5550
5692
|
}) => {
|
|
5551
|
-
const [notifications, setNotifications] = (0,
|
|
5693
|
+
const [notifications, setNotifications] = (0, import_react66.useState)([]);
|
|
5552
5694
|
const pushNotification = (title, message) => {
|
|
5553
5695
|
const timestamp = (/* @__PURE__ */ new Date()).valueOf();
|
|
5554
5696
|
if (notificationsCache.find(
|
|
@@ -5577,18 +5719,18 @@ var APIErrorNotifications = ({
|
|
|
5577
5719
|
);
|
|
5578
5720
|
setNotifications(notificationsCache.concat());
|
|
5579
5721
|
};
|
|
5580
|
-
(0,
|
|
5722
|
+
(0, import_react66.useEffect)(() => {
|
|
5581
5723
|
if (bankTransaction.error) {
|
|
5582
5724
|
pushNotification(ERROR_TITLE, ERROR_MESSAGE);
|
|
5583
5725
|
}
|
|
5584
5726
|
}, [bankTransaction.error]);
|
|
5585
|
-
return /* @__PURE__ */
|
|
5727
|
+
return /* @__PURE__ */ import_react66.default.createElement(
|
|
5586
5728
|
"div",
|
|
5587
5729
|
{
|
|
5588
5730
|
className: "Layer__bank-transactions__notifications",
|
|
5589
5731
|
style: containerWidth ? { left: containerWidth - 324 } : {}
|
|
5590
5732
|
},
|
|
5591
|
-
notifications.filter((n) => n.bankTransactionId === bankTransaction.id).map((notification) => /* @__PURE__ */
|
|
5733
|
+
notifications.filter((n) => n.bankTransactionId === bankTransaction.id).map((notification) => /* @__PURE__ */ import_react66.default.createElement(
|
|
5592
5734
|
Notification,
|
|
5593
5735
|
{
|
|
5594
5736
|
key: notification.timestamp,
|
|
@@ -5602,8 +5744,8 @@ var Notification = ({
|
|
|
5602
5744
|
notification,
|
|
5603
5745
|
deleteNotification
|
|
5604
5746
|
}) => {
|
|
5605
|
-
const [visible, setVisible] = (0,
|
|
5606
|
-
(0,
|
|
5747
|
+
const [visible, setVisible] = (0, import_react66.useState)(false);
|
|
5748
|
+
(0, import_react66.useEffect)(() => {
|
|
5607
5749
|
setVisible(true);
|
|
5608
5750
|
const timer = setTimeout(() => {
|
|
5609
5751
|
hideNotification();
|
|
@@ -5616,20 +5758,20 @@ var Notification = ({
|
|
|
5616
5758
|
deleteNotification(notification.timestamp);
|
|
5617
5759
|
}, FADE_OUT_TIME_WAIT);
|
|
5618
5760
|
};
|
|
5619
|
-
return /* @__PURE__ */
|
|
5761
|
+
return /* @__PURE__ */ import_react66.default.createElement(
|
|
5620
5762
|
"div",
|
|
5621
5763
|
{
|
|
5622
5764
|
className: `Layer__bank-transactions__notification ${visible ? "notification-enter" : "notification-exit"}`,
|
|
5623
5765
|
onClick: hideNotification
|
|
5624
5766
|
},
|
|
5625
|
-
/* @__PURE__ */
|
|
5767
|
+
/* @__PURE__ */ import_react66.default.createElement("div", { className: "Layer__bank-transactions__notification-content" }, /* @__PURE__ */ import_react66.default.createElement("div", { className: "Layer__bank-transactions__notification-icon" }, /* @__PURE__ */ import_react66.default.createElement(AlertOctagon_default, { size: 14 })), /* @__PURE__ */ import_react66.default.createElement("div", { className: "Layer__bank-transactions__notification-text" }, /* @__PURE__ */ import_react66.default.createElement(
|
|
5626
5768
|
Text,
|
|
5627
5769
|
{
|
|
5628
5770
|
as: "span",
|
|
5629
5771
|
className: "Layer__bank-transactions__notification-title"
|
|
5630
5772
|
},
|
|
5631
5773
|
notification.title
|
|
5632
|
-
), /* @__PURE__ */
|
|
5774
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
5633
5775
|
Text,
|
|
5634
5776
|
{
|
|
5635
5777
|
as: "span",
|
|
@@ -5642,149 +5784,6 @@ var Notification = ({
|
|
|
5642
5784
|
|
|
5643
5785
|
// src/components/ExpandedBankTransactionRow/ExpandedBankTransactionRow.tsx
|
|
5644
5786
|
var import_classnames32 = __toESM(require("classnames"));
|
|
5645
|
-
|
|
5646
|
-
// src/hooks/useProfitAndLoss/useProfitAndLossLTM.tsx
|
|
5647
|
-
var import_react66 = require("react");
|
|
5648
|
-
var import_date_fns8 = require("date-fns");
|
|
5649
|
-
var import_swr3 = __toESM(require("swr"));
|
|
5650
|
-
var buildDates = ({ currentDate }) => {
|
|
5651
|
-
return {
|
|
5652
|
-
startYear: (0, import_date_fns8.startOfMonth)(currentDate).getFullYear() - 1,
|
|
5653
|
-
startMonth: (0, import_date_fns8.startOfMonth)(currentDate).getMonth() + 1,
|
|
5654
|
-
endYear: (0, import_date_fns8.startOfMonth)(currentDate).getFullYear(),
|
|
5655
|
-
endMonth: (0, import_date_fns8.startOfMonth)(currentDate).getMonth() + 1
|
|
5656
|
-
};
|
|
5657
|
-
};
|
|
5658
|
-
var buildMonthsArray = (startDate, endDate) => {
|
|
5659
|
-
if (startDate >= endDate) {
|
|
5660
|
-
return [];
|
|
5661
|
-
}
|
|
5662
|
-
var dates = [];
|
|
5663
|
-
for (var d = startDate; d <= endDate; d.setMonth(d.getMonth() + 1)) {
|
|
5664
|
-
dates.push(new Date(d));
|
|
5665
|
-
}
|
|
5666
|
-
return dates;
|
|
5667
|
-
};
|
|
5668
|
-
var useProfitAndLossLTM = ({ currentDate, tagFilter, reportingBasis } = {
|
|
5669
|
-
currentDate: /* @__PURE__ */ new Date()
|
|
5670
|
-
}) => {
|
|
5671
|
-
const { businessId, auth, apiUrl, syncTimestamps, read, hasBeenTouched } = useLayerContext();
|
|
5672
|
-
const [date, setDate] = (0, import_react66.useState)(currentDate);
|
|
5673
|
-
const [loaded, setLoaded] = (0, import_react66.useState)("initial");
|
|
5674
|
-
const [data, setData] = (0, import_react66.useState)([]);
|
|
5675
|
-
const { startYear, startMonth, endYear, endMonth } = (0, import_react66.useMemo)(() => {
|
|
5676
|
-
return buildDates({ currentDate: date });
|
|
5677
|
-
}, [date, businessId, tagFilter, reportingBasis]);
|
|
5678
|
-
const {
|
|
5679
|
-
data: rawData,
|
|
5680
|
-
isLoading,
|
|
5681
|
-
isValidating,
|
|
5682
|
-
error,
|
|
5683
|
-
mutate
|
|
5684
|
-
} = (0, import_swr3.default)(
|
|
5685
|
-
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(
|
|
5686
|
-
","
|
|
5687
|
-
)}-${reportingBasis}`,
|
|
5688
|
-
Layer.getProfitAndLossSummaries(apiUrl, auth?.access_token, {
|
|
5689
|
-
params: {
|
|
5690
|
-
businessId,
|
|
5691
|
-
startYear: startYear.toString(),
|
|
5692
|
-
startMonth: startMonth.toString(),
|
|
5693
|
-
endYear: endYear.toString(),
|
|
5694
|
-
endMonth: endMonth.toString(),
|
|
5695
|
-
tagKey: tagFilter?.key,
|
|
5696
|
-
tagValues: tagFilter?.values?.join(","),
|
|
5697
|
-
reportingBasis
|
|
5698
|
-
}
|
|
5699
|
-
})
|
|
5700
|
-
);
|
|
5701
|
-
(0, import_react66.useEffect)(() => {
|
|
5702
|
-
const newData = data.slice();
|
|
5703
|
-
const newPeriod = buildMonthsArray((0, import_date_fns8.sub)(date, { years: 1 }), date);
|
|
5704
|
-
if (newData && newPeriod) {
|
|
5705
|
-
newPeriod.forEach((x) => {
|
|
5706
|
-
if (!newData?.find(
|
|
5707
|
-
(n) => x.getMonth() + 1 === n.month && x.getFullYear() === n.year
|
|
5708
|
-
)) {
|
|
5709
|
-
newData.push({
|
|
5710
|
-
year: x.getFullYear(),
|
|
5711
|
-
month: x.getMonth() + 1,
|
|
5712
|
-
income: 0,
|
|
5713
|
-
costOfGoodsSold: 0,
|
|
5714
|
-
grossProfit: 0,
|
|
5715
|
-
operatingExpenses: 0,
|
|
5716
|
-
profitBeforeTaxes: 0,
|
|
5717
|
-
taxes: 0,
|
|
5718
|
-
netProfit: 0,
|
|
5719
|
-
fullyCategorized: false,
|
|
5720
|
-
totalExpenses: 0,
|
|
5721
|
-
uncategorizedInflows: 0,
|
|
5722
|
-
uncategorizedOutflows: 0,
|
|
5723
|
-
uncategorized_transactions: 0,
|
|
5724
|
-
isLoading: true
|
|
5725
|
-
});
|
|
5726
|
-
}
|
|
5727
|
-
});
|
|
5728
|
-
}
|
|
5729
|
-
if (newData) {
|
|
5730
|
-
setData(
|
|
5731
|
-
newData.sort(
|
|
5732
|
-
(a, b) => Number(new Date(a.year, a.month, 1)) - Number(new Date(b.year, b.month, 1))
|
|
5733
|
-
)
|
|
5734
|
-
);
|
|
5735
|
-
}
|
|
5736
|
-
}, [startYear, startMonth]);
|
|
5737
|
-
(0, import_react66.useEffect)(() => {
|
|
5738
|
-
const newData = rawData?.data?.months?.slice();
|
|
5739
|
-
if (data && newData) {
|
|
5740
|
-
data.forEach((x) => {
|
|
5741
|
-
if (!newData?.find((n) => x.month === n.month && x.year === n.year)) {
|
|
5742
|
-
newData.push({ ...x });
|
|
5743
|
-
}
|
|
5744
|
-
});
|
|
5745
|
-
}
|
|
5746
|
-
if (newData) {
|
|
5747
|
-
setData(
|
|
5748
|
-
newData.sort(
|
|
5749
|
-
(a, b) => Number(new Date(a.year, a.month, 1)) - Number(new Date(b.year, b.month, 1))
|
|
5750
|
-
)
|
|
5751
|
-
);
|
|
5752
|
-
}
|
|
5753
|
-
}, [rawData]);
|
|
5754
|
-
(0, import_react66.useEffect)(() => {
|
|
5755
|
-
if (isLoading && loaded === "initial") {
|
|
5756
|
-
setLoaded("loading");
|
|
5757
|
-
return;
|
|
5758
|
-
}
|
|
5759
|
-
if (!isLoading && rawData) {
|
|
5760
|
-
setLoaded("complete");
|
|
5761
|
-
}
|
|
5762
|
-
}, [data, isLoading]);
|
|
5763
|
-
const pullData = (date2) => setDate(date2);
|
|
5764
|
-
(0, import_react66.useEffect)(() => {
|
|
5765
|
-
if (isLoading || isValidating) {
|
|
5766
|
-
read("PROFIT_AND_LOSS" /* PROFIT_AND_LOSS */);
|
|
5767
|
-
}
|
|
5768
|
-
}, [isLoading, isValidating]);
|
|
5769
|
-
(0, import_react66.useEffect)(() => {
|
|
5770
|
-
if (hasBeenTouched("PROFIT_AND_LOSS" /* PROFIT_AND_LOSS */)) {
|
|
5771
|
-
mutate();
|
|
5772
|
-
}
|
|
5773
|
-
}, [syncTimestamps]);
|
|
5774
|
-
const refetch = () => {
|
|
5775
|
-
mutate();
|
|
5776
|
-
};
|
|
5777
|
-
return {
|
|
5778
|
-
data,
|
|
5779
|
-
isLoading,
|
|
5780
|
-
loaded,
|
|
5781
|
-
error,
|
|
5782
|
-
pullData,
|
|
5783
|
-
refetch
|
|
5784
|
-
};
|
|
5785
|
-
};
|
|
5786
|
-
|
|
5787
|
-
// src/components/ExpandedBankTransactionRow/ExpandedBankTransactionRow.tsx
|
|
5788
5787
|
var isAlreadyMatched2 = (bankTransaction) => {
|
|
5789
5788
|
if (bankTransaction?.match) {
|
|
5790
5789
|
const foundMatch = bankTransaction.suggested_matches?.find(
|
|
@@ -6336,7 +6335,8 @@ var BankTransactionRow = ({
|
|
|
6336
6335
|
initialLoad,
|
|
6337
6336
|
showDescriptions,
|
|
6338
6337
|
showReceiptUploads,
|
|
6339
|
-
hardRefreshPnlOnCategorize
|
|
6338
|
+
hardRefreshPnlOnCategorize,
|
|
6339
|
+
stringOverrides
|
|
6340
6340
|
}) => {
|
|
6341
6341
|
const expandedRowRef = (0, import_react69.useRef)(null);
|
|
6342
6342
|
const [showRetry, setShowRetry] = (0, import_react69.useState)(false);
|
|
@@ -6562,7 +6562,7 @@ var BankTransactionRow = ({
|
|
|
6562
6562
|
active: open,
|
|
6563
6563
|
action: categorized ? "save" /* SAVE */ : "update" /* UPDATE */
|
|
6564
6564
|
},
|
|
6565
|
-
categorized ? "Update" : "Approve"
|
|
6565
|
+
categorized ? stringOverrides?.updateButtonText || "Update" : stringOverrides?.approveButtonText || "Approve"
|
|
6566
6566
|
) : null,
|
|
6567
6567
|
/* @__PURE__ */ import_react69.default.createElement(
|
|
6568
6568
|
IconButton,
|
|
@@ -6644,7 +6644,8 @@ var BankTransactionListItem = ({
|
|
|
6644
6644
|
showReceiptUploads,
|
|
6645
6645
|
hardRefreshPnlOnCategorize,
|
|
6646
6646
|
containerWidth,
|
|
6647
|
-
removeTransaction
|
|
6647
|
+
removeTransaction,
|
|
6648
|
+
stringOverrides
|
|
6648
6649
|
}) => {
|
|
6649
6650
|
const expandedRowRef = (0, import_react71.useRef)(null);
|
|
6650
6651
|
const [showRetry, setShowRetry] = (0, import_react71.useState)(false);
|
|
@@ -6737,7 +6738,7 @@ var BankTransactionListItem = ({
|
|
|
6737
6738
|
close: () => setOpen(false),
|
|
6738
6739
|
categorized,
|
|
6739
6740
|
asListItem: true,
|
|
6740
|
-
submitBtnText: categorized ? "Update" : "Approve",
|
|
6741
|
+
submitBtnText: categorized ? stringOverrides?.updateButtonText || "Update" : stringOverrides?.approveButtonText || "Approve",
|
|
6741
6742
|
containerWidth,
|
|
6742
6743
|
showDescriptions,
|
|
6743
6744
|
showReceiptUploads,
|
|
@@ -6767,7 +6768,7 @@ var BankTransactionListItem = ({
|
|
|
6767
6768
|
processing: bankTransaction.processing,
|
|
6768
6769
|
action: !categorized ? "save" /* SAVE */ : "update" /* UPDATE */
|
|
6769
6770
|
},
|
|
6770
|
-
!categorized ? "Approve" : "Update"
|
|
6771
|
+
!categorized ? stringOverrides?.approveButtonText || "Approve" : stringOverrides?.updateButtonText || "Update"
|
|
6771
6772
|
) : null, !categorized && showRetry ? /* @__PURE__ */ import_react71.default.createElement(
|
|
6772
6773
|
RetryButton,
|
|
6773
6774
|
{
|
|
@@ -6792,7 +6793,8 @@ var BankTransactionList = ({
|
|
|
6792
6793
|
containerWidth,
|
|
6793
6794
|
showDescriptions = false,
|
|
6794
6795
|
showReceiptUploads = false,
|
|
6795
|
-
hardRefreshPnlOnCategorize = false
|
|
6796
|
+
hardRefreshPnlOnCategorize = false,
|
|
6797
|
+
stringOverrides
|
|
6796
6798
|
}) => {
|
|
6797
6799
|
return /* @__PURE__ */ import_react72.default.createElement("ul", { className: "Layer__bank-transactions__list" }, bankTransactions?.map(
|
|
6798
6800
|
(bankTransaction, index) => /* @__PURE__ */ import_react72.default.createElement(
|
|
@@ -6807,7 +6809,8 @@ var BankTransactionList = ({
|
|
|
6807
6809
|
containerWidth,
|
|
6808
6810
|
showDescriptions,
|
|
6809
6811
|
showReceiptUploads,
|
|
6810
|
-
hardRefreshPnlOnCategorize
|
|
6812
|
+
hardRefreshPnlOnCategorize,
|
|
6813
|
+
stringOverrides
|
|
6811
6814
|
}
|
|
6812
6815
|
)
|
|
6813
6816
|
));
|
|
@@ -7626,6 +7629,7 @@ var BankTransactionsTable = ({
|
|
|
7626
7629
|
showDescriptions = false,
|
|
7627
7630
|
showReceiptUploads = false,
|
|
7628
7631
|
hardRefreshPnlOnCategorize = false,
|
|
7632
|
+
stringOverrides,
|
|
7629
7633
|
isSyncing = false,
|
|
7630
7634
|
page,
|
|
7631
7635
|
lastPage,
|
|
@@ -7637,7 +7641,7 @@ var BankTransactionsTable = ({
|
|
|
7637
7641
|
width: "100%",
|
|
7638
7642
|
className: "Layer__table Layer__bank-transactions__table with-cell-separators"
|
|
7639
7643
|
},
|
|
7640
|
-
/* @__PURE__ */ import_react86.default.createElement("thead", null, /* @__PURE__ */ import_react86.default.createElement("tr", null, /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__bank-transactions__date-col" }, "Date"), /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__bank-transactions__tx-col" }, "Transaction"), /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__bank-transactions__account-col" }, "Account"), /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount Layer__table-cell__amount-col" }, "Amount"), categorizeView && editable ? /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__table-header--primary Layer__table-cell__category-col" }, "Categorize") : /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__table-cell__category-col" }, "Category"))),
|
|
7644
|
+
/* @__PURE__ */ import_react86.default.createElement("thead", null, /* @__PURE__ */ import_react86.default.createElement("tr", null, /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__bank-transactions__date-col" }, stringOverrides?.transactionsTable?.dateColumnHeaderText || "Date"), /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__bank-transactions__tx-col" }, stringOverrides?.transactionsTable?.transactionColumnHeaderText || "Transaction"), /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__bank-transactions__account-col" }, stringOverrides?.transactionsTable?.accountColumnHeaderText || "Account"), /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount Layer__table-cell__amount-col" }, stringOverrides?.transactionsTable?.amountColumnHeaderText || "Amount"), categorizeView && editable ? /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__table-header--primary Layer__table-cell__category-col" }, stringOverrides?.transactionsTable?.categorizeColumnHeaderText || "Categorize") : /* @__PURE__ */ import_react86.default.createElement("th", { className: "Layer__table-header Layer__table-cell__category-col" }, stringOverrides?.transactionsTable?.categoryColumnHeaderText || "Category"))),
|
|
7641
7645
|
isLoading && page && page === 1 ? /* @__PURE__ */ import_react86.default.createElement(BankTransactionsLoader, { isLoading: true }) : null,
|
|
7642
7646
|
!isLoading && isSyncing && page && page === 1 ? /* @__PURE__ */ import_react86.default.createElement(BankTransactionsLoader, { isLoading: false }) : null,
|
|
7643
7647
|
/* @__PURE__ */ import_react86.default.createElement("tbody", null, !isLoading && bankTransactions?.map(
|
|
@@ -7654,7 +7658,8 @@ var BankTransactionsTable = ({
|
|
|
7654
7658
|
containerWidth,
|
|
7655
7659
|
showDescriptions,
|
|
7656
7660
|
showReceiptUploads,
|
|
7657
|
-
hardRefreshPnlOnCategorize
|
|
7661
|
+
hardRefreshPnlOnCategorize,
|
|
7662
|
+
stringOverrides: stringOverrides?.bankTransactionCTAs
|
|
7658
7663
|
}
|
|
7659
7664
|
)
|
|
7660
7665
|
), isSyncing && (lastPage || (!bankTransactions || bankTransactions.length === 0) && page === 1) ? /* @__PURE__ */ import_react86.default.createElement("tr", null, /* @__PURE__ */ import_react86.default.createElement("td", { colSpan: 3 }, /* @__PURE__ */ import_react86.default.createElement(
|
|
@@ -8429,7 +8434,9 @@ var Tabs = ({ name, options, selected, onChange }) => {
|
|
|
8429
8434
|
// src/components/BankTransactions/BankTransactionsHeader.tsx
|
|
8430
8435
|
var import_classnames42 = __toESM(require("classnames"));
|
|
8431
8436
|
var import_date_fns15 = require("date-fns");
|
|
8432
|
-
var DownloadButton = (
|
|
8437
|
+
var DownloadButton = ({
|
|
8438
|
+
downloadButtonTextOverride
|
|
8439
|
+
}) => {
|
|
8433
8440
|
const { auth, businessId, apiUrl } = useLayerContext();
|
|
8434
8441
|
const [requestFailed, setRequestFailed] = (0, import_react95.useState)(false);
|
|
8435
8442
|
const handleClick = async () => {
|
|
@@ -8471,7 +8478,7 @@ var DownloadButton = () => {
|
|
|
8471
8478
|
rightIcon: /* @__PURE__ */ import_react95.default.createElement(DownloadCloud_default, { size: 12 }),
|
|
8472
8479
|
onClick: handleClick
|
|
8473
8480
|
},
|
|
8474
|
-
"Download"
|
|
8481
|
+
downloadButtonTextOverride || "Download"
|
|
8475
8482
|
);
|
|
8476
8483
|
};
|
|
8477
8484
|
var BankTransactionsHeader = ({
|
|
@@ -8486,6 +8493,7 @@ var BankTransactionsHeader = ({
|
|
|
8486
8493
|
listView,
|
|
8487
8494
|
dateRange,
|
|
8488
8495
|
setDateRange,
|
|
8496
|
+
stringOverrides,
|
|
8489
8497
|
isSyncing
|
|
8490
8498
|
}) => {
|
|
8491
8499
|
const { business } = useLayerContext();
|
|
@@ -8505,7 +8513,7 @@ var BankTransactionsHeader = ({
|
|
|
8505
8513
|
className: "Layer__bank-transactions__title",
|
|
8506
8514
|
size: asWidget ? "secondary" /* secondary */ : "secondary" /* secondary */
|
|
8507
8515
|
},
|
|
8508
|
-
"Transactions"
|
|
8516
|
+
stringOverrides?.header || "Transactions"
|
|
8509
8517
|
), isSyncing && /* @__PURE__ */ import_react95.default.createElement(
|
|
8510
8518
|
SyncingComponent,
|
|
8511
8519
|
{
|
|
@@ -8529,7 +8537,12 @@ var BankTransactionsHeader = ({
|
|
|
8529
8537
|
minDate: getEarliestDateToBrowse(business)
|
|
8530
8538
|
}
|
|
8531
8539
|
) : null),
|
|
8532
|
-
/* @__PURE__ */ import_react95.default.createElement("div", { className: "Layer__header__actions-wrapper" }, !categorizedOnly && !(mobileComponent == "mobileList" && listView) && categorizeView && /* @__PURE__ */ import_react95.default.createElement("div", { className: "Layer__header__actions" }, /* @__PURE__ */ import_react95.default.createElement(
|
|
8540
|
+
/* @__PURE__ */ import_react95.default.createElement("div", { className: "Layer__header__actions-wrapper" }, !categorizedOnly && !(mobileComponent == "mobileList" && listView) && categorizeView && /* @__PURE__ */ import_react95.default.createElement("div", { className: "Layer__header__actions" }, /* @__PURE__ */ import_react95.default.createElement(
|
|
8541
|
+
DownloadButton,
|
|
8542
|
+
{
|
|
8543
|
+
downloadButtonTextOverride: stringOverrides?.downloadButton
|
|
8544
|
+
}
|
|
8545
|
+
), /* @__PURE__ */ import_react95.default.createElement(
|
|
8533
8546
|
Toggle,
|
|
8534
8547
|
{
|
|
8535
8548
|
name: "bank-transaction-display",
|
|
@@ -8647,7 +8660,8 @@ var BankTransactionsContent = ({
|
|
|
8647
8660
|
monthlyView = false,
|
|
8648
8661
|
mobileComponent,
|
|
8649
8662
|
filters: inputFilters,
|
|
8650
|
-
hideHeader = false
|
|
8663
|
+
hideHeader = false,
|
|
8664
|
+
stringOverrides
|
|
8651
8665
|
}) => {
|
|
8652
8666
|
const [currentPage, setCurrentPage] = (0, import_react97.useState)(1);
|
|
8653
8667
|
const [initialLoad, setInitialLoad] = (0, import_react97.useState)(true);
|
|
@@ -8804,6 +8818,7 @@ var BankTransactionsContent = ({
|
|
|
8804
8818
|
listView,
|
|
8805
8819
|
dateRange,
|
|
8806
8820
|
setDateRange: (v) => setDateRange(v),
|
|
8821
|
+
stringOverrides: stringOverrides?.bankTransactionsHeader,
|
|
8807
8822
|
isDataLoading: isLoading,
|
|
8808
8823
|
isSyncing
|
|
8809
8824
|
}
|
|
@@ -8823,6 +8838,7 @@ var BankTransactionsContent = ({
|
|
|
8823
8838
|
showReceiptUploads,
|
|
8824
8839
|
page: currentPage,
|
|
8825
8840
|
hardRefreshPnlOnCategorize,
|
|
8841
|
+
stringOverrides,
|
|
8826
8842
|
lastPage: isLastPage,
|
|
8827
8843
|
onRefresh: refetch
|
|
8828
8844
|
}
|
|
@@ -8834,7 +8850,8 @@ var BankTransactionsContent = ({
|
|
|
8834
8850
|
editable,
|
|
8835
8851
|
removeTransaction,
|
|
8836
8852
|
containerWidth,
|
|
8837
|
-
hardRefreshPnlOnCategorize
|
|
8853
|
+
hardRefreshPnlOnCategorize,
|
|
8854
|
+
stringOverrides: stringOverrides?.bankTransactionCTAs
|
|
8838
8855
|
}
|
|
8839
8856
|
) : null,
|
|
8840
8857
|
!isLoading && listView && mobileComponent === "mobileList" ? /* @__PURE__ */ import_react97.default.createElement(
|
|
@@ -10045,9 +10062,6 @@ var convertCurrencyToNumber = (amount) => {
|
|
|
10045
10062
|
return parseFloat(inputValue);
|
|
10046
10063
|
};
|
|
10047
10064
|
|
|
10048
|
-
// src/components/ProfitAndLossDetailedCharts/DetailedChart.tsx
|
|
10049
|
-
var import_recharts2 = require("recharts");
|
|
10050
|
-
|
|
10051
10065
|
// src/components/ProfitAndLossDetailedCharts/DetailedTable.tsx
|
|
10052
10066
|
var import_react105 = __toESM(require("react"));
|
|
10053
10067
|
|
|
@@ -10066,7 +10080,7 @@ var DEFAULT_CHART_COLOR_TYPE = [
|
|
|
10066
10080
|
"#6A52CC",
|
|
10067
10081
|
"#71CC56"
|
|
10068
10082
|
];
|
|
10069
|
-
var
|
|
10083
|
+
var DEFAULT_MINICHART_COLORS = [
|
|
10070
10084
|
{
|
|
10071
10085
|
color: "#7417B3",
|
|
10072
10086
|
opacity: 1
|
|
@@ -10208,14 +10222,14 @@ var SortArrows_default = SortArrows;
|
|
|
10208
10222
|
|
|
10209
10223
|
// src/components/ProfitAndLossDetailedCharts/DetailedTable.tsx
|
|
10210
10224
|
var import_classnames44 = __toESM(require("classnames"));
|
|
10211
|
-
var
|
|
10225
|
+
var mapTypesToColors = (data, colorList = DEFAULT_CHART_COLOR_TYPE) => {
|
|
10212
10226
|
const typeToColor = {};
|
|
10213
10227
|
const typeToLastOpacity = {};
|
|
10214
10228
|
let colorIndex = 0;
|
|
10215
10229
|
return data.map((obj) => {
|
|
10216
10230
|
const type = obj.type;
|
|
10217
10231
|
if (!typeToColor[type]) {
|
|
10218
|
-
typeToColor[type] =
|
|
10232
|
+
typeToColor[type] = colorList[colorIndex % colorList.length];
|
|
10219
10233
|
colorIndex++;
|
|
10220
10234
|
typeToLastOpacity[type] = 1;
|
|
10221
10235
|
} else {
|
|
@@ -10234,7 +10248,9 @@ var DetailedTable = ({
|
|
|
10234
10248
|
filters,
|
|
10235
10249
|
sortBy,
|
|
10236
10250
|
hoveredItem,
|
|
10237
|
-
setHoveredItem
|
|
10251
|
+
setHoveredItem,
|
|
10252
|
+
chartColorsList,
|
|
10253
|
+
stringOverrides
|
|
10238
10254
|
}) => {
|
|
10239
10255
|
const buildColClass = (column) => {
|
|
10240
10256
|
return (0, import_classnames44.default)(
|
|
@@ -10242,15 +10258,16 @@ var DetailedTable = ({
|
|
|
10242
10258
|
sidebarScope && filters[sidebarScope]?.sortBy === column ? `sort--${(sidebarScope && filters[sidebarScope]?.sortDirection) ?? "desc"}` : ""
|
|
10243
10259
|
);
|
|
10244
10260
|
};
|
|
10245
|
-
const typeColorMapping =
|
|
10246
|
-
|
|
10261
|
+
const typeColorMapping = mapTypesToColors(filteredData, chartColorsList);
|
|
10262
|
+
const colorIndex = 0;
|
|
10247
10263
|
return /* @__PURE__ */ import_react105.default.createElement("div", { className: "details-container" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "table" }, /* @__PURE__ */ import_react105.default.createElement("table", null, /* @__PURE__ */ import_react105.default.createElement("thead", null, /* @__PURE__ */ import_react105.default.createElement("tr", null, /* @__PURE__ */ import_react105.default.createElement(
|
|
10248
10264
|
"th",
|
|
10249
10265
|
{
|
|
10250
10266
|
className: buildColClass("category"),
|
|
10251
10267
|
onClick: () => sortBy(sidebarScope ?? "expenses", "category")
|
|
10252
10268
|
},
|
|
10253
|
-
"Category
|
|
10269
|
+
stringOverrides?.categoryColumnHeader || "Category",
|
|
10270
|
+
" ",
|
|
10254
10271
|
/* @__PURE__ */ import_react105.default.createElement(SortArrows_default, { className: "Layer__sort-arrows" })
|
|
10255
10272
|
), /* @__PURE__ */ import_react105.default.createElement(
|
|
10256
10273
|
"th",
|
|
@@ -10258,7 +10275,8 @@ var DetailedTable = ({
|
|
|
10258
10275
|
className: buildColClass("type"),
|
|
10259
10276
|
onClick: () => sortBy(sidebarScope ?? "expenses", "type")
|
|
10260
10277
|
},
|
|
10261
|
-
"Type
|
|
10278
|
+
stringOverrides?.typeColumnHeader || "Type",
|
|
10279
|
+
" ",
|
|
10262
10280
|
/* @__PURE__ */ import_react105.default.createElement(SortArrows_default, { className: "Layer__sort-arrows" })
|
|
10263
10281
|
), /* @__PURE__ */ import_react105.default.createElement("th", null), /* @__PURE__ */ import_react105.default.createElement(
|
|
10264
10282
|
"th",
|
|
@@ -10266,7 +10284,8 @@ var DetailedTable = ({
|
|
|
10266
10284
|
className: buildColClass("value"),
|
|
10267
10285
|
onClick: () => sortBy(sidebarScope ?? "expenses", "value")
|
|
10268
10286
|
},
|
|
10269
|
-
"Value
|
|
10287
|
+
stringOverrides?.valueColumnHeader || "Value",
|
|
10288
|
+
" ",
|
|
10270
10289
|
/* @__PURE__ */ import_react105.default.createElement(SortArrows_default, { className: "Layer__sort-arrows" })
|
|
10271
10290
|
))), /* @__PURE__ */ import_react105.default.createElement("tbody", null, filteredData.filter((x) => !x.hidden).map((item, idx) => {
|
|
10272
10291
|
return /* @__PURE__ */ import_react105.default.createElement(
|
|
@@ -10298,6 +10317,7 @@ var DetailedTable = ({
|
|
|
10298
10317
|
};
|
|
10299
10318
|
|
|
10300
10319
|
// src/components/ProfitAndLossDetailedCharts/DetailedChart.tsx
|
|
10320
|
+
var import_recharts2 = require("recharts");
|
|
10301
10321
|
var DetailedChart = ({
|
|
10302
10322
|
filteredData,
|
|
10303
10323
|
filteredTotal,
|
|
@@ -10305,6 +10325,7 @@ var DetailedChart = ({
|
|
|
10305
10325
|
setHoveredItem,
|
|
10306
10326
|
sidebarScope,
|
|
10307
10327
|
date,
|
|
10328
|
+
chartColorsList,
|
|
10308
10329
|
isLoading,
|
|
10309
10330
|
showDatePicker = true
|
|
10310
10331
|
}) => {
|
|
@@ -10328,7 +10349,7 @@ var DetailedChart = ({
|
|
|
10328
10349
|
});
|
|
10329
10350
|
}, [filteredData, isLoading]);
|
|
10330
10351
|
const noValue = chartData.length === 0 || !chartData.find((x) => x.value !== 0);
|
|
10331
|
-
const typeColorMapping =
|
|
10352
|
+
const typeColorMapping = mapTypesToColors(chartData, chartColorsList);
|
|
10332
10353
|
return /* @__PURE__ */ import_react106.default.createElement("div", { className: "chart-field" }, /* @__PURE__ */ import_react106.default.createElement("div", { className: "header--tablet" }, showDatePicker && /* @__PURE__ */ import_react106.default.createElement(ProfitAndLossDatePicker, null)), /* @__PURE__ */ import_react106.default.createElement("div", { className: "chart-container" }, /* @__PURE__ */ import_react106.default.createElement(import_recharts2.ResponsiveContainer, null, /* @__PURE__ */ import_react106.default.createElement(import_recharts2.PieChart, null, !isLoading && !noValue ? /* @__PURE__ */ import_react106.default.createElement(
|
|
10333
10354
|
import_recharts2.Pie,
|
|
10334
10355
|
{
|
|
@@ -10607,7 +10628,9 @@ var import_date_fns21 = require("date-fns");
|
|
|
10607
10628
|
var ProfitAndLossDetailedCharts = ({
|
|
10608
10629
|
scope,
|
|
10609
10630
|
hideClose = false,
|
|
10610
|
-
showDatePicker = false
|
|
10631
|
+
showDatePicker = false,
|
|
10632
|
+
chartColorsList,
|
|
10633
|
+
stringOverrides
|
|
10611
10634
|
}) => {
|
|
10612
10635
|
const {
|
|
10613
10636
|
filteredDataRevenue,
|
|
@@ -10644,6 +10667,7 @@ var ProfitAndLossDetailedCharts = ({
|
|
|
10644
10667
|
sidebarScope: theScope,
|
|
10645
10668
|
date: dateRange.startDate,
|
|
10646
10669
|
isLoading,
|
|
10670
|
+
chartColorsList,
|
|
10647
10671
|
showDatePicker
|
|
10648
10672
|
}
|
|
10649
10673
|
), /* @__PURE__ */ import_react108.default.createElement("div", { className: "Layer__profit-and-loss-detailed-charts__table-wrapper" }, /* @__PURE__ */ import_react108.default.createElement(
|
|
@@ -10662,7 +10686,9 @@ var ProfitAndLossDetailedCharts = ({
|
|
|
10662
10686
|
filters,
|
|
10663
10687
|
sortBy,
|
|
10664
10688
|
hoveredItem,
|
|
10665
|
-
setHoveredItem
|
|
10689
|
+
setHoveredItem,
|
|
10690
|
+
chartColorsList,
|
|
10691
|
+
stringOverrides: stringOverrides?.detailedTableStringOverrides
|
|
10666
10692
|
}
|
|
10667
10693
|
))));
|
|
10668
10694
|
};
|
|
@@ -10692,7 +10718,7 @@ var MiniChart = ({ data }) => {
|
|
|
10692
10718
|
animationEasing: "ease-in-out"
|
|
10693
10719
|
},
|
|
10694
10720
|
data.map((entry, index) => {
|
|
10695
|
-
const colorConfig =
|
|
10721
|
+
const colorConfig = DEFAULT_MINICHART_COLORS[index % DEFAULT_MINICHART_COLORS.length];
|
|
10696
10722
|
return /* @__PURE__ */ import_react109.default.createElement(
|
|
10697
10723
|
import_recharts3.Cell,
|
|
10698
10724
|
{
|
|
@@ -10736,8 +10762,10 @@ var buildMiniChartData = (scope, data) => {
|
|
|
10736
10762
|
};
|
|
10737
10763
|
var ProfitAndLossSummaries = ({
|
|
10738
10764
|
vertical,
|
|
10739
|
-
|
|
10740
|
-
|
|
10765
|
+
actionable = false,
|
|
10766
|
+
revenueLabel,
|
|
10767
|
+
// deprecated
|
|
10768
|
+
stringOverrides
|
|
10741
10769
|
}) => {
|
|
10742
10770
|
const {
|
|
10743
10771
|
data: storedData,
|
|
@@ -10784,7 +10812,7 @@ var ProfitAndLossSummaries = ({
|
|
|
10784
10812
|
}
|
|
10785
10813
|
},
|
|
10786
10814
|
/* @__PURE__ */ import_react110.default.createElement(MiniChart, { data: revenueChartData }),
|
|
10787
|
-
/* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ import_react110.default.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, revenueLabel), isLoading || storedData === void 0 ? /* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ import_react110.default.createElement(SkeletonLoader, null)) : /* @__PURE__ */ import_react110.default.createElement(
|
|
10815
|
+
/* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ import_react110.default.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, stringOverrides?.revenueLabel || revenueLabel || "Revenue"), isLoading || storedData === void 0 ? /* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ import_react110.default.createElement(SkeletonLoader, null)) : /* @__PURE__ */ import_react110.default.createElement(
|
|
10788
10816
|
"span",
|
|
10789
10817
|
{
|
|
10790
10818
|
className: `Layer__profit-and-loss-summaries__amount ${incomeDirectionClass}`
|
|
@@ -10806,7 +10834,7 @@ var ProfitAndLossSummaries = ({
|
|
|
10806
10834
|
}
|
|
10807
10835
|
},
|
|
10808
10836
|
/* @__PURE__ */ import_react110.default.createElement(MiniChart, { data: expensesChartData }),
|
|
10809
|
-
/* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ import_react110.default.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, "Expenses"), isLoading || storedData === void 0 ? /* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ import_react110.default.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ import_react110.default.createElement(
|
|
10837
|
+
/* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ import_react110.default.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, stringOverrides?.expensesLabel || "Expenses"), isLoading || storedData === void 0 ? /* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ import_react110.default.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ import_react110.default.createElement(
|
|
10810
10838
|
"span",
|
|
10811
10839
|
{
|
|
10812
10840
|
className: `Layer__profit-and-loss-summaries__amount ${expensesDirectionClass}`
|
|
@@ -10824,7 +10852,7 @@ var ProfitAndLossSummaries = ({
|
|
|
10824
10852
|
actionable && "Layer__actionable"
|
|
10825
10853
|
)
|
|
10826
10854
|
},
|
|
10827
|
-
/* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ import_react110.default.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, "Net Profit"), isLoading || storedData === void 0 ? /* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ import_react110.default.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ import_react110.default.createElement(
|
|
10855
|
+
/* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ import_react110.default.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, stringOverrides?.netProfitLabel || "Net Profit"), isLoading || storedData === void 0 ? /* @__PURE__ */ import_react110.default.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ import_react110.default.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ import_react110.default.createElement(
|
|
10828
10856
|
"span",
|
|
10829
10857
|
{
|
|
10830
10858
|
className: `Layer__profit-and-loss-summaries__amount ${netProfitDirectionClass}`
|
|
@@ -11011,7 +11039,7 @@ var empty_profit_and_loss_report_default = {
|
|
|
11011
11039
|
|
|
11012
11040
|
// src/components/ProfitAndLossTable/ProfitAndLossTable.tsx
|
|
11013
11041
|
var import_classnames46 = __toESM(require("classnames"));
|
|
11014
|
-
var ProfitAndLossTable = ({ lockExpanded, asContainer }) => {
|
|
11042
|
+
var ProfitAndLossTable = ({ lockExpanded, asContainer, stringOverrides }) => {
|
|
11015
11043
|
const {
|
|
11016
11044
|
data: actualData,
|
|
11017
11045
|
isLoading,
|
|
@@ -11064,7 +11092,7 @@ var ProfitAndLossTable = ({ lockExpanded, asContainer }) => {
|
|
|
11064
11092
|
{
|
|
11065
11093
|
lineItem: {
|
|
11066
11094
|
value: data.gross_profit,
|
|
11067
|
-
display_name: "Gross Profit"
|
|
11095
|
+
display_name: stringOverrides?.grossProfitLabel || "Gross Profit"
|
|
11068
11096
|
},
|
|
11069
11097
|
variant: "summation",
|
|
11070
11098
|
direction: "CREDIT" /* CREDIT */,
|
|
@@ -11088,7 +11116,7 @@ var ProfitAndLossTable = ({ lockExpanded, asContainer }) => {
|
|
|
11088
11116
|
{
|
|
11089
11117
|
lineItem: {
|
|
11090
11118
|
value: data.profit_before_taxes,
|
|
11091
|
-
display_name: "Profit Before Taxes"
|
|
11119
|
+
display_name: stringOverrides?.profitBeforeTaxesLabel || "Profit Before Taxes"
|
|
11092
11120
|
},
|
|
11093
11121
|
variant: "summation",
|
|
11094
11122
|
direction: "CREDIT" /* CREDIT */,
|
|
@@ -11112,7 +11140,7 @@ var ProfitAndLossTable = ({ lockExpanded, asContainer }) => {
|
|
|
11112
11140
|
{
|
|
11113
11141
|
lineItem: {
|
|
11114
11142
|
value: data.net_profit,
|
|
11115
|
-
display_name: "Net Profit"
|
|
11143
|
+
display_name: stringOverrides?.netProfitLabel || "Net Profit"
|
|
11116
11144
|
},
|
|
11117
11145
|
variant: "summation",
|
|
11118
11146
|
direction: "CREDIT" /* CREDIT */,
|
|
@@ -11462,7 +11490,8 @@ var Table = ({
|
|
|
11462
11490
|
// src/components/BalanceSheetTable/BalanceSheetTable.tsx
|
|
11463
11491
|
var BalanceSheetTable = ({
|
|
11464
11492
|
data,
|
|
11465
|
-
config
|
|
11493
|
+
config,
|
|
11494
|
+
stringOverrides
|
|
11466
11495
|
}) => {
|
|
11467
11496
|
const { isOpen, setIsOpen, expandedAllRows } = useTableExpandRow();
|
|
11468
11497
|
const allRowKeys = [];
|
|
@@ -11518,7 +11547,7 @@ var BalanceSheetTable = ({
|
|
|
11518
11547
|
/* @__PURE__ */ import_react125.default.createElement(TableCell, { primary: true, isCurrency: true }, lineItem.value)
|
|
11519
11548
|
));
|
|
11520
11549
|
};
|
|
11521
|
-
return /* @__PURE__ */ import_react125.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react125.default.createElement(TableHead, null, /* @__PURE__ */ import_react125.default.createElement(TableRow, { isHeadRow: true, rowKey: "balance-sheet-head-row" }, /* @__PURE__ */ import_react125.default.createElement(TableCell, { isHeaderCell: true }, "Type"), /* @__PURE__ */ import_react125.default.createElement(TableCell, { isHeaderCell: true }, "Total"))), /* @__PURE__ */ import_react125.default.createElement(TableBody, null, config.map((row, idx) => /* @__PURE__ */ import_react125.default.createElement(import_react125.default.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
11550
|
+
return /* @__PURE__ */ import_react125.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react125.default.createElement(TableHead, null, /* @__PURE__ */ import_react125.default.createElement(TableRow, { isHeadRow: true, rowKey: "balance-sheet-head-row" }, /* @__PURE__ */ import_react125.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.typeColumnHeader || "Type"), /* @__PURE__ */ import_react125.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.totalColumnHeader || "Total"))), /* @__PURE__ */ import_react125.default.createElement(TableBody, null, config.map((row, idx) => /* @__PURE__ */ import_react125.default.createElement(import_react125.default.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
11522
11551
|
data[row.lineItem],
|
|
11523
11552
|
0,
|
|
11524
11553
|
row.lineItem,
|
|
@@ -11620,11 +11649,12 @@ var import_date_fns24 = require("date-fns");
|
|
|
11620
11649
|
var COMPONENT_NAME3 = "balance-sheet";
|
|
11621
11650
|
var BalanceSheet = (props) => {
|
|
11622
11651
|
const balanceSheetContextData = useBalanceSheet(props.effectiveDate);
|
|
11623
|
-
return /* @__PURE__ */ import_react129.default.createElement(BalanceSheetContext.Provider, { value: balanceSheetContextData }, /* @__PURE__ */ import_react129.default.createElement(BalanceSheetView, { asWidget: props.asWidget, ...props }));
|
|
11652
|
+
return /* @__PURE__ */ import_react129.default.createElement(BalanceSheetContext.Provider, { value: balanceSheetContextData }, /* @__PURE__ */ import_react129.default.createElement(BalanceSheetView, { asWidget: props.asWidget, stringOverrides: props.stringOverrides, ...props }));
|
|
11624
11653
|
};
|
|
11625
11654
|
var BalanceSheetView = ({
|
|
11626
11655
|
withExpandAllButton = true,
|
|
11627
|
-
asWidget = false
|
|
11656
|
+
asWidget = false,
|
|
11657
|
+
stringOverrides
|
|
11628
11658
|
}) => {
|
|
11629
11659
|
const [effectiveDate, setEffectiveDate] = (0, import_react129.useState)((0, import_date_fns24.startOfDay)(/* @__PURE__ */ new Date()));
|
|
11630
11660
|
const { data, isLoading, refetch } = useBalanceSheet(effectiveDate);
|
|
@@ -11653,7 +11683,7 @@ var BalanceSheetView = ({
|
|
|
11653
11683
|
}
|
|
11654
11684
|
), withExpandAllButton && /* @__PURE__ */ import_react129.default.createElement(BalanceSheetExpandAllButton, null))
|
|
11655
11685
|
},
|
|
11656
|
-
!data || isLoading ? /* @__PURE__ */ import_react129.default.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ import_react129.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react129.default.createElement(BalanceSheetTable, { data, config: BALANCE_SHEET_ROWS })
|
|
11686
|
+
!data || isLoading ? /* @__PURE__ */ import_react129.default.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ import_react129.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react129.default.createElement(BalanceSheetTable, { data, config: BALANCE_SHEET_ROWS, stringOverrides: stringOverrides?.balanceSheetTable })
|
|
11657
11687
|
)));
|
|
11658
11688
|
}
|
|
11659
11689
|
return /* @__PURE__ */ import_react129.default.createElement(TableProvider, null, /* @__PURE__ */ import_react129.default.createElement(
|
|
@@ -11668,7 +11698,7 @@ var BalanceSheetView = ({
|
|
|
11668
11698
|
}
|
|
11669
11699
|
), withExpandAllButton && /* @__PURE__ */ import_react129.default.createElement(BalanceSheetExpandAllButton, null))
|
|
11670
11700
|
},
|
|
11671
|
-
!data || isLoading ? /* @__PURE__ */ import_react129.default.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ import_react129.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react129.default.createElement(BalanceSheetTable, { data, config: BALANCE_SHEET_ROWS })
|
|
11701
|
+
!data || isLoading ? /* @__PURE__ */ import_react129.default.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ import_react129.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react129.default.createElement(BalanceSheetTable, { data, config: BALANCE_SHEET_ROWS, stringOverrides: stringOverrides?.balanceSheetTable })
|
|
11672
11702
|
));
|
|
11673
11703
|
};
|
|
11674
11704
|
|
|
@@ -11726,7 +11756,8 @@ var useStatementOfCashFlow = (startDate = /* @__PURE__ */ new Date(), endDate =
|
|
|
11726
11756
|
var import_react132 = __toESM(require("react"));
|
|
11727
11757
|
var StatementOfCashFlowTable = ({
|
|
11728
11758
|
data,
|
|
11729
|
-
config
|
|
11759
|
+
config,
|
|
11760
|
+
stringOverrides
|
|
11730
11761
|
}) => {
|
|
11731
11762
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
11732
11763
|
const renderLineItem = (lineItem, depth = 0, rowKey, rowIndex) => {
|
|
@@ -11768,7 +11799,7 @@ var StatementOfCashFlowTable = ({
|
|
|
11768
11799
|
/* @__PURE__ */ import_react132.default.createElement(TableCell, { primary: true, isCurrency: true }, lineItem.value)
|
|
11769
11800
|
));
|
|
11770
11801
|
};
|
|
11771
|
-
return /* @__PURE__ */ import_react132.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react132.default.createElement(TableHead, null, /* @__PURE__ */ import_react132.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react132.default.createElement(TableCell, { isHeaderCell: true }, "Type"), /* @__PURE__ */ import_react132.default.createElement(TableCell, { isHeaderCell: true }, "Total"))), /* @__PURE__ */ import_react132.default.createElement(TableBody, null, config.map((row, idx) => {
|
|
11802
|
+
return /* @__PURE__ */ import_react132.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react132.default.createElement(TableHead, null, /* @__PURE__ */ import_react132.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react132.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.typeColumnHeader || "Type"), /* @__PURE__ */ import_react132.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.totalColumnHeader || "Total"))), /* @__PURE__ */ import_react132.default.createElement(TableBody, null, config.map((row, idx) => {
|
|
11772
11803
|
if (row.type === "line_item") {
|
|
11773
11804
|
return /* @__PURE__ */ import_react132.default.createElement(import_react132.default.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
11774
11805
|
data[row.lineItem],
|
|
@@ -11824,11 +11855,11 @@ var STATEMENT_OF_CASH_FLOW_ROWS = [
|
|
|
11824
11855
|
// src/components/StatementOfCashFlow/StatementOfCashFlow.tsx
|
|
11825
11856
|
var import_date_fns26 = require("date-fns");
|
|
11826
11857
|
var COMPONENT_NAME4 = "statement-of-cash-flow";
|
|
11827
|
-
var StatementOfCashFlow = () => {
|
|
11858
|
+
var StatementOfCashFlow = ({ stringOverrides }) => {
|
|
11828
11859
|
const cashContextData = useStatementOfCashFlow();
|
|
11829
|
-
return /* @__PURE__ */ import_react133.default.createElement(StatementOfCashFlowContext.Provider, { value: cashContextData }, /* @__PURE__ */ import_react133.default.createElement(StatementOfCashFlowView,
|
|
11860
|
+
return /* @__PURE__ */ import_react133.default.createElement(StatementOfCashFlowContext.Provider, { value: cashContextData }, /* @__PURE__ */ import_react133.default.createElement(StatementOfCashFlowView, { stringOverrides }));
|
|
11830
11861
|
};
|
|
11831
|
-
var StatementOfCashFlowView = () => {
|
|
11862
|
+
var StatementOfCashFlowView = ({ stringOverrides }) => {
|
|
11832
11863
|
const [startDate, setStartDate] = (0, import_react133.useState)(
|
|
11833
11864
|
(0, import_date_fns26.startOfDay)((0, import_date_fns26.subWeeks)(/* @__PURE__ */ new Date(), 4))
|
|
11834
11865
|
);
|
|
@@ -11866,7 +11897,8 @@ var StatementOfCashFlowView = () => {
|
|
|
11866
11897
|
StatementOfCashFlowTable,
|
|
11867
11898
|
{
|
|
11868
11899
|
data,
|
|
11869
|
-
config: STATEMENT_OF_CASH_FLOW_ROWS
|
|
11900
|
+
config: STATEMENT_OF_CASH_FLOW_ROWS,
|
|
11901
|
+
stringOverrides: stringOverrides?.statementOfCashFlowTable
|
|
11870
11902
|
}
|
|
11871
11903
|
)
|
|
11872
11904
|
));
|
|
@@ -12797,7 +12829,7 @@ var useParentOptions = (data) => (0, import_react140.useMemo)(
|
|
|
12797
12829
|
);
|
|
12798
12830
|
|
|
12799
12831
|
// src/components/ChartOfAccountsForm/ChartOfAccountsForm.tsx
|
|
12800
|
-
var ChartOfAccountsForm = () => {
|
|
12832
|
+
var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
12801
12833
|
const {
|
|
12802
12834
|
form,
|
|
12803
12835
|
data,
|
|
@@ -12828,7 +12860,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12828
12860
|
submitForm();
|
|
12829
12861
|
}
|
|
12830
12862
|
},
|
|
12831
|
-
/* @__PURE__ */ import_react141.default.createElement("div", { className: "Layer__chart-of-accounts__sidebar__header" }, /* @__PURE__ */ import_react141.default.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, form?.action === "edit" ? "Edit" : "Add New
|
|
12863
|
+
/* @__PURE__ */ import_react141.default.createElement("div", { className: "Layer__chart-of-accounts__sidebar__header" }, /* @__PURE__ */ import_react141.default.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, form?.action === "edit" ? stringOverrides?.editModeHeader || "Edit Account" : stringOverrides?.createModeHeader || "Add New Account"), /* @__PURE__ */ import_react141.default.createElement("div", { className: "actions" }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12832
12864
|
Button,
|
|
12833
12865
|
{
|
|
12834
12866
|
type: "button",
|
|
@@ -12836,7 +12868,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12836
12868
|
variant: "secondary" /* secondary */,
|
|
12837
12869
|
disabled: sendingForm
|
|
12838
12870
|
},
|
|
12839
|
-
"Cancel"
|
|
12871
|
+
stringOverrides?.cancelButton || "Cancel"
|
|
12840
12872
|
), apiError && /* @__PURE__ */ import_react141.default.createElement(
|
|
12841
12873
|
RetryButton,
|
|
12842
12874
|
{
|
|
@@ -12845,7 +12877,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12845
12877
|
error: "Check connection and retry in few seconds.",
|
|
12846
12878
|
disabled: sendingForm
|
|
12847
12879
|
},
|
|
12848
|
-
"Retry"
|
|
12880
|
+
stringOverrides?.retryButton || "Retry"
|
|
12849
12881
|
), !apiError && /* @__PURE__ */ import_react141.default.createElement(
|
|
12850
12882
|
SubmitButton,
|
|
12851
12883
|
{
|
|
@@ -12854,7 +12886,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12854
12886
|
active: true,
|
|
12855
12887
|
disabled: sendingForm
|
|
12856
12888
|
},
|
|
12857
|
-
"Save"
|
|
12889
|
+
stringOverrides?.saveButton || "Save"
|
|
12858
12890
|
))),
|
|
12859
12891
|
apiError && /* @__PURE__ */ import_react141.default.createElement(
|
|
12860
12892
|
Text,
|
|
@@ -12865,7 +12897,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12865
12897
|
apiError
|
|
12866
12898
|
),
|
|
12867
12899
|
entry && /* @__PURE__ */ import_react141.default.createElement("div", { className: "Layer__chart-of-accounts__form-edit-entry" }, /* @__PURE__ */ import_react141.default.createElement(Text, { weight: "bold" /* bold */ }, entry.name), /* @__PURE__ */ import_react141.default.createElement(Text, { weight: "bold" /* bold */ }, "$", centsToDollars(entry.balance || 0))),
|
|
12868
|
-
/* @__PURE__ */ import_react141.default.createElement("div", { className: "Layer__chart-of-accounts__form" }, /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "parent", label: "Parent", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12900
|
+
/* @__PURE__ */ import_react141.default.createElement("div", { className: "Layer__chart-of-accounts__form" }, /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "parent", label: stringOverrides?.parentLabel || "Parent", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12869
12901
|
Select2,
|
|
12870
12902
|
{
|
|
12871
12903
|
options: parentOptions,
|
|
@@ -12873,7 +12905,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12873
12905
|
onChange: (sel) => changeFormData("parent", sel),
|
|
12874
12906
|
disabled: sendingForm
|
|
12875
12907
|
}
|
|
12876
|
-
)), /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "name", label: "Name", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12908
|
+
)), /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "name", label: stringOverrides?.nameLabel || "Name", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12877
12909
|
Input,
|
|
12878
12910
|
{
|
|
12879
12911
|
name: "name",
|
|
@@ -12884,7 +12916,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12884
12916
|
disabled: sendingForm,
|
|
12885
12917
|
onChange: (e) => changeFormData("name", e.target.value)
|
|
12886
12918
|
}
|
|
12887
|
-
)), /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "type", label: "Type", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12919
|
+
)), /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "type", label: stringOverrides?.typeLabel || "Type", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12888
12920
|
Select2,
|
|
12889
12921
|
{
|
|
12890
12922
|
options: LEDGER_ACCOUNT_TYPES,
|
|
@@ -12894,7 +12926,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12894
12926
|
errorMessage: form?.errors?.find((x) => x.field === "type")?.message,
|
|
12895
12927
|
disabled: sendingForm || form.action === "edit" || form.data.parent !== void 0
|
|
12896
12928
|
}
|
|
12897
|
-
)), /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "subType", label: "Sub-Type", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12929
|
+
)), /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "subType", label: stringOverrides?.subTypeLabel || "Sub-Type", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12898
12930
|
Select2,
|
|
12899
12931
|
{
|
|
12900
12932
|
options: form?.data.type?.value !== void 0 ? LEDGER_ACCOUNT_SUBTYPES_FOR_TYPE[form?.data.type?.value] : LEDGER_ACCOUNT_SUBTYPES,
|
|
@@ -12902,7 +12934,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12902
12934
|
onChange: (sel) => changeFormData("subType", sel),
|
|
12903
12935
|
disabled: sendingForm
|
|
12904
12936
|
}
|
|
12905
|
-
)), /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "normality", label: "Normality", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12937
|
+
)), /* @__PURE__ */ import_react141.default.createElement(InputGroup, { name: "normality", label: stringOverrides?.normalityLabel || "Normality", inline: true }, /* @__PURE__ */ import_react141.default.createElement(
|
|
12906
12938
|
Select2,
|
|
12907
12939
|
{
|
|
12908
12940
|
options: NORMALITY_OPTIONS,
|
|
@@ -12922,7 +12954,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12922
12954
|
variant: "secondary" /* secondary */,
|
|
12923
12955
|
disabled: sendingForm
|
|
12924
12956
|
},
|
|
12925
|
-
"Cancel"
|
|
12957
|
+
stringOverrides?.cancelButton || "Cancel"
|
|
12926
12958
|
), apiError && /* @__PURE__ */ import_react141.default.createElement(
|
|
12927
12959
|
RetryButton,
|
|
12928
12960
|
{
|
|
@@ -12931,7 +12963,7 @@ var ChartOfAccountsForm = () => {
|
|
|
12931
12963
|
error: "Check connection and retry in few seconds.",
|
|
12932
12964
|
disabled: sendingForm
|
|
12933
12965
|
},
|
|
12934
|
-
"Retry"
|
|
12966
|
+
stringOverrides?.retryButton || "Retry"
|
|
12935
12967
|
), !apiError && /* @__PURE__ */ import_react141.default.createElement(
|
|
12936
12968
|
SubmitButton,
|
|
12937
12969
|
{
|
|
@@ -12940,16 +12972,17 @@ var ChartOfAccountsForm = () => {
|
|
|
12940
12972
|
active: true,
|
|
12941
12973
|
disabled: sendingForm
|
|
12942
12974
|
},
|
|
12943
|
-
"Save"
|
|
12975
|
+
stringOverrides?.saveButton || "Save"
|
|
12944
12976
|
)))
|
|
12945
12977
|
);
|
|
12946
12978
|
};
|
|
12947
12979
|
|
|
12948
12980
|
// src/components/ChartOfAccountsSidebar/ChartOfAccountsSidebar.tsx
|
|
12949
12981
|
var ChartOfAccountsSidebar = ({
|
|
12950
|
-
parentRef: _parentRef
|
|
12982
|
+
parentRef: _parentRef,
|
|
12983
|
+
stringOverrides
|
|
12951
12984
|
}) => {
|
|
12952
|
-
return /* @__PURE__ */ import_react142.default.createElement(ChartOfAccountsForm,
|
|
12985
|
+
return /* @__PURE__ */ import_react142.default.createElement(ChartOfAccountsForm, { stringOverrides });
|
|
12953
12986
|
};
|
|
12954
12987
|
|
|
12955
12988
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTable.tsx
|
|
@@ -12959,7 +12992,8 @@ var ChartOfAccountsTable = ({
|
|
|
12959
12992
|
containerRef,
|
|
12960
12993
|
asWidget = false,
|
|
12961
12994
|
withDateControl = false,
|
|
12962
|
-
withExpandAllButton = false
|
|
12995
|
+
withExpandAllButton = false,
|
|
12996
|
+
stringOverrides
|
|
12963
12997
|
}) => {
|
|
12964
12998
|
const { data, isLoading, addAccount, error, isValidating, refetch, form } = (0, import_react143.useContext)(ChartOfAccountsContext);
|
|
12965
12999
|
const [expandAll, setExpandAll] = (0, import_react143.useState)();
|
|
@@ -12968,7 +13002,13 @@ var ChartOfAccountsTable = ({
|
|
|
12968
13002
|
return /* @__PURE__ */ import_react143.default.createElement(
|
|
12969
13003
|
Panel,
|
|
12970
13004
|
{
|
|
12971
|
-
sidebar: /* @__PURE__ */ import_react143.default.createElement(
|
|
13005
|
+
sidebar: /* @__PURE__ */ import_react143.default.createElement(
|
|
13006
|
+
ChartOfAccountsSidebar,
|
|
13007
|
+
{
|
|
13008
|
+
parentRef: containerRef,
|
|
13009
|
+
stringOverrides: stringOverrides?.chartOfAccountsForm
|
|
13010
|
+
}
|
|
13011
|
+
),
|
|
12972
13012
|
sidebarIsOpen: Boolean(form),
|
|
12973
13013
|
parentRef: containerRef
|
|
12974
13014
|
},
|
|
@@ -12984,7 +13024,7 @@ var ChartOfAccountsTable = ({
|
|
|
12984
13024
|
className: `Layer__${COMPONENT_NAME5}__title`,
|
|
12985
13025
|
size: asWidget ? "secondary" /* secondary */ : "primary" /* primary */
|
|
12986
13026
|
},
|
|
12987
|
-
"Chart of Accounts"
|
|
13027
|
+
stringOverrides?.headerText || "Chart of Accounts"
|
|
12988
13028
|
),
|
|
12989
13029
|
/* @__PURE__ */ import_react143.default.createElement(
|
|
12990
13030
|
"div",
|
|
@@ -13001,10 +13041,10 @@ var ChartOfAccountsTable = ({
|
|
|
13001
13041
|
},
|
|
13002
13042
|
!expandAll || expandAll === "collapsed" ? "Expand all rows" : "Collapse all rows"
|
|
13003
13043
|
)) : null,
|
|
13004
|
-
/* @__PURE__ */ import_react143.default.createElement("div", { className: "Layer__header__actions-col" }, /* @__PURE__ */ import_react143.default.createElement(Button, { onClick: () => addAccount(), disabled: isLoading }, "Add Account"))
|
|
13044
|
+
/* @__PURE__ */ import_react143.default.createElement("div", { className: "Layer__header__actions-col" }, /* @__PURE__ */ import_react143.default.createElement(Button, { onClick: () => addAccount(), disabled: isLoading }, stringOverrides?.addAccountButtonText || "Add Account"))
|
|
13005
13045
|
)
|
|
13006
13046
|
),
|
|
13007
|
-
/* @__PURE__ */ import_react143.default.createElement("table", { className: "Layer__chart-of-accounts__table" }, /* @__PURE__ */ import_react143.default.createElement("thead", null, /* @__PURE__ */ import_react143.default.createElement("tr", { className: "Layer__table-row--header" }, /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__name" }, "Name"), /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__type" }, "Type"), /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__subtype Layer__mobile--hidden" }, "Sub-Type"), /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__balance" }, "Balance"), /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__actions" }))), /* @__PURE__ */ import_react143.default.createElement("tbody", null, !error && data?.accounts.map((account, idx) => {
|
|
13047
|
+
/* @__PURE__ */ import_react143.default.createElement("table", { className: "Layer__chart-of-accounts__table" }, /* @__PURE__ */ import_react143.default.createElement("thead", null, /* @__PURE__ */ import_react143.default.createElement("tr", { className: "Layer__table-row--header" }, /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__name" }, stringOverrides?.nameColumnHeader || "Name"), /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__type" }, stringOverrides?.typeColumnHeader || "Type"), /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__subtype Layer__mobile--hidden" }, stringOverrides?.subtypeColumnHeader || "Sub-Type"), /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__balance" }, stringOverrides?.balanceColumnHeader || "Balance"), /* @__PURE__ */ import_react143.default.createElement("th", { className: "Layer__table-header Layer__coa__actions" }))), /* @__PURE__ */ import_react143.default.createElement("tbody", null, !error && data?.accounts.map((account, idx) => {
|
|
13008
13048
|
const currentCumulativeIndex = cumulativeIndex;
|
|
13009
13049
|
cumulativeIndex = (account.sub_accounts?.length || 0) + cumulativeIndex + 1;
|
|
13010
13050
|
return /* @__PURE__ */ import_react143.default.createElement(
|
|
@@ -13126,41 +13166,41 @@ var DetailsListItem = ({
|
|
|
13126
13166
|
};
|
|
13127
13167
|
|
|
13128
13168
|
// src/components/LedgerAccountEntryDetails/LedgerAccountEntryDetails.tsx
|
|
13129
|
-
var SourceDetailView = ({ source }) => {
|
|
13169
|
+
var SourceDetailView = ({ source, stringOverrides }) => {
|
|
13130
13170
|
switch (source.type) {
|
|
13131
13171
|
case "Transaction_Ledger_Entry_Source": {
|
|
13132
13172
|
const transactionSource = source;
|
|
13133
|
-
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Account name" }, transactionSource.account_name), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Date" }, /* @__PURE__ */ import_react148.default.createElement(DateTime, { value: transactionSource.date })), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(transactionSource.amount)}`), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Direction" }, transactionSource.direction), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Counterparty" }, transactionSource.counterparty));
|
|
13173
|
+
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.accountNameLabel || "Account name" }, transactionSource.account_name), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.dateLabel || "Date" }, /* @__PURE__ */ import_react148.default.createElement(DateTime, { value: transactionSource.date })), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(transactionSource.amount)}`), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.directionLabel || "Direction" }, transactionSource.direction), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.counterpartyLabel || "Counterparty" }, transactionSource.counterparty));
|
|
13134
13174
|
}
|
|
13135
13175
|
case "Invoice_Ledger_Entry_Source": {
|
|
13136
13176
|
const invoiceSource = source;
|
|
13137
|
-
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Invoice number" }, invoiceSource.invoice_number), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Recipient name" }, invoiceSource.recipient_name), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Date" }, /* @__PURE__ */ import_react148.default.createElement(DateTime, { value: invoiceSource.date })), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(invoiceSource.amount)}`));
|
|
13177
|
+
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.invoiceNumberLabel || "Invoice number" }, invoiceSource.invoice_number), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.recipientNameLabel || "Recipient name" }, invoiceSource.recipient_name), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.dateLabel || "Date" }, /* @__PURE__ */ import_react148.default.createElement(DateTime, { value: invoiceSource.date })), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(invoiceSource.amount)}`));
|
|
13138
13178
|
}
|
|
13139
13179
|
case "Manual_Ledger_Entry_Source": {
|
|
13140
13180
|
const manualSource = source;
|
|
13141
|
-
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Memo" }, manualSource.memo), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Created by" }, manualSource.created_by));
|
|
13181
|
+
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.memoLabel || "Memo" }, manualSource.memo), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.createdByLabel || "Created by" }, manualSource.created_by));
|
|
13142
13182
|
}
|
|
13143
13183
|
case "Invoice_Payment_Ledger_Entry_Source": {
|
|
13144
13184
|
const invoicePaymentSource = source;
|
|
13145
|
-
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Invoice number" }, invoicePaymentSource.invoice_number), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(invoicePaymentSource.amount)}`));
|
|
13185
|
+
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.invoiceNumberLabel || "Invoice number" }, invoicePaymentSource.invoice_number), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(invoicePaymentSource.amount)}`));
|
|
13146
13186
|
}
|
|
13147
13187
|
case "Refund_Ledger_Entry_Source": {
|
|
13148
13188
|
const refundSource = source;
|
|
13149
|
-
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Recipient name" }, refundSource.recipient_name));
|
|
13189
|
+
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.recipientNameLabel || "Recipient name" }, refundSource.recipient_name));
|
|
13150
13190
|
}
|
|
13151
13191
|
case "Opening_Balance_Ledger_Entry_Source": {
|
|
13152
13192
|
const openingBalanceSource = source;
|
|
13153
|
-
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Account name" }, openingBalanceSource.account_name));
|
|
13193
|
+
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.accountNameLabel || "Account name" }, openingBalanceSource.account_name));
|
|
13154
13194
|
}
|
|
13155
13195
|
case "Payout_Ledger_Entry_Source": {
|
|
13156
13196
|
const payoutSource = source;
|
|
13157
|
-
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Amount" }, `$${centsToDollars(payoutSource.paid_out_amount)}`), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Processor" }, payoutSource.processor));
|
|
13197
|
+
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.amountLabel || "Amount" }, `$${centsToDollars(payoutSource.paid_out_amount)}`), /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.processorLabel || "Processor" }, payoutSource.processor));
|
|
13158
13198
|
}
|
|
13159
13199
|
default:
|
|
13160
13200
|
return null;
|
|
13161
13201
|
}
|
|
13162
13202
|
};
|
|
13163
|
-
var LedgerAccountEntryDetails = () => {
|
|
13203
|
+
var LedgerAccountEntryDetails = ({ stringOverrides }) => {
|
|
13164
13204
|
const { entryData, isLoadingEntry, closeSelectedEntry, errorEntry } = (0, import_react148.useContext)(LedgerAccountsContext);
|
|
13165
13205
|
const { totalDebit, totalCredit } = (0, import_react148.useMemo)(() => {
|
|
13166
13206
|
let totalDebit2 = 0;
|
|
@@ -13174,10 +13214,10 @@ var LedgerAccountEntryDetails = () => {
|
|
|
13174
13214
|
});
|
|
13175
13215
|
return { totalDebit: totalDebit2, totalCredit: totalCredit2 };
|
|
13176
13216
|
}, [entryData]);
|
|
13177
|
-
return /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__ledger-account__entry-details" }, /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__ledger-account__entry-details__back-btn" }, /* @__PURE__ */ import_react148.default.createElement(BackButton, { onClick: () => closeSelectedEntry() }), /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__ledger-account__entry-details__title-container" }, /* @__PURE__ */ import_react148.default.createElement(Text, { weight: "bold" /* bold */ }, "Transaction details"))), /* @__PURE__ */ import_react148.default.createElement(
|
|
13217
|
+
return /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__ledger-account__entry-details" }, /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__ledger-account__entry-details__back-btn" }, /* @__PURE__ */ import_react148.default.createElement(BackButton, { onClick: () => closeSelectedEntry() }), /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__ledger-account__entry-details__title-container" }, /* @__PURE__ */ import_react148.default.createElement(Text, { weight: "bold" /* bold */ }, stringOverrides?.title || "Transaction details"))), /* @__PURE__ */ import_react148.default.createElement(
|
|
13178
13218
|
DetailsList,
|
|
13179
13219
|
{
|
|
13180
|
-
title: "Transaction source",
|
|
13220
|
+
title: stringOverrides?.transactionSource?.header || "Transaction source",
|
|
13181
13221
|
actions: /* @__PURE__ */ import_react148.default.createElement(
|
|
13182
13222
|
Button,
|
|
13183
13223
|
{
|
|
@@ -13189,25 +13229,32 @@ var LedgerAccountEntryDetails = () => {
|
|
|
13189
13229
|
}
|
|
13190
13230
|
)
|
|
13191
13231
|
},
|
|
13192
|
-
/* @__PURE__ */ import_react148.default.createElement(
|
|
13232
|
+
/* @__PURE__ */ import_react148.default.createElement(
|
|
13233
|
+
DetailsListItem,
|
|
13234
|
+
{
|
|
13235
|
+
label: stringOverrides?.transactionSource?.details?.sourceLabel || "Source",
|
|
13236
|
+
isLoading: isLoadingEntry
|
|
13237
|
+
},
|
|
13238
|
+
/* @__PURE__ */ import_react148.default.createElement(Badge, null, entryData?.source?.entity_name)
|
|
13239
|
+
),
|
|
13193
13240
|
entryData?.source?.display_description && /* @__PURE__ */ import_react148.default.createElement(SourceDetailView, { source: entryData?.source })
|
|
13194
13241
|
), /* @__PURE__ */ import_react148.default.createElement(
|
|
13195
13242
|
DetailsList,
|
|
13196
13243
|
{
|
|
13197
|
-
title: `Journal Entry ${entryData?.id.substring(0, 5)}`,
|
|
13244
|
+
title: stringOverrides?.journalEntry?.header ? stringOverrides?.journalEntry?.header(entryData?.id.substring(0, 5)) : `Journal Entry ${entryData?.id.substring(0, 5)}`,
|
|
13198
13245
|
className: "Layer__border-top"
|
|
13199
13246
|
},
|
|
13200
|
-
/* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Entry type", isLoading: isLoadingEntry }, humanizeEnum(entryData?.entry_type ?? "")),
|
|
13201
|
-
/* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Date", isLoading: isLoadingEntry }, entryData?.entry_at && /* @__PURE__ */ import_react148.default.createElement(DateTime, { value: entryData?.entry_at })),
|
|
13202
|
-
/* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Creation date", isLoading: isLoadingEntry }, entryData?.date && /* @__PURE__ */ import_react148.default.createElement(DateTime, { value: entryData?.date })),
|
|
13203
|
-
entryData?.reversal_id && /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: "Reversal", isLoading: isLoadingEntry }, entryData?.reversal_id.substring(0, 5))
|
|
13247
|
+
/* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.journalEntry?.details?.entryTypeLabel || "Entry type", isLoading: isLoadingEntry }, humanizeEnum(entryData?.entry_type ?? "")),
|
|
13248
|
+
/* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.journalEntry?.details?.dateLabel || "Date", isLoading: isLoadingEntry }, entryData?.entry_at && /* @__PURE__ */ import_react148.default.createElement(DateTime, { value: entryData?.entry_at })),
|
|
13249
|
+
/* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.journalEntry?.details?.creationDateLabel || "Creation date", isLoading: isLoadingEntry }, entryData?.date && /* @__PURE__ */ import_react148.default.createElement(DateTime, { value: entryData?.date })),
|
|
13250
|
+
entryData?.reversal_id && /* @__PURE__ */ import_react148.default.createElement(DetailsListItem, { label: stringOverrides?.journalEntry?.details?.reversalLabel || "Reversal", isLoading: isLoadingEntry }, entryData?.reversal_id.substring(0, 5))
|
|
13204
13251
|
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__ledger-account__entry-details__line-items" }, /* @__PURE__ */ import_react148.default.createElement(Card, null, /* @__PURE__ */ import_react148.default.createElement(
|
|
13205
13252
|
Table,
|
|
13206
13253
|
{
|
|
13207
13254
|
componentName: "ledger-account__entry-details",
|
|
13208
13255
|
borderCollapse: "collapse"
|
|
13209
13256
|
},
|
|
13210
|
-
/* @__PURE__ */ import_react148.default.createElement(TableHead, null, /* @__PURE__ */ import_react148.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react148.default.createElement(TableCell, null, "Line items"), /* @__PURE__ */ import_react148.default.createElement(TableCell, null, "Debit"), /* @__PURE__ */ import_react148.default.createElement(TableCell, null, "Credit"))),
|
|
13257
|
+
/* @__PURE__ */ import_react148.default.createElement(TableHead, null, /* @__PURE__ */ import_react148.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react148.default.createElement(TableCell, null, stringOverrides?.lineItemsTable?.lineItemsColumnHeader || "Line items"), /* @__PURE__ */ import_react148.default.createElement(TableCell, null, stringOverrides?.lineItemsTable?.debitColumnHeader || "Debit"), /* @__PURE__ */ import_react148.default.createElement(TableCell, null, stringOverrides?.lineItemsTable?.creditColumnHeader || "Credit"))),
|
|
13211
13258
|
/* @__PURE__ */ import_react148.default.createElement(TableBody, null, entryData?.line_items?.map((item, index) => /* @__PURE__ */ import_react148.default.createElement(
|
|
13212
13259
|
TableRow,
|
|
13213
13260
|
{
|
|
@@ -13223,7 +13270,7 @@ var LedgerAccountEntryDetails = () => {
|
|
|
13223
13270
|
rowKey: "ledger-line-item-summation",
|
|
13224
13271
|
variant: "summation"
|
|
13225
13272
|
},
|
|
13226
|
-
/* @__PURE__ */ import_react148.default.createElement(TableCell, { primary: true }, "Total"),
|
|
13273
|
+
/* @__PURE__ */ import_react148.default.createElement(TableCell, { primary: true }, stringOverrides?.lineItemsTable?.totalRowHeader || "Total"),
|
|
13227
13274
|
/* @__PURE__ */ import_react148.default.createElement(TableCell, { isCurrency: true, primary: true }, totalDebit || 0),
|
|
13228
13275
|
/* @__PURE__ */ import_react148.default.createElement(TableCell, { isCurrency: true, primary: true }, totalCredit || 0)
|
|
13229
13276
|
))
|
|
@@ -13348,7 +13395,8 @@ var import_classnames56 = __toESM(require("classnames"));
|
|
|
13348
13395
|
var LedgerAccount = ({
|
|
13349
13396
|
containerRef,
|
|
13350
13397
|
pageSize = 15,
|
|
13351
|
-
view
|
|
13398
|
+
view,
|
|
13399
|
+
stringOverrides
|
|
13352
13400
|
}) => {
|
|
13353
13401
|
const [currentPage, setCurrentPage] = (0, import_react150.useState)(1);
|
|
13354
13402
|
const [initialLoad, setInitialLoad] = (0, import_react150.useState)(true);
|
|
@@ -13393,7 +13441,12 @@ var LedgerAccount = ({
|
|
|
13393
13441
|
return /* @__PURE__ */ import_react150.default.createElement(
|
|
13394
13442
|
Panel,
|
|
13395
13443
|
{
|
|
13396
|
-
sidebar: /* @__PURE__ */ import_react150.default.createElement(
|
|
13444
|
+
sidebar: /* @__PURE__ */ import_react150.default.createElement(
|
|
13445
|
+
LedgerAccountEntryDetails,
|
|
13446
|
+
{
|
|
13447
|
+
stringOverrides: stringOverrides?.ledgerEntryDetail
|
|
13448
|
+
}
|
|
13449
|
+
),
|
|
13397
13450
|
sidebarIsOpen: Boolean(selectedEntryId),
|
|
13398
13451
|
parentRef: containerRef,
|
|
13399
13452
|
className: "Layer__ledger-account__panel"
|
|
@@ -13420,7 +13473,7 @@ var LedgerAccount = ({
|
|
|
13420
13473
|
},
|
|
13421
13474
|
"$",
|
|
13422
13475
|
centsToDollars(entry?.balance || 0)
|
|
13423
|
-
)))), /* @__PURE__ */ import_react150.default.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__ledger-account-table" }, /* @__PURE__ */ import_react150.default.createElement("thead", null, /* @__PURE__ */ import_react150.default.createElement("tr", null, view !== "desktop" && /* @__PURE__ */ import_react150.default.createElement("th", null), view === "desktop" && /* @__PURE__ */ import_react150.default.createElement(import_react150.default.Fragment, null, /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header" }, "Date"), /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header" }, "Journal id #"), /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header" }, "Source")), view !== "mobile" && /* @__PURE__ */ import_react150.default.createElement(import_react150.default.Fragment, null, /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Debit"), /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Credit"), /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Running balance")))), /* @__PURE__ */ import_react150.default.createElement("tbody", null, data?.map((x, index) => /* @__PURE__ */ import_react150.default.createElement(
|
|
13476
|
+
)))), /* @__PURE__ */ import_react150.default.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__ledger-account-table" }, /* @__PURE__ */ import_react150.default.createElement("thead", null, /* @__PURE__ */ import_react150.default.createElement("tr", null, view !== "desktop" && /* @__PURE__ */ import_react150.default.createElement("th", null), view === "desktop" && /* @__PURE__ */ import_react150.default.createElement(import_react150.default.Fragment, null, /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header" }, stringOverrides?.ledgerEntriesTable?.dateColumnHeader || "Date"), /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header" }, stringOverrides?.ledgerEntriesTable?.journalIdColumnHeader || "Journal id #"), /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header" }, stringOverrides?.ledgerEntriesTable?.sourceColumnHeader || "Source")), view !== "mobile" && /* @__PURE__ */ import_react150.default.createElement(import_react150.default.Fragment, null, /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.ledgerEntriesTable?.debitColumnHeader || "Debit"), /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.ledgerEntriesTable?.creditColumnHeader || "Credit"), /* @__PURE__ */ import_react150.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.ledgerEntriesTable?.runningBalanceColumnHeader || "Running balance")))), /* @__PURE__ */ import_react150.default.createElement("tbody", null, data?.map((x, index) => /* @__PURE__ */ import_react150.default.createElement(
|
|
13424
13477
|
LedgerAccountRow,
|
|
13425
13478
|
{
|
|
13426
13479
|
key: x.id,
|
|
@@ -13469,7 +13522,8 @@ var ChartOfAccounts = (props) => {
|
|
|
13469
13522
|
var ChartOfAccountsContent = ({
|
|
13470
13523
|
asWidget,
|
|
13471
13524
|
withDateControl,
|
|
13472
|
-
withExpandAllButton
|
|
13525
|
+
withExpandAllButton,
|
|
13526
|
+
stringOverrides
|
|
13473
13527
|
}) => {
|
|
13474
13528
|
const { accountId } = (0, import_react151.useContext)(LedgerAccountsContext);
|
|
13475
13529
|
const [view, setView] = (0, import_react151.useState)("desktop");
|
|
@@ -13484,14 +13538,15 @@ var ChartOfAccountsContent = ({
|
|
|
13484
13538
|
}
|
|
13485
13539
|
}
|
|
13486
13540
|
});
|
|
13487
|
-
return /* @__PURE__ */ import_react151.default.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ import_react151.default.createElement(LedgerAccount, { view, containerRef }) : /* @__PURE__ */ import_react151.default.createElement(
|
|
13541
|
+
return /* @__PURE__ */ import_react151.default.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ import_react151.default.createElement(LedgerAccount, { view, containerRef, stringOverrides: stringOverrides?.ledgerAccount }) : /* @__PURE__ */ import_react151.default.createElement(
|
|
13488
13542
|
ChartOfAccountsTable,
|
|
13489
13543
|
{
|
|
13490
13544
|
asWidget,
|
|
13491
13545
|
withDateControl,
|
|
13492
13546
|
withExpandAllButton,
|
|
13493
13547
|
view,
|
|
13494
|
-
containerRef
|
|
13548
|
+
containerRef,
|
|
13549
|
+
stringOverrides: stringOverrides?.chartOfAccountsTable
|
|
13495
13550
|
}
|
|
13496
13551
|
));
|
|
13497
13552
|
};
|
|
@@ -14209,7 +14264,7 @@ var JournalFormEntryLines = ({
|
|
|
14209
14264
|
};
|
|
14210
14265
|
|
|
14211
14266
|
// src/components/JournalForm/JournalForm.tsx
|
|
14212
|
-
var JournalForm = ({ config }) => {
|
|
14267
|
+
var JournalForm = ({ config, stringOverrides }) => {
|
|
14213
14268
|
const {
|
|
14214
14269
|
form,
|
|
14215
14270
|
cancelForm,
|
|
@@ -14229,7 +14284,7 @@ var JournalForm = ({ config }) => {
|
|
|
14229
14284
|
submitForm();
|
|
14230
14285
|
}
|
|
14231
14286
|
},
|
|
14232
|
-
/* @__PURE__ */ import_react157.default.createElement("div", { className: "Layer__journal__sidebar__header" }, /* @__PURE__ */ import_react157.default.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, "Add New Entry"), /* @__PURE__ */ import_react157.default.createElement("div", { className: "actions" }, /* @__PURE__ */ import_react157.default.createElement(
|
|
14287
|
+
/* @__PURE__ */ import_react157.default.createElement("div", { className: "Layer__journal__sidebar__header" }, /* @__PURE__ */ import_react157.default.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, stringOverrides?.header && "Add New Entry"), /* @__PURE__ */ import_react157.default.createElement("div", { className: "actions" }, /* @__PURE__ */ import_react157.default.createElement(
|
|
14233
14288
|
Button,
|
|
14234
14289
|
{
|
|
14235
14290
|
type: "button",
|
|
@@ -14237,7 +14292,7 @@ var JournalForm = ({ config }) => {
|
|
|
14237
14292
|
variant: "secondary" /* secondary */,
|
|
14238
14293
|
disabled: sendingForm
|
|
14239
14294
|
},
|
|
14240
|
-
"Cancel"
|
|
14295
|
+
stringOverrides?.cancelButton || "Cancel"
|
|
14241
14296
|
), apiError && /* @__PURE__ */ import_react157.default.createElement(
|
|
14242
14297
|
RetryButton,
|
|
14243
14298
|
{
|
|
@@ -14246,7 +14301,7 @@ var JournalForm = ({ config }) => {
|
|
|
14246
14301
|
error: "Check connection and retry in few seconds.",
|
|
14247
14302
|
disabled: sendingForm
|
|
14248
14303
|
},
|
|
14249
|
-
"Retry"
|
|
14304
|
+
stringOverrides?.retryButton || "Retry"
|
|
14250
14305
|
), !apiError && /* @__PURE__ */ import_react157.default.createElement(
|
|
14251
14306
|
SubmitButton,
|
|
14252
14307
|
{
|
|
@@ -14255,7 +14310,7 @@ var JournalForm = ({ config }) => {
|
|
|
14255
14310
|
active: true,
|
|
14256
14311
|
disabled: sendingForm
|
|
14257
14312
|
},
|
|
14258
|
-
"Save"
|
|
14313
|
+
stringOverrides?.saveButton || "Save"
|
|
14259
14314
|
))),
|
|
14260
14315
|
apiError && /* @__PURE__ */ import_react157.default.createElement(
|
|
14261
14316
|
Text,
|
|
@@ -14321,7 +14376,7 @@ var JournalForm = ({ config }) => {
|
|
|
14321
14376
|
variant: "secondary" /* secondary */,
|
|
14322
14377
|
disabled: sendingForm
|
|
14323
14378
|
},
|
|
14324
|
-
"Cancel"
|
|
14379
|
+
stringOverrides?.cancelButton || "Cancel"
|
|
14325
14380
|
), apiError && /* @__PURE__ */ import_react157.default.createElement(
|
|
14326
14381
|
RetryButton,
|
|
14327
14382
|
{
|
|
@@ -14330,7 +14385,7 @@ var JournalForm = ({ config }) => {
|
|
|
14330
14385
|
error: "Check connection and retry in few seconds.",
|
|
14331
14386
|
disabled: sendingForm
|
|
14332
14387
|
},
|
|
14333
|
-
"Retry"
|
|
14388
|
+
stringOverrides?.retryButton || "Retry"
|
|
14334
14389
|
), !apiError && /* @__PURE__ */ import_react157.default.createElement(
|
|
14335
14390
|
SubmitButton,
|
|
14336
14391
|
{
|
|
@@ -14339,7 +14394,7 @@ var JournalForm = ({ config }) => {
|
|
|
14339
14394
|
active: true,
|
|
14340
14395
|
disabled: sendingForm
|
|
14341
14396
|
},
|
|
14342
|
-
"Save"
|
|
14397
|
+
stringOverrides?.saveButton || "Save"
|
|
14343
14398
|
))
|
|
14344
14399
|
);
|
|
14345
14400
|
};
|
|
@@ -14347,13 +14402,14 @@ var JournalForm = ({ config }) => {
|
|
|
14347
14402
|
// src/components/JournalSidebar/JournalSidebar.tsx
|
|
14348
14403
|
var JournalSidebar = ({
|
|
14349
14404
|
parentRef: _parentRef,
|
|
14350
|
-
config
|
|
14405
|
+
config,
|
|
14406
|
+
stringOverrides
|
|
14351
14407
|
}) => {
|
|
14352
14408
|
const { selectedEntryId } = (0, import_react158.useContext)(JournalContext);
|
|
14353
14409
|
if (selectedEntryId !== "new") {
|
|
14354
14410
|
return /* @__PURE__ */ import_react158.default.createElement(JournalEntryDetails, null);
|
|
14355
14411
|
}
|
|
14356
|
-
return /* @__PURE__ */ import_react158.default.createElement(JournalForm, { config });
|
|
14412
|
+
return /* @__PURE__ */ import_react158.default.createElement(JournalForm, { config, stringOverrides });
|
|
14357
14413
|
};
|
|
14358
14414
|
|
|
14359
14415
|
// src/components/JournalTable/JournalTable.tsx
|
|
@@ -14362,7 +14418,8 @@ var JournalTable = ({
|
|
|
14362
14418
|
view,
|
|
14363
14419
|
containerRef,
|
|
14364
14420
|
pageSize = 15,
|
|
14365
|
-
config
|
|
14421
|
+
config,
|
|
14422
|
+
stringOverrides
|
|
14366
14423
|
}) => {
|
|
14367
14424
|
const [currentPage, setCurrentPage] = (0, import_react159.useState)(1);
|
|
14368
14425
|
const {
|
|
@@ -14382,12 +14439,12 @@ var JournalTable = ({
|
|
|
14382
14439
|
return /* @__PURE__ */ import_react159.default.createElement(
|
|
14383
14440
|
Panel,
|
|
14384
14441
|
{
|
|
14385
|
-
sidebar: /* @__PURE__ */ import_react159.default.createElement(JournalSidebar, { parentRef: containerRef, config }),
|
|
14442
|
+
sidebar: /* @__PURE__ */ import_react159.default.createElement(JournalSidebar, { parentRef: containerRef, config, stringOverrides: stringOverrides?.journalForm }),
|
|
14386
14443
|
sidebarIsOpen: Boolean(selectedEntryId),
|
|
14387
14444
|
parentRef: containerRef
|
|
14388
14445
|
},
|
|
14389
|
-
/* @__PURE__ */ import_react159.default.createElement(Header, { className: `Layer__${COMPONENT_NAME6}__header` }, /* @__PURE__ */ import_react159.default.createElement(Heading, { className: `Layer__${COMPONENT_NAME6}__title` }, "Journal"), /* @__PURE__ */ import_react159.default.createElement("div", { className: `Layer__${COMPONENT_NAME6}__actions` }, /* @__PURE__ */ import_react159.default.createElement(Button, { onClick: () => addEntry(), disabled: isLoading }, "Add Entry"))),
|
|
14390
|
-
/* @__PURE__ */ import_react159.default.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__journal__table" }, /* @__PURE__ */ import_react159.default.createElement("thead", null, /* @__PURE__ */ import_react159.default.createElement("tr", null, /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }, "Id"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }, "Date"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }, "Transaction"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }, "Account"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Debit"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Credit"))), /* @__PURE__ */ import_react159.default.createElement("tbody", null, !error && data?.map((entry, idx) => {
|
|
14446
|
+
/* @__PURE__ */ import_react159.default.createElement(Header, { className: `Layer__${COMPONENT_NAME6}__header` }, /* @__PURE__ */ import_react159.default.createElement(Heading, { className: `Layer__${COMPONENT_NAME6}__title` }, stringOverrides?.componentTitle || "Journal"), /* @__PURE__ */ import_react159.default.createElement("div", { className: `Layer__${COMPONENT_NAME6}__actions` }, /* @__PURE__ */ import_react159.default.createElement(Button, { onClick: () => addEntry(), disabled: isLoading }, stringOverrides?.addEntryButton || "Add Entry"))),
|
|
14447
|
+
/* @__PURE__ */ import_react159.default.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__journal__table" }, /* @__PURE__ */ import_react159.default.createElement("thead", null, /* @__PURE__ */ import_react159.default.createElement("tr", null, /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }, stringOverrides?.idColumnHeader || "Id"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }, stringOverrides?.dateColumnHeader || "Date"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }, stringOverrides?.transactionColumnHeader || "Transaction"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header" }, stringOverrides?.accountColumnHeader || "Account"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.debitColumnHeader || "Debit"), /* @__PURE__ */ import_react159.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, stringOverrides?.creditColumnHeader || "Credit"))), /* @__PURE__ */ import_react159.default.createElement("tbody", null, !error && data?.map((entry, idx) => {
|
|
14391
14448
|
return /* @__PURE__ */ import_react159.default.createElement(
|
|
14392
14449
|
JournalRow,
|
|
14393
14450
|
{
|
|
@@ -14434,7 +14491,8 @@ var Journal = (props) => {
|
|
|
14434
14491
|
};
|
|
14435
14492
|
var JournalContent = ({
|
|
14436
14493
|
asWidget,
|
|
14437
|
-
config = JOURNAL_CONFIG
|
|
14494
|
+
config = JOURNAL_CONFIG,
|
|
14495
|
+
stringOverrides
|
|
14438
14496
|
}) => {
|
|
14439
14497
|
const [view, setView] = (0, import_react160.useState)("desktop");
|
|
14440
14498
|
const containerRef = useElementSize((_a, _b, { width }) => {
|
|
@@ -14448,7 +14506,15 @@ var JournalContent = ({
|
|
|
14448
14506
|
}
|
|
14449
14507
|
}
|
|
14450
14508
|
});
|
|
14451
|
-
return /* @__PURE__ */ import_react160.default.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ import_react160.default.createElement(
|
|
14509
|
+
return /* @__PURE__ */ import_react160.default.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ import_react160.default.createElement(
|
|
14510
|
+
JournalTable,
|
|
14511
|
+
{
|
|
14512
|
+
view,
|
|
14513
|
+
containerRef,
|
|
14514
|
+
config,
|
|
14515
|
+
stringOverrides: stringOverrides?.journalTable
|
|
14516
|
+
}
|
|
14517
|
+
));
|
|
14452
14518
|
};
|
|
14453
14519
|
|
|
14454
14520
|
// src/components/Tasks/Tasks.tsx
|
|
@@ -14896,18 +14962,21 @@ var UseTasksContext = (0, import_react167.createContext)({
|
|
|
14896
14962
|
}
|
|
14897
14963
|
});
|
|
14898
14964
|
var Tasks = ({
|
|
14899
|
-
tasksHeader,
|
|
14900
14965
|
collapsable = false,
|
|
14901
14966
|
defaultCollapsed = false,
|
|
14902
|
-
collapsedWhenComplete
|
|
14967
|
+
collapsedWhenComplete,
|
|
14968
|
+
tasksHeader,
|
|
14969
|
+
// deprecated
|
|
14970
|
+
stringOverrides
|
|
14903
14971
|
}) => {
|
|
14904
14972
|
return /* @__PURE__ */ import_react167.default.createElement(TasksProvider, null, /* @__PURE__ */ import_react167.default.createElement(
|
|
14905
14973
|
TasksComponent,
|
|
14906
14974
|
{
|
|
14907
|
-
tasksHeader,
|
|
14908
14975
|
collapsable,
|
|
14909
14976
|
defaultCollapsed,
|
|
14910
|
-
collapsedWhenComplete
|
|
14977
|
+
collapsedWhenComplete,
|
|
14978
|
+
tasksHeader,
|
|
14979
|
+
stringOverrides
|
|
14911
14980
|
}
|
|
14912
14981
|
));
|
|
14913
14982
|
};
|
|
@@ -14916,10 +14985,12 @@ var TasksProvider = ({ children }) => {
|
|
|
14916
14985
|
return /* @__PURE__ */ import_react167.default.createElement(TasksContext.Provider, { value: contextData }, children);
|
|
14917
14986
|
};
|
|
14918
14987
|
var TasksComponent = ({
|
|
14919
|
-
tasksHeader,
|
|
14920
14988
|
collapsable = false,
|
|
14921
14989
|
defaultCollapsed = false,
|
|
14922
|
-
collapsedWhenComplete
|
|
14990
|
+
collapsedWhenComplete,
|
|
14991
|
+
tasksHeader,
|
|
14992
|
+
// deprecated
|
|
14993
|
+
stringOverrides
|
|
14923
14994
|
}) => {
|
|
14924
14995
|
const { isLoading, loadedStatus, data } = (0, import_react167.useContext)(TasksContext);
|
|
14925
14996
|
const allComplete = (0, import_react167.useMemo)(() => {
|
|
@@ -14942,7 +15013,7 @@ var TasksComponent = ({
|
|
|
14942
15013
|
return /* @__PURE__ */ import_react167.default.createElement("div", { className: "Layer__tasks-component" }, /* @__PURE__ */ import_react167.default.createElement(
|
|
14943
15014
|
TasksHeader,
|
|
14944
15015
|
{
|
|
14945
|
-
tasksHeader,
|
|
15016
|
+
tasksHeader: stringOverrides?.header || tasksHeader,
|
|
14946
15017
|
collapsable,
|
|
14947
15018
|
open,
|
|
14948
15019
|
toggleContent: () => setOpen(!open)
|
|
@@ -15052,7 +15123,9 @@ var BookkeepingUpsellBar = ({
|
|
|
15052
15123
|
var import_react170 = __toESM(require("react"));
|
|
15053
15124
|
var import_classnames61 = __toESM(require("classnames"));
|
|
15054
15125
|
var BookkeepingOverview = ({
|
|
15055
|
-
title
|
|
15126
|
+
title,
|
|
15127
|
+
// deprecated
|
|
15128
|
+
stringOverrides
|
|
15056
15129
|
}) => {
|
|
15057
15130
|
const [pnlToggle, setPnlToggle] = (0, import_react170.useState)("revenue");
|
|
15058
15131
|
const [width] = useWindowSize();
|
|
@@ -15060,16 +15133,16 @@ var BookkeepingOverview = ({
|
|
|
15060
15133
|
View,
|
|
15061
15134
|
{
|
|
15062
15135
|
viewClassName: "Layer__bookkeeping-overview--view",
|
|
15063
|
-
title,
|
|
15136
|
+
title: stringOverrides?.title || title || "Bookkeeping overview",
|
|
15064
15137
|
withSidebar: width > 1100,
|
|
15065
|
-
sidebar: /* @__PURE__ */ import_react170.default.createElement(TasksComponent, {
|
|
15138
|
+
sidebar: /* @__PURE__ */ import_react170.default.createElement(TasksComponent, { stringOverrides: stringOverrides?.tasks })
|
|
15066
15139
|
},
|
|
15067
15140
|
width <= 1100 && /* @__PURE__ */ import_react170.default.createElement(
|
|
15068
15141
|
TasksComponent,
|
|
15069
15142
|
{
|
|
15070
|
-
tasksHeader: "Bookkeeeping Tasks",
|
|
15071
15143
|
collapsable: true,
|
|
15072
|
-
collapsedWhenComplete: true
|
|
15144
|
+
collapsedWhenComplete: true,
|
|
15145
|
+
stringOverrides: stringOverrides?.tasks
|
|
15073
15146
|
}
|
|
15074
15147
|
),
|
|
15075
15148
|
/* @__PURE__ */ import_react170.default.createElement(
|
|
@@ -15079,8 +15152,13 @@ var BookkeepingOverview = ({
|
|
|
15079
15152
|
asWidget: true,
|
|
15080
15153
|
elevated: true
|
|
15081
15154
|
},
|
|
15082
|
-
/* @__PURE__ */ import_react170.default.createElement(Header, null, /* @__PURE__ */ import_react170.default.createElement(Heading, { size: "secondary" /* secondary */ }, "Profit & Loss"), /* @__PURE__ */ import_react170.default.createElement(ProfitAndLoss.DatePicker, null)),
|
|
15083
|
-
/* @__PURE__ */ import_react170.default.createElement("div", { className: "Layer__bookkeeping-overview__summaries-row" }, /* @__PURE__ */ import_react170.default.createElement(
|
|
15155
|
+
/* @__PURE__ */ import_react170.default.createElement(Header, null, /* @__PURE__ */ import_react170.default.createElement(Heading, { size: "secondary" /* secondary */ }, stringOverrides?.profitAndLoss?.header || "Profit & Loss"), /* @__PURE__ */ import_react170.default.createElement(ProfitAndLoss.DatePicker, null)),
|
|
15156
|
+
/* @__PURE__ */ import_react170.default.createElement("div", { className: "Layer__bookkeeping-overview__summaries-row" }, /* @__PURE__ */ import_react170.default.createElement(
|
|
15157
|
+
ProfitAndLoss.Summaries,
|
|
15158
|
+
{
|
|
15159
|
+
stringOverrides: stringOverrides?.profitAndLoss?.summaries
|
|
15160
|
+
}
|
|
15161
|
+
)),
|
|
15084
15162
|
/* @__PURE__ */ import_react170.default.createElement(ProfitAndLoss.Chart, null)
|
|
15085
15163
|
),
|
|
15086
15164
|
/* @__PURE__ */ import_react170.default.createElement("div", { className: "Layer__bookkeeping-overview-profit-and-loss-charts" }, /* @__PURE__ */ import_react170.default.createElement(
|
|
@@ -15108,7 +15186,14 @@ var BookkeepingOverview = ({
|
|
|
15108
15186
|
pnlToggle !== "revenue" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
15109
15187
|
)
|
|
15110
15188
|
},
|
|
15111
|
-
/* @__PURE__ */ import_react170.default.createElement(
|
|
15189
|
+
/* @__PURE__ */ import_react170.default.createElement(
|
|
15190
|
+
ProfitAndLoss.DetailedCharts,
|
|
15191
|
+
{
|
|
15192
|
+
scope: "revenue",
|
|
15193
|
+
hideClose: true,
|
|
15194
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts
|
|
15195
|
+
}
|
|
15196
|
+
)
|
|
15112
15197
|
), /* @__PURE__ */ import_react170.default.createElement(
|
|
15113
15198
|
Container,
|
|
15114
15199
|
{
|
|
@@ -15117,7 +15202,14 @@ var BookkeepingOverview = ({
|
|
|
15117
15202
|
pnlToggle !== "expenses" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
15118
15203
|
)
|
|
15119
15204
|
},
|
|
15120
|
-
/* @__PURE__ */ import_react170.default.createElement(
|
|
15205
|
+
/* @__PURE__ */ import_react170.default.createElement(
|
|
15206
|
+
ProfitAndLoss.DetailedCharts,
|
|
15207
|
+
{
|
|
15208
|
+
scope: "expenses",
|
|
15209
|
+
hideClose: true,
|
|
15210
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts
|
|
15211
|
+
}
|
|
15212
|
+
)
|
|
15121
15213
|
))
|
|
15122
15214
|
)));
|
|
15123
15215
|
};
|
|
@@ -15226,7 +15318,9 @@ var AccountingOverview = ({
|
|
|
15226
15318
|
title = "Accounting overview",
|
|
15227
15319
|
enableOnboarding = false,
|
|
15228
15320
|
onTransactionsToReviewClick,
|
|
15229
|
-
middleBanner
|
|
15321
|
+
middleBanner,
|
|
15322
|
+
chartColorsList,
|
|
15323
|
+
stringOverrides
|
|
15230
15324
|
}) => {
|
|
15231
15325
|
const [pnlToggle, setPnlToggle] = (0, import_react174.useState)("revenue");
|
|
15232
15326
|
return /* @__PURE__ */ import_react174.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react174.default.createElement(View, { title, headerControls: /* @__PURE__ */ import_react174.default.createElement(ProfitAndLoss.DatePicker, null) }, enableOnboarding && /* @__PURE__ */ import_react174.default.createElement(
|
|
@@ -15234,7 +15328,12 @@ var AccountingOverview = ({
|
|
|
15234
15328
|
{
|
|
15235
15329
|
onTransactionsToReviewClick
|
|
15236
15330
|
}
|
|
15237
|
-
), /* @__PURE__ */ import_react174.default.createElement("div", { className: "Layer__accounting-overview__summaries-row" }, /* @__PURE__ */ import_react174.default.createElement(
|
|
15331
|
+
), /* @__PURE__ */ import_react174.default.createElement("div", { className: "Layer__accounting-overview__summaries-row" }, /* @__PURE__ */ import_react174.default.createElement(
|
|
15332
|
+
ProfitAndLoss.Summaries,
|
|
15333
|
+
{
|
|
15334
|
+
stringOverrides: stringOverrides?.profitAndLoss?.summaries
|
|
15335
|
+
}
|
|
15336
|
+
), /* @__PURE__ */ import_react174.default.createElement(
|
|
15238
15337
|
TransactionToReviewCard,
|
|
15239
15338
|
{
|
|
15240
15339
|
usePnlDateRange: true,
|
|
@@ -15247,7 +15346,7 @@ var AccountingOverview = ({
|
|
|
15247
15346
|
asWidget: true,
|
|
15248
15347
|
elevated: true
|
|
15249
15348
|
},
|
|
15250
|
-
/* @__PURE__ */ import_react174.default.createElement(Header, null, /* @__PURE__ */ import_react174.default.createElement(Heading, { size: "secondary" /* secondary */ }, "Profit & Loss")),
|
|
15349
|
+
/* @__PURE__ */ import_react174.default.createElement(Header, null, /* @__PURE__ */ import_react174.default.createElement(Heading, { size: "secondary" /* secondary */ }, stringOverrides?.header || "Profit & Loss")),
|
|
15251
15350
|
/* @__PURE__ */ import_react174.default.createElement(ProfitAndLoss.Chart, null)
|
|
15252
15351
|
), middleBanner && /* @__PURE__ */ import_react174.default.createElement(Container, { name: "accounting-overview-middle-banner" }, middleBanner), /* @__PURE__ */ import_react174.default.createElement("div", { className: "Layer__accounting-overview-profit-and-loss-charts" }, /* @__PURE__ */ import_react174.default.createElement(
|
|
15253
15352
|
Toggle,
|
|
@@ -15274,7 +15373,15 @@ var AccountingOverview = ({
|
|
|
15274
15373
|
pnlToggle !== "revenue" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
15275
15374
|
)
|
|
15276
15375
|
},
|
|
15277
|
-
/* @__PURE__ */ import_react174.default.createElement(
|
|
15376
|
+
/* @__PURE__ */ import_react174.default.createElement(
|
|
15377
|
+
ProfitAndLoss.DetailedCharts,
|
|
15378
|
+
{
|
|
15379
|
+
scope: "revenue",
|
|
15380
|
+
hideClose: true,
|
|
15381
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts,
|
|
15382
|
+
chartColorsList
|
|
15383
|
+
}
|
|
15384
|
+
)
|
|
15278
15385
|
), /* @__PURE__ */ import_react174.default.createElement(
|
|
15279
15386
|
Container,
|
|
15280
15387
|
{
|
|
@@ -15283,14 +15390,23 @@ var AccountingOverview = ({
|
|
|
15283
15390
|
pnlToggle !== "expenses" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
15284
15391
|
)
|
|
15285
15392
|
},
|
|
15286
|
-
/* @__PURE__ */ import_react174.default.createElement(
|
|
15393
|
+
/* @__PURE__ */ import_react174.default.createElement(
|
|
15394
|
+
ProfitAndLoss.DetailedCharts,
|
|
15395
|
+
{
|
|
15396
|
+
scope: "expenses",
|
|
15397
|
+
hideClose: true,
|
|
15398
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts,
|
|
15399
|
+
chartColorsList
|
|
15400
|
+
}
|
|
15401
|
+
)
|
|
15287
15402
|
))));
|
|
15288
15403
|
};
|
|
15289
15404
|
|
|
15290
15405
|
// src/views/BankTransactionsWithLinkedAccounts/BankTransactionsWithLinkedAccounts.tsx
|
|
15291
15406
|
var import_react175 = __toESM(require("react"));
|
|
15292
15407
|
var BankTransactionsWithLinkedAccounts = ({
|
|
15293
|
-
title
|
|
15408
|
+
title,
|
|
15409
|
+
// deprecated
|
|
15294
15410
|
elevatedLinkedAccounts = true,
|
|
15295
15411
|
showLedgerBalance = true,
|
|
15296
15412
|
showUnlinkItem = false,
|
|
@@ -15299,15 +15415,17 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
15299
15415
|
hardRefreshPnlOnCategorize = false,
|
|
15300
15416
|
showDescriptions,
|
|
15301
15417
|
showReceiptUploads,
|
|
15302
|
-
mobileComponent
|
|
15418
|
+
mobileComponent,
|
|
15419
|
+
stringOverrides
|
|
15303
15420
|
}) => {
|
|
15304
|
-
return /* @__PURE__ */ import_react175.default.createElement(View, { title }, /* @__PURE__ */ import_react175.default.createElement(
|
|
15421
|
+
return /* @__PURE__ */ import_react175.default.createElement(View, { title: stringOverrides?.title || title || "Bank transactions" }, /* @__PURE__ */ import_react175.default.createElement(
|
|
15305
15422
|
LinkedAccounts,
|
|
15306
15423
|
{
|
|
15307
15424
|
elevated: elevatedLinkedAccounts,
|
|
15308
15425
|
showLedgerBalance,
|
|
15309
15426
|
showUnlinkItem,
|
|
15310
|
-
showBreakConnection
|
|
15427
|
+
showBreakConnection,
|
|
15428
|
+
stringOverrides: stringOverrides?.linkedAccounts
|
|
15311
15429
|
}
|
|
15312
15430
|
), /* @__PURE__ */ import_react175.default.createElement(
|
|
15313
15431
|
BankTransactions,
|
|
@@ -15317,7 +15435,8 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
15317
15435
|
showReceiptUploads,
|
|
15318
15436
|
mobileComponent,
|
|
15319
15437
|
categorizedOnly,
|
|
15320
|
-
hardRefreshPnlOnCategorize
|
|
15438
|
+
hardRefreshPnlOnCategorize,
|
|
15439
|
+
stringOverrides: stringOverrides?.bankTransactions
|
|
15321
15440
|
}
|
|
15322
15441
|
));
|
|
15323
15442
|
};
|
|
@@ -15325,32 +15444,41 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
15325
15444
|
// src/views/GeneralLedger/GeneralLedger.tsx
|
|
15326
15445
|
var import_react176 = __toESM(require("react"));
|
|
15327
15446
|
var GeneralLedgerView = ({
|
|
15328
|
-
title
|
|
15447
|
+
title,
|
|
15448
|
+
// deprecated
|
|
15449
|
+
stringOverrides
|
|
15329
15450
|
}) => {
|
|
15330
15451
|
const [activeTab, setActiveTab] = (0, import_react176.useState)("chartOfAccounts");
|
|
15331
|
-
return /* @__PURE__ */ import_react176.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react176.default.createElement(View, { title }, /* @__PURE__ */ import_react176.default.createElement(
|
|
15452
|
+
return /* @__PURE__ */ import_react176.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react176.default.createElement(View, { title: stringOverrides?.title || title || "General Ledger" }, /* @__PURE__ */ import_react176.default.createElement(
|
|
15332
15453
|
Toggle,
|
|
15333
15454
|
{
|
|
15334
15455
|
name: "general-ledger-tabs",
|
|
15335
15456
|
options: [
|
|
15336
15457
|
{
|
|
15337
15458
|
value: "chartOfAccounts",
|
|
15338
|
-
label: "Chart of accounts"
|
|
15459
|
+
label: stringOverrides?.chartOfAccountsToggleOption || "Chart of accounts"
|
|
15339
15460
|
},
|
|
15340
15461
|
{
|
|
15341
15462
|
value: "journal",
|
|
15342
|
-
label: "Journal"
|
|
15463
|
+
label: stringOverrides?.journalToggleOption || "Journal"
|
|
15343
15464
|
}
|
|
15344
15465
|
],
|
|
15345
15466
|
selected: activeTab,
|
|
15346
15467
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
15347
15468
|
}
|
|
15348
|
-
), /* @__PURE__ */ import_react176.default.createElement(Container, { name: "generalLedger" }, activeTab === "chartOfAccounts" ? /* @__PURE__ */ import_react176.default.createElement(
|
|
15469
|
+
), /* @__PURE__ */ import_react176.default.createElement(Container, { name: "generalLedger" }, activeTab === "chartOfAccounts" ? /* @__PURE__ */ import_react176.default.createElement(
|
|
15470
|
+
ChartOfAccounts,
|
|
15471
|
+
{
|
|
15472
|
+
asWidget: true,
|
|
15473
|
+
withExpandAllButton: true,
|
|
15474
|
+
stringOverrides: stringOverrides?.chartOfAccounts
|
|
15475
|
+
}
|
|
15476
|
+
) : /* @__PURE__ */ import_react176.default.createElement(Journal, { stringOverrides: stringOverrides?.journal }))));
|
|
15349
15477
|
};
|
|
15350
15478
|
|
|
15351
15479
|
// src/views/Reports/Reports.tsx
|
|
15352
15480
|
var import_react177 = __toESM(require("react"));
|
|
15353
|
-
var DownloadButton2 = () => {
|
|
15481
|
+
var DownloadButton2 = ({ stringOverrides }) => {
|
|
15354
15482
|
const { dateRange } = (0, import_react177.useContext)(ProfitAndLoss.Context);
|
|
15355
15483
|
const { auth, businessId, apiUrl } = useLayerContext();
|
|
15356
15484
|
const [requestFailed, setRequestFailed] = (0, import_react177.useState)(false);
|
|
@@ -15387,7 +15515,7 @@ var DownloadButton2 = () => {
|
|
|
15387
15515
|
className: "Layer__download-retry-btn",
|
|
15388
15516
|
error: "Approval failed. Check connection and retry in few seconds."
|
|
15389
15517
|
},
|
|
15390
|
-
"Retry"
|
|
15518
|
+
stringOverrides?.retryButtonText || "Retry"
|
|
15391
15519
|
) : /* @__PURE__ */ import_react177.default.createElement(
|
|
15392
15520
|
Button,
|
|
15393
15521
|
{
|
|
@@ -15395,13 +15523,13 @@ var DownloadButton2 = () => {
|
|
|
15395
15523
|
rightIcon: /* @__PURE__ */ import_react177.default.createElement(DownloadCloud_default, { size: 12 }),
|
|
15396
15524
|
onClick: handleClick
|
|
15397
15525
|
},
|
|
15398
|
-
"Download"
|
|
15526
|
+
stringOverrides?.downloadButtonText || "Download"
|
|
15399
15527
|
);
|
|
15400
15528
|
};
|
|
15401
|
-
var Reports = ({ title
|
|
15529
|
+
var Reports = ({ title, stringOverrides }) => {
|
|
15402
15530
|
const containerRef = (0, import_react177.useRef)(null);
|
|
15403
15531
|
const [activeTab, setActiveTab] = (0, import_react177.useState)("profitAndLoss");
|
|
15404
|
-
return /* @__PURE__ */ import_react177.default.createElement(View, { title }, /* @__PURE__ */ import_react177.default.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ import_react177.default.createElement(
|
|
15532
|
+
return /* @__PURE__ */ import_react177.default.createElement(View, { title: stringOverrides?.title || title || "Reports" }, /* @__PURE__ */ import_react177.default.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ import_react177.default.createElement(
|
|
15405
15533
|
Toggle,
|
|
15406
15534
|
{
|
|
15407
15535
|
name: "reports-tabs",
|
|
@@ -15416,26 +15544,38 @@ var Reports = ({ title = "Reports" }) => {
|
|
|
15416
15544
|
selected: activeTab,
|
|
15417
15545
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
15418
15546
|
}
|
|
15419
|
-
)), /* @__PURE__ */ import_react177.default.createElement(Container, { name: "reports", ref: containerRef }, /* @__PURE__ */ import_react177.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react177.default.createElement(ReportsPanel, { containerRef, openReport: activeTab }))));
|
|
15547
|
+
)), /* @__PURE__ */ import_react177.default.createElement(Container, { name: "reports", ref: containerRef }, /* @__PURE__ */ import_react177.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react177.default.createElement(ReportsPanel, { containerRef, openReport: activeTab, stringOverrides }))));
|
|
15420
15548
|
};
|
|
15421
|
-
var ReportsPanel = ({ containerRef, openReport }) => {
|
|
15549
|
+
var ReportsPanel = ({ containerRef, openReport, stringOverrides }) => {
|
|
15422
15550
|
const { sidebarScope } = (0, import_react177.useContext)(ProfitAndLoss.Context);
|
|
15423
15551
|
return /* @__PURE__ */ import_react177.default.createElement(import_react177.default.Fragment, null, openReport === "profitAndLoss" && /* @__PURE__ */ import_react177.default.createElement(
|
|
15424
15552
|
View,
|
|
15425
15553
|
{
|
|
15426
15554
|
type: "panel",
|
|
15427
|
-
headerControls: /* @__PURE__ */ import_react177.default.createElement(import_react177.default.Fragment, null, /* @__PURE__ */ import_react177.default.createElement(ProfitAndLoss.DatePicker, null), /* @__PURE__ */ import_react177.default.createElement(DownloadButton2,
|
|
15555
|
+
headerControls: /* @__PURE__ */ import_react177.default.createElement(import_react177.default.Fragment, null, /* @__PURE__ */ import_react177.default.createElement(ProfitAndLoss.DatePicker, null), /* @__PURE__ */ import_react177.default.createElement(DownloadButton2, { stringOverrides: stringOverrides?.downloadButton }))
|
|
15428
15556
|
},
|
|
15429
15557
|
/* @__PURE__ */ import_react177.default.createElement(
|
|
15430
15558
|
Panel,
|
|
15431
15559
|
{
|
|
15432
|
-
sidebar: /* @__PURE__ */ import_react177.default.createElement(
|
|
15560
|
+
sidebar: /* @__PURE__ */ import_react177.default.createElement(
|
|
15561
|
+
ProfitAndLoss.DetailedCharts,
|
|
15562
|
+
{
|
|
15563
|
+
showDatePicker: false,
|
|
15564
|
+
stringOverrides: stringOverrides?.profitAndLoss?.detailedCharts
|
|
15565
|
+
}
|
|
15566
|
+
),
|
|
15433
15567
|
sidebarIsOpen: Boolean(sidebarScope),
|
|
15434
15568
|
parentRef: containerRef
|
|
15435
15569
|
},
|
|
15436
|
-
/* @__PURE__ */ import_react177.default.createElement(
|
|
15570
|
+
/* @__PURE__ */ import_react177.default.createElement(
|
|
15571
|
+
ProfitAndLoss.Table,
|
|
15572
|
+
{
|
|
15573
|
+
asContainer: false,
|
|
15574
|
+
stringOverrides: stringOverrides?.profitAndLoss?.table
|
|
15575
|
+
}
|
|
15576
|
+
)
|
|
15437
15577
|
)
|
|
15438
|
-
), openReport === "balanceSheet" && /* @__PURE__ */ import_react177.default.createElement(BalanceSheet,
|
|
15578
|
+
), openReport === "balanceSheet" && /* @__PURE__ */ import_react177.default.createElement(BalanceSheet, { stringOverrides: stringOverrides?.balanceSheet }), openReport === "statementOfCashFlow" && /* @__PURE__ */ import_react177.default.createElement(StatementOfCashFlow, { stringOverrides: stringOverrides?.statementOfCashflow }));
|
|
15439
15579
|
};
|
|
15440
15580
|
|
|
15441
15581
|
// src/components/ProfitAndLossView/ProfitAndLossView.tsx
|
|
@@ -15447,23 +15587,30 @@ var ProfitAndLossView = (props) => {
|
|
|
15447
15587
|
};
|
|
15448
15588
|
var ProfitAndLossPanel = ({
|
|
15449
15589
|
containerRef,
|
|
15590
|
+
stringOverrides,
|
|
15450
15591
|
...props
|
|
15451
15592
|
}) => {
|
|
15452
15593
|
const { sidebarScope } = (0, import_react178.useContext)(ProfitAndLoss.Context);
|
|
15453
15594
|
return /* @__PURE__ */ import_react178.default.createElement(
|
|
15454
15595
|
Panel,
|
|
15455
15596
|
{
|
|
15456
|
-
sidebar: /* @__PURE__ */ import_react178.default.createElement(
|
|
15597
|
+
sidebar: /* @__PURE__ */ import_react178.default.createElement(
|
|
15598
|
+
ProfitAndLossDetailedCharts,
|
|
15599
|
+
{
|
|
15600
|
+
stringOverrides: stringOverrides?.profitAndLossDetailedCharts
|
|
15601
|
+
}
|
|
15602
|
+
),
|
|
15457
15603
|
sidebarIsOpen: Boolean(sidebarScope),
|
|
15458
15604
|
parentRef: containerRef
|
|
15459
15605
|
},
|
|
15460
|
-
/* @__PURE__ */ import_react178.default.createElement(Header, { className: `Layer__${COMPONENT_NAME7}__header` }, /* @__PURE__ */ import_react178.default.createElement(Heading, { className: "Layer__profit-and-loss__title" }, "Profit & Loss")),
|
|
15461
|
-
/* @__PURE__ */ import_react178.default.createElement(Components, { ...props })
|
|
15606
|
+
/* @__PURE__ */ import_react178.default.createElement(Header, { className: `Layer__${COMPONENT_NAME7}__header` }, /* @__PURE__ */ import_react178.default.createElement(Heading, { className: "Layer__profit-and-loss__title" }, stringOverrides?.header || "Profit & Loss")),
|
|
15607
|
+
/* @__PURE__ */ import_react178.default.createElement(Components, { stringOverrides, ...props })
|
|
15462
15608
|
);
|
|
15463
15609
|
};
|
|
15464
15610
|
var Components = ({
|
|
15465
15611
|
hideChart = false,
|
|
15466
|
-
hideTable = false
|
|
15612
|
+
hideTable = false,
|
|
15613
|
+
stringOverrides
|
|
15467
15614
|
}) => {
|
|
15468
15615
|
const { error, isLoading, isValidating, refetch } = (0, import_react178.useContext)(
|
|
15469
15616
|
ProfitAndLoss.Context
|
|
@@ -15486,14 +15633,26 @@ var Components = ({
|
|
|
15486
15633
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__summary-col`
|
|
15487
15634
|
},
|
|
15488
15635
|
/* @__PURE__ */ import_react178.default.createElement(ProfitAndLoss.DatePicker, null),
|
|
15489
|
-
/* @__PURE__ */ import_react178.default.createElement(
|
|
15636
|
+
/* @__PURE__ */ import_react178.default.createElement(
|
|
15637
|
+
ProfitAndLoss.Summaries,
|
|
15638
|
+
{
|
|
15639
|
+
vertical: true,
|
|
15640
|
+
actionable: true,
|
|
15641
|
+
stringOverrides: stringOverrides?.profitAndLossSummaries
|
|
15642
|
+
}
|
|
15643
|
+
)
|
|
15490
15644
|
), /* @__PURE__ */ import_react178.default.createElement(
|
|
15491
15645
|
"div",
|
|
15492
15646
|
{
|
|
15493
15647
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__chart-col`
|
|
15494
15648
|
},
|
|
15495
15649
|
/* @__PURE__ */ import_react178.default.createElement(ProfitAndLoss.Chart, null)
|
|
15496
|
-
)), !hideTable && /* @__PURE__ */ import_react178.default.createElement(
|
|
15650
|
+
)), !hideTable && /* @__PURE__ */ import_react178.default.createElement(
|
|
15651
|
+
ProfitAndLoss.Table,
|
|
15652
|
+
{
|
|
15653
|
+
stringOverrides: stringOverrides?.profitAndLossTable
|
|
15654
|
+
}
|
|
15655
|
+
));
|
|
15497
15656
|
};
|
|
15498
15657
|
// Annotate the CommonJS export names for ESM import in node:
|
|
15499
15658
|
0 && (module.exports = {
|