@layerfi/components 0.1.29 → 0.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -255,6 +255,15 @@ var request = (verb) => (url) => (baseUrl, accessToken, options) => fetch(`${bas
255
255
  var post = request("post");
256
256
  var put = request("put");
257
257
  var deleteRequest = request("delete");
258
+ var postWithFormData = (url, formData, baseUrl, accessToken) => {
259
+ return fetch(`${baseUrl}${url}`, {
260
+ method: "POST",
261
+ headers: {
262
+ Authorization: "Bearer " + (accessToken || "")
263
+ },
264
+ body: formData
265
+ }).then((res) => handleResponse(res)).catch((error) => handleException(error));
266
+ };
258
267
  var handleResponse = async (res) => {
259
268
  if (!res.ok) {
260
269
  const errors = await tryToReadErrorsFromResponse(res);
@@ -314,6 +323,32 @@ var getBankTransactionsCsv = get((params) => {
314
323
  const { businessId, startDate, endDate, categorized, category, month, year } = params;
315
324
  return `/v1/businesses/${businessId}/reports/transactions/exports/csv?${startDate ? `start_date=${encodeURIComponent(startDate)}&` : ""}${endDate ? `end_date=${encodeURIComponent(endDate)}&` : ""}${month ? `month=${encodeURIComponent(month)}&` : ""}${year ? `year=${encodeURIComponent(year)}&` : ""}${categorized ? `categorized=${categorized}&` : ""}${category ? `category=${encodeURIComponent(category)}&` : ""}`;
316
325
  });
326
+ var getBankTransactionMetadata = get(
327
+ ({ businessId, bankTransactionId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/metadata`
328
+ );
329
+ var updateBankTransactionMetadata = put(
330
+ ({ businessId, bankTransactionId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/metadata`
331
+ );
332
+ var listBankTransactionDocuments = get(
333
+ ({ businessId, bankTransactionId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/documents`
334
+ );
335
+ var uploadBankTransactionDocument = (baseUrl, accessToken) => ({
336
+ businessId,
337
+ bankTransactionId,
338
+ file,
339
+ documentType
340
+ }) => {
341
+ const formData = new FormData();
342
+ formData.append("file", file);
343
+ formData.append("documentType", documentType);
344
+ const endpoint = `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/documents`;
345
+ return postWithFormData(
346
+ endpoint,
347
+ formData,
348
+ baseUrl,
349
+ accessToken
350
+ );
351
+ };
317
352
 
318
353
  // src/api/layer/business.ts
319
354
  var getBusiness = get(({ businessId }) => `/v1/businesses/${businessId}`);
@@ -428,6 +463,10 @@ var Layer = {
428
463
  getBalanceSheet,
429
464
  getBankTransactions,
430
465
  getBankTransactionsCsv,
466
+ getBankTransactionMetadata,
467
+ listBankTransactionDocuments,
468
+ updateBankTransactionMetadata,
469
+ uploadBankTransactionDocument,
431
470
  getCategories,
432
471
  getChartOfAccounts,
433
472
  getLedgerAccountBalances,
@@ -684,7 +723,7 @@ var Direction = /* @__PURE__ */ ((Direction3) => {
684
723
 
685
724
  // src/types/categories.ts
686
725
  function hasSuggestions(categorization) {
687
- return categorization.suggestions !== void 0;
726
+ return categorization.suggestions !== void 0 && categorization.suggestions.length > 0;
688
727
  }
689
728
 
690
729
  // src/components/BankTransactions/constants.ts
@@ -1464,54 +1503,12 @@ var useBalanceSheet = (date = /* @__PURE__ */ new Date()) => {
1464
1503
  return { data, isLoading, error };
1465
1504
  };
1466
1505
 
1467
- // src/icons/DownloadCloud.tsx
1468
- var React7 = __toESM(require("react"));
1469
- var DownloadCloud = ({ size = 18, ...props }) => /* @__PURE__ */ React7.createElement(
1470
- "svg",
1471
- {
1472
- xmlns: "http://www.w3.org/2000/svg",
1473
- viewBox: "0 0 18 18",
1474
- fill: "none",
1475
- ...props,
1476
- width: size,
1477
- height: size
1478
- },
1479
- /* @__PURE__ */ React7.createElement(
1480
- "path",
1481
- {
1482
- d: "M6 12.75L9 15.75L12 12.75",
1483
- stroke: "currentColor",
1484
- strokeLinecap: "round",
1485
- strokeLinejoin: "round"
1486
- }
1487
- ),
1488
- /* @__PURE__ */ React7.createElement(
1489
- "path",
1490
- {
1491
- d: "M9 9V15.75",
1492
- stroke: "currentColor",
1493
- strokeLinecap: "round",
1494
- strokeLinejoin: "round"
1495
- }
1496
- ),
1497
- /* @__PURE__ */ React7.createElement(
1498
- "path",
1499
- {
1500
- d: "M15.66 13.5675C16.3121 13.109 16.801 12.4546 17.056 11.6994C17.3109 10.9441 17.3186 10.1273 17.0778 9.36737C16.837 8.60748 16.3604 7.94407 15.7171 7.47342C15.0737 7.00278 14.2971 6.74938 13.5 6.75H12.555C12.3294 5.87091 11.9074 5.05444 11.3206 4.36206C10.7338 3.66969 9.99762 3.11945 9.16742 2.75277C8.33721 2.38609 7.43464 2.21252 6.52766 2.24514C5.62067 2.27776 4.7329 2.51571 3.93118 2.94107C3.12946 3.36644 2.43468 3.96814 1.89915 4.70087C1.36362 5.43361 1.0013 6.27829 0.839456 7.17132C0.677613 8.06434 0.720468 8.98245 0.964796 9.85652C1.20912 10.7306 1.64856 11.5378 2.25001 12.2175",
1501
- stroke: "currentColor",
1502
- strokeLinecap: "round",
1503
- strokeLinejoin: "round"
1504
- }
1505
- )
1506
- );
1507
- var DownloadCloud_default = DownloadCloud;
1508
-
1509
1506
  // src/components/BalanceSheetDatePicker/BalanceSheetDatePicker.tsx
1510
1507
  var import_react12 = __toESM(require("react"));
1511
1508
 
1512
1509
  // src/icons/Calendar.tsx
1513
- var React8 = __toESM(require("react"));
1514
- var Calendar = (props) => /* @__PURE__ */ React8.createElement(
1510
+ var React7 = __toESM(require("react"));
1511
+ var Calendar = (props) => /* @__PURE__ */ React7.createElement(
1515
1512
  "svg",
1516
1513
  {
1517
1514
  xmlns: "http://www.w3.org/2000/svg",
@@ -1520,7 +1517,7 @@ var Calendar = (props) => /* @__PURE__ */ React8.createElement(
1520
1517
  fill: "none",
1521
1518
  ...props
1522
1519
  },
1523
- /* @__PURE__ */ React8.createElement(
1520
+ /* @__PURE__ */ React7.createElement(
1524
1521
  "path",
1525
1522
  {
1526
1523
  stroke: "#000",
@@ -1553,8 +1550,8 @@ var BalanceSheetDatePicker = ({ value, onChange }) => {
1553
1550
  var import_react13 = __toESM(require("react"));
1554
1551
 
1555
1552
  // src/icons/ChevronDown.tsx
1556
- var React10 = __toESM(require("react"));
1557
- var ChevronDown = ({ size = 18, ...props }) => /* @__PURE__ */ React10.createElement(
1553
+ var React9 = __toESM(require("react"));
1554
+ var ChevronDown = ({ size = 18, ...props }) => /* @__PURE__ */ React9.createElement(
1558
1555
  "svg",
1559
1556
  {
1560
1557
  viewBox: "0 0 18 18",
@@ -1564,7 +1561,7 @@ var ChevronDown = ({ size = 18, ...props }) => /* @__PURE__ */ React10.createEle
1564
1561
  width: size,
1565
1562
  height: size
1566
1563
  },
1567
- /* @__PURE__ */ React10.createElement(
1564
+ /* @__PURE__ */ React9.createElement(
1568
1565
  "path",
1569
1566
  {
1570
1567
  d: "M4.5 6.75L9 11.25L13.5 6.75",
@@ -1708,7 +1705,7 @@ var BalanceSheet = () => {
1708
1705
  value: effectiveDate,
1709
1706
  onChange: (event) => setEffectiveDate((0, import_date_fns5.parseISO)(event.target.value))
1710
1707
  }
1711
- ), /* @__PURE__ */ import_react15.default.createElement("button", { className: "Layer__balance-sheet__download-button" }, /* @__PURE__ */ import_react15.default.createElement(DownloadCloud_default, null), "Download")), !data || isLoading ? /* @__PURE__ */ import_react15.default.createElement("div", { className: "Layer__balance-sheet__table" }, /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null, /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null), /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null, /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null), /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null))), /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null, /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null))) : /* @__PURE__ */ import_react15.default.createElement("div", { className: "Layer__balance-sheet__table" }, /* @__PURE__ */ import_react15.default.createElement(
1708
+ )), !data || isLoading ? /* @__PURE__ */ import_react15.default.createElement("div", { className: "Layer__balance-sheet__table" }, /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null, /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null), /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null, /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null), /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null))), /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null, /* @__PURE__ */ import_react15.default.createElement(SkeletonBalanceSheetRow, null))) : /* @__PURE__ */ import_react15.default.createElement("div", { className: "Layer__balance-sheet__table" }, /* @__PURE__ */ import_react15.default.createElement(
1712
1709
  BalanceSheetRow,
1713
1710
  {
1714
1711
  key: assets.name,
@@ -1768,8 +1765,8 @@ var import_react53 = __toESM(require("react"));
1768
1765
  var import_react52 = __toESM(require("react"));
1769
1766
 
1770
1767
  // src/icons/ChevronDownFill.tsx
1771
- var React14 = __toESM(require("react"));
1772
- var ChevronDownFill = ({ size = 18, ...props }) => /* @__PURE__ */ React14.createElement(
1768
+ var React13 = __toESM(require("react"));
1769
+ var ChevronDownFill = ({ size = 18, ...props }) => /* @__PURE__ */ React13.createElement(
1773
1770
  "svg",
1774
1771
  {
1775
1772
  xmlns: "http://www.w3.org/2000/svg",
@@ -1779,8 +1776,8 @@ var ChevronDownFill = ({ size = 18, ...props }) => /* @__PURE__ */ React14.creat
1779
1776
  width: size,
1780
1777
  height: size
1781
1778
  },
1782
- /* @__PURE__ */ React14.createElement("path", { d: "M4.5 6.75L9 11.25L13.5 6.75", fill: "currentColor" }),
1783
- /* @__PURE__ */ React14.createElement(
1779
+ /* @__PURE__ */ React13.createElement("path", { d: "M4.5 6.75L9 11.25L13.5 6.75", fill: "currentColor" }),
1780
+ /* @__PURE__ */ React13.createElement(
1784
1781
  "path",
1785
1782
  {
1786
1783
  d: "M4.5 6.75L9 11.25L13.5 6.75H4.5Z",
@@ -1811,17 +1808,17 @@ var isAlreadyMatched = (bankTransaction) => {
1811
1808
  };
1812
1809
  var countTransactionsToReview = ({
1813
1810
  transactions,
1814
- currentMonthOnly
1811
+ dateRange
1815
1812
  }) => {
1816
1813
  if (transactions && transactions.length > 0) {
1817
- if (currentMonthOnly) {
1818
- const currentMonth = {
1819
- start: (0, import_date_fns6.startOfMonth)(/* @__PURE__ */ new Date()),
1820
- end: (0, import_date_fns6.endOfMonth)(/* @__PURE__ */ new Date())
1814
+ if (dateRange) {
1815
+ const dateRangeInterval = {
1816
+ start: dateRange.startDate,
1817
+ end: dateRange.endDate
1821
1818
  };
1822
1819
  return transactions.filter((tx) => {
1823
1820
  try {
1824
- return filterVisibility("TO_REVIEW" /* TO_REVIEW */, tx) && (0, import_date_fns6.isWithinInterval)((0, import_date_fns6.parseISO)(tx.date), currentMonth);
1821
+ return filterVisibility("TO_REVIEW" /* TO_REVIEW */, tx) && (0, import_date_fns6.isWithinInterval)((0, import_date_fns6.parseISO)(tx.date), dateRangeInterval);
1825
1822
  } catch (_err) {
1826
1823
  return false;
1827
1824
  }
@@ -1850,8 +1847,8 @@ var getCategorizePayload = (category) => {
1850
1847
  var import_react50 = __toESM(require("react"));
1851
1848
 
1852
1849
  // src/icons/AlertCircle.tsx
1853
- var React15 = __toESM(require("react"));
1854
- var AlertCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React15.createElement(
1850
+ var React14 = __toESM(require("react"));
1851
+ var AlertCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React14.createElement(
1855
1852
  "svg",
1856
1853
  {
1857
1854
  viewBox: "0 0 18 18",
@@ -1861,7 +1858,7 @@ var AlertCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React15.createEle
1861
1858
  width: size,
1862
1859
  height: size
1863
1860
  },
1864
- /* @__PURE__ */ React15.createElement(
1861
+ /* @__PURE__ */ React14.createElement(
1865
1862
  "path",
1866
1863
  {
1867
1864
  d: "M9 16.5C13.1421 16.5 16.5 13.1421 16.5 9C16.5 4.85786 13.1421 1.5 9 1.5C4.85786 1.5 1.5 4.85786 1.5 9C1.5 13.1421 4.85786 16.5 9 16.5Z",
@@ -1870,7 +1867,7 @@ var AlertCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React15.createEle
1870
1867
  strokeLinejoin: "round"
1871
1868
  }
1872
1869
  ),
1873
- /* @__PURE__ */ React15.createElement(
1870
+ /* @__PURE__ */ React14.createElement(
1874
1871
  "path",
1875
1872
  {
1876
1873
  d: "M9 6V9",
@@ -1879,7 +1876,7 @@ var AlertCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React15.createEle
1879
1876
  strokeLinejoin: "round"
1880
1877
  }
1881
1878
  ),
1882
- /* @__PURE__ */ React15.createElement(
1879
+ /* @__PURE__ */ React14.createElement(
1883
1880
  "path",
1884
1881
  {
1885
1882
  d: "M9 12H9.0075",
@@ -1892,8 +1889,8 @@ var AlertCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React15.createEle
1892
1889
  var AlertCircle_default = AlertCircle;
1893
1890
 
1894
1891
  // src/icons/Scissors.tsx
1895
- var React16 = __toESM(require("react"));
1896
- var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElement(
1892
+ var React15 = __toESM(require("react"));
1893
+ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React15.createElement(
1897
1894
  "svg",
1898
1895
  {
1899
1896
  viewBox: "0 0 11 11",
@@ -1903,7 +1900,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1903
1900
  width: size,
1904
1901
  height: size
1905
1902
  },
1906
- /* @__PURE__ */ React16.createElement(
1903
+ /* @__PURE__ */ React15.createElement(
1907
1904
  "path",
1908
1905
  {
1909
1906
  d: "M2.75 4.125C3.50939 4.125 4.125 3.50939 4.125 2.75C4.125 1.99061 3.50939 1.375 2.75 1.375C1.99061 1.375 1.375 1.99061 1.375 2.75C1.375 3.50939 1.99061 4.125 2.75 4.125Z",
@@ -1911,7 +1908,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1911
1908
  strokeLinecap: "round",
1912
1909
  strokeLinejoin: "round"
1913
1910
  },
1914
- /* @__PURE__ */ React16.createElement(
1911
+ /* @__PURE__ */ React15.createElement(
1915
1912
  "animate",
1916
1913
  {
1917
1914
  attributeName: "d",
@@ -1926,7 +1923,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1926
1923
  }
1927
1924
  )
1928
1925
  ),
1929
- /* @__PURE__ */ React16.createElement(
1926
+ /* @__PURE__ */ React15.createElement(
1930
1927
  "path",
1931
1928
  {
1932
1929
  d: "M2.75 9.625C3.50939 9.625 4.125 9.00939 4.125 8.25C4.125 7.49061 3.50939 6.875 2.75 6.875C1.99061 6.875 1.375 7.49061 1.375 8.25C1.375 9.00939 1.99061 9.625 2.75 9.625Z",
@@ -1934,7 +1931,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1934
1931
  strokeLinecap: "round",
1935
1932
  strokeLinejoin: "round"
1936
1933
  },
1937
- /* @__PURE__ */ React16.createElement(
1934
+ /* @__PURE__ */ React15.createElement(
1938
1935
  "animate",
1939
1936
  {
1940
1937
  attributeName: "d",
@@ -1949,7 +1946,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1949
1946
  }
1950
1947
  )
1951
1948
  ),
1952
- /* @__PURE__ */ React16.createElement(
1949
+ /* @__PURE__ */ React15.createElement(
1953
1950
  "path",
1954
1951
  {
1955
1952
  d: "M9.16668 1.83325L3.72168 7.27825",
@@ -1957,7 +1954,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1957
1954
  strokeLinecap: "round",
1958
1955
  strokeLinejoin: "round"
1959
1956
  },
1960
- /* @__PURE__ */ React16.createElement(
1957
+ /* @__PURE__ */ React15.createElement(
1961
1958
  "animate",
1962
1959
  {
1963
1960
  attributeName: "d",
@@ -1972,7 +1969,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1972
1969
  }
1973
1970
  )
1974
1971
  ),
1975
- /* @__PURE__ */ React16.createElement(
1972
+ /* @__PURE__ */ React15.createElement(
1976
1973
  "path",
1977
1974
  {
1978
1975
  d: "M6.63232 6.63672L9.16691 9.16672",
@@ -1980,7 +1977,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1980
1977
  strokeLinecap: "round",
1981
1978
  strokeLinejoin: "round"
1982
1979
  },
1983
- /* @__PURE__ */ React16.createElement(
1980
+ /* @__PURE__ */ React15.createElement(
1984
1981
  "animate",
1985
1982
  {
1986
1983
  attributeName: "d",
@@ -1995,7 +1992,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
1995
1992
  }
1996
1993
  )
1997
1994
  ),
1998
- /* @__PURE__ */ React16.createElement(
1995
+ /* @__PURE__ */ React15.createElement(
1999
1996
  "path",
2000
1997
  {
2001
1998
  d: "M3.72168 3.72168L5.50001 5.50001",
@@ -2003,7 +2000,7 @@ var Scissors = ({ size = 11, ...props }) => /* @__PURE__ */ React16.createElemen
2003
2000
  strokeLinecap: "round",
2004
2001
  strokeLinejoin: "round"
2005
2002
  },
2006
- /* @__PURE__ */ React16.createElement(
2003
+ /* @__PURE__ */ React15.createElement(
2007
2004
  "animate",
2008
2005
  {
2009
2006
  attributeName: "d",
@@ -2277,8 +2274,8 @@ var IconButton = ({
2277
2274
  var import_react24 = __toESM(require("react"));
2278
2275
 
2279
2276
  // src/icons/RefreshCcw.tsx
2280
- var React22 = __toESM(require("react"));
2281
- var RefreshCcw = ({ size = 18, ...props }) => /* @__PURE__ */ React22.createElement(
2277
+ var React21 = __toESM(require("react"));
2278
+ var RefreshCcw = ({ size = 18, ...props }) => /* @__PURE__ */ React21.createElement(
2282
2279
  "svg",
2283
2280
  {
2284
2281
  viewBox: "0 0 18 18",
@@ -2288,7 +2285,7 @@ var RefreshCcw = ({ size = 18, ...props }) => /* @__PURE__ */ React22.createElem
2288
2285
  width: size,
2289
2286
  height: size
2290
2287
  },
2291
- /* @__PURE__ */ React22.createElement(
2288
+ /* @__PURE__ */ React21.createElement(
2292
2289
  "path",
2293
2290
  {
2294
2291
  d: "M0.75 3V7.5H5.25",
@@ -2297,7 +2294,7 @@ var RefreshCcw = ({ size = 18, ...props }) => /* @__PURE__ */ React22.createElem
2297
2294
  strokeLinejoin: "round"
2298
2295
  }
2299
2296
  ),
2300
- /* @__PURE__ */ React22.createElement(
2297
+ /* @__PURE__ */ React21.createElement(
2301
2298
  "path",
2302
2299
  {
2303
2300
  d: "M17.25 15V10.5H12.75",
@@ -2306,7 +2303,7 @@ var RefreshCcw = ({ size = 18, ...props }) => /* @__PURE__ */ React22.createElem
2306
2303
  strokeLinejoin: "round"
2307
2304
  }
2308
2305
  ),
2309
- /* @__PURE__ */ React22.createElement(
2306
+ /* @__PURE__ */ React21.createElement(
2310
2307
  "path",
2311
2308
  {
2312
2309
  d: "M15.3675 6.75C14.9871 5.67508 14.3407 4.71405 13.4884 3.95656C12.6361 3.19907 11.6059 2.66982 10.4938 2.41819C9.38167 2.16656 8.22393 2.20075 7.12861 2.51758C6.03328 2.8344 5.03606 3.42353 4.23 4.23L0.75 7.5M17.25 10.5L13.77 13.77C12.9639 14.5765 11.9667 15.1656 10.8714 15.4824C9.77607 15.7992 8.61833 15.8334 7.50621 15.5818C6.3941 15.3302 5.36385 14.8009 4.5116 14.0434C3.65935 13.2859 3.01288 12.3249 2.6325 11.25",
@@ -2351,8 +2348,8 @@ var RetryButton = ({
2351
2348
  var import_react25 = __toESM(require("react"));
2352
2349
 
2353
2350
  // src/icons/CheckCircle.tsx
2354
- var React24 = __toESM(require("react"));
2355
- var CheckCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React24.createElement(
2351
+ var React23 = __toESM(require("react"));
2352
+ var CheckCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React23.createElement(
2356
2353
  "svg",
2357
2354
  {
2358
2355
  viewBox: "0 0 18 18",
@@ -2362,7 +2359,7 @@ var CheckCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React24.createEle
2362
2359
  width: size,
2363
2360
  height: size
2364
2361
  },
2365
- /* @__PURE__ */ React24.createElement(
2362
+ /* @__PURE__ */ React23.createElement(
2366
2363
  "path",
2367
2364
  {
2368
2365
  d: "M16.5 8.30999V8.99999C16.4991 10.6173 15.9754 12.191 15.007 13.4864C14.0386 14.7817 12.6775 15.7293 11.1265 16.1879C9.57557 16.6465 7.91794 16.5914 6.40085 16.0309C4.88375 15.4704 3.58848 14.4346 2.70821 13.0778C1.82794 11.721 1.40984 10.116 1.51625 8.50223C1.62266 6.88841 2.2479 5.35223 3.2987 4.12279C4.34951 2.89335 5.76958 2.03653 7.34713 1.6801C8.92469 1.32367 10.5752 1.48674 12.0525 2.14499",
@@ -2371,7 +2368,7 @@ var CheckCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React24.createEle
2371
2368
  strokeLinejoin: "round"
2372
2369
  }
2373
2370
  ),
2374
- /* @__PURE__ */ React24.createElement(
2371
+ /* @__PURE__ */ React23.createElement(
2375
2372
  "path",
2376
2373
  {
2377
2374
  d: "M16.5 3L9 10.5075L6.75 8.2575",
@@ -2384,8 +2381,8 @@ var CheckCircle = ({ size = 18, ...props }) => /* @__PURE__ */ React24.createEle
2384
2381
  var CheckCircle_default = CheckCircle;
2385
2382
 
2386
2383
  // src/icons/Loader.tsx
2387
- var React25 = __toESM(require("react"));
2388
- var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2384
+ var React24 = __toESM(require("react"));
2385
+ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React24.createElement(
2389
2386
  "svg",
2390
2387
  {
2391
2388
  xmlns: "http://www.w3.org/2000/svg",
@@ -2395,7 +2392,7 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2395
2392
  width: size,
2396
2393
  height: size
2397
2394
  },
2398
- /* @__PURE__ */ React25.createElement(
2395
+ /* @__PURE__ */ React24.createElement(
2399
2396
  "path",
2400
2397
  {
2401
2398
  d: "M9 1.5V4.5",
@@ -2404,7 +2401,7 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2404
2401
  strokeLinejoin: "round"
2405
2402
  }
2406
2403
  ),
2407
- /* @__PURE__ */ React25.createElement(
2404
+ /* @__PURE__ */ React24.createElement(
2408
2405
  "path",
2409
2406
  {
2410
2407
  d: "M9 13.5V16.5",
@@ -2413,7 +2410,7 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2413
2410
  strokeLinejoin: "round"
2414
2411
  }
2415
2412
  ),
2416
- /* @__PURE__ */ React25.createElement(
2413
+ /* @__PURE__ */ React24.createElement(
2417
2414
  "path",
2418
2415
  {
2419
2416
  d: "M3.6975 3.6975L5.82 5.82",
@@ -2422,7 +2419,7 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2422
2419
  strokeLinejoin: "round"
2423
2420
  }
2424
2421
  ),
2425
- /* @__PURE__ */ React25.createElement(
2422
+ /* @__PURE__ */ React24.createElement(
2426
2423
  "path",
2427
2424
  {
2428
2425
  d: "M12.18 12.18L14.3025 14.3025",
@@ -2431,7 +2428,7 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2431
2428
  strokeLinejoin: "round"
2432
2429
  }
2433
2430
  ),
2434
- /* @__PURE__ */ React25.createElement(
2431
+ /* @__PURE__ */ React24.createElement(
2435
2432
  "path",
2436
2433
  {
2437
2434
  d: "M1.5 9H4.5",
@@ -2440,7 +2437,7 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2440
2437
  strokeLinejoin: "round"
2441
2438
  }
2442
2439
  ),
2443
- /* @__PURE__ */ React25.createElement(
2440
+ /* @__PURE__ */ React24.createElement(
2444
2441
  "path",
2445
2442
  {
2446
2443
  d: "M13.5 9H16.5",
@@ -2449,7 +2446,7 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2449
2446
  strokeLinejoin: "round"
2450
2447
  }
2451
2448
  ),
2452
- /* @__PURE__ */ React25.createElement(
2449
+ /* @__PURE__ */ React24.createElement(
2453
2450
  "path",
2454
2451
  {
2455
2452
  d: "M3.6975 14.3025L5.82 12.18",
@@ -2458,7 +2455,7 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2458
2455
  strokeLinejoin: "round"
2459
2456
  }
2460
2457
  ),
2461
- /* @__PURE__ */ React25.createElement(
2458
+ /* @__PURE__ */ React24.createElement(
2462
2459
  "path",
2463
2460
  {
2464
2461
  d: "M12.18 5.82L14.3025 3.6975",
@@ -2471,8 +2468,8 @@ var Loader = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2471
2468
  var Loader_default = Loader;
2472
2469
 
2473
2470
  // src/icons/Save.tsx
2474
- var React26 = __toESM(require("react"));
2475
- var Save = ({ size = 18, ...props }) => /* @__PURE__ */ React26.createElement(
2471
+ var React25 = __toESM(require("react"));
2472
+ var Save = ({ size = 18, ...props }) => /* @__PURE__ */ React25.createElement(
2476
2473
  "svg",
2477
2474
  {
2478
2475
  xmlns: "http://www.w3.org/2000/svg",
@@ -2482,7 +2479,7 @@ var Save = ({ size = 18, ...props }) => /* @__PURE__ */ React26.createElement(
2482
2479
  width: size,
2483
2480
  height: size
2484
2481
  },
2485
- /* @__PURE__ */ React26.createElement(
2482
+ /* @__PURE__ */ React25.createElement(
2486
2483
  "path",
2487
2484
  {
2488
2485
  d: "M14.25 15.75H3.75C3.35218 15.75 2.97064 15.592 2.68934 15.3107C2.40804 15.0294 2.25 14.6478 2.25 14.25V3.75C2.25 3.35218 2.40804 2.97064 2.68934 2.68934C2.97064 2.40804 3.35218 2.25 3.75 2.25H12L15.75 6V14.25C15.75 14.6478 15.592 15.0294 15.3107 15.3107C15.0294 15.592 14.6478 15.75 14.25 15.75Z",
@@ -2491,7 +2488,7 @@ var Save = ({ size = 18, ...props }) => /* @__PURE__ */ React26.createElement(
2491
2488
  strokeLinejoin: "round"
2492
2489
  }
2493
2490
  ),
2494
- /* @__PURE__ */ React26.createElement(
2491
+ /* @__PURE__ */ React25.createElement(
2495
2492
  "path",
2496
2493
  {
2497
2494
  d: "M12.75 15.75V9.75H5.25V15.75",
@@ -2500,7 +2497,7 @@ var Save = ({ size = 18, ...props }) => /* @__PURE__ */ React26.createElement(
2500
2497
  strokeLinejoin: "round"
2501
2498
  }
2502
2499
  ),
2503
- /* @__PURE__ */ React26.createElement(
2500
+ /* @__PURE__ */ React25.createElement(
2504
2501
  "path",
2505
2502
  {
2506
2503
  d: "M5.25 2.25V6H11.25",
@@ -2530,9 +2527,9 @@ var buildRightIcon = ({
2530
2527
  return /* @__PURE__ */ import_react25.default.createElement(Tooltip, { offset: 12 }, /* @__PURE__ */ import_react25.default.createElement(TooltipTrigger, null, /* @__PURE__ */ import_react25.default.createElement(AlertCircle_default, { size: 14 })), /* @__PURE__ */ import_react25.default.createElement(TooltipContent, { className: "Layer__tooltip" }, error));
2531
2528
  }
2532
2529
  if (action === "update" /* UPDATE */) {
2533
- return /* @__PURE__ */ import_react25.default.createElement("span", { className: "Layer__pt-2" }, /* @__PURE__ */ import_react25.default.createElement(Save_default, { size: 14 }));
2530
+ return /* @__PURE__ */ import_react25.default.createElement("span", { className: "Layer__pt-2" }, /* @__PURE__ */ import_react25.default.createElement(CheckCircle_default, { size: 14 }));
2534
2531
  }
2535
- return /* @__PURE__ */ import_react25.default.createElement("span", null, /* @__PURE__ */ import_react25.default.createElement(CheckCircle_default, { size: 14, style: { paddingTop: 4 } }));
2532
+ return /* @__PURE__ */ import_react25.default.createElement("span", null, /* @__PURE__ */ import_react25.default.createElement(Save_default, { size: 14, style: { paddingTop: 4 } }));
2536
2533
  };
2537
2534
  var SubmitButton = ({
2538
2535
  active,
@@ -2579,8 +2576,8 @@ var TextButton = ({
2579
2576
  var import_react27 = __toESM(require("react"));
2580
2577
 
2581
2578
  // src/icons/BackArrow.tsx
2582
- var React29 = __toESM(require("react"));
2583
- var BackArrow = ({ size = 18, ...props }) => /* @__PURE__ */ React29.createElement(
2579
+ var React28 = __toESM(require("react"));
2580
+ var BackArrow = ({ size = 18, ...props }) => /* @__PURE__ */ React28.createElement(
2584
2581
  "svg",
2585
2582
  {
2586
2583
  viewBox: "0 0 12 12",
@@ -2590,7 +2587,7 @@ var BackArrow = ({ size = 18, ...props }) => /* @__PURE__ */ React29.createEleme
2590
2587
  width: size,
2591
2588
  height: size
2592
2589
  },
2593
- /* @__PURE__ */ React29.createElement(
2590
+ /* @__PURE__ */ React28.createElement(
2594
2591
  "path",
2595
2592
  {
2596
2593
  d: "M7.375 8.75L4.625 6L7.375 3.25",
@@ -2618,8 +2615,8 @@ var BackButton = ({
2618
2615
  var import_react28 = __toESM(require("react"));
2619
2616
 
2620
2617
  // src/icons/CloseIcon.tsx
2621
- var React31 = __toESM(require("react"));
2622
- var CloseIcon = ({ size = 12, ...props }) => /* @__PURE__ */ React31.createElement(
2618
+ var React30 = __toESM(require("react"));
2619
+ var CloseIcon = ({ size = 12, ...props }) => /* @__PURE__ */ React30.createElement(
2623
2620
  "svg",
2624
2621
  {
2625
2622
  viewBox: "0 0 12 12",
@@ -2629,7 +2626,7 @@ var CloseIcon = ({ size = 12, ...props }) => /* @__PURE__ */ React31.createEleme
2629
2626
  width: size,
2630
2627
  height: size
2631
2628
  },
2632
- /* @__PURE__ */ React31.createElement(
2629
+ /* @__PURE__ */ React30.createElement(
2633
2630
  "path",
2634
2631
  {
2635
2632
  d: "M8.75 3.25L3.25 8.75",
@@ -2638,7 +2635,7 @@ var CloseIcon = ({ size = 12, ...props }) => /* @__PURE__ */ React31.createEleme
2638
2635
  strokeLinejoin: "round"
2639
2636
  }
2640
2637
  ),
2641
- /* @__PURE__ */ React31.createElement(
2638
+ /* @__PURE__ */ React30.createElement(
2642
2639
  "path",
2643
2640
  {
2644
2641
  d: "M3.25 3.25L8.75 8.75",
@@ -2667,8 +2664,8 @@ var import_react35 = __toESM(require("react"));
2667
2664
  var import_react_select = __toESM(require("react-select"));
2668
2665
 
2669
2666
  // src/icons/Check.tsx
2670
- var React33 = __toESM(require("react"));
2671
- var Check = ({ size = 18, ...props }) => /* @__PURE__ */ React33.createElement(
2667
+ var React32 = __toESM(require("react"));
2668
+ var Check = ({ size = 18, ...props }) => /* @__PURE__ */ React32.createElement(
2672
2669
  "svg",
2673
2670
  {
2674
2671
  viewBox: "0 0 18 18",
@@ -2678,7 +2675,7 @@ var Check = ({ size = 18, ...props }) => /* @__PURE__ */ React33.createElement(
2678
2675
  width: size,
2679
2676
  height: size
2680
2677
  },
2681
- /* @__PURE__ */ React33.createElement(
2678
+ /* @__PURE__ */ React32.createElement(
2682
2679
  "path",
2683
2680
  {
2684
2681
  d: "M15 4.5L6.75 12.75L3 9",
@@ -2691,8 +2688,8 @@ var Check = ({ size = 18, ...props }) => /* @__PURE__ */ React33.createElement(
2691
2688
  var Check_default = Check;
2692
2689
 
2693
2690
  // src/icons/MinimizeTwo.tsx
2694
- var React34 = __toESM(require("react"));
2695
- var MinimizeTwo = ({ size = 18, ...props }) => /* @__PURE__ */ React34.createElement(
2691
+ var React33 = __toESM(require("react"));
2692
+ var MinimizeTwo = ({ size = 18, ...props }) => /* @__PURE__ */ React33.createElement(
2696
2693
  "svg",
2697
2694
  {
2698
2695
  xmlns: "http://www.w3.org/2000/svg",
@@ -2702,7 +2699,7 @@ var MinimizeTwo = ({ size = 18, ...props }) => /* @__PURE__ */ React34.createEle
2702
2699
  width: size,
2703
2700
  height: size
2704
2701
  },
2705
- /* @__PURE__ */ React34.createElement(
2702
+ /* @__PURE__ */ React33.createElement(
2706
2703
  "path",
2707
2704
  {
2708
2705
  d: "M3 10.5H7.5V15",
@@ -2711,7 +2708,7 @@ var MinimizeTwo = ({ size = 18, ...props }) => /* @__PURE__ */ React34.createEle
2711
2708
  strokeLinejoin: "round"
2712
2709
  }
2713
2710
  ),
2714
- /* @__PURE__ */ React34.createElement(
2711
+ /* @__PURE__ */ React33.createElement(
2715
2712
  "path",
2716
2713
  {
2717
2714
  d: "M15 7.5H10.5V3",
@@ -2720,7 +2717,7 @@ var MinimizeTwo = ({ size = 18, ...props }) => /* @__PURE__ */ React34.createEle
2720
2717
  strokeLinejoin: "round"
2721
2718
  }
2722
2719
  ),
2723
- /* @__PURE__ */ React34.createElement(
2720
+ /* @__PURE__ */ React33.createElement(
2724
2721
  "path",
2725
2722
  {
2726
2723
  d: "M10.5 7.5L15.75 2.25",
@@ -2729,7 +2726,7 @@ var MinimizeTwo = ({ size = 18, ...props }) => /* @__PURE__ */ React34.createEle
2729
2726
  strokeLinejoin: "round"
2730
2727
  }
2731
2728
  ),
2732
- /* @__PURE__ */ React34.createElement(
2729
+ /* @__PURE__ */ React33.createElement(
2733
2730
  "path",
2734
2731
  {
2735
2732
  d: "M2.25 15.75L7.5 10.5",
@@ -2751,8 +2748,8 @@ var import_react33 = __toESM(require("react"));
2751
2748
  var import_react32 = __toESM(require("react"));
2752
2749
 
2753
2750
  // src/icons/ChevronRight.tsx
2754
- var React35 = __toESM(require("react"));
2755
- var ChevronRight = ({ size = 18, ...props }) => /* @__PURE__ */ React35.createElement(
2751
+ var React34 = __toESM(require("react"));
2752
+ var ChevronRight = ({ size = 18, ...props }) => /* @__PURE__ */ React34.createElement(
2756
2753
  "svg",
2757
2754
  {
2758
2755
  xmlns: "http://www.w3.org/2000/svg",
@@ -2762,7 +2759,7 @@ var ChevronRight = ({ size = 18, ...props }) => /* @__PURE__ */ React35.createEl
2762
2759
  fill: "none",
2763
2760
  ...props
2764
2761
  },
2765
- /* @__PURE__ */ React35.createElement(
2762
+ /* @__PURE__ */ React34.createElement(
2766
2763
  "path",
2767
2764
  {
2768
2765
  d: "M6.75 13.5L11.25 9L6.75 4.5",
@@ -3228,8 +3225,8 @@ var CategorySelect = ({
3228
3225
  var import_react48 = __toESM(require("react"));
3229
3226
 
3230
3227
  // src/icons/ScissorsFullOpen.tsx
3231
- var React43 = __toESM(require("react"));
3232
- var ScissorsFullOpen = ({ size = 12, ...props }) => /* @__PURE__ */ React43.createElement(
3228
+ var React42 = __toESM(require("react"));
3229
+ var ScissorsFullOpen = ({ size = 12, ...props }) => /* @__PURE__ */ React42.createElement(
3233
3230
  "svg",
3234
3231
  {
3235
3232
  viewBox: "0 0 12 12",
@@ -3239,7 +3236,7 @@ var ScissorsFullOpen = ({ size = 12, ...props }) => /* @__PURE__ */ React43.crea
3239
3236
  width: size,
3240
3237
  height: size
3241
3238
  },
3242
- /* @__PURE__ */ React43.createElement("g", { id: "scissors" }, /* @__PURE__ */ React43.createElement(
3239
+ /* @__PURE__ */ React42.createElement("g", { id: "scissors" }, /* @__PURE__ */ React42.createElement(
3243
3240
  "path",
3244
3241
  {
3245
3242
  id: "Vector",
@@ -3248,7 +3245,7 @@ var ScissorsFullOpen = ({ size = 12, ...props }) => /* @__PURE__ */ React43.crea
3248
3245
  strokeLinecap: "round",
3249
3246
  strokeLinejoin: "round"
3250
3247
  }
3251
- ), /* @__PURE__ */ React43.createElement(
3248
+ ), /* @__PURE__ */ React42.createElement(
3252
3249
  "path",
3253
3250
  {
3254
3251
  id: "Vector_2",
@@ -3257,7 +3254,7 @@ var ScissorsFullOpen = ({ size = 12, ...props }) => /* @__PURE__ */ React43.crea
3257
3254
  strokeLinecap: "round",
3258
3255
  strokeLinejoin: "round"
3259
3256
  }
3260
- ), /* @__PURE__ */ React43.createElement(
3257
+ ), /* @__PURE__ */ React42.createElement(
3261
3258
  "path",
3262
3259
  {
3263
3260
  id: "Vector_3",
@@ -3266,7 +3263,7 @@ var ScissorsFullOpen = ({ size = 12, ...props }) => /* @__PURE__ */ React43.crea
3266
3263
  strokeLinecap: "round",
3267
3264
  strokeLinejoin: "round"
3268
3265
  }
3269
- ), /* @__PURE__ */ React43.createElement(
3266
+ ), /* @__PURE__ */ React42.createElement(
3270
3267
  "path",
3271
3268
  {
3272
3269
  id: "Vector_4",
@@ -3275,7 +3272,7 @@ var ScissorsFullOpen = ({ size = 12, ...props }) => /* @__PURE__ */ React43.crea
3275
3272
  strokeLinecap: "round",
3276
3273
  strokeLinejoin: "round"
3277
3274
  }
3278
- ), /* @__PURE__ */ React43.createElement(
3275
+ ), /* @__PURE__ */ React42.createElement(
3279
3276
  "path",
3280
3277
  {
3281
3278
  id: "Vector_5",
@@ -3289,8 +3286,8 @@ var ScissorsFullOpen = ({ size = 12, ...props }) => /* @__PURE__ */ React43.crea
3289
3286
  var ScissorsFullOpen_default = ScissorsFullOpen;
3290
3287
 
3291
3288
  // src/icons/Trash.tsx
3292
- var React44 = __toESM(require("react"));
3293
- var Trash = ({ size = 18, ...props }) => /* @__PURE__ */ React44.createElement(
3289
+ var React43 = __toESM(require("react"));
3290
+ var Trash = ({ size = 18, ...props }) => /* @__PURE__ */ React43.createElement(
3294
3291
  "svg",
3295
3292
  {
3296
3293
  xmlns: "http://www.w3.org/2000/svg",
@@ -3300,7 +3297,7 @@ var Trash = ({ size = 18, ...props }) => /* @__PURE__ */ React44.createElement(
3300
3297
  width: size,
3301
3298
  height: size
3302
3299
  },
3303
- /* @__PURE__ */ React44.createElement(
3300
+ /* @__PURE__ */ React43.createElement(
3304
3301
  "path",
3305
3302
  {
3306
3303
  d: "M2.25 4.5H3.75H15.75",
@@ -3309,7 +3306,7 @@ var Trash = ({ size = 18, ...props }) => /* @__PURE__ */ React44.createElement(
3309
3306
  strokeLinejoin: "round"
3310
3307
  }
3311
3308
  ),
3312
- /* @__PURE__ */ React44.createElement(
3309
+ /* @__PURE__ */ React43.createElement(
3313
3310
  "path",
3314
3311
  {
3315
3312
  d: "M14.25 4.5V15C14.25 15.3978 14.092 15.7794 13.8107 16.0607C13.5294 16.342 13.1478 16.5 12.75 16.5H5.25C4.85218 16.5 4.47064 16.342 4.18934 16.0607C3.90804 15.7794 3.75 15.3978 3.75 15V4.5M6 4.5V3C6 2.60218 6.15804 2.22064 6.43934 1.93934C6.72064 1.65804 7.10218 1.5 7.5 1.5H10.5C10.8978 1.5 11.2794 1.65804 11.5607 1.93934C11.842 2.22064 12 2.60218 12 3V4.5",
@@ -3318,7 +3315,7 @@ var Trash = ({ size = 18, ...props }) => /* @__PURE__ */ React44.createElement(
3318
3315
  strokeLinejoin: "round"
3319
3316
  }
3320
3317
  ),
3321
- /* @__PURE__ */ React44.createElement(
3318
+ /* @__PURE__ */ React43.createElement(
3322
3319
  "path",
3323
3320
  {
3324
3321
  d: "M7.5 8.25V12.75",
@@ -3327,7 +3324,7 @@ var Trash = ({ size = 18, ...props }) => /* @__PURE__ */ React44.createElement(
3327
3324
  strokeLinejoin: "round"
3328
3325
  }
3329
3326
  ),
3330
- /* @__PURE__ */ React44.createElement(
3327
+ /* @__PURE__ */ React43.createElement(
3331
3328
  "path",
3332
3329
  {
3333
3330
  d: "M10.5 8.25V12.75",
@@ -3389,8 +3386,8 @@ var InputGroup = ({
3389
3386
  var import_react38 = __toESM(require("react"));
3390
3387
 
3391
3388
  // src/icons/UploadCloud.tsx
3392
- var React47 = __toESM(require("react"));
3393
- var UploadCloud = ({ size = 18, ...props }) => /* @__PURE__ */ React47.createElement(
3389
+ var React46 = __toESM(require("react"));
3390
+ var UploadCloud = ({ size = 18, ...props }) => /* @__PURE__ */ React46.createElement(
3394
3391
  "svg",
3395
3392
  {
3396
3393
  viewBox: "0 0 18 18",
@@ -3400,7 +3397,7 @@ var UploadCloud = ({ size = 18, ...props }) => /* @__PURE__ */ React47.createEle
3400
3397
  width: size,
3401
3398
  height: size
3402
3399
  },
3403
- /* @__PURE__ */ React47.createElement(
3400
+ /* @__PURE__ */ React46.createElement(
3404
3401
  "path",
3405
3402
  {
3406
3403
  d: "M12 12L9 9L6 12",
@@ -3409,7 +3406,7 @@ var UploadCloud = ({ size = 18, ...props }) => /* @__PURE__ */ React47.createEle
3409
3406
  strokeLinejoin: "round"
3410
3407
  }
3411
3408
  ),
3412
- /* @__PURE__ */ React47.createElement(
3409
+ /* @__PURE__ */ React46.createElement(
3413
3410
  "path",
3414
3411
  {
3415
3412
  d: "M9 9V15.75",
@@ -3418,7 +3415,7 @@ var UploadCloud = ({ size = 18, ...props }) => /* @__PURE__ */ React47.createEle
3418
3415
  strokeLinejoin: "round"
3419
3416
  }
3420
3417
  ),
3421
- /* @__PURE__ */ React47.createElement(
3418
+ /* @__PURE__ */ React46.createElement(
3422
3419
  "path",
3423
3420
  {
3424
3421
  d: "M15.2925 13.7925C16.024 13.3937 16.6019 12.7626 16.9349 11.999C17.2679 11.2353 17.3372 10.3824 17.1317 9.57501C16.9262 8.7676 16.4576 8.05162 15.8 7.54007C15.1424 7.02852 14.3332 6.75054 13.5 6.74999H12.555C12.328 5.87192 11.9049 5.05674 11.3175 4.36573C10.7301 3.67473 9.99364 3.12588 9.16358 2.76044C8.33352 2.39501 7.43141 2.22251 6.52509 2.2559C5.61876 2.28929 4.7318 2.52771 3.93088 2.95324C3.12997 3.37876 2.43593 3.98032 1.90097 4.71267C1.366 5.44503 1.00402 6.28914 0.842236 7.18153C0.680453 8.07393 0.72308 8.99139 0.966911 9.86493C1.21074 10.7385 1.64943 11.5454 2.25 12.225",
@@ -3427,7 +3424,7 @@ var UploadCloud = ({ size = 18, ...props }) => /* @__PURE__ */ React47.createEle
3427
3424
  strokeLinejoin: "round"
3428
3425
  }
3429
3426
  ),
3430
- /* @__PURE__ */ React47.createElement(
3427
+ /* @__PURE__ */ React46.createElement(
3431
3428
  "path",
3432
3429
  {
3433
3430
  d: "M12 12L9 9L6 12",
@@ -3900,8 +3897,8 @@ var ToggleOption = ({
3900
3897
  var import_react47 = __toESM(require("react"));
3901
3898
 
3902
3899
  // src/icons/AlertOctagon.tsx
3903
- var React57 = __toESM(require("react"));
3904
- var AlertOctagon = ({ size = 18, ...props }) => /* @__PURE__ */ React57.createElement(
3900
+ var React56 = __toESM(require("react"));
3901
+ var AlertOctagon = ({ size = 18, ...props }) => /* @__PURE__ */ React56.createElement(
3905
3902
  "svg",
3906
3903
  {
3907
3904
  viewBox: "0 0 18 18",
@@ -3911,7 +3908,7 @@ var AlertOctagon = ({ size = 18, ...props }) => /* @__PURE__ */ React57.createEl
3911
3908
  width: size,
3912
3909
  height: size
3913
3910
  },
3914
- /* @__PURE__ */ React57.createElement(
3911
+ /* @__PURE__ */ React56.createElement(
3915
3912
  "path",
3916
3913
  {
3917
3914
  d: "M5.895 1.5H12.105L16.5 5.895V12.105L12.105 16.5H5.895L1.5 12.105V5.895L5.895 1.5Z",
@@ -3920,7 +3917,7 @@ var AlertOctagon = ({ size = 18, ...props }) => /* @__PURE__ */ React57.createEl
3920
3917
  strokeLinejoin: "round"
3921
3918
  }
3922
3919
  ),
3923
- /* @__PURE__ */ React57.createElement(
3920
+ /* @__PURE__ */ React56.createElement(
3924
3921
  "path",
3925
3922
  {
3926
3923
  d: "M9 6V9",
@@ -3929,7 +3926,7 @@ var AlertOctagon = ({ size = 18, ...props }) => /* @__PURE__ */ React57.createEl
3929
3926
  strokeLinejoin: "round"
3930
3927
  }
3931
3928
  ),
3932
- /* @__PURE__ */ React57.createElement(
3929
+ /* @__PURE__ */ React56.createElement(
3933
3930
  "path",
3934
3931
  {
3935
3932
  d: "M9 12H9.0075",
@@ -4181,18 +4178,19 @@ var ExpandedBankTransactionRow = (0, import_react48.forwardRef)(
4181
4178
  const save = async () => {
4182
4179
  const endpoint = `/v1/businesses/${businessId}/bank-transactions/${bankTransaction.id}/metadata`;
4183
4180
  if (showDescriptions && memoText != void 0) {
4184
- const headers = {
4185
- method: "PUT",
4186
- headers: {
4187
- Authorization: `Bearer ${auth.access_token}`,
4188
- "Content-Type": "application/json"
4189
- },
4190
- body: JSON.stringify({
4191
- memo: memoText
4192
- })
4193
- };
4194
- const result = await fetch(apiUrl + endpoint, headers);
4195
- const resultJson = await result.json();
4181
+ const result = await Layer.updateBankTransactionMetadata(
4182
+ apiUrl,
4183
+ auth.access_token,
4184
+ {
4185
+ params: {
4186
+ businessId,
4187
+ bankTransactionId: bankTransaction.id
4188
+ },
4189
+ body: {
4190
+ memo: memoText
4191
+ }
4192
+ }
4193
+ );
4196
4194
  }
4197
4195
  if (purpose === "match" /* match */) {
4198
4196
  if (!selectedMatchId) {
@@ -4228,31 +4226,33 @@ var ExpandedBankTransactionRow = (0, import_react48.forwardRef)(
4228
4226
  close();
4229
4227
  };
4230
4228
  const fetchMetadata = async () => {
4231
- const endpoint = `/v1/businesses/${businessId}/bank-transactions/${bankTransaction.id}/metadata`;
4232
- const headers = {
4233
- method: "GET",
4234
- headers: {
4235
- Authorization: `Bearer ${auth.access_token}`,
4236
- "Content-Type": "application/json"
4229
+ const getBankTransactionMetadata2 = Layer.getBankTransactionMetadata(
4230
+ apiUrl,
4231
+ auth.access_token,
4232
+ {
4233
+ params: {
4234
+ businessId,
4235
+ bankTransactionId: bankTransaction.id
4236
+ }
4237
4237
  }
4238
- };
4239
- const result = await fetch(apiUrl + endpoint, headers);
4240
- const resultJson = await result.json();
4241
- const retrievedMemo = resultJson.data.memo ?? "";
4242
- setMemoText(retrievedMemo);
4238
+ );
4239
+ const result = await getBankTransactionMetadata2();
4240
+ if (result.data.memo)
4241
+ setMemoText(result.data.memo);
4243
4242
  };
4244
4243
  const fetchDocuments = async () => {
4245
- const docsEndpoint = `/v1/businesses/${businessId}/bank-transactions/${bankTransaction.id}/documents`;
4246
- const docsHeaders = {
4247
- method: "GET",
4248
- headers: {
4249
- Authorization: `Bearer ${auth.access_token}`,
4250
- "Content-Type": "application/json"
4244
+ const listBankTransactionDocuments2 = Layer.listBankTransactionDocuments(
4245
+ apiUrl,
4246
+ auth.access_token,
4247
+ {
4248
+ params: {
4249
+ businessId,
4250
+ bankTransactionId: bankTransaction.id
4251
+ }
4251
4252
  }
4252
- };
4253
- const docsResult = await fetch(apiUrl + docsEndpoint, docsHeaders);
4254
- const docsResultJson = await docsResult.json();
4255
- const retrievedDocs = docsResultJson.data.documentUrls.map(
4253
+ );
4254
+ const result = await listBankTransactionDocuments2();
4255
+ const retrievedDocs = result.data.documentUrls.map(
4256
4256
  (docUrl) => docUrl.presignedUrl
4257
4257
  );
4258
4258
  setReceiptUrls(retrievedDocs);
@@ -4473,24 +4473,17 @@ var ExpandedBankTransactionRow = (0, import_react48.forwardRef)(
4473
4473
  FileInput,
4474
4474
  {
4475
4475
  onUpload: async (file) => {
4476
- const endpoint = `/v1/businesses/${businessId}/bank-transactions/${bankTransaction.id}/documents`;
4477
- const formData = new FormData();
4478
- formData.append("file", file);
4479
- formData.append("documentType", "RECEIPT");
4480
- try {
4481
- const headers = {
4482
- method: "POST",
4483
- headers: {
4484
- Authorization: `Bearer ${auth.access_token}`
4485
- },
4486
- body: formData
4487
- };
4488
- const result = await fetch(apiUrl + endpoint, headers);
4489
- const resultJson = await result.json();
4490
- await fetchDocuments();
4491
- } catch (error) {
4492
- console.error("Error uploading file:", error);
4493
- }
4476
+ const uploadDocument = Layer.uploadBankTransactionDocument(
4477
+ apiUrl,
4478
+ auth.access_token
4479
+ );
4480
+ const result = await uploadDocument({
4481
+ businessId,
4482
+ bankTransactionId: bankTransaction.id,
4483
+ file,
4484
+ documentType: "RECEIPT"
4485
+ });
4486
+ await fetchDocuments();
4494
4487
  },
4495
4488
  text: "Upload receipt"
4496
4489
  }
@@ -5843,8 +5836,8 @@ var usePagination = ({
5843
5836
  };
5844
5837
 
5845
5838
  // src/icons/ChevronLeft.tsx
5846
- var React77 = __toESM(require("react"));
5847
- var ChevronLeft = ({ size = 18, ...props }) => /* @__PURE__ */ React77.createElement(
5839
+ var React76 = __toESM(require("react"));
5840
+ var ChevronLeft = ({ size = 18, ...props }) => /* @__PURE__ */ React76.createElement(
5848
5841
  "svg",
5849
5842
  {
5850
5843
  xmlns: "http://www.w3.org/2000/svg",
@@ -5854,7 +5847,7 @@ var ChevronLeft = ({ size = 18, ...props }) => /* @__PURE__ */ React77.createEle
5854
5847
  fill: "none",
5855
5848
  ...props
5856
5849
  },
5857
- /* @__PURE__ */ React77.createElement(
5850
+ /* @__PURE__ */ React76.createElement(
5858
5851
  "path",
5859
5852
  {
5860
5853
  d: "M11.25 13.5L6.75 9L11.25 4.5",
@@ -5946,6 +5939,48 @@ var Pagination = ({
5946
5939
  // src/components/BankTransactions/BankTransactionsHeader.tsx
5947
5940
  var import_react72 = __toESM(require("react"));
5948
5941
 
5942
+ // src/icons/DownloadCloud.tsx
5943
+ var React78 = __toESM(require("react"));
5944
+ var DownloadCloud = ({ size = 18, ...props }) => /* @__PURE__ */ React78.createElement(
5945
+ "svg",
5946
+ {
5947
+ xmlns: "http://www.w3.org/2000/svg",
5948
+ viewBox: "0 0 18 18",
5949
+ fill: "none",
5950
+ ...props,
5951
+ width: size,
5952
+ height: size
5953
+ },
5954
+ /* @__PURE__ */ React78.createElement(
5955
+ "path",
5956
+ {
5957
+ d: "M6 12.75L9 15.75L12 12.75",
5958
+ stroke: "currentColor",
5959
+ strokeLinecap: "round",
5960
+ strokeLinejoin: "round"
5961
+ }
5962
+ ),
5963
+ /* @__PURE__ */ React78.createElement(
5964
+ "path",
5965
+ {
5966
+ d: "M9 9V15.75",
5967
+ stroke: "currentColor",
5968
+ strokeLinecap: "round",
5969
+ strokeLinejoin: "round"
5970
+ }
5971
+ ),
5972
+ /* @__PURE__ */ React78.createElement(
5973
+ "path",
5974
+ {
5975
+ d: "M15.66 13.5675C16.3121 13.109 16.801 12.4546 17.056 11.6994C17.3109 10.9441 17.3186 10.1273 17.0778 9.36737C16.837 8.60748 16.3604 7.94407 15.7171 7.47342C15.0737 7.00278 14.2971 6.74938 13.5 6.75H12.555C12.3294 5.87091 11.9074 5.05444 11.3206 4.36206C10.7338 3.66969 9.99762 3.11945 9.16742 2.75277C8.33721 2.38609 7.43464 2.21252 6.52766 2.24514C5.62067 2.27776 4.7329 2.51571 3.93118 2.94107C3.12946 3.36644 2.43468 3.96814 1.89915 4.70087C1.36362 5.43361 1.0013 6.27829 0.839456 7.17132C0.677613 8.06434 0.720468 8.98245 0.964796 9.85652C1.20912 10.7306 1.64856 11.5378 2.25001 12.2175",
5976
+ stroke: "currentColor",
5977
+ strokeLinecap: "round",
5978
+ strokeLinejoin: "round"
5979
+ }
5980
+ )
5981
+ );
5982
+ var DownloadCloud_default = DownloadCloud;
5983
+
5949
5984
  // src/utils/business.ts
5950
5985
  var import_date_fns15 = require("date-fns");
5951
5986
  var getActivationDate = (business) => {
@@ -7576,7 +7611,9 @@ var LinkedAccountThumb = ({
7576
7611
  var import_classnames39 = __toESM(require("classnames"));
7577
7612
  var LinkedAccountsContent = ({
7578
7613
  asWidget,
7579
- showLedgerBalance
7614
+ showLedgerBalance,
7615
+ showUnlinkItem,
7616
+ showBreakConnection
7580
7617
  }) => {
7581
7618
  const {
7582
7619
  data,
@@ -7592,7 +7629,9 @@ var LinkedAccountsContent = ({
7592
7629
  const linkedAccountsNewAccountClassName = (0, import_classnames39.default)(
7593
7630
  "Layer__linked-accounts__new-account",
7594
7631
  asWidget && "--as-widget",
7595
- showLedgerBalance && "--show-ledger-balance"
7632
+ showLedgerBalance && "--show-ledger-balance",
7633
+ showUnlinkItem && "--show-unlink-item",
7634
+ showBreakConnection && "--show-break-connection"
7596
7635
  );
7597
7636
  return /* @__PURE__ */ import_react86.default.createElement("div", { className: "Layer__linked-accounts__list" }, data?.map((account, index) => {
7598
7637
  let pillConfig;
@@ -7624,69 +7663,68 @@ var LinkedAccountsContent = ({
7624
7663
  {
7625
7664
  name: "Repair connection",
7626
7665
  action: async () => {
7627
- if (account.connection_external_id)
7666
+ if (account.connection_external_id) {
7628
7667
  await repairConnection(
7629
7668
  account.external_account_source,
7630
7669
  account.connection_external_id
7631
7670
  );
7671
+ }
7632
7672
  }
7633
7673
  }
7634
7674
  ]
7635
7675
  };
7636
7676
  }
7677
+ const additionalConfigs = [
7678
+ {
7679
+ name: "Unlink account",
7680
+ action: async () => {
7681
+ if (confirm(
7682
+ "Please confirm you wish to remove this financial account"
7683
+ )) {
7684
+ await unlinkAccount2(account.external_account_source, account.id);
7685
+ }
7686
+ }
7687
+ }
7688
+ ];
7689
+ if (showUnlinkItem) {
7690
+ additionalConfigs.push({
7691
+ name: `Unlink all accounts under this ${account.institution?.name} connection`,
7692
+ action: async () => {
7693
+ if (account.connection_external_id && confirm(
7694
+ `Please confirm you wish to remove all accounts belonging to ${account.institution?.name || "this institution"}`
7695
+ )) {
7696
+ await removeConnection(
7697
+ account.external_account_source,
7698
+ account.connection_external_id
7699
+ );
7700
+ }
7701
+ }
7702
+ });
7703
+ }
7704
+ if (environment === "staging" && !account.connection_needs_repair_as_of && account.external_account_source === "PLAID" && showBreakConnection) {
7705
+ additionalConfigs.push({
7706
+ name: "Break connection (test utility)",
7707
+ action: async () => {
7708
+ if (account.connection_external_id) {
7709
+ await breakConnection(
7710
+ account.external_account_source,
7711
+ account.connection_external_id
7712
+ );
7713
+ } else {
7714
+ console.warn(
7715
+ "Account doesn't have defined connection_external_id"
7716
+ );
7717
+ }
7718
+ }
7719
+ });
7720
+ }
7637
7721
  return /* @__PURE__ */ import_react86.default.createElement(
7638
7722
  LinkedAccountOptions,
7639
7723
  {
7640
7724
  key: `linked-acc-${index}`,
7641
7725
  config: [
7642
- ...account.external_account_source === "PLAID" ? [
7643
- {
7644
- name: "Unlink account",
7645
- action: async () => {
7646
- if (!confirm(
7647
- "Please confirm you wish to remove this financial account"
7648
- )) {
7649
- return;
7650
- }
7651
- await unlinkAccount2(
7652
- account.external_account_source,
7653
- account.id
7654
- );
7655
- }
7656
- },
7657
- {
7658
- name: `Unlink all accounts under this ${account.institution?.name} connection`,
7659
- action: async () => {
7660
- if (!account.connection_external_id || !confirm(
7661
- `Please confirm you wish to remove all accounts belonging to ${account.institution?.name || "this institution"}`
7662
- )) {
7663
- return;
7664
- }
7665
- await removeConnection(
7666
- account.external_account_source,
7667
- account.connection_external_id
7668
- );
7669
- }
7670
- }
7671
- ] : [],
7672
- ...pillConfig ? pillConfig.config : [],
7673
- ...environment === "staging" && !account.connection_needs_repair_as_of && account.external_account_source === "PLAID" ? [
7674
- {
7675
- name: "Break connection (test utility)",
7676
- action: async () => {
7677
- if (account.connection_external_id) {
7678
- await breakConnection(
7679
- account.external_account_source,
7680
- account.connection_external_id
7681
- );
7682
- } else {
7683
- console.warn(
7684
- "Account doesn't have defined connection_external_id"
7685
- );
7686
- }
7687
- }
7688
- }
7689
- ] : []
7726
+ ...additionalConfigs,
7727
+ ...pillConfig ? pillConfig.config : []
7690
7728
  ],
7691
7729
  showLedgerBalance
7692
7730
  },
@@ -7721,7 +7759,9 @@ var LinkedAccounts = (props) => {
7721
7759
  var LinkedAccountsComponent = ({
7722
7760
  asWidget,
7723
7761
  elevated,
7724
- showLedgerBalance = true
7762
+ showLedgerBalance = true,
7763
+ showUnlinkItem = false,
7764
+ showBreakConnection = false
7725
7765
  }) => {
7726
7766
  const { isLoading, error, isValidating, refetchAccounts } = (0, import_react87.useContext)(
7727
7767
  LinkedAccountsContext
@@ -7746,7 +7786,9 @@ var LinkedAccountsComponent = ({
7746
7786
  LinkedAccountsContent,
7747
7787
  {
7748
7788
  asWidget,
7749
- showLedgerBalance
7789
+ showLedgerBalance,
7790
+ showUnlinkItem,
7791
+ showBreakConnection
7750
7792
  }
7751
7793
  ) : null);
7752
7794
  };
@@ -8780,6 +8822,7 @@ var ProfitAndLossDatePicker = () => {
8780
8822
  return /* @__PURE__ */ import_react92.default.createElement(
8781
8823
  DateMonthPicker,
8782
8824
  {
8825
+ key: dateRange.startDate.toISOString(),
8783
8826
  dateRange,
8784
8827
  changeDateRange,
8785
8828
  minDate
@@ -11522,13 +11565,6 @@ var LedgerAccount = ({
11522
11565
  className: "Layer__ledger-account__title"
11523
11566
  },
11524
11567
  entry?.name ?? ""
11525
- ), /* @__PURE__ */ import_react121.default.createElement(
11526
- Button,
11527
- {
11528
- variant: "secondary" /* secondary */,
11529
- rightIcon: /* @__PURE__ */ import_react121.default.createElement(DownloadCloud_default, { size: 12 })
11530
- },
11531
- "Download"
11532
11568
  )), /* @__PURE__ */ import_react121.default.createElement("div", { className: "Layer__ledger-account__balance-container" }, /* @__PURE__ */ import_react121.default.createElement(
11533
11569
  Text,
11534
11570
  {
@@ -11659,6 +11695,25 @@ var JournalContext = (0, import_react123.createContext)({
11659
11695
 
11660
11696
  // src/hooks/useJournal/useJournal.tsx
11661
11697
  var import_react124 = require("react");
11698
+
11699
+ // src/utils/journal.ts
11700
+ var getAccountIdentifierPayload = (journalLineItem) => {
11701
+ if (journalLineItem.account_identifier.id) {
11702
+ return {
11703
+ type: "AccountId",
11704
+ id: journalLineItem.account_identifier.id
11705
+ };
11706
+ }
11707
+ if (journalLineItem.account_identifier.stable_name) {
11708
+ return {
11709
+ type: "StableName",
11710
+ stable_name: journalLineItem.account_identifier.stable_name
11711
+ };
11712
+ }
11713
+ throw new Error("Invalid account identifier");
11714
+ };
11715
+
11716
+ // src/hooks/useJournal/useJournal.tsx
11662
11717
  var import_swr10 = __toESM(require("swr"));
11663
11718
  var useJournal = () => {
11664
11719
  const { auth, businessId, apiUrl } = useLayerContext();
@@ -11843,10 +11898,7 @@ var useJournal = () => {
11843
11898
  ...form.data,
11844
11899
  line_items: form.data.line_items?.map((line) => ({
11845
11900
  ...line,
11846
- account_identifier: {
11847
- type: "StableName",
11848
- stable_name: line.account_identifier.stable_name
11849
- }
11901
+ account_identifier: getAccountIdentifierPayload(line)
11850
11902
  }))
11851
11903
  });
11852
11904
  }
@@ -12418,15 +12470,7 @@ var JournalTable = ({
12418
12470
  sidebarIsOpen: Boolean(selectedEntryId),
12419
12471
  parentRef: containerRef
12420
12472
  },
12421
- /* @__PURE__ */ import_react130.default.createElement(Header, { className: `Layer__${COMPONENT_NAME5}__header` }, /* @__PURE__ */ import_react130.default.createElement(Heading, { className: `Layer__${COMPONENT_NAME5}__title` }, "Journal"), /* @__PURE__ */ import_react130.default.createElement("div", { className: `Layer__${COMPONENT_NAME5}__actions` }, /* @__PURE__ */ import_react130.default.createElement(
12422
- Button,
12423
- {
12424
- variant: "secondary" /* secondary */,
12425
- disabled: isLoading,
12426
- rightIcon: /* @__PURE__ */ import_react130.default.createElement(DownloadCloud_default, { size: 12 })
12427
- },
12428
- "Download"
12429
- ), /* @__PURE__ */ import_react130.default.createElement(Button, { onClick: () => addEntry(), disabled: isLoading }, "Add Entry"))),
12473
+ /* @__PURE__ */ import_react130.default.createElement(Header, { className: `Layer__${COMPONENT_NAME5}__header` }, /* @__PURE__ */ import_react130.default.createElement(Heading, { className: `Layer__${COMPONENT_NAME5}__title` }, "Journal"), /* @__PURE__ */ import_react130.default.createElement("div", { className: `Layer__${COMPONENT_NAME5}__actions` }, /* @__PURE__ */ import_react130.default.createElement(Button, { onClick: () => addEntry(), disabled: isLoading }, "Add Entry"))),
12430
12474
  /* @__PURE__ */ import_react130.default.createElement("table", { className: "Layer__table Layer__table--hover-effect Layer__journal__table" }, /* @__PURE__ */ import_react130.default.createElement("thead", null, /* @__PURE__ */ import_react130.default.createElement("tr", null, /* @__PURE__ */ import_react130.default.createElement("th", { className: "Layer__table-header" }), /* @__PURE__ */ import_react130.default.createElement("th", { className: "Layer__table-header" }, "Id"), /* @__PURE__ */ import_react130.default.createElement("th", { className: "Layer__table-header" }, "Date"), /* @__PURE__ */ import_react130.default.createElement("th", { className: "Layer__table-header" }, "Transaction"), /* @__PURE__ */ import_react130.default.createElement("th", { className: "Layer__table-header" }, "Account"), /* @__PURE__ */ import_react130.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Debit"), /* @__PURE__ */ import_react130.default.createElement("th", { className: "Layer__table-header Layer__table-cell--amount" }, "Credit"))), /* @__PURE__ */ import_react130.default.createElement("tbody", null, !error && data?.map((entry, idx) => {
12431
12475
  return /* @__PURE__ */ import_react130.default.createElement(
12432
12476
  JournalRow,
@@ -12761,13 +12805,12 @@ var ActionableRow = ({
12761
12805
  // src/components/Onboarding/ConnectAccount.tsx
12762
12806
  var ConnectAccount = ({
12763
12807
  onboardingStep,
12764
- onTransactionsToReviewClick,
12765
- currentMonthOnly = true
12808
+ onTransactionsToReviewClick
12766
12809
  }) => {
12767
12810
  const { addConnection } = (0, import_react134.useContext)(LinkedAccountsContext);
12768
12811
  const { data, isLoading } = useBankTransactions();
12769
12812
  const transactionsToReview = (0, import_react134.useMemo)(
12770
- () => countTransactionsToReview({ transactions: data, currentMonthOnly }),
12813
+ () => countTransactionsToReview({ transactions: data }),
12771
12814
  [data, isLoading]
12772
12815
  );
12773
12816
  if (onboardingStep === "connectAccount") {
@@ -13271,36 +13314,24 @@ var NotificationCard = ({
13271
13314
  // src/components/TransactionToReviewCard/TransactionToReviewCard.tsx
13272
13315
  var TransactionToReviewCard = ({
13273
13316
  onClick,
13274
- currentMonthOnly = true
13317
+ usePnlDateRange
13275
13318
  }) => {
13276
- const [loaded, setLoaded] = (0, import_react144.useState)("initiated");
13277
13319
  const {
13278
13320
  data,
13279
13321
  isLoading,
13322
+ loadingStatus,
13280
13323
  error,
13281
13324
  refetch,
13282
13325
  activate: activateBankTransactions
13283
- } = useBankTransactions();
13326
+ } = useBankTransactionsContext();
13327
+ const { dateRange: contextDateRange } = (0, import_react144.useContext)(ProfitAndLoss.Context);
13328
+ const dateRange = usePnlDateRange ? contextDateRange : void 0;
13284
13329
  (0, import_react144.useEffect)(() => {
13285
13330
  activateBankTransactions();
13286
13331
  }, []);
13287
- (0, import_react144.useEffect)(() => {
13288
- if (!isLoading && data && data?.length > 0) {
13289
- setLoaded("complete");
13290
- return;
13291
- }
13292
- if (isLoading && loaded === "initiated") {
13293
- setLoaded("loading");
13294
- return;
13295
- }
13296
- if (!isLoading && loaded !== "initiated") {
13297
- setLoaded("complete");
13298
- return;
13299
- }
13300
- }, [isLoading]);
13301
13332
  const toReview = (0, import_react144.useMemo)(
13302
- () => countTransactionsToReview({ transactions: data, currentMonthOnly }),
13303
- [data, isLoading]
13333
+ () => countTransactionsToReview({ transactions: data, dateRange }),
13334
+ [data, isLoading, dateRange]
13304
13335
  );
13305
13336
  return /* @__PURE__ */ import_react144.default.createElement(
13306
13337
  NotificationCard,
@@ -13309,21 +13340,18 @@ var TransactionToReviewCard = ({
13309
13340
  onClick: () => onClick && onClick()
13310
13341
  },
13311
13342
  /* @__PURE__ */ import_react144.default.createElement(Text, { size: "sm" /* sm */ }, "Transactions to review"),
13312
- loaded === "initiated" || loaded === "loading" ? /* @__PURE__ */ import_react144.default.createElement(BadgeLoader, null) : null,
13313
- loaded === "complete" && error ? /* @__PURE__ */ import_react144.default.createElement(
13343
+ loadingStatus === "initial" || loadingStatus === "loading" ? /* @__PURE__ */ import_react144.default.createElement(BadgeLoader, null) : null,
13344
+ loadingStatus === "complete" && error ? /* @__PURE__ */ import_react144.default.createElement(
13314
13345
  Badge,
13315
13346
  {
13316
13347
  variant: "error" /* ERROR */,
13317
13348
  size: "small" /* SMALL */,
13318
13349
  icon: /* @__PURE__ */ import_react144.default.createElement(RefreshCcw_default, { size: 12 }),
13319
- onClick: () => {
13320
- setLoaded("loading");
13321
- refetch();
13322
- }
13350
+ onClick: () => refetch()
13323
13351
  },
13324
13352
  "Refresh"
13325
13353
  ) : null,
13326
- loaded === "complete" && !error && toReview > 0 ? /* @__PURE__ */ import_react144.default.createElement(
13354
+ loadingStatus === "complete" && !error && toReview > 0 ? /* @__PURE__ */ import_react144.default.createElement(
13327
13355
  Badge,
13328
13356
  {
13329
13357
  variant: "warning" /* WARNING */,
@@ -13333,7 +13361,7 @@ var TransactionToReviewCard = ({
13333
13361
  toReview,
13334
13362
  " pending"
13335
13363
  ) : null,
13336
- loaded === "complete" && !error && toReview === 0 ? /* @__PURE__ */ import_react144.default.createElement(
13364
+ loadingStatus === "complete" && !error && toReview === 0 ? /* @__PURE__ */ import_react144.default.createElement(
13337
13365
  Badge,
13338
13366
  {
13339
13367
  variant: "success" /* SUCCESS */,
@@ -13374,7 +13402,13 @@ var AccountingOverview = ({
13374
13402
  {
13375
13403
  onTransactionsToReviewClick
13376
13404
  }
13377
- ), /* @__PURE__ */ import_react147.default.createElement("div", { className: "Layer__accounting-overview__summaries-row" }, /* @__PURE__ */ import_react147.default.createElement(ProfitAndLoss.Summaries, { actionable: false }), /* @__PURE__ */ import_react147.default.createElement(TransactionToReviewCard, { onClick: onTransactionsToReviewClick })), /* @__PURE__ */ import_react147.default.createElement(
13405
+ ), /* @__PURE__ */ import_react147.default.createElement("div", { className: "Layer__accounting-overview__summaries-row" }, /* @__PURE__ */ import_react147.default.createElement(ProfitAndLoss.Summaries, { actionable: false }), /* @__PURE__ */ import_react147.default.createElement(
13406
+ TransactionToReviewCard,
13407
+ {
13408
+ usePnlDateRange: true,
13409
+ onClick: onTransactionsToReviewClick
13410
+ }
13411
+ )), /* @__PURE__ */ import_react147.default.createElement(
13378
13412
  Container,
13379
13413
  {
13380
13414
  name: "accounting-overview-profit-and-loss",
@@ -13427,6 +13461,8 @@ var BankTransactionsWithLinkedAccounts = ({
13427
13461
  title = "Bank transactions",
13428
13462
  elevatedLinkedAccounts = true,
13429
13463
  showLedgerBalance = true,
13464
+ showUnlinkItem = false,
13465
+ showBreakConnection = false,
13430
13466
  showDescriptions,
13431
13467
  showReceiptUploads,
13432
13468
  mobileComponent
@@ -13435,7 +13471,9 @@ var BankTransactionsWithLinkedAccounts = ({
13435
13471
  LinkedAccounts,
13436
13472
  {
13437
13473
  elevated: elevatedLinkedAccounts,
13438
- showLedgerBalance
13474
+ showLedgerBalance,
13475
+ showUnlinkItem,
13476
+ showBreakConnection
13439
13477
  }
13440
13478
  ), /* @__PURE__ */ import_react148.default.createElement(
13441
13479
  BankTransactions,