@layerfi/components 0.1.83 → 0.1.84-alpha

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