@layerfi/components 0.1.82 → 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.82";
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,
@@ -11816,6 +11824,9 @@ var Indicator = ({
11816
11824
  setCustomCursorSize,
11817
11825
  viewBox = {}
11818
11826
  }) => {
11827
+ if (!(className == null ? void 0 : className.match(/selected/))) {
11828
+ return null;
11829
+ }
11819
11830
  const [opacityIndicator, setOpacityIndicator] = (0, import_react133.useState)(0);
11820
11831
  const { x: animateTo = 0, width = 0 } = "x" in viewBox ? viewBox : emptyViewBox;
11821
11832
  const margin = width > 12 ? 12 : 6;
@@ -11833,9 +11844,6 @@ var Indicator = ({
11833
11844
  setOpacityIndicator(1);
11834
11845
  }, 200);
11835
11846
  }, [animateTo]);
11836
- if (!(className == null ? void 0 : className.match(/selected/))) {
11837
- return null;
11838
- }
11839
11847
  const rectRef = (ref) => {
11840
11848
  if (ref) {
11841
11849
  const refRectWidth = ref.getBoundingClientRect().width;
@@ -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);
@@ -18845,11 +19045,12 @@ var TasksList = ({ pageSize = 10 }) => {
18845
19045
  );
18846
19046
  const goToNextPage = (task) => {
18847
19047
  const allComplete = sortedTasks == null ? void 0 : sortedTasks.filter((taskInList) => taskInList.id !== task.id).every((task2) => isComplete(task2.status));
18848
- if (allComplete) {
19048
+ const hasMorePages = sortedTasks ? sortedTasks.length > pageSize * currentPage : false;
19049
+ if (allComplete && hasMorePages) {
18849
19050
  setCurrentPage(currentPage + 1);
18850
19051
  }
18851
19052
  };
18852
- 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(
18853
19054
  TasksListItem,
18854
19055
  {
18855
19056
  key: task.id,
@@ -18857,7 +19058,7 @@ var TasksList = ({ pageSize = 10 }) => {
18857
19058
  goToNextPageIfAllComplete: goToNextPage,
18858
19059
  defaultOpen: index === indexFirstIncomplete
18859
19060
  }
18860
- )), 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(
18861
19062
  Pagination,
18862
19063
  {
18863
19064
  currentPage,
@@ -18865,17 +19066,17 @@ var TasksList = ({ pageSize = 10 }) => {
18865
19066
  pageSize,
18866
19067
  onPageChange: (page) => setCurrentPage(page)
18867
19068
  }
18868
- ))) : /* @__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)));
18869
19070
  };
18870
19071
 
18871
19072
  // src/components/TasksPending/TasksPending.tsx
18872
- var import_react215 = __toESM(require("react"));
19073
+ var import_react217 = __toESM(require("react"));
18873
19074
  var import_classnames69 = __toESM(require("classnames"));
18874
19075
  var import_date_fns40 = require("date-fns");
18875
19076
  var import_recharts4 = require("recharts");
18876
19077
  var TasksPending = () => {
18877
- const { data: rawData, currentDate } = (0, import_react215.useContext)(TasksContext);
18878
- const data = (0, import_react215.useMemo)(() => {
19078
+ const { data: rawData, currentDate } = (0, import_react217.useContext)(TasksContext);
19079
+ const data = (0, import_react217.useMemo)(() => {
18879
19080
  return rawData == null ? void 0 : rawData.filter((x) => {
18880
19081
  const d = x.effective_date ? (0, import_date_fns40.parseISO)(x.effective_date) : (0, import_date_fns40.parseISO)(x.created_at);
18881
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));
@@ -18895,7 +19096,7 @@ var TasksPending = () => {
18895
19096
  const taskStatusClassName = (0, import_classnames69.default)(
18896
19097
  completedTasks && completedTasks > 0 ? "Layer__tasks-pending-bar__status--done" : "Layer__tasks-pending-bar__status--pending"
18897
19098
  );
18898
- 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(
18899
19100
  import_recharts4.Pie,
18900
19101
  {
18901
19102
  data: chartData,
@@ -18913,7 +19114,7 @@ var TasksPending = () => {
18913
19114
  animationEasing: "ease-in-out"
18914
19115
  },
18915
19116
  chartData.map((task, index) => {
18916
- return /* @__PURE__ */ import_react215.default.createElement(
19117
+ return /* @__PURE__ */ import_react217.default.createElement(
18917
19118
  import_recharts4.Cell,
18918
19119
  {
18919
19120
  key: `cell-${index}`,
@@ -18926,11 +19127,11 @@ var TasksPending = () => {
18926
19127
  };
18927
19128
 
18928
19129
  // src/components/TasksMonthSelector/TasksMonthSelector.tsx
18929
- var import_react217 = __toESM(require("react"));
19130
+ var import_react219 = __toESM(require("react"));
18930
19131
  var import_date_fns41 = require("date-fns");
18931
19132
 
18932
19133
  // src/components/TasksMonthSelector/TaskMonthTile.tsx
18933
- var import_react216 = __toESM(require("react"));
19134
+ var import_react218 = __toESM(require("react"));
18934
19135
  var import_classnames70 = __toESM(require("classnames"));
18935
19136
  var TaskMonthTile = ({ monthData, onClick, active, disabled }) => {
18936
19137
  const isCompleted = monthData.total === monthData.completed;
@@ -18940,7 +19141,7 @@ var TaskMonthTile = ({ monthData, onClick, active, disabled }) => {
18940
19141
  active && "Layer__tasks-month-selector__month--active",
18941
19142
  disabled && "Layer__tasks-month-selector__month--disabled"
18942
19143
  );
18943
- 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 })));
18944
19145
  };
18945
19146
 
18946
19147
  // src/components/TasksMonthSelector/TasksMonthSelector.tsx
@@ -18952,7 +19153,7 @@ var DEFAULT_TASK_DATA = {
18952
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);
18953
19154
  var TasksMonthSelector = ({ tasks, year, currentDate, onClick }) => {
18954
19155
  const { business } = useLayerContext();
18955
- const minDate = (0, import_react217.useMemo)(() => {
19156
+ const minDate = (0, import_react219.useMemo)(() => {
18956
19157
  if (business) {
18957
19158
  const date = getEarliestDateToBrowse(business);
18958
19159
  if (date) {
@@ -18961,7 +19162,7 @@ var TasksMonthSelector = ({ tasks, year, currentDate, onClick }) => {
18961
19162
  }
18962
19163
  return;
18963
19164
  }, [business]);
18964
- const months = (0, import_react217.useMemo)(() => {
19165
+ const months = (0, import_react219.useMemo)(() => {
18965
19166
  return Array.from({ length: 12 }, (_, i) => {
18966
19167
  var _a;
18967
19168
  const startDate = (0, import_date_fns41.set)(
@@ -18985,8 +19186,8 @@ var TasksMonthSelector = ({ tasks, year, currentDate, onClick }) => {
18985
19186
  }, taskData);
18986
19187
  });
18987
19188
  }, [tasks, year, minDate]);
18988
- return /* @__PURE__ */ import_react217.default.createElement("div", { className: "Layer__tasks-month-selector" }, months.map((month, idx) => {
18989
- 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(
18990
19191
  TaskMonthTile,
18991
19192
  {
18992
19193
  key: idx,
@@ -19002,7 +19203,7 @@ var TasksMonthSelector = ({ tasks, year, currentDate, onClick }) => {
19002
19203
  // src/components/Tasks/Tasks.tsx
19003
19204
  var import_classnames71 = __toESM(require("classnames"));
19004
19205
  var import_date_fns42 = require("date-fns");
19005
- var UseTasksContext = (0, import_react218.createContext)({
19206
+ var UseTasksContext = (0, import_react220.createContext)({
19006
19207
  data: void 0,
19007
19208
  isLoading: void 0,
19008
19209
  loadedStatus: "initial",
@@ -19032,7 +19233,7 @@ var Tasks = ({
19032
19233
  // deprecated
19033
19234
  stringOverrides
19034
19235
  }) => {
19035
- 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(
19036
19237
  TasksComponent,
19037
19238
  {
19038
19239
  collapsable,
@@ -19045,7 +19246,7 @@ var Tasks = ({
19045
19246
  };
19046
19247
  var TasksProvider = ({ children }) => {
19047
19248
  const contextData = useTasks();
19048
- return /* @__PURE__ */ import_react218.default.createElement(TasksContext.Provider, { value: contextData }, children);
19249
+ return /* @__PURE__ */ import_react220.default.createElement(TasksContext.Provider, { value: contextData }, children);
19049
19250
  };
19050
19251
  var TasksComponent = ({
19051
19252
  collapsable = false,
@@ -19063,8 +19264,8 @@ var TasksComponent = ({
19063
19264
  currentDate,
19064
19265
  setCurrentDate,
19065
19266
  dateRange
19066
- } = (0, import_react218.useContext)(TasksContext);
19067
- const allComplete = (0, import_react218.useMemo)(() => {
19267
+ } = (0, import_react220.useContext)(TasksContext);
19268
+ const allComplete = (0, import_react220.useMemo)(() => {
19068
19269
  if (!data) {
19069
19270
  return void 0;
19070
19271
  }
@@ -19073,15 +19274,15 @@ var TasksComponent = ({
19073
19274
  }
19074
19275
  return false;
19075
19276
  }, [data, isLoading]);
19076
- const [open, setOpen] = (0, import_react218.useState)(
19277
+ const [open, setOpen] = (0, import_react220.useState)(
19077
19278
  defaultCollapsed || collapsedWhenComplete ? false : true
19078
19279
  );
19079
- (0, import_react218.useEffect)(() => {
19280
+ (0, import_react220.useEffect)(() => {
19080
19281
  if (allComplete && open && collapsedWhenComplete && loadedStatus === "complete") {
19081
19282
  setOpen(false);
19082
19283
  }
19083
19284
  }, [allComplete]);
19084
- 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(
19085
19286
  TasksHeader,
19086
19287
  {
19087
19288
  tasksHeader: (stringOverrides == null ? void 0 : stringOverrides.header) || tasksHeader,
@@ -19089,7 +19290,7 @@ var TasksComponent = ({
19089
19290
  open,
19090
19291
  toggleContent: () => setOpen(!open)
19091
19292
  }
19092
- ), /* @__PURE__ */ import_react218.default.createElement(
19293
+ ), /* @__PURE__ */ import_react220.default.createElement(
19093
19294
  "div",
19094
19295
  {
19095
19296
  className: (0, import_classnames71.default)(
@@ -19097,7 +19298,7 @@ var TasksComponent = ({
19097
19298
  !open && "Layer__tasks__content--collapsed"
19098
19299
  )
19099
19300
  },
19100
- 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(
19101
19302
  TasksMonthSelector,
19102
19303
  {
19103
19304
  tasks: monthlyData,
@@ -19105,21 +19306,21 @@ var TasksComponent = ({
19105
19306
  onClick: setCurrentDate,
19106
19307
  year: (0, import_date_fns42.getYear)(dateRange.startDate)
19107
19308
  }
19108
- ), /* @__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))
19109
19310
  ));
19110
19311
  };
19111
19312
 
19112
19313
  // src/components/PlatformOnboarding/LinkAccounts.tsx
19113
- var import_react219 = __toESM(require("react"));
19314
+ var import_react221 = __toESM(require("react"));
19114
19315
  var LinkAccounts = (_a) => {
19115
19316
  var _b = _a, { inBox } = _b, props = __objRest(_b, ["inBox"]);
19116
- const content = (0, import_react219.useMemo)(() => {
19317
+ const content = (0, import_react221.useMemo)(() => {
19117
19318
  if (inBox) {
19118
- 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)));
19119
19320
  }
19120
- return /* @__PURE__ */ import_react219.default.createElement(LinkAccountsContent, __spreadValues({}, props));
19321
+ return /* @__PURE__ */ import_react221.default.createElement(LinkAccountsContent, __spreadValues({}, props));
19121
19322
  }, [inBox, props]);
19122
- return /* @__PURE__ */ import_react219.default.createElement(LinkedAccountsProvider, null, content);
19323
+ return /* @__PURE__ */ import_react221.default.createElement(LinkedAccountsProvider, null, content);
19123
19324
  };
19124
19325
  var LinkAccountsContent = ({
19125
19326
  title,
@@ -19133,8 +19334,8 @@ var LinkAccountsContent = ({
19133
19334
  onNext
19134
19335
  }) => {
19135
19336
  var _a;
19136
- const { data, loadingStatus, error, refetchAccounts, addConnection } = (0, import_react219.useContext)(LinkedAccountsContext);
19137
- 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(
19138
19339
  DataState,
19139
19340
  {
19140
19341
  status: "failed" /* failed */,
@@ -19142,7 +19343,7 @@ var LinkAccountsContent = ({
19142
19343
  description: "Please try again later",
19143
19344
  onRefresh: refetchAccounts
19144
19345
  }
19145
- )) : 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(
19146
19347
  LinkedAccountItemThumb,
19147
19348
  {
19148
19349
  key: index,
@@ -19152,33 +19353,33 @@ var LinkAccountsContent = ({
19152
19353
  showBreakConnection,
19153
19354
  asWidget
19154
19355
  }
19155
- ))) : null, /* @__PURE__ */ import_react219.default.createElement(
19356
+ ))) : null, /* @__PURE__ */ import_react221.default.createElement(
19156
19357
  ActionableRow,
19157
19358
  {
19158
- iconBox: /* @__PURE__ */ import_react219.default.createElement(PlaidIcon_default, null),
19359
+ iconBox: /* @__PURE__ */ import_react221.default.createElement(PlaidIcon_default, null),
19159
19360
  title: data && data.length > 0 ? "Connect my next business account" : "Connect accounts",
19160
19361
  description: "Import data with one simple integration.",
19161
- button: /* @__PURE__ */ import_react219.default.createElement(
19362
+ button: /* @__PURE__ */ import_react221.default.createElement(
19162
19363
  Button,
19163
19364
  {
19164
19365
  onClick: () => addConnection("PLAID"),
19165
- rightIcon: /* @__PURE__ */ import_react219.default.createElement(Link_default, { size: 12 }),
19366
+ rightIcon: /* @__PURE__ */ import_react221.default.createElement(Link_default, { size: 12 }),
19166
19367
  disabled: loadingStatus !== "complete"
19167
19368
  },
19168
19369
  data && data.length > 0 ? "Connect next" : "Connect"
19169
19370
  )
19170
19371
  }
19171
- ), /* @__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);
19172
19373
  };
19173
19374
 
19174
19375
  // src/components/UpsellBanner/BookkeepingUpsellBar.tsx
19175
- var import_react220 = __toESM(require("react"));
19376
+ var import_react222 = __toESM(require("react"));
19176
19377
 
19177
19378
  // src/icons/Coffee.tsx
19178
- var React220 = __toESM(require("react"));
19379
+ var React222 = __toESM(require("react"));
19179
19380
  var CoffeeIcon = (_a) => {
19180
19381
  var _b = _a, { size = 11 } = _b, props = __objRest(_b, ["size"]);
19181
- return /* @__PURE__ */ React220.createElement(
19382
+ return /* @__PURE__ */ React222.createElement(
19182
19383
  "svg",
19183
19384
  __spreadProps(__spreadValues({
19184
19385
  xmlns: "http://www.w3.org/2000/svg",
@@ -19188,7 +19389,7 @@ var CoffeeIcon = (_a) => {
19188
19389
  width: size,
19189
19390
  height: size
19190
19391
  }),
19191
- /* @__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(
19192
19393
  "path",
19193
19394
  {
19194
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",
@@ -19196,7 +19397,7 @@ var CoffeeIcon = (_a) => {
19196
19397
  strokeLinecap: "round",
19197
19398
  strokeLinejoin: "round"
19198
19399
  }
19199
- ), /* @__PURE__ */ React220.createElement(
19400
+ ), /* @__PURE__ */ React222.createElement(
19200
19401
  "path",
19201
19402
  {
19202
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",
@@ -19204,7 +19405,7 @@ var CoffeeIcon = (_a) => {
19204
19405
  strokeLinecap: "round",
19205
19406
  strokeLinejoin: "round"
19206
19407
  }
19207
- ), /* @__PURE__ */ React220.createElement(
19408
+ ), /* @__PURE__ */ React222.createElement(
19208
19409
  "path",
19209
19410
  {
19210
19411
  d: "M8.75 0.958344V2.33334",
@@ -19212,7 +19413,7 @@ var CoffeeIcon = (_a) => {
19212
19413
  strokeLinecap: "round",
19213
19414
  strokeLinejoin: "round"
19214
19415
  }
19215
- ), /* @__PURE__ */ React220.createElement(
19416
+ ), /* @__PURE__ */ React222.createElement(
19216
19417
  "path",
19217
19418
  {
19218
19419
  d: "M6.91663 0.958344V2.33334",
@@ -19220,7 +19421,7 @@ var CoffeeIcon = (_a) => {
19220
19421
  strokeLinecap: "round",
19221
19422
  strokeLinejoin: "round"
19222
19423
  }
19223
- ), /* @__PURE__ */ React220.createElement(
19424
+ ), /* @__PURE__ */ React222.createElement(
19224
19425
  "path",
19225
19426
  {
19226
19427
  d: "M5.08337 0.958344V2.33334",
@@ -19229,7 +19430,7 @@ var CoffeeIcon = (_a) => {
19229
19430
  strokeLinejoin: "round"
19230
19431
  }
19231
19432
  )),
19232
- /* @__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(
19233
19434
  "rect",
19234
19435
  {
19235
19436
  width: "11",
@@ -19247,26 +19448,26 @@ var BookkeepingUpsellBar = ({
19247
19448
  onClick,
19248
19449
  href
19249
19450
  }) => {
19250
- 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(
19251
19452
  Text,
19252
19453
  {
19253
19454
  size: "sm" /* sm */,
19254
19455
  className: "Layer__bar-banner__text-container__desc"
19255
19456
  },
19256
19457
  "Order bookkeeping service supported by real humans."
19257
- ))), 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);
19258
19459
  };
19259
19460
 
19260
19461
  // src/views/BookkeepingOverview/BookkeepingOverview.tsx
19261
- var import_react222 = __toESM(require("react"));
19462
+ var import_react224 = __toESM(require("react"));
19262
19463
 
19263
19464
  // src/views/BookkeepingOverview/internal/BookkeepingProfitAndLossSummariesContainer.tsx
19264
- var import_react221 = __toESM(require("react"));
19465
+ var import_react223 = __toESM(require("react"));
19265
19466
  var CLASS_NAME7 = "Layer__BookkeepingProfitAndLossSummariesContainer";
19266
19467
  function BookkeepingProfitAndLossSummariesContainer({
19267
19468
  children
19268
19469
  }) {
19269
- return /* @__PURE__ */ import_react221.default.createElement("div", { className: CLASS_NAME7 }, children);
19470
+ return /* @__PURE__ */ import_react223.default.createElement("div", { className: CLASS_NAME7 }, children);
19270
19471
  }
19271
19472
 
19272
19473
  // src/views/BookkeepingOverview/BookkeepingOverview.tsx
@@ -19278,19 +19479,19 @@ var BookkeepingOverview = ({
19278
19479
  slotProps
19279
19480
  }) => {
19280
19481
  var _a, _b, _c, _d, _e, _f;
19281
- const [pnlToggle, setPnlToggle] = (0, import_react222.useState)("expenses");
19482
+ const [pnlToggle, setPnlToggle] = (0, import_react224.useState)("expenses");
19282
19483
  const [width] = useWindowSize();
19283
19484
  const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
19284
- 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(
19285
19486
  View,
19286
19487
  {
19287
19488
  viewClassName: "Layer__bookkeeping-overview--view",
19288
19489
  title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "Bookkeeping overview",
19289
19490
  withSidebar: width > 1100,
19290
- 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 }),
19291
19492
  showHeader: showTitle
19292
19493
  },
19293
- width <= 1100 && /* @__PURE__ */ import_react222.default.createElement(
19494
+ width <= 1100 && /* @__PURE__ */ import_react224.default.createElement(
19294
19495
  TasksComponent,
19295
19496
  {
19296
19497
  collapsable: true,
@@ -19298,30 +19499,30 @@ var BookkeepingOverview = ({
19298
19499
  stringOverrides: stringOverrides == null ? void 0 : stringOverrides.tasks
19299
19500
  }
19300
19501
  ),
19301
- /* @__PURE__ */ import_react222.default.createElement(
19502
+ /* @__PURE__ */ import_react224.default.createElement(
19302
19503
  Container,
19303
19504
  {
19304
19505
  name: "bookkeeping-overview-profit-and-loss",
19305
19506
  asWidget: true,
19306
19507
  elevated: true
19307
19508
  },
19308
- /* @__PURE__ */ import_react222.default.createElement(
19509
+ /* @__PURE__ */ import_react224.default.createElement(
19309
19510
  ProfitAndLoss.Header,
19310
19511
  {
19311
19512
  text: ((_c = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _c.header) || "Profit & Loss",
19312
19513
  withDatePicker: true
19313
19514
  }
19314
19515
  ),
19315
- /* @__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(
19316
19517
  ProfitAndLoss.Summaries,
19317
19518
  {
19318
19519
  stringOverrides: (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.summaries,
19319
19520
  variants: profitAndLossSummariesVariants
19320
19521
  }
19321
19522
  )),
19322
- /* @__PURE__ */ import_react222.default.createElement(ProfitAndLoss.Chart, null)
19523
+ /* @__PURE__ */ import_react224.default.createElement(ProfitAndLoss.Chart, null)
19323
19524
  ),
19324
- /* @__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(
19325
19526
  Toggle,
19326
19527
  {
19327
19528
  name: "pnl-detailed-charts",
@@ -19338,7 +19539,7 @@ var BookkeepingOverview = ({
19338
19539
  selected: pnlToggle,
19339
19540
  onChange: (e) => setPnlToggle(e.target.value)
19340
19541
  }
19341
- ), /* @__PURE__ */ import_react222.default.createElement(
19542
+ ), /* @__PURE__ */ import_react224.default.createElement(
19342
19543
  Container,
19343
19544
  {
19344
19545
  name: (0, import_classnames72.default)(
@@ -19346,7 +19547,7 @@ var BookkeepingOverview = ({
19346
19547
  pnlToggle !== "revenue" && "bookkeeping-overview-profit-and-loss-chart--hidden"
19347
19548
  )
19348
19549
  },
19349
- /* @__PURE__ */ import_react222.default.createElement(
19550
+ /* @__PURE__ */ import_react224.default.createElement(
19350
19551
  ProfitAndLoss.DetailedCharts,
19351
19552
  {
19352
19553
  scope: "revenue",
@@ -19354,7 +19555,7 @@ var BookkeepingOverview = ({
19354
19555
  stringOverrides: (_e = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _e.detailedCharts
19355
19556
  }
19356
19557
  )
19357
- ), /* @__PURE__ */ import_react222.default.createElement(
19558
+ ), /* @__PURE__ */ import_react224.default.createElement(
19358
19559
  Container,
19359
19560
  {
19360
19561
  name: (0, import_classnames72.default)(
@@ -19362,7 +19563,7 @@ var BookkeepingOverview = ({
19362
19563
  pnlToggle !== "expenses" && "bookkeeping-overview-profit-and-loss-chart--hidden"
19363
19564
  )
19364
19565
  },
19365
- /* @__PURE__ */ import_react222.default.createElement(
19566
+ /* @__PURE__ */ import_react224.default.createElement(
19366
19567
  ProfitAndLoss.DetailedCharts,
19367
19568
  {
19368
19569
  scope: "expenses",
@@ -19375,15 +19576,15 @@ var BookkeepingOverview = ({
19375
19576
  };
19376
19577
 
19377
19578
  // src/views/AccountingOverview/AccountingOverview.tsx
19378
- var import_react225 = __toESM(require("react"));
19579
+ var import_react227 = __toESM(require("react"));
19379
19580
 
19380
19581
  // src/views/AccountingOverview/internal/TransactionsToReview.tsx
19381
- var import_react224 = __toESM(require("react"));
19582
+ var import_react226 = __toESM(require("react"));
19382
19583
 
19383
19584
  // src/components/BadgeLoader/BadgeLoader.tsx
19384
- var import_react223 = __toESM(require("react"));
19585
+ var import_react225 = __toESM(require("react"));
19385
19586
  var BadgeLoader = ({ children }) => {
19386
- 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);
19387
19588
  };
19388
19589
 
19389
19590
  // src/views/AccountingOverview/internal/TransactionsToReview.tsx
@@ -19396,17 +19597,17 @@ function TransactionsToReview({
19396
19597
  variants
19397
19598
  }) {
19398
19599
  const { size = "sm" } = variants != null ? variants : {};
19399
- const { dateRange: contextDateRange } = (0, import_react224.useContext)(ProfitAndLoss.Context);
19600
+ const { dateRange: contextDateRange } = (0, import_react226.useContext)(ProfitAndLoss.Context);
19400
19601
  const dateRange = usePnlDateRange ? contextDateRange : void 0;
19401
- const [toReview, setToReview] = (0, import_react224.useState)(0);
19602
+ const [toReview, setToReview] = (0, import_react226.useState)(0);
19402
19603
  const { data, loaded, error, refetch } = useProfitAndLossLTM({
19403
19604
  currentDate: dateRange ? dateRange.startDate : (0, import_date_fns43.startOfMonth)(/* @__PURE__ */ new Date()),
19404
19605
  tagFilter
19405
19606
  });
19406
- (0, import_react224.useEffect)(() => {
19607
+ (0, import_react226.useEffect)(() => {
19407
19608
  checkTransactionsToReview();
19408
19609
  }, []);
19409
- (0, import_react224.useEffect)(() => {
19610
+ (0, import_react226.useEffect)(() => {
19410
19611
  checkTransactionsToReview();
19411
19612
  }, [dateRange, loaded]);
19412
19613
  const checkTransactionsToReview = () => {
@@ -19428,33 +19629,33 @@ function TransactionsToReview({
19428
19629
  verticalGap = "sm";
19429
19630
  break;
19430
19631
  }
19431
- 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(
19432
19633
  Badge,
19433
19634
  {
19434
19635
  variant: "error" /* ERROR */,
19435
19636
  size: "small" /* SMALL */,
19436
- icon: /* @__PURE__ */ import_react224.default.createElement(RefreshCcw_default, { size: 12 }),
19637
+ icon: /* @__PURE__ */ import_react226.default.createElement(RefreshCcw_default, { size: 12 }),
19437
19638
  onClick: () => refetch()
19438
19639
  },
19439
19640
  "Refresh"
19440
- ) : null, loaded === "complete" && !error && toReview > 0 ? /* @__PURE__ */ import_react224.default.createElement(
19641
+ ) : null, loaded === "complete" && !error && toReview > 0 ? /* @__PURE__ */ import_react226.default.createElement(
19441
19642
  Badge,
19442
19643
  {
19443
19644
  variant: "warning" /* WARNING */,
19444
19645
  size: "small" /* SMALL */,
19445
- icon: /* @__PURE__ */ import_react224.default.createElement(Bell_default, { size: 12 })
19646
+ icon: /* @__PURE__ */ import_react226.default.createElement(Bell_default, { size: 12 })
19446
19647
  },
19447
19648
  toReview,
19448
19649
  " pending"
19449
- ) : null, loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */ import_react224.default.createElement(
19650
+ ) : null, loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */ import_react226.default.createElement(
19450
19651
  Badge,
19451
19652
  {
19452
19653
  variant: "success" /* SUCCESS */,
19453
19654
  size: "small" /* SMALL */,
19454
- icon: /* @__PURE__ */ import_react224.default.createElement(Check_default, { size: 12 })
19655
+ icon: /* @__PURE__ */ import_react226.default.createElement(Check_default, { size: 12 })
19455
19656
  },
19456
19657
  "All done"
19457
- ) : 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 }));
19458
19659
  }
19459
19660
 
19460
19661
  // src/views/AccountingOverview/AccountingOverview.tsx
@@ -19473,36 +19674,36 @@ var AccountingOverview = ({
19473
19674
  slotProps
19474
19675
  }) => {
19475
19676
  var _a, _b, _c, _d, _e;
19476
- const [pnlToggle, setPnlToggle] = (0, import_react225.useState)("expenses");
19677
+ const [pnlToggle, setPnlToggle] = (0, import_react227.useState)("expenses");
19477
19678
  const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
19478
- return /* @__PURE__ */ import_react225.default.createElement(
19679
+ return /* @__PURE__ */ import_react227.default.createElement(
19479
19680
  ProfitAndLoss,
19480
19681
  {
19481
19682
  asContainer: false,
19482
19683
  tagFilter: tagFilter ? { key: tagFilter.tagKey, values: tagFilter.tagValues } : void 0
19483
19684
  },
19484
- /* @__PURE__ */ import_react225.default.createElement(
19685
+ /* @__PURE__ */ import_react227.default.createElement(
19485
19686
  View,
19486
19687
  {
19487
19688
  title,
19488
19689
  showHeader: showTitle,
19489
- 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))))
19490
19691
  },
19491
- enableOnboarding && /* @__PURE__ */ import_react225.default.createElement(
19692
+ enableOnboarding && /* @__PURE__ */ import_react227.default.createElement(
19492
19693
  Onboarding,
19493
19694
  {
19494
19695
  onTransactionsToReviewClick,
19495
19696
  onboardingStepOverride
19496
19697
  }
19497
19698
  ),
19498
- /* @__PURE__ */ import_react225.default.createElement(
19699
+ /* @__PURE__ */ import_react227.default.createElement(
19499
19700
  Internal_ProfitAndLossSummaries,
19500
19701
  {
19501
19702
  stringOverrides: (_c = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _c.summaries,
19502
19703
  chartColorsList,
19503
19704
  slots: {
19504
19705
  unstable_AdditionalListItems: showTransactionsToReview ? [
19505
- /* @__PURE__ */ import_react225.default.createElement(
19706
+ /* @__PURE__ */ import_react227.default.createElement(
19506
19707
  TransactionsToReview,
19507
19708
  {
19508
19709
  key: "transactions-to-review",
@@ -19516,28 +19717,28 @@ var AccountingOverview = ({
19516
19717
  variants: profitAndLossSummariesVariants
19517
19718
  }
19518
19719
  ),
19519
- /* @__PURE__ */ import_react225.default.createElement(
19720
+ /* @__PURE__ */ import_react227.default.createElement(
19520
19721
  Container,
19521
19722
  {
19522
19723
  name: "accounting-overview-profit-and-loss",
19523
19724
  asWidget: true,
19524
19725
  elevated: true
19525
19726
  },
19526
- /* @__PURE__ */ import_react225.default.createElement(
19727
+ /* @__PURE__ */ import_react227.default.createElement(
19527
19728
  ProfitAndLoss.Header,
19528
19729
  {
19529
19730
  text: (stringOverrides == null ? void 0 : stringOverrides.header) || "Profit & Loss"
19530
19731
  }
19531
19732
  ),
19532
- /* @__PURE__ */ import_react225.default.createElement(
19733
+ /* @__PURE__ */ import_react227.default.createElement(
19533
19734
  ProfitAndLoss.Chart,
19534
19735
  {
19535
19736
  tagFilter: tagFilter ? { key: tagFilter.tagKey, values: tagFilter.tagValues } : void 0
19536
19737
  }
19537
19738
  )
19538
19739
  ),
19539
- middleBanner && /* @__PURE__ */ import_react225.default.createElement(Container, { name: "accounting-overview-middle-banner" }, middleBanner),
19540
- /* @__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(
19541
19742
  Toggle,
19542
19743
  {
19543
19744
  name: "pnl-detailed-charts",
@@ -19554,7 +19755,7 @@ var AccountingOverview = ({
19554
19755
  selected: pnlToggle,
19555
19756
  onChange: (e) => setPnlToggle(e.target.value)
19556
19757
  }
19557
- ), /* @__PURE__ */ import_react225.default.createElement(
19758
+ ), /* @__PURE__ */ import_react227.default.createElement(
19558
19759
  Container,
19559
19760
  {
19560
19761
  name: (0, import_classnames73.default)(
@@ -19562,7 +19763,7 @@ var AccountingOverview = ({
19562
19763
  pnlToggle !== "revenue" && "accounting-overview-profit-and-loss-chart--hidden"
19563
19764
  )
19564
19765
  },
19565
- /* @__PURE__ */ import_react225.default.createElement(
19766
+ /* @__PURE__ */ import_react227.default.createElement(
19566
19767
  ProfitAndLoss.DetailedCharts,
19567
19768
  {
19568
19769
  scope: "revenue",
@@ -19571,7 +19772,7 @@ var AccountingOverview = ({
19571
19772
  chartColorsList
19572
19773
  }
19573
19774
  )
19574
- ), /* @__PURE__ */ import_react225.default.createElement(
19775
+ ), /* @__PURE__ */ import_react227.default.createElement(
19575
19776
  Container,
19576
19777
  {
19577
19778
  name: (0, import_classnames73.default)(
@@ -19579,7 +19780,7 @@ var AccountingOverview = ({
19579
19780
  pnlToggle !== "expenses" && "accounting-overview-profit-and-loss-chart--hidden"
19580
19781
  )
19581
19782
  },
19582
- /* @__PURE__ */ import_react225.default.createElement(
19783
+ /* @__PURE__ */ import_react227.default.createElement(
19583
19784
  ProfitAndLoss.DetailedCharts,
19584
19785
  {
19585
19786
  scope: "expenses",
@@ -19594,7 +19795,7 @@ var AccountingOverview = ({
19594
19795
  };
19595
19796
 
19596
19797
  // src/views/BankTransactionsWithLinkedAccounts/BankTransactionsWithLinkedAccounts.tsx
19597
- var import_react226 = __toESM(require("react"));
19798
+ var import_react228 = __toESM(require("react"));
19598
19799
  var BankTransactionsWithLinkedAccounts = ({
19599
19800
  title,
19600
19801
  // deprecated
@@ -19610,13 +19811,13 @@ var BankTransactionsWithLinkedAccounts = ({
19610
19811
  mobileComponent,
19611
19812
  stringOverrides
19612
19813
  }) => {
19613
- return /* @__PURE__ */ import_react226.default.createElement(
19814
+ return /* @__PURE__ */ import_react228.default.createElement(
19614
19815
  View,
19615
19816
  {
19616
19817
  title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "Bank transactions",
19617
19818
  showHeader: showTitle
19618
19819
  },
19619
- /* @__PURE__ */ import_react226.default.createElement(
19820
+ /* @__PURE__ */ import_react228.default.createElement(
19620
19821
  LinkedAccounts,
19621
19822
  {
19622
19823
  elevated: elevatedLinkedAccounts,
@@ -19626,7 +19827,7 @@ var BankTransactionsWithLinkedAccounts = ({
19626
19827
  stringOverrides: stringOverrides == null ? void 0 : stringOverrides.linkedAccounts
19627
19828
  }
19628
19829
  ),
19629
- /* @__PURE__ */ import_react226.default.createElement(
19830
+ /* @__PURE__ */ import_react228.default.createElement(
19630
19831
  BankTransactions,
19631
19832
  {
19632
19833
  asWidget: true,
@@ -19642,7 +19843,7 @@ var BankTransactionsWithLinkedAccounts = ({
19642
19843
  };
19643
19844
 
19644
19845
  // src/views/GeneralLedger/GeneralLedger.tsx
19645
- var import_react227 = __toESM(require("react"));
19846
+ var import_react229 = __toESM(require("react"));
19646
19847
  var GeneralLedgerView = ({
19647
19848
  title,
19648
19849
  // deprecated
@@ -19650,14 +19851,14 @@ var GeneralLedgerView = ({
19650
19851
  stringOverrides,
19651
19852
  chartOfAccountsOptions
19652
19853
  }) => {
19653
- const [activeTab, setActiveTab] = (0, import_react227.useState)("chartOfAccounts");
19654
- 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(
19655
19856
  View,
19656
19857
  {
19657
19858
  title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || "General Ledger",
19658
19859
  showHeader: showTitle
19659
19860
  },
19660
- /* @__PURE__ */ import_react227.default.createElement(
19861
+ /* @__PURE__ */ import_react229.default.createElement(
19661
19862
  Toggle,
19662
19863
  {
19663
19864
  name: "general-ledger-tabs",
@@ -19675,7 +19876,7 @@ var GeneralLedgerView = ({
19675
19876
  onChange: (opt) => setActiveTab(opt.target.value)
19676
19877
  }
19677
19878
  ),
19678
- activeTab === "chartOfAccounts" ? /* @__PURE__ */ import_react227.default.createElement(
19879
+ activeTab === "chartOfAccounts" ? /* @__PURE__ */ import_react229.default.createElement(
19679
19880
  ChartOfAccounts,
19680
19881
  {
19681
19882
  asWidget: true,
@@ -19684,12 +19885,12 @@ var GeneralLedgerView = ({
19684
19885
  templateAccountsEditable: chartOfAccountsOptions == null ? void 0 : chartOfAccountsOptions.templateAccountsEditable,
19685
19886
  showReversalEntries: chartOfAccountsOptions == null ? void 0 : chartOfAccountsOptions.showReversalEntries
19686
19887
  }
19687
- ) : /* @__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 })
19688
19889
  ));
19689
19890
  };
19690
19891
 
19691
19892
  // src/views/ProjectProfitability/ProjectProfitability.tsx
19692
- var import_react228 = __toESM(require("react"));
19893
+ var import_react230 = __toESM(require("react"));
19693
19894
  var import_react_select5 = __toESM(require("react-select"));
19694
19895
  var ProjectProfitabilityView = ({
19695
19896
  valueOptions,
@@ -19698,9 +19899,9 @@ var ProjectProfitabilityView = ({
19698
19899
  datePickerMode = "monthPicker",
19699
19900
  csvMoneyFormat = "DOLLAR_STRING"
19700
19901
  }) => {
19701
- const [activeTab, setActiveTab] = (0, import_react228.useState)("overview");
19702
- const [tagFilter, setTagFilter] = (0, import_react228.useState)(null);
19703
- 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)(
19704
19905
  void 0
19705
19906
  );
19706
19907
  const isOptionSelected = (option, selectValue) => {
@@ -19714,14 +19915,14 @@ var ProjectProfitabilityView = ({
19714
19915
  values: tagFilter2.tagValues
19715
19916
  } : void 0;
19716
19917
  };
19717
- return /* @__PURE__ */ import_react228.default.createElement(
19918
+ return /* @__PURE__ */ import_react230.default.createElement(
19718
19919
  View,
19719
19920
  {
19720
19921
  title: (stringOverrides == null ? void 0 : stringOverrides.title) || "",
19721
19922
  showHeader: showTitle,
19722
19923
  viewClassName: "Layer__project-view"
19723
19924
  },
19724
- /* @__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(
19725
19926
  Toggle,
19726
19927
  {
19727
19928
  name: "project-tabs",
@@ -19742,7 +19943,7 @@ var ProjectProfitabilityView = ({
19742
19943
  selected: activeTab,
19743
19944
  onChange: (opt) => setActiveTab(opt.target.value)
19744
19945
  }
19745
- )), /* @__PURE__ */ import_react228.default.createElement(
19946
+ )), /* @__PURE__ */ import_react230.default.createElement(
19746
19947
  import_react_select5.default,
19747
19948
  {
19748
19949
  className: "Layer__category-menu Layer__select",
@@ -19760,7 +19961,7 @@ var ProjectProfitabilityView = ({
19760
19961
  }
19761
19962
  }
19762
19963
  )),
19763
- /* @__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(
19764
19965
  AccountingOverview,
19765
19966
  {
19766
19967
  stringOverrides: { header: "Project Overview" },
@@ -19770,7 +19971,7 @@ var ProjectProfitabilityView = ({
19770
19971
  showTransactionsToReview: false,
19771
19972
  showTitle: false
19772
19973
  }
19773
- ), activeTab === "transactions" && /* @__PURE__ */ import_react228.default.createElement(
19974
+ ), activeTab === "transactions" && /* @__PURE__ */ import_react230.default.createElement(
19774
19975
  BankTransactions,
19775
19976
  {
19776
19977
  hideHeader: true,
@@ -19779,7 +19980,7 @@ var ProjectProfitabilityView = ({
19779
19980
  tagFilter: tagFilter != null ? tagFilter : void 0
19780
19981
  }
19781
19982
  }
19782
- ), 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(
19783
19984
  ProfitAndLoss.Report,
19784
19985
  {
19785
19986
  stringOverrides,
@@ -19791,7 +19992,7 @@ var ProjectProfitabilityView = ({
19791
19992
  };
19792
19993
 
19793
19994
  // src/views/Reports/Reports.tsx
19794
- var import_react229 = __toESM(require("react"));
19995
+ var import_react231 = __toESM(require("react"));
19795
19996
  var getOptions = (enabledReports) => {
19796
19997
  return [
19797
19998
  enabledReports.includes("profitAndLoss") ? {
@@ -19818,17 +20019,17 @@ var Reports = ({
19818
20019
  statementOfCashFlowConfig
19819
20020
  }) => {
19820
20021
  var _a;
19821
- const [activeTab, setActiveTab] = (0, import_react229.useState)(enabledReports[0]);
20022
+ const [activeTab, setActiveTab] = (0, import_react231.useState)(enabledReports[0]);
19822
20023
  const { view, containerRef } = useElementViewSize();
19823
20024
  const options = getOptions(enabledReports);
19824
20025
  const defaultTitle = enabledReports.length > 1 ? "Reports" : (_a = options.find((option) => option.value = enabledReports[0])) == null ? void 0 : _a.label;
19825
- return /* @__PURE__ */ import_react229.default.createElement(
20026
+ return /* @__PURE__ */ import_react231.default.createElement(
19826
20027
  View,
19827
20028
  {
19828
20029
  title: (stringOverrides == null ? void 0 : stringOverrides.title) || title || defaultTitle,
19829
20030
  showHeader: showTitle
19830
20031
  },
19831
- 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(
19832
20033
  Toggle,
19833
20034
  {
19834
20035
  name: "reports-tabs",
@@ -19837,7 +20038,7 @@ var Reports = ({
19837
20038
  onChange: (opt) => setActiveTab(opt.target.value)
19838
20039
  }
19839
20040
  )),
19840
- /* @__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(
19841
20042
  ReportsPanel,
19842
20043
  {
19843
20044
  containerRef,
@@ -19860,7 +20061,7 @@ var ReportsPanel = ({
19860
20061
  statementOfCashFlowConfig,
19861
20062
  view
19862
20063
  }) => {
19863
- 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(
19864
20065
  ProfitAndLoss.Report,
19865
20066
  __spreadValues({
19866
20067
  stringOverrides,
@@ -19868,7 +20069,7 @@ var ReportsPanel = ({
19868
20069
  parentRef: containerRef,
19869
20070
  view
19870
20071
  }, profitAndLossConfig)
19871
- ), 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(
19872
20073
  StatementOfCashFlow,
19873
20074
  __spreadValues({
19874
20075
  stringOverrides: stringOverrides == null ? void 0 : stringOverrides.statementOfCashflow
@@ -19877,11 +20078,11 @@ var ReportsPanel = ({
19877
20078
  };
19878
20079
 
19879
20080
  // src/components/ProfitAndLossView/ProfitAndLossView.tsx
19880
- var import_react230 = __toESM(require("react"));
20081
+ var import_react232 = __toESM(require("react"));
19881
20082
  var COMPONENT_NAME7 = "profit-and-loss";
19882
20083
  var ProfitAndLossView = (props) => {
19883
- const containerRef = (0, import_react230.useRef)(null);
19884
- 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))));
19885
20086
  };
19886
20087
  var ProfitAndLossPanel = (_a) => {
19887
20088
  var _b = _a, {
@@ -19891,11 +20092,11 @@ var ProfitAndLossPanel = (_a) => {
19891
20092
  "containerRef",
19892
20093
  "stringOverrides"
19893
20094
  ]);
19894
- const { sidebarScope } = (0, import_react230.useContext)(ProfitAndLoss.Context);
19895
- return /* @__PURE__ */ import_react230.default.createElement(
20095
+ const { sidebarScope } = (0, import_react232.useContext)(ProfitAndLoss.Context);
20096
+ return /* @__PURE__ */ import_react232.default.createElement(
19896
20097
  Panel,
19897
20098
  {
19898
- sidebar: /* @__PURE__ */ import_react230.default.createElement(
20099
+ sidebar: /* @__PURE__ */ import_react232.default.createElement(
19899
20100
  ProfitAndLossDetailedCharts,
19900
20101
  {
19901
20102
  stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossDetailedCharts
@@ -19904,7 +20105,7 @@ var ProfitAndLossPanel = (_a) => {
19904
20105
  sidebarIsOpen: Boolean(sidebarScope),
19905
20106
  parentRef: containerRef
19906
20107
  },
19907
- /* @__PURE__ */ import_react230.default.createElement(
20108
+ /* @__PURE__ */ import_react232.default.createElement(
19908
20109
  ProfitAndLoss.Header,
19909
20110
  {
19910
20111
  text: (stringOverrides == null ? void 0 : stringOverrides.header) || "Profit & Loss",
@@ -19912,7 +20113,7 @@ var ProfitAndLossPanel = (_a) => {
19912
20113
  headingClassName: "Layer__profit-and-loss__title"
19913
20114
  }
19914
20115
  ),
19915
- /* @__PURE__ */ import_react230.default.createElement(Components, __spreadValues({ stringOverrides }, props))
20116
+ /* @__PURE__ */ import_react232.default.createElement(Components, __spreadValues({ stringOverrides }, props))
19916
20117
  );
19917
20118
  };
19918
20119
  var Components = ({
@@ -19920,11 +20121,11 @@ var Components = ({
19920
20121
  hideTable = false,
19921
20122
  stringOverrides
19922
20123
  }) => {
19923
- const { error, isLoading, isValidating, refetch } = (0, import_react230.useContext)(
20124
+ const { error, isLoading, isValidating, refetch } = (0, import_react232.useContext)(
19924
20125
  ProfitAndLoss.Context
19925
20126
  );
19926
20127
  if (!isLoading && error) {
19927
- 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(
19928
20129
  DataState,
19929
20130
  {
19930
20131
  status: "failed" /* failed */,
@@ -19935,26 +20136,26 @@ var Components = ({
19935
20136
  }
19936
20137
  ));
19937
20138
  }
19938
- 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(
19939
20140
  "div",
19940
20141
  {
19941
20142
  className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__summary-col`
19942
20143
  },
19943
- /* @__PURE__ */ import_react230.default.createElement(ProfitAndLoss.DatePicker, null),
19944
- /* @__PURE__ */ import_react230.default.createElement(
20144
+ /* @__PURE__ */ import_react232.default.createElement(ProfitAndLoss.DatePicker, null),
20145
+ /* @__PURE__ */ import_react232.default.createElement(
19945
20146
  ProfitAndLoss.Summaries,
19946
20147
  {
19947
20148
  actionable: true,
19948
20149
  stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossSummaries
19949
20150
  }
19950
20151
  )
19951
- ), /* @__PURE__ */ import_react230.default.createElement(
20152
+ ), /* @__PURE__ */ import_react232.default.createElement(
19952
20153
  "div",
19953
20154
  {
19954
20155
  className: `Layer__${COMPONENT_NAME7}__chart_with_summaries__chart-col`
19955
20156
  },
19956
- /* @__PURE__ */ import_react230.default.createElement(ProfitAndLoss.Chart, null)
19957
- )), !hideTable && /* @__PURE__ */ import_react230.default.createElement(
20157
+ /* @__PURE__ */ import_react232.default.createElement(ProfitAndLoss.Chart, null)
20158
+ )), !hideTable && /* @__PURE__ */ import_react232.default.createElement(
19958
20159
  ProfitAndLoss.Table,
19959
20160
  {
19960
20161
  stringOverrides: stringOverrides == null ? void 0 : stringOverrides.profitAndLossTable