@layerfi/components 0.1.56 → 0.1.57
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 +468 -628
- package/dist/esm/index.js.map +4 -4
- package/dist/index.d.ts +50 -56
- package/dist/index.js +417 -577
- package/dist/index.js.map +4 -4
- package/dist/styles/index.css +21 -98
- package/dist/styles/index.css.map +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11572,7 +11572,9 @@ var TableCell = ({
|
|
|
11572
11572
|
isCurrency,
|
|
11573
11573
|
primary,
|
|
11574
11574
|
withExpandIcon = false,
|
|
11575
|
-
fullWidth
|
|
11575
|
+
fullWidth,
|
|
11576
|
+
colSpan = 1,
|
|
11577
|
+
onClick
|
|
11576
11578
|
}) => {
|
|
11577
11579
|
const amount = typeof children === "number" ? children : 0;
|
|
11578
11580
|
const isPositive = amount >= 0;
|
|
@@ -11585,13 +11587,15 @@ var TableCell = ({
|
|
|
11585
11587
|
isCurrency && !isPositive && "Layer__table-cell-amount--negative"
|
|
11586
11588
|
);
|
|
11587
11589
|
if (isHeaderCell) {
|
|
11588
|
-
return /* @__PURE__ */ import_react122.default.createElement("th", { className: cellClassNames }, /* @__PURE__ */ import_react122.default.createElement("span", { className: "Layer__table-cell-content" }, children));
|
|
11590
|
+
return /* @__PURE__ */ import_react122.default.createElement("th", { className: cellClassNames, colSpan }, /* @__PURE__ */ import_react122.default.createElement("span", { className: "Layer__table-cell-content" }, children));
|
|
11589
11591
|
}
|
|
11590
11592
|
return /* @__PURE__ */ import_react122.default.createElement(
|
|
11591
11593
|
"td",
|
|
11592
11594
|
{
|
|
11593
11595
|
className: cellClassNames,
|
|
11594
|
-
style: fullWidth ? { width: "100%" } : void 0
|
|
11596
|
+
style: fullWidth ? { width: "100%" } : void 0,
|
|
11597
|
+
colSpan,
|
|
11598
|
+
onClick: (e) => onClick && onClick(e)
|
|
11595
11599
|
},
|
|
11596
11600
|
/* @__PURE__ */ import_react122.default.createElement("span", { className: "Layer__table-cell-content" }, withExpandIcon && /* @__PURE__ */ import_react122.default.createElement(
|
|
11597
11601
|
ChevronDownFill_default,
|
|
@@ -11622,20 +11626,35 @@ var TableRow = ({
|
|
|
11622
11626
|
variant = expandable ? "expandable" : "default",
|
|
11623
11627
|
withDivider,
|
|
11624
11628
|
withDividerPosition = "top",
|
|
11625
|
-
isHeadRow = false
|
|
11629
|
+
isHeadRow = false,
|
|
11630
|
+
selected,
|
|
11631
|
+
onClick
|
|
11626
11632
|
}) => {
|
|
11627
|
-
const toggleExpanded = () => {
|
|
11628
|
-
if (
|
|
11629
|
-
|
|
11630
|
-
|
|
11633
|
+
const toggleExpanded = (e) => {
|
|
11634
|
+
if (onClick) {
|
|
11635
|
+
onClick(e);
|
|
11636
|
+
} else {
|
|
11637
|
+
if (variant === "summation" || !expandable)
|
|
11638
|
+
return;
|
|
11639
|
+
handleExpand && handleExpand();
|
|
11640
|
+
}
|
|
11631
11641
|
};
|
|
11632
11642
|
const rowClassNames = (0, import_classnames49.default)([
|
|
11633
11643
|
"Layer__table-row",
|
|
11634
11644
|
!isHeadRow && `Layer__table-row--depth-${depth}`,
|
|
11635
11645
|
!isHeadRow && `Layer__table-row--variant-${variant}`,
|
|
11646
|
+
selected && "Layer__table-row--selected",
|
|
11636
11647
|
!isHeadRow && expandable && (isExpanded ? "Layer__table-row--expanded" : "Layer__table-row--collapsed")
|
|
11637
11648
|
]);
|
|
11638
|
-
return /* @__PURE__ */ import_react124.default.createElement(import_react124.default.Fragment, null, withDivider && withDividerPosition === "top" && /* @__PURE__ */ import_react124.default.createElement("tr", { className: "Layer__table-empty-row" }, /* @__PURE__ */ import_react124.default.createElement("td", { colSpan: Array.isArray(children) ? children.length : 1 })), /* @__PURE__ */ import_react124.default.createElement(
|
|
11649
|
+
return /* @__PURE__ */ import_react124.default.createElement(import_react124.default.Fragment, null, withDivider && withDividerPosition === "top" && /* @__PURE__ */ import_react124.default.createElement("tr", { className: "Layer__table-empty-row" }, /* @__PURE__ */ import_react124.default.createElement("td", { colSpan: Array.isArray(children) ? children.length : 1 })), /* @__PURE__ */ import_react124.default.createElement(
|
|
11650
|
+
"tr",
|
|
11651
|
+
{
|
|
11652
|
+
"data-key": rowKey,
|
|
11653
|
+
className: rowClassNames,
|
|
11654
|
+
onClick: (e) => toggleExpanded(e)
|
|
11655
|
+
},
|
|
11656
|
+
children
|
|
11657
|
+
), withDivider && withDividerPosition === "bottom" && /* @__PURE__ */ import_react124.default.createElement("tr", { className: "Layer__table-empty-row" }, /* @__PURE__ */ import_react124.default.createElement("td", { colSpan: Array.isArray(children) ? children.length : 1 })));
|
|
11639
11658
|
};
|
|
11640
11659
|
|
|
11641
11660
|
// src/components/Table/Table.tsx
|
|
@@ -13209,7 +13228,7 @@ var useLedgerAccounts = () => {
|
|
|
13209
13228
|
};
|
|
13210
13229
|
};
|
|
13211
13230
|
|
|
13212
|
-
// src/components/ChartOfAccountsTable/
|
|
13231
|
+
// src/components/ChartOfAccountsTable/ChartOfAccountsTableWithPanel.tsx
|
|
13213
13232
|
var import_react152 = __toESM(require("react"));
|
|
13214
13233
|
|
|
13215
13234
|
// src/components/ChartOfAccountsDatePicker/ChartOfAccountsDatePicker.tsx
|
|
@@ -13234,265 +13253,15 @@ var ChartOfAccountsDatePicker = () => {
|
|
|
13234
13253
|
);
|
|
13235
13254
|
};
|
|
13236
13255
|
|
|
13237
|
-
// src/components/ChartOfAccountsRow/ChartOfAccountsRow.tsx
|
|
13238
|
-
var import_react148 = __toESM(require("react"));
|
|
13239
|
-
|
|
13240
|
-
// src/icons/Edit2.tsx
|
|
13241
|
-
var React152 = __toESM(require("react"));
|
|
13242
|
-
var Edit2 = ({ size = 18, ...props }) => /* @__PURE__ */ React152.createElement(
|
|
13243
|
-
"svg",
|
|
13244
|
-
{
|
|
13245
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
13246
|
-
viewBox: "0 0 18 18",
|
|
13247
|
-
fill: "none",
|
|
13248
|
-
...props,
|
|
13249
|
-
width: size,
|
|
13250
|
-
height: size
|
|
13251
|
-
},
|
|
13252
|
-
/* @__PURE__ */ React152.createElement(
|
|
13253
|
-
"path",
|
|
13254
|
-
{
|
|
13255
|
-
d: "M12.75 2.25C12.947 2.05301 13.1808 1.89676 13.4382 1.79015C13.6956 1.68355 13.9714 1.62868 14.25 1.62868C14.5286 1.62868 14.8044 1.68355 15.0618 1.79015C15.3192 1.89676 15.553 2.05301 15.75 2.25C15.947 2.44698 16.1032 2.68083 16.2098 2.9382C16.3165 3.19557 16.3713 3.47142 16.3713 3.75C16.3713 4.02857 16.3165 4.30442 16.2098 4.56179C16.1032 4.81916 15.947 5.05302 15.75 5.25L5.625 15.375L1.5 16.5L2.625 12.375L12.75 2.25Z",
|
|
13256
|
-
stroke: "currentColor",
|
|
13257
|
-
strokeLinecap: "round",
|
|
13258
|
-
strokeLinejoin: "round"
|
|
13259
|
-
}
|
|
13260
|
-
)
|
|
13261
|
-
);
|
|
13262
|
-
var Edit2_default = Edit2;
|
|
13263
|
-
|
|
13264
|
-
// src/components/ChartOfAccountsRow/ChartOfAccountsRow.tsx
|
|
13265
|
-
var import_classnames55 = __toESM(require("classnames"));
|
|
13266
|
-
var INDENTATION = 24;
|
|
13267
|
-
var EXPANDED_STYLE2 = {
|
|
13268
|
-
height: 52,
|
|
13269
|
-
paddingTop: 12,
|
|
13270
|
-
paddingBottom: 12,
|
|
13271
|
-
opacity: 1
|
|
13272
|
-
};
|
|
13273
|
-
var EXPANDED_MOBILE_STYLE = {
|
|
13274
|
-
height: 76,
|
|
13275
|
-
paddingTop: 12,
|
|
13276
|
-
paddingBottom: 12,
|
|
13277
|
-
opacity: 1
|
|
13278
|
-
};
|
|
13279
|
-
var COLLAPSED_STYLE2 = {
|
|
13280
|
-
height: 0,
|
|
13281
|
-
paddingTop: 0,
|
|
13282
|
-
paddingBottom: 0,
|
|
13283
|
-
opacity: 0.5
|
|
13284
|
-
};
|
|
13285
|
-
var ChartOfAccountsRow = ({
|
|
13286
|
-
account,
|
|
13287
|
-
depth = 0,
|
|
13288
|
-
index,
|
|
13289
|
-
cumulativeIndex = 0,
|
|
13290
|
-
expanded = false,
|
|
13291
|
-
defaultOpen = false,
|
|
13292
|
-
acountsLength,
|
|
13293
|
-
view,
|
|
13294
|
-
expandAll
|
|
13295
|
-
}) => {
|
|
13296
|
-
const { form, editAccount } = (0, import_react148.useContext)(ChartOfAccountsContext);
|
|
13297
|
-
const { setAccountId } = (0, import_react148.useContext)(LedgerAccountsContext);
|
|
13298
|
-
const baseStyle = view === "desktop" ? EXPANDED_STYLE2 : EXPANDED_MOBILE_STYLE;
|
|
13299
|
-
const [isOpen, setIsOpen] = (0, import_react148.useState)(defaultOpen);
|
|
13300
|
-
const style = expanded ? {
|
|
13301
|
-
...baseStyle,
|
|
13302
|
-
transitionDelay: `${15 * index}ms`
|
|
13303
|
-
} : {
|
|
13304
|
-
...COLLAPSED_STYLE2,
|
|
13305
|
-
transitionDelay: `${acountsLength - 15 * index}ms`
|
|
13306
|
-
};
|
|
13307
|
-
const [showComponent, setShowComponent] = (0, import_react148.useState)(false);
|
|
13308
|
-
const [prevExpandedAll, setPrevExpandedAll] = (0, import_react148.useState)(expandAll);
|
|
13309
|
-
(0, import_react148.useEffect)(() => {
|
|
13310
|
-
const timeoutId = setTimeout(() => {
|
|
13311
|
-
setShowComponent(true);
|
|
13312
|
-
}, cumulativeIndex * 50);
|
|
13313
|
-
return () => clearTimeout(timeoutId);
|
|
13314
|
-
}, []);
|
|
13315
|
-
(0, import_react148.useEffect)(() => {
|
|
13316
|
-
if (prevExpandedAll !== expandAll && expandAll) {
|
|
13317
|
-
setIsOpen(expandAll === "collapsed" ? false : true);
|
|
13318
|
-
}
|
|
13319
|
-
}, [expandAll]);
|
|
13320
|
-
const baseClass = (0, import_classnames55.default)(
|
|
13321
|
-
"Layer__table-row",
|
|
13322
|
-
isOpen ? "Layer__table-row--expanded" : "Layer__table-row--collapsed",
|
|
13323
|
-
!expanded && "Layer__table-row--hidden",
|
|
13324
|
-
`Layer__table-row--depth-${depth}`,
|
|
13325
|
-
form?.accountId === account.id && "Layer__table-row--active",
|
|
13326
|
-
!showComponent && "Layer__table-row--anim-starting-state"
|
|
13327
|
-
);
|
|
13328
|
-
const desktopRowClass = (0, import_classnames55.default)(
|
|
13329
|
-
baseClass,
|
|
13330
|
-
"Layer__chart-of-accounts__row---desktop"
|
|
13331
|
-
);
|
|
13332
|
-
const mobileRowClass = (0, import_classnames55.default)(
|
|
13333
|
-
baseClass,
|
|
13334
|
-
"Layer__chart-of-accounts__row---mobile"
|
|
13335
|
-
);
|
|
13336
|
-
return /* @__PURE__ */ import_react148.default.createElement(import_react148.default.Fragment, null, view === "desktop" && /* @__PURE__ */ import_react148.default.createElement(
|
|
13337
|
-
"tr",
|
|
13338
|
-
{
|
|
13339
|
-
className: desktopRowClass,
|
|
13340
|
-
onClick: (e) => {
|
|
13341
|
-
e.preventDefault();
|
|
13342
|
-
e.stopPropagation();
|
|
13343
|
-
setAccountId(account.id);
|
|
13344
|
-
}
|
|
13345
|
-
},
|
|
13346
|
-
/* @__PURE__ */ import_react148.default.createElement("td", { className: "Layer__table-cell Layer__coa__name" }, /* @__PURE__ */ import_react148.default.createElement("span", { className: "Layer__table-cell-content", style }, /* @__PURE__ */ import_react148.default.createElement(
|
|
13347
|
-
"span",
|
|
13348
|
-
{
|
|
13349
|
-
className: "Layer__table-cell-content-indentation",
|
|
13350
|
-
style: {
|
|
13351
|
-
paddingLeft: INDENTATION * depth + 16
|
|
13352
|
-
}
|
|
13353
|
-
},
|
|
13354
|
-
account.sub_accounts && account.sub_accounts.length > 0 && /* @__PURE__ */ import_react148.default.createElement(
|
|
13355
|
-
ChevronDownFill_default,
|
|
13356
|
-
{
|
|
13357
|
-
size: 16,
|
|
13358
|
-
className: "Layer__table__expand-icon",
|
|
13359
|
-
onClick: (e) => {
|
|
13360
|
-
e.stopPropagation();
|
|
13361
|
-
setIsOpen(!isOpen);
|
|
13362
|
-
}
|
|
13363
|
-
}
|
|
13364
|
-
),
|
|
13365
|
-
/* @__PURE__ */ import_react148.default.createElement("span", { className: "Layer__coa__name__text" }, account.name)
|
|
13366
|
-
))),
|
|
13367
|
-
/* @__PURE__ */ import_react148.default.createElement("td", { className: "Layer__table-cell Layer__coa__type" }, /* @__PURE__ */ import_react148.default.createElement(
|
|
13368
|
-
"span",
|
|
13369
|
-
{
|
|
13370
|
-
className: "Layer__table-cell-content Layer__mobile--hidden",
|
|
13371
|
-
style
|
|
13372
|
-
},
|
|
13373
|
-
account.account_type?.display_name
|
|
13374
|
-
), /* @__PURE__ */ import_react148.default.createElement(
|
|
13375
|
-
"span",
|
|
13376
|
-
{
|
|
13377
|
-
className: "Layer__table-cell-content Layer__desktop--hidden",
|
|
13378
|
-
style
|
|
13379
|
-
},
|
|
13380
|
-
/* @__PURE__ */ import_react148.default.createElement(
|
|
13381
|
-
Text,
|
|
13382
|
-
{
|
|
13383
|
-
weight: "bold" /* bold */,
|
|
13384
|
-
className: "Layer__coa__type--mobile"
|
|
13385
|
-
},
|
|
13386
|
-
account.normality
|
|
13387
|
-
),
|
|
13388
|
-
/* @__PURE__ */ import_react148.default.createElement(Text, { className: "Layer__coa__subtype--mobile" }, account.account_subtype?.display_name)
|
|
13389
|
-
)),
|
|
13390
|
-
/* @__PURE__ */ import_react148.default.createElement("td", { className: "Layer__table-cell Layer__coa__subtype Layer__mobile--hidden" }, /* @__PURE__ */ import_react148.default.createElement("span", { className: "Layer__table-cell-content", style }, account.account_subtype?.display_name)),
|
|
13391
|
-
/* @__PURE__ */ import_react148.default.createElement("td", { className: "Layer__table-cell Layer__coa__balance" }, /* @__PURE__ */ import_react148.default.createElement(
|
|
13392
|
-
"span",
|
|
13393
|
-
{
|
|
13394
|
-
className: "Layer__table-cell-content Layer__table-cell--amount",
|
|
13395
|
-
style
|
|
13396
|
-
},
|
|
13397
|
-
"$",
|
|
13398
|
-
centsToDollars(Math.abs(account.balance || 0))
|
|
13399
|
-
)),
|
|
13400
|
-
/* @__PURE__ */ import_react148.default.createElement("td", { className: "Layer__table-cell Layer__coa__actions" }, /* @__PURE__ */ import_react148.default.createElement("span", { className: "Layer__table-cell-content", style }, /* @__PURE__ */ import_react148.default.createElement(
|
|
13401
|
-
Button,
|
|
13402
|
-
{
|
|
13403
|
-
variant: "secondary" /* secondary */,
|
|
13404
|
-
rightIcon: /* @__PURE__ */ import_react148.default.createElement(Edit2_default, { size: 12 }),
|
|
13405
|
-
iconOnly: true,
|
|
13406
|
-
onClick: (e) => {
|
|
13407
|
-
e.preventDefault();
|
|
13408
|
-
e.stopPropagation();
|
|
13409
|
-
editAccount(account.id);
|
|
13410
|
-
}
|
|
13411
|
-
},
|
|
13412
|
-
"Edit"
|
|
13413
|
-
)))
|
|
13414
|
-
), view === "mobile" || view === "tablet" ? /* @__PURE__ */ import_react148.default.createElement(
|
|
13415
|
-
"tr",
|
|
13416
|
-
{
|
|
13417
|
-
className: mobileRowClass,
|
|
13418
|
-
onClick: (e) => {
|
|
13419
|
-
e.preventDefault();
|
|
13420
|
-
e.stopPropagation();
|
|
13421
|
-
setAccountId(account.id);
|
|
13422
|
-
}
|
|
13423
|
-
},
|
|
13424
|
-
/* @__PURE__ */ import_react148.default.createElement("td", { className: "Layer__table-cell", colSpan: 5 }, /* @__PURE__ */ import_react148.default.createElement(
|
|
13425
|
-
"span",
|
|
13426
|
-
{
|
|
13427
|
-
className: "Layer__table-cell-content Layer__table-cell-content-indentation",
|
|
13428
|
-
style: {
|
|
13429
|
-
paddingLeft: INDENTATION * depth + 16,
|
|
13430
|
-
...style
|
|
13431
|
-
}
|
|
13432
|
-
},
|
|
13433
|
-
account.sub_accounts && account.sub_accounts.length > 0 && /* @__PURE__ */ import_react148.default.createElement(
|
|
13434
|
-
ChevronDownFill_default,
|
|
13435
|
-
{
|
|
13436
|
-
size: 16,
|
|
13437
|
-
className: "Layer__table__expand-icon",
|
|
13438
|
-
onClick: (e) => {
|
|
13439
|
-
e.stopPropagation();
|
|
13440
|
-
setIsOpen(!isOpen);
|
|
13441
|
-
}
|
|
13442
|
-
}
|
|
13443
|
-
),
|
|
13444
|
-
/* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__chart-of-accounts__mobile-row-content" }, /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__chart-of-accounts__mobile-row-content__top-row" }, /* @__PURE__ */ import_react148.default.createElement(
|
|
13445
|
-
Text,
|
|
13446
|
-
{
|
|
13447
|
-
as: "span",
|
|
13448
|
-
className: "Layer__chart-of-accounts__mobile-row-content__name"
|
|
13449
|
-
},
|
|
13450
|
-
account.name
|
|
13451
|
-
), /* @__PURE__ */ import_react148.default.createElement(
|
|
13452
|
-
TextButton,
|
|
13453
|
-
{
|
|
13454
|
-
onClick: (e) => {
|
|
13455
|
-
e.preventDefault();
|
|
13456
|
-
e.stopPropagation();
|
|
13457
|
-
editAccount(account.id);
|
|
13458
|
-
}
|
|
13459
|
-
},
|
|
13460
|
-
"Edit"
|
|
13461
|
-
)), /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__chart-of-accounts__mobile-row-content__bottom-row" }, /* @__PURE__ */ import_react148.default.createElement("div", { className: "Layer__chart-of-accounts__mobile-row-content__types" }, /* @__PURE__ */ import_react148.default.createElement(Text, { as: "span" }, account.normality), /* @__PURE__ */ import_react148.default.createElement("span", { className: "Layer__chart-of-accounts__mobile-row-content__separator" }), /* @__PURE__ */ import_react148.default.createElement(Text, { as: "span" }, "Sub-Type")), /* @__PURE__ */ import_react148.default.createElement(
|
|
13462
|
-
Text,
|
|
13463
|
-
{
|
|
13464
|
-
as: "span",
|
|
13465
|
-
className: "Layer__chart-of-accounts__mobile-row-content__balance"
|
|
13466
|
-
},
|
|
13467
|
-
"$",
|
|
13468
|
-
centsToDollars(Math.abs(account.balance || 0))
|
|
13469
|
-
)))
|
|
13470
|
-
))
|
|
13471
|
-
) : null, (account.sub_accounts || []).map((subAccount, idx) => /* @__PURE__ */ import_react148.default.createElement(
|
|
13472
|
-
ChartOfAccountsRow,
|
|
13473
|
-
{
|
|
13474
|
-
key: subAccount.id,
|
|
13475
|
-
account: subAccount,
|
|
13476
|
-
depth: depth + 1,
|
|
13477
|
-
index: idx,
|
|
13478
|
-
expanded: isOpen && expanded,
|
|
13479
|
-
cumulativeIndex: cumulativeIndex + idx + 1,
|
|
13480
|
-
acountsLength: (account.sub_accounts ?? []).length,
|
|
13481
|
-
view,
|
|
13482
|
-
expandAll
|
|
13483
|
-
}
|
|
13484
|
-
)));
|
|
13485
|
-
};
|
|
13486
|
-
|
|
13487
13256
|
// src/components/ChartOfAccountsSidebar/ChartOfAccountsSidebar.tsx
|
|
13488
|
-
var
|
|
13257
|
+
var import_react150 = __toESM(require("react"));
|
|
13489
13258
|
|
|
13490
13259
|
// src/components/ChartOfAccountsForm/ChartOfAccountsForm.tsx
|
|
13491
|
-
var
|
|
13260
|
+
var import_react149 = __toESM(require("react"));
|
|
13492
13261
|
|
|
13493
13262
|
// src/components/ChartOfAccountsForm/useParentOptions.ts
|
|
13494
|
-
var
|
|
13495
|
-
var useParentOptions = (data) => (0,
|
|
13263
|
+
var import_react148 = require("react");
|
|
13264
|
+
var useParentOptions = (data) => (0, import_react148.useMemo)(
|
|
13496
13265
|
() => flattenAccounts(data?.accounts || []).sort((a, b) => a?.name && b?.name ? a.name.localeCompare(b.name) : 0).map((x) => {
|
|
13497
13266
|
return {
|
|
13498
13267
|
label: x.name,
|
|
@@ -13512,9 +13281,9 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13512
13281
|
submitForm,
|
|
13513
13282
|
sendingForm,
|
|
13514
13283
|
apiError
|
|
13515
|
-
} = (0,
|
|
13284
|
+
} = (0, import_react149.useContext)(ChartOfAccountsContext);
|
|
13516
13285
|
const parentOptions = useParentOptions(data);
|
|
13517
|
-
const entry = (0,
|
|
13286
|
+
const entry = (0, import_react149.useMemo)(() => {
|
|
13518
13287
|
if (form?.action === "edit" && form.accountId) {
|
|
13519
13288
|
return flattenAccounts(data?.accounts || []).find(
|
|
13520
13289
|
(x) => x.id === form.accountId
|
|
@@ -13525,7 +13294,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13525
13294
|
if (!form) {
|
|
13526
13295
|
return;
|
|
13527
13296
|
}
|
|
13528
|
-
return /* @__PURE__ */
|
|
13297
|
+
return /* @__PURE__ */ import_react149.default.createElement(
|
|
13529
13298
|
"form",
|
|
13530
13299
|
{
|
|
13531
13300
|
className: "Layer__form",
|
|
@@ -13534,7 +13303,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13534
13303
|
submitForm();
|
|
13535
13304
|
}
|
|
13536
13305
|
},
|
|
13537
|
-
/* @__PURE__ */
|
|
13306
|
+
/* @__PURE__ */ import_react149.default.createElement("div", { className: "Layer__chart-of-accounts__sidebar__header" }, /* @__PURE__ */ import_react149.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_react149.default.createElement("div", { className: "actions" }, /* @__PURE__ */ import_react149.default.createElement(
|
|
13538
13307
|
Button,
|
|
13539
13308
|
{
|
|
13540
13309
|
type: "button",
|
|
@@ -13543,7 +13312,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13543
13312
|
disabled: sendingForm
|
|
13544
13313
|
},
|
|
13545
13314
|
stringOverrides?.cancelButton || "Cancel"
|
|
13546
|
-
), apiError && /* @__PURE__ */
|
|
13315
|
+
), apiError && /* @__PURE__ */ import_react149.default.createElement(
|
|
13547
13316
|
RetryButton,
|
|
13548
13317
|
{
|
|
13549
13318
|
type: "submit",
|
|
@@ -13552,7 +13321,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13552
13321
|
disabled: sendingForm
|
|
13553
13322
|
},
|
|
13554
13323
|
stringOverrides?.retryButton || "Retry"
|
|
13555
|
-
), !apiError && /* @__PURE__ */
|
|
13324
|
+
), !apiError && /* @__PURE__ */ import_react149.default.createElement(
|
|
13556
13325
|
SubmitButton,
|
|
13557
13326
|
{
|
|
13558
13327
|
type: "submit",
|
|
@@ -13562,7 +13331,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13562
13331
|
},
|
|
13563
13332
|
stringOverrides?.saveButton || "Save"
|
|
13564
13333
|
))),
|
|
13565
|
-
apiError && /* @__PURE__ */
|
|
13334
|
+
apiError && /* @__PURE__ */ import_react149.default.createElement(
|
|
13566
13335
|
Text,
|
|
13567
13336
|
{
|
|
13568
13337
|
size: "sm" /* sm */,
|
|
@@ -13570,8 +13339,8 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13570
13339
|
},
|
|
13571
13340
|
apiError
|
|
13572
13341
|
),
|
|
13573
|
-
entry && /* @__PURE__ */
|
|
13574
|
-
/* @__PURE__ */
|
|
13342
|
+
entry && /* @__PURE__ */ import_react149.default.createElement("div", { className: "Layer__chart-of-accounts__form-edit-entry" }, /* @__PURE__ */ import_react149.default.createElement(Text, { weight: "bold" /* bold */ }, entry.name), /* @__PURE__ */ import_react149.default.createElement(Text, { weight: "bold" /* bold */ }, "$", centsToDollars(entry.balance || 0))),
|
|
13343
|
+
/* @__PURE__ */ import_react149.default.createElement("div", { className: "Layer__chart-of-accounts__form" }, /* @__PURE__ */ import_react149.default.createElement(InputGroup, { name: "parent", label: stringOverrides?.parentLabel || "Parent", inline: true }, /* @__PURE__ */ import_react149.default.createElement(
|
|
13575
13344
|
Select2,
|
|
13576
13345
|
{
|
|
13577
13346
|
options: parentOptions,
|
|
@@ -13579,7 +13348,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13579
13348
|
onChange: (sel) => changeFormData("parent", sel),
|
|
13580
13349
|
disabled: sendingForm
|
|
13581
13350
|
}
|
|
13582
|
-
)), /* @__PURE__ */
|
|
13351
|
+
)), /* @__PURE__ */ import_react149.default.createElement(InputGroup, { name: "name", label: stringOverrides?.nameLabel || "Name", inline: true }, /* @__PURE__ */ import_react149.default.createElement(
|
|
13583
13352
|
Input,
|
|
13584
13353
|
{
|
|
13585
13354
|
name: "name",
|
|
@@ -13590,7 +13359,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13590
13359
|
disabled: sendingForm,
|
|
13591
13360
|
onChange: (e) => changeFormData("name", e.target.value)
|
|
13592
13361
|
}
|
|
13593
|
-
)), /* @__PURE__ */
|
|
13362
|
+
)), /* @__PURE__ */ import_react149.default.createElement(InputGroup, { name: "type", label: stringOverrides?.typeLabel || "Type", inline: true }, /* @__PURE__ */ import_react149.default.createElement(
|
|
13594
13363
|
Select2,
|
|
13595
13364
|
{
|
|
13596
13365
|
options: LEDGER_ACCOUNT_TYPES,
|
|
@@ -13600,7 +13369,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13600
13369
|
errorMessage: form?.errors?.find((x) => x.field === "type")?.message,
|
|
13601
13370
|
disabled: sendingForm || form.action === "edit" || form.data.parent !== void 0
|
|
13602
13371
|
}
|
|
13603
|
-
)), /* @__PURE__ */
|
|
13372
|
+
)), /* @__PURE__ */ import_react149.default.createElement(InputGroup, { name: "subType", label: stringOverrides?.subTypeLabel || "Sub-Type", inline: true }, /* @__PURE__ */ import_react149.default.createElement(
|
|
13604
13373
|
Select2,
|
|
13605
13374
|
{
|
|
13606
13375
|
options: form?.data.type?.value !== void 0 ? LEDGER_ACCOUNT_SUBTYPES_FOR_TYPE[form?.data.type?.value] : LEDGER_ACCOUNT_SUBTYPES,
|
|
@@ -13608,7 +13377,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13608
13377
|
onChange: (sel) => changeFormData("subType", sel),
|
|
13609
13378
|
disabled: sendingForm
|
|
13610
13379
|
}
|
|
13611
|
-
)), /* @__PURE__ */
|
|
13380
|
+
)), /* @__PURE__ */ import_react149.default.createElement(InputGroup, { name: "normality", label: stringOverrides?.normalityLabel || "Normality", inline: true }, /* @__PURE__ */ import_react149.default.createElement(
|
|
13612
13381
|
Select2,
|
|
13613
13382
|
{
|
|
13614
13383
|
options: NORMALITY_OPTIONS,
|
|
@@ -13620,7 +13389,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13620
13389
|
onChange: (sel) => changeFormData("normality", sel),
|
|
13621
13390
|
disabled: sendingForm
|
|
13622
13391
|
}
|
|
13623
|
-
)), /* @__PURE__ */
|
|
13392
|
+
)), /* @__PURE__ */ import_react149.default.createElement("div", { className: "actions" }, /* @__PURE__ */ import_react149.default.createElement(
|
|
13624
13393
|
Button,
|
|
13625
13394
|
{
|
|
13626
13395
|
type: "button",
|
|
@@ -13629,7 +13398,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13629
13398
|
disabled: sendingForm
|
|
13630
13399
|
},
|
|
13631
13400
|
stringOverrides?.cancelButton || "Cancel"
|
|
13632
|
-
), apiError && /* @__PURE__ */
|
|
13401
|
+
), apiError && /* @__PURE__ */ import_react149.default.createElement(
|
|
13633
13402
|
RetryButton,
|
|
13634
13403
|
{
|
|
13635
13404
|
type: "submit",
|
|
@@ -13638,7 +13407,7 @@ var ChartOfAccountsForm = ({ stringOverrides }) => {
|
|
|
13638
13407
|
disabled: sendingForm
|
|
13639
13408
|
},
|
|
13640
13409
|
stringOverrides?.retryButton || "Retry"
|
|
13641
|
-
), !apiError && /* @__PURE__ */
|
|
13410
|
+
), !apiError && /* @__PURE__ */ import_react149.default.createElement(
|
|
13642
13411
|
SubmitButton,
|
|
13643
13412
|
{
|
|
13644
13413
|
type: "submit",
|
|
@@ -13656,12 +13425,158 @@ var ChartOfAccountsSidebar = ({
|
|
|
13656
13425
|
parentRef: _parentRef,
|
|
13657
13426
|
stringOverrides
|
|
13658
13427
|
}) => {
|
|
13659
|
-
return /* @__PURE__ */
|
|
13428
|
+
return /* @__PURE__ */ import_react150.default.createElement(ChartOfAccountsForm, { stringOverrides });
|
|
13660
13429
|
};
|
|
13661
13430
|
|
|
13662
13431
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTable.tsx
|
|
13663
|
-
var
|
|
13432
|
+
var import_react151 = __toESM(require("react"));
|
|
13433
|
+
|
|
13434
|
+
// src/icons/Edit2.tsx
|
|
13435
|
+
var React155 = __toESM(require("react"));
|
|
13436
|
+
var Edit2 = ({ size = 18, ...props }) => /* @__PURE__ */ React155.createElement(
|
|
13437
|
+
"svg",
|
|
13438
|
+
{
|
|
13439
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13440
|
+
viewBox: "0 0 18 18",
|
|
13441
|
+
fill: "none",
|
|
13442
|
+
...props,
|
|
13443
|
+
width: size,
|
|
13444
|
+
height: size
|
|
13445
|
+
},
|
|
13446
|
+
/* @__PURE__ */ React155.createElement(
|
|
13447
|
+
"path",
|
|
13448
|
+
{
|
|
13449
|
+
d: "M12.75 2.25C12.947 2.05301 13.1808 1.89676 13.4382 1.79015C13.6956 1.68355 13.9714 1.62868 14.25 1.62868C14.5286 1.62868 14.8044 1.68355 15.0618 1.79015C15.3192 1.89676 15.553 2.05301 15.75 2.25C15.947 2.44698 16.1032 2.68083 16.2098 2.9382C16.3165 3.19557 16.3713 3.47142 16.3713 3.75C16.3713 4.02857 16.3165 4.30442 16.2098 4.56179C16.1032 4.81916 15.947 5.05302 15.75 5.25L5.625 15.375L1.5 16.5L2.625 12.375L12.75 2.25Z",
|
|
13450
|
+
stroke: "currentColor",
|
|
13451
|
+
strokeLinecap: "round",
|
|
13452
|
+
strokeLinejoin: "round"
|
|
13453
|
+
}
|
|
13454
|
+
)
|
|
13455
|
+
);
|
|
13456
|
+
var Edit2_default = Edit2;
|
|
13457
|
+
|
|
13458
|
+
// src/components/ChartOfAccountsTable/ChartOfAccountsTable.tsx
|
|
13664
13459
|
var ChartOfAccountsTable = ({
|
|
13460
|
+
view,
|
|
13461
|
+
stringOverrides,
|
|
13462
|
+
data,
|
|
13463
|
+
error,
|
|
13464
|
+
expandAll,
|
|
13465
|
+
cumulativeIndex,
|
|
13466
|
+
accountsLength
|
|
13467
|
+
}) => /* @__PURE__ */ import_react151.default.createElement(TableProvider, null, /* @__PURE__ */ import_react151.default.createElement(
|
|
13468
|
+
ChartOfAccountsTableContent,
|
|
13469
|
+
{
|
|
13470
|
+
view,
|
|
13471
|
+
data,
|
|
13472
|
+
stringOverrides,
|
|
13473
|
+
error,
|
|
13474
|
+
expandAll,
|
|
13475
|
+
cumulativeIndex,
|
|
13476
|
+
accountsLength
|
|
13477
|
+
}
|
|
13478
|
+
));
|
|
13479
|
+
var ChartOfAccountsTableContent = ({
|
|
13480
|
+
view,
|
|
13481
|
+
stringOverrides,
|
|
13482
|
+
data,
|
|
13483
|
+
error,
|
|
13484
|
+
expandAll,
|
|
13485
|
+
cumulativeIndex,
|
|
13486
|
+
accountsLength
|
|
13487
|
+
}) => {
|
|
13488
|
+
const { setAccountId } = (0, import_react151.useContext)(LedgerAccountsContext);
|
|
13489
|
+
const { editAccount } = (0, import_react151.useContext)(ChartOfAccountsContext);
|
|
13490
|
+
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
13491
|
+
const [accountsRowKeys, setAccountsRowKeys] = (0, import_react151.useState)([]);
|
|
13492
|
+
(0, import_react151.useEffect)(() => {
|
|
13493
|
+
if (expandAll === "expanded") {
|
|
13494
|
+
setIsOpen(accountsRowKeys);
|
|
13495
|
+
} else if (expandAll === "collapsed") {
|
|
13496
|
+
setIsOpen([]);
|
|
13497
|
+
}
|
|
13498
|
+
}, [expandAll]);
|
|
13499
|
+
(0, import_react151.useEffect)(() => {
|
|
13500
|
+
const defaultExpanded = data.accounts.map(
|
|
13501
|
+
(account) => "coa-row-" + account.id
|
|
13502
|
+
);
|
|
13503
|
+
setIsOpen(defaultExpanded);
|
|
13504
|
+
const searchRowsToExpand = (accounts, rowKey) => {
|
|
13505
|
+
accounts.map((account) => {
|
|
13506
|
+
if (account.sub_accounts.length > 0) {
|
|
13507
|
+
setAccountsRowKeys((prev) => [...prev, `${rowKey}-${account.id}`]);
|
|
13508
|
+
searchRowsToExpand(account.sub_accounts, `${rowKey}-${account.id}`);
|
|
13509
|
+
}
|
|
13510
|
+
});
|
|
13511
|
+
};
|
|
13512
|
+
searchRowsToExpand(data.accounts, "coa-row");
|
|
13513
|
+
}, []);
|
|
13514
|
+
const renderChartOfAccountsDesktopRow = (account, index, rowKey, depth) => {
|
|
13515
|
+
const expandable = !!account.sub_accounts && account.sub_accounts.length > 0;
|
|
13516
|
+
const expanded = expandable ? isOpen(rowKey) : true;
|
|
13517
|
+
return /* @__PURE__ */ import_react151.default.createElement(import_react151.default.Fragment, { key: rowKey + "-" + index }, /* @__PURE__ */ import_react151.default.createElement(
|
|
13518
|
+
TableRow,
|
|
13519
|
+
{
|
|
13520
|
+
rowKey: rowKey + "-" + index,
|
|
13521
|
+
expandable,
|
|
13522
|
+
isExpanded: expanded,
|
|
13523
|
+
onClick: (e) => {
|
|
13524
|
+
e.stopPropagation();
|
|
13525
|
+
setAccountId(account.id);
|
|
13526
|
+
},
|
|
13527
|
+
depth
|
|
13528
|
+
},
|
|
13529
|
+
/* @__PURE__ */ import_react151.default.createElement(
|
|
13530
|
+
TableCell,
|
|
13531
|
+
{
|
|
13532
|
+
withExpandIcon: expandable,
|
|
13533
|
+
onClick: (e) => {
|
|
13534
|
+
e.stopPropagation();
|
|
13535
|
+
expandable && setIsOpen(rowKey);
|
|
13536
|
+
}
|
|
13537
|
+
},
|
|
13538
|
+
account.name
|
|
13539
|
+
),
|
|
13540
|
+
/* @__PURE__ */ import_react151.default.createElement(TableCell, null, account.account_type?.display_name),
|
|
13541
|
+
/* @__PURE__ */ import_react151.default.createElement(TableCell, null, account.account_subtype?.display_name),
|
|
13542
|
+
/* @__PURE__ */ import_react151.default.createElement(TableCell, { isCurrency: true }, account.balance),
|
|
13543
|
+
/* @__PURE__ */ import_react151.default.createElement(TableCell, null, /* @__PURE__ */ import_react151.default.createElement("span", { className: "Layer__coa__actions" }, /* @__PURE__ */ import_react151.default.createElement(
|
|
13544
|
+
Button,
|
|
13545
|
+
{
|
|
13546
|
+
variant: "secondary" /* secondary */,
|
|
13547
|
+
rightIcon: /* @__PURE__ */ import_react151.default.createElement(Edit2_default, { size: 12 }),
|
|
13548
|
+
iconOnly: true,
|
|
13549
|
+
onClick: (e) => {
|
|
13550
|
+
e.preventDefault();
|
|
13551
|
+
e.stopPropagation();
|
|
13552
|
+
editAccount(account.id);
|
|
13553
|
+
}
|
|
13554
|
+
},
|
|
13555
|
+
"Edit"
|
|
13556
|
+
)))
|
|
13557
|
+
), expandable && expanded && account.sub_accounts.map((subItem, subIdx) => {
|
|
13558
|
+
const subRowKey = `${rowKey}-${subItem.id}`;
|
|
13559
|
+
return renderChartOfAccountsDesktopRow(
|
|
13560
|
+
subItem,
|
|
13561
|
+
subIdx,
|
|
13562
|
+
subRowKey,
|
|
13563
|
+
depth + 1
|
|
13564
|
+
);
|
|
13565
|
+
}));
|
|
13566
|
+
};
|
|
13567
|
+
return /* @__PURE__ */ import_react151.default.createElement(Table, null, /* @__PURE__ */ import_react151.default.createElement(TableHead, null, /* @__PURE__ */ import_react151.default.createElement(TableRow, { isHeadRow: true, rowKey: "charts-of-accounts-head-row" }, /* @__PURE__ */ import_react151.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.nameColumnHeader || "Name"), /* @__PURE__ */ import_react151.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.typeColumnHeader || "Type"), /* @__PURE__ */ import_react151.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.subtypeColumnHeader || "Sub-Type"), /* @__PURE__ */ import_react151.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.balanceColumnHeader || "Balance"), /* @__PURE__ */ import_react151.default.createElement(TableCell, { isHeaderCell: true }))), /* @__PURE__ */ import_react151.default.createElement(TableBody, null, !error && data.accounts.map(
|
|
13568
|
+
(account, idx) => renderChartOfAccountsDesktopRow(
|
|
13569
|
+
account,
|
|
13570
|
+
idx,
|
|
13571
|
+
`coa-row-${account.id}`,
|
|
13572
|
+
0
|
|
13573
|
+
)
|
|
13574
|
+
)));
|
|
13575
|
+
};
|
|
13576
|
+
|
|
13577
|
+
// src/components/ChartOfAccountsTable/ChartOfAccountsTableWithPanel.tsx
|
|
13578
|
+
var COMPONENT_NAME5 = "chart-of-accounts";
|
|
13579
|
+
var ChartOfAccountsTableWithPanel = ({
|
|
13665
13580
|
view,
|
|
13666
13581
|
containerRef,
|
|
13667
13582
|
asWidget = false,
|
|
@@ -13718,25 +13633,18 @@ var ChartOfAccountsTable = ({
|
|
|
13718
13633
|
/* @__PURE__ */ import_react152.default.createElement("div", { className: "Layer__header__actions-col" }, /* @__PURE__ */ import_react152.default.createElement(Button, { onClick: () => addAccount(), disabled: isLoading }, stringOverrides?.addAccountButtonText || "Add Account"))
|
|
13719
13634
|
)
|
|
13720
13635
|
),
|
|
13721
|
-
|
|
13722
|
-
|
|
13723
|
-
|
|
13724
|
-
|
|
13725
|
-
|
|
13726
|
-
|
|
13727
|
-
|
|
13728
|
-
|
|
13729
|
-
|
|
13730
|
-
|
|
13731
|
-
|
|
13732
|
-
|
|
13733
|
-
defaultOpen: true,
|
|
13734
|
-
acountsLength: accountsLength,
|
|
13735
|
-
view,
|
|
13736
|
-
expandAll
|
|
13737
|
-
}
|
|
13738
|
-
);
|
|
13739
|
-
}))),
|
|
13636
|
+
data && /* @__PURE__ */ import_react152.default.createElement(
|
|
13637
|
+
ChartOfAccountsTable,
|
|
13638
|
+
{
|
|
13639
|
+
view,
|
|
13640
|
+
data,
|
|
13641
|
+
error,
|
|
13642
|
+
stringOverrides,
|
|
13643
|
+
expandAll,
|
|
13644
|
+
accountsLength,
|
|
13645
|
+
cumulativeIndex
|
|
13646
|
+
}
|
|
13647
|
+
),
|
|
13740
13648
|
error ? /* @__PURE__ */ import_react152.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react152.default.createElement(
|
|
13741
13649
|
DataState,
|
|
13742
13650
|
{
|
|
@@ -13769,9 +13677,9 @@ var import_react157 = __toESM(require("react"));
|
|
|
13769
13677
|
|
|
13770
13678
|
// src/components/Card/Card.tsx
|
|
13771
13679
|
var import_react153 = __toESM(require("react"));
|
|
13772
|
-
var
|
|
13680
|
+
var import_classnames55 = __toESM(require("classnames"));
|
|
13773
13681
|
var Card = ({ children, className }) => {
|
|
13774
|
-
return /* @__PURE__ */ import_react153.default.createElement("div", { className: (0,
|
|
13682
|
+
return /* @__PURE__ */ import_react153.default.createElement("div", { className: (0, import_classnames55.default)("Layer__card", className) }, children);
|
|
13775
13683
|
};
|
|
13776
13684
|
|
|
13777
13685
|
// src/components/DateTime/DateTime.tsx
|
|
@@ -13813,14 +13721,14 @@ var DateTime = ({
|
|
|
13813
13721
|
|
|
13814
13722
|
// src/components/DetailsList/DetailsList.tsx
|
|
13815
13723
|
var import_react155 = __toESM(require("react"));
|
|
13816
|
-
var
|
|
13724
|
+
var import_classnames56 = __toESM(require("classnames"));
|
|
13817
13725
|
var DetailsList = ({
|
|
13818
13726
|
title,
|
|
13819
13727
|
children,
|
|
13820
13728
|
className,
|
|
13821
13729
|
actions
|
|
13822
13730
|
}) => {
|
|
13823
|
-
return /* @__PURE__ */ import_react155.default.createElement("div", { className: (0,
|
|
13731
|
+
return /* @__PURE__ */ import_react155.default.createElement("div", { className: (0, import_classnames56.default)("Layer__details-list", className) }, title && /* @__PURE__ */ import_react155.default.createElement(Header, null, /* @__PURE__ */ import_react155.default.createElement(Heading, { size: "secondary" /* secondary */ }, title), actions && /* @__PURE__ */ import_react155.default.createElement("div", { className: "Layer__details-list__actions" }, actions)), /* @__PURE__ */ import_react155.default.createElement("ul", { className: "Layer__details-list__list" }, children));
|
|
13824
13732
|
};
|
|
13825
13733
|
|
|
13826
13734
|
// src/components/DetailsList/DetailsListItem.tsx
|
|
@@ -14048,7 +13956,7 @@ var LedgerAccountEntryDetails = ({
|
|
|
14048
13956
|
|
|
14049
13957
|
// src/components/LedgerAccount/LedgerAccountRow.tsx
|
|
14050
13958
|
var import_react158 = __toESM(require("react"));
|
|
14051
|
-
var
|
|
13959
|
+
var import_classnames57 = __toESM(require("classnames"));
|
|
14052
13960
|
var import_date_fns32 = require("date-fns");
|
|
14053
13961
|
var LedgerAccountRow = ({
|
|
14054
13962
|
row,
|
|
@@ -14072,7 +13980,7 @@ var LedgerAccountRow = ({
|
|
|
14072
13980
|
return /* @__PURE__ */ import_react158.default.createElement(
|
|
14073
13981
|
"tr",
|
|
14074
13982
|
{
|
|
14075
|
-
className: (0,
|
|
13983
|
+
className: (0, import_classnames57.default)(
|
|
14076
13984
|
"Layer__table-row",
|
|
14077
13985
|
row.entry_id === selectedEntryId && "Layer__table-row--active",
|
|
14078
13986
|
initialLoad && "initial-load",
|
|
@@ -14105,7 +14013,7 @@ var LedgerAccountRow = ({
|
|
|
14105
14013
|
return /* @__PURE__ */ import_react158.default.createElement(
|
|
14106
14014
|
"tr",
|
|
14107
14015
|
{
|
|
14108
|
-
className: (0,
|
|
14016
|
+
className: (0, import_classnames57.default)(
|
|
14109
14017
|
"Layer__table-row",
|
|
14110
14018
|
row.entry_id === selectedEntryId && "Layer__table-row--active",
|
|
14111
14019
|
initialLoad && "initial-load",
|
|
@@ -14134,7 +14042,7 @@ var LedgerAccountRow = ({
|
|
|
14134
14042
|
return /* @__PURE__ */ import_react158.default.createElement(
|
|
14135
14043
|
"tr",
|
|
14136
14044
|
{
|
|
14137
|
-
className: (0,
|
|
14045
|
+
className: (0, import_classnames57.default)(
|
|
14138
14046
|
"Layer__table-row",
|
|
14139
14047
|
row.entry_id === selectedEntryId && "Layer__table-row--active",
|
|
14140
14048
|
initialLoad && "initial-load",
|
|
@@ -14160,7 +14068,7 @@ var LedgerAccountRow = ({
|
|
|
14160
14068
|
};
|
|
14161
14069
|
|
|
14162
14070
|
// src/components/LedgerAccount/LedgerAccountIndex.tsx
|
|
14163
|
-
var
|
|
14071
|
+
var import_classnames58 = __toESM(require("classnames"));
|
|
14164
14072
|
var LedgerAccount = ({
|
|
14165
14073
|
containerRef,
|
|
14166
14074
|
pageSize = 15,
|
|
@@ -14189,7 +14097,7 @@ var LedgerAccount = ({
|
|
|
14189
14097
|
return () => clearTimeout(timeoutLoad);
|
|
14190
14098
|
}
|
|
14191
14099
|
}, [isLoading]);
|
|
14192
|
-
const baseClassName = (0,
|
|
14100
|
+
const baseClassName = (0, import_classnames58.default)(
|
|
14193
14101
|
"Layer__ledger-account__index",
|
|
14194
14102
|
accountId && "open"
|
|
14195
14103
|
);
|
|
@@ -14307,8 +14215,15 @@ var ChartOfAccountsContent = ({
|
|
|
14307
14215
|
}
|
|
14308
14216
|
}
|
|
14309
14217
|
});
|
|
14310
|
-
return /* @__PURE__ */ import_react160.default.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ import_react160.default.createElement(
|
|
14311
|
-
|
|
14218
|
+
return /* @__PURE__ */ import_react160.default.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ import_react160.default.createElement(
|
|
14219
|
+
LedgerAccount,
|
|
14220
|
+
{
|
|
14221
|
+
view,
|
|
14222
|
+
containerRef,
|
|
14223
|
+
stringOverrides: stringOverrides?.ledgerAccount
|
|
14224
|
+
}
|
|
14225
|
+
) : /* @__PURE__ */ import_react160.default.createElement(
|
|
14226
|
+
ChartOfAccountsTableWithPanel,
|
|
14312
14227
|
{
|
|
14313
14228
|
asWidget,
|
|
14314
14229
|
withDateControl,
|
|
@@ -14654,190 +14569,14 @@ var useJournal = () => {
|
|
|
14654
14569
|
};
|
|
14655
14570
|
};
|
|
14656
14571
|
|
|
14657
|
-
// src/components/JournalTable/
|
|
14572
|
+
// src/components/JournalTable/JournalTableWithPanel.tsx
|
|
14658
14573
|
var import_react168 = __toESM(require("react"));
|
|
14659
14574
|
|
|
14660
|
-
// src/components/JournalRow/JournalRow.tsx
|
|
14661
|
-
var import_react163 = __toESM(require("react"));
|
|
14662
|
-
var import_classnames60 = __toESM(require("classnames"));
|
|
14663
|
-
var import_date_fns33 = require("date-fns");
|
|
14664
|
-
var INDENTATION2 = 24;
|
|
14665
|
-
var EXPANDED_STYLE3 = {
|
|
14666
|
-
height: "100%",
|
|
14667
|
-
opacity: 1
|
|
14668
|
-
};
|
|
14669
|
-
var COLLAPSED_STYLE3 = {
|
|
14670
|
-
height: 0,
|
|
14671
|
-
opacity: 0.5,
|
|
14672
|
-
paddingTop: 0,
|
|
14673
|
-
paddingBottom: 0
|
|
14674
|
-
};
|
|
14675
|
-
var rowId = (row) => {
|
|
14676
|
-
if ("id" in row) {
|
|
14677
|
-
return row.id;
|
|
14678
|
-
}
|
|
14679
|
-
return `${row.account_identifier.id}-${Math.random()}`;
|
|
14680
|
-
};
|
|
14681
|
-
var accountName = (row) => {
|
|
14682
|
-
if ("account" in row) {
|
|
14683
|
-
return row.account.name;
|
|
14684
|
-
}
|
|
14685
|
-
return row.account_identifier.name;
|
|
14686
|
-
};
|
|
14687
|
-
var JournalRow = ({
|
|
14688
|
-
row,
|
|
14689
|
-
index,
|
|
14690
|
-
initialLoad,
|
|
14691
|
-
view,
|
|
14692
|
-
lineItemsLength = 8,
|
|
14693
|
-
defaultOpen = false,
|
|
14694
|
-
expanded = false,
|
|
14695
|
-
depth = 0,
|
|
14696
|
-
cumulativeIndex = 0,
|
|
14697
|
-
selectedEntries = false
|
|
14698
|
-
}) => {
|
|
14699
|
-
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0, import_react163.useContext)(JournalContext);
|
|
14700
|
-
const [isOpen, setIsOpen] = (0, import_react163.useState)(index === 0 ? true : defaultOpen);
|
|
14701
|
-
const style = expanded ? {
|
|
14702
|
-
...EXPANDED_STYLE3,
|
|
14703
|
-
transitionDelay: `${15 * index}ms`
|
|
14704
|
-
} : {
|
|
14705
|
-
...COLLAPSED_STYLE3,
|
|
14706
|
-
transitionDelay: `${lineItemsLength - 15 * index}ms`
|
|
14707
|
-
};
|
|
14708
|
-
const [showComponent, setShowComponent] = (0, import_react163.useState)(false);
|
|
14709
|
-
const baseClass = (0, import_classnames60.default)(
|
|
14710
|
-
"Layer__journal-table-row",
|
|
14711
|
-
rowId(row) === selectedEntryId && "Layer__table-row--active",
|
|
14712
|
-
initialLoad && "initial-load",
|
|
14713
|
-
"Layer__table-row--with-show",
|
|
14714
|
-
showComponent ? "show" : "Layer__table-row--anim-starting-state",
|
|
14715
|
-
isOpen && "Layer__journal__table-row--expanded"
|
|
14716
|
-
);
|
|
14717
|
-
const journalEntryLineClass = (0, import_classnames60.default)(
|
|
14718
|
-
"Layer__journal-entry-table-row",
|
|
14719
|
-
selectedEntries && "Layer__table-row--active",
|
|
14720
|
-
initialLoad && "initial-load",
|
|
14721
|
-
"Layer__table-row--with-show",
|
|
14722
|
-
showComponent ? "show" : "Layer__table-row--anim-starting-state",
|
|
14723
|
-
"Layer__journal-line__table-row",
|
|
14724
|
-
!expanded && "Layer__table-row--hidden"
|
|
14725
|
-
);
|
|
14726
|
-
(0, import_react163.useEffect)(() => {
|
|
14727
|
-
if (initialLoad) {
|
|
14728
|
-
const timeoutId = setTimeout(() => {
|
|
14729
|
-
setShowComponent(true);
|
|
14730
|
-
}, index * 10);
|
|
14731
|
-
return () => clearTimeout(timeoutId);
|
|
14732
|
-
} else {
|
|
14733
|
-
setShowComponent(true);
|
|
14734
|
-
}
|
|
14735
|
-
}, []);
|
|
14736
|
-
if ("line_items" in row) {
|
|
14737
|
-
return /* @__PURE__ */ import_react163.default.createElement(import_react163.default.Fragment, null, /* @__PURE__ */ import_react163.default.createElement(
|
|
14738
|
-
"tr",
|
|
14739
|
-
{
|
|
14740
|
-
className: baseClass,
|
|
14741
|
-
style: { transitionDelay: `${15 * index}ms` },
|
|
14742
|
-
onClick: (e) => {
|
|
14743
|
-
e.stopPropagation();
|
|
14744
|
-
if (selectedEntryId === row.id) {
|
|
14745
|
-
closeSelectedEntry();
|
|
14746
|
-
} else {
|
|
14747
|
-
setSelectedEntryId(row.id);
|
|
14748
|
-
}
|
|
14749
|
-
}
|
|
14750
|
-
},
|
|
14751
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell Layer__journal__arrow" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content" }, /* @__PURE__ */ import_react163.default.createElement(
|
|
14752
|
-
"span",
|
|
14753
|
-
{
|
|
14754
|
-
className: "Layer__table-cell-content-indentation",
|
|
14755
|
-
style: {
|
|
14756
|
-
paddingLeft: INDENTATION2 * depth + 16
|
|
14757
|
-
},
|
|
14758
|
-
onClick: (e) => {
|
|
14759
|
-
e.stopPropagation();
|
|
14760
|
-
e.preventDefault();
|
|
14761
|
-
setIsOpen(!isOpen);
|
|
14762
|
-
}
|
|
14763
|
-
},
|
|
14764
|
-
row.line_items && row.line_items.length > 0 && /* @__PURE__ */ import_react163.default.createElement(
|
|
14765
|
-
ChevronDownFill_default,
|
|
14766
|
-
{
|
|
14767
|
-
size: 16,
|
|
14768
|
-
className: "Layer__table__expand-icon",
|
|
14769
|
-
style: {
|
|
14770
|
-
transform: isOpen ? "rotate(0deg)" : "rotate(-90deg)"
|
|
14771
|
-
}
|
|
14772
|
-
}
|
|
14773
|
-
)
|
|
14774
|
-
))),
|
|
14775
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content" }, row.id.substring(0, 5))),
|
|
14776
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content" }, row.date && (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(row.date), DATE_FORMAT))),
|
|
14777
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content" }, humanizeEnum(row.entry_type))),
|
|
14778
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content" }, `(${row.line_items.length})`)),
|
|
14779
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, "$", centsToDollars(
|
|
14780
|
-
Math.abs(
|
|
14781
|
-
row.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
14782
|
-
)
|
|
14783
|
-
))),
|
|
14784
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, "$", centsToDollars(
|
|
14785
|
-
Math.abs(
|
|
14786
|
-
row.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
14787
|
-
)
|
|
14788
|
-
)))
|
|
14789
|
-
), (row.line_items || []).map((lineItem, idx) => /* @__PURE__ */ import_react163.default.createElement(
|
|
14790
|
-
JournalRow,
|
|
14791
|
-
{
|
|
14792
|
-
key: `${row.id}-${idx}`,
|
|
14793
|
-
row: lineItem,
|
|
14794
|
-
depth: depth + 1,
|
|
14795
|
-
index: idx,
|
|
14796
|
-
expanded: isOpen,
|
|
14797
|
-
cumulativeIndex: cumulativeIndex + idx + 1,
|
|
14798
|
-
lineItemsLength: (row.line_items ?? []).length,
|
|
14799
|
-
view,
|
|
14800
|
-
selectedEntries: row.id === selectedEntryId
|
|
14801
|
-
}
|
|
14802
|
-
)));
|
|
14803
|
-
}
|
|
14804
|
-
return /* @__PURE__ */ import_react163.default.createElement(
|
|
14805
|
-
"tr",
|
|
14806
|
-
{
|
|
14807
|
-
className: journalEntryLineClass,
|
|
14808
|
-
style: { transitionDelay: `${15 * index}ms` }
|
|
14809
|
-
},
|
|
14810
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content", style })),
|
|
14811
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content", style }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-hidden" }, rowId(row).substring(0, 5)))),
|
|
14812
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }),
|
|
14813
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }),
|
|
14814
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react163.default.createElement("span", { className: "Layer__table-cell-content", style }, accountName(row))),
|
|
14815
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, row.direction === "DEBIT" && /* @__PURE__ */ import_react163.default.createElement(
|
|
14816
|
-
"span",
|
|
14817
|
-
{
|
|
14818
|
-
className: "Layer__table-cell-content Layer__table-cell--amount",
|
|
14819
|
-
style
|
|
14820
|
-
},
|
|
14821
|
-
"$",
|
|
14822
|
-
centsToDollars(Math.abs(row.amount))
|
|
14823
|
-
)),
|
|
14824
|
-
/* @__PURE__ */ import_react163.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, row.direction === "CREDIT" && /* @__PURE__ */ import_react163.default.createElement(
|
|
14825
|
-
"span",
|
|
14826
|
-
{
|
|
14827
|
-
className: "Layer__table-cell-content Layer__table-cell--amount",
|
|
14828
|
-
style
|
|
14829
|
-
},
|
|
14830
|
-
"$",
|
|
14831
|
-
centsToDollars(Math.abs(row.amount))
|
|
14832
|
-
))
|
|
14833
|
-
);
|
|
14834
|
-
};
|
|
14835
|
-
|
|
14836
14575
|
// src/components/JournalSidebar/JournalSidebar.tsx
|
|
14837
|
-
var
|
|
14576
|
+
var import_react166 = __toESM(require("react"));
|
|
14838
14577
|
|
|
14839
14578
|
// src/components/JournalEntryDetails/JournalEntryDetails.tsx
|
|
14840
|
-
var
|
|
14579
|
+
var import_react163 = __toESM(require("react"));
|
|
14841
14580
|
var JournalEntryDetails = () => {
|
|
14842
14581
|
const {
|
|
14843
14582
|
data,
|
|
@@ -14845,21 +14584,21 @@ var JournalEntryDetails = () => {
|
|
|
14845
14584
|
errorEntry,
|
|
14846
14585
|
closeSelectedEntry,
|
|
14847
14586
|
selectedEntryId
|
|
14848
|
-
} = (0,
|
|
14849
|
-
const entry = (0,
|
|
14587
|
+
} = (0, import_react163.useContext)(JournalContext);
|
|
14588
|
+
const entry = (0, import_react163.useMemo)(() => {
|
|
14850
14589
|
if (selectedEntryId && data) {
|
|
14851
14590
|
return data.find((x) => x.id === selectedEntryId);
|
|
14852
14591
|
}
|
|
14853
14592
|
return;
|
|
14854
14593
|
}, [data, selectedEntryId]);
|
|
14855
|
-
return /* @__PURE__ */
|
|
14594
|
+
return /* @__PURE__ */ import_react163.default.createElement("div", { className: "Layer__journal__entry-details" }, /* @__PURE__ */ import_react163.default.createElement(
|
|
14856
14595
|
DetailsList,
|
|
14857
14596
|
{
|
|
14858
14597
|
title: "Transaction source",
|
|
14859
|
-
actions: /* @__PURE__ */
|
|
14598
|
+
actions: /* @__PURE__ */ import_react163.default.createElement(
|
|
14860
14599
|
Button,
|
|
14861
14600
|
{
|
|
14862
|
-
rightIcon: /* @__PURE__ */
|
|
14601
|
+
rightIcon: /* @__PURE__ */ import_react163.default.createElement(X_default, null),
|
|
14863
14602
|
iconOnly: true,
|
|
14864
14603
|
onClick: closeSelectedEntry,
|
|
14865
14604
|
className: "Layer__details-list__close-btn",
|
|
@@ -14867,54 +14606,54 @@ var JournalEntryDetails = () => {
|
|
|
14867
14606
|
}
|
|
14868
14607
|
)
|
|
14869
14608
|
},
|
|
14870
|
-
/* @__PURE__ */
|
|
14871
|
-
entry?.source?.display_description && /* @__PURE__ */
|
|
14872
|
-
), /* @__PURE__ */
|
|
14609
|
+
/* @__PURE__ */ import_react163.default.createElement(DetailsListItem, { label: "Source", isLoading: isLoadingEntry }, /* @__PURE__ */ import_react163.default.createElement(Badge, null, entry?.source?.entity_name)),
|
|
14610
|
+
entry?.source?.display_description && /* @__PURE__ */ import_react163.default.createElement(SourceDetailView, { source: entry?.source })
|
|
14611
|
+
), /* @__PURE__ */ import_react163.default.createElement(
|
|
14873
14612
|
DetailsList,
|
|
14874
14613
|
{
|
|
14875
14614
|
title: `Journal Entry ${entry?.id.substring(0, 5)}`,
|
|
14876
14615
|
className: "Layer__border-top"
|
|
14877
14616
|
},
|
|
14878
|
-
/* @__PURE__ */
|
|
14879
|
-
/* @__PURE__ */
|
|
14880
|
-
/* @__PURE__ */
|
|
14881
|
-
entry?.reversal_id && /* @__PURE__ */
|
|
14882
|
-
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */
|
|
14617
|
+
/* @__PURE__ */ import_react163.default.createElement(DetailsListItem, { label: "Entry type", isLoading: isLoadingEntry }, humanizeEnum(entry?.entry_type ?? "")),
|
|
14618
|
+
/* @__PURE__ */ import_react163.default.createElement(DetailsListItem, { label: "Date", isLoading: isLoadingEntry }, entry?.entry_at && /* @__PURE__ */ import_react163.default.createElement(DateTime, { value: entry?.entry_at })),
|
|
14619
|
+
/* @__PURE__ */ import_react163.default.createElement(DetailsListItem, { label: "Creation date", isLoading: isLoadingEntry }, entry?.date && /* @__PURE__ */ import_react163.default.createElement(DateTime, { value: entry?.date })),
|
|
14620
|
+
entry?.reversal_id && /* @__PURE__ */ import_react163.default.createElement(DetailsListItem, { label: "Reversal", isLoading: isLoadingEntry }, "Journal Entry #", entry?.reversal_id)
|
|
14621
|
+
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ import_react163.default.createElement("div", { className: "Layer__ledger-account__entry-details__line-items" }, /* @__PURE__ */ import_react163.default.createElement(Card, null, /* @__PURE__ */ import_react163.default.createElement(
|
|
14883
14622
|
Table,
|
|
14884
14623
|
{
|
|
14885
14624
|
componentName: "ledger-account__entry-details",
|
|
14886
14625
|
borderCollapse: "collapse"
|
|
14887
14626
|
},
|
|
14888
|
-
/* @__PURE__ */
|
|
14889
|
-
/* @__PURE__ */
|
|
14627
|
+
/* @__PURE__ */ import_react163.default.createElement(TableHead, null, /* @__PURE__ */ import_react163.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react163.default.createElement(TableCell, null, "Line items"), [...Array(3)].map((_, index) => /* @__PURE__ */ import_react163.default.createElement(TableCell, { key: `ledger-empty-cell-${index}` })), /* @__PURE__ */ import_react163.default.createElement(TableCell, null, "Debit"), /* @__PURE__ */ import_react163.default.createElement(TableCell, null, "Credit"))),
|
|
14628
|
+
/* @__PURE__ */ import_react163.default.createElement(TableBody, null, entry?.line_items?.map((item, index) => /* @__PURE__ */ import_react163.default.createElement(
|
|
14890
14629
|
TableRow,
|
|
14891
14630
|
{
|
|
14892
14631
|
key: `ledger-line-item-${index}`,
|
|
14893
14632
|
rowKey: `ledger-line-item-${index}`
|
|
14894
14633
|
},
|
|
14895
|
-
/* @__PURE__ */
|
|
14896
|
-
[...Array(3)].map((_, index2) => /* @__PURE__ */
|
|
14897
|
-
/* @__PURE__ */
|
|
14898
|
-
/* @__PURE__ */
|
|
14899
|
-
)), /* @__PURE__ */
|
|
14634
|
+
/* @__PURE__ */ import_react163.default.createElement(TableCell, null, item.account_identifier?.name || ""),
|
|
14635
|
+
[...Array(3)].map((_, index2) => /* @__PURE__ */ import_react163.default.createElement(TableCell, { key: `ledger-empty-cell-${index2}` })),
|
|
14636
|
+
/* @__PURE__ */ import_react163.default.createElement(TableCell, null, item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */ import_react163.default.createElement(Badge, { variant: "warning" /* WARNING */ }, "$", centsToDollars(item.amount || 0))),
|
|
14637
|
+
/* @__PURE__ */ import_react163.default.createElement(TableCell, null, item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */ import_react163.default.createElement(Badge, { variant: "success" /* SUCCESS */ }, "$", centsToDollars(item.amount || 0)))
|
|
14638
|
+
)), /* @__PURE__ */ import_react163.default.createElement(
|
|
14900
14639
|
TableRow,
|
|
14901
14640
|
{
|
|
14902
14641
|
rowKey: "ledger-line-item-summation",
|
|
14903
14642
|
variant: "summation"
|
|
14904
14643
|
},
|
|
14905
|
-
/* @__PURE__ */
|
|
14906
|
-
[...Array(3)].map((_, index) => /* @__PURE__ */
|
|
14907
|
-
/* @__PURE__ */
|
|
14908
|
-
/* @__PURE__ */
|
|
14644
|
+
/* @__PURE__ */ import_react163.default.createElement(TableCell, { primary: true }, "Total"),
|
|
14645
|
+
[...Array(3)].map((_, index) => /* @__PURE__ */ import_react163.default.createElement(TableCell, { key: `ledger-empty-cell-${index}` })),
|
|
14646
|
+
/* @__PURE__ */ import_react163.default.createElement(TableCell, { isCurrency: true, primary: true }, entry?.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0) || 0),
|
|
14647
|
+
/* @__PURE__ */ import_react163.default.createElement(TableCell, { isCurrency: true, primary: true }, entry?.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0) || 0)
|
|
14909
14648
|
))
|
|
14910
14649
|
))) : null);
|
|
14911
14650
|
};
|
|
14912
14651
|
|
|
14913
14652
|
// src/components/JournalForm/JournalForm.tsx
|
|
14914
|
-
var
|
|
14653
|
+
var import_react165 = __toESM(require("react"));
|
|
14915
14654
|
|
|
14916
14655
|
// src/components/JournalForm/JournalFormEntryLines.tsx
|
|
14917
|
-
var
|
|
14656
|
+
var import_react164 = __toESM(require("react"));
|
|
14918
14657
|
var JournalFormEntryLines = ({
|
|
14919
14658
|
entrylineItems,
|
|
14920
14659
|
addEntryLine,
|
|
@@ -14923,17 +14662,17 @@ var JournalFormEntryLines = ({
|
|
|
14923
14662
|
sendingForm,
|
|
14924
14663
|
config
|
|
14925
14664
|
}) => {
|
|
14926
|
-
const { data: accountsData } = (0,
|
|
14927
|
-
const { form } = (0,
|
|
14665
|
+
const { data: accountsData } = (0, import_react164.useContext)(ChartOfAccountsContext);
|
|
14666
|
+
const { form } = (0, import_react164.useContext)(JournalContext);
|
|
14928
14667
|
const parentOptions = useParentOptions(accountsData);
|
|
14929
|
-
return /* @__PURE__ */
|
|
14930
|
-
return /* @__PURE__ */
|
|
14668
|
+
return /* @__PURE__ */ import_react164.default.createElement(import_react164.default.Fragment, null, Object.keys(Direction).map((direction, idx) => {
|
|
14669
|
+
return /* @__PURE__ */ import_react164.default.createElement(
|
|
14931
14670
|
"div",
|
|
14932
14671
|
{
|
|
14933
14672
|
key: "Layer__journal__form__input-group-" + idx,
|
|
14934
14673
|
className: "Layer__journal__form__input-group Layer__journal__form__input-group__border"
|
|
14935
14674
|
},
|
|
14936
|
-
/* @__PURE__ */
|
|
14675
|
+
/* @__PURE__ */ import_react164.default.createElement(
|
|
14937
14676
|
Text,
|
|
14938
14677
|
{
|
|
14939
14678
|
className: "Layer__journal__form__input-group__title",
|
|
@@ -14947,13 +14686,13 @@ var JournalFormEntryLines = ({
|
|
|
14947
14686
|
if (item.direction !== direction) {
|
|
14948
14687
|
return null;
|
|
14949
14688
|
}
|
|
14950
|
-
return /* @__PURE__ */
|
|
14689
|
+
return /* @__PURE__ */ import_react164.default.createElement(
|
|
14951
14690
|
"div",
|
|
14952
14691
|
{
|
|
14953
14692
|
className: "Layer__journal__form__input-group__line-item",
|
|
14954
14693
|
key: direction + "-" + idx2
|
|
14955
14694
|
},
|
|
14956
|
-
/* @__PURE__ */
|
|
14695
|
+
/* @__PURE__ */ import_react164.default.createElement(InputGroup, { name: direction, label: "Amount", inline: true }, /* @__PURE__ */ import_react164.default.createElement(
|
|
14957
14696
|
InputWithBadge,
|
|
14958
14697
|
{
|
|
14959
14698
|
name: direction,
|
|
@@ -14979,14 +14718,14 @@ var JournalFormEntryLines = ({
|
|
|
14979
14718
|
)?.message
|
|
14980
14719
|
}
|
|
14981
14720
|
)),
|
|
14982
|
-
/* @__PURE__ */
|
|
14721
|
+
/* @__PURE__ */ import_react164.default.createElement(
|
|
14983
14722
|
InputGroup,
|
|
14984
14723
|
{
|
|
14985
14724
|
name: "account-name",
|
|
14986
14725
|
label: "Account name",
|
|
14987
14726
|
inline: true
|
|
14988
14727
|
},
|
|
14989
|
-
/* @__PURE__ */
|
|
14728
|
+
/* @__PURE__ */ import_react164.default.createElement(
|
|
14990
14729
|
Select2,
|
|
14991
14730
|
{
|
|
14992
14731
|
options: parentOptions,
|
|
@@ -15010,18 +14749,18 @@ var JournalFormEntryLines = ({
|
|
|
15010
14749
|
)?.message
|
|
15011
14750
|
}
|
|
15012
14751
|
),
|
|
15013
|
-
idx2 >= 2 && /* @__PURE__ */
|
|
14752
|
+
idx2 >= 2 && /* @__PURE__ */ import_react164.default.createElement(
|
|
15014
14753
|
IconButton,
|
|
15015
14754
|
{
|
|
15016
14755
|
className: "Layer__remove__button",
|
|
15017
14756
|
onClick: () => removeEntryLine(idx2),
|
|
15018
|
-
icon: /* @__PURE__ */
|
|
14757
|
+
icon: /* @__PURE__ */ import_react164.default.createElement(Trash_default, null)
|
|
15019
14758
|
}
|
|
15020
14759
|
)
|
|
15021
14760
|
)
|
|
15022
14761
|
);
|
|
15023
14762
|
}),
|
|
15024
|
-
(config.form.addEntryLinesLimit === void 0 || config.form.addEntryLinesLimit > entrylineItems?.length) && /* @__PURE__ */
|
|
14763
|
+
(config.form.addEntryLinesLimit === void 0 || config.form.addEntryLinesLimit > entrylineItems?.length) && /* @__PURE__ */ import_react164.default.createElement(
|
|
15025
14764
|
TextButton,
|
|
15026
14765
|
{
|
|
15027
14766
|
className: "Layer__journal__add-entry-line",
|
|
@@ -15044,8 +14783,8 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15044
14783
|
changeFormData,
|
|
15045
14784
|
addEntryLine,
|
|
15046
14785
|
removeEntryLine
|
|
15047
|
-
} = (0,
|
|
15048
|
-
return /* @__PURE__ */
|
|
14786
|
+
} = (0, import_react165.useContext)(JournalContext);
|
|
14787
|
+
return /* @__PURE__ */ import_react165.default.createElement(
|
|
15049
14788
|
"form",
|
|
15050
14789
|
{
|
|
15051
14790
|
className: "Layer__form",
|
|
@@ -15054,7 +14793,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15054
14793
|
submitForm();
|
|
15055
14794
|
}
|
|
15056
14795
|
},
|
|
15057
|
-
/* @__PURE__ */
|
|
14796
|
+
/* @__PURE__ */ import_react165.default.createElement("div", { className: "Layer__journal__sidebar__header" }, /* @__PURE__ */ import_react165.default.createElement(Text, { size: "lg" /* lg */, weight: "bold" /* bold */, className: "title" }, stringOverrides?.header && "Add New Entry"), /* @__PURE__ */ import_react165.default.createElement("div", { className: "actions" }, /* @__PURE__ */ import_react165.default.createElement(
|
|
15058
14797
|
Button,
|
|
15059
14798
|
{
|
|
15060
14799
|
type: "button",
|
|
@@ -15063,7 +14802,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15063
14802
|
disabled: sendingForm
|
|
15064
14803
|
},
|
|
15065
14804
|
stringOverrides?.cancelButton || "Cancel"
|
|
15066
|
-
), apiError && /* @__PURE__ */
|
|
14805
|
+
), apiError && /* @__PURE__ */ import_react165.default.createElement(
|
|
15067
14806
|
RetryButton,
|
|
15068
14807
|
{
|
|
15069
14808
|
type: "submit",
|
|
@@ -15072,7 +14811,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15072
14811
|
disabled: sendingForm
|
|
15073
14812
|
},
|
|
15074
14813
|
stringOverrides?.retryButton || "Retry"
|
|
15075
|
-
), !apiError && /* @__PURE__ */
|
|
14814
|
+
), !apiError && /* @__PURE__ */ import_react165.default.createElement(
|
|
15076
14815
|
SubmitButton,
|
|
15077
14816
|
{
|
|
15078
14817
|
type: "submit",
|
|
@@ -15082,7 +14821,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15082
14821
|
},
|
|
15083
14822
|
stringOverrides?.saveButton || "Save"
|
|
15084
14823
|
))),
|
|
15085
|
-
apiError && /* @__PURE__ */
|
|
14824
|
+
apiError && /* @__PURE__ */ import_react165.default.createElement(
|
|
15086
14825
|
Text,
|
|
15087
14826
|
{
|
|
15088
14827
|
size: "sm" /* sm */,
|
|
@@ -15090,7 +14829,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15090
14829
|
},
|
|
15091
14830
|
apiError
|
|
15092
14831
|
),
|
|
15093
|
-
/* @__PURE__ */
|
|
14832
|
+
/* @__PURE__ */ import_react165.default.createElement("div", { className: "Layer__journal__form__input-group" }, /* @__PURE__ */ import_react165.default.createElement(InputGroup, { name: "date", label: "Date", inline: true }, /* @__PURE__ */ import_react165.default.createElement("div", { className: "Layer__journal__datepicker__wrapper" }, /* @__PURE__ */ import_react165.default.createElement(
|
|
15094
14833
|
DatePicker,
|
|
15095
14834
|
{
|
|
15096
14835
|
selected: form?.data.entry_at ? new Date(form?.data.entry_at) : /* @__PURE__ */ new Date(),
|
|
@@ -15103,7 +14842,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15103
14842
|
placeholderText: "Select date",
|
|
15104
14843
|
currentDateOption: false
|
|
15105
14844
|
}
|
|
15106
|
-
), /* @__PURE__ */
|
|
14845
|
+
), /* @__PURE__ */ import_react165.default.createElement(
|
|
15107
14846
|
DatePicker,
|
|
15108
14847
|
{
|
|
15109
14848
|
selected: form?.data.entry_at ? new Date(form?.data.entry_at) : /* @__PURE__ */ new Date(),
|
|
@@ -15117,7 +14856,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15117
14856
|
currentDateOption: false
|
|
15118
14857
|
}
|
|
15119
14858
|
)))),
|
|
15120
|
-
/* @__PURE__ */
|
|
14859
|
+
/* @__PURE__ */ import_react165.default.createElement(
|
|
15121
14860
|
JournalFormEntryLines,
|
|
15122
14861
|
{
|
|
15123
14862
|
entrylineItems: form?.data.line_items || [],
|
|
@@ -15128,7 +14867,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15128
14867
|
config
|
|
15129
14868
|
}
|
|
15130
14869
|
),
|
|
15131
|
-
/* @__PURE__ */
|
|
14870
|
+
/* @__PURE__ */ import_react165.default.createElement("div", { className: "Layer__journal__form__input-group Layer__journal__form__input-group__textarea" }, /* @__PURE__ */ import_react165.default.createElement(InputGroup, { name: "memo", label: "Notes" }, /* @__PURE__ */ import_react165.default.createElement(
|
|
15132
14871
|
Textarea,
|
|
15133
14872
|
{
|
|
15134
14873
|
name: "memo",
|
|
@@ -15138,7 +14877,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15138
14877
|
disabled: sendingForm
|
|
15139
14878
|
}
|
|
15140
14879
|
))),
|
|
15141
|
-
/* @__PURE__ */
|
|
14880
|
+
/* @__PURE__ */ import_react165.default.createElement("div", { className: "Layer__journal__bottom-actions" }, /* @__PURE__ */ import_react165.default.createElement(
|
|
15142
14881
|
Button,
|
|
15143
14882
|
{
|
|
15144
14883
|
type: "button",
|
|
@@ -15147,7 +14886,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15147
14886
|
disabled: sendingForm
|
|
15148
14887
|
},
|
|
15149
14888
|
stringOverrides?.cancelButton || "Cancel"
|
|
15150
|
-
), apiError && /* @__PURE__ */
|
|
14889
|
+
), apiError && /* @__PURE__ */ import_react165.default.createElement(
|
|
15151
14890
|
RetryButton,
|
|
15152
14891
|
{
|
|
15153
14892
|
type: "submit",
|
|
@@ -15156,7 +14895,7 @@ var JournalForm = ({ config, stringOverrides }) => {
|
|
|
15156
14895
|
disabled: sendingForm
|
|
15157
14896
|
},
|
|
15158
14897
|
stringOverrides?.retryButton || "Retry"
|
|
15159
|
-
), !apiError && /* @__PURE__ */
|
|
14898
|
+
), !apiError && /* @__PURE__ */ import_react165.default.createElement(
|
|
15160
14899
|
SubmitButton,
|
|
15161
14900
|
{
|
|
15162
14901
|
type: "submit",
|
|
@@ -15175,17 +14914,121 @@ var JournalSidebar = ({
|
|
|
15175
14914
|
config,
|
|
15176
14915
|
stringOverrides
|
|
15177
14916
|
}) => {
|
|
15178
|
-
const { selectedEntryId } = (0,
|
|
14917
|
+
const { selectedEntryId } = (0, import_react166.useContext)(JournalContext);
|
|
15179
14918
|
if (selectedEntryId !== "new") {
|
|
15180
|
-
return /* @__PURE__ */
|
|
14919
|
+
return /* @__PURE__ */ import_react166.default.createElement(JournalEntryDetails, null);
|
|
15181
14920
|
}
|
|
15182
|
-
return /* @__PURE__ */
|
|
14921
|
+
return /* @__PURE__ */ import_react166.default.createElement(JournalForm, { config, stringOverrides });
|
|
15183
14922
|
};
|
|
15184
14923
|
|
|
15185
14924
|
// src/components/JournalTable/JournalTable.tsx
|
|
15186
|
-
var
|
|
14925
|
+
var import_react167 = __toESM(require("react"));
|
|
14926
|
+
var import_date_fns33 = require("date-fns");
|
|
14927
|
+
var rowId = (row) => {
|
|
14928
|
+
if ("id" in row) {
|
|
14929
|
+
return row.id;
|
|
14930
|
+
}
|
|
14931
|
+
if ("account_identifier" in row) {
|
|
14932
|
+
return `${row.account_identifier.id}-${Math.random()}`;
|
|
14933
|
+
}
|
|
14934
|
+
return `${Math.random()}`;
|
|
14935
|
+
};
|
|
14936
|
+
var accountName = (row) => {
|
|
14937
|
+
if ("account" in row) {
|
|
14938
|
+
return row.account.name;
|
|
14939
|
+
}
|
|
14940
|
+
if ("account_identifier" in row) {
|
|
14941
|
+
return row.account_identifier.name;
|
|
14942
|
+
}
|
|
14943
|
+
return "";
|
|
14944
|
+
};
|
|
15187
14945
|
var JournalTable = ({
|
|
15188
14946
|
view,
|
|
14947
|
+
data,
|
|
14948
|
+
stringOverrides
|
|
14949
|
+
}) => /* @__PURE__ */ import_react167.default.createElement(TableProvider, null, /* @__PURE__ */ import_react167.default.createElement(
|
|
14950
|
+
JournalTableContent,
|
|
14951
|
+
{
|
|
14952
|
+
view,
|
|
14953
|
+
data,
|
|
14954
|
+
stringOverrides
|
|
14955
|
+
}
|
|
14956
|
+
));
|
|
14957
|
+
var JournalTableContent = ({
|
|
14958
|
+
view,
|
|
14959
|
+
data,
|
|
14960
|
+
stringOverrides
|
|
14961
|
+
}) => {
|
|
14962
|
+
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0, import_react167.useContext)(JournalContext);
|
|
14963
|
+
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
14964
|
+
(0, import_react167.useEffect)(() => {
|
|
14965
|
+
setIsOpen([`journal-row- + ${data[0].id}`]);
|
|
14966
|
+
}, []);
|
|
14967
|
+
const renderJournalRow = (row, index, rowKey, depth) => {
|
|
14968
|
+
const expandable = !!row.line_items && row.line_items.length > 0;
|
|
14969
|
+
const expanded = expandable ? isOpen(rowKey) : true;
|
|
14970
|
+
return /* @__PURE__ */ import_react167.default.createElement(import_react167.default.Fragment, { key: rowKey + "-" + index }, /* @__PURE__ */ import_react167.default.createElement(
|
|
14971
|
+
TableRow,
|
|
14972
|
+
{
|
|
14973
|
+
rowKey: rowKey + "-" + index,
|
|
14974
|
+
expandable,
|
|
14975
|
+
isExpanded: expanded,
|
|
14976
|
+
handleExpand: () => setIsOpen(rowKey),
|
|
14977
|
+
selected: selectedEntryId === row.id,
|
|
14978
|
+
onClick: (e) => {
|
|
14979
|
+
e.stopPropagation();
|
|
14980
|
+
if (selectedEntryId === row.id) {
|
|
14981
|
+
closeSelectedEntry();
|
|
14982
|
+
} else {
|
|
14983
|
+
setSelectedEntryId(row.id);
|
|
14984
|
+
}
|
|
14985
|
+
},
|
|
14986
|
+
depth
|
|
14987
|
+
},
|
|
14988
|
+
/* @__PURE__ */ import_react167.default.createElement(
|
|
14989
|
+
TableCell,
|
|
14990
|
+
{
|
|
14991
|
+
withExpandIcon: expandable,
|
|
14992
|
+
onClick: (e) => {
|
|
14993
|
+
e.stopPropagation();
|
|
14994
|
+
expandable && setIsOpen(rowKey);
|
|
14995
|
+
}
|
|
14996
|
+
},
|
|
14997
|
+
rowId(row).substring(0, 5)
|
|
14998
|
+
),
|
|
14999
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, null, row.date && (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(row.date), DATE_FORMAT)),
|
|
15000
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, null, humanizeEnum(row.entry_type)),
|
|
15001
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, null, "(", row.line_items.length, ")"),
|
|
15002
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, { isCurrency: true, primary: true }, "line_items" in row && Math.abs(
|
|
15003
|
+
row.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
15004
|
+
)),
|
|
15005
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, { isCurrency: true, primary: true }, "line_items" in row && Math.abs(
|
|
15006
|
+
row.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
15007
|
+
))
|
|
15008
|
+
), expandable && expanded && row.line_items.map((subItem, subIdx) => /* @__PURE__ */ import_react167.default.createElement(
|
|
15009
|
+
TableRow,
|
|
15010
|
+
{
|
|
15011
|
+
key: rowKey + "-" + index + "-" + subIdx,
|
|
15012
|
+
rowKey: rowKey + "-" + index + "-" + subIdx,
|
|
15013
|
+
depth: depth + 1,
|
|
15014
|
+
selected: selectedEntryId === row.id
|
|
15015
|
+
},
|
|
15016
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, null),
|
|
15017
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, null),
|
|
15018
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, null),
|
|
15019
|
+
/* @__PURE__ */ import_react167.default.createElement(TableCell, null, accountName(subItem)),
|
|
15020
|
+
subItem.direction === "DEBIT" && subItem.amount > 0 ? /* @__PURE__ */ import_react167.default.createElement(TableCell, { isCurrency: true, primary: true }, subItem.amount) : /* @__PURE__ */ import_react167.default.createElement(TableCell, null),
|
|
15021
|
+
subItem.direction === "CREDIT" && subItem.amount > 0 ? /* @__PURE__ */ import_react167.default.createElement(TableCell, { isCurrency: true, primary: true }, subItem.amount) : /* @__PURE__ */ import_react167.default.createElement(TableCell, null)
|
|
15022
|
+
)));
|
|
15023
|
+
};
|
|
15024
|
+
return /* @__PURE__ */ import_react167.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react167.default.createElement(TableHead, null, /* @__PURE__ */ import_react167.default.createElement(TableRow, { isHeadRow: true, rowKey: "journal-head-row" }, /* @__PURE__ */ import_react167.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.idColumnHeader || "Id"), /* @__PURE__ */ import_react167.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.dateColumnHeader || "Date"), /* @__PURE__ */ import_react167.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.transactionColumnHeader || "Transaction"), /* @__PURE__ */ import_react167.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.accountColumnHeader || "Account"), /* @__PURE__ */ import_react167.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.debitColumnHeader || "Debit"), /* @__PURE__ */ import_react167.default.createElement(TableCell, { isHeaderCell: true }, stringOverrides?.creditColumnHeader || "Credit"))), /* @__PURE__ */ import_react167.default.createElement(TableBody, null, data.map(
|
|
15025
|
+
(entry, idx) => renderJournalRow(entry, idx, `journal-row-${entry.id}`, 0)
|
|
15026
|
+
)));
|
|
15027
|
+
};
|
|
15028
|
+
|
|
15029
|
+
// src/components/JournalTable/JournalTableWithPanel.tsx
|
|
15030
|
+
var COMPONENT_NAME6 = "journal";
|
|
15031
|
+
var JournalTableWithPanel = ({
|
|
15189
15032
|
containerRef,
|
|
15190
15033
|
pageSize = 15,
|
|
15191
15034
|
config,
|
|
@@ -15209,22 +15052,19 @@ var JournalTable = ({
|
|
|
15209
15052
|
return /* @__PURE__ */ import_react168.default.createElement(
|
|
15210
15053
|
Panel,
|
|
15211
15054
|
{
|
|
15212
|
-
sidebar: /* @__PURE__ */ import_react168.default.createElement(
|
|
15055
|
+
sidebar: /* @__PURE__ */ import_react168.default.createElement(
|
|
15056
|
+
JournalSidebar,
|
|
15057
|
+
{
|
|
15058
|
+
parentRef: containerRef,
|
|
15059
|
+
config,
|
|
15060
|
+
stringOverrides: stringOverrides?.journalForm
|
|
15061
|
+
}
|
|
15062
|
+
),
|
|
15213
15063
|
sidebarIsOpen: Boolean(selectedEntryId),
|
|
15214
15064
|
parentRef: containerRef
|
|
15215
15065
|
},
|
|
15216
15066
|
/* @__PURE__ */ import_react168.default.createElement(Header, { className: `Layer__${COMPONENT_NAME6}__header` }, /* @__PURE__ */ import_react168.default.createElement(Heading, { className: `Layer__${COMPONENT_NAME6}__title` }, stringOverrides?.componentTitle || "Journal"), /* @__PURE__ */ import_react168.default.createElement("div", { className: `Layer__${COMPONENT_NAME6}__actions` }, /* @__PURE__ */ import_react168.default.createElement(Button, { onClick: () => addEntry(), disabled: isLoading }, stringOverrides?.addEntryButton || "Add Entry"))),
|
|
15217
|
-
|
|
15218
|
-
return /* @__PURE__ */ import_react168.default.createElement(
|
|
15219
|
-
JournalRow,
|
|
15220
|
-
{
|
|
15221
|
-
key: "journal-row-" + idx + entry.id,
|
|
15222
|
-
index: idx,
|
|
15223
|
-
view,
|
|
15224
|
-
row: entry
|
|
15225
|
-
}
|
|
15226
|
-
);
|
|
15227
|
-
}))),
|
|
15067
|
+
data && /* @__PURE__ */ import_react168.default.createElement(JournalTable, { view: "desktop", data }),
|
|
15228
15068
|
data && /* @__PURE__ */ import_react168.default.createElement("div", { className: "Layer__journal__pagination" }, /* @__PURE__ */ import_react168.default.createElement(
|
|
15229
15069
|
Pagination,
|
|
15230
15070
|
{
|
|
@@ -15257,7 +15097,7 @@ var JOURNAL_CONFIG = {
|
|
|
15257
15097
|
var Journal = (props) => {
|
|
15258
15098
|
const JournalContextData = useJournal();
|
|
15259
15099
|
const AccountsContextData = useChartOfAccounts();
|
|
15260
|
-
return /* @__PURE__ */ import_react169.default.createElement(ChartOfAccountsContext.Provider, { value: AccountsContextData }, /* @__PURE__ */ import_react169.default.createElement(JournalContext.Provider, { value: JournalContextData }, /* @__PURE__ */ import_react169.default.createElement(
|
|
15100
|
+
return /* @__PURE__ */ import_react169.default.createElement(ChartOfAccountsContext.Provider, { value: AccountsContextData }, /* @__PURE__ */ import_react169.default.createElement(JournalContext.Provider, { value: JournalContextData }, /* @__PURE__ */ import_react169.default.createElement(JournalContent, { ...props })));
|
|
15261
15101
|
};
|
|
15262
15102
|
var JournalContent = ({
|
|
15263
15103
|
asWidget,
|
|
@@ -15277,7 +15117,7 @@ var JournalContent = ({
|
|
|
15277
15117
|
}
|
|
15278
15118
|
});
|
|
15279
15119
|
return /* @__PURE__ */ import_react169.default.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ import_react169.default.createElement(
|
|
15280
|
-
|
|
15120
|
+
JournalTableWithPanel,
|
|
15281
15121
|
{
|
|
15282
15122
|
view,
|
|
15283
15123
|
containerRef,
|
|
@@ -15552,7 +15392,7 @@ var SmileIcon_default = SmileIcon;
|
|
|
15552
15392
|
|
|
15553
15393
|
// src/components/TasksListItem/TasksListItem.tsx
|
|
15554
15394
|
var import_react173 = __toESM(require("react"));
|
|
15555
|
-
var
|
|
15395
|
+
var import_classnames59 = __toESM(require("classnames"));
|
|
15556
15396
|
var TasksListItem = ({
|
|
15557
15397
|
task,
|
|
15558
15398
|
goToNextPageIfAllComplete,
|
|
@@ -15561,16 +15401,16 @@ var TasksListItem = ({
|
|
|
15561
15401
|
const [isOpen, setIsOpen] = (0, import_react173.useState)(defaultOpen);
|
|
15562
15402
|
const [userResponse, setUserResponse] = (0, import_react173.useState)(task.user_response || "");
|
|
15563
15403
|
const { submitResponseToTask: submitResponseToTask2 } = (0, import_react173.useContext)(TasksContext);
|
|
15564
|
-
const taskBodyClassName = (0,
|
|
15404
|
+
const taskBodyClassName = (0, import_classnames59.default)(
|
|
15565
15405
|
"Layer__tasks-list-item__body",
|
|
15566
15406
|
isOpen && "Layer__tasks-list-item__body--expanded",
|
|
15567
15407
|
isComplete(task.status) && "Layer__tasks-list-item--completed"
|
|
15568
15408
|
);
|
|
15569
|
-
const taskHeadClassName = (0,
|
|
15409
|
+
const taskHeadClassName = (0, import_classnames59.default)(
|
|
15570
15410
|
"Layer__tasks-list-item__head-info",
|
|
15571
15411
|
isComplete(task.status) ? "Layer__tasks-list-item--completed" : "Layer__tasks-list-item--pending"
|
|
15572
15412
|
);
|
|
15573
|
-
const taskItemClassName = (0,
|
|
15413
|
+
const taskItemClassName = (0, import_classnames59.default)(
|
|
15574
15414
|
"Layer__tasks-list-item",
|
|
15575
15415
|
isOpen && "Layer__tasks-list-item__expanded"
|
|
15576
15416
|
);
|
|
@@ -15669,7 +15509,7 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
15669
15509
|
|
|
15670
15510
|
// src/components/TasksPending/TasksPending.tsx
|
|
15671
15511
|
var import_react175 = __toESM(require("react"));
|
|
15672
|
-
var
|
|
15512
|
+
var import_classnames60 = __toESM(require("classnames"));
|
|
15673
15513
|
var import_date_fns34 = require("date-fns");
|
|
15674
15514
|
var import_recharts4 = require("recharts");
|
|
15675
15515
|
var TasksPending = () => {
|
|
@@ -15685,7 +15525,7 @@ var TasksPending = () => {
|
|
|
15685
15525
|
value: data?.filter((task) => !isComplete(task.status)).length
|
|
15686
15526
|
}
|
|
15687
15527
|
];
|
|
15688
|
-
const taskStatusClassName = (0,
|
|
15528
|
+
const taskStatusClassName = (0, import_classnames60.default)(
|
|
15689
15529
|
completedTasks && completedTasks > 0 ? "Layer__tasks-pending-bar__status--done" : "Layer__tasks-pending-bar__status--pending"
|
|
15690
15530
|
);
|
|
15691
15531
|
return /* @__PURE__ */ import_react175.default.createElement("div", { className: "Layer__tasks-pending" }, /* @__PURE__ */ import_react175.default.createElement(Text, { size: "lg" /* lg */ }, (0, import_date_fns34.format)(Date.now(), "MMMM")), /* @__PURE__ */ import_react175.default.createElement("div", { className: "Layer__tasks-pending-bar" }, /* @__PURE__ */ import_react175.default.createElement(Text, { size: "sm" /* sm */ }, /* @__PURE__ */ import_react175.default.createElement("span", { className: taskStatusClassName }, completedTasks), "/", data?.length, " done"), /* @__PURE__ */ import_react175.default.createElement(import_recharts4.PieChart, { width: 24, height: 24, className: "mini-chart" }, /* @__PURE__ */ import_react175.default.createElement(
|
|
@@ -15719,7 +15559,7 @@ var TasksPending = () => {
|
|
|
15719
15559
|
};
|
|
15720
15560
|
|
|
15721
15561
|
// src/components/Tasks/Tasks.tsx
|
|
15722
|
-
var
|
|
15562
|
+
var import_classnames61 = __toESM(require("classnames"));
|
|
15723
15563
|
var UseTasksContext = (0, import_react176.createContext)({
|
|
15724
15564
|
data: void 0,
|
|
15725
15565
|
isLoading: void 0,
|
|
@@ -15791,7 +15631,7 @@ var TasksComponent = ({
|
|
|
15791
15631
|
), /* @__PURE__ */ import_react176.default.createElement(
|
|
15792
15632
|
"div",
|
|
15793
15633
|
{
|
|
15794
|
-
className: (0,
|
|
15634
|
+
className: (0, import_classnames61.default)(
|
|
15795
15635
|
"Layer__tasks__content",
|
|
15796
15636
|
!open && "Layer__tasks__content--collapsed"
|
|
15797
15637
|
)
|
|
@@ -15885,7 +15725,7 @@ var BookkeepingUpsellBar = ({
|
|
|
15885
15725
|
|
|
15886
15726
|
// src/views/BookkeepingOverview/BookkeepingOverview.tsx
|
|
15887
15727
|
var import_react178 = __toESM(require("react"));
|
|
15888
|
-
var
|
|
15728
|
+
var import_classnames62 = __toESM(require("classnames"));
|
|
15889
15729
|
var BookkeepingOverview = ({
|
|
15890
15730
|
title,
|
|
15891
15731
|
// deprecated
|
|
@@ -15951,7 +15791,7 @@ var BookkeepingOverview = ({
|
|
|
15951
15791
|
), /* @__PURE__ */ import_react178.default.createElement(
|
|
15952
15792
|
Container,
|
|
15953
15793
|
{
|
|
15954
|
-
name: (0,
|
|
15794
|
+
name: (0, import_classnames62.default)(
|
|
15955
15795
|
"bookkeeping-overview-profit-and-loss-chart",
|
|
15956
15796
|
pnlToggle !== "revenue" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
15957
15797
|
)
|
|
@@ -15967,7 +15807,7 @@ var BookkeepingOverview = ({
|
|
|
15967
15807
|
), /* @__PURE__ */ import_react178.default.createElement(
|
|
15968
15808
|
Container,
|
|
15969
15809
|
{
|
|
15970
|
-
name: (0,
|
|
15810
|
+
name: (0, import_classnames62.default)(
|
|
15971
15811
|
"bookkeeping-overview-profit-and-loss-chart",
|
|
15972
15812
|
pnlToggle !== "expenses" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
15973
15813
|
)
|
|
@@ -15998,13 +15838,13 @@ var BadgeLoader = ({ children }) => {
|
|
|
15998
15838
|
|
|
15999
15839
|
// src/components/NotificationCard/NotificationCard.tsx
|
|
16000
15840
|
var import_react180 = __toESM(require("react"));
|
|
16001
|
-
var
|
|
15841
|
+
var import_classnames63 = __toESM(require("classnames"));
|
|
16002
15842
|
var NotificationCard = ({
|
|
16003
15843
|
onClick,
|
|
16004
15844
|
children,
|
|
16005
15845
|
className
|
|
16006
15846
|
}) => {
|
|
16007
|
-
return /* @__PURE__ */ import_react180.default.createElement("div", { className: (0,
|
|
15847
|
+
return /* @__PURE__ */ import_react180.default.createElement("div", { className: (0, import_classnames63.default)("Layer__notification-card", className) }, /* @__PURE__ */ import_react180.default.createElement("div", { className: "Layer__notification-card__main" }, children), /* @__PURE__ */ import_react180.default.createElement(
|
|
16008
15848
|
IconButton,
|
|
16009
15849
|
{
|
|
16010
15850
|
icon: /* @__PURE__ */ import_react180.default.createElement(ChevronRight_default, null),
|
|
@@ -16083,7 +15923,7 @@ var TransactionToReviewCard = ({
|
|
|
16083
15923
|
};
|
|
16084
15924
|
|
|
16085
15925
|
// src/views/AccountingOverview/AccountingOverview.tsx
|
|
16086
|
-
var
|
|
15926
|
+
var import_classnames64 = __toESM(require("classnames"));
|
|
16087
15927
|
var AccountingOverview = ({
|
|
16088
15928
|
title = "Accounting overview",
|
|
16089
15929
|
enableOnboarding = false,
|
|
@@ -16143,7 +15983,7 @@ var AccountingOverview = ({
|
|
|
16143
15983
|
), /* @__PURE__ */ import_react182.default.createElement(
|
|
16144
15984
|
Container,
|
|
16145
15985
|
{
|
|
16146
|
-
name: (0,
|
|
15986
|
+
name: (0, import_classnames64.default)(
|
|
16147
15987
|
"accounting-overview-profit-and-loss-chart",
|
|
16148
15988
|
pnlToggle !== "revenue" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
16149
15989
|
)
|
|
@@ -16160,7 +16000,7 @@ var AccountingOverview = ({
|
|
|
16160
16000
|
), /* @__PURE__ */ import_react182.default.createElement(
|
|
16161
16001
|
Container,
|
|
16162
16002
|
{
|
|
16163
|
-
name: (0,
|
|
16003
|
+
name: (0, import_classnames64.default)(
|
|
16164
16004
|
"accounting-overview-profit-and-loss-chart",
|
|
16165
16005
|
pnlToggle !== "expenses" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
16166
16006
|
)
|