@layerfi/components 0.1.75 → 0.1.76
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/README.md +5 -17
- package/dist/esm/index.js +806 -684
- package/dist/esm/index.js.map +4 -4
- package/dist/index.d.ts +155 -57
- package/dist/index.js +938 -816
- package/dist/index.js.map +4 -4
- package/dist/styles/index.css +126 -175
- package/dist/styles/index.css.map +3 -3
- package/package.json +1 -1
- package/.idea/codeStyles/Project.xml +0 -61
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/layer-react.iml +0 -9
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
package/dist/index.js
CHANGED
|
@@ -1219,7 +1219,6 @@ var useLinkedAccounts = () => {
|
|
|
1219
1219
|
} = useLayerContext();
|
|
1220
1220
|
const [linkToken, setLinkToken] = (0, import_react10.useState)(null);
|
|
1221
1221
|
const [loadingStatus, setLoadingStatus] = (0, import_react10.useState)("initial");
|
|
1222
|
-
const USE_PLAID_SANDBOX = usePlaidSandbox != null ? usePlaidSandbox : true;
|
|
1223
1222
|
const [linkMode, setLinkMode] = (0, import_react10.useState)("add");
|
|
1224
1223
|
const queryKey = businessId && (auth == null ? void 0 : auth.access_token) && `linked-accounts-${businessId}`;
|
|
1225
1224
|
const {
|
|
@@ -1288,7 +1287,7 @@ var useLinkedAccounts = () => {
|
|
|
1288
1287
|
}
|
|
1289
1288
|
}),
|
|
1290
1289
|
onExit: () => setLinkMode("add"),
|
|
1291
|
-
env:
|
|
1290
|
+
env: usePlaidSandbox ? "sandbox" : void 0
|
|
1292
1291
|
});
|
|
1293
1292
|
(0, import_react10.useEffect)(() => {
|
|
1294
1293
|
if (plaidLinkReady) {
|
|
@@ -1939,7 +1938,12 @@ var BusinessProvider = ({
|
|
|
1939
1938
|
};
|
|
1940
1939
|
errorHandler.setOnError(onError);
|
|
1941
1940
|
const colors = buildColorsPalette(theme);
|
|
1942
|
-
const {
|
|
1941
|
+
const {
|
|
1942
|
+
url,
|
|
1943
|
+
scope,
|
|
1944
|
+
apiUrl,
|
|
1945
|
+
usePlaidSandbox: defaultUsePlaidSandbox
|
|
1946
|
+
} = LayerEnvironment[environment];
|
|
1943
1947
|
const [state, dispatch] = (0, import_react13.useReducer)(reducer, {
|
|
1944
1948
|
auth: {
|
|
1945
1949
|
access_token: "",
|
|
@@ -1953,7 +1957,7 @@ var BusinessProvider = ({
|
|
|
1953
1957
|
apiUrl,
|
|
1954
1958
|
theme,
|
|
1955
1959
|
colors,
|
|
1956
|
-
usePlaidSandbox,
|
|
1960
|
+
usePlaidSandbox: usePlaidSandbox != null ? usePlaidSandbox : defaultUsePlaidSandbox,
|
|
1957
1961
|
onboardingStep: void 0,
|
|
1958
1962
|
environment,
|
|
1959
1963
|
toasts: [],
|
|
@@ -2157,22 +2161,26 @@ var LayerEnvironment = {
|
|
|
2157
2161
|
production: {
|
|
2158
2162
|
url: "https://auth.layerfi.com/oauth2/token",
|
|
2159
2163
|
scope: "https://api.layerfi.com/production",
|
|
2160
|
-
apiUrl: "https://api.layerfi.com"
|
|
2164
|
+
apiUrl: "https://api.layerfi.com",
|
|
2165
|
+
usePlaidSandbox: false
|
|
2161
2166
|
},
|
|
2162
2167
|
sandbox: {
|
|
2163
2168
|
url: "https://auth.layerfi.com/oauth2/token",
|
|
2164
2169
|
scope: "https://sandbox.layerfi.com/sandbox",
|
|
2165
|
-
apiUrl: "https://sandbox.layerfi.com"
|
|
2170
|
+
apiUrl: "https://sandbox.layerfi.com",
|
|
2171
|
+
usePlaidSandbox: true
|
|
2166
2172
|
},
|
|
2167
2173
|
staging: {
|
|
2168
2174
|
url: "https://auth.layerfi.com/oauth2/token",
|
|
2169
2175
|
scope: "https://sandbox.layerfi.com/sandbox",
|
|
2170
|
-
apiUrl: "https://staging.layerfi.com"
|
|
2176
|
+
apiUrl: "https://staging.layerfi.com",
|
|
2177
|
+
usePlaidSandbox: true
|
|
2171
2178
|
},
|
|
2172
2179
|
internalStaging: {
|
|
2173
2180
|
url: "https://auth.layerfi.com/oauth2/token",
|
|
2174
2181
|
scope: "https://sandbox.layerfi.com/sandbox",
|
|
2175
|
-
apiUrl: "https://staging.layerfi.com"
|
|
2182
|
+
apiUrl: "https://staging.layerfi.com",
|
|
2183
|
+
usePlaidSandbox: true
|
|
2176
2184
|
}
|
|
2177
2185
|
};
|
|
2178
2186
|
var LayerProvider = (props) => {
|
|
@@ -10327,7 +10335,7 @@ var Quickbooks = () => {
|
|
|
10327
10335
|
};
|
|
10328
10336
|
|
|
10329
10337
|
// src/components/ProfitAndLoss/ProfitAndLoss.tsx
|
|
10330
|
-
var
|
|
10338
|
+
var import_react152 = __toESM(require("react"));
|
|
10331
10339
|
|
|
10332
10340
|
// src/contexts/ProfitAndLossComparisonContext/ProfitAndLossComparisonContext.tsx
|
|
10333
10341
|
var import_react111 = require("react");
|
|
@@ -13004,14 +13012,103 @@ var ProfitAndLossReport = ({
|
|
|
13004
13012
|
};
|
|
13005
13013
|
|
|
13006
13014
|
// src/components/ProfitAndLossSummaries/ProfitAndLossSummaries.tsx
|
|
13007
|
-
var
|
|
13015
|
+
var import_react141 = __toESM(require("react"));
|
|
13008
13016
|
|
|
13009
|
-
// src/components/ProfitAndLossSummaries/
|
|
13017
|
+
// src/components/ProfitAndLossSummaries/internal/ProfitAndLossSummariesList.tsx
|
|
13010
13018
|
var import_react136 = __toESM(require("react"));
|
|
13019
|
+
|
|
13020
|
+
// src/utils/styleUtils/toDataProperties.ts
|
|
13021
|
+
function toDataProperties(input) {
|
|
13022
|
+
const unsafeProperties = Object.fromEntries(
|
|
13023
|
+
Object.entries(input).map(([key, value]) => {
|
|
13024
|
+
if (typeof value !== "string" && typeof value !== "number" && value !== true) {
|
|
13025
|
+
return null;
|
|
13026
|
+
}
|
|
13027
|
+
return [`data-${key}`, value];
|
|
13028
|
+
}).filter((entry) => entry !== null)
|
|
13029
|
+
);
|
|
13030
|
+
return unsafeProperties;
|
|
13031
|
+
}
|
|
13032
|
+
|
|
13033
|
+
// src/components/ProfitAndLossSummaries/internal/ProfitAndLossSummariesList.tsx
|
|
13034
|
+
var LIST_ITEM_CLASS_NAME = "Layer__ProfitAndLossSummariesListItem";
|
|
13035
|
+
function ProfitAndLossSummariesListItem({
|
|
13036
|
+
children,
|
|
13037
|
+
isActive,
|
|
13038
|
+
onClick
|
|
13039
|
+
}) {
|
|
13040
|
+
const dataProperties = (0, import_react136.useMemo)(
|
|
13041
|
+
() => toDataProperties({ active: isActive, clickable: !!onClick }),
|
|
13042
|
+
[isActive]
|
|
13043
|
+
);
|
|
13044
|
+
return /* @__PURE__ */ import_react136.default.createElement("li", __spreadProps(__spreadValues({ className: LIST_ITEM_CLASS_NAME }, dataProperties), { onClick }), children);
|
|
13045
|
+
}
|
|
13046
|
+
var LIST_CLASS_NAME = "Layer__ProfitAndLossSummariesList";
|
|
13047
|
+
function ProfitAndLossSummariesList({
|
|
13048
|
+
children,
|
|
13049
|
+
itemCount
|
|
13050
|
+
}) {
|
|
13051
|
+
const dataProperties = (0, import_react136.useMemo)(
|
|
13052
|
+
() => toDataProperties({ ["column-count"]: itemCount }),
|
|
13053
|
+
[itemCount]
|
|
13054
|
+
);
|
|
13055
|
+
return /* @__PURE__ */ import_react136.default.createElement("ul", __spreadValues({ className: LIST_CLASS_NAME }, dataProperties), children);
|
|
13056
|
+
}
|
|
13057
|
+
|
|
13058
|
+
// src/components/ProfitAndLossSummaries/internal/ProfitAndLossSummariesMiniChart.tsx
|
|
13059
|
+
var import_react137 = __toESM(require("react"));
|
|
13011
13060
|
var import_recharts3 = require("recharts");
|
|
13012
|
-
var
|
|
13061
|
+
var CHART_PLACEHOLDER = [
|
|
13062
|
+
{
|
|
13063
|
+
name: "placeholder",
|
|
13064
|
+
display_name: "placeholder",
|
|
13065
|
+
value: 1,
|
|
13066
|
+
type: "placeholder",
|
|
13067
|
+
share: 1
|
|
13068
|
+
}
|
|
13069
|
+
];
|
|
13070
|
+
function toMiniChartData({
|
|
13071
|
+
scope,
|
|
13072
|
+
data
|
|
13073
|
+
}) {
|
|
13074
|
+
if (!data) {
|
|
13075
|
+
return CHART_PLACEHOLDER;
|
|
13076
|
+
}
|
|
13077
|
+
let items = [];
|
|
13078
|
+
switch (scope) {
|
|
13079
|
+
case "revenue":
|
|
13080
|
+
items = collectRevenueItems(data);
|
|
13081
|
+
break;
|
|
13082
|
+
default:
|
|
13083
|
+
items = collectExpensesItems(data);
|
|
13084
|
+
}
|
|
13085
|
+
if (!items || items.length === 0 || !items.find((x) => Math.abs(x.value) !== 0)) {
|
|
13086
|
+
return CHART_PLACEHOLDER;
|
|
13087
|
+
}
|
|
13088
|
+
return items.slice();
|
|
13089
|
+
}
|
|
13090
|
+
function ProfitAndLossSummariesMiniChart({
|
|
13091
|
+
data,
|
|
13092
|
+
chartColorsList,
|
|
13093
|
+
variants
|
|
13094
|
+
}) {
|
|
13013
13095
|
const typeColorMapping = mapTypesToColors(data, chartColorsList);
|
|
13014
|
-
|
|
13096
|
+
let chartDimension = 52;
|
|
13097
|
+
let innerRadius = 10;
|
|
13098
|
+
let outerRadius = 16;
|
|
13099
|
+
switch (variants == null ? void 0 : variants.size) {
|
|
13100
|
+
case "sm":
|
|
13101
|
+
chartDimension = 52;
|
|
13102
|
+
innerRadius = 10;
|
|
13103
|
+
outerRadius = 16;
|
|
13104
|
+
break;
|
|
13105
|
+
case "lg":
|
|
13106
|
+
chartDimension = 64;
|
|
13107
|
+
innerRadius = 12;
|
|
13108
|
+
outerRadius = 20;
|
|
13109
|
+
break;
|
|
13110
|
+
}
|
|
13111
|
+
return /* @__PURE__ */ import_react137.default.createElement(import_recharts3.PieChart, { width: chartDimension, height: chartDimension }, /* @__PURE__ */ import_react137.default.createElement(
|
|
13015
13112
|
import_recharts3.Pie,
|
|
13016
13113
|
{
|
|
13017
13114
|
data,
|
|
@@ -13019,18 +13116,18 @@ var MiniChart = ({ data, chartColorsList }) => {
|
|
|
13019
13116
|
nameKey: "name",
|
|
13020
13117
|
cx: "50%",
|
|
13021
13118
|
cy: "50%",
|
|
13022
|
-
innerRadius
|
|
13023
|
-
outerRadius
|
|
13119
|
+
innerRadius,
|
|
13120
|
+
outerRadius,
|
|
13024
13121
|
paddingAngle: 0.4,
|
|
13025
13122
|
fill: "#8884d8",
|
|
13026
|
-
width:
|
|
13027
|
-
height:
|
|
13123
|
+
width: 36,
|
|
13124
|
+
height: 36,
|
|
13028
13125
|
animationDuration: 250,
|
|
13029
13126
|
animationEasing: "ease-in-out"
|
|
13030
13127
|
},
|
|
13031
13128
|
data.map((entry, index) => {
|
|
13032
13129
|
const colorConfig = typeColorMapping[index];
|
|
13033
|
-
return /* @__PURE__ */
|
|
13130
|
+
return /* @__PURE__ */ import_react137.default.createElement(
|
|
13034
13131
|
import_recharts3.Cell,
|
|
13035
13132
|
{
|
|
13036
13133
|
key: `cell-${index}`,
|
|
@@ -13041,136 +13138,145 @@ var MiniChart = ({ data, chartColorsList }) => {
|
|
|
13041
13138
|
);
|
|
13042
13139
|
})
|
|
13043
13140
|
));
|
|
13044
|
-
}
|
|
13141
|
+
}
|
|
13142
|
+
|
|
13143
|
+
// src/components/ProfitAndLossSummaries/internal/ProfitAndLossSummariesSummary.tsx
|
|
13144
|
+
var import_react140 = __toESM(require("react"));
|
|
13145
|
+
|
|
13146
|
+
// src/components/ProfitAndLossSummaries/internal/ProfitAndLossSummariesHeading.tsx
|
|
13147
|
+
var import_react138 = require("react");
|
|
13148
|
+
var import_react139 = __toESM(require("react"));
|
|
13149
|
+
var HEADING_CLASS_NAME = "Layer__ProfitAndLossSummariesSummaryHeading";
|
|
13150
|
+
function ProfitAndLossSummariesHeading({
|
|
13151
|
+
variants,
|
|
13152
|
+
children
|
|
13153
|
+
}) {
|
|
13154
|
+
const { size = "sm" } = variants != null ? variants : {};
|
|
13155
|
+
const labelDataProperties = (0, import_react138.useMemo)(() => toDataProperties({ size }), [size]);
|
|
13156
|
+
return /* @__PURE__ */ import_react139.default.createElement("h3", __spreadValues({ className: HEADING_CLASS_NAME }, labelDataProperties), children);
|
|
13157
|
+
}
|
|
13158
|
+
|
|
13159
|
+
// src/components/ProfitAndLossSummaries/internal/ProfitAndLossSummariesSummary.tsx
|
|
13160
|
+
var CLASS_NAME = "Layer__ProfitAndLossSummariesSummary";
|
|
13161
|
+
var CHART_AREA_CLASS_NAME = "Layer__ProfitAndLossSummariesSummaryChartArea";
|
|
13162
|
+
var AMOUNT_CLASS_NAME = "Layer__ProfitAndLossSummariesSummaryAmount";
|
|
13163
|
+
function ProfitAndLossSummariesSummary({
|
|
13164
|
+
label,
|
|
13165
|
+
amount,
|
|
13166
|
+
isLoading,
|
|
13167
|
+
slots,
|
|
13168
|
+
variants
|
|
13169
|
+
}) {
|
|
13170
|
+
const { Chart } = slots != null ? slots : {};
|
|
13171
|
+
const { size = "sm" } = variants != null ? variants : {};
|
|
13172
|
+
const dataProperties = (0, import_react140.useMemo)(() => toDataProperties({ size }), [size]);
|
|
13173
|
+
const amountDataProperties = (0, import_react140.useMemo)(
|
|
13174
|
+
() => toDataProperties({
|
|
13175
|
+
positive: amount >= 0,
|
|
13176
|
+
negative: amount < 0,
|
|
13177
|
+
size
|
|
13178
|
+
}),
|
|
13179
|
+
[amount, size]
|
|
13180
|
+
);
|
|
13181
|
+
return /* @__PURE__ */ import_react140.default.createElement("div", __spreadValues({ className: CLASS_NAME }, dataProperties), Chart && /* @__PURE__ */ import_react140.default.createElement("div", { className: CHART_AREA_CLASS_NAME }, Chart), /* @__PURE__ */ import_react140.default.createElement(ProfitAndLossSummariesHeading, { variants }, label), isLoading ? /* @__PURE__ */ import_react140.default.createElement(SkeletonLoader, null) : /* @__PURE__ */ import_react140.default.createElement("span", __spreadValues({ className: AMOUNT_CLASS_NAME }, amountDataProperties), centsToDollars(Math.abs(amount))));
|
|
13182
|
+
}
|
|
13045
13183
|
|
|
13046
13184
|
// src/components/ProfitAndLossSummaries/ProfitAndLossSummaries.tsx
|
|
13047
|
-
var
|
|
13048
|
-
var
|
|
13049
|
-
|
|
13050
|
-
name: "placeholder",
|
|
13051
|
-
display_name: "placeholder",
|
|
13052
|
-
value: 1,
|
|
13053
|
-
type: "placeholder",
|
|
13054
|
-
share: 1
|
|
13055
|
-
}
|
|
13056
|
-
];
|
|
13057
|
-
var buildMiniChartData = (scope, data) => {
|
|
13058
|
-
if (!data) {
|
|
13059
|
-
return CHART_PLACEHOLDER;
|
|
13060
|
-
}
|
|
13061
|
-
let items = [];
|
|
13062
|
-
switch (scope) {
|
|
13063
|
-
case "revenue":
|
|
13064
|
-
items = collectRevenueItems(data);
|
|
13065
|
-
break;
|
|
13066
|
-
default:
|
|
13067
|
-
items = collectExpensesItems(data);
|
|
13068
|
-
}
|
|
13069
|
-
if (!items || items.length === 0 || !items.find((x) => Math.abs(x.value) !== 0)) {
|
|
13070
|
-
return CHART_PLACEHOLDER;
|
|
13071
|
-
}
|
|
13072
|
-
return items.slice();
|
|
13073
|
-
};
|
|
13074
|
-
var ProfitAndLossSummaries = ({
|
|
13075
|
-
vertical,
|
|
13185
|
+
var SECTION_CLASS_NAME = "Layer__ProfitAndLossSummaries";
|
|
13186
|
+
var SECTION_CLASS_NAMES = `${SECTION_CLASS_NAME} Layer__component`;
|
|
13187
|
+
function Internal_ProfitAndLossSummaries({
|
|
13076
13188
|
actionable = false,
|
|
13077
13189
|
revenueLabel,
|
|
13078
13190
|
stringOverrides,
|
|
13079
|
-
chartColorsList
|
|
13080
|
-
|
|
13081
|
-
|
|
13191
|
+
chartColorsList,
|
|
13192
|
+
slots,
|
|
13193
|
+
variants
|
|
13194
|
+
}) {
|
|
13195
|
+
var _a, _b;
|
|
13082
13196
|
const {
|
|
13083
13197
|
data: storedData,
|
|
13084
13198
|
isLoading,
|
|
13085
13199
|
setSidebarScope,
|
|
13086
13200
|
sidebarScope
|
|
13087
|
-
} = (0,
|
|
13201
|
+
} = (0, import_react141.useContext)(ProfitAndLoss.Context);
|
|
13088
13202
|
const dataItem = Array.isArray(storedData) ? storedData[storedData.length - 1] : storedData;
|
|
13089
|
-
const expensesChartData = (0,
|
|
13090
|
-
|
|
13091
|
-
|
|
13092
|
-
|
|
13093
|
-
|
|
13094
|
-
|
|
13203
|
+
const { revenueChartData, expensesChartData } = (0, import_react141.useMemo)(
|
|
13204
|
+
() => ({
|
|
13205
|
+
revenueChartData: toMiniChartData({ scope: "revenue", data: dataItem }),
|
|
13206
|
+
expensesChartData: toMiniChartData({ scope: "expenses", data: dataItem })
|
|
13207
|
+
}),
|
|
13208
|
+
[dataItem]
|
|
13209
|
+
);
|
|
13095
13210
|
const data = dataItem ? dataItem : { income: { value: NaN }, net_profit: NaN };
|
|
13096
|
-
const
|
|
13097
|
-
const
|
|
13098
|
-
|
|
13099
|
-
|
|
13100
|
-
"div",
|
|
13211
|
+
const { unstable_AdditionalListItems = [] } = slots != null ? slots : {};
|
|
13212
|
+
const listItemCount = unstable_AdditionalListItems.length + 3;
|
|
13213
|
+
return /* @__PURE__ */ import_react141.default.createElement("section", { className: SECTION_CLASS_NAMES }, /* @__PURE__ */ import_react141.default.createElement(ProfitAndLossSummariesList, { itemCount: listItemCount }, /* @__PURE__ */ import_react141.default.createElement(
|
|
13214
|
+
ProfitAndLossSummariesListItem,
|
|
13101
13215
|
{
|
|
13102
|
-
|
|
13216
|
+
isActive: sidebarScope === "revenue",
|
|
13217
|
+
onClick: actionable ? () => setSidebarScope("revenue") : void 0
|
|
13103
13218
|
},
|
|
13104
|
-
/* @__PURE__ */
|
|
13105
|
-
|
|
13219
|
+
/* @__PURE__ */ import_react141.default.createElement(
|
|
13220
|
+
ProfitAndLossSummariesSummary,
|
|
13106
13221
|
{
|
|
13107
|
-
|
|
13108
|
-
|
|
13109
|
-
|
|
13110
|
-
|
|
13111
|
-
|
|
13112
|
-
|
|
13113
|
-
|
|
13114
|
-
|
|
13115
|
-
|
|
13116
|
-
|
|
13117
|
-
|
|
13118
|
-
|
|
13119
|
-
"span",
|
|
13120
|
-
{
|
|
13121
|
-
className: `Layer__profit-and-loss-summaries__amount ${incomeDirectionClass}`
|
|
13122
|
-
},
|
|
13123
|
-
centsToDollars(Math.abs((_e = (_d = data == null ? void 0 : data.income) == null ? void 0 : _d.value) != null ? _e : NaN))
|
|
13124
|
-
))
|
|
13125
|
-
),
|
|
13126
|
-
/* @__PURE__ */ import_react137.default.createElement(
|
|
13127
|
-
"div",
|
|
13128
|
-
{
|
|
13129
|
-
className: (0, import_classnames58.default)(
|
|
13130
|
-
"Layer__profit-and-loss-summaries__summary",
|
|
13131
|
-
actionable && "Layer__actionable",
|
|
13132
|
-
"Layer__profit-and-loss-summaries__summary--expenses",
|
|
13133
|
-
sidebarScope === "expenses" ? "active" : ""
|
|
13134
|
-
),
|
|
13135
|
-
onClick: () => {
|
|
13136
|
-
actionable && setSidebarScope("expenses");
|
|
13137
|
-
}
|
|
13138
|
-
},
|
|
13139
|
-
/* @__PURE__ */ import_react137.default.createElement(MiniChart, { data: expensesChartData, chartColorsList }),
|
|
13140
|
-
/* @__PURE__ */ import_react137.default.createElement("div", { className: "Layer__profit-and-loss-summaries__text" }, /* @__PURE__ */ import_react137.default.createElement("span", { className: "Layer__profit-and-loss-summaries__title" }, (stringOverrides == null ? void 0 : stringOverrides.expensesLabel) || "Expenses"), isLoading || storedData === void 0 ? /* @__PURE__ */ import_react137.default.createElement("div", { className: "Layer__profit-and-loss-summaries__loader" }, /* @__PURE__ */ import_react137.default.createElement(SkeletonLoader, { className: "Layer__profit-and-loss-summaries__loader" })) : /* @__PURE__ */ import_react137.default.createElement(
|
|
13141
|
-
"span",
|
|
13142
|
-
{
|
|
13143
|
-
className: `Layer__profit-and-loss-summaries__amount ${expensesDirectionClass}`
|
|
13222
|
+
label: (stringOverrides == null ? void 0 : stringOverrides.revenueLabel) || revenueLabel || "Revenue",
|
|
13223
|
+
amount: data.income.value,
|
|
13224
|
+
isLoading,
|
|
13225
|
+
slots: {
|
|
13226
|
+
Chart: /* @__PURE__ */ import_react141.default.createElement(
|
|
13227
|
+
ProfitAndLossSummariesMiniChart,
|
|
13228
|
+
{
|
|
13229
|
+
data: revenueChartData,
|
|
13230
|
+
chartColorsList,
|
|
13231
|
+
variants
|
|
13232
|
+
}
|
|
13233
|
+
)
|
|
13144
13234
|
},
|
|
13145
|
-
|
|
13146
|
-
|
|
13147
|
-
|
|
13148
|
-
|
|
13149
|
-
|
|
13150
|
-
|
|
13151
|
-
"
|
|
13235
|
+
variants
|
|
13236
|
+
}
|
|
13237
|
+
)
|
|
13238
|
+
), /* @__PURE__ */ import_react141.default.createElement(
|
|
13239
|
+
ProfitAndLossSummariesListItem,
|
|
13240
|
+
{
|
|
13241
|
+
isActive: sidebarScope === "expenses",
|
|
13242
|
+
onClick: actionable ? () => setSidebarScope("expenses") : void 0
|
|
13243
|
+
},
|
|
13244
|
+
/* @__PURE__ */ import_react141.default.createElement(
|
|
13245
|
+
ProfitAndLossSummariesSummary,
|
|
13152
13246
|
{
|
|
13153
|
-
|
|
13154
|
-
|
|
13155
|
-
|
|
13156
|
-
|
|
13157
|
-
|
|
13158
|
-
|
|
13159
|
-
|
|
13160
|
-
|
|
13161
|
-
|
|
13247
|
+
label: (stringOverrides == null ? void 0 : stringOverrides.revenueLabel) || revenueLabel || "Expenses",
|
|
13248
|
+
amount: ((_b = (_a = data == null ? void 0 : data.income) == null ? void 0 : _a.value) != null ? _b : NaN) - data.net_profit,
|
|
13249
|
+
isLoading,
|
|
13250
|
+
slots: {
|
|
13251
|
+
Chart: /* @__PURE__ */ import_react141.default.createElement(
|
|
13252
|
+
ProfitAndLossSummariesMiniChart,
|
|
13253
|
+
{
|
|
13254
|
+
data: expensesChartData,
|
|
13255
|
+
chartColorsList,
|
|
13256
|
+
variants
|
|
13257
|
+
}
|
|
13258
|
+
)
|
|
13162
13259
|
},
|
|
13163
|
-
|
|
13164
|
-
|
|
13260
|
+
variants
|
|
13261
|
+
}
|
|
13165
13262
|
)
|
|
13166
|
-
)
|
|
13167
|
-
|
|
13263
|
+
), /* @__PURE__ */ import_react141.default.createElement(ProfitAndLossSummariesListItem, null, /* @__PURE__ */ import_react141.default.createElement(
|
|
13264
|
+
ProfitAndLossSummariesSummary,
|
|
13265
|
+
{
|
|
13266
|
+
label: (stringOverrides == null ? void 0 : stringOverrides.netProfitLabel) || "Net Profit",
|
|
13267
|
+
amount: data.net_profit,
|
|
13268
|
+
variants,
|
|
13269
|
+
isLoading
|
|
13270
|
+
}
|
|
13271
|
+
)), unstable_AdditionalListItems.map((item, index) => /* @__PURE__ */ import_react141.default.createElement(ProfitAndLossSummariesListItem, { key: index }, item))));
|
|
13272
|
+
}
|
|
13273
|
+
var ProfitAndLossSummaries = (props) => Internal_ProfitAndLossSummaries(props);
|
|
13168
13274
|
|
|
13169
13275
|
// src/components/ProfitAndLossTable/ProfitAndLossTableWithProvider.tsx
|
|
13170
|
-
var
|
|
13276
|
+
var import_react151 = __toESM(require("react"));
|
|
13171
13277
|
|
|
13172
13278
|
// src/contexts/TableContext/TableContext.tsx
|
|
13173
|
-
var
|
|
13279
|
+
var import_react142 = __toESM(require("react"));
|
|
13174
13280
|
var defaultValue = {
|
|
13175
13281
|
expandedRows: [],
|
|
13176
13282
|
setExpandedRows: () => {
|
|
@@ -13181,10 +13287,10 @@ var defaultValue = {
|
|
|
13181
13287
|
setExpandedAllRows: () => {
|
|
13182
13288
|
}
|
|
13183
13289
|
};
|
|
13184
|
-
var TableContext = (0,
|
|
13290
|
+
var TableContext = (0, import_react142.createContext)(defaultValue);
|
|
13185
13291
|
var TableProvider = ({ children }) => {
|
|
13186
|
-
const [expandedRows, setExpandedRowsState] = (0,
|
|
13187
|
-
const [expandedAllRows, setExpandedAllRows] = (0,
|
|
13292
|
+
const [expandedRows, setExpandedRowsState] = (0, import_react142.useState)([]);
|
|
13293
|
+
const [expandedAllRows, setExpandedAllRows] = (0, import_react142.useState)(false);
|
|
13188
13294
|
const toggleRow = (rowKey) => {
|
|
13189
13295
|
setExpandedRowsState((prevRows) => {
|
|
13190
13296
|
const rows = [...prevRows];
|
|
@@ -13206,14 +13312,14 @@ var TableProvider = ({ children }) => {
|
|
|
13206
13312
|
expandedAllRows,
|
|
13207
13313
|
setExpandedAllRows
|
|
13208
13314
|
};
|
|
13209
|
-
return /* @__PURE__ */
|
|
13315
|
+
return /* @__PURE__ */ import_react142.default.createElement(TableContext.Provider, { value: contextValue }, children);
|
|
13210
13316
|
};
|
|
13211
13317
|
|
|
13212
13318
|
// src/components/ProfitAndLossTable/ProfitAndLossCompareTable.tsx
|
|
13213
|
-
var
|
|
13319
|
+
var import_react149 = __toESM(require("react"));
|
|
13214
13320
|
|
|
13215
13321
|
// src/hooks/useTableExpandRow/useTableExpandRow.tsx
|
|
13216
|
-
var
|
|
13322
|
+
var import_react143 = require("react");
|
|
13217
13323
|
var useTableExpandRow = () => {
|
|
13218
13324
|
const {
|
|
13219
13325
|
expandedAllRows,
|
|
@@ -13221,7 +13327,7 @@ var useTableExpandRow = () => {
|
|
|
13221
13327
|
expandAllRows,
|
|
13222
13328
|
expandedRows,
|
|
13223
13329
|
setExpandedRows
|
|
13224
|
-
} = (0,
|
|
13330
|
+
} = (0, import_react143.useContext)(TableContext);
|
|
13225
13331
|
const toggleAllRows = () => {
|
|
13226
13332
|
if (expandedAllRows) {
|
|
13227
13333
|
setIsOpen([]);
|
|
@@ -13312,14 +13418,14 @@ var mergeComparisonLineItemsAtDepth = (lineItems) => {
|
|
|
13312
13418
|
};
|
|
13313
13419
|
|
|
13314
13420
|
// src/components/TableBody/TableBody.tsx
|
|
13315
|
-
var
|
|
13421
|
+
var import_react144 = __toESM(require("react"));
|
|
13316
13422
|
var TableBody = ({ children }) => {
|
|
13317
|
-
return /* @__PURE__ */
|
|
13423
|
+
return /* @__PURE__ */ import_react144.default.createElement("tbody", { className: "Layer__table-body" }, children);
|
|
13318
13424
|
};
|
|
13319
13425
|
|
|
13320
13426
|
// src/components/TableCell/TableCell.tsx
|
|
13321
|
-
var
|
|
13322
|
-
var
|
|
13427
|
+
var import_react145 = __toESM(require("react"));
|
|
13428
|
+
var import_classnames58 = __toESM(require("classnames"));
|
|
13323
13429
|
var TableCell = ({
|
|
13324
13430
|
children,
|
|
13325
13431
|
className,
|
|
@@ -13337,7 +13443,7 @@ var TableCell = ({
|
|
|
13337
13443
|
const amount = typeof children === "number" ? children : 0;
|
|
13338
13444
|
const isPositive = amount >= 0;
|
|
13339
13445
|
const amountString = centsToDollars(Math.abs(amount));
|
|
13340
|
-
const cellClassNames = (0,
|
|
13446
|
+
const cellClassNames = (0, import_classnames58.default)(
|
|
13341
13447
|
"Layer__table-cell",
|
|
13342
13448
|
(primary || isHeaderCell) && "Layer__table-cell--primary",
|
|
13343
13449
|
isCurrency && "Layer__table-cell-amount",
|
|
@@ -13347,9 +13453,9 @@ var TableCell = ({
|
|
|
13347
13453
|
className
|
|
13348
13454
|
);
|
|
13349
13455
|
if (isHeaderCell) {
|
|
13350
|
-
return /* @__PURE__ */
|
|
13456
|
+
return /* @__PURE__ */ import_react145.default.createElement("th", { className: cellClassNames, colSpan, style }, /* @__PURE__ */ import_react145.default.createElement("span", { className: "Layer__table-cell-content" }, children));
|
|
13351
13457
|
}
|
|
13352
|
-
return /* @__PURE__ */
|
|
13458
|
+
return /* @__PURE__ */ import_react145.default.createElement(
|
|
13353
13459
|
"td",
|
|
13354
13460
|
{
|
|
13355
13461
|
className: cellClassNames,
|
|
@@ -13357,7 +13463,7 @@ var TableCell = ({
|
|
|
13357
13463
|
colSpan,
|
|
13358
13464
|
onClick: (e) => onClick && onClick(e)
|
|
13359
13465
|
},
|
|
13360
|
-
/* @__PURE__ */
|
|
13466
|
+
/* @__PURE__ */ import_react145.default.createElement("span", { className: "Layer__table-cell-content" }, withExpandIcon && /* @__PURE__ */ import_react145.default.createElement(
|
|
13361
13467
|
ChevronDownFill_default,
|
|
13362
13468
|
{
|
|
13363
13469
|
className: "Layer__table-row--expand-icon",
|
|
@@ -13368,14 +13474,14 @@ var TableCell = ({
|
|
|
13368
13474
|
};
|
|
13369
13475
|
|
|
13370
13476
|
// src/components/TableHead/TableHead.tsx
|
|
13371
|
-
var
|
|
13477
|
+
var import_react146 = __toESM(require("react"));
|
|
13372
13478
|
var TableHead = ({ children }) => {
|
|
13373
|
-
return /* @__PURE__ */
|
|
13479
|
+
return /* @__PURE__ */ import_react146.default.createElement("thead", { className: "Layer__table-header" }, children);
|
|
13374
13480
|
};
|
|
13375
13481
|
|
|
13376
13482
|
// src/components/TableRow/TableRow.tsx
|
|
13377
|
-
var
|
|
13378
|
-
var
|
|
13483
|
+
var import_react147 = __toESM(require("react"));
|
|
13484
|
+
var import_classnames59 = __toESM(require("classnames"));
|
|
13379
13485
|
var TableRow = ({
|
|
13380
13486
|
rowKey,
|
|
13381
13487
|
children,
|
|
@@ -13399,14 +13505,14 @@ var TableRow = ({
|
|
|
13399
13505
|
handleExpand && handleExpand();
|
|
13400
13506
|
}
|
|
13401
13507
|
};
|
|
13402
|
-
const rowClassNames = (0,
|
|
13508
|
+
const rowClassNames = (0, import_classnames59.default)([
|
|
13403
13509
|
"Layer__table-row",
|
|
13404
13510
|
!isHeadRow && `Layer__table-row--depth-${depth}`,
|
|
13405
13511
|
!isHeadRow && `Layer__table-row--variant-${variant}`,
|
|
13406
13512
|
selected && "Layer__table-row--selected",
|
|
13407
13513
|
!isHeadRow && expandable && (isExpanded ? "Layer__table-row--expanded" : "Layer__table-row--collapsed")
|
|
13408
13514
|
]);
|
|
13409
|
-
return /* @__PURE__ */
|
|
13515
|
+
return /* @__PURE__ */ import_react147.default.createElement(import_react147.default.Fragment, null, withDivider && withDividerPosition === "top" && /* @__PURE__ */ import_react147.default.createElement("tr", { className: "Layer__table-empty-row" }, /* @__PURE__ */ import_react147.default.createElement("td", { colSpan: Array.isArray(children) ? children.length : 1 })), /* @__PURE__ */ import_react147.default.createElement(
|
|
13410
13516
|
"tr",
|
|
13411
13517
|
{
|
|
13412
13518
|
"data-key": rowKey,
|
|
@@ -13414,21 +13520,21 @@ var TableRow = ({
|
|
|
13414
13520
|
onClick: (e) => toggleExpanded(e)
|
|
13415
13521
|
},
|
|
13416
13522
|
children
|
|
13417
|
-
), withDivider && withDividerPosition === "bottom" && /* @__PURE__ */
|
|
13523
|
+
), withDivider && withDividerPosition === "bottom" && /* @__PURE__ */ import_react147.default.createElement("tr", { className: "Layer__table-empty-row" }, /* @__PURE__ */ import_react147.default.createElement("td", { colSpan: Array.isArray(children) ? children.length : 1 })));
|
|
13418
13524
|
};
|
|
13419
13525
|
|
|
13420
13526
|
// src/components/Table/Table.tsx
|
|
13421
|
-
var
|
|
13422
|
-
var
|
|
13527
|
+
var import_react148 = __toESM(require("react"));
|
|
13528
|
+
var import_classnames60 = __toESM(require("classnames"));
|
|
13423
13529
|
var Table = ({
|
|
13424
13530
|
componentName,
|
|
13425
13531
|
children,
|
|
13426
13532
|
borderCollapse = "separate",
|
|
13427
13533
|
bottomSpacing = true
|
|
13428
13534
|
}) => {
|
|
13429
|
-
const tableRef = (0,
|
|
13430
|
-
const prevChildrenRef = (0,
|
|
13431
|
-
(0,
|
|
13535
|
+
const tableRef = (0, import_react148.useRef)(null);
|
|
13536
|
+
const prevChildrenRef = (0, import_react148.useRef)([]);
|
|
13537
|
+
(0, import_react148.useEffect)(() => {
|
|
13432
13538
|
if (tableRef.current) {
|
|
13433
13539
|
const tbody = tableRef.current.querySelector("tbody");
|
|
13434
13540
|
const rows = tbody ? Array.from(tbody.querySelectorAll("tr")) : [];
|
|
@@ -13459,36 +13565,36 @@ var Table = ({
|
|
|
13459
13565
|
prevChildrenRef.current = newChildrenKeys;
|
|
13460
13566
|
}
|
|
13461
13567
|
}, [children]);
|
|
13462
|
-
const tableWrapperClassNames = (0,
|
|
13568
|
+
const tableWrapperClassNames = (0, import_classnames60.default)(
|
|
13463
13569
|
"Layer__table-wrapper",
|
|
13464
13570
|
bottomSpacing && "Layer__table-wrapper--bottom-spacing"
|
|
13465
13571
|
);
|
|
13466
|
-
const tableClassNames = (0,
|
|
13572
|
+
const tableClassNames = (0, import_classnames60.default)(
|
|
13467
13573
|
"Layer__table",
|
|
13468
13574
|
componentName && `Layer__${componentName}__table`,
|
|
13469
13575
|
borderCollapse && `Layer__table__${borderCollapse}-rows`
|
|
13470
13576
|
);
|
|
13471
|
-
return /* @__PURE__ */
|
|
13577
|
+
return /* @__PURE__ */ import_react148.default.createElement("div", { className: tableWrapperClassNames }, /* @__PURE__ */ import_react148.default.createElement("table", { className: tableClassNames, ref: tableRef }, children));
|
|
13472
13578
|
};
|
|
13473
13579
|
|
|
13474
13580
|
// src/components/ProfitAndLossTable/ProfitAndLossCompareTable.tsx
|
|
13475
|
-
var
|
|
13581
|
+
var import_classnames61 = __toESM(require("classnames"));
|
|
13476
13582
|
var ProfitAndLossCompareTable = ({
|
|
13477
13583
|
stringOverrides
|
|
13478
13584
|
}) => {
|
|
13479
|
-
const { dateRange } = (0,
|
|
13585
|
+
const { dateRange } = (0, import_react149.useContext)(ProfitAndLoss.Context);
|
|
13480
13586
|
const {
|
|
13481
13587
|
data: comparisonData,
|
|
13482
13588
|
isLoading,
|
|
13483
13589
|
compareMonths,
|
|
13484
13590
|
compareOptions,
|
|
13485
13591
|
refetch
|
|
13486
|
-
} = (0,
|
|
13592
|
+
} = (0, import_react149.useContext)(ProfitAndLoss.ComparisonContext);
|
|
13487
13593
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
13488
|
-
(0,
|
|
13594
|
+
(0, import_react149.useEffect)(() => {
|
|
13489
13595
|
setIsOpen(["income", "cost_of_goods_sold", "expenses"]);
|
|
13490
13596
|
}, []);
|
|
13491
|
-
(0,
|
|
13597
|
+
(0, import_react149.useEffect)(() => {
|
|
13492
13598
|
if ((dateRange == null ? void 0 : dateRange.startDate) && (dateRange == null ? void 0 : dateRange.endDate) && !comparisonData && !isLoading) {
|
|
13493
13599
|
refetch(
|
|
13494
13600
|
{
|
|
@@ -13500,12 +13606,12 @@ var ProfitAndLossCompareTable = ({
|
|
|
13500
13606
|
}
|
|
13501
13607
|
}, [dateRange, comparisonData]);
|
|
13502
13608
|
if (isLoading || comparisonData === void 0) {
|
|
13503
|
-
return /* @__PURE__ */
|
|
13609
|
+
return /* @__PURE__ */ import_react149.default.createElement(
|
|
13504
13610
|
"div",
|
|
13505
13611
|
{
|
|
13506
|
-
className: (0,
|
|
13612
|
+
className: (0, import_classnames61.default)("Layer__profit-and-loss-table__loader-container")
|
|
13507
13613
|
},
|
|
13508
|
-
/* @__PURE__ */
|
|
13614
|
+
/* @__PURE__ */ import_react149.default.createElement(Loader2, null)
|
|
13509
13615
|
);
|
|
13510
13616
|
}
|
|
13511
13617
|
const renderRow = (rowKey, depth, rowDisplayName, lineItem, data) => {
|
|
@@ -13517,7 +13623,7 @@ var ProfitAndLossCompareTable = ({
|
|
|
13517
13623
|
}
|
|
13518
13624
|
});
|
|
13519
13625
|
if (rowData.length === 0) {
|
|
13520
|
-
return /* @__PURE__ */
|
|
13626
|
+
return /* @__PURE__ */ import_react149.default.createElement(import_react149.default.Fragment, null);
|
|
13521
13627
|
}
|
|
13522
13628
|
const mergedLineItems = mergeComparisonLineItemsAtDepth(
|
|
13523
13629
|
rowData
|
|
@@ -13526,7 +13632,7 @@ var ProfitAndLossCompareTable = ({
|
|
|
13526
13632
|
}
|
|
13527
13633
|
const expandable = (lineItem == null ? void 0 : lineItem.line_items) && lineItem.line_items.length > 0 ? true : false;
|
|
13528
13634
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
13529
|
-
return /* @__PURE__ */
|
|
13635
|
+
return /* @__PURE__ */ import_react149.default.createElement(import_react149.default.Fragment, { key: rowKey }, /* @__PURE__ */ import_react149.default.createElement(
|
|
13530
13636
|
TableRow,
|
|
13531
13637
|
{
|
|
13532
13638
|
rowKey,
|
|
@@ -13536,8 +13642,8 @@ var ProfitAndLossCompareTable = ({
|
|
|
13536
13642
|
variant: expandable ? "expandable" : "default",
|
|
13537
13643
|
handleExpand: () => setIsOpen(rowKey)
|
|
13538
13644
|
},
|
|
13539
|
-
/* @__PURE__ */
|
|
13540
|
-
rowData.map((cell, i) => /* @__PURE__ */
|
|
13645
|
+
/* @__PURE__ */ import_react149.default.createElement(TableCell, { primary: true, withExpandIcon: expandable }, lineItem ? lineItem.display_name : rowDisplayName),
|
|
13646
|
+
rowData.map((cell, i) => /* @__PURE__ */ import_react149.default.createElement(TableCell, { key: "compare-value" + i, isCurrency: true }, getComparisonValue(
|
|
13541
13647
|
lineItem ? lineItem.display_name : rowDisplayName,
|
|
13542
13648
|
depth,
|
|
13543
13649
|
cell
|
|
@@ -13552,13 +13658,13 @@ var ProfitAndLossCompareTable = ({
|
|
|
13552
13658
|
)
|
|
13553
13659
|
) : null);
|
|
13554
13660
|
};
|
|
13555
|
-
return /* @__PURE__ */
|
|
13661
|
+
return /* @__PURE__ */ import_react149.default.createElement(Table, { borderCollapse: "collapse", bottomSpacing: false }, /* @__PURE__ */ import_react149.default.createElement(TableHead, null, compareOptions && compareOptions.length > 1 && /* @__PURE__ */ import_react149.default.createElement(TableRow, { rowKey: "" }, /* @__PURE__ */ import_react149.default.createElement(TableCell, { isHeaderCell: true }), compareOptions.map((option, i) => /* @__PURE__ */ import_react149.default.createElement(import_react149.default.Fragment, { key: option + "-" + i }, /* @__PURE__ */ import_react149.default.createElement(TableCell, { key: option + "-" + i, primary: true, isHeaderCell: true }, option.displayName), compareMonths && Array.from({ length: compareMonths - 1 }, (_, index) => /* @__PURE__ */ import_react149.default.createElement(TableCell, { key: option + "-" + index, isHeaderCell: true })))))), /* @__PURE__ */ import_react149.default.createElement(TableBody, null, compareMonths && /* @__PURE__ */ import_react149.default.createElement(TableRow, { rowKey: "" }, /* @__PURE__ */ import_react149.default.createElement(TableCell, { isHeaderCell: true }), compareOptions && compareOptions.length > 0 ? compareOptions.map((option, i) => /* @__PURE__ */ import_react149.default.createElement(import_react149.default.Fragment, { key: option + "-" + i }, generatComparisonMonths(
|
|
13556
13662
|
dateRange.startDate,
|
|
13557
13663
|
compareMonths
|
|
13558
|
-
).map((month, index) => /* @__PURE__ */
|
|
13664
|
+
).map((month, index) => /* @__PURE__ */ import_react149.default.createElement(TableCell, { key: option + "-" + index, isHeaderCell: true }, month)))) : /* @__PURE__ */ import_react149.default.createElement(import_react149.default.Fragment, { key: "total-1" }, generatComparisonMonths(
|
|
13559
13665
|
dateRange.startDate,
|
|
13560
13666
|
compareMonths
|
|
13561
|
-
).map((month, index) => /* @__PURE__ */
|
|
13667
|
+
).map((month, index) => /* @__PURE__ */ import_react149.default.createElement(TableCell, { key: "total-" + index + "-cell", isHeaderCell: true }, month)))), renderRow("income", 0, "Income"), renderRow("cost_of_goods_sold", 0, "Cost of Goods Sold"), renderRow(
|
|
13562
13668
|
"gross_profit",
|
|
13563
13669
|
0,
|
|
13564
13670
|
(stringOverrides == null ? void 0 : stringOverrides.grossProfitLabel) || "Gross Profit"
|
|
@@ -13574,13 +13680,13 @@ var ProfitAndLossCompareTable = ({
|
|
|
13574
13680
|
};
|
|
13575
13681
|
|
|
13576
13682
|
// src/components/ProfitAndLossTable/ProfitAndLossTableComponent.tsx
|
|
13577
|
-
var
|
|
13683
|
+
var import_react150 = __toESM(require("react"));
|
|
13578
13684
|
|
|
13579
13685
|
// src/icons/PieChart.tsx
|
|
13580
|
-
var
|
|
13686
|
+
var React161 = __toESM(require("react"));
|
|
13581
13687
|
var PieChart3 = (_a) => {
|
|
13582
13688
|
var _b = _a, { size = 12 } = _b, props = __objRest(_b, ["size"]);
|
|
13583
|
-
return /* @__PURE__ */
|
|
13689
|
+
return /* @__PURE__ */ React161.createElement(
|
|
13584
13690
|
"svg",
|
|
13585
13691
|
__spreadProps(__spreadValues({
|
|
13586
13692
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -13590,7 +13696,7 @@ var PieChart3 = (_a) => {
|
|
|
13590
13696
|
width: size,
|
|
13591
13697
|
height: size
|
|
13592
13698
|
}),
|
|
13593
|
-
/* @__PURE__ */
|
|
13699
|
+
/* @__PURE__ */ React161.createElement("g", null, /* @__PURE__ */ React161.createElement(
|
|
13594
13700
|
"path",
|
|
13595
13701
|
{
|
|
13596
13702
|
d: "M10.2213 7.78271C9.92969 8.47226 9.47363 9.07989 8.89297 9.55247C8.3123 10.0251 7.62471 10.3482 6.89031 10.4936C6.1559 10.6391 5.39705 10.6024 4.68009 10.3869C3.96313 10.1713 3.30989 9.78337 2.77749 9.25701C2.24509 8.73065 1.84973 8.08189 1.62598 7.36744C1.40223 6.65298 1.3569 5.8946 1.49396 5.15858C1.63102 4.42257 1.94629 3.73133 2.41221 3.14531C2.87813 2.55928 3.48051 2.09631 4.16669 1.79688",
|
|
@@ -13598,7 +13704,7 @@ var PieChart3 = (_a) => {
|
|
|
13598
13704
|
strokeLinecap: "round",
|
|
13599
13705
|
strokeLinejoin: "round"
|
|
13600
13706
|
}
|
|
13601
|
-
), /* @__PURE__ */
|
|
13707
|
+
), /* @__PURE__ */ React161.createElement(
|
|
13602
13708
|
"path",
|
|
13603
13709
|
{
|
|
13604
13710
|
d: "M10.5833 6.00033C10.5833 5.39843 10.4648 4.80244 10.2344 4.24636C10.0041 3.69028 9.66651 3.18502 9.24091 2.75942C8.8153 2.33382 8.31004 1.99621 7.75397 1.76588C7.19789 1.53554 6.60189 1.41699 6 1.41699V6.00033H10.5833Z",
|
|
@@ -13660,7 +13766,7 @@ var empty_profit_and_loss_report_default = {
|
|
|
13660
13766
|
};
|
|
13661
13767
|
|
|
13662
13768
|
// src/components/ProfitAndLossTable/ProfitAndLossTableComponent.tsx
|
|
13663
|
-
var
|
|
13769
|
+
var import_classnames62 = __toESM(require("classnames"));
|
|
13664
13770
|
var ProfitAndLossTableComponent = ({
|
|
13665
13771
|
asContainer,
|
|
13666
13772
|
stringOverrides
|
|
@@ -13669,29 +13775,29 @@ var ProfitAndLossTableComponent = ({
|
|
|
13669
13775
|
data: actualData,
|
|
13670
13776
|
isLoading,
|
|
13671
13777
|
setSidebarScope
|
|
13672
|
-
} = (0,
|
|
13778
|
+
} = (0, import_react150.useContext)(ProfitAndLoss.Context);
|
|
13673
13779
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
13674
|
-
(0,
|
|
13780
|
+
(0, import_react150.useEffect)(() => {
|
|
13675
13781
|
setIsOpen(["income", "cost_of_goods_sold", "expenses"]);
|
|
13676
13782
|
}, []);
|
|
13677
13783
|
const currentData = Array.isArray(actualData) ? actualData[actualData.length - 1] : actualData;
|
|
13678
13784
|
const data = !currentData || isLoading ? empty_profit_and_loss_report_default : currentData;
|
|
13679
13785
|
if (isLoading || actualData === void 0) {
|
|
13680
|
-
return /* @__PURE__ */
|
|
13786
|
+
return /* @__PURE__ */ import_react150.default.createElement(
|
|
13681
13787
|
"div",
|
|
13682
13788
|
{
|
|
13683
|
-
className: (0,
|
|
13789
|
+
className: (0, import_classnames62.default)(
|
|
13684
13790
|
"Layer__profit-and-loss-table__loader-container",
|
|
13685
13791
|
asContainer && "Layer__component-container"
|
|
13686
13792
|
)
|
|
13687
13793
|
},
|
|
13688
|
-
/* @__PURE__ */
|
|
13794
|
+
/* @__PURE__ */ import_react150.default.createElement(Loader2, null)
|
|
13689
13795
|
);
|
|
13690
13796
|
}
|
|
13691
13797
|
const renderLineItem = (lineItem, depth, rowKey, rowIndex, scope, setSidebarScope2, variant) => {
|
|
13692
13798
|
const expandable = !!lineItem.line_items && lineItem.line_items.length > 0;
|
|
13693
13799
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
13694
|
-
return /* @__PURE__ */
|
|
13800
|
+
return /* @__PURE__ */ import_react150.default.createElement(import_react150.default.Fragment, { key: rowKey + "-" + rowIndex }, /* @__PURE__ */ import_react150.default.createElement(
|
|
13695
13801
|
TableRow,
|
|
13696
13802
|
{
|
|
13697
13803
|
rowKey: rowKey + "-" + rowIndex,
|
|
@@ -13701,7 +13807,7 @@ var ProfitAndLossTableComponent = ({
|
|
|
13701
13807
|
variant: variant ? variant : expandable ? "expandable" : "default",
|
|
13702
13808
|
handleExpand: () => setIsOpen(rowKey)
|
|
13703
13809
|
},
|
|
13704
|
-
/* @__PURE__ */
|
|
13810
|
+
/* @__PURE__ */ import_react150.default.createElement(
|
|
13705
13811
|
TableCell,
|
|
13706
13812
|
{
|
|
13707
13813
|
primary: true,
|
|
@@ -13710,7 +13816,7 @@ var ProfitAndLossTableComponent = ({
|
|
|
13710
13816
|
},
|
|
13711
13817
|
lineItem.display_name,
|
|
13712
13818
|
" ",
|
|
13713
|
-
setSidebarScope2 && /* @__PURE__ */
|
|
13819
|
+
setSidebarScope2 && /* @__PURE__ */ import_react150.default.createElement(
|
|
13714
13820
|
"span",
|
|
13715
13821
|
{
|
|
13716
13822
|
className: "Layer__profit-and-loss-row__detailed-chart-btn",
|
|
@@ -13719,10 +13825,10 @@ var ProfitAndLossTableComponent = ({
|
|
|
13719
13825
|
setSidebarScope2 && setSidebarScope2(scope != null ? scope : "expenses");
|
|
13720
13826
|
}
|
|
13721
13827
|
},
|
|
13722
|
-
/* @__PURE__ */
|
|
13828
|
+
/* @__PURE__ */ import_react150.default.createElement(PieChart_default, null)
|
|
13723
13829
|
)
|
|
13724
13830
|
),
|
|
13725
|
-
/* @__PURE__ */
|
|
13831
|
+
/* @__PURE__ */ import_react150.default.createElement(TableCell, { isCurrency: true, primary: true }, Number.isNaN(lineItem.value) ? 0 : lineItem.value)
|
|
13726
13832
|
), expanded && lineItem.line_items ? lineItem.line_items.map(
|
|
13727
13833
|
(child, i) => renderLineItem(
|
|
13728
13834
|
child,
|
|
@@ -13732,7 +13838,7 @@ var ProfitAndLossTableComponent = ({
|
|
|
13732
13838
|
)
|
|
13733
13839
|
) : null);
|
|
13734
13840
|
};
|
|
13735
|
-
return /* @__PURE__ */
|
|
13841
|
+
return /* @__PURE__ */ import_react150.default.createElement(Table, { borderCollapse: "collapse", bottomSpacing: false }, /* @__PURE__ */ import_react150.default.createElement(TableBody, null, renderLineItem(
|
|
13736
13842
|
data.income,
|
|
13737
13843
|
0,
|
|
13738
13844
|
"income",
|
|
@@ -13786,18 +13892,18 @@ var ProfitAndLossTableComponent = ({
|
|
|
13786
13892
|
void 0,
|
|
13787
13893
|
void 0,
|
|
13788
13894
|
"summation"
|
|
13789
|
-
), data.personal_expenses ? /* @__PURE__ */
|
|
13895
|
+
), data.personal_expenses ? /* @__PURE__ */ import_react150.default.createElement(import_react150.default.Fragment, null, renderLineItem(data.personal_expenses, 0, "personal_expenses", 7)) : null, data.other_outflows ? /* @__PURE__ */ import_react150.default.createElement(import_react150.default.Fragment, null, renderLineItem(data.other_outflows, 0, "other_outflows", 6)) : null));
|
|
13790
13896
|
};
|
|
13791
13897
|
|
|
13792
13898
|
// src/components/ProfitAndLossTable/ProfitAndLossTableWithProvider.tsx
|
|
13793
13899
|
var ProfitAndLossTableWithProvider = (props) => {
|
|
13794
|
-
const { compareMode } = (0,
|
|
13795
|
-
return /* @__PURE__ */
|
|
13900
|
+
const { compareMode } = (0, import_react151.useContext)(ProfitAndLoss.ComparisonContext);
|
|
13901
|
+
return /* @__PURE__ */ import_react151.default.createElement(TableProvider, null, compareMode ? /* @__PURE__ */ import_react151.default.createElement("div", { className: "Layer__compare__table__wrapper" }, /* @__PURE__ */ import_react151.default.createElement(ProfitAndLossCompareTable, __spreadValues({}, props))) : /* @__PURE__ */ import_react151.default.createElement(ProfitAndLossTableComponent, __spreadValues({}, props)));
|
|
13796
13902
|
};
|
|
13797
13903
|
|
|
13798
13904
|
// src/components/ProfitAndLoss/ProfitAndLoss.tsx
|
|
13799
13905
|
var import_date_fns24 = require("date-fns");
|
|
13800
|
-
var PNLContext = (0,
|
|
13906
|
+
var PNLContext = (0, import_react152.createContext)({
|
|
13801
13907
|
data: void 0,
|
|
13802
13908
|
filteredDataRevenue: [],
|
|
13803
13909
|
filteredTotalRevenue: void 0,
|
|
@@ -13835,7 +13941,7 @@ var ProfitAndLoss = ({
|
|
|
13835
13941
|
}) => {
|
|
13836
13942
|
const contextData = useProfitAndLoss({ tagFilter, reportingBasis });
|
|
13837
13943
|
const comparisonContextData = useProfitAndLossComparison({ reportingBasis });
|
|
13838
|
-
return /* @__PURE__ */
|
|
13944
|
+
return /* @__PURE__ */ import_react152.default.createElement(PNLContext.Provider, { value: contextData }, /* @__PURE__ */ import_react152.default.createElement(PNLComparisonContext.Provider, { value: comparisonContextData }, asContainer ? /* @__PURE__ */ import_react152.default.createElement(Container, { name: "profit-and-loss" }, children) : children));
|
|
13839
13945
|
};
|
|
13840
13946
|
ProfitAndLoss.Chart = ProfitAndLossChart;
|
|
13841
13947
|
ProfitAndLoss.Context = PNLContext;
|
|
@@ -13850,11 +13956,11 @@ ProfitAndLoss.Report = ProfitAndLossReport;
|
|
|
13850
13956
|
ProfitAndLoss.DownloadButton = ProfitAndLossDownloadButton;
|
|
13851
13957
|
|
|
13852
13958
|
// src/components/BalanceSheet/BalanceSheet.tsx
|
|
13853
|
-
var
|
|
13959
|
+
var import_react159 = __toESM(require("react"));
|
|
13854
13960
|
|
|
13855
13961
|
// src/contexts/BalanceSheetContext/BalanceSheetContext.tsx
|
|
13856
|
-
var
|
|
13857
|
-
var BalanceSheetContext = (0,
|
|
13962
|
+
var import_react153 = require("react");
|
|
13963
|
+
var BalanceSheetContext = (0, import_react153.createContext)({
|
|
13858
13964
|
data: void 0,
|
|
13859
13965
|
isLoading: false,
|
|
13860
13966
|
error: void 0,
|
|
@@ -13863,7 +13969,7 @@ var BalanceSheetContext = (0, import_react149.createContext)({
|
|
|
13863
13969
|
});
|
|
13864
13970
|
|
|
13865
13971
|
// src/hooks/useBalanceSheet/useBalanceSheet.tsx
|
|
13866
|
-
var
|
|
13972
|
+
var import_react154 = require("react");
|
|
13867
13973
|
var import_date_fns25 = require("date-fns");
|
|
13868
13974
|
var import_swr6 = __toESM(require("swr"));
|
|
13869
13975
|
var useBalanceSheet = (date = /* @__PURE__ */ new Date()) => {
|
|
@@ -13882,12 +13988,12 @@ var useBalanceSheet = (date = /* @__PURE__ */ new Date()) => {
|
|
|
13882
13988
|
const refetch = () => {
|
|
13883
13989
|
mutate();
|
|
13884
13990
|
};
|
|
13885
|
-
(0,
|
|
13991
|
+
(0, import_react154.useEffect)(() => {
|
|
13886
13992
|
if (queryKey && (isLoading || isValidating)) {
|
|
13887
13993
|
read("BALANCE_SHEET" /* BALANCE_SHEET */, queryKey);
|
|
13888
13994
|
}
|
|
13889
13995
|
}, [isLoading, isValidating]);
|
|
13890
|
-
(0,
|
|
13996
|
+
(0, import_react154.useEffect)(() => {
|
|
13891
13997
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
13892
13998
|
refetch();
|
|
13893
13999
|
}
|
|
@@ -13896,12 +14002,12 @@ var useBalanceSheet = (date = /* @__PURE__ */ new Date()) => {
|
|
|
13896
14002
|
};
|
|
13897
14003
|
|
|
13898
14004
|
// src/hooks/useElementViewSize/useElementViewSize.tsx
|
|
13899
|
-
var
|
|
14005
|
+
var import_react155 = require("react");
|
|
13900
14006
|
var useElementViewSize = (callback) => {
|
|
13901
|
-
const ref = (0,
|
|
13902
|
-
const [view, setView] = (0,
|
|
13903
|
-
const resizeTimeout = (0,
|
|
13904
|
-
(0,
|
|
14007
|
+
const ref = (0, import_react155.useRef)(null);
|
|
14008
|
+
const [view, setView] = (0, import_react155.useState)("desktop");
|
|
14009
|
+
const resizeTimeout = (0, import_react155.useRef)(null);
|
|
14010
|
+
(0, import_react155.useLayoutEffect)(() => {
|
|
13905
14011
|
const element = ref == null ? void 0 : ref.current;
|
|
13906
14012
|
if (!element) {
|
|
13907
14013
|
return;
|
|
@@ -13931,19 +14037,19 @@ var useElementViewSize = (callback) => {
|
|
|
13931
14037
|
}
|
|
13932
14038
|
};
|
|
13933
14039
|
}, [callback, ref, view]);
|
|
13934
|
-
(0,
|
|
14040
|
+
(0, import_react155.useEffect)(() => {
|
|
13935
14041
|
callback(view);
|
|
13936
14042
|
}, [view, callback]);
|
|
13937
14043
|
return ref;
|
|
13938
14044
|
};
|
|
13939
14045
|
|
|
13940
14046
|
// src/components/BalanceSheetDatePicker/BalanceSheetDatePicker.tsx
|
|
13941
|
-
var
|
|
14047
|
+
var import_react156 = __toESM(require("react"));
|
|
13942
14048
|
var BalanceSheetDatePicker = ({
|
|
13943
14049
|
effectiveDate,
|
|
13944
14050
|
setEffectiveDate
|
|
13945
14051
|
}) => {
|
|
13946
|
-
return /* @__PURE__ */
|
|
14052
|
+
return /* @__PURE__ */ import_react156.default.createElement(import_react156.default.Fragment, null, /* @__PURE__ */ import_react156.default.createElement(
|
|
13947
14053
|
DatePicker,
|
|
13948
14054
|
{
|
|
13949
14055
|
selected: effectiveDate,
|
|
@@ -13954,12 +14060,12 @@ var BalanceSheetDatePicker = ({
|
|
|
13954
14060
|
};
|
|
13955
14061
|
|
|
13956
14062
|
// src/components/BalanceSheetExpandAllButton/BalanceSheetExpandAllButton.tsx
|
|
13957
|
-
var
|
|
14063
|
+
var import_react157 = __toESM(require("react"));
|
|
13958
14064
|
var BalanceSheetExpandAllButton = ({
|
|
13959
14065
|
view
|
|
13960
14066
|
}) => {
|
|
13961
14067
|
const { expandedAllRows, toggleAllRows } = useTableExpandRow();
|
|
13962
|
-
return /* @__PURE__ */
|
|
14068
|
+
return /* @__PURE__ */ import_react157.default.createElement(
|
|
13963
14069
|
ExpandCollapseButton,
|
|
13964
14070
|
{
|
|
13965
14071
|
onClick: toggleAllRows,
|
|
@@ -13970,7 +14076,7 @@ var BalanceSheetExpandAllButton = ({
|
|
|
13970
14076
|
};
|
|
13971
14077
|
|
|
13972
14078
|
// src/components/BalanceSheetTable/BalanceSheetTable.tsx
|
|
13973
|
-
var
|
|
14079
|
+
var import_react158 = __toESM(require("react"));
|
|
13974
14080
|
var BalanceSheetTable = ({
|
|
13975
14081
|
data,
|
|
13976
14082
|
config,
|
|
@@ -13978,12 +14084,12 @@ var BalanceSheetTable = ({
|
|
|
13978
14084
|
}) => {
|
|
13979
14085
|
const { isOpen, setIsOpen, expandedAllRows } = useTableExpandRow();
|
|
13980
14086
|
const allRowKeys = [];
|
|
13981
|
-
(0,
|
|
14087
|
+
(0, import_react158.useEffect)(() => {
|
|
13982
14088
|
if (expandedAllRows) {
|
|
13983
14089
|
setIsOpen(allRowKeys, true);
|
|
13984
14090
|
}
|
|
13985
14091
|
}, [expandedAllRows]);
|
|
13986
|
-
(0,
|
|
14092
|
+
(0, import_react158.useEffect)(() => {
|
|
13987
14093
|
setIsOpen(["assets"]);
|
|
13988
14094
|
}, []);
|
|
13989
14095
|
const renderLineItem = (lineItem, depth = 0, rowKey, rowIndex) => {
|
|
@@ -13993,7 +14099,7 @@ var BalanceSheetTable = ({
|
|
|
13993
14099
|
if (expandable) {
|
|
13994
14100
|
allRowKeys.push(rowKey);
|
|
13995
14101
|
}
|
|
13996
|
-
return /* @__PURE__ */
|
|
14102
|
+
return /* @__PURE__ */ import_react158.default.createElement(import_react158.default.Fragment, { key: rowKey + "-" + rowIndex }, /* @__PURE__ */ import_react158.default.createElement(
|
|
13997
14103
|
TableRow,
|
|
13998
14104
|
{
|
|
13999
14105
|
rowKey: rowKey + "-" + rowIndex,
|
|
@@ -14003,8 +14109,8 @@ var BalanceSheetTable = ({
|
|
|
14003
14109
|
depth,
|
|
14004
14110
|
withDivider: depth === 0 && rowIndex > 0
|
|
14005
14111
|
},
|
|
14006
|
-
/* @__PURE__ */
|
|
14007
|
-
/* @__PURE__ */
|
|
14112
|
+
/* @__PURE__ */ import_react158.default.createElement(TableCell, { withExpandIcon: expandable, primary: expandable }, lineItem.display_name),
|
|
14113
|
+
/* @__PURE__ */ import_react158.default.createElement(
|
|
14008
14114
|
TableCell,
|
|
14009
14115
|
{
|
|
14010
14116
|
isCurrency: !expandable || expandable && !expanded,
|
|
@@ -14020,18 +14126,18 @@ var BalanceSheetTable = ({
|
|
|
14020
14126
|
rowKey + ":" + subItem.name,
|
|
14021
14127
|
subIdx
|
|
14022
14128
|
)
|
|
14023
|
-
), showChildren && expandable && /* @__PURE__ */
|
|
14129
|
+
), showChildren && expandable && /* @__PURE__ */ import_react158.default.createElement(
|
|
14024
14130
|
TableRow,
|
|
14025
14131
|
{
|
|
14026
14132
|
rowKey: rowKey + "-" + rowIndex + "--summation",
|
|
14027
14133
|
depth: depth + 1,
|
|
14028
14134
|
variant: "summation"
|
|
14029
14135
|
},
|
|
14030
|
-
/* @__PURE__ */
|
|
14031
|
-
/* @__PURE__ */
|
|
14136
|
+
/* @__PURE__ */ import_react158.default.createElement(TableCell, { primary: true }, `Total of ${lineItem.display_name}`),
|
|
14137
|
+
/* @__PURE__ */ import_react158.default.createElement(TableCell, { primary: true, isCurrency: true, align: "right" /* RIGHT */ }, lineItem.value)
|
|
14032
14138
|
));
|
|
14033
14139
|
};
|
|
14034
|
-
return /* @__PURE__ */
|
|
14140
|
+
return /* @__PURE__ */ import_react158.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react158.default.createElement(TableHead, null, /* @__PURE__ */ import_react158.default.createElement(TableRow, { isHeadRow: true, rowKey: "balance-sheet-head-row" }, /* @__PURE__ */ import_react158.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.typeColumnHeader) || "Type"), /* @__PURE__ */ import_react158.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.totalColumnHeader) || "Total"))), /* @__PURE__ */ import_react158.default.createElement(TableBody, null, config.map((row, idx) => /* @__PURE__ */ import_react158.default.createElement(import_react158.default.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
14035
14141
|
data[row.lineItem],
|
|
14036
14142
|
0,
|
|
14037
14143
|
row.lineItem,
|
|
@@ -14058,7 +14164,7 @@ var import_date_fns26 = require("date-fns");
|
|
|
14058
14164
|
var COMPONENT_NAME3 = "balance-sheet";
|
|
14059
14165
|
var BalanceSheet = (props) => {
|
|
14060
14166
|
const balanceSheetContextData = useBalanceSheet(props.effectiveDate);
|
|
14061
|
-
return /* @__PURE__ */
|
|
14167
|
+
return /* @__PURE__ */ import_react159.default.createElement(BalanceSheetContext.Provider, { value: balanceSheetContextData }, /* @__PURE__ */ import_react159.default.createElement(
|
|
14062
14168
|
BalanceSheetView,
|
|
14063
14169
|
__spreadValues({
|
|
14064
14170
|
asWidget: props.asWidget,
|
|
@@ -14071,13 +14177,13 @@ var BalanceSheetView = ({
|
|
|
14071
14177
|
asWidget = false,
|
|
14072
14178
|
stringOverrides
|
|
14073
14179
|
}) => {
|
|
14074
|
-
const [effectiveDate, setEffectiveDate] = (0,
|
|
14180
|
+
const [effectiveDate, setEffectiveDate] = (0, import_react159.useState)((0, import_date_fns26.startOfDay)(/* @__PURE__ */ new Date()));
|
|
14075
14181
|
const { data, isLoading, refetch } = useBalanceSheet(effectiveDate);
|
|
14076
|
-
const [view, setView] = (0,
|
|
14182
|
+
const [view, setView] = (0, import_react159.useState)("desktop");
|
|
14077
14183
|
const containerRef = useElementViewSize(
|
|
14078
14184
|
(newView) => setView(newView)
|
|
14079
14185
|
);
|
|
14080
|
-
(0,
|
|
14186
|
+
(0, import_react159.useEffect)(() => {
|
|
14081
14187
|
const d1 = effectiveDate && (0, import_date_fns26.format)((0, import_date_fns26.startOfDay)(effectiveDate), "yyyy-MM-dd'T'HH:mm:ssXXX");
|
|
14082
14188
|
const d2 = (data == null ? void 0 : data.effective_date) && (0, import_date_fns26.format)(
|
|
14083
14189
|
(0, import_date_fns26.startOfDay)(
|
|
@@ -14090,20 +14196,20 @@ var BalanceSheetView = ({
|
|
|
14090
14196
|
}
|
|
14091
14197
|
}, [effectiveDate]);
|
|
14092
14198
|
if (asWidget) {
|
|
14093
|
-
return /* @__PURE__ */
|
|
14199
|
+
return /* @__PURE__ */ import_react159.default.createElement(TableProvider, null, /* @__PURE__ */ import_react159.default.createElement(Container, { name: COMPONENT_NAME3, asWidget: true }, /* @__PURE__ */ import_react159.default.createElement(
|
|
14094
14200
|
View,
|
|
14095
14201
|
{
|
|
14096
14202
|
type: "panel",
|
|
14097
14203
|
ref: containerRef,
|
|
14098
|
-
header: /* @__PURE__ */
|
|
14204
|
+
header: /* @__PURE__ */ import_react159.default.createElement(Header2, null, /* @__PURE__ */ import_react159.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react159.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react159.default.createElement(
|
|
14099
14205
|
BalanceSheetDatePicker,
|
|
14100
14206
|
{
|
|
14101
14207
|
effectiveDate,
|
|
14102
14208
|
setEffectiveDate
|
|
14103
14209
|
}
|
|
14104
|
-
)), withExpandAllButton && /* @__PURE__ */
|
|
14210
|
+
)), withExpandAllButton && /* @__PURE__ */ import_react159.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react159.default.createElement(BalanceSheetExpandAllButton, { view }))))
|
|
14105
14211
|
},
|
|
14106
|
-
!data || isLoading ? /* @__PURE__ */
|
|
14212
|
+
!data || isLoading ? /* @__PURE__ */ import_react159.default.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ import_react159.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react159.default.createElement(
|
|
14107
14213
|
BalanceSheetTable,
|
|
14108
14214
|
{
|
|
14109
14215
|
data,
|
|
@@ -14113,20 +14219,20 @@ var BalanceSheetView = ({
|
|
|
14113
14219
|
)
|
|
14114
14220
|
)));
|
|
14115
14221
|
}
|
|
14116
|
-
return /* @__PURE__ */
|
|
14222
|
+
return /* @__PURE__ */ import_react159.default.createElement(TableProvider, null, /* @__PURE__ */ import_react159.default.createElement(
|
|
14117
14223
|
View,
|
|
14118
14224
|
{
|
|
14119
14225
|
type: "panel",
|
|
14120
14226
|
ref: containerRef,
|
|
14121
|
-
header: /* @__PURE__ */
|
|
14227
|
+
header: /* @__PURE__ */ import_react159.default.createElement(Header2, null, /* @__PURE__ */ import_react159.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react159.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react159.default.createElement(
|
|
14122
14228
|
BalanceSheetDatePicker,
|
|
14123
14229
|
{
|
|
14124
14230
|
effectiveDate,
|
|
14125
14231
|
setEffectiveDate
|
|
14126
14232
|
}
|
|
14127
|
-
)), withExpandAllButton && /* @__PURE__ */
|
|
14233
|
+
)), withExpandAllButton && /* @__PURE__ */ import_react159.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react159.default.createElement(BalanceSheetExpandAllButton, { view }))))
|
|
14128
14234
|
},
|
|
14129
|
-
!data || isLoading ? /* @__PURE__ */
|
|
14235
|
+
!data || isLoading ? /* @__PURE__ */ import_react159.default.createElement("div", { className: `Layer__${COMPONENT_NAME3}__loader-container` }, /* @__PURE__ */ import_react159.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react159.default.createElement(
|
|
14130
14236
|
BalanceSheetTable,
|
|
14131
14237
|
{
|
|
14132
14238
|
data,
|
|
@@ -14138,11 +14244,11 @@ var BalanceSheetView = ({
|
|
|
14138
14244
|
};
|
|
14139
14245
|
|
|
14140
14246
|
// src/components/StatementOfCashFlow/StatementOfCashFlow.tsx
|
|
14141
|
-
var
|
|
14247
|
+
var import_react163 = __toESM(require("react"));
|
|
14142
14248
|
|
|
14143
14249
|
// src/contexts/StatementOfCashContext/StatementOfCashFlowContext.tsx
|
|
14144
|
-
var
|
|
14145
|
-
var StatementOfCashFlowContext = (0,
|
|
14250
|
+
var import_react160 = require("react");
|
|
14251
|
+
var StatementOfCashFlowContext = (0, import_react160.createContext)({
|
|
14146
14252
|
data: void 0,
|
|
14147
14253
|
isLoading: false,
|
|
14148
14254
|
error: void 0,
|
|
@@ -14151,7 +14257,7 @@ var StatementOfCashFlowContext = (0, import_react156.createContext)({
|
|
|
14151
14257
|
});
|
|
14152
14258
|
|
|
14153
14259
|
// src/hooks/useStatementOfCashFlow/useStatementOfCashFlow.tsx
|
|
14154
|
-
var
|
|
14260
|
+
var import_react161 = require("react");
|
|
14155
14261
|
var import_date_fns27 = require("date-fns");
|
|
14156
14262
|
var import_swr7 = __toESM(require("swr"));
|
|
14157
14263
|
var useStatementOfCashFlow = (startDate = /* @__PURE__ */ new Date(), endDate = /* @__PURE__ */ new Date()) => {
|
|
@@ -14175,12 +14281,12 @@ var useStatementOfCashFlow = (startDate = /* @__PURE__ */ new Date(), endDate =
|
|
|
14175
14281
|
const refetch = () => {
|
|
14176
14282
|
mutate();
|
|
14177
14283
|
};
|
|
14178
|
-
(0,
|
|
14284
|
+
(0, import_react161.useEffect)(() => {
|
|
14179
14285
|
if (queryKey && (isLoading || isValidating)) {
|
|
14180
14286
|
read("STATEMENT_OF_CASH_FLOWS" /* STATEMENT_OF_CASH_FLOWS */, queryKey);
|
|
14181
14287
|
}
|
|
14182
14288
|
}, [isLoading, isValidating]);
|
|
14183
|
-
(0,
|
|
14289
|
+
(0, import_react161.useEffect)(() => {
|
|
14184
14290
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
14185
14291
|
refetch();
|
|
14186
14292
|
}
|
|
@@ -14189,7 +14295,7 @@ var useStatementOfCashFlow = (startDate = /* @__PURE__ */ new Date(), endDate =
|
|
|
14189
14295
|
};
|
|
14190
14296
|
|
|
14191
14297
|
// src/components/StatementOfCashFlowTable/StatementOfCashFlowTable.tsx
|
|
14192
|
-
var
|
|
14298
|
+
var import_react162 = __toESM(require("react"));
|
|
14193
14299
|
var StatementOfCashFlowTable = ({
|
|
14194
14300
|
data,
|
|
14195
14301
|
config,
|
|
@@ -14199,7 +14305,7 @@ var StatementOfCashFlowTable = ({
|
|
|
14199
14305
|
const renderLineItem = (lineItem, depth = 0, rowKey, rowIndex) => {
|
|
14200
14306
|
const expandable = !!lineItem.line_items && lineItem.line_items.length > 0;
|
|
14201
14307
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
14202
|
-
return /* @__PURE__ */
|
|
14308
|
+
return /* @__PURE__ */ import_react162.default.createElement(import_react162.default.Fragment, { key: rowKey + "-" + rowIndex }, /* @__PURE__ */ import_react162.default.createElement(
|
|
14203
14309
|
TableRow,
|
|
14204
14310
|
{
|
|
14205
14311
|
rowKey: rowKey + "-" + rowIndex,
|
|
@@ -14208,8 +14314,8 @@ var StatementOfCashFlowTable = ({
|
|
|
14208
14314
|
handleExpand: () => setIsOpen(rowKey),
|
|
14209
14315
|
depth
|
|
14210
14316
|
},
|
|
14211
|
-
/* @__PURE__ */
|
|
14212
|
-
/* @__PURE__ */
|
|
14317
|
+
/* @__PURE__ */ import_react162.default.createElement(TableCell, { withExpandIcon: expandable, primary: expandable }, lineItem.display_name),
|
|
14318
|
+
/* @__PURE__ */ import_react162.default.createElement(
|
|
14213
14319
|
TableCell,
|
|
14214
14320
|
{
|
|
14215
14321
|
isCurrency: !expandable || expandable && !expanded,
|
|
@@ -14225,35 +14331,35 @@ var StatementOfCashFlowTable = ({
|
|
|
14225
14331
|
rowKey + ":" + subItem.name,
|
|
14226
14332
|
subIdx
|
|
14227
14333
|
)
|
|
14228
|
-
), expanded && expandable && /* @__PURE__ */
|
|
14334
|
+
), expanded && expandable && /* @__PURE__ */ import_react162.default.createElement(
|
|
14229
14335
|
TableRow,
|
|
14230
14336
|
{
|
|
14231
14337
|
rowKey: rowKey + "-" + rowIndex + "--summation",
|
|
14232
14338
|
depth: depth + 1,
|
|
14233
14339
|
variant: "summation"
|
|
14234
14340
|
},
|
|
14235
|
-
/* @__PURE__ */
|
|
14236
|
-
/* @__PURE__ */
|
|
14341
|
+
/* @__PURE__ */ import_react162.default.createElement(TableCell, { primary: true }, `Total of ${lineItem.display_name}`),
|
|
14342
|
+
/* @__PURE__ */ import_react162.default.createElement(TableCell, { primary: true, isCurrency: true, align: "right" /* RIGHT */ }, lineItem.value)
|
|
14237
14343
|
));
|
|
14238
14344
|
};
|
|
14239
|
-
return /* @__PURE__ */
|
|
14345
|
+
return /* @__PURE__ */ import_react162.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react162.default.createElement(TableHead, null, /* @__PURE__ */ import_react162.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react162.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.typeColumnHeader) || "Type"), /* @__PURE__ */ import_react162.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.totalColumnHeader) || "Total"))), /* @__PURE__ */ import_react162.default.createElement(TableBody, null, config.map((row, idx) => {
|
|
14240
14346
|
if (row.type === "line_item") {
|
|
14241
|
-
return /* @__PURE__ */
|
|
14347
|
+
return /* @__PURE__ */ import_react162.default.createElement(import_react162.default.Fragment, { key: row.lineItem }, data[row.lineItem] && renderLineItem(
|
|
14242
14348
|
data[row.lineItem],
|
|
14243
14349
|
0,
|
|
14244
14350
|
row.lineItem ? row.lineItem : "",
|
|
14245
14351
|
idx
|
|
14246
14352
|
));
|
|
14247
14353
|
} else {
|
|
14248
|
-
return /* @__PURE__ */
|
|
14354
|
+
return /* @__PURE__ */ import_react162.default.createElement(
|
|
14249
14355
|
TableRow,
|
|
14250
14356
|
{
|
|
14251
14357
|
key: row.name + "-" + idx,
|
|
14252
14358
|
rowKey: row.name + "-" + idx,
|
|
14253
14359
|
variant: "default"
|
|
14254
14360
|
},
|
|
14255
|
-
/* @__PURE__ */
|
|
14256
|
-
/* @__PURE__ */
|
|
14361
|
+
/* @__PURE__ */ import_react162.default.createElement(TableCell, { primary: true }, row.displayName),
|
|
14362
|
+
/* @__PURE__ */ import_react162.default.createElement(TableCell, { primary: true, isCurrency: true, align: "right" /* RIGHT */ }, row.lineItem)
|
|
14257
14363
|
);
|
|
14258
14364
|
}
|
|
14259
14365
|
})));
|
|
@@ -14303,7 +14409,7 @@ var import_date_fns28 = require("date-fns");
|
|
|
14303
14409
|
var COMPONENT_NAME4 = "statement-of-cash-flow";
|
|
14304
14410
|
var StatementOfCashFlow = (props) => {
|
|
14305
14411
|
const cashContextData = useStatementOfCashFlow();
|
|
14306
|
-
return /* @__PURE__ */
|
|
14412
|
+
return /* @__PURE__ */ import_react163.default.createElement(StatementOfCashFlowContext.Provider, { value: cashContextData }, /* @__PURE__ */ import_react163.default.createElement(StatementOfCashFlowView, __spreadValues({}, props)));
|
|
14307
14413
|
};
|
|
14308
14414
|
var StatementOfCashFlowView = ({
|
|
14309
14415
|
stringOverrides,
|
|
@@ -14312,15 +14418,15 @@ var StatementOfCashFlowView = ({
|
|
|
14312
14418
|
allowedDatePickerModes,
|
|
14313
14419
|
customDateRanges
|
|
14314
14420
|
}) => {
|
|
14315
|
-
const [startDate, setStartDate] = (0,
|
|
14421
|
+
const [startDate, setStartDate] = (0, import_react163.useState)(
|
|
14316
14422
|
(0, import_date_fns28.startOfDay)((0, import_date_fns28.subWeeks)(/* @__PURE__ */ new Date(), 4))
|
|
14317
14423
|
);
|
|
14318
|
-
const [endDate, setEndDate] = (0,
|
|
14424
|
+
const [endDate, setEndDate] = (0, import_react163.useState)((0, import_date_fns28.startOfDay)(/* @__PURE__ */ new Date()));
|
|
14319
14425
|
const { data, isLoading, refetch } = useStatementOfCashFlow(
|
|
14320
14426
|
startDate,
|
|
14321
14427
|
endDate
|
|
14322
14428
|
);
|
|
14323
|
-
const [datePickerMode, setDatePickerMode] = (0,
|
|
14429
|
+
const [datePickerMode, setDatePickerMode] = (0, import_react163.useState)(
|
|
14324
14430
|
deprecated_datePickerMode != null ? deprecated_datePickerMode : defaultDatePickerMode
|
|
14325
14431
|
);
|
|
14326
14432
|
const handleDateChange = (dates) => {
|
|
@@ -14334,7 +14440,7 @@ var StatementOfCashFlowView = ({
|
|
|
14334
14440
|
refetch();
|
|
14335
14441
|
}
|
|
14336
14442
|
};
|
|
14337
|
-
const datePicker = datePickerMode === "monthPicker" ? /* @__PURE__ */
|
|
14443
|
+
const datePicker = datePickerMode === "monthPicker" ? /* @__PURE__ */ import_react163.default.createElement(
|
|
14338
14444
|
DatePicker,
|
|
14339
14445
|
{
|
|
14340
14446
|
selected: startDate,
|
|
@@ -14352,7 +14458,7 @@ var StatementOfCashFlowView = ({
|
|
|
14352
14458
|
ModeSelector: DatePickerModeSelector
|
|
14353
14459
|
}
|
|
14354
14460
|
}
|
|
14355
|
-
) : /* @__PURE__ */
|
|
14461
|
+
) : /* @__PURE__ */ import_react163.default.createElement(
|
|
14356
14462
|
DatePicker,
|
|
14357
14463
|
{
|
|
14358
14464
|
selected: [startDate, endDate],
|
|
@@ -14367,13 +14473,13 @@ var StatementOfCashFlowView = ({
|
|
|
14367
14473
|
}
|
|
14368
14474
|
}
|
|
14369
14475
|
);
|
|
14370
|
-
return /* @__PURE__ */
|
|
14476
|
+
return /* @__PURE__ */ import_react163.default.createElement(TableProvider, null, /* @__PURE__ */ import_react163.default.createElement(
|
|
14371
14477
|
View,
|
|
14372
14478
|
{
|
|
14373
14479
|
type: "panel",
|
|
14374
|
-
header: /* @__PURE__ */
|
|
14480
|
+
header: /* @__PURE__ */ import_react163.default.createElement(Header2, null, /* @__PURE__ */ import_react163.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react163.default.createElement(HeaderCol, null, datePicker)))
|
|
14375
14481
|
},
|
|
14376
|
-
!data || isLoading ? /* @__PURE__ */
|
|
14482
|
+
!data || isLoading ? /* @__PURE__ */ import_react163.default.createElement("div", { className: `Layer__${COMPONENT_NAME4}__loader-container` }, /* @__PURE__ */ import_react163.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react163.default.createElement(
|
|
14377
14483
|
StatementOfCashFlowTable,
|
|
14378
14484
|
{
|
|
14379
14485
|
data,
|
|
@@ -14385,12 +14491,12 @@ var StatementOfCashFlowView = ({
|
|
|
14385
14491
|
};
|
|
14386
14492
|
|
|
14387
14493
|
// src/components/ChartOfAccounts/ChartOfAccounts.tsx
|
|
14388
|
-
var
|
|
14494
|
+
var import_react181 = __toESM(require("react"));
|
|
14389
14495
|
|
|
14390
14496
|
// src/contexts/ChartOfAccountsContext/ChartOfAccountsContext.tsx
|
|
14391
|
-
var
|
|
14497
|
+
var import_react164 = require("react");
|
|
14392
14498
|
var import_date_fns29 = require("date-fns");
|
|
14393
|
-
var ChartOfAccountsContext = (0,
|
|
14499
|
+
var ChartOfAccountsContext = (0, import_react164.createContext)(
|
|
14394
14500
|
{
|
|
14395
14501
|
data: void 0,
|
|
14396
14502
|
isLoading: false,
|
|
@@ -14421,8 +14527,8 @@ var ChartOfAccountsContext = (0, import_react160.createContext)(
|
|
|
14421
14527
|
);
|
|
14422
14528
|
|
|
14423
14529
|
// src/contexts/LedgerAccountsContext/LedgerAccountsContext.tsx
|
|
14424
|
-
var
|
|
14425
|
-
var LedgerAccountsContext = (0,
|
|
14530
|
+
var import_react165 = require("react");
|
|
14531
|
+
var LedgerAccountsContext = (0, import_react165.createContext)({
|
|
14426
14532
|
data: void 0,
|
|
14427
14533
|
entryData: void 0,
|
|
14428
14534
|
isLoading: false,
|
|
@@ -14444,7 +14550,7 @@ var LedgerAccountsContext = (0, import_react161.createContext)({
|
|
|
14444
14550
|
});
|
|
14445
14551
|
|
|
14446
14552
|
// src/hooks/useChartOfAccounts/useChartOfAccounts.tsx
|
|
14447
|
-
var
|
|
14553
|
+
var import_react166 = require("react");
|
|
14448
14554
|
|
|
14449
14555
|
// src/components/ChartOfAccountsForm/constants.ts
|
|
14450
14556
|
var LEDGER_ACCOUNT_TYPES = [
|
|
@@ -14744,13 +14850,13 @@ var useChartOfAccounts = ({ withDates, startDate: initialStartDate, endDate: ini
|
|
|
14744
14850
|
syncTimestamps,
|
|
14745
14851
|
hasBeenTouched
|
|
14746
14852
|
} = useLayerContext();
|
|
14747
|
-
const [form, setForm] = (0,
|
|
14748
|
-
const [sendingForm, setSendingForm] = (0,
|
|
14749
|
-
const [apiError, setApiError] = (0,
|
|
14750
|
-
const [startDate, setStartDate] = (0,
|
|
14853
|
+
const [form, setForm] = (0, import_react166.useState)();
|
|
14854
|
+
const [sendingForm, setSendingForm] = (0, import_react166.useState)(false);
|
|
14855
|
+
const [apiError, setApiError] = (0, import_react166.useState)(void 0);
|
|
14856
|
+
const [startDate, setStartDate] = (0, import_react166.useState)(
|
|
14751
14857
|
initialStartDate != null ? initialStartDate : (0, import_date_fns30.startOfMonth)(Date.now())
|
|
14752
14858
|
);
|
|
14753
|
-
const [endDate, setEndDate] = (0,
|
|
14859
|
+
const [endDate, setEndDate] = (0, import_react166.useState)(
|
|
14754
14860
|
initialEndDate != null ? initialEndDate : (0, import_date_fns30.endOfMonth)(Date.now())
|
|
14755
14861
|
);
|
|
14756
14862
|
const queryKey = businessId && (auth == null ? void 0 : auth.access_token) && `chart-of-accounts-${businessId}-${startDate == null ? void 0 : startDate.valueOf()}-${endDate == null ? void 0 : endDate.valueOf()}`;
|
|
@@ -14932,12 +15038,12 @@ var useChartOfAccounts = ({ withDates, startDate: initialStartDate, endDate: ini
|
|
|
14932
15038
|
newEndDate && setEndDate(newEndDate);
|
|
14933
15039
|
};
|
|
14934
15040
|
const refetch = () => mutate();
|
|
14935
|
-
(0,
|
|
15041
|
+
(0, import_react166.useEffect)(() => {
|
|
14936
15042
|
if (queryKey && (isLoading || isValidating)) {
|
|
14937
15043
|
read("CHART_OF_ACCOUNTS" /* CHART_OF_ACCOUNTS */, queryKey);
|
|
14938
15044
|
}
|
|
14939
15045
|
}, [isLoading, isValidating]);
|
|
14940
|
-
(0,
|
|
15046
|
+
(0, import_react166.useEffect)(() => {
|
|
14941
15047
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
14942
15048
|
refetch();
|
|
14943
15049
|
}
|
|
@@ -14963,12 +15069,12 @@ var useChartOfAccounts = ({ withDates, startDate: initialStartDate, endDate: ini
|
|
|
14963
15069
|
};
|
|
14964
15070
|
|
|
14965
15071
|
// src/hooks/useLedgerAccounts/useLedgerAccounts.tsx
|
|
14966
|
-
var
|
|
15072
|
+
var import_react167 = require("react");
|
|
14967
15073
|
var import_swr9 = __toESM(require("swr"));
|
|
14968
15074
|
var useLedgerAccounts = (showReversalEntries = false) => {
|
|
14969
15075
|
const { auth, businessId, apiUrl, read, syncTimestamps, hasBeenTouched } = useLayerContext();
|
|
14970
|
-
const [accountId, setAccountId] = (0,
|
|
14971
|
-
const [selectedEntryId, setSelectedEntryId] = (0,
|
|
15076
|
+
const [accountId, setAccountId] = (0, import_react167.useState)();
|
|
15077
|
+
const [selectedEntryId, setSelectedEntryId] = (0, import_react167.useState)();
|
|
14972
15078
|
const queryKey = businessId && accountId && (auth == null ? void 0 : auth.access_token) && `ledger-accounts-lines-${businessId}-${accountId}`;
|
|
14973
15079
|
const { data, isLoading, isValidating, error, mutate } = (0, import_swr9.default)(
|
|
14974
15080
|
queryKey,
|
|
@@ -14997,12 +15103,12 @@ var useLedgerAccounts = (showReversalEntries = false) => {
|
|
|
14997
15103
|
setSelectedEntryId(void 0);
|
|
14998
15104
|
mutateEntryData();
|
|
14999
15105
|
};
|
|
15000
|
-
(0,
|
|
15106
|
+
(0, import_react167.useEffect)(() => {
|
|
15001
15107
|
if (queryKey && (isLoading || isValidating)) {
|
|
15002
15108
|
read("LEDGER_ACCOUNTS" /* LEDGER_ACCOUNTS */, queryKey);
|
|
15003
15109
|
}
|
|
15004
15110
|
}, [isLoading, isValidating]);
|
|
15005
|
-
(0,
|
|
15111
|
+
(0, import_react167.useEffect)(() => {
|
|
15006
15112
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
15007
15113
|
refetch();
|
|
15008
15114
|
}
|
|
@@ -15026,13 +15132,13 @@ var useLedgerAccounts = (showReversalEntries = false) => {
|
|
|
15026
15132
|
};
|
|
15027
15133
|
|
|
15028
15134
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTableWithPanel.tsx
|
|
15029
|
-
var
|
|
15135
|
+
var import_react173 = __toESM(require("react"));
|
|
15030
15136
|
|
|
15031
15137
|
// src/icons/Plus.tsx
|
|
15032
|
-
var
|
|
15138
|
+
var React171 = __toESM(require("react"));
|
|
15033
15139
|
var Plus = (_a) => {
|
|
15034
15140
|
var _b = _a, { size = 14 } = _b, props = __objRest(_b, ["size"]);
|
|
15035
|
-
return /* @__PURE__ */
|
|
15141
|
+
return /* @__PURE__ */ React171.createElement(
|
|
15036
15142
|
"svg",
|
|
15037
15143
|
__spreadProps(__spreadValues({
|
|
15038
15144
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -15042,7 +15148,7 @@ var Plus = (_a) => {
|
|
|
15042
15148
|
width: size,
|
|
15043
15149
|
height: size
|
|
15044
15150
|
}),
|
|
15045
|
-
/* @__PURE__ */
|
|
15151
|
+
/* @__PURE__ */ React171.createElement(
|
|
15046
15152
|
"path",
|
|
15047
15153
|
{
|
|
15048
15154
|
d: "M7 2.91602V11.0827",
|
|
@@ -15051,7 +15157,7 @@ var Plus = (_a) => {
|
|
|
15051
15157
|
strokeLinejoin: "round"
|
|
15052
15158
|
}
|
|
15053
15159
|
),
|
|
15054
|
-
/* @__PURE__ */
|
|
15160
|
+
/* @__PURE__ */ React171.createElement(
|
|
15055
15161
|
"path",
|
|
15056
15162
|
{
|
|
15057
15163
|
d: "M2.91669 7H11.0834",
|
|
@@ -15065,11 +15171,11 @@ var Plus = (_a) => {
|
|
|
15065
15171
|
var Plus_default = Plus;
|
|
15066
15172
|
|
|
15067
15173
|
// src/components/ChartOfAccountsDatePicker/ChartOfAccountsDatePicker.tsx
|
|
15068
|
-
var
|
|
15174
|
+
var import_react168 = __toESM(require("react"));
|
|
15069
15175
|
var import_date_fns31 = require("date-fns");
|
|
15070
15176
|
var ChartOfAccountsDatePicker = () => {
|
|
15071
|
-
const { changeDateRange, dateRange } = (0,
|
|
15072
|
-
return /* @__PURE__ */
|
|
15177
|
+
const { changeDateRange, dateRange } = (0, import_react168.useContext)(ChartOfAccountsContext);
|
|
15178
|
+
return /* @__PURE__ */ import_react168.default.createElement(
|
|
15073
15179
|
DatePicker,
|
|
15074
15180
|
{
|
|
15075
15181
|
mode: "monthPicker",
|
|
@@ -15087,16 +15193,16 @@ var ChartOfAccountsDatePicker = () => {
|
|
|
15087
15193
|
};
|
|
15088
15194
|
|
|
15089
15195
|
// src/components/ChartOfAccountsSidebar/ChartOfAccountsSidebar.tsx
|
|
15090
|
-
var
|
|
15196
|
+
var import_react171 = __toESM(require("react"));
|
|
15091
15197
|
|
|
15092
15198
|
// src/components/ChartOfAccountsForm/ChartOfAccountsForm.tsx
|
|
15093
|
-
var
|
|
15199
|
+
var import_react170 = __toESM(require("react"));
|
|
15094
15200
|
|
|
15095
15201
|
// src/components/ChartOfAccountsForm/useParentOptions.ts
|
|
15096
|
-
var
|
|
15202
|
+
var import_react169 = require("react");
|
|
15097
15203
|
var useParentOptions = (data) => {
|
|
15098
15204
|
var _a;
|
|
15099
|
-
return (0,
|
|
15205
|
+
return (0, import_react169.useMemo)(
|
|
15100
15206
|
() => flattenAccounts((data == null ? void 0 : data.accounts) || []).sort((a, b) => (a == null ? void 0 : a.name) && (b == null ? void 0 : b.name) ? a.name.localeCompare(b.name) : 0).map((x) => {
|
|
15101
15207
|
return {
|
|
15102
15208
|
label: x.name,
|
|
@@ -15120,9 +15226,9 @@ var ChartOfAccountsForm = ({
|
|
|
15120
15226
|
submitForm,
|
|
15121
15227
|
sendingForm,
|
|
15122
15228
|
apiError
|
|
15123
|
-
} = (0,
|
|
15229
|
+
} = (0, import_react170.useContext)(ChartOfAccountsContext);
|
|
15124
15230
|
const parentOptions = useParentOptions(data);
|
|
15125
|
-
const entry = (0,
|
|
15231
|
+
const entry = (0, import_react170.useMemo)(() => {
|
|
15126
15232
|
if ((form == null ? void 0 : form.action) === "edit" && form.accountId) {
|
|
15127
15233
|
return flattenAccounts((data == null ? void 0 : data.accounts) || []).find(
|
|
15128
15234
|
(x) => x.id === form.accountId
|
|
@@ -15133,7 +15239,7 @@ var ChartOfAccountsForm = ({
|
|
|
15133
15239
|
if (!form) {
|
|
15134
15240
|
return null;
|
|
15135
15241
|
}
|
|
15136
|
-
return /* @__PURE__ */
|
|
15242
|
+
return /* @__PURE__ */ import_react170.default.createElement(
|
|
15137
15243
|
"form",
|
|
15138
15244
|
{
|
|
15139
15245
|
className: "Layer__form",
|
|
@@ -15142,7 +15248,7 @@ var ChartOfAccountsForm = ({
|
|
|
15142
15248
|
submitForm();
|
|
15143
15249
|
}
|
|
15144
15250
|
},
|
|
15145
|
-
/* @__PURE__ */
|
|
15251
|
+
/* @__PURE__ */ import_react170.default.createElement(Header2, { className: "Layer__chart-of-accounts__sidebar__header" }, /* @__PURE__ */ import_react170.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react170.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react170.default.createElement(Heading, { size: "secondary" /* secondary */, className: "title" }, (form == null ? void 0 : form.action) === "edit" ? (stringOverrides == null ? void 0 : stringOverrides.editModeHeader) || "Edit Account" : (stringOverrides == null ? void 0 : stringOverrides.createModeHeader) || "Add New Account")), /* @__PURE__ */ import_react170.default.createElement(HeaderCol, { className: "actions" }, /* @__PURE__ */ import_react170.default.createElement(
|
|
15146
15252
|
Button,
|
|
15147
15253
|
{
|
|
15148
15254
|
type: "button",
|
|
@@ -15151,7 +15257,7 @@ var ChartOfAccountsForm = ({
|
|
|
15151
15257
|
disabled: sendingForm
|
|
15152
15258
|
},
|
|
15153
15259
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
15154
|
-
), apiError && /* @__PURE__ */
|
|
15260
|
+
), apiError && /* @__PURE__ */ import_react170.default.createElement(
|
|
15155
15261
|
RetryButton,
|
|
15156
15262
|
{
|
|
15157
15263
|
type: "submit",
|
|
@@ -15160,7 +15266,7 @@ var ChartOfAccountsForm = ({
|
|
|
15160
15266
|
disabled: sendingForm
|
|
15161
15267
|
},
|
|
15162
15268
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
15163
|
-
), !apiError && /* @__PURE__ */
|
|
15269
|
+
), !apiError && /* @__PURE__ */ import_react170.default.createElement(
|
|
15164
15270
|
SubmitButton,
|
|
15165
15271
|
{
|
|
15166
15272
|
type: "submit",
|
|
@@ -15170,7 +15276,7 @@ var ChartOfAccountsForm = ({
|
|
|
15170
15276
|
},
|
|
15171
15277
|
(stringOverrides == null ? void 0 : stringOverrides.saveButton) || "Save"
|
|
15172
15278
|
)))),
|
|
15173
|
-
apiError && /* @__PURE__ */
|
|
15279
|
+
apiError && /* @__PURE__ */ import_react170.default.createElement(
|
|
15174
15280
|
Text,
|
|
15175
15281
|
{
|
|
15176
15282
|
size: "sm" /* sm */,
|
|
@@ -15178,15 +15284,15 @@ var ChartOfAccountsForm = ({
|
|
|
15178
15284
|
},
|
|
15179
15285
|
apiError
|
|
15180
15286
|
),
|
|
15181
|
-
entry && /* @__PURE__ */
|
|
15182
|
-
/* @__PURE__ */
|
|
15287
|
+
entry && /* @__PURE__ */ import_react170.default.createElement("div", { className: "Layer__chart-of-accounts__form-edit-entry" }, /* @__PURE__ */ import_react170.default.createElement(Text, { weight: "bold" /* bold */ }, entry.name), /* @__PURE__ */ import_react170.default.createElement(Text, { weight: "bold" /* bold */ }, "$", centsToDollars(entry.balance || 0))),
|
|
15288
|
+
/* @__PURE__ */ import_react170.default.createElement("div", { className: "Layer__chart-of-accounts__form" }, /* @__PURE__ */ import_react170.default.createElement(
|
|
15183
15289
|
InputGroup,
|
|
15184
15290
|
{
|
|
15185
15291
|
name: "parent",
|
|
15186
15292
|
label: (stringOverrides == null ? void 0 : stringOverrides.parentLabel) || "Parent",
|
|
15187
15293
|
inline: true
|
|
15188
15294
|
},
|
|
15189
|
-
/* @__PURE__ */
|
|
15295
|
+
/* @__PURE__ */ import_react170.default.createElement(
|
|
15190
15296
|
Select2,
|
|
15191
15297
|
{
|
|
15192
15298
|
options: parentOptions,
|
|
@@ -15195,14 +15301,14 @@ var ChartOfAccountsForm = ({
|
|
|
15195
15301
|
disabled: sendingForm
|
|
15196
15302
|
}
|
|
15197
15303
|
)
|
|
15198
|
-
), /* @__PURE__ */
|
|
15304
|
+
), /* @__PURE__ */ import_react170.default.createElement(
|
|
15199
15305
|
InputGroup,
|
|
15200
15306
|
{
|
|
15201
15307
|
name: "name",
|
|
15202
15308
|
label: (stringOverrides == null ? void 0 : stringOverrides.nameLabel) || "Name",
|
|
15203
15309
|
inline: true
|
|
15204
15310
|
},
|
|
15205
|
-
/* @__PURE__ */
|
|
15311
|
+
/* @__PURE__ */ import_react170.default.createElement(
|
|
15206
15312
|
Input,
|
|
15207
15313
|
{
|
|
15208
15314
|
name: "name",
|
|
@@ -15214,14 +15320,14 @@ var ChartOfAccountsForm = ({
|
|
|
15214
15320
|
onChange: (e) => changeFormData("name", e.target.value)
|
|
15215
15321
|
}
|
|
15216
15322
|
)
|
|
15217
|
-
), /* @__PURE__ */
|
|
15323
|
+
), /* @__PURE__ */ import_react170.default.createElement(
|
|
15218
15324
|
InputGroup,
|
|
15219
15325
|
{
|
|
15220
15326
|
name: "type",
|
|
15221
15327
|
label: (stringOverrides == null ? void 0 : stringOverrides.typeLabel) || "Type",
|
|
15222
15328
|
inline: true
|
|
15223
15329
|
},
|
|
15224
|
-
/* @__PURE__ */
|
|
15330
|
+
/* @__PURE__ */ import_react170.default.createElement(
|
|
15225
15331
|
Select2,
|
|
15226
15332
|
{
|
|
15227
15333
|
options: LEDGER_ACCOUNT_TYPES,
|
|
@@ -15232,14 +15338,14 @@ var ChartOfAccountsForm = ({
|
|
|
15232
15338
|
disabled: sendingForm || form.action === "edit" || form.data.parent !== void 0
|
|
15233
15339
|
}
|
|
15234
15340
|
)
|
|
15235
|
-
), /* @__PURE__ */
|
|
15341
|
+
), /* @__PURE__ */ import_react170.default.createElement(
|
|
15236
15342
|
InputGroup,
|
|
15237
15343
|
{
|
|
15238
15344
|
name: "subType",
|
|
15239
15345
|
label: (stringOverrides == null ? void 0 : stringOverrides.subTypeLabel) || "Sub-Type",
|
|
15240
15346
|
inline: true
|
|
15241
15347
|
},
|
|
15242
|
-
/* @__PURE__ */
|
|
15348
|
+
/* @__PURE__ */ import_react170.default.createElement(
|
|
15243
15349
|
Select2,
|
|
15244
15350
|
{
|
|
15245
15351
|
options: ((_g = form == null ? void 0 : form.data.type) == null ? void 0 : _g.value) !== void 0 ? LEDGER_ACCOUNT_SUBTYPES_FOR_TYPE[(_h = form == null ? void 0 : form.data.type) == null ? void 0 : _h.value] : LEDGER_ACCOUNT_SUBTYPES,
|
|
@@ -15248,14 +15354,14 @@ var ChartOfAccountsForm = ({
|
|
|
15248
15354
|
disabled: sendingForm
|
|
15249
15355
|
}
|
|
15250
15356
|
)
|
|
15251
|
-
), /* @__PURE__ */
|
|
15357
|
+
), /* @__PURE__ */ import_react170.default.createElement(
|
|
15252
15358
|
InputGroup,
|
|
15253
15359
|
{
|
|
15254
15360
|
name: "normality",
|
|
15255
15361
|
label: (stringOverrides == null ? void 0 : stringOverrides.normalityLabel) || "Normality",
|
|
15256
15362
|
inline: true
|
|
15257
15363
|
},
|
|
15258
|
-
/* @__PURE__ */
|
|
15364
|
+
/* @__PURE__ */ import_react170.default.createElement(
|
|
15259
15365
|
Select2,
|
|
15260
15366
|
{
|
|
15261
15367
|
options: NORMALITY_OPTIONS,
|
|
@@ -15268,7 +15374,7 @@ var ChartOfAccountsForm = ({
|
|
|
15268
15374
|
disabled: sendingForm
|
|
15269
15375
|
}
|
|
15270
15376
|
)
|
|
15271
|
-
), /* @__PURE__ */
|
|
15377
|
+
), /* @__PURE__ */ import_react170.default.createElement("div", { className: "actions" }, /* @__PURE__ */ import_react170.default.createElement(
|
|
15272
15378
|
Button,
|
|
15273
15379
|
{
|
|
15274
15380
|
type: "button",
|
|
@@ -15277,7 +15383,7 @@ var ChartOfAccountsForm = ({
|
|
|
15277
15383
|
disabled: sendingForm
|
|
15278
15384
|
},
|
|
15279
15385
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
15280
|
-
), apiError && /* @__PURE__ */
|
|
15386
|
+
), apiError && /* @__PURE__ */ import_react170.default.createElement(
|
|
15281
15387
|
RetryButton,
|
|
15282
15388
|
{
|
|
15283
15389
|
type: "submit",
|
|
@@ -15286,7 +15392,7 @@ var ChartOfAccountsForm = ({
|
|
|
15286
15392
|
disabled: sendingForm
|
|
15287
15393
|
},
|
|
15288
15394
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
15289
|
-
), !apiError && /* @__PURE__ */
|
|
15395
|
+
), !apiError && /* @__PURE__ */ import_react170.default.createElement(
|
|
15290
15396
|
SubmitButton,
|
|
15291
15397
|
{
|
|
15292
15398
|
type: "submit",
|
|
@@ -15304,17 +15410,17 @@ var ChartOfAccountsSidebar = ({
|
|
|
15304
15410
|
parentRef: _parentRef,
|
|
15305
15411
|
stringOverrides
|
|
15306
15412
|
}) => {
|
|
15307
|
-
return /* @__PURE__ */
|
|
15413
|
+
return /* @__PURE__ */ import_react171.default.createElement(ChartOfAccountsForm, { stringOverrides });
|
|
15308
15414
|
};
|
|
15309
15415
|
|
|
15310
15416
|
// src/components/ChartOfAccountsTable/ChartOfAccountsTable.tsx
|
|
15311
|
-
var
|
|
15417
|
+
var import_react172 = __toESM(require("react"));
|
|
15312
15418
|
|
|
15313
15419
|
// src/icons/Edit2.tsx
|
|
15314
|
-
var
|
|
15420
|
+
var React175 = __toESM(require("react"));
|
|
15315
15421
|
var Edit2 = (_a) => {
|
|
15316
15422
|
var _b = _a, { size = 18 } = _b, props = __objRest(_b, ["size"]);
|
|
15317
|
-
return /* @__PURE__ */
|
|
15423
|
+
return /* @__PURE__ */ React175.createElement(
|
|
15318
15424
|
"svg",
|
|
15319
15425
|
__spreadProps(__spreadValues({
|
|
15320
15426
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -15324,7 +15430,7 @@ var Edit2 = (_a) => {
|
|
|
15324
15430
|
width: size,
|
|
15325
15431
|
height: size
|
|
15326
15432
|
}),
|
|
15327
|
-
/* @__PURE__ */
|
|
15433
|
+
/* @__PURE__ */ React175.createElement(
|
|
15328
15434
|
"path",
|
|
15329
15435
|
{
|
|
15330
15436
|
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",
|
|
@@ -15347,7 +15453,7 @@ var ChartOfAccountsTable = ({
|
|
|
15347
15453
|
cumulativeIndex,
|
|
15348
15454
|
accountsLength,
|
|
15349
15455
|
templateAccountsEditable = true
|
|
15350
|
-
}) => /* @__PURE__ */
|
|
15456
|
+
}) => /* @__PURE__ */ import_react172.default.createElement(TableProvider, null, /* @__PURE__ */ import_react172.default.createElement(
|
|
15351
15457
|
ChartOfAccountsTableContent,
|
|
15352
15458
|
{
|
|
15353
15459
|
view,
|
|
@@ -15367,18 +15473,18 @@ var ChartOfAccountsTableContent = ({
|
|
|
15367
15473
|
expandAll,
|
|
15368
15474
|
templateAccountsEditable
|
|
15369
15475
|
}) => {
|
|
15370
|
-
const { setAccountId } = (0,
|
|
15371
|
-
const { editAccount } = (0,
|
|
15476
|
+
const { setAccountId } = (0, import_react172.useContext)(LedgerAccountsContext);
|
|
15477
|
+
const { editAccount } = (0, import_react172.useContext)(ChartOfAccountsContext);
|
|
15372
15478
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
15373
|
-
const [accountsRowKeys, setAccountsRowKeys] = (0,
|
|
15374
|
-
(0,
|
|
15479
|
+
const [accountsRowKeys, setAccountsRowKeys] = (0, import_react172.useState)([]);
|
|
15480
|
+
(0, import_react172.useEffect)(() => {
|
|
15375
15481
|
if (expandAll === "expanded") {
|
|
15376
15482
|
setIsOpen(accountsRowKeys);
|
|
15377
15483
|
} else if (expandAll === "collapsed") {
|
|
15378
15484
|
setIsOpen([]);
|
|
15379
15485
|
}
|
|
15380
15486
|
}, [expandAll]);
|
|
15381
|
-
(0,
|
|
15487
|
+
(0, import_react172.useEffect)(() => {
|
|
15382
15488
|
const defaultExpanded = data.accounts.map(
|
|
15383
15489
|
(account) => "coa-row-" + account.id
|
|
15384
15490
|
);
|
|
@@ -15397,7 +15503,7 @@ var ChartOfAccountsTableContent = ({
|
|
|
15397
15503
|
var _a, _b;
|
|
15398
15504
|
const expandable = !!account.sub_accounts && account.sub_accounts.length > 0;
|
|
15399
15505
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
15400
|
-
return /* @__PURE__ */
|
|
15506
|
+
return /* @__PURE__ */ import_react172.default.createElement(import_react172.default.Fragment, { key: rowKey + "-" + index }, /* @__PURE__ */ import_react172.default.createElement(
|
|
15401
15507
|
TableRow,
|
|
15402
15508
|
{
|
|
15403
15509
|
rowKey: rowKey + "-" + index,
|
|
@@ -15409,7 +15515,7 @@ var ChartOfAccountsTableContent = ({
|
|
|
15409
15515
|
},
|
|
15410
15516
|
depth
|
|
15411
15517
|
},
|
|
15412
|
-
/* @__PURE__ */
|
|
15518
|
+
/* @__PURE__ */ import_react172.default.createElement(
|
|
15413
15519
|
TableCell,
|
|
15414
15520
|
{
|
|
15415
15521
|
withExpandIcon: expandable,
|
|
@@ -15420,14 +15526,14 @@ var ChartOfAccountsTableContent = ({
|
|
|
15420
15526
|
},
|
|
15421
15527
|
account.name
|
|
15422
15528
|
),
|
|
15423
|
-
/* @__PURE__ */
|
|
15424
|
-
/* @__PURE__ */
|
|
15425
|
-
/* @__PURE__ */
|
|
15426
|
-
/* @__PURE__ */
|
|
15529
|
+
/* @__PURE__ */ import_react172.default.createElement(TableCell, null, (_a = account.account_type) == null ? void 0 : _a.display_name),
|
|
15530
|
+
/* @__PURE__ */ import_react172.default.createElement(TableCell, null, (_b = account.account_subtype) == null ? void 0 : _b.display_name),
|
|
15531
|
+
/* @__PURE__ */ import_react172.default.createElement(TableCell, { isCurrency: true }, account.balance),
|
|
15532
|
+
/* @__PURE__ */ import_react172.default.createElement(TableCell, null, /* @__PURE__ */ import_react172.default.createElement("span", { className: "Layer__coa__actions" }, /* @__PURE__ */ import_react172.default.createElement(
|
|
15427
15533
|
Button,
|
|
15428
15534
|
{
|
|
15429
15535
|
variant: "secondary" /* secondary */,
|
|
15430
|
-
rightIcon: /* @__PURE__ */
|
|
15536
|
+
rightIcon: /* @__PURE__ */ import_react172.default.createElement(Edit2_default, { size: 12 }),
|
|
15431
15537
|
iconOnly: true,
|
|
15432
15538
|
disabled: !templateAccountsEditable && !!account.stable_name,
|
|
15433
15539
|
onClick: (e) => {
|
|
@@ -15449,7 +15555,7 @@ var ChartOfAccountsTableContent = ({
|
|
|
15449
15555
|
);
|
|
15450
15556
|
}));
|
|
15451
15557
|
};
|
|
15452
|
-
return /* @__PURE__ */
|
|
15558
|
+
return /* @__PURE__ */ import_react172.default.createElement(Table, null, /* @__PURE__ */ import_react172.default.createElement(TableHead, null, /* @__PURE__ */ import_react172.default.createElement(TableRow, { isHeadRow: true, rowKey: "charts-of-accounts-head-row" }, /* @__PURE__ */ import_react172.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.nameColumnHeader) || "Name"), /* @__PURE__ */ import_react172.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.typeColumnHeader) || "Type"), /* @__PURE__ */ import_react172.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.subtypeColumnHeader) || "Sub-Type"), /* @__PURE__ */ import_react172.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.balanceColumnHeader) || "Balance"), /* @__PURE__ */ import_react172.default.createElement(TableCell, { isHeaderCell: true }))), /* @__PURE__ */ import_react172.default.createElement(TableBody, null, !error && data.accounts.map(
|
|
15453
15559
|
(account, idx) => renderChartOfAccountsDesktopRow(
|
|
15454
15560
|
account,
|
|
15455
15561
|
idx,
|
|
@@ -15471,14 +15577,14 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
15471
15577
|
templateAccountsEditable
|
|
15472
15578
|
}) => {
|
|
15473
15579
|
var _a;
|
|
15474
|
-
const { data, isLoading, addAccount, error, isValidating, refetch, form } = (0,
|
|
15475
|
-
const [expandAll, setExpandAll] = (0,
|
|
15580
|
+
const { data, isLoading, addAccount, error, isValidating, refetch, form } = (0, import_react173.useContext)(ChartOfAccountsContext);
|
|
15581
|
+
const [expandAll, setExpandAll] = (0, import_react173.useState)();
|
|
15476
15582
|
const cumulativeIndex = 0;
|
|
15477
15583
|
const accountsLength = (_a = data == null ? void 0 : data.accounts.length) != null ? _a : 0;
|
|
15478
|
-
return /* @__PURE__ */
|
|
15584
|
+
return /* @__PURE__ */ import_react173.default.createElement(
|
|
15479
15585
|
Panel,
|
|
15480
15586
|
{
|
|
15481
|
-
sidebar: /* @__PURE__ */
|
|
15587
|
+
sidebar: /* @__PURE__ */ import_react173.default.createElement(
|
|
15482
15588
|
ChartOfAccountsSidebar,
|
|
15483
15589
|
{
|
|
15484
15590
|
parentRef: containerRef,
|
|
@@ -15488,7 +15594,7 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
15488
15594
|
sidebarIsOpen: Boolean(form),
|
|
15489
15595
|
parentRef: containerRef
|
|
15490
15596
|
},
|
|
15491
|
-
/* @__PURE__ */
|
|
15597
|
+
/* @__PURE__ */ import_react173.default.createElement(Header2, { className: `Layer__${COMPONENT_NAME5}__header`, asHeader: true, rounded: true }, /* @__PURE__ */ import_react173.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react173.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react173.default.createElement(
|
|
15492
15598
|
Heading,
|
|
15493
15599
|
{
|
|
15494
15600
|
className: `Layer__${COMPONENT_NAME5}__title`,
|
|
@@ -15496,13 +15602,13 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
15496
15602
|
},
|
|
15497
15603
|
(stringOverrides == null ? void 0 : stringOverrides.headerText) || "Chart of Accounts"
|
|
15498
15604
|
)))),
|
|
15499
|
-
/* @__PURE__ */
|
|
15605
|
+
/* @__PURE__ */ import_react173.default.createElement(Header2, { className: `Layer__${COMPONENT_NAME5}__header`, sticky: true }, /* @__PURE__ */ import_react173.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react173.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react173.default.createElement(
|
|
15500
15606
|
Heading,
|
|
15501
15607
|
{
|
|
15502
15608
|
size: "secondary" /* secondary */,
|
|
15503
15609
|
className: `Layer__${COMPONENT_NAME5}__subtitle`
|
|
15504
15610
|
},
|
|
15505
|
-
withDateControl || withExpandAllButton ? /* @__PURE__ */
|
|
15611
|
+
withDateControl || withExpandAllButton ? /* @__PURE__ */ import_react173.default.createElement("div", { className: "Layer__header__actions-col" }, withDateControl && /* @__PURE__ */ import_react173.default.createElement(ChartOfAccountsDatePicker, null), withExpandAllButton && /* @__PURE__ */ import_react173.default.createElement(
|
|
15506
15612
|
ExpandCollapseButton,
|
|
15507
15613
|
{
|
|
15508
15614
|
iconOnly: view === "mobile",
|
|
@@ -15513,17 +15619,17 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
15513
15619
|
variant: "secondary" /* secondary */
|
|
15514
15620
|
}
|
|
15515
15621
|
)) : null
|
|
15516
|
-
)), /* @__PURE__ */
|
|
15622
|
+
)), /* @__PURE__ */ import_react173.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react173.default.createElement(
|
|
15517
15623
|
Button,
|
|
15518
15624
|
{
|
|
15519
15625
|
onClick: () => addAccount(),
|
|
15520
15626
|
disabled: isLoading,
|
|
15521
15627
|
iconOnly: ["mobile", "tablet"].includes(view),
|
|
15522
|
-
leftIcon: ["mobile", "tablet"].includes(view) && /* @__PURE__ */
|
|
15628
|
+
leftIcon: ["mobile", "tablet"].includes(view) && /* @__PURE__ */ import_react173.default.createElement(Plus_default, { size: 14 })
|
|
15523
15629
|
},
|
|
15524
15630
|
(stringOverrides == null ? void 0 : stringOverrides.addAccountButtonText) || "Add Account"
|
|
15525
15631
|
)))),
|
|
15526
|
-
data && /* @__PURE__ */
|
|
15632
|
+
data && /* @__PURE__ */ import_react173.default.createElement(
|
|
15527
15633
|
ChartOfAccountsTable,
|
|
15528
15634
|
{
|
|
15529
15635
|
view,
|
|
@@ -15536,7 +15642,7 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
15536
15642
|
templateAccountsEditable
|
|
15537
15643
|
}
|
|
15538
15644
|
),
|
|
15539
|
-
error ? /* @__PURE__ */
|
|
15645
|
+
error ? /* @__PURE__ */ import_react173.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react173.default.createElement(
|
|
15540
15646
|
DataState,
|
|
15541
15647
|
{
|
|
15542
15648
|
status: "failed" /* failed */,
|
|
@@ -15546,8 +15652,8 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
15546
15652
|
isLoading: isValidating || isLoading
|
|
15547
15653
|
}
|
|
15548
15654
|
)) : null,
|
|
15549
|
-
(!data || isLoading) && !error ? /* @__PURE__ */
|
|
15550
|
-
!isLoading && !error && (data == null ? void 0 : data.accounts.length) === 0 ? /* @__PURE__ */
|
|
15655
|
+
(!data || isLoading) && !error ? /* @__PURE__ */ import_react173.default.createElement("div", { className: `Layer__${COMPONENT_NAME5}__loader-container` }, /* @__PURE__ */ import_react173.default.createElement(Loader2, null)) : null,
|
|
15656
|
+
!isLoading && !error && (data == null ? void 0 : data.accounts.length) === 0 ? /* @__PURE__ */ import_react173.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react173.default.createElement(
|
|
15551
15657
|
DataState,
|
|
15552
15658
|
{
|
|
15553
15659
|
status: "info" /* info */,
|
|
@@ -15561,10 +15667,10 @@ var ChartOfAccountsTableWithPanel = ({
|
|
|
15561
15667
|
};
|
|
15562
15668
|
|
|
15563
15669
|
// src/components/LedgerAccount/LedgerAccountIndex.tsx
|
|
15564
|
-
var
|
|
15670
|
+
var import_react180 = __toESM(require("react"));
|
|
15565
15671
|
|
|
15566
15672
|
// src/components/LedgerAccountEntryDetails/LedgerAccountEntryDetails.tsx
|
|
15567
|
-
var
|
|
15673
|
+
var import_react178 = __toESM(require("react"));
|
|
15568
15674
|
|
|
15569
15675
|
// src/utils/journal.ts
|
|
15570
15676
|
var getAccountIdentifierPayload = (journalLineItem) => {
|
|
@@ -15588,14 +15694,14 @@ var entryNumber = (entry) => {
|
|
|
15588
15694
|
};
|
|
15589
15695
|
|
|
15590
15696
|
// src/components/Card/Card.tsx
|
|
15591
|
-
var
|
|
15592
|
-
var
|
|
15697
|
+
var import_react174 = __toESM(require("react"));
|
|
15698
|
+
var import_classnames63 = __toESM(require("classnames"));
|
|
15593
15699
|
var Card = ({ children, className }) => {
|
|
15594
|
-
return /* @__PURE__ */
|
|
15700
|
+
return /* @__PURE__ */ import_react174.default.createElement("div", { className: (0, import_classnames63.default)("Layer__card", className) }, children);
|
|
15595
15701
|
};
|
|
15596
15702
|
|
|
15597
15703
|
// src/components/DateTime/DateTime.tsx
|
|
15598
|
-
var
|
|
15704
|
+
var import_react175 = __toESM(require("react"));
|
|
15599
15705
|
var import_date_fns32 = require("date-fns");
|
|
15600
15706
|
var DateTime = ({
|
|
15601
15707
|
value,
|
|
@@ -15606,11 +15712,11 @@ var DateTime = ({
|
|
|
15606
15712
|
onlyTime
|
|
15607
15713
|
}) => {
|
|
15608
15714
|
if (format8) {
|
|
15609
|
-
return /* @__PURE__ */
|
|
15715
|
+
return /* @__PURE__ */ import_react175.default.createElement(Text, { className: "Layer__datetime" }, (0, import_date_fns32.format)((0, import_date_fns32.parseISO)(value), format8));
|
|
15610
15716
|
}
|
|
15611
15717
|
const date = (0, import_date_fns32.format)((0, import_date_fns32.parseISO)(value), dateFormat != null ? dateFormat : DATE_FORMAT);
|
|
15612
15718
|
const time = (0, import_date_fns32.format)((0, import_date_fns32.parseISO)(value), timeFormat != null ? timeFormat : TIME_FORMAT);
|
|
15613
|
-
return /* @__PURE__ */
|
|
15719
|
+
return /* @__PURE__ */ import_react175.default.createElement(Text, { className: "Layer__datetime" }, !onlyTime && /* @__PURE__ */ import_react175.default.createElement(
|
|
15614
15720
|
Text,
|
|
15615
15721
|
{
|
|
15616
15722
|
as: "span",
|
|
@@ -15619,7 +15725,7 @@ var DateTime = ({
|
|
|
15619
15725
|
className: "Layer__datetime__date"
|
|
15620
15726
|
},
|
|
15621
15727
|
date
|
|
15622
|
-
), !onlyDate && /* @__PURE__ */
|
|
15728
|
+
), !onlyDate && /* @__PURE__ */ import_react175.default.createElement(
|
|
15623
15729
|
Text,
|
|
15624
15730
|
{
|
|
15625
15731
|
as: "span",
|
|
@@ -15632,8 +15738,8 @@ var DateTime = ({
|
|
|
15632
15738
|
};
|
|
15633
15739
|
|
|
15634
15740
|
// src/components/DetailsList/DetailsList.tsx
|
|
15635
|
-
var
|
|
15636
|
-
var
|
|
15741
|
+
var import_react176 = __toESM(require("react"));
|
|
15742
|
+
var import_classnames64 = __toESM(require("classnames"));
|
|
15637
15743
|
var DetailsList = ({
|
|
15638
15744
|
title,
|
|
15639
15745
|
children,
|
|
@@ -15641,14 +15747,14 @@ var DetailsList = ({
|
|
|
15641
15747
|
titleClassName,
|
|
15642
15748
|
actions
|
|
15643
15749
|
}) => {
|
|
15644
|
-
return /* @__PURE__ */
|
|
15750
|
+
return /* @__PURE__ */ import_react176.default.createElement("div", { className: (0, import_classnames64.default)("Layer__details-list", className) }, title && /* @__PURE__ */ import_react176.default.createElement(Header, { className: titleClassName }, /* @__PURE__ */ import_react176.default.createElement(Heading, { size: "secondary" /* secondary */ }, title), actions && /* @__PURE__ */ import_react176.default.createElement("div", { className: "Layer__details-list__actions" }, actions)), /* @__PURE__ */ import_react176.default.createElement("ul", { className: "Layer__details-list__list" }, children));
|
|
15645
15751
|
};
|
|
15646
15752
|
|
|
15647
15753
|
// src/components/DetailsList/DetailsListItem.tsx
|
|
15648
|
-
var
|
|
15754
|
+
var import_react177 = __toESM(require("react"));
|
|
15649
15755
|
var renderValue = (value) => {
|
|
15650
15756
|
if (typeof value === "string") {
|
|
15651
|
-
return /* @__PURE__ */
|
|
15757
|
+
return /* @__PURE__ */ import_react177.default.createElement(Text, { weight: "bold" /* bold */, size: "sm" /* sm */ }, value);
|
|
15652
15758
|
}
|
|
15653
15759
|
return value;
|
|
15654
15760
|
};
|
|
@@ -15657,7 +15763,7 @@ var DetailsListItem = ({
|
|
|
15657
15763
|
children,
|
|
15658
15764
|
isLoading
|
|
15659
15765
|
}) => {
|
|
15660
|
-
return /* @__PURE__ */
|
|
15766
|
+
return /* @__PURE__ */ import_react177.default.createElement("li", { className: "Layer__details-list-item" }, /* @__PURE__ */ import_react177.default.createElement("label", { className: "Layer__details-list-item__label" }, label), /* @__PURE__ */ import_react177.default.createElement("span", { className: "Layer__details-list-item__value" }, isLoading ? /* @__PURE__ */ import_react177.default.createElement(SkeletonLoader, null) : renderValue(children)));
|
|
15661
15767
|
};
|
|
15662
15768
|
|
|
15663
15769
|
// src/components/LedgerAccountEntryDetails/LedgerAccountEntryDetails.tsx
|
|
@@ -15668,19 +15774,19 @@ var SourceDetailView = ({
|
|
|
15668
15774
|
switch (source.type) {
|
|
15669
15775
|
case "Transaction_Ledger_Entry_Source": {
|
|
15670
15776
|
const transactionSource = source;
|
|
15671
|
-
return /* @__PURE__ */
|
|
15777
|
+
return /* @__PURE__ */ import_react178.default.createElement(import_react178.default.Fragment, null, /* @__PURE__ */ import_react178.default.createElement(
|
|
15672
15778
|
DetailsListItem,
|
|
15673
15779
|
{
|
|
15674
15780
|
label: (stringOverrides == null ? void 0 : stringOverrides.accountNameLabel) || "Account name"
|
|
15675
15781
|
},
|
|
15676
15782
|
transactionSource.account_name
|
|
15677
|
-
), /* @__PURE__ */
|
|
15783
|
+
), /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.dateLabel) || "Date" }, /* @__PURE__ */ import_react178.default.createElement(DateTime, { value: transactionSource.date })), /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(transactionSource.amount)}`), /* @__PURE__ */ import_react178.default.createElement(
|
|
15678
15784
|
DetailsListItem,
|
|
15679
15785
|
{
|
|
15680
15786
|
label: (stringOverrides == null ? void 0 : stringOverrides.directionLabel) || "Direction"
|
|
15681
15787
|
},
|
|
15682
15788
|
transactionSource.direction
|
|
15683
|
-
), /* @__PURE__ */
|
|
15789
|
+
), /* @__PURE__ */ import_react178.default.createElement(
|
|
15684
15790
|
DetailsListItem,
|
|
15685
15791
|
{
|
|
15686
15792
|
label: (stringOverrides == null ? void 0 : stringOverrides.counterpartyLabel) || "Counterparty"
|
|
@@ -15690,23 +15796,23 @@ var SourceDetailView = ({
|
|
|
15690
15796
|
}
|
|
15691
15797
|
case "Invoice_Ledger_Entry_Source": {
|
|
15692
15798
|
const invoiceSource = source;
|
|
15693
|
-
return /* @__PURE__ */
|
|
15799
|
+
return /* @__PURE__ */ import_react178.default.createElement(import_react178.default.Fragment, null, /* @__PURE__ */ import_react178.default.createElement(
|
|
15694
15800
|
DetailsListItem,
|
|
15695
15801
|
{
|
|
15696
15802
|
label: (stringOverrides == null ? void 0 : stringOverrides.invoiceNumberLabel) || "Invoice number"
|
|
15697
15803
|
},
|
|
15698
15804
|
invoiceSource.invoice_number
|
|
15699
|
-
), /* @__PURE__ */
|
|
15805
|
+
), /* @__PURE__ */ import_react178.default.createElement(
|
|
15700
15806
|
DetailsListItem,
|
|
15701
15807
|
{
|
|
15702
15808
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
15703
15809
|
},
|
|
15704
15810
|
invoiceSource.recipient_name
|
|
15705
|
-
), /* @__PURE__ */
|
|
15811
|
+
), /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.dateLabel) || "Date" }, /* @__PURE__ */ import_react178.default.createElement(DateTime, { value: invoiceSource.date })), /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(invoiceSource.amount)}`));
|
|
15706
15812
|
}
|
|
15707
15813
|
case "Manual_Ledger_Entry_Source": {
|
|
15708
15814
|
const manualSource = source;
|
|
15709
|
-
return /* @__PURE__ */
|
|
15815
|
+
return /* @__PURE__ */ import_react178.default.createElement(import_react178.default.Fragment, null, /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.memoLabel) || "Memo" }, manualSource.memo), /* @__PURE__ */ import_react178.default.createElement(
|
|
15710
15816
|
DetailsListItem,
|
|
15711
15817
|
{
|
|
15712
15818
|
label: (stringOverrides == null ? void 0 : stringOverrides.createdByLabel) || "Created by"
|
|
@@ -15716,17 +15822,17 @@ var SourceDetailView = ({
|
|
|
15716
15822
|
}
|
|
15717
15823
|
case "Invoice_Payment_Ledger_Entry_Source": {
|
|
15718
15824
|
const invoicePaymentSource = source;
|
|
15719
|
-
return /* @__PURE__ */
|
|
15825
|
+
return /* @__PURE__ */ import_react178.default.createElement(import_react178.default.Fragment, null, /* @__PURE__ */ import_react178.default.createElement(
|
|
15720
15826
|
DetailsListItem,
|
|
15721
15827
|
{
|
|
15722
15828
|
label: (stringOverrides == null ? void 0 : stringOverrides.invoiceNumberLabel) || "Invoice number"
|
|
15723
15829
|
},
|
|
15724
15830
|
invoicePaymentSource.invoice_number
|
|
15725
|
-
), /* @__PURE__ */
|
|
15831
|
+
), /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(invoicePaymentSource.amount)}`));
|
|
15726
15832
|
}
|
|
15727
15833
|
case "Refund_Ledger_Entry_Source": {
|
|
15728
15834
|
const refundSource = source;
|
|
15729
|
-
return /* @__PURE__ */
|
|
15835
|
+
return /* @__PURE__ */ import_react178.default.createElement(import_react178.default.Fragment, null, /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ import_react178.default.createElement(
|
|
15730
15836
|
DetailsListItem,
|
|
15731
15837
|
{
|
|
15732
15838
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
@@ -15736,7 +15842,7 @@ var SourceDetailView = ({
|
|
|
15736
15842
|
}
|
|
15737
15843
|
case "Refund_Payment_Ledger_Entry_Source": {
|
|
15738
15844
|
const refundSource = source;
|
|
15739
|
-
return /* @__PURE__ */
|
|
15845
|
+
return /* @__PURE__ */ import_react178.default.createElement(import_react178.default.Fragment, null, /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(refundSource.refunded_to_customer_amount)}`), /* @__PURE__ */ import_react178.default.createElement(
|
|
15740
15846
|
DetailsListItem,
|
|
15741
15847
|
{
|
|
15742
15848
|
label: (stringOverrides == null ? void 0 : stringOverrides.recipientNameLabel) || "Recipient name"
|
|
@@ -15746,7 +15852,7 @@ var SourceDetailView = ({
|
|
|
15746
15852
|
}
|
|
15747
15853
|
case "Opening_Balance_Ledger_Entry_Source": {
|
|
15748
15854
|
const openingBalanceSource = source;
|
|
15749
|
-
return /* @__PURE__ */
|
|
15855
|
+
return /* @__PURE__ */ import_react178.default.createElement(import_react178.default.Fragment, null, /* @__PURE__ */ import_react178.default.createElement(
|
|
15750
15856
|
DetailsListItem,
|
|
15751
15857
|
{
|
|
15752
15858
|
label: (stringOverrides == null ? void 0 : stringOverrides.accountNameLabel) || "Account name"
|
|
@@ -15756,7 +15862,7 @@ var SourceDetailView = ({
|
|
|
15756
15862
|
}
|
|
15757
15863
|
case "Payout_Ledger_Entry_Source": {
|
|
15758
15864
|
const payoutSource = source;
|
|
15759
|
-
return /* @__PURE__ */
|
|
15865
|
+
return /* @__PURE__ */ import_react178.default.createElement(import_react178.default.Fragment, null, /* @__PURE__ */ import_react178.default.createElement(DetailsListItem, { label: (stringOverrides == null ? void 0 : stringOverrides.amountLabel) || "Amount" }, `$${centsToDollars(payoutSource.paid_out_amount)}`), /* @__PURE__ */ import_react178.default.createElement(
|
|
15760
15866
|
DetailsListItem,
|
|
15761
15867
|
{
|
|
15762
15868
|
label: (stringOverrides == null ? void 0 : stringOverrides.processorLabel) || "Processor"
|
|
@@ -15772,8 +15878,8 @@ var LedgerAccountEntryDetails = ({
|
|
|
15772
15878
|
stringOverrides
|
|
15773
15879
|
}) => {
|
|
15774
15880
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
15775
|
-
const { entryData, isLoadingEntry, closeSelectedEntry, errorEntry } = (0,
|
|
15776
|
-
const { totalDebit, totalCredit } = (0,
|
|
15881
|
+
const { entryData, isLoadingEntry, closeSelectedEntry, errorEntry } = (0, import_react178.useContext)(LedgerAccountsContext);
|
|
15882
|
+
const { totalDebit, totalCredit } = (0, import_react178.useMemo)(() => {
|
|
15777
15883
|
var _a2;
|
|
15778
15884
|
let totalDebit2 = 0;
|
|
15779
15885
|
let totalCredit2 = 0;
|
|
@@ -15786,15 +15892,15 @@ var LedgerAccountEntryDetails = ({
|
|
|
15786
15892
|
});
|
|
15787
15893
|
return { totalDebit: totalDebit2, totalCredit: totalCredit2 };
|
|
15788
15894
|
}, [entryData]);
|
|
15789
|
-
return /* @__PURE__ */
|
|
15895
|
+
return /* @__PURE__ */ import_react178.default.createElement("div", { className: "Layer__ledger-account__entry-details" }, /* @__PURE__ */ import_react178.default.createElement(Header2, { className: "Layer__ledger-account__entry-details__header" }, /* @__PURE__ */ import_react178.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react178.default.createElement(HeaderCol, { className: "Layer__hidden-lg Layer__hidden-xl" }, /* @__PURE__ */ import_react178.default.createElement(BackButton, { onClick: closeSelectedEntry }), /* @__PURE__ */ import_react178.default.createElement(Heading, { size: "secondary" /* secondary */ }, (stringOverrides == null ? void 0 : stringOverrides.title) || "Transaction details")), /* @__PURE__ */ import_react178.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react178.default.createElement(Heading, { size: "secondary" /* secondary */ }, ((_a = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _a.header) || "Transaction source")), /* @__PURE__ */ import_react178.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react178.default.createElement(CloseButton, { onClick: closeSelectedEntry })))), /* @__PURE__ */ import_react178.default.createElement(
|
|
15790
15896
|
DetailsList,
|
|
15791
15897
|
{
|
|
15792
15898
|
title: ((_b = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _b.header) || "Transaction source",
|
|
15793
15899
|
titleClassName: "Layer__hidden-lg Layer__hidden-xl",
|
|
15794
|
-
actions: /* @__PURE__ */
|
|
15900
|
+
actions: /* @__PURE__ */ import_react178.default.createElement(
|
|
15795
15901
|
Button,
|
|
15796
15902
|
{
|
|
15797
|
-
rightIcon: /* @__PURE__ */
|
|
15903
|
+
rightIcon: /* @__PURE__ */ import_react178.default.createElement(X_default, null),
|
|
15798
15904
|
iconOnly: true,
|
|
15799
15905
|
onClick: closeSelectedEntry,
|
|
15800
15906
|
variant: "secondary" /* secondary */,
|
|
@@ -15802,16 +15908,16 @@ var LedgerAccountEntryDetails = ({
|
|
|
15802
15908
|
}
|
|
15803
15909
|
)
|
|
15804
15910
|
},
|
|
15805
|
-
/* @__PURE__ */
|
|
15911
|
+
/* @__PURE__ */ import_react178.default.createElement(
|
|
15806
15912
|
DetailsListItem,
|
|
15807
15913
|
{
|
|
15808
15914
|
label: ((_d = (_c = stringOverrides == null ? void 0 : stringOverrides.transactionSource) == null ? void 0 : _c.details) == null ? void 0 : _d.sourceLabel) || "Source",
|
|
15809
15915
|
isLoading: isLoadingEntry
|
|
15810
15916
|
},
|
|
15811
|
-
/* @__PURE__ */
|
|
15917
|
+
/* @__PURE__ */ import_react178.default.createElement(Badge, null, (_e = entryData == null ? void 0 : entryData.source) == null ? void 0 : _e.entity_name)
|
|
15812
15918
|
),
|
|
15813
|
-
((_f = entryData == null ? void 0 : entryData.source) == null ? void 0 : _f.display_description) && /* @__PURE__ */
|
|
15814
|
-
), /* @__PURE__ */
|
|
15919
|
+
((_f = entryData == null ? void 0 : entryData.source) == null ? void 0 : _f.display_description) && /* @__PURE__ */ import_react178.default.createElement(SourceDetailView, { source: entryData == null ? void 0 : entryData.source })
|
|
15920
|
+
), /* @__PURE__ */ import_react178.default.createElement(
|
|
15815
15921
|
DetailsList,
|
|
15816
15922
|
{
|
|
15817
15923
|
title: ((_g = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _g.header) ? (_h = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _h.header(
|
|
@@ -15819,7 +15925,7 @@ var LedgerAccountEntryDetails = ({
|
|
|
15819
15925
|
) : `Journal Entry ${entryData ? entryNumber(entryData) : ""}`,
|
|
15820
15926
|
className: "Layer__border-top"
|
|
15821
15927
|
},
|
|
15822
|
-
/* @__PURE__ */
|
|
15928
|
+
/* @__PURE__ */ import_react178.default.createElement(
|
|
15823
15929
|
DetailsListItem,
|
|
15824
15930
|
{
|
|
15825
15931
|
label: ((_j = (_i = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _i.details) == null ? void 0 : _j.entryTypeLabel) || "Entry type",
|
|
@@ -15827,23 +15933,23 @@ var LedgerAccountEntryDetails = ({
|
|
|
15827
15933
|
},
|
|
15828
15934
|
humanizeEnum((_k = entryData == null ? void 0 : entryData.entry_type) != null ? _k : "")
|
|
15829
15935
|
),
|
|
15830
|
-
/* @__PURE__ */
|
|
15936
|
+
/* @__PURE__ */ import_react178.default.createElement(
|
|
15831
15937
|
DetailsListItem,
|
|
15832
15938
|
{
|
|
15833
15939
|
label: ((_m = (_l = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _l.details) == null ? void 0 : _m.dateLabel) || "Date",
|
|
15834
15940
|
isLoading: isLoadingEntry
|
|
15835
15941
|
},
|
|
15836
|
-
(entryData == null ? void 0 : entryData.entry_at) && /* @__PURE__ */
|
|
15942
|
+
(entryData == null ? void 0 : entryData.entry_at) && /* @__PURE__ */ import_react178.default.createElement(DateTime, { value: entryData == null ? void 0 : entryData.entry_at })
|
|
15837
15943
|
),
|
|
15838
|
-
/* @__PURE__ */
|
|
15944
|
+
/* @__PURE__ */ import_react178.default.createElement(
|
|
15839
15945
|
DetailsListItem,
|
|
15840
15946
|
{
|
|
15841
15947
|
label: ((_o = (_n = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _n.details) == null ? void 0 : _o.creationDateLabel) || "Creation date",
|
|
15842
15948
|
isLoading: isLoadingEntry
|
|
15843
15949
|
},
|
|
15844
|
-
(entryData == null ? void 0 : entryData.date) && /* @__PURE__ */
|
|
15950
|
+
(entryData == null ? void 0 : entryData.date) && /* @__PURE__ */ import_react178.default.createElement(DateTime, { value: entryData == null ? void 0 : entryData.date })
|
|
15845
15951
|
),
|
|
15846
|
-
(entryData == null ? void 0 : entryData.reversal_id) && /* @__PURE__ */
|
|
15952
|
+
(entryData == null ? void 0 : entryData.reversal_id) && /* @__PURE__ */ import_react178.default.createElement(
|
|
15847
15953
|
DetailsListItem,
|
|
15848
15954
|
{
|
|
15849
15955
|
label: ((_q = (_p = stringOverrides == null ? void 0 : stringOverrides.journalEntry) == null ? void 0 : _p.details) == null ? void 0 : _q.reversalLabel) || "Reversal",
|
|
@@ -15851,41 +15957,41 @@ var LedgerAccountEntryDetails = ({
|
|
|
15851
15957
|
},
|
|
15852
15958
|
entryData == null ? void 0 : entryData.reversal_id.substring(0, 5)
|
|
15853
15959
|
)
|
|
15854
|
-
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */
|
|
15960
|
+
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ import_react178.default.createElement("div", { className: "Layer__ledger-account__entry-details__line-items" }, /* @__PURE__ */ import_react178.default.createElement(Card, null, /* @__PURE__ */ import_react178.default.createElement(
|
|
15855
15961
|
Table,
|
|
15856
15962
|
{
|
|
15857
15963
|
componentName: "ledger-account__entry-details",
|
|
15858
15964
|
borderCollapse: "collapse"
|
|
15859
15965
|
},
|
|
15860
|
-
/* @__PURE__ */
|
|
15861
|
-
/* @__PURE__ */
|
|
15966
|
+
/* @__PURE__ */ import_react178.default.createElement(TableHead, null, /* @__PURE__ */ import_react178.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react178.default.createElement(TableCell, null, ((_r = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _r.lineItemsColumnHeader) || "Line items"), /* @__PURE__ */ import_react178.default.createElement(TableCell, { align: "right" /* RIGHT */ }, ((_s = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _s.debitColumnHeader) || "Debit"), /* @__PURE__ */ import_react178.default.createElement(TableCell, { align: "right" /* RIGHT */ }, ((_t = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _t.creditColumnHeader) || "Credit"))),
|
|
15967
|
+
/* @__PURE__ */ import_react178.default.createElement(TableBody, null, (_u = entryData == null ? void 0 : entryData.line_items) == null ? void 0 : _u.map((item, index) => {
|
|
15862
15968
|
var _a2;
|
|
15863
|
-
return /* @__PURE__ */
|
|
15969
|
+
return /* @__PURE__ */ import_react178.default.createElement(
|
|
15864
15970
|
TableRow,
|
|
15865
15971
|
{
|
|
15866
15972
|
key: `ledger-line-item-${index}`,
|
|
15867
15973
|
rowKey: `ledger-line-item-${index}`
|
|
15868
15974
|
},
|
|
15869
|
-
/* @__PURE__ */
|
|
15870
|
-
/* @__PURE__ */
|
|
15871
|
-
/* @__PURE__ */
|
|
15975
|
+
/* @__PURE__ */ import_react178.default.createElement(TableCell, null, ((_a2 = item.account) == null ? void 0 : _a2.name) || ""),
|
|
15976
|
+
/* @__PURE__ */ import_react178.default.createElement(TableCell, { align: "right" /* RIGHT */ }, item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */ import_react178.default.createElement(Badge, { variant: "warning" /* WARNING */ }, "$", centsToDollars(item.amount || 0))),
|
|
15977
|
+
/* @__PURE__ */ import_react178.default.createElement(TableCell, { align: "right" /* RIGHT */ }, item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */ import_react178.default.createElement(Badge, { variant: "success" /* SUCCESS */ }, "$", centsToDollars(item.amount || 0)))
|
|
15872
15978
|
);
|
|
15873
|
-
}), /* @__PURE__ */
|
|
15979
|
+
}), /* @__PURE__ */ import_react178.default.createElement(
|
|
15874
15980
|
TableRow,
|
|
15875
15981
|
{
|
|
15876
15982
|
rowKey: "ledger-line-item-summation",
|
|
15877
15983
|
variant: "summation"
|
|
15878
15984
|
},
|
|
15879
|
-
/* @__PURE__ */
|
|
15880
|
-
/* @__PURE__ */
|
|
15881
|
-
/* @__PURE__ */
|
|
15985
|
+
/* @__PURE__ */ import_react178.default.createElement(TableCell, { primary: true }, ((_v = stringOverrides == null ? void 0 : stringOverrides.lineItemsTable) == null ? void 0 : _v.totalRowHeader) || "Total"),
|
|
15986
|
+
/* @__PURE__ */ import_react178.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, totalDebit || 0),
|
|
15987
|
+
/* @__PURE__ */ import_react178.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, totalCredit || 0)
|
|
15882
15988
|
))
|
|
15883
15989
|
))) : null);
|
|
15884
15990
|
};
|
|
15885
15991
|
|
|
15886
15992
|
// src/components/LedgerAccount/LedgerAccountRow.tsx
|
|
15887
|
-
var
|
|
15888
|
-
var
|
|
15993
|
+
var import_react179 = __toESM(require("react"));
|
|
15994
|
+
var import_classnames65 = __toESM(require("classnames"));
|
|
15889
15995
|
var import_date_fns33 = require("date-fns");
|
|
15890
15996
|
var LedgerAccountRow = ({
|
|
15891
15997
|
row,
|
|
@@ -15894,9 +16000,9 @@ var LedgerAccountRow = ({
|
|
|
15894
16000
|
view
|
|
15895
16001
|
}) => {
|
|
15896
16002
|
var _a, _b, _c, _d, _e, _f;
|
|
15897
|
-
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0,
|
|
15898
|
-
const [showComponent, setShowComponent] = (0,
|
|
15899
|
-
(0,
|
|
16003
|
+
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0, import_react179.useContext)(LedgerAccountsContext);
|
|
16004
|
+
const [showComponent, setShowComponent] = (0, import_react179.useState)(false);
|
|
16005
|
+
(0, import_react179.useEffect)(() => {
|
|
15900
16006
|
if (initialLoad) {
|
|
15901
16007
|
const timeoutId = setTimeout(() => {
|
|
15902
16008
|
setShowComponent(true);
|
|
@@ -15907,10 +16013,10 @@ var LedgerAccountRow = ({
|
|
|
15907
16013
|
}
|
|
15908
16014
|
}, []);
|
|
15909
16015
|
if (view === "tablet") {
|
|
15910
|
-
return /* @__PURE__ */
|
|
16016
|
+
return /* @__PURE__ */ import_react179.default.createElement(
|
|
15911
16017
|
"tr",
|
|
15912
16018
|
{
|
|
15913
|
-
className: (0,
|
|
16019
|
+
className: (0, import_classnames65.default)(
|
|
15914
16020
|
"Layer__table-row",
|
|
15915
16021
|
row.entry_id === selectedEntryId && "Layer__table-row--active",
|
|
15916
16022
|
initialLoad && "initial-load",
|
|
@@ -15926,24 +16032,24 @@ var LedgerAccountRow = ({
|
|
|
15926
16032
|
}
|
|
15927
16033
|
}
|
|
15928
16034
|
},
|
|
15929
|
-
/* @__PURE__ */
|
|
16035
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell Layer__ledger-account-table__tablet-main-col" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content" }, /* @__PURE__ */ import_react179.default.createElement("div", { className: "Layer__ledger-account-table__tablet-main-col__date" }, /* @__PURE__ */ import_react179.default.createElement(Text, null, row.date && (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(row.date), DATE_FORMAT)), /* @__PURE__ */ import_react179.default.createElement(
|
|
15930
16036
|
Text,
|
|
15931
16037
|
{
|
|
15932
16038
|
weight: "normal" /* normal */,
|
|
15933
16039
|
className: "Layer__ledger_account-table__journal-id"
|
|
15934
16040
|
},
|
|
15935
16041
|
entryNumber(row)
|
|
15936
|
-
)), /* @__PURE__ */
|
|
15937
|
-
/* @__PURE__ */
|
|
15938
|
-
/* @__PURE__ */
|
|
15939
|
-
/* @__PURE__ */
|
|
16042
|
+
)), /* @__PURE__ */ import_react179.default.createElement(Text, null, (_b = (_a = row.source) == null ? void 0 : _a.display_description) != null ? _b : ""))),
|
|
16043
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "DEBIT" /* DEBIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
16044
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "CREDIT" /* CREDIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
16045
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, `$${centsToDollars(row.running_balance)}`))
|
|
15940
16046
|
);
|
|
15941
16047
|
}
|
|
15942
16048
|
if (view === "mobile") {
|
|
15943
|
-
return /* @__PURE__ */
|
|
16049
|
+
return /* @__PURE__ */ import_react179.default.createElement(
|
|
15944
16050
|
"tr",
|
|
15945
16051
|
{
|
|
15946
|
-
className: (0,
|
|
16052
|
+
className: (0, import_classnames65.default)(
|
|
15947
16053
|
"Layer__table-row",
|
|
15948
16054
|
row.entry_id === selectedEntryId && "Layer__table-row--active",
|
|
15949
16055
|
initialLoad && "initial-load",
|
|
@@ -15959,20 +16065,20 @@ var LedgerAccountRow = ({
|
|
|
15959
16065
|
}
|
|
15960
16066
|
}
|
|
15961
16067
|
},
|
|
15962
|
-
/* @__PURE__ */
|
|
16068
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell Layer__ledger-account-table__tablet-main-col" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content" }, /* @__PURE__ */ import_react179.default.createElement("div", { className: "Layer__ledger-account-table__tablet-main-col__date" }, /* @__PURE__ */ import_react179.default.createElement(Text, null, row.date && (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(row.date), DATE_FORMAT)), /* @__PURE__ */ import_react179.default.createElement(
|
|
15963
16069
|
Text,
|
|
15964
16070
|
{
|
|
15965
16071
|
weight: "normal" /* normal */,
|
|
15966
16072
|
className: "Layer__ledger_account-table__journal-id"
|
|
15967
16073
|
},
|
|
15968
16074
|
entryNumber(row)
|
|
15969
|
-
)), /* @__PURE__ */
|
|
16075
|
+
)), /* @__PURE__ */ import_react179.default.createElement(Text, null, (_d = (_c = row.source) == null ? void 0 : _c.display_description) != null ? _d : ""), /* @__PURE__ */ import_react179.default.createElement("div", { className: "Layer__ledger_account-table__balances-mobile" }, /* @__PURE__ */ import_react179.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Debit"), /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__value" }, " ", row.direction === "DEBIT" /* DEBIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)), /* @__PURE__ */ import_react179.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Credit"), /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__value" }, row.direction === "CREDIT" /* CREDIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)), /* @__PURE__ */ import_react179.default.createElement("div", { className: "Layer__ledger_account-table__balance-item" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__label" }, "Running balance"), /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__ledger_account-table__balances-mobile__value" }, `$${centsToDollars(row.running_balance)}`)))))
|
|
15970
16076
|
);
|
|
15971
16077
|
}
|
|
15972
|
-
return /* @__PURE__ */
|
|
16078
|
+
return /* @__PURE__ */ import_react179.default.createElement(
|
|
15973
16079
|
"tr",
|
|
15974
16080
|
{
|
|
15975
|
-
className: (0,
|
|
16081
|
+
className: (0, import_classnames65.default)(
|
|
15976
16082
|
"Layer__table-row",
|
|
15977
16083
|
row.entry_id === selectedEntryId && "Layer__table-row--active",
|
|
15978
16084
|
initialLoad && "initial-load",
|
|
@@ -15988,17 +16094,17 @@ var LedgerAccountRow = ({
|
|
|
15988
16094
|
}
|
|
15989
16095
|
}
|
|
15990
16096
|
},
|
|
15991
|
-
/* @__PURE__ */
|
|
15992
|
-
/* @__PURE__ */
|
|
15993
|
-
/* @__PURE__ */
|
|
15994
|
-
/* @__PURE__ */
|
|
15995
|
-
/* @__PURE__ */
|
|
15996
|
-
/* @__PURE__ */
|
|
16097
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content" }, row.date && (0, import_date_fns33.format)((0, import_date_fns33.parseISO)(row.date), DATE_FORMAT))),
|
|
16098
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content" }, entryNumber(row))),
|
|
16099
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content" }, (_f = (_e = row.source) == null ? void 0 : _e.display_description) != null ? _f : "")),
|
|
16100
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "DEBIT" /* DEBIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
16101
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, row.direction === "CREDIT" /* CREDIT */ && `$${centsToDollars((row == null ? void 0 : row.amount) || 0)}`)),
|
|
16102
|
+
/* @__PURE__ */ import_react179.default.createElement("td", { className: "Layer__table-cell Layer__table-cell--primary" }, /* @__PURE__ */ import_react179.default.createElement("span", { className: "Layer__table-cell-content Layer__table-cell--amount" }, `$${centsToDollars(row.running_balance)}`))
|
|
15997
16103
|
);
|
|
15998
16104
|
};
|
|
15999
16105
|
|
|
16000
16106
|
// src/components/LedgerAccount/LedgerAccountIndex.tsx
|
|
16001
|
-
var
|
|
16107
|
+
var import_classnames66 = __toESM(require("classnames"));
|
|
16002
16108
|
var LedgerAccount = ({
|
|
16003
16109
|
containerRef,
|
|
16004
16110
|
pageSize = 15,
|
|
@@ -16006,9 +16112,9 @@ var LedgerAccount = ({
|
|
|
16006
16112
|
stringOverrides
|
|
16007
16113
|
}) => {
|
|
16008
16114
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
16009
|
-
const [currentPage, setCurrentPage] = (0,
|
|
16010
|
-
const [initialLoad, setInitialLoad] = (0,
|
|
16011
|
-
const { data: accountData } = (0,
|
|
16115
|
+
const [currentPage, setCurrentPage] = (0, import_react180.useState)(1);
|
|
16116
|
+
const [initialLoad, setInitialLoad] = (0, import_react180.useState)(true);
|
|
16117
|
+
const { data: accountData } = (0, import_react180.useContext)(ChartOfAccountsContext);
|
|
16012
16118
|
const {
|
|
16013
16119
|
data: rawData,
|
|
16014
16120
|
error,
|
|
@@ -16019,8 +16125,8 @@ var LedgerAccount = ({
|
|
|
16019
16125
|
selectedEntryId,
|
|
16020
16126
|
closeSelectedEntry,
|
|
16021
16127
|
refetch
|
|
16022
|
-
} = (0,
|
|
16023
|
-
(0,
|
|
16128
|
+
} = (0, import_react180.useContext)(LedgerAccountsContext);
|
|
16129
|
+
(0, import_react180.useEffect)(() => {
|
|
16024
16130
|
if (!isLoading) {
|
|
16025
16131
|
const timeoutLoad = setTimeout(() => {
|
|
16026
16132
|
setInitialLoad(false);
|
|
@@ -16028,16 +16134,16 @@ var LedgerAccount = ({
|
|
|
16028
16134
|
return () => clearTimeout(timeoutLoad);
|
|
16029
16135
|
}
|
|
16030
16136
|
}, [isLoading]);
|
|
16031
|
-
const baseClassName = (0,
|
|
16137
|
+
const baseClassName = (0, import_classnames66.default)(
|
|
16032
16138
|
"Layer__ledger-account__index",
|
|
16033
16139
|
accountId && "open"
|
|
16034
16140
|
);
|
|
16035
|
-
const account = (0,
|
|
16141
|
+
const account = (0, import_react180.useMemo)(() => {
|
|
16036
16142
|
return flattenAccounts((accountData == null ? void 0 : accountData.accounts) || []).find(
|
|
16037
16143
|
(x) => x.id === accountId
|
|
16038
16144
|
);
|
|
16039
16145
|
}, [accountId]);
|
|
16040
|
-
const data = (0,
|
|
16146
|
+
const data = (0, import_react180.useMemo)(() => {
|
|
16041
16147
|
var _a2;
|
|
16042
16148
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
16043
16149
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
@@ -16047,10 +16153,10 @@ var LedgerAccount = ({
|
|
|
16047
16153
|
setAccountId(void 0);
|
|
16048
16154
|
closeSelectedEntry();
|
|
16049
16155
|
};
|
|
16050
|
-
return /* @__PURE__ */
|
|
16156
|
+
return /* @__PURE__ */ import_react180.default.createElement(
|
|
16051
16157
|
Panel,
|
|
16052
16158
|
{
|
|
16053
|
-
sidebar: /* @__PURE__ */
|
|
16159
|
+
sidebar: /* @__PURE__ */ import_react180.default.createElement(
|
|
16054
16160
|
LedgerAccountEntryDetails,
|
|
16055
16161
|
{
|
|
16056
16162
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.ledgerEntryDetail
|
|
@@ -16060,21 +16166,21 @@ var LedgerAccount = ({
|
|
|
16060
16166
|
parentRef: containerRef,
|
|
16061
16167
|
className: "Layer__ledger-account__panel"
|
|
16062
16168
|
},
|
|
16063
|
-
/* @__PURE__ */
|
|
16169
|
+
/* @__PURE__ */ import_react180.default.createElement("div", { className: baseClassName }, /* @__PURE__ */ import_react180.default.createElement(Header2, { className: "Layer__ledger-account__header" }, /* @__PURE__ */ import_react180.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react180.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react180.default.createElement(BackButton, { onClick: close }), /* @__PURE__ */ import_react180.default.createElement("div", { className: "Layer__ledger-account__title-container" }, /* @__PURE__ */ import_react180.default.createElement(
|
|
16064
16170
|
Text,
|
|
16065
16171
|
{
|
|
16066
16172
|
weight: "bold" /* bold */,
|
|
16067
16173
|
className: "Layer__ledger-account__title"
|
|
16068
16174
|
},
|
|
16069
16175
|
(_a = account == null ? void 0 : account.name) != null ? _a : ""
|
|
16070
|
-
), /* @__PURE__ */
|
|
16176
|
+
), /* @__PURE__ */ import_react180.default.createElement("div", { className: "Layer__ledger-account__balance-container" }, /* @__PURE__ */ import_react180.default.createElement(
|
|
16071
16177
|
Text,
|
|
16072
16178
|
{
|
|
16073
16179
|
className: "Layer__ledger-account__balance-label",
|
|
16074
16180
|
size: "sm" /* sm */
|
|
16075
16181
|
},
|
|
16076
16182
|
"Current balance"
|
|
16077
|
-
), /* @__PURE__ */
|
|
16183
|
+
), /* @__PURE__ */ import_react180.default.createElement(
|
|
16078
16184
|
Text,
|
|
16079
16185
|
{
|
|
16080
16186
|
className: "Layer__ledger-account__balance-value",
|
|
@@ -16082,9 +16188,9 @@ var LedgerAccount = ({
|
|
|
16082
16188
|
},
|
|
16083
16189
|
"$",
|
|
16084
16190
|
centsToDollars((account == null ? void 0 : account.balance) || 0)
|
|
16085
|
-
)))))), /* @__PURE__ */
|
|
16191
|
+
)))))), /* @__PURE__ */ import_react180.default.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__ledger-account-table" }, /* @__PURE__ */ import_react180.default.createElement("thead", null, /* @__PURE__ */ import_react180.default.createElement("tr", null, view !== "desktop" && /* @__PURE__ */ import_react180.default.createElement("th", null), view === "desktop" && /* @__PURE__ */ import_react180.default.createElement(import_react180.default.Fragment, null, /* @__PURE__ */ import_react180.default.createElement("th", { className: "Layer__table-header" }, ((_b = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _b.dateColumnHeader) || "Date"), /* @__PURE__ */ import_react180.default.createElement("th", { className: "Layer__table-header" }, ((_c = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _c.journalIdColumnHeader) || "Journal id #"), /* @__PURE__ */ import_react180.default.createElement("th", { className: "Layer__table-header" }, ((_d = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _d.sourceColumnHeader) || "Source")), view !== "mobile" && /* @__PURE__ */ import_react180.default.createElement(import_react180.default.Fragment, null, /* @__PURE__ */ import_react180.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, ((_e = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _e.debitColumnHeader) || "Debit"), /* @__PURE__ */ import_react180.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, ((_f = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _f.creditColumnHeader) || "Credit"), /* @__PURE__ */ import_react180.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, ((_g = stringOverrides == null ? void 0 : stringOverrides.ledgerEntriesTable) == null ? void 0 : _g.runningBalanceColumnHeader) || "Running balance")))), /* @__PURE__ */ import_react180.default.createElement("tbody", null, (_h = data == null ? void 0 : data.filter(
|
|
16086
16192
|
(entry) => !entry.entry_reversal_of && !entry.entry_reversed_by
|
|
16087
|
-
)) == null ? void 0 : _h.map((x, index) => /* @__PURE__ */
|
|
16193
|
+
)) == null ? void 0 : _h.map((x, index) => /* @__PURE__ */ import_react180.default.createElement(
|
|
16088
16194
|
LedgerAccountRow,
|
|
16089
16195
|
{
|
|
16090
16196
|
key: x.id,
|
|
@@ -16093,7 +16199,7 @@ var LedgerAccount = ({
|
|
|
16093
16199
|
initialLoad,
|
|
16094
16200
|
view
|
|
16095
16201
|
}
|
|
16096
|
-
)))), data && /* @__PURE__ */
|
|
16202
|
+
)))), data && /* @__PURE__ */ import_react180.default.createElement("div", { className: "Layer__ledger-account__pagination" }, /* @__PURE__ */ import_react180.default.createElement(
|
|
16097
16203
|
Pagination,
|
|
16098
16204
|
{
|
|
16099
16205
|
currentPage,
|
|
@@ -16101,7 +16207,7 @@ var LedgerAccount = ({
|
|
|
16101
16207
|
pageSize,
|
|
16102
16208
|
onPageChange: (page) => setCurrentPage(page)
|
|
16103
16209
|
}
|
|
16104
|
-
)), error ? /* @__PURE__ */
|
|
16210
|
+
)), error ? /* @__PURE__ */ import_react180.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react180.default.createElement(
|
|
16105
16211
|
DataState,
|
|
16106
16212
|
{
|
|
16107
16213
|
status: "failed" /* failed */,
|
|
@@ -16110,7 +16216,7 @@ var LedgerAccount = ({
|
|
|
16110
16216
|
onRefresh: () => refetch(),
|
|
16111
16217
|
isLoading: isValidating || isLoading
|
|
16112
16218
|
}
|
|
16113
|
-
)) : null, (!data || isLoading) && !error ? /* @__PURE__ */
|
|
16219
|
+
)) : null, (!data || isLoading) && !error ? /* @__PURE__ */ import_react180.default.createElement("div", { className: "Layer__ledger-account__loader-container" }, /* @__PURE__ */ import_react180.default.createElement(Loader2, null)) : null, !isLoading && !error && (data == null ? void 0 : data.length) === 0 ? /* @__PURE__ */ import_react180.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react180.default.createElement(
|
|
16114
16220
|
DataState,
|
|
16115
16221
|
{
|
|
16116
16222
|
status: "info" /* info */,
|
|
@@ -16131,7 +16237,7 @@ var ChartOfAccounts = (props) => {
|
|
|
16131
16237
|
const ledgerAccountsContextData = useLedgerAccounts(
|
|
16132
16238
|
(_a = props.showReversalEntries) != null ? _a : false
|
|
16133
16239
|
);
|
|
16134
|
-
return /* @__PURE__ */
|
|
16240
|
+
return /* @__PURE__ */ import_react181.default.createElement(ChartOfAccountsContext.Provider, { value: chartOfAccountsContextData }, /* @__PURE__ */ import_react181.default.createElement(LedgerAccountsContext.Provider, { value: ledgerAccountsContextData }, /* @__PURE__ */ import_react181.default.createElement(ChartOfAccountsContent, __spreadValues({}, props))));
|
|
16135
16241
|
};
|
|
16136
16242
|
var ChartOfAccountsContent = ({
|
|
16137
16243
|
asWidget,
|
|
@@ -16140,19 +16246,19 @@ var ChartOfAccountsContent = ({
|
|
|
16140
16246
|
stringOverrides,
|
|
16141
16247
|
templateAccountsEditable
|
|
16142
16248
|
}) => {
|
|
16143
|
-
const { accountId } = (0,
|
|
16144
|
-
const [view, setView] = (0,
|
|
16249
|
+
const { accountId } = (0, import_react181.useContext)(LedgerAccountsContext);
|
|
16250
|
+
const [view, setView] = (0, import_react181.useState)("desktop");
|
|
16145
16251
|
const containerRef = useElementViewSize(
|
|
16146
16252
|
(newView) => setView(newView)
|
|
16147
16253
|
);
|
|
16148
|
-
return /* @__PURE__ */
|
|
16254
|
+
return /* @__PURE__ */ import_react181.default.createElement(Container, { name: "chart-of-accounts", ref: containerRef, asWidget }, accountId ? /* @__PURE__ */ import_react181.default.createElement(
|
|
16149
16255
|
LedgerAccount,
|
|
16150
16256
|
{
|
|
16151
16257
|
view,
|
|
16152
16258
|
containerRef,
|
|
16153
16259
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.ledgerAccount
|
|
16154
16260
|
}
|
|
16155
|
-
) : /* @__PURE__ */
|
|
16261
|
+
) : /* @__PURE__ */ import_react181.default.createElement(
|
|
16156
16262
|
ChartOfAccountsTableWithPanel,
|
|
16157
16263
|
{
|
|
16158
16264
|
asWidget,
|
|
@@ -16167,11 +16273,11 @@ var ChartOfAccountsContent = ({
|
|
|
16167
16273
|
};
|
|
16168
16274
|
|
|
16169
16275
|
// src/components/Journal/Journal.tsx
|
|
16170
|
-
var
|
|
16276
|
+
var import_react190 = __toESM(require("react"));
|
|
16171
16277
|
|
|
16172
16278
|
// src/contexts/JournalContext/JournalContext.tsx
|
|
16173
|
-
var
|
|
16174
|
-
var JournalContext = (0,
|
|
16279
|
+
var import_react182 = require("react");
|
|
16280
|
+
var JournalContext = (0, import_react182.createContext)({
|
|
16175
16281
|
data: void 0,
|
|
16176
16282
|
isLoading: false,
|
|
16177
16283
|
error: void 0,
|
|
@@ -16205,7 +16311,7 @@ var JournalContext = (0, import_react178.createContext)({
|
|
|
16205
16311
|
});
|
|
16206
16312
|
|
|
16207
16313
|
// src/hooks/useJournal/useJournal.tsx
|
|
16208
|
-
var
|
|
16314
|
+
var import_react183 = require("react");
|
|
16209
16315
|
var import_swr10 = __toESM(require("swr"));
|
|
16210
16316
|
var useJournal = () => {
|
|
16211
16317
|
const {
|
|
@@ -16217,11 +16323,11 @@ var useJournal = () => {
|
|
|
16217
16323
|
syncTimestamps,
|
|
16218
16324
|
hasBeenTouched
|
|
16219
16325
|
} = useLayerContext();
|
|
16220
|
-
const [selectedEntryId, setSelectedEntryId] = (0,
|
|
16221
|
-
const [form, setForm] = (0,
|
|
16222
|
-
const [addingEntry, setAddingEntry] = (0,
|
|
16223
|
-
const [sendingForm, setSendingForm] = (0,
|
|
16224
|
-
const [apiError, setApiError] = (0,
|
|
16326
|
+
const [selectedEntryId, setSelectedEntryId] = (0, import_react183.useState)();
|
|
16327
|
+
const [form, setForm] = (0, import_react183.useState)();
|
|
16328
|
+
const [addingEntry, setAddingEntry] = (0, import_react183.useState)(false);
|
|
16329
|
+
const [sendingForm, setSendingForm] = (0, import_react183.useState)(false);
|
|
16330
|
+
const [apiError, setApiError] = (0, import_react183.useState)(void 0);
|
|
16225
16331
|
const queryKey = businessId && (auth == null ? void 0 : auth.access_token) && `journal-lines-${businessId}`;
|
|
16226
16332
|
const { data, isLoading, isValidating, error, mutate } = (0, import_swr10.default)(
|
|
16227
16333
|
queryKey,
|
|
@@ -16437,12 +16543,12 @@ var useJournal = () => {
|
|
|
16437
16543
|
params: { businessId, entryId }
|
|
16438
16544
|
});
|
|
16439
16545
|
});
|
|
16440
|
-
(0,
|
|
16546
|
+
(0, import_react183.useEffect)(() => {
|
|
16441
16547
|
if (queryKey && (isLoading || isValidating)) {
|
|
16442
16548
|
read("JOURNAL" /* JOURNAL */, queryKey);
|
|
16443
16549
|
}
|
|
16444
16550
|
}, [isLoading, isValidating]);
|
|
16445
|
-
(0,
|
|
16551
|
+
(0, import_react183.useEffect)(() => {
|
|
16446
16552
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
16447
16553
|
refetch();
|
|
16448
16554
|
}
|
|
@@ -16474,13 +16580,13 @@ var useJournal = () => {
|
|
|
16474
16580
|
};
|
|
16475
16581
|
|
|
16476
16582
|
// src/components/JournalTable/JournalTableWithPanel.tsx
|
|
16477
|
-
var
|
|
16583
|
+
var import_react189 = __toESM(require("react"));
|
|
16478
16584
|
|
|
16479
16585
|
// src/components/JournalSidebar/JournalSidebar.tsx
|
|
16480
|
-
var
|
|
16586
|
+
var import_react187 = __toESM(require("react"));
|
|
16481
16587
|
|
|
16482
16588
|
// src/components/JournalEntryDetails/JournalEntryDetails.tsx
|
|
16483
|
-
var
|
|
16589
|
+
var import_react184 = __toESM(require("react"));
|
|
16484
16590
|
var JournalEntryDetails = () => {
|
|
16485
16591
|
var _a, _b, _c, _d;
|
|
16486
16592
|
const {
|
|
@@ -16491,16 +16597,16 @@ var JournalEntryDetails = () => {
|
|
|
16491
16597
|
selectedEntryId,
|
|
16492
16598
|
reverseEntry,
|
|
16493
16599
|
refetch
|
|
16494
|
-
} = (0,
|
|
16495
|
-
const [reverseEntryProcessing, setReverseEntryProcessing] = (0,
|
|
16496
|
-
const [reverseEntryError, setReverseEntryError] = (0,
|
|
16497
|
-
const entry = (0,
|
|
16600
|
+
} = (0, import_react184.useContext)(JournalContext);
|
|
16601
|
+
const [reverseEntryProcessing, setReverseEntryProcessing] = (0, import_react184.useState)(false);
|
|
16602
|
+
const [reverseEntryError, setReverseEntryError] = (0, import_react184.useState)();
|
|
16603
|
+
const entry = (0, import_react184.useMemo)(() => {
|
|
16498
16604
|
if (selectedEntryId && data) {
|
|
16499
16605
|
return data.find((x) => x.id === selectedEntryId);
|
|
16500
16606
|
}
|
|
16501
16607
|
return;
|
|
16502
16608
|
}, [data, selectedEntryId]);
|
|
16503
|
-
const sortedLineItems = (0,
|
|
16609
|
+
const sortedLineItems = (0, import_react184.useMemo)(
|
|
16504
16610
|
() => {
|
|
16505
16611
|
var _a2;
|
|
16506
16612
|
return (_a2 = entry == null ? void 0 : entry.line_items) == null ? void 0 : _a2.sort(
|
|
@@ -16524,15 +16630,15 @@ var JournalEntryDetails = () => {
|
|
|
16524
16630
|
setReverseEntryProcessing(false);
|
|
16525
16631
|
}
|
|
16526
16632
|
});
|
|
16527
|
-
return /* @__PURE__ */
|
|
16633
|
+
return /* @__PURE__ */ import_react184.default.createElement("div", { className: "Layer__journal__entry-details" }, /* @__PURE__ */ import_react184.default.createElement(Header2, { className: "Layer__journal__entry-details__mobile-header" }, /* @__PURE__ */ import_react184.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react184.default.createElement(HeaderCol, { className: "Layer__hidden-lg Layer__hidden-xl" }, /* @__PURE__ */ import_react184.default.createElement(BackButton, { onClick: closeSelectedEntry }), /* @__PURE__ */ import_react184.default.createElement(Heading, { size: "secondary" /* secondary */ }, "Transaction details")), /* @__PURE__ */ import_react184.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react184.default.createElement(Heading, { size: "secondary" /* secondary */ }, "Transaction source")), /* @__PURE__ */ import_react184.default.createElement(HeaderCol, { className: "Layer__show-lg Layer__show-xl" }, /* @__PURE__ */ import_react184.default.createElement(CloseButton, { onClick: closeSelectedEntry })))), /* @__PURE__ */ import_react184.default.createElement(
|
|
16528
16634
|
DetailsList,
|
|
16529
16635
|
{
|
|
16530
16636
|
title: "Transaction source",
|
|
16531
16637
|
titleClassName: "Layer__hidden-lg Layer__hidden-xl",
|
|
16532
|
-
actions: /* @__PURE__ */
|
|
16638
|
+
actions: /* @__PURE__ */ import_react184.default.createElement(
|
|
16533
16639
|
Button,
|
|
16534
16640
|
{
|
|
16535
|
-
rightIcon: /* @__PURE__ */
|
|
16641
|
+
rightIcon: /* @__PURE__ */ import_react184.default.createElement(X_default, null),
|
|
16536
16642
|
iconOnly: true,
|
|
16537
16643
|
onClick: closeSelectedEntry,
|
|
16538
16644
|
className: "Layer__details-list__close-btn",
|
|
@@ -16540,32 +16646,32 @@ var JournalEntryDetails = () => {
|
|
|
16540
16646
|
}
|
|
16541
16647
|
)
|
|
16542
16648
|
},
|
|
16543
|
-
/* @__PURE__ */
|
|
16544
|
-
((_b = entry == null ? void 0 : entry.source) == null ? void 0 : _b.display_description) && /* @__PURE__ */
|
|
16545
|
-
), /* @__PURE__ */
|
|
16649
|
+
/* @__PURE__ */ import_react184.default.createElement(DetailsListItem, { label: "Source", isLoading: isLoadingEntry }, /* @__PURE__ */ import_react184.default.createElement(Badge, null, (_a = entry == null ? void 0 : entry.source) == null ? void 0 : _a.entity_name)),
|
|
16650
|
+
((_b = entry == null ? void 0 : entry.source) == null ? void 0 : _b.display_description) && /* @__PURE__ */ import_react184.default.createElement(SourceDetailView, { source: entry == null ? void 0 : entry.source })
|
|
16651
|
+
), /* @__PURE__ */ import_react184.default.createElement(
|
|
16546
16652
|
DetailsList,
|
|
16547
16653
|
{
|
|
16548
16654
|
title: `Journal Entry ${entry ? entryNumber(entry) : ""}`,
|
|
16549
16655
|
className: "Layer__border-top"
|
|
16550
16656
|
},
|
|
16551
|
-
/* @__PURE__ */
|
|
16552
|
-
/* @__PURE__ */
|
|
16553
|
-
/* @__PURE__ */
|
|
16554
|
-
(entry == null ? void 0 : entry.reversal_id) && /* @__PURE__ */
|
|
16555
|
-
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */
|
|
16657
|
+
/* @__PURE__ */ import_react184.default.createElement(DetailsListItem, { label: "Entry type", isLoading: isLoadingEntry }, humanizeEnum((_c = entry == null ? void 0 : entry.entry_type) != null ? _c : "")),
|
|
16658
|
+
/* @__PURE__ */ import_react184.default.createElement(DetailsListItem, { label: "Effective date", isLoading: isLoadingEntry }, (entry == null ? void 0 : entry.entry_at) && /* @__PURE__ */ import_react184.default.createElement(DateTime, { value: entry == null ? void 0 : entry.entry_at })),
|
|
16659
|
+
/* @__PURE__ */ import_react184.default.createElement(DetailsListItem, { label: "Creation date", isLoading: isLoadingEntry }, (entry == null ? void 0 : entry.date) && /* @__PURE__ */ import_react184.default.createElement(DateTime, { value: entry == null ? void 0 : entry.date })),
|
|
16660
|
+
(entry == null ? void 0 : entry.reversal_id) && /* @__PURE__ */ import_react184.default.createElement(DetailsListItem, { label: "Reversal", isLoading: isLoadingEntry }, `Journal Entry #${entry == null ? void 0 : entry.reversal_id.substring(0, 5)}`)
|
|
16661
|
+
), !isLoadingEntry && !errorEntry ? /* @__PURE__ */ import_react184.default.createElement("div", { className: "Layer__journal__entry-details__line-items" }, /* @__PURE__ */ import_react184.default.createElement(Card, null, /* @__PURE__ */ import_react184.default.createElement(
|
|
16556
16662
|
Table,
|
|
16557
16663
|
{
|
|
16558
16664
|
componentName: "journal__entry-details",
|
|
16559
16665
|
borderCollapse: "collapse"
|
|
16560
16666
|
},
|
|
16561
|
-
/* @__PURE__ */
|
|
16667
|
+
/* @__PURE__ */ import_react184.default.createElement(TableHead, null, /* @__PURE__ */ import_react184.default.createElement(TableRow, { rowKey: "soc-flow-head-row", isHeadRow: true }, /* @__PURE__ */ import_react184.default.createElement(TableCell, null, "Line items"), /* @__PURE__ */ import_react184.default.createElement(
|
|
16562
16668
|
TableCell,
|
|
16563
16669
|
{
|
|
16564
16670
|
className: "Layer__journal__debit-credit-col",
|
|
16565
16671
|
align: "right" /* RIGHT */
|
|
16566
16672
|
},
|
|
16567
16673
|
"Debit"
|
|
16568
|
-
), /* @__PURE__ */
|
|
16674
|
+
), /* @__PURE__ */ import_react184.default.createElement(
|
|
16569
16675
|
TableCell,
|
|
16570
16676
|
{
|
|
16571
16677
|
className: "Layer__journal__debit-credit-col",
|
|
@@ -16573,37 +16679,37 @@ var JournalEntryDetails = () => {
|
|
|
16573
16679
|
},
|
|
16574
16680
|
"Credit"
|
|
16575
16681
|
))),
|
|
16576
|
-
/* @__PURE__ */
|
|
16682
|
+
/* @__PURE__ */ import_react184.default.createElement(TableBody, null, sortedLineItems == null ? void 0 : sortedLineItems.map((item, index) => /* @__PURE__ */ import_react184.default.createElement(
|
|
16577
16683
|
TableRow,
|
|
16578
16684
|
{
|
|
16579
16685
|
key: `ledger-line-item-${index}`,
|
|
16580
16686
|
rowKey: `ledger-line-item-${index}`
|
|
16581
16687
|
},
|
|
16582
|
-
/* @__PURE__ */
|
|
16583
|
-
/* @__PURE__ */
|
|
16688
|
+
/* @__PURE__ */ import_react184.default.createElement(TableCell, null, item.account.name),
|
|
16689
|
+
/* @__PURE__ */ import_react184.default.createElement(
|
|
16584
16690
|
TableCell,
|
|
16585
16691
|
{
|
|
16586
16692
|
className: "Layer__journal__debit-credit-col",
|
|
16587
16693
|
align: "right" /* RIGHT */
|
|
16588
16694
|
},
|
|
16589
|
-
item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */
|
|
16695
|
+
item.direction === "DEBIT" /* DEBIT */ && /* @__PURE__ */ import_react184.default.createElement(Badge, { variant: "warning" /* WARNING */ }, "$", centsToDollars(item.amount || 0))
|
|
16590
16696
|
),
|
|
16591
|
-
/* @__PURE__ */
|
|
16697
|
+
/* @__PURE__ */ import_react184.default.createElement(
|
|
16592
16698
|
TableCell,
|
|
16593
16699
|
{
|
|
16594
16700
|
className: "Layer__journal__debit-credit-col",
|
|
16595
16701
|
align: "right" /* RIGHT */
|
|
16596
16702
|
},
|
|
16597
|
-
item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */
|
|
16703
|
+
item.direction === "CREDIT" /* CREDIT */ && /* @__PURE__ */ import_react184.default.createElement(Badge, { variant: "success" /* SUCCESS */ }, "$", centsToDollars(item.amount || 0))
|
|
16598
16704
|
)
|
|
16599
|
-
)), /* @__PURE__ */
|
|
16705
|
+
)), /* @__PURE__ */ import_react184.default.createElement(
|
|
16600
16706
|
TableRow,
|
|
16601
16707
|
{
|
|
16602
16708
|
rowKey: "ledger-line-item-summation",
|
|
16603
16709
|
variant: "summation"
|
|
16604
16710
|
},
|
|
16605
|
-
/* @__PURE__ */
|
|
16606
|
-
/* @__PURE__ */
|
|
16711
|
+
/* @__PURE__ */ import_react184.default.createElement(TableCell, { primary: true }, "Total"),
|
|
16712
|
+
/* @__PURE__ */ import_react184.default.createElement(
|
|
16607
16713
|
TableCell,
|
|
16608
16714
|
{
|
|
16609
16715
|
isCurrency: true,
|
|
@@ -16613,7 +16719,7 @@ var JournalEntryDetails = () => {
|
|
|
16613
16719
|
},
|
|
16614
16720
|
(entry == null ? void 0 : entry.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0)) || 0
|
|
16615
16721
|
),
|
|
16616
|
-
/* @__PURE__ */
|
|
16722
|
+
/* @__PURE__ */ import_react184.default.createElement(
|
|
16617
16723
|
TableCell,
|
|
16618
16724
|
{
|
|
16619
16725
|
isCurrency: true,
|
|
@@ -16624,10 +16730,10 @@ var JournalEntryDetails = () => {
|
|
|
16624
16730
|
(entry == null ? void 0 : entry.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0)) || 0
|
|
16625
16731
|
)
|
|
16626
16732
|
))
|
|
16627
|
-
)), /* @__PURE__ */
|
|
16733
|
+
)), /* @__PURE__ */ import_react184.default.createElement("div", { className: "Layer__journal__entry-details__reverse-btn-container" }, /* @__PURE__ */ import_react184.default.createElement(
|
|
16628
16734
|
Button,
|
|
16629
16735
|
{
|
|
16630
|
-
rightIcon: reverseEntryError ? /* @__PURE__ */
|
|
16736
|
+
rightIcon: reverseEntryError ? /* @__PURE__ */ import_react184.default.createElement(AlertCircle_default, { size: 12 }) : /* @__PURE__ */ import_react184.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
16631
16737
|
variant: "secondary" /* secondary */,
|
|
16632
16738
|
onClick: reverseEntryProcessing ? () => {
|
|
16633
16739
|
} : onReverseEntry,
|
|
@@ -16640,10 +16746,10 @@ var JournalEntryDetails = () => {
|
|
|
16640
16746
|
};
|
|
16641
16747
|
|
|
16642
16748
|
// src/components/JournalForm/JournalForm.tsx
|
|
16643
|
-
var
|
|
16749
|
+
var import_react186 = __toESM(require("react"));
|
|
16644
16750
|
|
|
16645
16751
|
// src/components/JournalForm/JournalFormEntryLines.tsx
|
|
16646
|
-
var
|
|
16752
|
+
var import_react185 = __toESM(require("react"));
|
|
16647
16753
|
var JournalFormEntryLines = ({
|
|
16648
16754
|
entrylineItems,
|
|
16649
16755
|
addEntryLine,
|
|
@@ -16652,17 +16758,17 @@ var JournalFormEntryLines = ({
|
|
|
16652
16758
|
sendingForm,
|
|
16653
16759
|
config
|
|
16654
16760
|
}) => {
|
|
16655
|
-
const { data: accountsData } = (0,
|
|
16656
|
-
const { form } = (0,
|
|
16761
|
+
const { data: accountsData } = (0, import_react185.useContext)(ChartOfAccountsContext);
|
|
16762
|
+
const { form } = (0, import_react185.useContext)(JournalContext);
|
|
16657
16763
|
const parentOptions = useParentOptions(accountsData);
|
|
16658
|
-
return /* @__PURE__ */
|
|
16659
|
-
return /* @__PURE__ */
|
|
16764
|
+
return /* @__PURE__ */ import_react185.default.createElement(import_react185.default.Fragment, null, ["DEBIT", "CREDIT"].map((direction, idx) => {
|
|
16765
|
+
return /* @__PURE__ */ import_react185.default.createElement(
|
|
16660
16766
|
"div",
|
|
16661
16767
|
{
|
|
16662
16768
|
key: "Layer__journal__form__input-group-" + idx,
|
|
16663
16769
|
className: "Layer__journal__form__input-group Layer__journal__form__input-group__border"
|
|
16664
16770
|
},
|
|
16665
|
-
/* @__PURE__ */
|
|
16771
|
+
/* @__PURE__ */ import_react185.default.createElement(
|
|
16666
16772
|
Text,
|
|
16667
16773
|
{
|
|
16668
16774
|
className: "Layer__journal__form__input-group__title",
|
|
@@ -16677,13 +16783,13 @@ var JournalFormEntryLines = ({
|
|
|
16677
16783
|
if (item.direction !== direction) {
|
|
16678
16784
|
return null;
|
|
16679
16785
|
}
|
|
16680
|
-
return /* @__PURE__ */
|
|
16786
|
+
return /* @__PURE__ */ import_react185.default.createElement(
|
|
16681
16787
|
"div",
|
|
16682
16788
|
{
|
|
16683
16789
|
className: "Layer__journal__form__input-group__line-item",
|
|
16684
16790
|
key: direction + "-" + idx2
|
|
16685
16791
|
},
|
|
16686
|
-
/* @__PURE__ */
|
|
16792
|
+
/* @__PURE__ */ import_react185.default.createElement(InputGroup, { name: direction, label: "Amount", inline: true }, /* @__PURE__ */ import_react185.default.createElement(
|
|
16687
16793
|
InputWithBadge,
|
|
16688
16794
|
{
|
|
16689
16795
|
name: direction,
|
|
@@ -16709,14 +16815,14 @@ var JournalFormEntryLines = ({
|
|
|
16709
16815
|
)) == null ? void 0 : _c.message
|
|
16710
16816
|
}
|
|
16711
16817
|
)),
|
|
16712
|
-
/* @__PURE__ */
|
|
16818
|
+
/* @__PURE__ */ import_react185.default.createElement(
|
|
16713
16819
|
InputGroup,
|
|
16714
16820
|
{
|
|
16715
16821
|
name: "account-name",
|
|
16716
16822
|
label: "Account name",
|
|
16717
16823
|
inline: true
|
|
16718
16824
|
},
|
|
16719
|
-
/* @__PURE__ */
|
|
16825
|
+
/* @__PURE__ */ import_react185.default.createElement(
|
|
16720
16826
|
Select2,
|
|
16721
16827
|
{
|
|
16722
16828
|
options: parentOptions,
|
|
@@ -16740,18 +16846,18 @@ var JournalFormEntryLines = ({
|
|
|
16740
16846
|
)) == null ? void 0 : _f.message
|
|
16741
16847
|
}
|
|
16742
16848
|
),
|
|
16743
|
-
idx2 >= 2 && /* @__PURE__ */
|
|
16849
|
+
idx2 >= 2 && /* @__PURE__ */ import_react185.default.createElement(
|
|
16744
16850
|
IconButton,
|
|
16745
16851
|
{
|
|
16746
16852
|
className: "Layer__remove__button",
|
|
16747
16853
|
onClick: () => removeEntryLine(idx2),
|
|
16748
|
-
icon: /* @__PURE__ */
|
|
16854
|
+
icon: /* @__PURE__ */ import_react185.default.createElement(Trash_default, null)
|
|
16749
16855
|
}
|
|
16750
16856
|
)
|
|
16751
16857
|
)
|
|
16752
16858
|
);
|
|
16753
16859
|
}),
|
|
16754
|
-
(config.form.addEntryLinesLimit === void 0 || config.form.addEntryLinesLimit > (entrylineItems == null ? void 0 : entrylineItems.length)) && /* @__PURE__ */
|
|
16860
|
+
(config.form.addEntryLinesLimit === void 0 || config.form.addEntryLinesLimit > (entrylineItems == null ? void 0 : entrylineItems.length)) && /* @__PURE__ */ import_react185.default.createElement(
|
|
16755
16861
|
TextButton,
|
|
16756
16862
|
{
|
|
16757
16863
|
className: "Layer__journal__add-entry-line",
|
|
@@ -16778,8 +16884,8 @@ var JournalForm = ({
|
|
|
16778
16884
|
changeFormData,
|
|
16779
16885
|
addEntryLine,
|
|
16780
16886
|
removeEntryLine
|
|
16781
|
-
} = (0,
|
|
16782
|
-
return /* @__PURE__ */
|
|
16887
|
+
} = (0, import_react186.useContext)(JournalContext);
|
|
16888
|
+
return /* @__PURE__ */ import_react186.default.createElement(
|
|
16783
16889
|
"form",
|
|
16784
16890
|
{
|
|
16785
16891
|
className: "Layer__form",
|
|
@@ -16788,7 +16894,7 @@ var JournalForm = ({
|
|
|
16788
16894
|
submitForm();
|
|
16789
16895
|
}
|
|
16790
16896
|
},
|
|
16791
|
-
/* @__PURE__ */
|
|
16897
|
+
/* @__PURE__ */ import_react186.default.createElement(Header2, { className: "Layer__journal__sidebar__header" }, /* @__PURE__ */ import_react186.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react186.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react186.default.createElement(Heading, { size: "secondary" /* secondary */, className: "title" }, (_a = stringOverrides == null ? void 0 : stringOverrides.header) != null ? _a : "Add New Entry")), /* @__PURE__ */ import_react186.default.createElement(HeaderCol, { className: "actions" }, /* @__PURE__ */ import_react186.default.createElement(
|
|
16792
16898
|
Button,
|
|
16793
16899
|
{
|
|
16794
16900
|
type: "button",
|
|
@@ -16797,7 +16903,7 @@ var JournalForm = ({
|
|
|
16797
16903
|
disabled: sendingForm
|
|
16798
16904
|
},
|
|
16799
16905
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
16800
|
-
), apiError && /* @__PURE__ */
|
|
16906
|
+
), apiError && /* @__PURE__ */ import_react186.default.createElement(
|
|
16801
16907
|
RetryButton,
|
|
16802
16908
|
{
|
|
16803
16909
|
type: "submit",
|
|
@@ -16806,7 +16912,7 @@ var JournalForm = ({
|
|
|
16806
16912
|
disabled: sendingForm
|
|
16807
16913
|
},
|
|
16808
16914
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
16809
|
-
), !apiError && /* @__PURE__ */
|
|
16915
|
+
), !apiError && /* @__PURE__ */ import_react186.default.createElement(
|
|
16810
16916
|
SubmitButton,
|
|
16811
16917
|
{
|
|
16812
16918
|
type: "submit",
|
|
@@ -16816,7 +16922,7 @@ var JournalForm = ({
|
|
|
16816
16922
|
},
|
|
16817
16923
|
(stringOverrides == null ? void 0 : stringOverrides.saveButton) || "Save"
|
|
16818
16924
|
)))),
|
|
16819
|
-
apiError && /* @__PURE__ */
|
|
16925
|
+
apiError && /* @__PURE__ */ import_react186.default.createElement(
|
|
16820
16926
|
Text,
|
|
16821
16927
|
{
|
|
16822
16928
|
size: "sm" /* sm */,
|
|
@@ -16824,7 +16930,7 @@ var JournalForm = ({
|
|
|
16824
16930
|
},
|
|
16825
16931
|
apiError
|
|
16826
16932
|
),
|
|
16827
|
-
/* @__PURE__ */
|
|
16933
|
+
/* @__PURE__ */ import_react186.default.createElement("div", { className: "Layer__journal__form__input-group" }, /* @__PURE__ */ import_react186.default.createElement(InputGroup, { name: "date", label: "Effective Date", inline: true }, /* @__PURE__ */ import_react186.default.createElement("div", { className: "Layer__journal__datepicker__wrapper" }, /* @__PURE__ */ import_react186.default.createElement(
|
|
16828
16934
|
DatePicker,
|
|
16829
16935
|
{
|
|
16830
16936
|
selected: (form == null ? void 0 : form.data.entry_at) ? new Date(form == null ? void 0 : form.data.entry_at) : /* @__PURE__ */ new Date(),
|
|
@@ -16837,7 +16943,7 @@ var JournalForm = ({
|
|
|
16837
16943
|
placeholderText: "Select date",
|
|
16838
16944
|
currentDateOption: false
|
|
16839
16945
|
}
|
|
16840
|
-
), /* @__PURE__ */
|
|
16946
|
+
), /* @__PURE__ */ import_react186.default.createElement(
|
|
16841
16947
|
DatePicker,
|
|
16842
16948
|
{
|
|
16843
16949
|
selected: (form == null ? void 0 : form.data.entry_at) ? new Date(form == null ? void 0 : form.data.entry_at) : /* @__PURE__ */ new Date(),
|
|
@@ -16851,7 +16957,7 @@ var JournalForm = ({
|
|
|
16851
16957
|
currentDateOption: false
|
|
16852
16958
|
}
|
|
16853
16959
|
)))),
|
|
16854
|
-
/* @__PURE__ */
|
|
16960
|
+
/* @__PURE__ */ import_react186.default.createElement(
|
|
16855
16961
|
JournalFormEntryLines,
|
|
16856
16962
|
{
|
|
16857
16963
|
entrylineItems: (form == null ? void 0 : form.data.line_items) || [],
|
|
@@ -16862,7 +16968,7 @@ var JournalForm = ({
|
|
|
16862
16968
|
config
|
|
16863
16969
|
}
|
|
16864
16970
|
),
|
|
16865
|
-
/* @__PURE__ */
|
|
16971
|
+
/* @__PURE__ */ import_react186.default.createElement("div", { className: "Layer__journal__form__input-group Layer__journal__form__input-group__textarea" }, /* @__PURE__ */ import_react186.default.createElement(InputGroup, { name: "memo", label: "Notes" }, /* @__PURE__ */ import_react186.default.createElement(
|
|
16866
16972
|
Textarea,
|
|
16867
16973
|
{
|
|
16868
16974
|
name: "memo",
|
|
@@ -16872,7 +16978,7 @@ var JournalForm = ({
|
|
|
16872
16978
|
disabled: sendingForm
|
|
16873
16979
|
}
|
|
16874
16980
|
))),
|
|
16875
|
-
/* @__PURE__ */
|
|
16981
|
+
/* @__PURE__ */ import_react186.default.createElement("div", { className: "Layer__journal__bottom-actions" }, /* @__PURE__ */ import_react186.default.createElement(
|
|
16876
16982
|
Button,
|
|
16877
16983
|
{
|
|
16878
16984
|
type: "button",
|
|
@@ -16881,7 +16987,7 @@ var JournalForm = ({
|
|
|
16881
16987
|
disabled: sendingForm
|
|
16882
16988
|
},
|
|
16883
16989
|
(stringOverrides == null ? void 0 : stringOverrides.cancelButton) || "Cancel"
|
|
16884
|
-
), apiError && /* @__PURE__ */
|
|
16990
|
+
), apiError && /* @__PURE__ */ import_react186.default.createElement(
|
|
16885
16991
|
RetryButton,
|
|
16886
16992
|
{
|
|
16887
16993
|
type: "submit",
|
|
@@ -16890,7 +16996,7 @@ var JournalForm = ({
|
|
|
16890
16996
|
disabled: sendingForm
|
|
16891
16997
|
},
|
|
16892
16998
|
(stringOverrides == null ? void 0 : stringOverrides.retryButton) || "Retry"
|
|
16893
|
-
), !apiError && /* @__PURE__ */
|
|
16999
|
+
), !apiError && /* @__PURE__ */ import_react186.default.createElement(
|
|
16894
17000
|
SubmitButton,
|
|
16895
17001
|
{
|
|
16896
17002
|
type: "submit",
|
|
@@ -16909,15 +17015,15 @@ var JournalSidebar = ({
|
|
|
16909
17015
|
config,
|
|
16910
17016
|
stringOverrides
|
|
16911
17017
|
}) => {
|
|
16912
|
-
const { selectedEntryId } = (0,
|
|
17018
|
+
const { selectedEntryId } = (0, import_react187.useContext)(JournalContext);
|
|
16913
17019
|
if (selectedEntryId !== "new") {
|
|
16914
|
-
return /* @__PURE__ */
|
|
17020
|
+
return /* @__PURE__ */ import_react187.default.createElement(JournalEntryDetails, null);
|
|
16915
17021
|
}
|
|
16916
|
-
return /* @__PURE__ */
|
|
17022
|
+
return /* @__PURE__ */ import_react187.default.createElement(JournalForm, { config, stringOverrides });
|
|
16917
17023
|
};
|
|
16918
17024
|
|
|
16919
17025
|
// src/components/JournalTable/JournalTable.tsx
|
|
16920
|
-
var
|
|
17026
|
+
var import_react188 = __toESM(require("react"));
|
|
16921
17027
|
var import_date_fns34 = require("date-fns");
|
|
16922
17028
|
var accountName = (row) => {
|
|
16923
17029
|
if ("account" in row) {
|
|
@@ -16932,7 +17038,7 @@ var JournalTable = ({
|
|
|
16932
17038
|
view,
|
|
16933
17039
|
data,
|
|
16934
17040
|
stringOverrides
|
|
16935
|
-
}) => /* @__PURE__ */
|
|
17041
|
+
}) => /* @__PURE__ */ import_react188.default.createElement(TableProvider, null, /* @__PURE__ */ import_react188.default.createElement(
|
|
16936
17042
|
JournalTableContent,
|
|
16937
17043
|
{
|
|
16938
17044
|
view,
|
|
@@ -16944,9 +17050,9 @@ var JournalTableContent = ({
|
|
|
16944
17050
|
data,
|
|
16945
17051
|
stringOverrides
|
|
16946
17052
|
}) => {
|
|
16947
|
-
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0,
|
|
17053
|
+
const { selectedEntryId, setSelectedEntryId, closeSelectedEntry } = (0, import_react188.useContext)(JournalContext);
|
|
16948
17054
|
const { isOpen, setIsOpen } = useTableExpandRow();
|
|
16949
|
-
(0,
|
|
17055
|
+
(0, import_react188.useEffect)(() => {
|
|
16950
17056
|
if (data.length > 0) {
|
|
16951
17057
|
setIsOpen(data.map((x) => `journal-row-${x.id}`));
|
|
16952
17058
|
}
|
|
@@ -16954,7 +17060,7 @@ var JournalTableContent = ({
|
|
|
16954
17060
|
const renderJournalRow = (row, index, rowKey, depth) => {
|
|
16955
17061
|
const expandable = !!row.line_items && row.line_items.length > 0;
|
|
16956
17062
|
const expanded = expandable ? isOpen(rowKey) : true;
|
|
16957
|
-
return /* @__PURE__ */
|
|
17063
|
+
return /* @__PURE__ */ import_react188.default.createElement(import_react188.default.Fragment, { key: rowKey + "-" + index }, /* @__PURE__ */ import_react188.default.createElement(
|
|
16958
17064
|
TableRow,
|
|
16959
17065
|
{
|
|
16960
17066
|
rowKey: rowKey + "-" + index,
|
|
@@ -16972,7 +17078,7 @@ var JournalTableContent = ({
|
|
|
16972
17078
|
},
|
|
16973
17079
|
depth
|
|
16974
17080
|
},
|
|
16975
|
-
/* @__PURE__ */
|
|
17081
|
+
/* @__PURE__ */ import_react188.default.createElement(
|
|
16976
17082
|
TableCell,
|
|
16977
17083
|
{
|
|
16978
17084
|
withExpandIcon: expandable,
|
|
@@ -16983,16 +17089,16 @@ var JournalTableContent = ({
|
|
|
16983
17089
|
},
|
|
16984
17090
|
entryNumber(row)
|
|
16985
17091
|
),
|
|
16986
|
-
/* @__PURE__ */
|
|
16987
|
-
/* @__PURE__ */
|
|
16988
|
-
/* @__PURE__ */
|
|
16989
|
-
/* @__PURE__ */
|
|
17092
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, null, row.entry_at && (0, import_date_fns34.format)((0, import_date_fns34.parseISO)(row.entry_at), DATE_FORMAT)),
|
|
17093
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, null, humanizeEnum(row.entry_type)),
|
|
17094
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, null, "(", row.line_items.length, ")"),
|
|
17095
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, "line_items" in row && Math.abs(
|
|
16990
17096
|
row.line_items.filter((item) => item.direction === "DEBIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
16991
17097
|
)),
|
|
16992
|
-
/* @__PURE__ */
|
|
17098
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, "line_items" in row && Math.abs(
|
|
16993
17099
|
row.line_items.filter((item) => item.direction === "CREDIT").map((item) => item.amount).reduce((a, b) => a + b, 0)
|
|
16994
17100
|
))
|
|
16995
|
-
), expandable && expanded && row.line_items.map((subItem, subIdx) => /* @__PURE__ */
|
|
17101
|
+
), expandable && expanded && row.line_items.map((subItem, subIdx) => /* @__PURE__ */ import_react188.default.createElement(
|
|
16996
17102
|
TableRow,
|
|
16997
17103
|
{
|
|
16998
17104
|
key: rowKey + "-" + index + "-" + subIdx,
|
|
@@ -17000,15 +17106,15 @@ var JournalTableContent = ({
|
|
|
17000
17106
|
depth: depth + 1,
|
|
17001
17107
|
selected: selectedEntryId === row.id
|
|
17002
17108
|
},
|
|
17003
|
-
/* @__PURE__ */
|
|
17004
|
-
/* @__PURE__ */
|
|
17005
|
-
/* @__PURE__ */
|
|
17006
|
-
/* @__PURE__ */
|
|
17007
|
-
subItem.direction === "DEBIT" && subItem.amount >= 0 ? /* @__PURE__ */
|
|
17008
|
-
subItem.direction === "CREDIT" && subItem.amount >= 0 ? /* @__PURE__ */
|
|
17109
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, null),
|
|
17110
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, null),
|
|
17111
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, null),
|
|
17112
|
+
/* @__PURE__ */ import_react188.default.createElement(TableCell, null, accountName(subItem)),
|
|
17113
|
+
subItem.direction === "DEBIT" && subItem.amount >= 0 ? /* @__PURE__ */ import_react188.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, subItem.amount) : /* @__PURE__ */ import_react188.default.createElement(TableCell, null),
|
|
17114
|
+
subItem.direction === "CREDIT" && subItem.amount >= 0 ? /* @__PURE__ */ import_react188.default.createElement(TableCell, { isCurrency: true, primary: true, align: "right" /* RIGHT */ }, subItem.amount) : /* @__PURE__ */ import_react188.default.createElement(TableCell, null)
|
|
17009
17115
|
)));
|
|
17010
17116
|
};
|
|
17011
|
-
return /* @__PURE__ */
|
|
17117
|
+
return /* @__PURE__ */ import_react188.default.createElement(Table, { borderCollapse: "collapse" }, /* @__PURE__ */ import_react188.default.createElement(TableHead, null, /* @__PURE__ */ import_react188.default.createElement(TableRow, { isHeadRow: true, rowKey: "journal-head-row" }, /* @__PURE__ */ import_react188.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.idColumnHeader) || "Id"), /* @__PURE__ */ import_react188.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.dateColumnHeader) || "Date"), /* @__PURE__ */ import_react188.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.transactionColumnHeader) || "Transaction"), /* @__PURE__ */ import_react188.default.createElement(TableCell, { isHeaderCell: true }, (stringOverrides == null ? void 0 : stringOverrides.accountColumnHeader) || "Account Name"), /* @__PURE__ */ import_react188.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.debitColumnHeader) || "Debit"), /* @__PURE__ */ import_react188.default.createElement(TableCell, { isHeaderCell: true, align: "right" /* RIGHT */ }, (stringOverrides == null ? void 0 : stringOverrides.creditColumnHeader) || "Credit"))), /* @__PURE__ */ import_react188.default.createElement(TableBody, null, data.map(
|
|
17012
17118
|
(entry, idx) => renderJournalRow(entry, idx, `journal-row-${entry.id}`, 0)
|
|
17013
17119
|
)));
|
|
17014
17120
|
};
|
|
@@ -17022,7 +17128,7 @@ var JournalTableWithPanel = ({
|
|
|
17022
17128
|
stringOverrides,
|
|
17023
17129
|
view
|
|
17024
17130
|
}) => {
|
|
17025
|
-
const [currentPage, setCurrentPage] = (0,
|
|
17131
|
+
const [currentPage, setCurrentPage] = (0, import_react189.useState)(1);
|
|
17026
17132
|
const {
|
|
17027
17133
|
data: rawData,
|
|
17028
17134
|
isLoading,
|
|
@@ -17031,17 +17137,17 @@ var JournalTableWithPanel = ({
|
|
|
17031
17137
|
refetch,
|
|
17032
17138
|
selectedEntryId,
|
|
17033
17139
|
addEntry
|
|
17034
|
-
} = (0,
|
|
17035
|
-
const data = (0,
|
|
17140
|
+
} = (0, import_react189.useContext)(JournalContext);
|
|
17141
|
+
const data = (0, import_react189.useMemo)(() => {
|
|
17036
17142
|
var _a;
|
|
17037
17143
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
17038
17144
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
17039
17145
|
return (_a = rawData == null ? void 0 : rawData.sort((a, b) => Date.parse(b.entry_at) - Date.parse(a.entry_at))) == null ? void 0 : _a.slice(firstPageIndex, lastPageIndex);
|
|
17040
17146
|
}, [rawData, currentPage]);
|
|
17041
|
-
return /* @__PURE__ */
|
|
17147
|
+
return /* @__PURE__ */ import_react189.default.createElement(
|
|
17042
17148
|
Panel,
|
|
17043
17149
|
{
|
|
17044
|
-
sidebar: /* @__PURE__ */
|
|
17150
|
+
sidebar: /* @__PURE__ */ import_react189.default.createElement(
|
|
17045
17151
|
JournalSidebar,
|
|
17046
17152
|
{
|
|
17047
17153
|
parentRef: containerRef,
|
|
@@ -17052,7 +17158,7 @@ var JournalTableWithPanel = ({
|
|
|
17052
17158
|
sidebarIsOpen: Boolean(selectedEntryId),
|
|
17053
17159
|
parentRef: containerRef
|
|
17054
17160
|
},
|
|
17055
|
-
/* @__PURE__ */
|
|
17161
|
+
/* @__PURE__ */ import_react189.default.createElement(
|
|
17056
17162
|
Header2,
|
|
17057
17163
|
{
|
|
17058
17164
|
className: `Layer__${COMPONENT_NAME6}__header`,
|
|
@@ -17060,7 +17166,7 @@ var JournalTableWithPanel = ({
|
|
|
17060
17166
|
sticky: true,
|
|
17061
17167
|
rounded: true
|
|
17062
17168
|
},
|
|
17063
|
-
/* @__PURE__ */
|
|
17169
|
+
/* @__PURE__ */ import_react189.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react189.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react189.default.createElement(
|
|
17064
17170
|
Heading,
|
|
17065
17171
|
{
|
|
17066
17172
|
className: `Layer__${COMPONENT_NAME6}__title`,
|
|
@@ -17069,25 +17175,25 @@ var JournalTableWithPanel = ({
|
|
|
17069
17175
|
(stringOverrides == null ? void 0 : stringOverrides.componentTitle) || "Journal"
|
|
17070
17176
|
)))
|
|
17071
17177
|
),
|
|
17072
|
-
/* @__PURE__ */
|
|
17178
|
+
/* @__PURE__ */ import_react189.default.createElement(Header2, null, /* @__PURE__ */ import_react189.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react189.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react189.default.createElement(
|
|
17073
17179
|
Heading,
|
|
17074
17180
|
{
|
|
17075
17181
|
size: "secondary" /* secondary */,
|
|
17076
17182
|
className: `Layer__${COMPONENT_NAME6}__subtitle`
|
|
17077
17183
|
},
|
|
17078
17184
|
(stringOverrides == null ? void 0 : stringOverrides.componentSubtitle) || "Entries"
|
|
17079
|
-
)), /* @__PURE__ */
|
|
17185
|
+
)), /* @__PURE__ */ import_react189.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react189.default.createElement(
|
|
17080
17186
|
Button,
|
|
17081
17187
|
{
|
|
17082
17188
|
onClick: () => addEntry(),
|
|
17083
17189
|
disabled: isLoading,
|
|
17084
17190
|
iconOnly: view === "mobile",
|
|
17085
|
-
leftIcon: view === "mobile" && /* @__PURE__ */
|
|
17191
|
+
leftIcon: view === "mobile" && /* @__PURE__ */ import_react189.default.createElement(PlusIcon_default, { size: 14 })
|
|
17086
17192
|
},
|
|
17087
17193
|
(stringOverrides == null ? void 0 : stringOverrides.addEntryButton) || "Add Entry"
|
|
17088
17194
|
)))),
|
|
17089
|
-
data && /* @__PURE__ */
|
|
17090
|
-
data && /* @__PURE__ */
|
|
17195
|
+
data && /* @__PURE__ */ import_react189.default.createElement(JournalTable, { view: "desktop", data }),
|
|
17196
|
+
data && /* @__PURE__ */ import_react189.default.createElement("div", { className: "Layer__journal__pagination" }, /* @__PURE__ */ import_react189.default.createElement(
|
|
17091
17197
|
Pagination,
|
|
17092
17198
|
{
|
|
17093
17199
|
currentPage,
|
|
@@ -17096,7 +17202,7 @@ var JournalTableWithPanel = ({
|
|
|
17096
17202
|
onPageChange: (page) => setCurrentPage(page)
|
|
17097
17203
|
}
|
|
17098
17204
|
)),
|
|
17099
|
-
(data == null ? void 0 : data.length) === 0 && !isLoading && !error && /* @__PURE__ */
|
|
17205
|
+
(data == null ? void 0 : data.length) === 0 && !isLoading && !error && /* @__PURE__ */ import_react189.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react189.default.createElement(
|
|
17100
17206
|
DataState,
|
|
17101
17207
|
{
|
|
17102
17208
|
status: "allDone" /* allDone */,
|
|
@@ -17104,7 +17210,7 @@ var JournalTableWithPanel = ({
|
|
|
17104
17210
|
description: "There are no entries in the journal."
|
|
17105
17211
|
}
|
|
17106
17212
|
)),
|
|
17107
|
-
error ? /* @__PURE__ */
|
|
17213
|
+
error ? /* @__PURE__ */ import_react189.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react189.default.createElement(
|
|
17108
17214
|
DataState,
|
|
17109
17215
|
{
|
|
17110
17216
|
status: "failed" /* failed */,
|
|
@@ -17114,7 +17220,7 @@ var JournalTableWithPanel = ({
|
|
|
17114
17220
|
isLoading: isValidating || isLoading
|
|
17115
17221
|
}
|
|
17116
17222
|
)) : null,
|
|
17117
|
-
(!data || isLoading) && !error ? /* @__PURE__ */
|
|
17223
|
+
(!data || isLoading) && !error ? /* @__PURE__ */ import_react189.default.createElement("div", { className: `Layer__${COMPONENT_NAME6}__loader-container` }, /* @__PURE__ */ import_react189.default.createElement(Loader2, null)) : null
|
|
17118
17224
|
);
|
|
17119
17225
|
};
|
|
17120
17226
|
|
|
@@ -17127,18 +17233,18 @@ var JOURNAL_CONFIG = {
|
|
|
17127
17233
|
var Journal = (props) => {
|
|
17128
17234
|
const JournalContextData = useJournal();
|
|
17129
17235
|
const AccountsContextData = useChartOfAccounts();
|
|
17130
|
-
return /* @__PURE__ */
|
|
17236
|
+
return /* @__PURE__ */ import_react190.default.createElement(ChartOfAccountsContext.Provider, { value: AccountsContextData }, /* @__PURE__ */ import_react190.default.createElement(JournalContext.Provider, { value: JournalContextData }, /* @__PURE__ */ import_react190.default.createElement(JournalContent, __spreadValues({}, props))));
|
|
17131
17237
|
};
|
|
17132
17238
|
var JournalContent = ({
|
|
17133
17239
|
asWidget,
|
|
17134
17240
|
config = JOURNAL_CONFIG,
|
|
17135
17241
|
stringOverrides
|
|
17136
17242
|
}) => {
|
|
17137
|
-
const [view, setView] = (0,
|
|
17243
|
+
const [view, setView] = (0, import_react190.useState)("desktop");
|
|
17138
17244
|
const containerRef = useElementViewSize(
|
|
17139
17245
|
(newView) => setView(newView)
|
|
17140
17246
|
);
|
|
17141
|
-
return /* @__PURE__ */
|
|
17247
|
+
return /* @__PURE__ */ import_react190.default.createElement(Container, { name: "journal", ref: containerRef, asWidget }, /* @__PURE__ */ import_react190.default.createElement(
|
|
17142
17248
|
JournalTableWithPanel,
|
|
17143
17249
|
{
|
|
17144
17250
|
view,
|
|
@@ -17150,11 +17256,11 @@ var JournalContent = ({
|
|
|
17150
17256
|
};
|
|
17151
17257
|
|
|
17152
17258
|
// src/components/Tasks/Tasks.tsx
|
|
17153
|
-
var
|
|
17259
|
+
var import_react197 = __toESM(require("react"));
|
|
17154
17260
|
|
|
17155
17261
|
// src/contexts/TasksContext/TasksContext.tsx
|
|
17156
|
-
var
|
|
17157
|
-
var TasksContext = (0,
|
|
17262
|
+
var import_react191 = require("react");
|
|
17263
|
+
var TasksContext = (0, import_react191.createContext)({
|
|
17158
17264
|
data: void 0,
|
|
17159
17265
|
isLoading: false,
|
|
17160
17266
|
loadedStatus: "initial",
|
|
@@ -17168,7 +17274,7 @@ var TasksContext = (0, import_react187.createContext)({
|
|
|
17168
17274
|
});
|
|
17169
17275
|
|
|
17170
17276
|
// src/hooks/useTasks/useTasks.tsx
|
|
17171
|
-
var
|
|
17277
|
+
var import_react192 = require("react");
|
|
17172
17278
|
|
|
17173
17279
|
// src/hooks/useTasks/mockData.ts
|
|
17174
17280
|
var mockData = [
|
|
@@ -17210,7 +17316,7 @@ var mockData = [
|
|
|
17210
17316
|
var import_swr11 = __toESM(require("swr"));
|
|
17211
17317
|
var DEBUG_MODE = false;
|
|
17212
17318
|
var useTasks = () => {
|
|
17213
|
-
const [loadedStatus, setLoadedStatus] = (0,
|
|
17319
|
+
const [loadedStatus, setLoadedStatus] = (0, import_react192.useState)("initial");
|
|
17214
17320
|
const { auth, businessId, apiUrl, read, syncTimestamps, hasBeenTouched } = useLayerContext();
|
|
17215
17321
|
const queryKey = businessId && (auth == null ? void 0 : auth.access_token) && `tasks-${businessId}`;
|
|
17216
17322
|
const { data, isLoading, isValidating, error, mutate } = (0, import_swr11.default)(
|
|
@@ -17219,7 +17325,7 @@ var useTasks = () => {
|
|
|
17219
17325
|
params: { businessId }
|
|
17220
17326
|
})
|
|
17221
17327
|
);
|
|
17222
|
-
(0,
|
|
17328
|
+
(0, import_react192.useEffect)(() => {
|
|
17223
17329
|
if (isLoading && loadedStatus === "initial") {
|
|
17224
17330
|
setLoadedStatus("loading");
|
|
17225
17331
|
} else if (!isLoading && loadedStatus === "loading") {
|
|
@@ -17250,12 +17356,12 @@ var useTasks = () => {
|
|
|
17250
17356
|
body: data2
|
|
17251
17357
|
}).then(() => refetch());
|
|
17252
17358
|
};
|
|
17253
|
-
(0,
|
|
17359
|
+
(0, import_react192.useEffect)(() => {
|
|
17254
17360
|
if (queryKey && (isLoading || isValidating)) {
|
|
17255
17361
|
read("TASKS" /* TASKS */, queryKey);
|
|
17256
17362
|
}
|
|
17257
17363
|
}, [isLoading, isValidating]);
|
|
17258
|
-
(0,
|
|
17364
|
+
(0, import_react192.useEffect)(() => {
|
|
17259
17365
|
if (queryKey && hasBeenTouched(queryKey)) {
|
|
17260
17366
|
refetch();
|
|
17261
17367
|
}
|
|
@@ -17279,13 +17385,13 @@ function isComplete(taskType) {
|
|
|
17279
17385
|
}
|
|
17280
17386
|
|
|
17281
17387
|
// src/components/TasksHeader/TasksHeader.tsx
|
|
17282
|
-
var
|
|
17388
|
+
var import_react193 = __toESM(require("react"));
|
|
17283
17389
|
|
|
17284
17390
|
// src/icons/ProgressIcon.tsx
|
|
17285
|
-
var
|
|
17391
|
+
var React193 = __toESM(require("react"));
|
|
17286
17392
|
var ProgressIcon = (_a) => {
|
|
17287
17393
|
var _b = _a, { size = 12 } = _b, props = __objRest(_b, ["size"]);
|
|
17288
|
-
return /* @__PURE__ */
|
|
17394
|
+
return /* @__PURE__ */ React193.createElement(
|
|
17289
17395
|
"svg",
|
|
17290
17396
|
__spreadProps(__spreadValues({
|
|
17291
17397
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -17295,7 +17401,7 @@ var ProgressIcon = (_a) => {
|
|
|
17295
17401
|
width: size,
|
|
17296
17402
|
height: size
|
|
17297
17403
|
}),
|
|
17298
|
-
/* @__PURE__ */
|
|
17404
|
+
/* @__PURE__ */ React193.createElement(
|
|
17299
17405
|
"path",
|
|
17300
17406
|
{
|
|
17301
17407
|
d: "M9 1.5V4.5",
|
|
@@ -17304,7 +17410,7 @@ var ProgressIcon = (_a) => {
|
|
|
17304
17410
|
strokeLinejoin: "round"
|
|
17305
17411
|
}
|
|
17306
17412
|
),
|
|
17307
|
-
/* @__PURE__ */
|
|
17413
|
+
/* @__PURE__ */ React193.createElement(
|
|
17308
17414
|
"path",
|
|
17309
17415
|
{
|
|
17310
17416
|
d: "M9 13.5V16.5",
|
|
@@ -17313,7 +17419,7 @@ var ProgressIcon = (_a) => {
|
|
|
17313
17419
|
strokeLinejoin: "round"
|
|
17314
17420
|
}
|
|
17315
17421
|
),
|
|
17316
|
-
/* @__PURE__ */
|
|
17422
|
+
/* @__PURE__ */ React193.createElement(
|
|
17317
17423
|
"path",
|
|
17318
17424
|
{
|
|
17319
17425
|
d: "M3.6975 3.6975L5.82 5.82",
|
|
@@ -17322,7 +17428,7 @@ var ProgressIcon = (_a) => {
|
|
|
17322
17428
|
strokeLinejoin: "round"
|
|
17323
17429
|
}
|
|
17324
17430
|
),
|
|
17325
|
-
/* @__PURE__ */
|
|
17431
|
+
/* @__PURE__ */ React193.createElement(
|
|
17326
17432
|
"path",
|
|
17327
17433
|
{
|
|
17328
17434
|
d: "M12.18 12.18L14.3025 14.3025",
|
|
@@ -17331,7 +17437,7 @@ var ProgressIcon = (_a) => {
|
|
|
17331
17437
|
strokeLinejoin: "round"
|
|
17332
17438
|
}
|
|
17333
17439
|
),
|
|
17334
|
-
/* @__PURE__ */
|
|
17440
|
+
/* @__PURE__ */ React193.createElement(
|
|
17335
17441
|
"path",
|
|
17336
17442
|
{
|
|
17337
17443
|
d: "M1.5 9H4.5",
|
|
@@ -17340,7 +17446,7 @@ var ProgressIcon = (_a) => {
|
|
|
17340
17446
|
strokeLinejoin: "round"
|
|
17341
17447
|
}
|
|
17342
17448
|
),
|
|
17343
|
-
/* @__PURE__ */
|
|
17449
|
+
/* @__PURE__ */ React193.createElement(
|
|
17344
17450
|
"path",
|
|
17345
17451
|
{
|
|
17346
17452
|
d: "M13.5 9H16.5",
|
|
@@ -17349,7 +17455,7 @@ var ProgressIcon = (_a) => {
|
|
|
17349
17455
|
strokeLinejoin: "round"
|
|
17350
17456
|
}
|
|
17351
17457
|
),
|
|
17352
|
-
/* @__PURE__ */
|
|
17458
|
+
/* @__PURE__ */ React193.createElement(
|
|
17353
17459
|
"path",
|
|
17354
17460
|
{
|
|
17355
17461
|
d: "M3.6975 14.3025L5.82 12.18",
|
|
@@ -17358,7 +17464,7 @@ var ProgressIcon = (_a) => {
|
|
|
17358
17464
|
strokeLinejoin: "round"
|
|
17359
17465
|
}
|
|
17360
17466
|
),
|
|
17361
|
-
/* @__PURE__ */
|
|
17467
|
+
/* @__PURE__ */ React193.createElement(
|
|
17362
17468
|
"path",
|
|
17363
17469
|
{
|
|
17364
17470
|
d: "M12.18 5.82L14.3025 3.6975",
|
|
@@ -17374,22 +17480,22 @@ var ProgressIcon_default = ProgressIcon;
|
|
|
17374
17480
|
// src/components/TasksHeader/TasksHeader.tsx
|
|
17375
17481
|
var ICONS = {
|
|
17376
17482
|
loading: {
|
|
17377
|
-
icon: /* @__PURE__ */
|
|
17483
|
+
icon: /* @__PURE__ */ import_react193.default.createElement(ProgressIcon_default, { size: 12, className: "Layer__anim--rotating" }),
|
|
17378
17484
|
text: "Loading",
|
|
17379
17485
|
badge: "default" /* DEFAULT */
|
|
17380
17486
|
},
|
|
17381
17487
|
done: {
|
|
17382
|
-
icon: /* @__PURE__ */
|
|
17488
|
+
icon: /* @__PURE__ */ import_react193.default.createElement(Check_default, { size: 12 }),
|
|
17383
17489
|
text: "Done",
|
|
17384
17490
|
badge: "success" /* SUCCESS */
|
|
17385
17491
|
},
|
|
17386
17492
|
pending: {
|
|
17387
|
-
icon: /* @__PURE__ */
|
|
17493
|
+
icon: /* @__PURE__ */ import_react193.default.createElement(AlertCircle_default, { size: 12 }),
|
|
17388
17494
|
text: "In progress",
|
|
17389
17495
|
badge: "warning" /* WARNING */
|
|
17390
17496
|
},
|
|
17391
17497
|
refresh: {
|
|
17392
|
-
icon: /* @__PURE__ */
|
|
17498
|
+
icon: /* @__PURE__ */ import_react193.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
17393
17499
|
text: "Refresh",
|
|
17394
17500
|
badge: "default" /* DEFAULT */
|
|
17395
17501
|
}
|
|
@@ -17400,10 +17506,10 @@ var TasksHeader = ({
|
|
|
17400
17506
|
open,
|
|
17401
17507
|
toggleContent
|
|
17402
17508
|
}) => {
|
|
17403
|
-
const { data: tasks, loadedStatus, refetch, error } = (0,
|
|
17509
|
+
const { data: tasks, loadedStatus, refetch, error } = (0, import_react193.useContext)(TasksContext);
|
|
17404
17510
|
const completedTasks = tasks == null ? void 0 : tasks.filter((task) => isComplete(task.status)).length;
|
|
17405
17511
|
const badgeVariant = completedTasks === (tasks == null ? void 0 : tasks.length) ? ICONS.done : ICONS.pending;
|
|
17406
|
-
return /* @__PURE__ */
|
|
17512
|
+
return /* @__PURE__ */ import_react193.default.createElement("div", { className: "Layer__tasks-header" }, /* @__PURE__ */ import_react193.default.createElement("div", { className: "Layer__tasks-header__left-col" }, /* @__PURE__ */ import_react193.default.createElement(Text, { size: "lg" /* lg */ }, tasksHeader), loadedStatus !== "complete" && !open ? /* @__PURE__ */ import_react193.default.createElement(Badge, { variant: ICONS.loading.badge, icon: ICONS.loading.icon }, ICONS.loading.text) : loadedStatus === "complete" && (!tasks || error) ? /* @__PURE__ */ import_react193.default.createElement(
|
|
17407
17513
|
Badge,
|
|
17408
17514
|
{
|
|
17409
17515
|
onClick: () => refetch(),
|
|
@@ -17411,17 +17517,17 @@ var TasksHeader = ({
|
|
|
17411
17517
|
icon: ICONS.refresh.icon
|
|
17412
17518
|
},
|
|
17413
17519
|
ICONS.refresh.text
|
|
17414
|
-
) : loadedStatus === "complete" ? /* @__PURE__ */
|
|
17520
|
+
) : loadedStatus === "complete" ? /* @__PURE__ */ import_react193.default.createElement(Badge, { variant: badgeVariant.badge, icon: badgeVariant.icon }, badgeVariant.text) : open ? null : /* @__PURE__ */ import_react193.default.createElement(Badge, { variant: badgeVariant.badge, icon: badgeVariant.icon }, badgeVariant.text)), collapsable && /* @__PURE__ */ import_react193.default.createElement(ExpandButton, { onClick: toggleContent, collapsed: !open }));
|
|
17415
17521
|
};
|
|
17416
17522
|
|
|
17417
17523
|
// src/components/TasksList/TasksList.tsx
|
|
17418
|
-
var
|
|
17524
|
+
var import_react195 = __toESM(require("react"));
|
|
17419
17525
|
|
|
17420
17526
|
// src/icons/SmileIcon.tsx
|
|
17421
|
-
var
|
|
17527
|
+
var React195 = __toESM(require("react"));
|
|
17422
17528
|
var SmileIcon = (_a) => {
|
|
17423
17529
|
var _b = _a, { size = 12 } = _b, props = __objRest(_b, ["size"]);
|
|
17424
|
-
return /* @__PURE__ */
|
|
17530
|
+
return /* @__PURE__ */ React195.createElement(
|
|
17425
17531
|
"svg",
|
|
17426
17532
|
__spreadProps(__spreadValues({
|
|
17427
17533
|
viewBox: "0 0 12 12",
|
|
@@ -17431,7 +17537,7 @@ var SmileIcon = (_a) => {
|
|
|
17431
17537
|
width: size,
|
|
17432
17538
|
height: size
|
|
17433
17539
|
}),
|
|
17434
|
-
/* @__PURE__ */
|
|
17540
|
+
/* @__PURE__ */ React195.createElement(
|
|
17435
17541
|
"path",
|
|
17436
17542
|
{
|
|
17437
17543
|
d: "M6.5 11.5C9.26142 11.5 11.5 9.26142 11.5 6.5C11.5 3.73858 9.26142 1.5 6.5 1.5C3.73858 1.5 1.5 3.73858 1.5 6.5C1.5 9.26142 3.73858 11.5 6.5 11.5Z",
|
|
@@ -17440,7 +17546,7 @@ var SmileIcon = (_a) => {
|
|
|
17440
17546
|
strokeLinejoin: "round"
|
|
17441
17547
|
}
|
|
17442
17548
|
),
|
|
17443
|
-
/* @__PURE__ */
|
|
17549
|
+
/* @__PURE__ */ React195.createElement(
|
|
17444
17550
|
"path",
|
|
17445
17551
|
{
|
|
17446
17552
|
d: "M4.5 7.5C4.5 7.5 5.25 8.5 6.5 8.5C7.75 8.5 8.5 7.5 8.5 7.5",
|
|
@@ -17449,7 +17555,7 @@ var SmileIcon = (_a) => {
|
|
|
17449
17555
|
strokeLinejoin: "round"
|
|
17450
17556
|
}
|
|
17451
17557
|
),
|
|
17452
|
-
/* @__PURE__ */
|
|
17558
|
+
/* @__PURE__ */ React195.createElement(
|
|
17453
17559
|
"path",
|
|
17454
17560
|
{
|
|
17455
17561
|
d: "M5 5H5.005",
|
|
@@ -17458,7 +17564,7 @@ var SmileIcon = (_a) => {
|
|
|
17458
17564
|
strokeLinejoin: "round"
|
|
17459
17565
|
}
|
|
17460
17566
|
),
|
|
17461
|
-
/* @__PURE__ */
|
|
17567
|
+
/* @__PURE__ */ React195.createElement(
|
|
17462
17568
|
"path",
|
|
17463
17569
|
{
|
|
17464
17570
|
d: "M8 5H8.005",
|
|
@@ -17472,40 +17578,40 @@ var SmileIcon = (_a) => {
|
|
|
17472
17578
|
var SmileIcon_default = SmileIcon;
|
|
17473
17579
|
|
|
17474
17580
|
// src/components/TasksListItem/TasksListItem.tsx
|
|
17475
|
-
var
|
|
17476
|
-
var
|
|
17581
|
+
var import_react194 = __toESM(require("react"));
|
|
17582
|
+
var import_classnames67 = __toESM(require("classnames"));
|
|
17477
17583
|
var TasksListItem = ({
|
|
17478
17584
|
task,
|
|
17479
17585
|
goToNextPageIfAllComplete,
|
|
17480
17586
|
defaultOpen
|
|
17481
17587
|
}) => {
|
|
17482
|
-
const [isOpen, setIsOpen] = (0,
|
|
17483
|
-
const [userResponse, setUserResponse] = (0,
|
|
17484
|
-
const { submitResponseToTask: submitResponseToTask2, uploadDocumentForTask } = (0,
|
|
17485
|
-
const taskBodyClassName = (0,
|
|
17588
|
+
const [isOpen, setIsOpen] = (0, import_react194.useState)(defaultOpen);
|
|
17589
|
+
const [userResponse, setUserResponse] = (0, import_react194.useState)(task.user_response || "");
|
|
17590
|
+
const { submitResponseToTask: submitResponseToTask2, uploadDocumentForTask } = (0, import_react194.useContext)(TasksContext);
|
|
17591
|
+
const taskBodyClassName = (0, import_classnames67.default)(
|
|
17486
17592
|
"Layer__tasks-list-item__body",
|
|
17487
17593
|
isOpen && "Layer__tasks-list-item__body--expanded",
|
|
17488
17594
|
isComplete(task.status) && "Layer__tasks-list-item--completed"
|
|
17489
17595
|
);
|
|
17490
|
-
const taskHeadClassName = (0,
|
|
17596
|
+
const taskHeadClassName = (0, import_classnames67.default)(
|
|
17491
17597
|
"Layer__tasks-list-item__head-info",
|
|
17492
17598
|
isComplete(task.status) ? "Layer__tasks-list-item--completed" : "Layer__tasks-list-item--pending"
|
|
17493
17599
|
);
|
|
17494
|
-
const taskItemClassName = (0,
|
|
17600
|
+
const taskItemClassName = (0, import_classnames67.default)(
|
|
17495
17601
|
"Layer__tasks-list-item",
|
|
17496
17602
|
isOpen && "Layer__tasks-list-item__expanded"
|
|
17497
17603
|
);
|
|
17498
|
-
(0,
|
|
17604
|
+
(0, import_react194.useEffect)(() => {
|
|
17499
17605
|
setIsOpen(defaultOpen);
|
|
17500
17606
|
}, [defaultOpen]);
|
|
17501
|
-
return /* @__PURE__ */
|
|
17607
|
+
return /* @__PURE__ */ import_react194.default.createElement("div", { className: "Layer__tasks-list-item-wrapper" }, /* @__PURE__ */ import_react194.default.createElement("div", { className: taskItemClassName }, /* @__PURE__ */ import_react194.default.createElement(
|
|
17502
17608
|
"div",
|
|
17503
17609
|
{
|
|
17504
17610
|
className: "Layer__tasks-list-item__head",
|
|
17505
17611
|
onClick: () => setIsOpen(!isOpen)
|
|
17506
17612
|
},
|
|
17507
|
-
/* @__PURE__ */
|
|
17508
|
-
/* @__PURE__ */
|
|
17613
|
+
/* @__PURE__ */ import_react194.default.createElement("div", { className: taskHeadClassName }, /* @__PURE__ */ import_react194.default.createElement("div", { className: "Layer__tasks-list-item__head-info__status" }, isComplete(task.status) ? /* @__PURE__ */ import_react194.default.createElement(Check_default, { size: 12 }) : /* @__PURE__ */ import_react194.default.createElement(AlertCircle_default, { size: 12 })), /* @__PURE__ */ import_react194.default.createElement(Text, { size: "md" /* md */ }, task.title)),
|
|
17614
|
+
/* @__PURE__ */ import_react194.default.createElement(
|
|
17509
17615
|
ChevronDownFill_default,
|
|
17510
17616
|
{
|
|
17511
17617
|
size: 16,
|
|
@@ -17515,13 +17621,13 @@ var TasksListItem = ({
|
|
|
17515
17621
|
}
|
|
17516
17622
|
}
|
|
17517
17623
|
)
|
|
17518
|
-
), /* @__PURE__ */
|
|
17624
|
+
), /* @__PURE__ */ import_react194.default.createElement("div", { className: taskBodyClassName }, /* @__PURE__ */ import_react194.default.createElement("div", { className: "Layer__tasks-list-item__body-info" }, /* @__PURE__ */ import_react194.default.createElement(Text, { size: "sm" /* sm */ }, task.question), task.user_response_type === "FREE_RESPONSE" ? /* @__PURE__ */ import_react194.default.createElement(
|
|
17519
17625
|
Textarea,
|
|
17520
17626
|
{
|
|
17521
17627
|
value: userResponse,
|
|
17522
17628
|
onChange: (e) => setUserResponse(e.target.value)
|
|
17523
17629
|
}
|
|
17524
|
-
) : null, /* @__PURE__ */
|
|
17630
|
+
) : null, /* @__PURE__ */ import_react194.default.createElement("div", { className: "Layer__tasks-list-item__actions" }, task.user_response_type === "UPLOAD_DOCUMENT" ? /* @__PURE__ */ import_react194.default.createElement(
|
|
17525
17631
|
FileInput,
|
|
17526
17632
|
{
|
|
17527
17633
|
onUpload: (file) => {
|
|
@@ -17532,7 +17638,7 @@ var TasksListItem = ({
|
|
|
17532
17638
|
text: "Upload file",
|
|
17533
17639
|
disabled: task.completed_at != null || task.user_marked_completed_at != null || task.archived_at != null
|
|
17534
17640
|
}
|
|
17535
|
-
) : /* @__PURE__ */
|
|
17641
|
+
) : /* @__PURE__ */ import_react194.default.createElement(
|
|
17536
17642
|
Button,
|
|
17537
17643
|
{
|
|
17538
17644
|
disabled: userResponse.length === 0 || userResponse === task.user_response,
|
|
@@ -17556,17 +17662,17 @@ function paginateArray(array, chunkSize = 10) {
|
|
|
17556
17662
|
}
|
|
17557
17663
|
return result;
|
|
17558
17664
|
}
|
|
17559
|
-
var TasksEmptyState = () => /* @__PURE__ */
|
|
17665
|
+
var TasksEmptyState = () => /* @__PURE__ */ import_react195.default.createElement("div", { className: "Layer__tasks-empty-state" }, /* @__PURE__ */ import_react195.default.createElement("div", { className: "Layer__tasks-icon" }, /* @__PURE__ */ import_react195.default.createElement(SmileIcon_default, null)), /* @__PURE__ */ import_react195.default.createElement(Text, { size: "sm" /* sm */ }, "There are no pending tasks!", /* @__PURE__ */ import_react195.default.createElement("br", null), " Great job!"));
|
|
17560
17666
|
var TasksList = ({ pageSize = 10 }) => {
|
|
17561
|
-
const { data: tasks, error } = (0,
|
|
17667
|
+
const { data: tasks, error } = (0, import_react195.useContext)(TasksContext);
|
|
17562
17668
|
const firstPageWithIincompleteTasks = paginateArray(
|
|
17563
17669
|
tasks || [],
|
|
17564
17670
|
pageSize
|
|
17565
17671
|
).findIndex((page) => page.some((task) => !isComplete(task.status)));
|
|
17566
|
-
const [currentPage, setCurrentPage] = (0,
|
|
17672
|
+
const [currentPage, setCurrentPage] = (0, import_react195.useState)(
|
|
17567
17673
|
firstPageWithIincompleteTasks === -1 ? 1 : firstPageWithIincompleteTasks + 1
|
|
17568
17674
|
);
|
|
17569
|
-
const sortedTasks = (0,
|
|
17675
|
+
const sortedTasks = (0, import_react195.useMemo)(() => {
|
|
17570
17676
|
const firstPageIndex = (currentPage - 1) * pageSize;
|
|
17571
17677
|
const lastPageIndex = firstPageIndex + pageSize;
|
|
17572
17678
|
return tasks == null ? void 0 : tasks.slice(firstPageIndex, lastPageIndex);
|
|
@@ -17580,7 +17686,7 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
17580
17686
|
setCurrentPage(currentPage + 1);
|
|
17581
17687
|
}
|
|
17582
17688
|
};
|
|
17583
|
-
return /* @__PURE__ */
|
|
17689
|
+
return /* @__PURE__ */ import_react195.default.createElement("div", { className: "Layer__tasks-list" }, sortedTasks && sortedTasks.length > 0 ? /* @__PURE__ */ import_react195.default.createElement(import_react195.default.Fragment, null, sortedTasks.map((task, index) => /* @__PURE__ */ import_react195.default.createElement(
|
|
17584
17690
|
TasksListItem,
|
|
17585
17691
|
{
|
|
17586
17692
|
key: task.id,
|
|
@@ -17588,7 +17694,7 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
17588
17694
|
goToNextPageIfAllComplete: goToNextPage,
|
|
17589
17695
|
defaultOpen: index === indexFirstIncomplete
|
|
17590
17696
|
}
|
|
17591
|
-
)), tasks && tasks.length >= 10 && /* @__PURE__ */
|
|
17697
|
+
)), tasks && tasks.length >= 10 && /* @__PURE__ */ import_react195.default.createElement("div", { className: "Layer__tasks__pagination" }, /* @__PURE__ */ import_react195.default.createElement(
|
|
17592
17698
|
Pagination,
|
|
17593
17699
|
{
|
|
17594
17700
|
currentPage,
|
|
@@ -17596,16 +17702,16 @@ var TasksList = ({ pageSize = 10 }) => {
|
|
|
17596
17702
|
pageSize,
|
|
17597
17703
|
onPageChange: (page) => setCurrentPage(page)
|
|
17598
17704
|
}
|
|
17599
|
-
))) : /* @__PURE__ */
|
|
17705
|
+
))) : /* @__PURE__ */ import_react195.default.createElement(import_react195.default.Fragment, null, error ? /* @__PURE__ */ import_react195.default.createElement(ErrorText, null, "Approval failed. Check connection and retry in few seconds.") : /* @__PURE__ */ import_react195.default.createElement(TasksEmptyState, null)));
|
|
17600
17706
|
};
|
|
17601
17707
|
|
|
17602
17708
|
// src/components/TasksPending/TasksPending.tsx
|
|
17603
|
-
var
|
|
17604
|
-
var
|
|
17709
|
+
var import_react196 = __toESM(require("react"));
|
|
17710
|
+
var import_classnames68 = __toESM(require("classnames"));
|
|
17605
17711
|
var import_date_fns35 = require("date-fns");
|
|
17606
17712
|
var import_recharts4 = require("recharts");
|
|
17607
17713
|
var TasksPending = () => {
|
|
17608
|
-
const { data } = (0,
|
|
17714
|
+
const { data } = (0, import_react196.useContext)(TasksContext);
|
|
17609
17715
|
const completedTasks = data == null ? void 0 : data.filter((task) => isComplete(task.status)).length;
|
|
17610
17716
|
const chartData = [
|
|
17611
17717
|
{
|
|
@@ -17617,10 +17723,10 @@ var TasksPending = () => {
|
|
|
17617
17723
|
value: data == null ? void 0 : data.filter((task) => !isComplete(task.status)).length
|
|
17618
17724
|
}
|
|
17619
17725
|
];
|
|
17620
|
-
const taskStatusClassName = (0,
|
|
17726
|
+
const taskStatusClassName = (0, import_classnames68.default)(
|
|
17621
17727
|
completedTasks && completedTasks > 0 ? "Layer__tasks-pending-bar__status--done" : "Layer__tasks-pending-bar__status--pending"
|
|
17622
17728
|
);
|
|
17623
|
-
return /* @__PURE__ */
|
|
17729
|
+
return /* @__PURE__ */ import_react196.default.createElement("div", { className: "Layer__tasks-pending" }, /* @__PURE__ */ import_react196.default.createElement(Text, { size: "lg" /* lg */ }, (0, import_date_fns35.format)(Date.now(), "MMMM")), /* @__PURE__ */ import_react196.default.createElement("div", { className: "Layer__tasks-pending-bar" }, /* @__PURE__ */ import_react196.default.createElement(Text, { size: "sm" /* sm */ }, /* @__PURE__ */ import_react196.default.createElement("span", { className: taskStatusClassName }, completedTasks), "/", data == null ? void 0 : data.length, " done"), /* @__PURE__ */ import_react196.default.createElement(import_recharts4.PieChart, { width: 24, height: 24, className: "mini-chart" }, /* @__PURE__ */ import_react196.default.createElement(
|
|
17624
17730
|
import_recharts4.Pie,
|
|
17625
17731
|
{
|
|
17626
17732
|
data: chartData,
|
|
@@ -17638,7 +17744,7 @@ var TasksPending = () => {
|
|
|
17638
17744
|
animationEasing: "ease-in-out"
|
|
17639
17745
|
},
|
|
17640
17746
|
chartData.map((task, index) => {
|
|
17641
|
-
return /* @__PURE__ */
|
|
17747
|
+
return /* @__PURE__ */ import_react196.default.createElement(
|
|
17642
17748
|
import_recharts4.Cell,
|
|
17643
17749
|
{
|
|
17644
17750
|
key: `cell-${index}`,
|
|
@@ -17651,8 +17757,8 @@ var TasksPending = () => {
|
|
|
17651
17757
|
};
|
|
17652
17758
|
|
|
17653
17759
|
// src/components/Tasks/Tasks.tsx
|
|
17654
|
-
var
|
|
17655
|
-
var UseTasksContext = (0,
|
|
17760
|
+
var import_classnames69 = __toESM(require("classnames"));
|
|
17761
|
+
var UseTasksContext = (0, import_react197.createContext)({
|
|
17656
17762
|
data: void 0,
|
|
17657
17763
|
isLoading: void 0,
|
|
17658
17764
|
loadedStatus: "initial",
|
|
@@ -17673,7 +17779,7 @@ var Tasks = ({
|
|
|
17673
17779
|
// deprecated
|
|
17674
17780
|
stringOverrides
|
|
17675
17781
|
}) => {
|
|
17676
|
-
return /* @__PURE__ */
|
|
17782
|
+
return /* @__PURE__ */ import_react197.default.createElement(TasksProvider, null, /* @__PURE__ */ import_react197.default.createElement(
|
|
17677
17783
|
TasksComponent,
|
|
17678
17784
|
{
|
|
17679
17785
|
collapsable,
|
|
@@ -17686,7 +17792,7 @@ var Tasks = ({
|
|
|
17686
17792
|
};
|
|
17687
17793
|
var TasksProvider = ({ children }) => {
|
|
17688
17794
|
const contextData = useTasks();
|
|
17689
|
-
return /* @__PURE__ */
|
|
17795
|
+
return /* @__PURE__ */ import_react197.default.createElement(TasksContext.Provider, { value: contextData }, children);
|
|
17690
17796
|
};
|
|
17691
17797
|
var TasksComponent = ({
|
|
17692
17798
|
collapsable = false,
|
|
@@ -17696,8 +17802,8 @@ var TasksComponent = ({
|
|
|
17696
17802
|
// deprecated
|
|
17697
17803
|
stringOverrides
|
|
17698
17804
|
}) => {
|
|
17699
|
-
const { isLoading, loadedStatus, data } = (0,
|
|
17700
|
-
const allComplete = (0,
|
|
17805
|
+
const { isLoading, loadedStatus, data } = (0, import_react197.useContext)(TasksContext);
|
|
17806
|
+
const allComplete = (0, import_react197.useMemo)(() => {
|
|
17701
17807
|
if (!data) {
|
|
17702
17808
|
return void 0;
|
|
17703
17809
|
}
|
|
@@ -17706,15 +17812,15 @@ var TasksComponent = ({
|
|
|
17706
17812
|
}
|
|
17707
17813
|
return false;
|
|
17708
17814
|
}, [data, isLoading]);
|
|
17709
|
-
const [open, setOpen] = (0,
|
|
17815
|
+
const [open, setOpen] = (0, import_react197.useState)(
|
|
17710
17816
|
defaultCollapsed || collapsedWhenComplete ? false : true
|
|
17711
17817
|
);
|
|
17712
|
-
(0,
|
|
17818
|
+
(0, import_react197.useEffect)(() => {
|
|
17713
17819
|
if (allComplete && open && collapsedWhenComplete && loadedStatus === "complete") {
|
|
17714
17820
|
setOpen(false);
|
|
17715
17821
|
}
|
|
17716
17822
|
}, [allComplete]);
|
|
17717
|
-
return /* @__PURE__ */
|
|
17823
|
+
return /* @__PURE__ */ import_react197.default.createElement("div", { className: "Layer__tasks-component" }, /* @__PURE__ */ import_react197.default.createElement(
|
|
17718
17824
|
TasksHeader,
|
|
17719
17825
|
{
|
|
17720
17826
|
tasksHeader: (stringOverrides == null ? void 0 : stringOverrides.header) || tasksHeader,
|
|
@@ -17722,26 +17828,26 @@ var TasksComponent = ({
|
|
|
17722
17828
|
open,
|
|
17723
17829
|
toggleContent: () => setOpen(!open)
|
|
17724
17830
|
}
|
|
17725
|
-
), /* @__PURE__ */
|
|
17831
|
+
), /* @__PURE__ */ import_react197.default.createElement(
|
|
17726
17832
|
"div",
|
|
17727
17833
|
{
|
|
17728
|
-
className: (0,
|
|
17834
|
+
className: (0, import_classnames69.default)(
|
|
17729
17835
|
"Layer__tasks__content",
|
|
17730
17836
|
!open && "Layer__tasks__content--collapsed"
|
|
17731
17837
|
)
|
|
17732
17838
|
},
|
|
17733
|
-
isLoading || !data ? /* @__PURE__ */
|
|
17839
|
+
isLoading || !data ? /* @__PURE__ */ import_react197.default.createElement("div", { className: "Layer__tasks__loader-container" }, /* @__PURE__ */ import_react197.default.createElement(Loader2, null)) : /* @__PURE__ */ import_react197.default.createElement(import_react197.default.Fragment, null, data.length > 0 && /* @__PURE__ */ import_react197.default.createElement(TasksPending, null), /* @__PURE__ */ import_react197.default.createElement(TasksList, null))
|
|
17734
17840
|
));
|
|
17735
17841
|
};
|
|
17736
17842
|
|
|
17737
17843
|
// src/components/PlatformOnboarding/LinkAccounts.tsx
|
|
17738
|
-
var
|
|
17844
|
+
var import_react198 = __toESM(require("react"));
|
|
17739
17845
|
var LinkAccounts = (_a) => {
|
|
17740
17846
|
var _b = _a, { inBox } = _b, props = __objRest(_b, ["inBox"]);
|
|
17741
17847
|
if (inBox) {
|
|
17742
|
-
return /* @__PURE__ */
|
|
17848
|
+
return /* @__PURE__ */ import_react198.default.createElement(LinkedAccountsProvider, null, /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__link-accounts__box" }, /* @__PURE__ */ import_react198.default.createElement(LinkAccountsContent, __spreadValues({}, props))));
|
|
17743
17849
|
}
|
|
17744
|
-
return /* @__PURE__ */
|
|
17850
|
+
return /* @__PURE__ */ import_react198.default.createElement(LinkedAccountsProvider, null, /* @__PURE__ */ import_react198.default.createElement(LinkAccountsContent, __spreadValues({}, props)));
|
|
17745
17851
|
};
|
|
17746
17852
|
var LinkAccountsContent = ({
|
|
17747
17853
|
title,
|
|
@@ -17755,8 +17861,8 @@ var LinkAccountsContent = ({
|
|
|
17755
17861
|
onNext
|
|
17756
17862
|
}) => {
|
|
17757
17863
|
var _a, _b;
|
|
17758
|
-
const { data, loadingStatus, error, refetchAccounts, addConnection } = (0,
|
|
17759
|
-
return /* @__PURE__ */
|
|
17864
|
+
const { data, loadingStatus, error, refetchAccounts, addConnection } = (0, import_react198.useContext)(LinkedAccountsContext);
|
|
17865
|
+
return /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__link-accounts Layer__component" }, title && /* @__PURE__ */ import_react198.default.createElement(Heading, { size: "view" /* view */ }, title), data && data.length === 0 ? /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__link-accounts__data-status-container" }, !hideLoading && loadingStatus !== "complete" ? /* @__PURE__ */ import_react198.default.createElement(Loader2, null) : null, Boolean(error) && /* @__PURE__ */ import_react198.default.createElement(
|
|
17760
17866
|
DataState,
|
|
17761
17867
|
{
|
|
17762
17868
|
status: "failed" /* failed */,
|
|
@@ -17764,7 +17870,7 @@ var LinkAccountsContent = ({
|
|
|
17764
17870
|
description: "Please try again later",
|
|
17765
17871
|
onRefresh: refetchAccounts
|
|
17766
17872
|
}
|
|
17767
|
-
)) : null, data && data.length > 0 ? /* @__PURE__ */
|
|
17873
|
+
)) : null, data && data.length > 0 ? /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__link-accounts__list" }, data == null ? void 0 : data.map((account, index) => /* @__PURE__ */ import_react198.default.createElement(
|
|
17768
17874
|
LinkedAccountItemThumb,
|
|
17769
17875
|
{
|
|
17770
17876
|
key: index,
|
|
@@ -17774,33 +17880,33 @@ var LinkAccountsContent = ({
|
|
|
17774
17880
|
showBreakConnection,
|
|
17775
17881
|
asWidget
|
|
17776
17882
|
}
|
|
17777
|
-
))) : null, /* @__PURE__ */
|
|
17883
|
+
))) : null, /* @__PURE__ */ import_react198.default.createElement(
|
|
17778
17884
|
ActionableRow,
|
|
17779
17885
|
{
|
|
17780
|
-
iconBox: /* @__PURE__ */
|
|
17886
|
+
iconBox: /* @__PURE__ */ import_react198.default.createElement(PlaidIcon_default, null),
|
|
17781
17887
|
title: data && data.length > 0 ? "Connect my next business account" : "Connect accounts",
|
|
17782
17888
|
description: "Import data with one simple integration.",
|
|
17783
|
-
button: /* @__PURE__ */
|
|
17889
|
+
button: /* @__PURE__ */ import_react198.default.createElement(
|
|
17784
17890
|
Button,
|
|
17785
17891
|
{
|
|
17786
17892
|
onClick: () => addConnection("PLAID"),
|
|
17787
|
-
rightIcon: /* @__PURE__ */
|
|
17893
|
+
rightIcon: /* @__PURE__ */ import_react198.default.createElement(Link_default, { size: 12 }),
|
|
17788
17894
|
disabled: loadingStatus !== "complete"
|
|
17789
17895
|
},
|
|
17790
17896
|
data && data.length > 0 ? "Connect next" : "Connect"
|
|
17791
17897
|
)
|
|
17792
17898
|
}
|
|
17793
|
-
), onBack || onNext ? /* @__PURE__ */
|
|
17899
|
+
), onBack || onNext ? /* @__PURE__ */ import_react198.default.createElement("div", { className: "Layer__link-accounts__footer" }, onBack && /* @__PURE__ */ import_react198.default.createElement(Button, { onClick: onBack, variant: "secondary" /* secondary */ }, (_a = stringOverrides == null ? void 0 : stringOverrides.backButtonText) != null ? _a : "Back"), onNext && /* @__PURE__ */ import_react198.default.createElement(Button, { onClick: onNext }, (_b = stringOverrides == null ? void 0 : stringOverrides.nextButtonText) != null ? _b : "I\u2019m done connecting my business accounts")) : null);
|
|
17794
17900
|
};
|
|
17795
17901
|
|
|
17796
17902
|
// src/components/UpsellBanner/BookkeepingUpsellBar.tsx
|
|
17797
|
-
var
|
|
17903
|
+
var import_react199 = __toESM(require("react"));
|
|
17798
17904
|
|
|
17799
17905
|
// src/icons/Coffee.tsx
|
|
17800
|
-
var
|
|
17906
|
+
var React201 = __toESM(require("react"));
|
|
17801
17907
|
var CoffeeIcon = (_a) => {
|
|
17802
17908
|
var _b = _a, { size = 11 } = _b, props = __objRest(_b, ["size"]);
|
|
17803
|
-
return /* @__PURE__ */
|
|
17909
|
+
return /* @__PURE__ */ React201.createElement(
|
|
17804
17910
|
"svg",
|
|
17805
17911
|
__spreadProps(__spreadValues({
|
|
17806
17912
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -17810,7 +17916,7 @@ var CoffeeIcon = (_a) => {
|
|
|
17810
17916
|
width: size,
|
|
17811
17917
|
height: size
|
|
17812
17918
|
}),
|
|
17813
|
-
/* @__PURE__ */
|
|
17919
|
+
/* @__PURE__ */ React201.createElement("g", { clipPath: "url(#clip0_5018_10141)" }, /* @__PURE__ */ React201.createElement(
|
|
17814
17920
|
"path",
|
|
17815
17921
|
{
|
|
17816
17922
|
d: "M3.25 4.16666H2.79167C2.30544 4.16666 1.83912 4.35981 1.4953 4.70363C1.15149 5.04744 0.958333 5.51376 0.958333 5.99999C0.958333 6.48622 1.15149 6.95254 1.4953 7.29635C1.83912 7.64017 2.30544 7.83332 2.79167 7.83332H3.25",
|
|
@@ -17818,7 +17924,7 @@ var CoffeeIcon = (_a) => {
|
|
|
17818
17924
|
strokeLinecap: "round",
|
|
17819
17925
|
strokeLinejoin: "round"
|
|
17820
17926
|
}
|
|
17821
|
-
), /* @__PURE__ */
|
|
17927
|
+
), /* @__PURE__ */ React201.createElement(
|
|
17822
17928
|
"path",
|
|
17823
17929
|
{
|
|
17824
17930
|
d: "M10.5834 4.16666H3.25004V8.29166C3.25004 8.77789 3.4432 9.2442 3.78701 9.58802C4.13083 9.93184 4.59714 10.125 5.08337 10.125H8.75004C9.23627 10.125 9.70259 9.93184 10.0464 9.58802C10.3902 9.2442 10.5834 8.77789 10.5834 8.29166V4.16666Z",
|
|
@@ -17826,7 +17932,7 @@ var CoffeeIcon = (_a) => {
|
|
|
17826
17932
|
strokeLinecap: "round",
|
|
17827
17933
|
strokeLinejoin: "round"
|
|
17828
17934
|
}
|
|
17829
|
-
), /* @__PURE__ */
|
|
17935
|
+
), /* @__PURE__ */ React201.createElement(
|
|
17830
17936
|
"path",
|
|
17831
17937
|
{
|
|
17832
17938
|
d: "M8.75 0.958344V2.33334",
|
|
@@ -17834,7 +17940,7 @@ var CoffeeIcon = (_a) => {
|
|
|
17834
17940
|
strokeLinecap: "round",
|
|
17835
17941
|
strokeLinejoin: "round"
|
|
17836
17942
|
}
|
|
17837
|
-
), /* @__PURE__ */
|
|
17943
|
+
), /* @__PURE__ */ React201.createElement(
|
|
17838
17944
|
"path",
|
|
17839
17945
|
{
|
|
17840
17946
|
d: "M6.91663 0.958344V2.33334",
|
|
@@ -17842,7 +17948,7 @@ var CoffeeIcon = (_a) => {
|
|
|
17842
17948
|
strokeLinecap: "round",
|
|
17843
17949
|
strokeLinejoin: "round"
|
|
17844
17950
|
}
|
|
17845
|
-
), /* @__PURE__ */
|
|
17951
|
+
), /* @__PURE__ */ React201.createElement(
|
|
17846
17952
|
"path",
|
|
17847
17953
|
{
|
|
17848
17954
|
d: "M5.08337 0.958344V2.33334",
|
|
@@ -17851,7 +17957,7 @@ var CoffeeIcon = (_a) => {
|
|
|
17851
17957
|
strokeLinejoin: "round"
|
|
17852
17958
|
}
|
|
17853
17959
|
)),
|
|
17854
|
-
/* @__PURE__ */
|
|
17960
|
+
/* @__PURE__ */ React201.createElement("defs", null, /* @__PURE__ */ React201.createElement("clipPath", { id: "clip0_5018_10141" }, /* @__PURE__ */ React201.createElement(
|
|
17855
17961
|
"rect",
|
|
17856
17962
|
{
|
|
17857
17963
|
width: "11",
|
|
@@ -17869,38 +17975,50 @@ var BookkeepingUpsellBar = ({
|
|
|
17869
17975
|
onClick,
|
|
17870
17976
|
href
|
|
17871
17977
|
}) => {
|
|
17872
|
-
return /* @__PURE__ */
|
|
17978
|
+
return /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__bar-banner Layer__bar-banner--bookkeeping" }, /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__bar-banner__left-col" }, /* @__PURE__ */ import_react199.default.createElement(IconBox, null, /* @__PURE__ */ import_react199.default.createElement(Coffee_default, null)), /* @__PURE__ */ import_react199.default.createElement("div", { className: "Layer__bar-banner__text-container" }, /* @__PURE__ */ import_react199.default.createElement(Text, { size: "md" /* md */, weight: "bold" /* bold */ }, "Need help with your books?"), /* @__PURE__ */ import_react199.default.createElement(
|
|
17873
17979
|
Text,
|
|
17874
17980
|
{
|
|
17875
17981
|
size: "sm" /* sm */,
|
|
17876
17982
|
className: "Layer__bar-banner__text-container__desc"
|
|
17877
17983
|
},
|
|
17878
17984
|
"Order bookkeeping service supported by real humans."
|
|
17879
|
-
))), onClick ? /* @__PURE__ */
|
|
17985
|
+
))), onClick ? /* @__PURE__ */ import_react199.default.createElement(Button, { variant: "secondary" /* secondary */, onClick }, "Schedule a demo") : href ? /* @__PURE__ */ import_react199.default.createElement(Link2, { href, target: "_blank", variant: "secondary" /* secondary */ }, "Schedule a demo") : null);
|
|
17880
17986
|
};
|
|
17881
17987
|
|
|
17882
17988
|
// src/views/BookkeepingOverview/BookkeepingOverview.tsx
|
|
17883
|
-
var
|
|
17884
|
-
|
|
17989
|
+
var import_react201 = __toESM(require("react"));
|
|
17990
|
+
|
|
17991
|
+
// src/views/BookkeepingOverview/internal/BookkeepingProfitAndLossSummariesContainer.tsx
|
|
17992
|
+
var import_react200 = __toESM(require("react"));
|
|
17993
|
+
var CLASS_NAME2 = "Layer__BookkeepingProfitAndLossSummariesContainer";
|
|
17994
|
+
function BookkeepingProfitAndLossSummariesContainer({
|
|
17995
|
+
children
|
|
17996
|
+
}) {
|
|
17997
|
+
return /* @__PURE__ */ import_react200.default.createElement("div", { className: CLASS_NAME2 }, children);
|
|
17998
|
+
}
|
|
17999
|
+
|
|
18000
|
+
// src/views/BookkeepingOverview/BookkeepingOverview.tsx
|
|
18001
|
+
var import_classnames70 = __toESM(require("classnames"));
|
|
17885
18002
|
var BookkeepingOverview = ({
|
|
17886
18003
|
title,
|
|
17887
|
-
// deprecated
|
|
17888
18004
|
showTitle = true,
|
|
17889
|
-
stringOverrides
|
|
18005
|
+
stringOverrides,
|
|
18006
|
+
slotProps
|
|
17890
18007
|
}) => {
|
|
17891
|
-
var _a, _b, _c, _d;
|
|
17892
|
-
const [pnlToggle, setPnlToggle] = (0,
|
|
18008
|
+
var _a, _b, _c, _d, _e, _f;
|
|
18009
|
+
const [pnlToggle, setPnlToggle] = (0, import_react201.useState)("expenses");
|
|
17893
18010
|
const [width] = useWindowSize();
|
|
17894
|
-
|
|
18011
|
+
const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
|
|
18012
|
+
return /* @__PURE__ */ import_react201.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react201.default.createElement(TasksProvider, null, /* @__PURE__ */ import_react201.default.createElement(
|
|
17895
18013
|
View,
|
|
17896
18014
|
{
|
|
17897
18015
|
viewClassName: "Layer__bookkeeping-overview--view",
|
|
17898
18016
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "Bookkeeping overview",
|
|
17899
18017
|
withSidebar: width > 1100,
|
|
17900
|
-
sidebar: /* @__PURE__ */
|
|
18018
|
+
sidebar: /* @__PURE__ */ import_react201.default.createElement(TasksComponent, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.tasks }),
|
|
17901
18019
|
showHeader: showTitle
|
|
17902
18020
|
},
|
|
17903
|
-
width <= 1100 && /* @__PURE__ */
|
|
18021
|
+
width <= 1100 && /* @__PURE__ */ import_react201.default.createElement(
|
|
17904
18022
|
TasksComponent,
|
|
17905
18023
|
{
|
|
17906
18024
|
collapsable: true,
|
|
@@ -17908,29 +18026,30 @@ var BookkeepingOverview = ({
|
|
|
17908
18026
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.tasks
|
|
17909
18027
|
}
|
|
17910
18028
|
),
|
|
17911
|
-
/* @__PURE__ */
|
|
18029
|
+
/* @__PURE__ */ import_react201.default.createElement(
|
|
17912
18030
|
Container,
|
|
17913
18031
|
{
|
|
17914
18032
|
name: "bookkeeping-overview-profit-and-loss",
|
|
17915
18033
|
asWidget: true,
|
|
17916
18034
|
elevated: true
|
|
17917
18035
|
},
|
|
17918
|
-
/* @__PURE__ */
|
|
18036
|
+
/* @__PURE__ */ import_react201.default.createElement(
|
|
17919
18037
|
ProfitAndLoss.Header,
|
|
17920
18038
|
{
|
|
17921
|
-
text: ((
|
|
18039
|
+
text: ((_c = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _c.header) || "Profit & Loss",
|
|
17922
18040
|
withDatePicker: true
|
|
17923
18041
|
}
|
|
17924
18042
|
),
|
|
17925
|
-
/* @__PURE__ */
|
|
18043
|
+
/* @__PURE__ */ import_react201.default.createElement(BookkeepingProfitAndLossSummariesContainer, null, /* @__PURE__ */ import_react201.default.createElement(
|
|
17926
18044
|
ProfitAndLoss.Summaries,
|
|
17927
18045
|
{
|
|
17928
|
-
stringOverrides: (
|
|
18046
|
+
stringOverrides: (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.summaries,
|
|
18047
|
+
variants: profitAndLossSummariesVariants
|
|
17929
18048
|
}
|
|
17930
18049
|
)),
|
|
17931
|
-
/* @__PURE__ */
|
|
18050
|
+
/* @__PURE__ */ import_react201.default.createElement(ProfitAndLoss.Chart, null)
|
|
17932
18051
|
),
|
|
17933
|
-
/* @__PURE__ */
|
|
18052
|
+
/* @__PURE__ */ import_react201.default.createElement("div", { className: "Layer__bookkeeping-overview-profit-and-loss-charts" }, /* @__PURE__ */ import_react201.default.createElement(
|
|
17934
18053
|
Toggle,
|
|
17935
18054
|
{
|
|
17936
18055
|
name: "pnl-detailed-charts",
|
|
@@ -17947,36 +18066,36 @@ var BookkeepingOverview = ({
|
|
|
17947
18066
|
selected: pnlToggle,
|
|
17948
18067
|
onChange: (e) => setPnlToggle(e.target.value)
|
|
17949
18068
|
}
|
|
17950
|
-
), /* @__PURE__ */
|
|
18069
|
+
), /* @__PURE__ */ import_react201.default.createElement(
|
|
17951
18070
|
Container,
|
|
17952
18071
|
{
|
|
17953
|
-
name: (0,
|
|
18072
|
+
name: (0, import_classnames70.default)(
|
|
17954
18073
|
"bookkeeping-overview-profit-and-loss-chart",
|
|
17955
18074
|
pnlToggle !== "revenue" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
17956
18075
|
)
|
|
17957
18076
|
},
|
|
17958
|
-
/* @__PURE__ */
|
|
18077
|
+
/* @__PURE__ */ import_react201.default.createElement(
|
|
17959
18078
|
ProfitAndLoss.DetailedCharts,
|
|
17960
18079
|
{
|
|
17961
18080
|
scope: "revenue",
|
|
17962
18081
|
hideClose: true,
|
|
17963
|
-
stringOverrides: (
|
|
18082
|
+
stringOverrides: (_e = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _e.detailedCharts
|
|
17964
18083
|
}
|
|
17965
18084
|
)
|
|
17966
|
-
), /* @__PURE__ */
|
|
18085
|
+
), /* @__PURE__ */ import_react201.default.createElement(
|
|
17967
18086
|
Container,
|
|
17968
18087
|
{
|
|
17969
|
-
name: (0,
|
|
18088
|
+
name: (0, import_classnames70.default)(
|
|
17970
18089
|
"bookkeeping-overview-profit-and-loss-chart",
|
|
17971
18090
|
pnlToggle !== "expenses" && "bookkeeping-overview-profit-and-loss-chart--hidden"
|
|
17972
18091
|
)
|
|
17973
18092
|
},
|
|
17974
|
-
/* @__PURE__ */
|
|
18093
|
+
/* @__PURE__ */ import_react201.default.createElement(
|
|
17975
18094
|
ProfitAndLoss.DetailedCharts,
|
|
17976
18095
|
{
|
|
17977
18096
|
scope: "expenses",
|
|
17978
18097
|
hideClose: true,
|
|
17979
|
-
stringOverrides: (
|
|
18098
|
+
stringOverrides: (_f = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _f.detailedCharts
|
|
17980
18099
|
}
|
|
17981
18100
|
)
|
|
17982
18101
|
))
|
|
@@ -17984,53 +18103,49 @@ var BookkeepingOverview = ({
|
|
|
17984
18103
|
};
|
|
17985
18104
|
|
|
17986
18105
|
// src/views/AccountingOverview/AccountingOverview.tsx
|
|
17987
|
-
var
|
|
18106
|
+
var import_react205 = __toESM(require("react"));
|
|
17988
18107
|
|
|
17989
|
-
// src/
|
|
17990
|
-
var
|
|
18108
|
+
// src/views/AccountingOverview/internal/TransactionsToReview.tsx
|
|
18109
|
+
var import_react204 = __toESM(require("react"));
|
|
17991
18110
|
|
|
17992
18111
|
// src/components/BadgeLoader/BadgeLoader.tsx
|
|
17993
|
-
var
|
|
18112
|
+
var import_react202 = __toESM(require("react"));
|
|
17994
18113
|
var BadgeLoader = ({ children }) => {
|
|
17995
|
-
return /* @__PURE__ */
|
|
18114
|
+
return /* @__PURE__ */ import_react202.default.createElement("span", { className: "Layer__loader Layer__loader--as-badge" }, /* @__PURE__ */ import_react202.default.createElement(Loader_default, { size: 11, className: "Layer__anim--rotating" }), children);
|
|
17996
18115
|
};
|
|
17997
18116
|
|
|
17998
|
-
// src/components/
|
|
17999
|
-
var
|
|
18000
|
-
var
|
|
18001
|
-
|
|
18002
|
-
|
|
18003
|
-
|
|
18004
|
-
|
|
18005
|
-
|
|
18006
|
-
return /* @__PURE__ */
|
|
18007
|
-
|
|
18008
|
-
{
|
|
18009
|
-
icon: /* @__PURE__ */ import_react198.default.createElement(ChevronRight_default, null),
|
|
18010
|
-
withBorder: true,
|
|
18011
|
-
onClick: () => onClick()
|
|
18012
|
-
}
|
|
18013
|
-
));
|
|
18014
|
-
};
|
|
18117
|
+
// src/components/ui/Stack.tsx
|
|
18118
|
+
var import_react203 = __toESM(require("react"));
|
|
18119
|
+
var CLASS_NAME3 = "Layer__VStack";
|
|
18120
|
+
function VStack({ align, children, gap }) {
|
|
18121
|
+
const dataProperties = (0, import_react203.useMemo)(
|
|
18122
|
+
() => toDataProperties({ align, gap }),
|
|
18123
|
+
[align, gap]
|
|
18124
|
+
);
|
|
18125
|
+
return /* @__PURE__ */ import_react203.default.createElement("div", __spreadValues({ className: CLASS_NAME3 }, dataProperties), children);
|
|
18126
|
+
}
|
|
18015
18127
|
|
|
18016
|
-
// src/
|
|
18128
|
+
// src/views/AccountingOverview/internal/TransactionsToReview.tsx
|
|
18017
18129
|
var import_date_fns36 = require("date-fns");
|
|
18018
|
-
var
|
|
18130
|
+
var CLASS_NAME4 = "Layer__TransactionsToReview";
|
|
18131
|
+
function TransactionsToReview({
|
|
18019
18132
|
onClick,
|
|
18020
18133
|
usePnlDateRange,
|
|
18021
|
-
tagFilter = void 0
|
|
18022
|
-
|
|
18023
|
-
|
|
18134
|
+
tagFilter = void 0,
|
|
18135
|
+
variants
|
|
18136
|
+
}) {
|
|
18137
|
+
const { size = "sm" } = variants != null ? variants : {};
|
|
18138
|
+
const { dateRange: contextDateRange } = (0, import_react204.useContext)(ProfitAndLoss.Context);
|
|
18024
18139
|
const dateRange = usePnlDateRange ? contextDateRange : void 0;
|
|
18025
|
-
const [toReview, setToReview] = (0,
|
|
18140
|
+
const [toReview, setToReview] = (0, import_react204.useState)(0);
|
|
18026
18141
|
const { data, loaded, error, refetch } = useProfitAndLossLTM({
|
|
18027
18142
|
currentDate: dateRange ? dateRange.startDate : (0, import_date_fns36.startOfMonth)(/* @__PURE__ */ new Date()),
|
|
18028
18143
|
tagFilter
|
|
18029
18144
|
});
|
|
18030
|
-
(0,
|
|
18145
|
+
(0, import_react204.useEffect)(() => {
|
|
18031
18146
|
checkTransactionsToReview();
|
|
18032
18147
|
}, []);
|
|
18033
|
-
(0,
|
|
18148
|
+
(0, import_react204.useEffect)(() => {
|
|
18034
18149
|
checkTransactionsToReview();
|
|
18035
18150
|
}, [dateRange, loaded]);
|
|
18036
18151
|
const checkTransactionsToReview = () => {
|
|
@@ -18043,48 +18158,46 @@ var TransactionToReviewCard = ({
|
|
|
18043
18158
|
}
|
|
18044
18159
|
}
|
|
18045
18160
|
};
|
|
18046
|
-
|
|
18047
|
-
|
|
18161
|
+
let verticalGap = "3xs";
|
|
18162
|
+
switch (size) {
|
|
18163
|
+
case "sm":
|
|
18164
|
+
verticalGap = "3xs";
|
|
18165
|
+
break;
|
|
18166
|
+
case "lg":
|
|
18167
|
+
verticalGap = "sm";
|
|
18168
|
+
break;
|
|
18169
|
+
}
|
|
18170
|
+
return /* @__PURE__ */ import_react204.default.createElement("div", { onClick, className: CLASS_NAME4 }, /* @__PURE__ */ import_react204.default.createElement(VStack, { gap: verticalGap, align: "start" }, /* @__PURE__ */ import_react204.default.createElement(ProfitAndLossSummariesHeading, { variants }, "Transactions to review"), loaded === "initial" || loaded === "loading" ? /* @__PURE__ */ import_react204.default.createElement(BadgeLoader, null) : null, loaded === "complete" && error ? /* @__PURE__ */ import_react204.default.createElement(
|
|
18171
|
+
Badge,
|
|
18048
18172
|
{
|
|
18049
|
-
|
|
18050
|
-
|
|
18173
|
+
variant: "error" /* ERROR */,
|
|
18174
|
+
size: "small" /* SMALL */,
|
|
18175
|
+
icon: /* @__PURE__ */ import_react204.default.createElement(RefreshCcw_default, { size: 12 }),
|
|
18176
|
+
onClick: () => refetch()
|
|
18051
18177
|
},
|
|
18052
|
-
|
|
18053
|
-
|
|
18054
|
-
|
|
18055
|
-
|
|
18056
|
-
|
|
18057
|
-
|
|
18058
|
-
|
|
18059
|
-
|
|
18060
|
-
|
|
18061
|
-
|
|
18062
|
-
|
|
18063
|
-
|
|
18064
|
-
|
|
18065
|
-
|
|
18066
|
-
|
|
18067
|
-
|
|
18068
|
-
|
|
18069
|
-
|
|
18070
|
-
|
|
18071
|
-
|
|
18072
|
-
" pending"
|
|
18073
|
-
) : null,
|
|
18074
|
-
loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */ import_react199.default.createElement(
|
|
18075
|
-
Badge,
|
|
18076
|
-
{
|
|
18077
|
-
variant: "success" /* SUCCESS */,
|
|
18078
|
-
size: "small" /* SMALL */,
|
|
18079
|
-
icon: /* @__PURE__ */ import_react199.default.createElement(Check_default, { size: 12 })
|
|
18080
|
-
},
|
|
18081
|
-
"All done"
|
|
18082
|
-
) : null
|
|
18083
|
-
);
|
|
18084
|
-
};
|
|
18178
|
+
"Refresh"
|
|
18179
|
+
) : null, loaded === "complete" && !error && toReview > 0 ? /* @__PURE__ */ import_react204.default.createElement(
|
|
18180
|
+
Badge,
|
|
18181
|
+
{
|
|
18182
|
+
variant: "warning" /* WARNING */,
|
|
18183
|
+
size: "small" /* SMALL */,
|
|
18184
|
+
icon: /* @__PURE__ */ import_react204.default.createElement(Bell_default, { size: 12 })
|
|
18185
|
+
},
|
|
18186
|
+
toReview,
|
|
18187
|
+
" pending"
|
|
18188
|
+
) : null, loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */ import_react204.default.createElement(
|
|
18189
|
+
Badge,
|
|
18190
|
+
{
|
|
18191
|
+
variant: "success" /* SUCCESS */,
|
|
18192
|
+
size: "small" /* SMALL */,
|
|
18193
|
+
icon: /* @__PURE__ */ import_react204.default.createElement(Check_default, { size: 12 })
|
|
18194
|
+
},
|
|
18195
|
+
"All done"
|
|
18196
|
+
) : null), /* @__PURE__ */ import_react204.default.createElement(IconButton, { icon: /* @__PURE__ */ import_react204.default.createElement(ChevronRight_default, null), withBorder: true, onClick }));
|
|
18197
|
+
}
|
|
18085
18198
|
|
|
18086
18199
|
// src/views/AccountingOverview/AccountingOverview.tsx
|
|
18087
|
-
var
|
|
18200
|
+
var import_classnames71 = __toESM(require("classnames"));
|
|
18088
18201
|
var AccountingOverview = ({
|
|
18089
18202
|
title = "Accounting overview",
|
|
18090
18203
|
showTitle = true,
|
|
@@ -18095,65 +18208,75 @@ var AccountingOverview = ({
|
|
|
18095
18208
|
chartColorsList,
|
|
18096
18209
|
stringOverrides,
|
|
18097
18210
|
tagFilter = void 0,
|
|
18098
|
-
showTransactionsToReview = true
|
|
18211
|
+
showTransactionsToReview = true,
|
|
18212
|
+
slotProps
|
|
18099
18213
|
}) => {
|
|
18100
|
-
var _a, _b, _c;
|
|
18101
|
-
const [pnlToggle, setPnlToggle] = (0,
|
|
18102
|
-
|
|
18214
|
+
var _a, _b, _c, _d, _e;
|
|
18215
|
+
const [pnlToggle, setPnlToggle] = (0, import_react205.useState)("expenses");
|
|
18216
|
+
const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
|
|
18217
|
+
return /* @__PURE__ */ import_react205.default.createElement(
|
|
18103
18218
|
ProfitAndLoss,
|
|
18104
18219
|
{
|
|
18105
18220
|
asContainer: false,
|
|
18106
18221
|
tagFilter: tagFilter ? { key: tagFilter.tagKey, values: tagFilter.tagValues } : void 0
|
|
18107
18222
|
},
|
|
18108
|
-
/* @__PURE__ */
|
|
18223
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
18109
18224
|
View,
|
|
18110
18225
|
{
|
|
18111
18226
|
title,
|
|
18112
18227
|
showHeader: showTitle,
|
|
18113
|
-
header: /* @__PURE__ */
|
|
18228
|
+
header: /* @__PURE__ */ import_react205.default.createElement(Header2, null, /* @__PURE__ */ import_react205.default.createElement(HeaderRow, null, /* @__PURE__ */ import_react205.default.createElement(HeaderCol, null, /* @__PURE__ */ import_react205.default.createElement(ProfitAndLoss.DatePicker, null))))
|
|
18114
18229
|
},
|
|
18115
|
-
enableOnboarding && /* @__PURE__ */
|
|
18230
|
+
enableOnboarding && /* @__PURE__ */ import_react205.default.createElement(
|
|
18116
18231
|
Onboarding,
|
|
18117
18232
|
{
|
|
18118
18233
|
onTransactionsToReviewClick,
|
|
18119
18234
|
onboardingStepOverride
|
|
18120
18235
|
}
|
|
18121
18236
|
),
|
|
18122
|
-
/* @__PURE__ */
|
|
18123
|
-
|
|
18124
|
-
{
|
|
18125
|
-
stringOverrides: (_a = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _a.summaries,
|
|
18126
|
-
chartColorsList
|
|
18127
|
-
}
|
|
18128
|
-
), showTransactionsToReview && /* @__PURE__ */ import_react200.default.createElement(
|
|
18129
|
-
TransactionToReviewCard,
|
|
18237
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
18238
|
+
Internal_ProfitAndLossSummaries,
|
|
18130
18239
|
{
|
|
18131
|
-
|
|
18132
|
-
|
|
18240
|
+
stringOverrides: (_c = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _c.summaries,
|
|
18241
|
+
chartColorsList,
|
|
18242
|
+
slots: {
|
|
18243
|
+
unstable_AdditionalListItems: showTransactionsToReview ? [
|
|
18244
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
18245
|
+
TransactionsToReview,
|
|
18246
|
+
{
|
|
18247
|
+
key: "transactions-to-review",
|
|
18248
|
+
usePnlDateRange: true,
|
|
18249
|
+
onClick: onTransactionsToReviewClick,
|
|
18250
|
+
variants: profitAndLossSummariesVariants
|
|
18251
|
+
}
|
|
18252
|
+
)
|
|
18253
|
+
] : void 0
|
|
18254
|
+
},
|
|
18255
|
+
variants: profitAndLossSummariesVariants
|
|
18133
18256
|
}
|
|
18134
|
-
)
|
|
18135
|
-
/* @__PURE__ */
|
|
18257
|
+
),
|
|
18258
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
18136
18259
|
Container,
|
|
18137
18260
|
{
|
|
18138
18261
|
name: "accounting-overview-profit-and-loss",
|
|
18139
18262
|
asWidget: true,
|
|
18140
18263
|
elevated: true
|
|
18141
18264
|
},
|
|
18142
|
-
/* @__PURE__ */
|
|
18265
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
18143
18266
|
ProfitAndLoss.Header,
|
|
18144
18267
|
{
|
|
18145
18268
|
text: (stringOverrides == null ? void 0 : stringOverrides.header) || "Profit & Loss"
|
|
18146
18269
|
}
|
|
18147
18270
|
),
|
|
18148
|
-
/* @__PURE__ */
|
|
18271
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
18149
18272
|
ProfitAndLoss.Chart,
|
|
18150
18273
|
{
|
|
18151
18274
|
tagFilter: tagFilter ? { key: tagFilter.tagKey, values: tagFilter.tagValues } : void 0
|
|
18152
18275
|
}
|
|
18153
18276
|
)
|
|
18154
18277
|
),
|
|
18155
|
-
middleBanner && /* @__PURE__ */
|
|
18156
|
-
/* @__PURE__ */
|
|
18278
|
+
middleBanner && /* @__PURE__ */ import_react205.default.createElement(Container, { name: "accounting-overview-middle-banner" }, middleBanner),
|
|
18279
|
+
/* @__PURE__ */ import_react205.default.createElement("div", { className: "Layer__accounting-overview-profit-and-loss-charts" }, /* @__PURE__ */ import_react205.default.createElement(
|
|
18157
18280
|
Toggle,
|
|
18158
18281
|
{
|
|
18159
18282
|
name: "pnl-detailed-charts",
|
|
@@ -18170,37 +18293,37 @@ var AccountingOverview = ({
|
|
|
18170
18293
|
selected: pnlToggle,
|
|
18171
18294
|
onChange: (e) => setPnlToggle(e.target.value)
|
|
18172
18295
|
}
|
|
18173
|
-
), /* @__PURE__ */
|
|
18296
|
+
), /* @__PURE__ */ import_react205.default.createElement(
|
|
18174
18297
|
Container,
|
|
18175
18298
|
{
|
|
18176
|
-
name: (0,
|
|
18299
|
+
name: (0, import_classnames71.default)(
|
|
18177
18300
|
"accounting-overview-profit-and-loss-chart",
|
|
18178
18301
|
pnlToggle !== "revenue" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
18179
18302
|
)
|
|
18180
18303
|
},
|
|
18181
|
-
/* @__PURE__ */
|
|
18304
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
18182
18305
|
ProfitAndLoss.DetailedCharts,
|
|
18183
18306
|
{
|
|
18184
18307
|
scope: "revenue",
|
|
18185
18308
|
hideClose: true,
|
|
18186
|
-
stringOverrides: (
|
|
18309
|
+
stringOverrides: (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.detailedCharts,
|
|
18187
18310
|
chartColorsList
|
|
18188
18311
|
}
|
|
18189
18312
|
)
|
|
18190
|
-
), /* @__PURE__ */
|
|
18313
|
+
), /* @__PURE__ */ import_react205.default.createElement(
|
|
18191
18314
|
Container,
|
|
18192
18315
|
{
|
|
18193
|
-
name: (0,
|
|
18316
|
+
name: (0, import_classnames71.default)(
|
|
18194
18317
|
"accounting-overview-profit-and-loss-chart",
|
|
18195
18318
|
pnlToggle !== "expenses" && "accounting-overview-profit-and-loss-chart--hidden"
|
|
18196
18319
|
)
|
|
18197
18320
|
},
|
|
18198
|
-
/* @__PURE__ */
|
|
18321
|
+
/* @__PURE__ */ import_react205.default.createElement(
|
|
18199
18322
|
ProfitAndLoss.DetailedCharts,
|
|
18200
18323
|
{
|
|
18201
18324
|
scope: "expenses",
|
|
18202
18325
|
hideClose: true,
|
|
18203
|
-
stringOverrides: (
|
|
18326
|
+
stringOverrides: (_e = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _e.detailedCharts,
|
|
18204
18327
|
chartColorsList
|
|
18205
18328
|
}
|
|
18206
18329
|
)
|
|
@@ -18210,7 +18333,7 @@ var AccountingOverview = ({
|
|
|
18210
18333
|
};
|
|
18211
18334
|
|
|
18212
18335
|
// src/views/BankTransactionsWithLinkedAccounts/BankTransactionsWithLinkedAccounts.tsx
|
|
18213
|
-
var
|
|
18336
|
+
var import_react206 = __toESM(require("react"));
|
|
18214
18337
|
var BankTransactionsWithLinkedAccounts = ({
|
|
18215
18338
|
title,
|
|
18216
18339
|
// deprecated
|
|
@@ -18226,13 +18349,13 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
18226
18349
|
mobileComponent,
|
|
18227
18350
|
stringOverrides
|
|
18228
18351
|
}) => {
|
|
18229
|
-
return /* @__PURE__ */
|
|
18352
|
+
return /* @__PURE__ */ import_react206.default.createElement(
|
|
18230
18353
|
View,
|
|
18231
18354
|
{
|
|
18232
18355
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "Bank transactions",
|
|
18233
18356
|
showHeader: showTitle
|
|
18234
18357
|
},
|
|
18235
|
-
/* @__PURE__ */
|
|
18358
|
+
/* @__PURE__ */ import_react206.default.createElement(
|
|
18236
18359
|
LinkedAccounts,
|
|
18237
18360
|
{
|
|
18238
18361
|
elevated: elevatedLinkedAccounts,
|
|
@@ -18242,7 +18365,7 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
18242
18365
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.linkedAccounts
|
|
18243
18366
|
}
|
|
18244
18367
|
),
|
|
18245
|
-
/* @__PURE__ */
|
|
18368
|
+
/* @__PURE__ */ import_react206.default.createElement(
|
|
18246
18369
|
BankTransactions,
|
|
18247
18370
|
{
|
|
18248
18371
|
asWidget: true,
|
|
@@ -18258,7 +18381,7 @@ var BankTransactionsWithLinkedAccounts = ({
|
|
|
18258
18381
|
};
|
|
18259
18382
|
|
|
18260
18383
|
// src/views/GeneralLedger/GeneralLedger.tsx
|
|
18261
|
-
var
|
|
18384
|
+
var import_react207 = __toESM(require("react"));
|
|
18262
18385
|
var GeneralLedgerView = ({
|
|
18263
18386
|
title,
|
|
18264
18387
|
// deprecated
|
|
@@ -18266,14 +18389,14 @@ var GeneralLedgerView = ({
|
|
|
18266
18389
|
stringOverrides,
|
|
18267
18390
|
chartOfAccountsOptions
|
|
18268
18391
|
}) => {
|
|
18269
|
-
const [activeTab, setActiveTab] = (0,
|
|
18270
|
-
return /* @__PURE__ */
|
|
18392
|
+
const [activeTab, setActiveTab] = (0, import_react207.useState)("chartOfAccounts");
|
|
18393
|
+
return /* @__PURE__ */ import_react207.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react207.default.createElement(
|
|
18271
18394
|
View,
|
|
18272
18395
|
{
|
|
18273
18396
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "General Ledger",
|
|
18274
18397
|
showHeader: showTitle
|
|
18275
18398
|
},
|
|
18276
|
-
/* @__PURE__ */
|
|
18399
|
+
/* @__PURE__ */ import_react207.default.createElement(
|
|
18277
18400
|
Toggle,
|
|
18278
18401
|
{
|
|
18279
18402
|
name: "general-ledger-tabs",
|
|
@@ -18291,7 +18414,7 @@ var GeneralLedgerView = ({
|
|
|
18291
18414
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
18292
18415
|
}
|
|
18293
18416
|
),
|
|
18294
|
-
activeTab === "chartOfAccounts" ? /* @__PURE__ */
|
|
18417
|
+
activeTab === "chartOfAccounts" ? /* @__PURE__ */ import_react207.default.createElement(
|
|
18295
18418
|
ChartOfAccounts,
|
|
18296
18419
|
{
|
|
18297
18420
|
asWidget: true,
|
|
@@ -18300,12 +18423,12 @@ var GeneralLedgerView = ({
|
|
|
18300
18423
|
templateAccountsEditable: chartOfAccountsOptions == null ? void 0 : chartOfAccountsOptions.templateAccountsEditable,
|
|
18301
18424
|
showReversalEntries: chartOfAccountsOptions == null ? void 0 : chartOfAccountsOptions.showReversalEntries
|
|
18302
18425
|
}
|
|
18303
|
-
) : /* @__PURE__ */
|
|
18426
|
+
) : /* @__PURE__ */ import_react207.default.createElement(Journal, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.journal })
|
|
18304
18427
|
));
|
|
18305
18428
|
};
|
|
18306
18429
|
|
|
18307
18430
|
// src/views/ProjectProfitability/ProjectProfitability.tsx
|
|
18308
|
-
var
|
|
18431
|
+
var import_react208 = __toESM(require("react"));
|
|
18309
18432
|
var import_react_select5 = __toESM(require("react-select"));
|
|
18310
18433
|
var ProjectProfitabilityView = ({
|
|
18311
18434
|
valueOptions,
|
|
@@ -18314,9 +18437,9 @@ var ProjectProfitabilityView = ({
|
|
|
18314
18437
|
datePickerMode = "monthPicker",
|
|
18315
18438
|
csvMoneyFormat = "DOLLAR_STRING"
|
|
18316
18439
|
}) => {
|
|
18317
|
-
const [activeTab, setActiveTab] = (0,
|
|
18318
|
-
const [tagFilter, setTagFilter] = (0,
|
|
18319
|
-
const [pnlTagFilter, setPnlTagFilter] = (0,
|
|
18440
|
+
const [activeTab, setActiveTab] = (0, import_react208.useState)("overview");
|
|
18441
|
+
const [tagFilter, setTagFilter] = (0, import_react208.useState)(null);
|
|
18442
|
+
const [pnlTagFilter, setPnlTagFilter] = (0, import_react208.useState)(
|
|
18320
18443
|
void 0
|
|
18321
18444
|
);
|
|
18322
18445
|
const isOptionSelected = (option, selectValue) => {
|
|
@@ -18330,14 +18453,14 @@ var ProjectProfitabilityView = ({
|
|
|
18330
18453
|
values: tagFilter2.tagValues
|
|
18331
18454
|
} : void 0;
|
|
18332
18455
|
};
|
|
18333
|
-
return /* @__PURE__ */
|
|
18456
|
+
return /* @__PURE__ */ import_react208.default.createElement(
|
|
18334
18457
|
View,
|
|
18335
18458
|
{
|
|
18336
18459
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || "",
|
|
18337
18460
|
showHeader: showTitle,
|
|
18338
18461
|
viewClassName: "Layer__project-view"
|
|
18339
18462
|
},
|
|
18340
|
-
/* @__PURE__ */
|
|
18463
|
+
/* @__PURE__ */ import_react208.default.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ import_react208.default.createElement("div", { className: "Layer__component" }, /* @__PURE__ */ import_react208.default.createElement(
|
|
18341
18464
|
Toggle,
|
|
18342
18465
|
{
|
|
18343
18466
|
name: "project-tabs",
|
|
@@ -18358,7 +18481,7 @@ var ProjectProfitabilityView = ({
|
|
|
18358
18481
|
selected: activeTab,
|
|
18359
18482
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
18360
18483
|
}
|
|
18361
|
-
)), /* @__PURE__ */
|
|
18484
|
+
)), /* @__PURE__ */ import_react208.default.createElement(
|
|
18362
18485
|
import_react_select5.default,
|
|
18363
18486
|
{
|
|
18364
18487
|
className: "Layer__category-menu Layer__select",
|
|
@@ -18376,7 +18499,7 @@ var ProjectProfitabilityView = ({
|
|
|
18376
18499
|
}
|
|
18377
18500
|
}
|
|
18378
18501
|
)),
|
|
18379
|
-
/* @__PURE__ */
|
|
18502
|
+
/* @__PURE__ */ import_react208.default.createElement(Container, { name: "project" }, /* @__PURE__ */ import_react208.default.createElement(import_react208.default.Fragment, null, activeTab === "overview" && /* @__PURE__ */ import_react208.default.createElement(
|
|
18380
18503
|
AccountingOverview,
|
|
18381
18504
|
{
|
|
18382
18505
|
stringOverrides: { header: "Project Overview" },
|
|
@@ -18386,7 +18509,7 @@ var ProjectProfitabilityView = ({
|
|
|
18386
18509
|
showTransactionsToReview: false,
|
|
18387
18510
|
showTitle: false
|
|
18388
18511
|
}
|
|
18389
|
-
), activeTab === "transactions" && /* @__PURE__ */
|
|
18512
|
+
), activeTab === "transactions" && /* @__PURE__ */ import_react208.default.createElement(
|
|
18390
18513
|
BankTransactions,
|
|
18391
18514
|
{
|
|
18392
18515
|
hideHeader: true,
|
|
@@ -18395,7 +18518,7 @@ var ProjectProfitabilityView = ({
|
|
|
18395
18518
|
tagFilter: tagFilter != null ? tagFilter : void 0
|
|
18396
18519
|
}
|
|
18397
18520
|
}
|
|
18398
|
-
), activeTab === "report" && /* @__PURE__ */
|
|
18521
|
+
), activeTab === "report" && /* @__PURE__ */ import_react208.default.createElement(ProfitAndLoss, { asContainer: false, tagFilter: pnlTagFilter }, /* @__PURE__ */ import_react208.default.createElement(
|
|
18399
18522
|
ProfitAndLoss.Report,
|
|
18400
18523
|
{
|
|
18401
18524
|
stringOverrides,
|
|
@@ -18407,7 +18530,7 @@ var ProjectProfitabilityView = ({
|
|
|
18407
18530
|
};
|
|
18408
18531
|
|
|
18409
18532
|
// src/views/Reports/Reports.tsx
|
|
18410
|
-
var
|
|
18533
|
+
var import_react209 = __toESM(require("react"));
|
|
18411
18534
|
var getOptions = (enabledReports) => {
|
|
18412
18535
|
return [
|
|
18413
18536
|
enabledReports.includes("profitAndLoss") ? {
|
|
@@ -18434,20 +18557,20 @@ var Reports = ({
|
|
|
18434
18557
|
statementOfCashFlowConfig
|
|
18435
18558
|
}) => {
|
|
18436
18559
|
var _a;
|
|
18437
|
-
const [activeTab, setActiveTab] = (0,
|
|
18438
|
-
const [view, setView] = (0,
|
|
18560
|
+
const [activeTab, setActiveTab] = (0, import_react209.useState)(enabledReports[0]);
|
|
18561
|
+
const [view, setView] = (0, import_react209.useState)("desktop");
|
|
18439
18562
|
const containerRef = useElementViewSize(
|
|
18440
18563
|
(newView) => setView(newView)
|
|
18441
18564
|
);
|
|
18442
18565
|
const options = getOptions(enabledReports);
|
|
18443
18566
|
const defaultTitle = enabledReports.length > 1 ? "Reports" : (_a = options.find((option) => option.value = enabledReports[0])) == null ? void 0 : _a.label;
|
|
18444
|
-
return /* @__PURE__ */
|
|
18567
|
+
return /* @__PURE__ */ import_react209.default.createElement(
|
|
18445
18568
|
View,
|
|
18446
18569
|
{
|
|
18447
18570
|
title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || defaultTitle,
|
|
18448
18571
|
showHeader: showTitle
|
|
18449
18572
|
},
|
|
18450
|
-
enabledReports.length > 1 && /* @__PURE__ */
|
|
18573
|
+
enabledReports.length > 1 && /* @__PURE__ */ import_react209.default.createElement("div", { className: "Layer__component Layer__header__actions" }, /* @__PURE__ */ import_react209.default.createElement(
|
|
18451
18574
|
Toggle,
|
|
18452
18575
|
{
|
|
18453
18576
|
name: "reports-tabs",
|
|
@@ -18456,7 +18579,7 @@ var Reports = ({
|
|
|
18456
18579
|
onChange: (opt) => setActiveTab(opt.target.value)
|
|
18457
18580
|
}
|
|
18458
18581
|
)),
|
|
18459
|
-
/* @__PURE__ */
|
|
18582
|
+
/* @__PURE__ */ import_react209.default.createElement(Container, { name: "reports", ref: containerRef }, /* @__PURE__ */ import_react209.default.createElement(ProfitAndLoss, { asContainer: false }, /* @__PURE__ */ import_react209.default.createElement(
|
|
18460
18583
|
ReportsPanel,
|
|
18461
18584
|
{
|
|
18462
18585
|
containerRef,
|
|
@@ -18479,7 +18602,7 @@ var ReportsPanel = ({
|
|
|
18479
18602
|
statementOfCashFlowConfig,
|
|
18480
18603
|
view
|
|
18481
18604
|
}) => {
|
|
18482
|
-
return /* @__PURE__ */
|
|
18605
|
+
return /* @__PURE__ */ import_react209.default.createElement(import_react209.default.Fragment, null, openReport === "profitAndLoss" && /* @__PURE__ */ import_react209.default.createElement(
|
|
18483
18606
|
ProfitAndLoss.Report,
|
|
18484
18607
|
__spreadValues({
|
|
18485
18608
|
stringOverrides,
|
|
@@ -18487,7 +18610,7 @@ var ReportsPanel = ({
|
|
|
18487
18610
|
parentRef: containerRef,
|
|
18488
18611
|
view
|
|
18489
18612
|
}, profitAndLossConfig)
|
|
18490
|
-
), openReport === "balanceSheet" && /* @__PURE__ */
|
|
18613
|
+
), openReport === "balanceSheet" && /* @__PURE__ */ import_react209.default.createElement(BalanceSheet, { stringOverrides: stringOverrides == null ? void 0 : stringOverrides.balanceSheet }), openReport === "statementOfCashFlow" && /* @__PURE__ */ import_react209.default.createElement(
|
|
18491
18614
|
StatementOfCashFlow,
|
|
18492
18615
|
__spreadValues({
|
|
18493
18616
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.statementOfCashflow
|
|
@@ -18496,11 +18619,11 @@ var ReportsPanel = ({
|
|
|
18496
18619
|
};
|
|
18497
18620
|
|
|
18498
18621
|
// src/components/ProfitAndLossView/ProfitAndLossView.tsx
|
|
18499
|
-
var
|
|
18622
|
+
var import_react210 = __toESM(require("react"));
|
|
18500
18623
|
var COMPONENT_NAME7 = "profit-and-loss";
|
|
18501
18624
|
var ProfitAndLossView = (props) => {
|
|
18502
|
-
const containerRef = (0,
|
|
18503
|
-
return /* @__PURE__ */
|
|
18625
|
+
const containerRef = (0, import_react210.useRef)(null);
|
|
18626
|
+
return /* @__PURE__ */ import_react210.default.createElement(Container, { name: COMPONENT_NAME7, ref: containerRef }, /* @__PURE__ */ import_react210.default.createElement(ProfitAndLoss, null, /* @__PURE__ */ import_react210.default.createElement(ProfitAndLossPanel, __spreadValues({ containerRef }, props))));
|
|
18504
18627
|
};
|
|
18505
18628
|
var ProfitAndLossPanel = (_a) => {
|
|
18506
18629
|
var _b = _a, {
|
|
@@ -18510,11 +18633,11 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
18510
18633
|
"containerRef",
|
|
18511
18634
|
"stringOverrides"
|
|
18512
18635
|
]);
|
|
18513
|
-
const { sidebarScope } = (0,
|
|
18514
|
-
return /* @__PURE__ */
|
|
18636
|
+
const { sidebarScope } = (0, import_react210.useContext)(ProfitAndLoss.Context);
|
|
18637
|
+
return /* @__PURE__ */ import_react210.default.createElement(
|
|
18515
18638
|
Panel,
|
|
18516
18639
|
{
|
|
18517
|
-
sidebar: /* @__PURE__ */
|
|
18640
|
+
sidebar: /* @__PURE__ */ import_react210.default.createElement(
|
|
18518
18641
|
ProfitAndLossDetailedCharts,
|
|
18519
18642
|
{
|
|
18520
18643
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossDetailedCharts
|
|
@@ -18523,7 +18646,7 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
18523
18646
|
sidebarIsOpen: Boolean(sidebarScope),
|
|
18524
18647
|
parentRef: containerRef
|
|
18525
18648
|
},
|
|
18526
|
-
/* @__PURE__ */
|
|
18649
|
+
/* @__PURE__ */ import_react210.default.createElement(
|
|
18527
18650
|
ProfitAndLoss.Header,
|
|
18528
18651
|
{
|
|
18529
18652
|
text: (stringOverrides == null ? void 0 : stringOverrides.header) || "Profit & Loss",
|
|
@@ -18531,7 +18654,7 @@ var ProfitAndLossPanel = (_a) => {
|
|
|
18531
18654
|
headingClassName: "Layer__profit-and-loss__title"
|
|
18532
18655
|
}
|
|
18533
18656
|
),
|
|
18534
|
-
/* @__PURE__ */
|
|
18657
|
+
/* @__PURE__ */ import_react210.default.createElement(Components, __spreadValues({ stringOverrides }, props))
|
|
18535
18658
|
);
|
|
18536
18659
|
};
|
|
18537
18660
|
var Components = ({
|
|
@@ -18539,11 +18662,11 @@ var Components = ({
|
|
|
18539
18662
|
hideTable = false,
|
|
18540
18663
|
stringOverrides
|
|
18541
18664
|
}) => {
|
|
18542
|
-
const { error, isLoading, isValidating, refetch } = (0,
|
|
18665
|
+
const { error, isLoading, isValidating, refetch } = (0, import_react210.useContext)(
|
|
18543
18666
|
ProfitAndLoss.Context
|
|
18544
18667
|
);
|
|
18545
18668
|
if (!isLoading && error) {
|
|
18546
|
-
return /* @__PURE__ */
|
|
18669
|
+
return /* @__PURE__ */ import_react210.default.createElement("div", { className: "Layer__table-state-container" }, /* @__PURE__ */ import_react210.default.createElement(
|
|
18547
18670
|
DataState,
|
|
18548
18671
|
{
|
|
18549
18672
|
status: "failed" /* failed */,
|
|
@@ -18554,27 +18677,26 @@ var Components = ({
|
|
|
18554
18677
|
}
|
|
18555
18678
|
));
|
|
18556
18679
|
}
|
|
18557
|
-
return /* @__PURE__ */
|
|
18680
|
+
return /* @__PURE__ */ import_react210.default.createElement(import_react210.default.Fragment, null, !hideChart && /* @__PURE__ */ import_react210.default.createElement("div", { className: `Layer__${COMPONENT_NAME7}__chart_with_summaries` }, /* @__PURE__ */ import_react210.default.createElement(
|
|
18558
18681
|
"div",
|
|
18559
18682
|
{
|
|
18560
18683
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__summary-col`
|
|
18561
18684
|
},
|
|
18562
|
-
/* @__PURE__ */
|
|
18563
|
-
/* @__PURE__ */
|
|
18685
|
+
/* @__PURE__ */ import_react210.default.createElement(ProfitAndLoss.DatePicker, null),
|
|
18686
|
+
/* @__PURE__ */ import_react210.default.createElement(
|
|
18564
18687
|
ProfitAndLoss.Summaries,
|
|
18565
18688
|
{
|
|
18566
|
-
vertical: true,
|
|
18567
18689
|
actionable: true,
|
|
18568
18690
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossSummaries
|
|
18569
18691
|
}
|
|
18570
18692
|
)
|
|
18571
|
-
), /* @__PURE__ */
|
|
18693
|
+
), /* @__PURE__ */ import_react210.default.createElement(
|
|
18572
18694
|
"div",
|
|
18573
18695
|
{
|
|
18574
18696
|
className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__chart-col`
|
|
18575
18697
|
},
|
|
18576
|
-
/* @__PURE__ */
|
|
18577
|
-
)), !hideTable && /* @__PURE__ */
|
|
18698
|
+
/* @__PURE__ */ import_react210.default.createElement(ProfitAndLoss.Chart, null)
|
|
18699
|
+
)), !hideTable && /* @__PURE__ */ import_react210.default.createElement(
|
|
18578
18700
|
ProfitAndLoss.Table,
|
|
18579
18701
|
{
|
|
18580
18702
|
stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossTable
|