@layerfi/components 0.1.128-alpha.2 → 0.1.129-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.
@@ -1,4 +1,4 @@
1
- import React, { Children, Component, Fragment, cloneElement, createContext, createElement, forwardRef, isValidElement, memo, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
1
+ import { Children, Component, Fragment, cloneElement, createContext, createElement, forwardRef, isValidElement, memo, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
2
2
  import { createStore, useStore } from "zustand";
3
3
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
4
4
  import { usePlaidLink } from "react-plaid-link";
@@ -194,7 +194,7 @@ const getIntlLocale = (locale) => {
194
194
  return isSupportedLocale(locale) ? locale : DEFAULT_LOCALE;
195
195
  };
196
196
  const name = "@layerfi/components";
197
- const version = "0.1.128-alpha.2";
197
+ const version = "0.1.129-alpha";
198
198
  const description = "Layer React Components";
199
199
  const main = "dist/cjs/index.cjs";
200
200
  const module = "dist/esm/index.mjs";
@@ -365,13 +365,15 @@ var getCustomHeaders = () => ({
365
365
  "Layer-Locale": _locale,
366
366
  "Layer-React-Version": package_default.version
367
367
  });
368
- const get = (url) => (baseUrl, accessToken, options) => () => fetch(`${baseUrl}${url((options === null || options === void 0 ? void 0 : options.params) || {})}`, {
369
- headers: _objectSpread2({
370
- "Authorization": "Bearer " + (accessToken || ""),
371
- "Content-Type": "application/json"
372
- }, getCustomHeaders()),
373
- method: "GET"
374
- }).then((res) => handleResponse(res)).catch((error$38) => handleException(error$38));
368
+ const get = (url) => (baseUrl, accessToken, options) => () => {
369
+ return fetch(`${baseUrl}${url((options === null || options === void 0 ? void 0 : options.params) || {})}`, {
370
+ headers: _objectSpread2({
371
+ "Authorization": "Bearer " + (accessToken || ""),
372
+ "Content-Type": "application/json"
373
+ }, getCustomHeaders()),
374
+ method: "GET"
375
+ }).then((res) => handleResponse(res)).catch((error$38) => handleException(error$38));
376
+ };
375
377
  const getText = (url) => (baseUrl, accessToken, options) => () => fetch(`${baseUrl}${url((options === null || options === void 0 ? void 0 : options.params) || {})}`, {
376
378
  headers: _objectSpread2({ Authorization: "Bearer " + (accessToken || "") }, getCustomHeaders()),
377
379
  method: "GET"
@@ -902,13 +904,13 @@ var bookkeeping_default$1 = {
902
904
  var callBookings_default$1 = {
903
905
  action: {
904
906
  "add_calendar": "Add to Calendar",
905
- "book_call": "Book a call",
907
+ "book_call": "Schedule Call",
906
908
  "download_ics_file": "Download .ics file",
907
909
  "join_call": "Join call"
908
910
  },
909
911
  label: {
910
912
  "ad_hoc_call": "Ad hoc call",
911
- "book_call_with_bookkeeper": "Book a call with your bookkeeper",
913
+ "book_call_with_bookkeeper": "Schedule an onboarding call with your bookkeeper",
912
914
  "google_calendar": "Google Calendar",
913
915
  "meet_bookkeeping_team": "Meet with our bookkeeping team",
914
916
  "on_this_call_well": "On this call, we'll",
@@ -1065,6 +1067,7 @@ var common_default$1 = {
1065
1067
  "categorize": "Categorize",
1066
1068
  "clear_selected_items": "Clear selected items",
1067
1069
  "close_label": "Close",
1070
+ "collapse_all": "Collapse All",
1068
1071
  "confirm_label": "Confirm",
1069
1072
  "connect_label": "Connect",
1070
1073
  "continue_label": "Continue",
@@ -1075,6 +1078,7 @@ var common_default$1 = {
1075
1078
  "download_label": "Download",
1076
1079
  "edit_details": "Edit details",
1077
1080
  "edit_label": "Edit",
1081
+ "expand_all": "Expand All",
1078
1082
  "link_label": "Link",
1079
1083
  "manage_label": "Manage",
1080
1084
  "post_label": "Post",
@@ -1083,6 +1087,7 @@ var common_default$1 = {
1083
1087
  "refresh_label": "Refresh",
1084
1088
  "retry_label": "Retry",
1085
1089
  "save_label": "Save",
1090
+ "search_label": "Search",
1086
1091
  "select_a_project": "Select a project...",
1087
1092
  "select_label": "Select...",
1088
1093
  "show_archived": "Show archived",
@@ -1138,6 +1143,7 @@ var common_default$1 = {
1138
1143
  "equities": "Equities",
1139
1144
  "expenses": "Expenses",
1140
1145
  "gross_profit": "Gross Profit",
1146
+ "hide_details": "Hide details",
1141
1147
  "id": "Id",
1142
1148
  "keep_editing": "Keep editing",
1143
1149
  "liabilities": "Liabilities",
@@ -1164,6 +1170,7 @@ var common_default$1 = {
1164
1170
  "row": "Row",
1165
1171
  "savings": "Savings",
1166
1172
  "select_all": "Select all",
1173
+ "show_details": "Show details",
1167
1174
  "source": "Source",
1168
1175
  "status": "Status",
1169
1176
  "tax_estimates": "Tax estimates",
@@ -1195,7 +1202,6 @@ var common_default$1 = {
1195
1202
  "saved": "Saved",
1196
1203
  "saving": "Saving...",
1197
1204
  "syncing": "Syncing...",
1198
- "unknown": "Unknown",
1199
1205
  "unreviewed": "Unreviewed",
1200
1206
  "unsaved": "Unsaved",
1201
1207
  "updated": "Updated",
@@ -1658,10 +1664,9 @@ var overview_default$1 = {
1658
1664
  };
1659
1665
  var reports_default$1 = {
1660
1666
  action: {
1661
- "collapse_all": "Collapse All",
1662
1667
  "collapse_rows": "Collapse all rows",
1663
- "expand_all": "Expand All",
1664
- "expand_rows": "Expand all rows"
1668
+ "expand_rows": "Expand all rows",
1669
+ "search_reports": "Search reports"
1665
1670
  },
1666
1671
  empty: {
1667
1672
  "no_detail_lines_found": "No detail lines found",
@@ -1683,6 +1688,7 @@ var reports_default$1 = {
1683
1688
  "balance_sheet": "Balance Sheet",
1684
1689
  "cash_beginning_of_period": "Cash at Beginning of Period",
1685
1690
  "cash_end_of_period": "Cash at End of Period",
1691
+ "cash_flow_statement": "Cash Flow Statement",
1686
1692
  "compare": "Compare by",
1687
1693
  "cost_goods_sold": "Cost of Goods Sold",
1688
1694
  "financing_activities": "Financing Activities",
@@ -1701,7 +1707,7 @@ var reports_default$1 = {
1701
1707
  "report_type": "Report type",
1702
1708
  "reports": "Reports",
1703
1709
  "reports_navigation": "Reports navigation",
1704
- "statement_cash_flow": "Statement of Cash Flow",
1710
+ "select_report": "Select report",
1705
1711
  "total_display_name": "Total of {{displayName}}"
1706
1712
  }
1707
1713
  };
@@ -1752,6 +1758,8 @@ var taxEstimates_default$1 = {
1752
1758
  "content": "The Tax Estimates tool and related content are for informational purposes only, and are not intended as legal, accounting, or tax advice, or a substitute for professional counsel. We are not a financial planner or tax advisor, and users assume sole responsibility for their tax obligations, accuracy of data, and compliance with laws. All calculations are estimated and may contain errors, and are based only on the information you provide to us."
1753
1759
  },
1754
1760
  empty: {
1761
+ "no_tax_details": "No tax details",
1762
+ "no_tax_details_description": "No tax details found",
1755
1763
  "no_tax_payments_to_display": "There are no tax payments to display.",
1756
1764
  "tax_payments": "No tax payments found"
1757
1765
  },
@@ -1759,11 +1767,13 @@ var taxEstimates_default$1 = {
1759
1767
  "disclaimer_required": "You must acknowledge the disclaimer to continue.",
1760
1768
  "feature_not_enabled": "Tax estimates are not enabled.",
1761
1769
  "load_tax_deadlines": "We couldn't load your tax deadlines",
1770
+ "load_tax_details": "We couldn't load your tax details",
1762
1771
  "load_tax_estimates": "We couldn't load your tax estimates",
1763
1772
  "load_tax_estimates_summary": "We couldn't load your tax summary",
1764
1773
  "load_tax_information": "Unable to load tax information",
1765
1774
  "load_tax_payments": "We couldnʼt load your tax payments",
1766
1775
  "retrieve_tax_profile": "We couldn’t retrieve your tax profile. Please check your connection and try again.",
1776
+ "while_loading_tax_details": "An error occurred while loading your tax details. Please check your connection and try again.",
1767
1777
  "while_loading_tax_estimates": "An error occurred while loading your tax estimates. Please check your connection and try again.",
1768
1778
  "while_loading_tax_payments": "An error occurred while loading your tax payments. Please check your connection and try again.",
1769
1779
  "while_loading_tax_summary": "An error occurred while loading your tax summary. Please check your connection and try again."
@@ -1774,7 +1784,6 @@ var taxEstimates_default$1 = {
1774
1784
  "adjusted_gross_income": "Adjusted Gross Income",
1775
1785
  "amount_applied_federal_w2": "Amount Applied from Federal W-2 Withholding",
1776
1786
  "amount_applied_state_withholding": "Amount Applied from State Withholding",
1777
- "annual_income_taxes": "Annual income taxes",
1778
1787
  "annual_taxes": "Annual taxes",
1779
1788
  "annual_w2_income": "Annual W-2 income",
1780
1789
  "business_income": "Business Income",
@@ -1782,15 +1791,14 @@ var taxEstimates_default$1 = {
1782
1791
  "business_income_taxes": "Business Income Taxes",
1783
1792
  "business_income_taxes_projected": "Projected Business Income Taxes",
1784
1793
  "calculated_from_categorized_transactions": "Calculated based on your categorized transactions and tracked mileage",
1794
+ "categorization_incomplete": "Categorization incomplete",
1785
1795
  "deductible_expenses": "Deductible Expenses",
1786
1796
  "deductible_mileage_expenses": "Deductible Mileage Expenses",
1787
1797
  "deductions": "Deductions",
1788
- "categorization_incomplete": "Categorization Incomplete",
1789
1798
  "due": "Due",
1790
1799
  "due_with_date": "Due: {{date}}",
1791
1800
  "enter_amount": "Enter amount",
1792
1801
  "enter_area": "Enter area",
1793
- "estimated_tax": "Estimated tax",
1794
1802
  "estimated_taxes": "Estimated taxes",
1795
1803
  "estimates": "Estimates",
1796
1804
  "federal": "Federal",
@@ -1817,17 +1825,17 @@ var taxEstimates_default$1 = {
1817
1825
  "overtime_income": "Overtime income",
1818
1826
  "owed_quarter": "Owed This Quarter",
1819
1827
  "paid": "Paid",
1820
- "past_payment_due": "Past Payment Due",
1828
+ "payment_past_due": "Payment past due",
1821
1829
  "payments": "Payments",
1822
1830
  "q1": "Q1",
1823
1831
  "q2": "Q2",
1824
1832
  "q3": "Q3",
1825
1833
  "q4": "Q4",
1826
- "quarter_taxes": "{{quarterLabel}} taxes",
1827
1834
  "qualified_overtime_deduction": "Qualified Overtime Deduction",
1828
1835
  "qualified_tip_deduction": "Qualified Tip Deduction",
1829
1836
  "qualifying_widow_er": "Qualifying widow(er)",
1830
1837
  "quarter": "Quarter",
1838
+ "quarter_taxes": "{{quarterLabel}} taxes",
1831
1839
  "remaining_balance": "Remaining Balance",
1832
1840
  "rolled_over_from_previous_quarter": "Rolled Over From Previous Quarter",
1833
1841
  "self_employment_deduction": "Self-Employment Deduction",
@@ -1845,6 +1853,9 @@ var taxEstimates_default$1 = {
1845
1853
  "tax_information": "State Tax Information",
1846
1854
  "tax_name_estimate_owed": "{{taxName}} Estimate (Owed)",
1847
1855
  "tax_name_rate": "{{taxName}} Rate",
1856
+ "tax_details": "Tax Details",
1857
+ "tax_details_amount": "Amount",
1858
+ "tax_details_label": "Label",
1848
1859
  "tax_payments": "Tax Payments",
1849
1860
  "tax_payments_projected": "Projected Tax Payments",
1850
1861
  "tax_profile": "Tax Profile",
@@ -1864,21 +1875,19 @@ var taxEstimates_default$1 = {
1864
1875
  "taxes_by_state_name": "State Taxes ({{stateName}})",
1865
1876
  "taxes_by_state_name_projected": "Projected State Taxes ({{stateName}})",
1866
1877
  "taxes_due": "Taxes Due",
1878
+ "taxes_due_at": "Taxes due on {{date}}",
1867
1879
  "taxes_owed": "Taxes Owed",
1868
1880
  "taxes_owed_projected": "Projected Taxes Owed",
1869
1881
  "taxes_paid": "Taxes Paid",
1870
1882
  "tip_income": "Tip income",
1871
- "uncategorized_tax_payment": "Uncategorized Tax Payment",
1872
- "uncategorized_transactions": "{{count}} uncategorized transactions",
1883
+ "total_deductions": "Total Deductions",
1884
+ "total_federal_tax_estimate": "Total Federal Tax Estimate",
1885
+ "total_paid": "Total Paid",
1886
+ "total_state_tax_estimate": "Total State Tax Estimate",
1873
1887
  "uncategorized_transactions_one": "{{count}} uncategorized transaction",
1874
1888
  "uncategorized_transactions_other": "{{count}} uncategorized transactions",
1875
- "uncategorized_transactions_with_year": "{{count}} uncategorized transactions ({{year}})",
1876
1889
  "uncategorized_transactions_with_year_one": "{{count}} uncategorized transaction ({{year}})",
1877
1890
  "uncategorized_transactions_with_year_other": "{{count}} uncategorized transactions ({{year}})",
1878
- "total_income": "Total income",
1879
- "total_federal_tax_estimate": "Total Federal Tax Estimate",
1880
- "total_paid": "Total Paid",
1881
- "total_state_tax_estimate": "Total State Tax Estimate",
1882
1891
  "use_custom_withholding": "Use custom withholding?",
1883
1892
  "use_simplified_home_office": "Use simplified home office deduction?",
1884
1893
  "use_standard_mileage_deduction": "Use standard mileage deduction?",
@@ -2349,7 +2358,6 @@ var bookkeeping_default = {
2349
2358
  "bookkeeping_tasks": "Tâches de tenue de livres",
2350
2359
  "complete_bookkeeping_onboarding_call": "Une fois votre appel d’intégration à la tenue de livres terminé, vos tâches de tenue de livres s’afficheront ici.",
2351
2360
  "completed_over_total_done_one": "<completed>{{displayCompletedTaskCount}}</completed>/{{displayTotalTaskCount}} terminée",
2352
- "completed_over_total_done_many": "",
2353
2361
  "completed_over_total_done_other": "<completed>{{displayCompletedTaskCount}}</completed>/{{displayTotalTaskCount}} terminées",
2354
2362
  "count_open_tasks_one": "{{displayCount}} tâche ouverte en {{displayYear}}",
2355
2363
  "count_open_tasks_other": "{{displayCount}} tâches ouvertes en {{displayYear}}",
@@ -2392,21 +2400,21 @@ var callBookings_default = {
2392
2400
  "book_call_with_bookkeeper": "Réservez un appel avec votre teneur de livres",
2393
2401
  "google_calendar": "Google Calendar",
2394
2402
  "meet_bookkeeping_team": "Rencontrez notre équipe de tenue de livres",
2395
- "on_this_call_well": "",
2403
+ "on_this_call_well": "Lors de cet appel, nous allons",
2396
2404
  "onboarding_call": "Appel d’intégration",
2397
- "onboarding_cover_bookkeeping_process": "",
2398
- "onboarding_cover_connect_bank_and_cards": "",
2399
- "onboarding_cover_introduce_bookkeeper": "",
2405
+ "onboarding_cover_bookkeeping_process": "Découvrez notre processus de tenue de livres",
2406
+ "onboarding_cover_connect_bank_and_cards": "Connectez vos comptes bancaires d’entreprise et vos cartes de crédit",
2407
+ "onboarding_cover_introduce_bookkeeper": "Présentez votre teneur de livres",
2400
2408
  "outlook_calendar": "Outlook Calendar",
2401
2409
  "yahoo_calendar": "Yahoo Calendar"
2402
2410
  },
2403
- prompt: { "ready_to_get_started": "" },
2411
+ prompt: { "ready_to_get_started": "Prêt à commencer?" },
2404
2412
  state: {
2405
- "call_in_count_days_one": "",
2406
- "call_in_count_days_other": "",
2407
- "call_in_count_hours_one": "",
2408
- "call_in_count_hours_other": "",
2409
- "starting_soon": ""
2413
+ "call_in_count_days_one": "dans {{displayCount}}\xA0jour",
2414
+ "call_in_count_days_other": "dans {{displayCount}}\xA0jours",
2415
+ "call_in_count_hours_one": "dans {{displayCount}}\xA0heure",
2416
+ "call_in_count_hours_other": "dans {{displayCount}}\xA0heures",
2417
+ "starting_soon": "commence bientôt"
2410
2418
  }
2411
2419
  };
2412
2420
  var categorizationRules_default = {
@@ -2546,6 +2554,7 @@ var common_default = {
2546
2554
  "categorize": "Catégoriser",
2547
2555
  "clear_selected_items": "Effacer les éléments sélectionnés",
2548
2556
  "close_label": "Fermer",
2557
+ "collapse_all": "Réduire tout",
2549
2558
  "confirm_label": "Confirmer",
2550
2559
  "connect_label": "Connecter",
2551
2560
  "continue_label": "Continuer",
@@ -2556,6 +2565,7 @@ var common_default = {
2556
2565
  "download_label": "Télécharger",
2557
2566
  "edit_details": "Modifier les détails",
2558
2567
  "edit_label": "Modifier",
2568
+ "expand_all": "Développer tout",
2559
2569
  "link_label": "Lier",
2560
2570
  "manage_label": "Gérer",
2561
2571
  "post_label": "Comptabiliser",
@@ -2564,12 +2574,13 @@ var common_default = {
2564
2574
  "refresh_label": "Actualiser",
2565
2575
  "retry_label": "Réessayer",
2566
2576
  "save_label": "Enregistrer",
2577
+ "search_label": "Rechercher",
2567
2578
  "select_a_project": "Sélectionner un projet...",
2568
2579
  "select_label": "Sélectionner...",
2569
2580
  "show_archived": "Afficher les éléments archivés",
2570
2581
  "submit_label": "Soumettre",
2571
2582
  "toggle_bulk_actions": "Afficher/masquer les actions groupées",
2572
- "toggle_section": "",
2583
+ "toggle_section": "Afficher/masquer {{name}}",
2573
2584
  "uncategorize": "Retirer la catégorie",
2574
2585
  "update_label": "Mettre à jour",
2575
2586
  "upload_label": "Téléverser",
@@ -2619,10 +2630,11 @@ var common_default = {
2619
2630
  "equities": "Capitaux propres",
2620
2631
  "expenses": "Dépenses",
2621
2632
  "gross_profit": "Bénéfice brut",
2633
+ "hide_details": "",
2622
2634
  "id": "ID",
2623
2635
  "keep_editing": "Continuer à modifier",
2624
2636
  "liabilities": "Passifs",
2625
- "loading": "",
2637
+ "loading": "Chargement...",
2626
2638
  "memo": "Note",
2627
2639
  "more": "Plus",
2628
2640
  "name": "Nom",
@@ -2645,11 +2657,12 @@ var common_default = {
2645
2657
  "row": "Ligne",
2646
2658
  "savings": "Compte d’épargne",
2647
2659
  "select_all": "Tout sélectionner",
2660
+ "show_details": "",
2648
2661
  "source": "Source",
2649
2662
  "status": "Statut",
2650
2663
  "tax_estimates": "Estimations fiscales",
2651
2664
  "taxes": "Taxes",
2652
- "this_period": "",
2665
+ "this_period": "Cette période",
2653
2666
  "today": "Aujourd’hui",
2654
2667
  "total": "Total",
2655
2668
  "transaction": "Transaction",
@@ -2676,7 +2689,6 @@ var common_default = {
2676
2689
  "saved": "Enregistré",
2677
2690
  "saving": "Enregistrement...",
2678
2691
  "syncing": "Synchronisation...",
2679
- "unknown": "",
2680
2692
  "unreviewed": "Non révisé",
2681
2693
  "unsaved": "Non enregistré",
2682
2694
  "updated": "Mis à jour",
@@ -3139,10 +3151,9 @@ var overview_default = {
3139
3151
  };
3140
3152
  var reports_default = {
3141
3153
  action: {
3142
- "collapse_all": "",
3143
3154
  "collapse_rows": "Réduire toutes les lignes",
3144
- "expand_all": "",
3145
- "expand_rows": "Afficher toutes les lignes"
3155
+ "expand_rows": "Afficher toutes les lignes",
3156
+ "search_reports": "Rechercher des rapports"
3146
3157
  },
3147
3158
  empty: {
3148
3159
  "no_detail_lines_found": "Aucune ligne de détail trouvée",
@@ -3152,11 +3163,11 @@ var reports_default = {
3152
3163
  },
3153
3164
  error: {
3154
3165
  "couldnt_load_report": "Nous n’avons pas pu charger votre rapport",
3155
- "couldnt_load_reports": "",
3166
+ "couldnt_load_reports": "Impossible de charger les rapports",
3156
3167
  "load_detail_lines": "Erreur lors du chargement des lignes de détail",
3157
3168
  "load_pnl_detail_lines": "Une erreur s’est produite lors du chargement des lignes de détail de l’état des résultats",
3158
3169
  "load_report": "Une erreur s’est produite lors du chargement de votre rapport. Veuillez vérifier votre connexion et réessayer.",
3159
- "load_reports_navigation": ""
3170
+ "load_reports_navigation": "Une erreur s’est produite lors du chargement de cette navigation. Veuillez réessayer."
3160
3171
  },
3161
3172
  label: {
3162
3173
  "adjustments_net_income": "Ajustements au bénéfice net",
@@ -3164,6 +3175,7 @@ var reports_default = {
3164
3175
  "balance_sheet": "Bilan",
3165
3176
  "cash_beginning_of_period": "Trésorerie au début de la période",
3166
3177
  "cash_end_of_period": "Trésorerie à la fin de la période",
3178
+ "cash_flow_statement": "État des flux de trésorerie",
3167
3179
  "compare": "Comparer par",
3168
3180
  "cost_goods_sold": "Coût des marchandises vendues",
3169
3181
  "financing_activities": "Activités de financement",
@@ -3181,8 +3193,8 @@ var reports_default = {
3181
3193
  "report_period": "Période du rapport",
3182
3194
  "report_type": "Type de rapport",
3183
3195
  "reports": "Rapports",
3184
- "reports_navigation": "",
3185
- "statement_cash_flow": "État des flux de trésorerie",
3196
+ "reports_navigation": "Navigation des rapports",
3197
+ "select_report": "Sélectionner un rapport",
3186
3198
  "total_display_name": "Total de {{displayName}}"
3187
3199
  }
3188
3200
  };
@@ -3219,32 +3231,36 @@ var tags_default = {
3219
3231
  };
3220
3232
  var taxEstimates_default = {
3221
3233
  action: {
3222
- "review_banner": "",
3234
+ "review_banner": "Vérifier",
3223
3235
  "save_profile": "Enregistrer le profil",
3224
3236
  "update_tax_profile": "Mettre à jour le profil fiscal"
3225
3237
  },
3226
3238
  banner: { "categorization_incomplete": {
3227
- "description_one": "",
3228
- "description_other": "",
3229
- "title": ""
3239
+ "description_one": "Vous avez {{count}} transaction non catégorisée avec {{amount}} en déductions potentielles à examiner.",
3240
+ "description_other": "Vous avez {{count}} transactions non catégorisées avec {{amount}} en déductions potentielles à examiner.",
3241
+ "title": "Vos estimations fiscales sont incomplètes"
3230
3242
  } },
3231
3243
  disclaimer: {
3232
- "acknowledgment": "",
3233
- "content": ""
3244
+ "acknowledgment": "En continuant, j’atteste que je comprends ce qui précède.",
3245
+ "content": "L’outil d’estimation des impôts et le contenu connexe sont fournis à titre informatif seulement et ne constituent pas des conseils juridiques, comptables ou fiscaux, ni un substitut à l’avis d’un professionnel. Nous ne sommes pas un planificateur financier ni un conseiller fiscal, et les utilisateurs assument l’entière responsabilité de leurs obligations fiscales, de l’exactitude des données et du respect des lois. Tous les calculs sont des estimations et peuvent contenir des erreurs. Ils reposent uniquement sur les renseignements que vous nous fournissez."
3234
3246
  },
3235
3247
  empty: {
3248
+ "no_tax_details": "",
3249
+ "no_tax_details_description": "",
3236
3250
  "no_tax_payments_to_display": "Il n’y a aucun paiement d’impôt à afficher.",
3237
3251
  "tax_payments": "Aucun paiement d’impôt trouvé"
3238
3252
  },
3239
3253
  error: {
3240
3254
  "disclaimer_required": "Vous devez reconnaître l’avis de non-responsabilité pour continuer.",
3241
3255
  "feature_not_enabled": "Les estimations d'impôt ne sont pas activées.",
3242
- "load_tax_deadlines": "",
3256
+ "load_tax_deadlines": "Impossible de charger vos échéances fiscales",
3257
+ "load_tax_details": "",
3243
3258
  "load_tax_estimates": "Nous n’avons pas pu charger vos estimations fiscales",
3244
3259
  "load_tax_estimates_summary": "Nous n’avons pas pu charger votre sommaire fiscal",
3245
3260
  "load_tax_information": "Impossible de charger les renseignements fiscaux",
3246
3261
  "load_tax_payments": "Nous n’avons pas pu charger vos paiements d’impôt",
3247
3262
  "retrieve_tax_profile": "Nous n’avons pas pu récupérer votre profil fiscal. Veuillez vérifier votre connexion et réessayer.",
3263
+ "while_loading_tax_details": "",
3248
3264
  "while_loading_tax_estimates": "Une erreur s’est produite lors du chargement de vos estimations d’impôt. Veuillez vérifier votre connexion et réessayer.",
3249
3265
  "while_loading_tax_payments": "Une erreur s’est produite lors du chargement de vos paiements d’impôt. Veuillez vérifier votre connexion et réessayer.",
3250
3266
  "while_loading_tax_summary": "Une erreur s’est produite lors du chargement de votre sommaire fiscal. Veuillez vérifier votre connexion et réessayer."
@@ -3255,29 +3271,27 @@ var taxEstimates_default = {
3255
3271
  "adjusted_gross_income": "Revenu brut ajusté",
3256
3272
  "amount_applied_federal_w2": "Montant appliqué de la retenue fédérale du formulaire W-2",
3257
3273
  "amount_applied_state_withholding": "Montant appliqué de la retenue d'impôt de l'État",
3258
- "annual_income_taxes": "Impôts sur le revenu annuel",
3259
- "annual_taxes": "",
3274
+ "annual_taxes": "Impôts annuels",
3260
3275
  "annual_w2_income": "Revenu annuel indiqué sur le formulaire W-2",
3261
3276
  "business_income": "Revenu d’entreprise",
3262
3277
  "business_income_deduction_rate": "Déduction pour revenu d’entreprise ({{rate}})",
3263
3278
  "business_income_taxes": "Impôts sur le revenu d’entreprise",
3264
3279
  "business_income_taxes_projected": "Impôts projetés sur le revenu d’entreprise",
3265
3280
  "calculated_from_categorized_transactions": "Calculé en fonction de vos opérations catégorisées et de votre kilométrage suivi",
3281
+ "categorization_incomplete": "Catégorisation incomplète",
3266
3282
  "deductible_expenses": "Dépenses déductibles",
3267
3283
  "deductible_mileage_expenses": "Frais de kilométrage déductibles",
3268
3284
  "deductions": "Déductions",
3269
- "categorization_incomplete": "",
3270
- "due": "",
3271
- "due_with_date": "",
3285
+ "due": "Échéance",
3286
+ "due_with_date": "Échéance : {{date}}",
3272
3287
  "enter_amount": "Saisissez un montant",
3273
3288
  "enter_area": "Saisissez la superficie",
3274
- "estimated_tax": "",
3275
- "estimated_taxes": "",
3289
+ "estimated_taxes": "Impôts estimés",
3276
3290
  "estimates": "Estimations",
3277
- "federal": "",
3291
+ "federal": "Fédéral",
3278
3292
  "federal_deductions": "Déductions fédérales",
3279
3293
  "federal_state_tax_payments": "Paiements d’impôt fédéral et d’État pour l’année d’imposition sélectionnée",
3280
- "federal_state_tax_payments_projected": "",
3294
+ "federal_state_tax_payments_projected": "Paiements d’impôt fédéral et d’État projetés pour l’année d’imposition sélectionnée",
3281
3295
  "federal_tax": "Impôt fédéral",
3282
3296
  "federal_tax_estimate_owed": "Estimation de l’impôt fédéral (à payer)",
3283
3297
  "federal_tax_information": "Renseignements sur l’impôt fédéral",
@@ -3297,25 +3311,25 @@ var taxEstimates_default = {
3297
3311
  "medicare_tax_rate": "Taux de la taxe Medicare",
3298
3312
  "overtime_income": "Revenu d’heures supplémentaires",
3299
3313
  "owed_quarter": "À payer ce trimestre",
3300
- "paid": "",
3301
- "past_payment_due": "",
3314
+ "paid": "Payé",
3315
+ "payment_past_due": "Paiement en retard",
3302
3316
  "payments": "Paiements",
3303
- "q1": "",
3304
- "q2": "",
3305
- "q3": "",
3306
- "q4": "",
3307
- "quarter_taxes": "",
3317
+ "q1": "T1",
3318
+ "q2": "T2",
3319
+ "q3": "T3",
3320
+ "q4": "T4",
3308
3321
  "qualified_overtime_deduction": "Déduction admissible pour heures supplémentaires",
3309
3322
  "qualified_tip_deduction": "Déduction admissible pour pourboires",
3310
3323
  "qualifying_widow_er": "Veuf(ve) admissible",
3311
3324
  "quarter": "Trimestre",
3325
+ "quarter_taxes": "Impôts du {{quarterLabel}}",
3312
3326
  "remaining_balance": "Solde restant",
3313
3327
  "rolled_over_from_previous_quarter": "Reporté du trimestre précédent",
3314
3328
  "self_employment_deduction": "Déduction pour travail autonome",
3315
3329
  "single": "Célibataire",
3316
3330
  "social_security_tax_estimate_owed": "Estimation de la taxe de sécurité sociale (à payer)",
3317
3331
  "social_security_tax_rate": "Taux de la taxe de sécurité sociale",
3318
- "state": "",
3332
+ "state": "État",
3319
3333
  "state_adjusted_gross_income": "Revenu brut ajusté de l’État",
3320
3334
  "state_deductions": "Déductions d’État",
3321
3335
  "state_income_tax_estimate_owed": "Estimation de l’impôt sur le revenu de l’État (à payer)",
@@ -3326,46 +3340,48 @@ var taxEstimates_default = {
3326
3340
  "tax_information": "Renseignements sur l'impôt d'État",
3327
3341
  "tax_name_estimate_owed": "Estimation de {{taxName}} (à payer)",
3328
3342
  "tax_name_rate": "Taux de {{taxName}}",
3343
+ "tax_details": "",
3344
+ "tax_details_amount": "",
3345
+ "tax_details_label": "",
3329
3346
  "tax_payments": "Paiements d’impôt",
3330
- "tax_payments_projected": "",
3347
+ "tax_payments_projected": "Paiements d’impôt projetés",
3331
3348
  "tax_profile": "Profil fiscal",
3332
3349
  "tax_profile_saved": "Profil fiscal enregistré",
3333
- "tax_summary": "",
3350
+ "tax_summary": "Sommaire fiscal",
3334
3351
  "taxable_amount_tax_name": "Montant imposable pour {{taxName}}",
3335
3352
  "taxable_business_income": "Revenu d’entreprise imposable",
3336
3353
  "taxable_business_income_projected": "Revenu d’entreprise imposable projeté",
3337
3354
  "taxable_income": "Revenu imposable",
3338
- "taxable_income_estimate_to_date_for_year": "",
3339
- "taxable_income_estimate_to_date_for_year_projected": "",
3340
- "taxable_income_for_year": "",
3341
- "taxable_income_for_year_projected": "",
3355
+ "taxable_income_estimate_to_date_for_year": "Estimation du revenu imposable à ce jour pour l’année {{year}}",
3356
+ "taxable_income_estimate_to_date_for_year_projected": "Projection du revenu imposable pour l’année {{year}}",
3357
+ "taxable_income_for_year": "Revenu imposable pour {{year}}",
3358
+ "taxable_income_for_year_projected": "Revenu imposable projeté pour {{year}}",
3342
3359
  "taxable_medicare_income": "Revenu Medicare imposable",
3343
3360
  "taxable_medicare_surtax_income": "Revenu imposable pour la surtaxe Medicare",
3344
3361
  "taxable_social_security_income": "Revenu imposable de la Sécurité Sociale",
3345
3362
  "taxes_by_state_name": "Impôts d’État ({{stateName}})",
3346
3363
  "taxes_by_state_name_projected": "Impôts d’État projetés ({{stateName}})",
3347
3364
  "taxes_due": "Impôts à payer",
3365
+ "taxes_due_at": "",
3348
3366
  "taxes_owed": "Impôts dus",
3349
3367
  "taxes_owed_projected": "Impôts dus projetés",
3350
3368
  "taxes_paid": "Impôts payés",
3351
3369
  "tip_income": "Revenu de pourboires",
3352
- "uncategorized_tax_payment": "",
3353
- "uncategorized_transactions": "",
3354
- "uncategorized_transactions_one": "",
3355
- "uncategorized_transactions_other": "",
3356
- "uncategorized_transactions_with_year_one": "{{count}} transaction non catégorisée ({{year}})",
3357
- "uncategorized_transactions_with_year_other": "{{count}} transactions non catégorisées ({{year}})",
3358
- "total_income": "",
3370
+ "total_deductions": "",
3359
3371
  "total_federal_tax_estimate": "Estimation totale de l’impôt fédéral",
3360
3372
  "total_paid": "Total payé",
3361
3373
  "total_state_tax_estimate": "Estimation totale de l’impôt d’État",
3374
+ "uncategorized_transactions_one": "{{count}} transaction non catégorisée",
3375
+ "uncategorized_transactions_other": "{{count}} transactions non catégorisées",
3376
+ "uncategorized_transactions_with_year_one": "{{count}} transaction non catégorisée ({{year}})",
3377
+ "uncategorized_transactions_with_year_other": "{{count}} transactions non catégorisées ({{year}})",
3362
3378
  "use_custom_withholding": "Utiliser une retenue personnalisée?",
3363
3379
  "use_simplified_home_office": "Utiliser la déduction simplifiée pour bureau à domicile?",
3364
3380
  "use_standard_mileage_deduction": "Utiliser la déduction forfaitaire kilométrique?",
3365
3381
  "w2_income": "Revenu W-2",
3366
3382
  "withholding_amount": "Montant de la retenue",
3367
3383
  "year_to_date": "Cumul annuel",
3368
- "your_tax_deadlines": ""
3384
+ "your_tax_deadlines": "Vos échéances fiscales"
3369
3385
  }
3370
3386
  };
3371
3387
  var timeTracking_default = {
@@ -3383,14 +3399,14 @@ var timeTracking_default = {
3383
3399
  empty: {
3384
3400
  "add_first_entry": "Ajoutez votre première entrée de temps pour commencer le suivi.",
3385
3401
  "no_entries_yet": "Aucune entrée de temps pour le moment",
3386
- "no_matching_entries": "",
3387
- "try_adjusting_filters": ""
3402
+ "no_matching_entries": "Aucune entrée de temps trouvée",
3403
+ "try_adjusting_filters": "Essayez de modifier vos filtres."
3388
3404
  },
3389
3405
  error: {
3390
3406
  "archive_service": "Impossible d'archiver ce service. Veuillez réessayer.",
3391
3407
  "cancel_timer": "Impossible d'annuler le minuteur. Veuillez réessayer.",
3392
3408
  "complete_timer": "Impossible de terminer le minuteur. Veuillez réessayer.",
3393
- "complete_timer_stale": "",
3409
+ "complete_timer_stale": "Cette minuterie a déjà été terminée ou annulée. Rechargez la page.",
3394
3410
  "create_service": "Impossible de créer le service. Veuillez réessayer.",
3395
3411
  "delete_entry": "Impossible de supprimer l'entrée de temps. Veuillez vérifier votre connexion et réessayer.",
3396
3412
  "load_active_timer": "Impossible de charger le minuteur actif. Veuillez vérifier votre connexion et réessayer.",
@@ -3399,7 +3415,7 @@ var timeTracking_default = {
3399
3415
  "load_services": "Impossible de charger les services.",
3400
3416
  "load_summary": "Impossible de charger le sommaire du suivi du temps",
3401
3417
  "start_timer": "Impossible de démarrer le minuteur. Veuillez réessayer.",
3402
- "start_timer_already_active": "",
3418
+ "start_timer_already_active": "Une minuterie est déjà en cours. Veuillez recharger la page.",
3403
3419
  "unarchive_service": "Impossible de restaurer ce service. Veuillez réessayer.",
3404
3420
  "update_service": "Impossible d'enregistrer ce service. Veuillez réessayer.",
3405
3421
  "update_timer": "Impossible de mettre à jour le minuteur. Veuillez réessayer."
@@ -3407,11 +3423,11 @@ var timeTracking_default = {
3407
3423
  label: {
3408
3424
  "active": "Actif",
3409
3425
  "add_memo": "Ajouter une note",
3410
- "additional_time_tracking_actions": "",
3426
+ "additional_time_tracking_actions": "Actions supplémentaires de suivi du temps",
3411
3427
  "all_customers": "Tous les clients",
3412
3428
  "all_services": "Tous les services",
3413
3429
  "customer": "Client",
3414
- "customer_optional": "",
3430
+ "customer_optional": "Client (facultatif)",
3415
3431
  "delete_entry_warning": "Cette entrée de temps sera définitivement supprimée. Cette action ne peut pas être annulée.",
3416
3432
  "discard_timer_warning": "Le minuteur actif sera annulé et aucune entrée de temps ne sera enregistrée.",
3417
3433
  "duration": "Durée",
@@ -3420,18 +3436,18 @@ var timeTracking_default = {
3420
3436
  "entry_date": "Date de l'entrée",
3421
3437
  "entry_details": "Détails de l'entrée de temps",
3422
3438
  "invoiced": "Facturé",
3423
- "less_than_one_minute": "",
3439
+ "less_than_one_minute": "< 1 min",
3424
3440
  "memo": "Note",
3425
- "no_activity_breakdown": "",
3441
+ "no_activity_breakdown": "Aucune activité pendant cette période",
3426
3442
  "no_services": "Aucun service disponible",
3427
3443
  "other": "Autre",
3428
3444
  "select_customer": "Sélectionner un client (facultatif)",
3429
- "select_customer_short": "",
3445
+ "select_customer_short": "Sélectionner un client",
3430
3446
  "select_service": "Sélectionner un service",
3431
3447
  "service": "Service",
3432
3448
  "time_entries": "Entrées de temps",
3433
- "time_tracking": "",
3434
- "zero_minutes": ""
3449
+ "time_tracking": "Suivi du temps",
3450
+ "zero_minutes": "0\xA0min"
3435
3451
  },
3436
3452
  prompt: {
3437
3453
  "delete_entry": "Supprimer cette entrée de temps?",
@@ -3444,13 +3460,13 @@ var timeTracking_default = {
3444
3460
  "archive_confirm_description": "Ce service sera retiré de votre liste active. Les entrées de temps qui l'utilisaient ne sont pas modifiées.",
3445
3461
  "archive_confirm_title": "Archiver ce service?",
3446
3462
  "archived": "Archivés",
3447
- "archived_service": "",
3463
+ "archived_service": "{{name}} (archivé)",
3448
3464
  "cancel": "Annuler",
3449
- "create_service_input_value": "",
3465
+ "create_service_input_value": "Créer le service \"{{inputValue}}\"",
3450
3466
  "hourly_rate_optional": "Taux horaire par défaut (facultatif)",
3451
3467
  "no_active": "Aucun service pour le moment",
3452
3468
  "no_archived": "Aucun service archivé",
3453
- "rate_per_hour": "",
3469
+ "rate_per_hour": "{{rate}}/h",
3454
3470
  "save": "Enregistrer",
3455
3471
  "service_name": "Nom du service",
3456
3472
  "tab_group_label": "Liste des services",
@@ -3460,10 +3476,10 @@ var timeTracking_default = {
3460
3476
  "unarchive_confirm_title": "Restaurer ce service?"
3461
3477
  },
3462
3478
  validation: {
3463
- "duration_whole_minutes": "",
3479
+ "duration_whole_minutes": "La durée doit être un nombre entier de minutes supérieur à zéro.",
3464
3480
  "entry_date_not_future": "La date de l'entrée ne peut pas être dans le futur.",
3465
3481
  "entry_date_required": "La date de l'entrée est un champ obligatoire.",
3466
- "hourly_rate_positive": "",
3482
+ "hourly_rate_positive": "Le taux horaire par défaut doit être supérieur à zéro.",
3467
3483
  "service_name_required": "Le nom du service est un champ obligatoire.",
3468
3484
  "service_required": "Le service est un champ obligatoire."
3469
3485
  }
@@ -3774,11 +3790,11 @@ function _objectWithoutProperties(e, t) {
3774
3790
  }
3775
3791
  return i;
3776
3792
  }
3777
- var _excluded$117 = ["_locale"];
3793
+ var _excluded$118 = ["_locale"];
3778
3794
  var createLocalizedFetcher = (fetcher) => {
3779
3795
  if (!fetcher) return null;
3780
3796
  return (_ref, ...rest) => {
3781
- let { _locale: _locale$1 } = _ref, key = _objectWithoutProperties(_ref, _excluded$117);
3797
+ let { _locale: _locale$1 } = _ref, key = _objectWithoutProperties(_ref, _excluded$118);
3782
3798
  setLocaleHeader(_locale$1);
3783
3799
  return fetcher(key, ...rest);
3784
3800
  };
@@ -3793,7 +3809,7 @@ const useLocalizedKey = () => {
3793
3809
  return _objectSpread2(_objectSpread2({}, key), {}, { _locale: locale });
3794
3810
  };
3795
3811
  };
3796
- var _excluded$116 = ["trigger"];
3812
+ var _excluded$117 = ["trigger"];
3797
3813
  var UNLINK_BANK_ACCOUNT_TAG_KEY = "#unlink-bank-account";
3798
3814
  var unlinkBankAccount = del(({ businessId, bankAccountId }) => `/v1/businesses/${businessId}/bank-accounts/${bankAccountId}`);
3799
3815
  function buildKey$88({ access_token: accessToken, apiUrl, businessId }) {
@@ -3816,7 +3832,7 @@ function useUnlinkBankAccount() {
3816
3832
  })), ({ accessToken, apiUrl: apiUrl$1, businessId: businessId$1 }, { arg: bankAccountId }) => unlinkBankAccount(apiUrl$1, accessToken, { params: {
3817
3833
  businessId: businessId$1,
3818
3834
  bankAccountId
3819
- } }), { revalidate: false }), { trigger: rawTrigger } = _useSWRMutation, rest = _objectWithoutProperties(_useSWRMutation, _excluded$116);
3835
+ } }), { revalidate: false }), { trigger: rawTrigger } = _useSWRMutation, rest = _objectWithoutProperties(_useSWRMutation, _excluded$117);
3820
3836
  const triggerRef = useRef(rawTrigger);
3821
3837
  triggerRef.current = rawTrigger;
3822
3838
  return _objectSpread2({ trigger: useCallback((bankAccountId) => triggerRef.current(bankAccountId), []) }, rest);
@@ -5848,14 +5864,14 @@ const useBankTransactionsFilters = ({ scope, monthlyView, applyGlobalDateRange,
5848
5864
  dateFilterMode
5849
5865
  ]);
5850
5866
  };
5851
- var _excluded$115 = ["size"];
5867
+ var _excluded$116 = ["size"];
5852
5868
  var Bell = (_ref) => {
5853
5869
  let { size = 18 } = _ref;
5854
5870
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
5855
5871
  xmlns: "http://www.w3.org/2000/svg",
5856
5872
  viewBox: "0 0 18 18",
5857
5873
  fill: "none"
5858
- }, _objectWithoutProperties(_ref, _excluded$115)), {}, {
5874
+ }, _objectWithoutProperties(_ref, _excluded$116)), {}, {
5859
5875
  width: size,
5860
5876
  height: size,
5861
5877
  children: [/* @__PURE__ */ jsx("path", {
@@ -5872,14 +5888,14 @@ var Bell = (_ref) => {
5872
5888
  }));
5873
5889
  };
5874
5890
  var Bell_default = Bell;
5875
- var _excluded$114 = ["size"];
5891
+ var _excluded$115 = ["size"];
5876
5892
  var CreditCard = (_ref) => {
5877
5893
  let { size = 12 } = _ref;
5878
5894
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
5879
5895
  xmlns: "http://www.w3.org/2000/svg",
5880
5896
  viewBox: "0 0 12 12",
5881
5897
  fill: "none"
5882
- }, _objectWithoutProperties(_ref, _excluded$114)), {}, {
5898
+ }, _objectWithoutProperties(_ref, _excluded$115)), {}, {
5883
5899
  width: size,
5884
5900
  height: size,
5885
5901
  children: [/* @__PURE__ */ jsx("path", {
@@ -5896,14 +5912,14 @@ var CreditCard = (_ref) => {
5896
5912
  }));
5897
5913
  };
5898
5914
  var CreditCard_default = CreditCard;
5899
- var _excluded$113 = ["size"];
5915
+ var _excluded$114 = ["size"];
5900
5916
  var Folder = (_ref) => {
5901
5917
  let { size = 12 } = _ref;
5902
5918
  return /* @__PURE__ */ jsx("svg", _objectSpread2(_objectSpread2({
5903
5919
  xmlns: "http://www.w3.org/2000/svg",
5904
5920
  viewBox: "0 0 12 12",
5905
5921
  fill: "none"
5906
- }, _objectWithoutProperties(_ref, _excluded$113)), {}, {
5922
+ }, _objectWithoutProperties(_ref, _excluded$114)), {}, {
5907
5923
  width: size,
5908
5924
  height: size,
5909
5925
  children: /* @__PURE__ */ jsx("path", {
@@ -5915,14 +5931,14 @@ var Folder = (_ref) => {
5915
5931
  }));
5916
5932
  };
5917
5933
  var Folder_default = Folder;
5918
- var _excluded$112 = ["size"];
5934
+ var _excluded$113 = ["size"];
5919
5935
  var Link$3 = (_ref) => {
5920
5936
  let { size = 18 } = _ref;
5921
5937
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
5922
5938
  xmlns: "http://www.w3.org/2000/svg",
5923
5939
  viewBox: "0 0 18 18",
5924
5940
  fill: "none"
5925
- }, _objectWithoutProperties(_ref, _excluded$112)), {}, {
5941
+ }, _objectWithoutProperties(_ref, _excluded$113)), {}, {
5926
5942
  width: size,
5927
5943
  height: size,
5928
5944
  children: [/* @__PURE__ */ jsx("path", {
@@ -5946,14 +5962,14 @@ var PlaidIcon = () => {
5946
5962
  });
5947
5963
  };
5948
5964
  var PlaidIcon_default = PlaidIcon;
5949
- var _excluded$111 = ["size"];
5965
+ var _excluded$112 = ["size"];
5950
5966
  var Sunrise = (_ref) => {
5951
5967
  let { size = 12 } = _ref;
5952
5968
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
5953
5969
  xmlns: "http://www.w3.org/2000/svg",
5954
5970
  viewBox: "0 0 12 12",
5955
5971
  fill: "none"
5956
- }, _objectWithoutProperties(_ref, _excluded$111)), {}, {
5972
+ }, _objectWithoutProperties(_ref, _excluded$112)), {}, {
5957
5973
  width: size,
5958
5974
  height: size,
5959
5975
  children: [
@@ -6030,7 +6046,7 @@ var ChevronRight$1 = (_ref) => {
6030
6046
  }) }));
6031
6047
  };
6032
6048
  var ChevronRight_default = ChevronRight$1;
6033
- var _excluded$110 = [
6049
+ var _excluded$111 = [
6034
6050
  "className",
6035
6051
  "children",
6036
6052
  "icon",
@@ -6042,7 +6058,7 @@ var _excluded$110 = [
6042
6058
  "download"
6043
6059
  ];
6044
6060
  const IconButton = (_ref) => {
6045
- let { className, children: _children, icon, active, withBorder = false, href, target, rel, download } = _ref, props = _objectWithoutProperties(_ref, _excluded$110);
6061
+ let { className, children: _children, icon, active, withBorder = false, href, target, rel, download } = _ref, props = _objectWithoutProperties(_ref, _excluded$111);
6046
6062
  const baseClassName$1 = classNames("Layer__icon-btn", `Layer__icon-btn--${active ? "active" : "inactive"}`, withBorder && "Layer__icon-btn--border", className);
6047
6063
  if (href) return /* @__PURE__ */ jsx("a", {
6048
6064
  href,
@@ -6126,10 +6142,10 @@ const useTooltip = ({ initialOpen = false, placement = "top", open: controlledOp
6126
6142
  data
6127
6143
  ]);
6128
6144
  };
6129
- var _excluded$109 = ["children"], _excluded2$15 = ["children", "asChild"], _excluded3$6 = ["className", "width"];
6145
+ var _excluded$110 = ["children"], _excluded2$15 = ["children", "asChild"], _excluded3$6 = ["className", "width"];
6130
6146
  const DeprecatedTooltip = (_ref) => {
6131
6147
  let { children } = _ref;
6132
- const tooltip = useTooltip(_objectWithoutProperties(_ref, _excluded$109));
6148
+ const tooltip = useTooltip(_objectWithoutProperties(_ref, _excluded$110));
6133
6149
  return /* @__PURE__ */ jsx(TooltipContext.Provider, {
6134
6150
  value: tooltip,
6135
6151
  children
@@ -6167,7 +6183,7 @@ const DeprecatedTooltipContent = forwardRef(function TooltipContent$1(_ref3, pro
6167
6183
  children: props.children
6168
6184
  }) })) });
6169
6185
  });
6170
- var _excluded$108 = [
6186
+ var _excluded$109 = [
6171
6187
  "as",
6172
6188
  "className",
6173
6189
  "children",
@@ -6204,7 +6220,7 @@ let TextUseTooltip = /* @__PURE__ */ function(TextUseTooltip$1) {
6204
6220
  return TextUseTooltip$1;
6205
6221
  }({});
6206
6222
  const Text$2 = (_ref) => {
6207
- let { as: Component$1 = "p", className, children, size = TextSize.md, weight = TextWeight.normal, withDeprecatedTooltip: withTooltip, ellipsis, status, pb, invertColor } = _ref, props = _objectWithoutProperties(_ref, _excluded$108);
6223
+ let { as: Component$1 = "p", className, children, size = TextSize.md, weight = TextWeight.normal, withDeprecatedTooltip: withTooltip, ellipsis, status, pb, invertColor } = _ref, props = _objectWithoutProperties(_ref, _excluded$109);
6208
6224
  const dataProperties = toDataProperties({
6209
6225
  status,
6210
6226
  ellipsis,
@@ -6327,14 +6343,14 @@ const Badge = ({ icon, onClick, children, tooltip, size = BadgeSize.MEDIUM, vari
6327
6343
  });
6328
6344
  return content;
6329
6345
  };
6330
- var _excluded$107 = ["size"];
6346
+ var _excluded$108 = ["size"];
6331
6347
  var Loader$1 = (_ref) => {
6332
6348
  let { size = 18 } = _ref;
6333
6349
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
6334
6350
  xmlns: "http://www.w3.org/2000/svg",
6335
6351
  viewBox: "0 0 18 18",
6336
6352
  fill: "none"
6337
- }, _objectWithoutProperties(_ref, _excluded$107)), {}, {
6353
+ }, _objectWithoutProperties(_ref, _excluded$108)), {}, {
6338
6354
  width: size,
6339
6355
  height: size,
6340
6356
  children: [
@@ -6390,7 +6406,7 @@ var Loader$1 = (_ref) => {
6390
6406
  }));
6391
6407
  };
6392
6408
  var Loader_default = Loader$1;
6393
- var _excluded$106 = [
6409
+ var _excluded$107 = [
6394
6410
  "className",
6395
6411
  "children",
6396
6412
  "variant",
@@ -6410,7 +6426,7 @@ let ButtonVariant = /* @__PURE__ */ function(ButtonVariant$1) {
6410
6426
  return ButtonVariant$1;
6411
6427
  }({});
6412
6428
  const Button$2 = (_ref) => {
6413
- let { className, children, variant = ButtonVariant.primary, leftIcon, rightIcon, iconOnly, iconAsPrimary = false, justify = "center", fullWidth, isProcessing, tooltip } = _ref, props = _objectWithoutProperties(_ref, _excluded$106);
6429
+ let { className, children, variant = ButtonVariant.primary, leftIcon, rightIcon, iconOnly, iconAsPrimary = false, justify = "center", fullWidth, isProcessing, tooltip } = _ref, props = _objectWithoutProperties(_ref, _excluded$107);
6414
6430
  const buttonRef = useRef(null);
6415
6431
  let justifyContent = "center";
6416
6432
  if (justify) justifyContent = justify;
@@ -6457,14 +6473,14 @@ const Button$2 = (_ref) => {
6457
6473
  }) : content
6458
6474
  }));
6459
6475
  };
6460
- var _excluded$105 = ["size"];
6476
+ var _excluded$106 = ["size"];
6461
6477
  var AlertOctagon = (_ref) => {
6462
6478
  let { size = 18 } = _ref;
6463
6479
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
6464
6480
  viewBox: "0 0 18 18",
6465
6481
  fill: "none",
6466
6482
  xmlns: "http://www.w3.org/2000/svg"
6467
- }, _objectWithoutProperties(_ref, _excluded$105)), {}, {
6483
+ }, _objectWithoutProperties(_ref, _excluded$106)), {}, {
6468
6484
  width: size,
6469
6485
  height: size,
6470
6486
  children: [
@@ -6490,14 +6506,14 @@ var AlertOctagon = (_ref) => {
6490
6506
  }));
6491
6507
  };
6492
6508
  var AlertOctagon_default = AlertOctagon;
6493
- var _excluded$104 = ["size"];
6509
+ var _excluded$105 = ["size"];
6494
6510
  var CheckCircle$1 = (_ref) => {
6495
6511
  let { size = 18 } = _ref;
6496
6512
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
6497
6513
  viewBox: "0 0 18 18",
6498
6514
  fill: "none",
6499
6515
  xmlns: "http://www.w3.org/2000/svg"
6500
- }, _objectWithoutProperties(_ref, _excluded$104)), {}, {
6516
+ }, _objectWithoutProperties(_ref, _excluded$105)), {}, {
6501
6517
  width: size,
6502
6518
  height: size,
6503
6519
  children: [/* @__PURE__ */ jsx("path", {
@@ -6514,14 +6530,14 @@ var CheckCircle$1 = (_ref) => {
6514
6530
  }));
6515
6531
  };
6516
6532
  var CheckCircle_default = CheckCircle$1;
6517
- var _excluded$103 = ["size"];
6533
+ var _excluded$104 = ["size"];
6518
6534
  var RefreshCcw$1 = (_ref) => {
6519
6535
  let { size = 18 } = _ref;
6520
6536
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
6521
6537
  viewBox: "0 0 18 18",
6522
6538
  fill: "none",
6523
6539
  xmlns: "http://www.w3.org/2000/svg"
6524
- }, _objectWithoutProperties(_ref, _excluded$103)), {}, {
6540
+ }, _objectWithoutProperties(_ref, _excluded$104)), {}, {
6525
6541
  width: size,
6526
6542
  height: size,
6527
6543
  children: [
@@ -7109,7 +7125,7 @@ function BulkSelectionStoreProvider({ children }) {
7109
7125
  children
7110
7126
  });
7111
7127
  }
7112
- var _excluded$102 = [
7128
+ var _excluded$103 = [
7113
7129
  "align",
7114
7130
  "children",
7115
7131
  "className",
@@ -7127,7 +7143,7 @@ var _excluded$102 = [
7127
7143
  ];
7128
7144
  var CLASS_NAME$11 = "Layer__Stack";
7129
7145
  const Stack = forwardRef(function Stack$1(_ref, ref) {
7130
- let { align, children, className, direction, gap, justify, overflow, pb, pbs, pbe, pi, pis, pie, fluid } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$102);
7146
+ let { align, children, className, direction, gap, justify, overflow, pb, pbs, pbe, pi, pis, pie, fluid } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$103);
7131
7147
  const dataProperties = toDataProperties({
7132
7148
  align,
7133
7149
  direction,
@@ -7438,7 +7454,7 @@ function useSizeClass() {
7438
7454
  isDesktop: sizeClass === "desktop"
7439
7455
  };
7440
7456
  }
7441
- var _excluded$101 = ["children"], _excluded2$13 = [
7457
+ var _excluded$102 = ["children"], _excluded2$13 = [
7442
7458
  "children",
7443
7459
  "asChild",
7444
7460
  "wordBreak"
@@ -7449,7 +7465,7 @@ var _excluded$101 = ["children"], _excluded2$13 = [
7449
7465
  ];
7450
7466
  const Tooltip$1 = (_ref) => {
7451
7467
  let { children } = _ref;
7452
- const tooltip = useTooltip(_objectWithoutProperties(_ref, _excluded$101));
7468
+ const tooltip = useTooltip(_objectWithoutProperties(_ref, _excluded$102));
7453
7469
  return /* @__PURE__ */ jsx(TooltipContext.Provider, {
7454
7470
  value: tooltip,
7455
7471
  children
@@ -7521,7 +7537,7 @@ function useTruncationDetection(elementRef, options = {
7521
7537
  }, [checkTruncation]);
7522
7538
  return isTruncated;
7523
7539
  }
7524
- var _excluded$100 = [
7540
+ var _excluded$101 = [
7525
7541
  "align",
7526
7542
  "children",
7527
7543
  "ellipsis",
@@ -7536,7 +7552,7 @@ var _excluded$100 = [
7536
7552
  "weight"
7537
7553
  ];
7538
7554
  function splitTextProps(props) {
7539
- const { align, children, ellipsis, nonAria, noWrap, pb, pbe, pbs, size, status, variant, weight } = props, restProps = _objectWithoutProperties(props, _excluded$100);
7555
+ const { align, children, ellipsis, nonAria, noWrap, pb, pbe, pbs, size, status, variant, weight } = props, restProps = _objectWithoutProperties(props, _excluded$101);
7540
7556
  return {
7541
7557
  children,
7542
7558
  dataProperties: toDataProperties({
@@ -7698,7 +7714,7 @@ function withRenderProp(renderProp, callback) {
7698
7714
  if (typeof renderProp === "function") return renderProp;
7699
7715
  return callback(renderProp);
7700
7716
  }
7701
- var _excluded$99 = [
7717
+ var _excluded$100 = [
7702
7718
  "children",
7703
7719
  "ellipsis",
7704
7720
  "icon",
@@ -7726,7 +7742,7 @@ function ButtonTransparentContent({ children }) {
7726
7742
  });
7727
7743
  }
7728
7744
  var Button$1 = forwardRef((_ref, ref) => {
7729
- let { children, ellipsis, icon, inset, size = "md", variant = "solid", fullWidth = false, flex = false } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$99);
7745
+ let { children, ellipsis, icon, inset, size = "md", variant = "solid", fullWidth = false, flex = false } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$100);
7730
7746
  const { isPending = false } = restProps;
7731
7747
  const dataProperties = toDataProperties({
7732
7748
  ellipsis,
@@ -7747,10 +7763,10 @@ var Button$1 = forwardRef((_ref, ref) => {
7747
7763
  }));
7748
7764
  });
7749
7765
  Button$1.displayName = "Button";
7750
- var _excluded$98 = ["one", "other"];
7766
+ var _excluded$99 = ["one", "other"];
7751
7767
  const tPlural = (translate, key, _ref) => {
7752
7768
  let { one, other } = _ref;
7753
- return translate(key, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$98)), {}, {
7769
+ return translate(key, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$99)), {}, {
7754
7770
  defaultValue_one: one,
7755
7771
  defaultValue_other: other
7756
7772
  }));
@@ -8941,7 +8957,7 @@ const useVirtualKeyboardHeight = () => {
8941
8957
  }, []);
8942
8958
  return keyboardHeight;
8943
8959
  };
8944
- var _excluded$97 = ["variant"], _excluded2$12 = [
8960
+ var _excluded$98 = ["variant"], _excluded2$12 = [
8945
8961
  "variant",
8946
8962
  "children",
8947
8963
  "slots",
@@ -8951,7 +8967,7 @@ var _excluded$97 = ["variant"], _excluded2$12 = [
8951
8967
  ];
8952
8968
  var MODAL_OVERLAY_CLASS_NAME = `Layer__Portal Layer__ModalOverlay`;
8953
8969
  var ModalOverlay$1 = forwardRef((_ref, ref) => {
8954
- let { variant } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$97);
8970
+ let { variant } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$98);
8955
8971
  return /* @__PURE__ */ jsx(ModalOverlay, _objectSpread2(_objectSpread2(_objectSpread2({}, toDataProperties({ variant })), restProps), {}, {
8956
8972
  className: MODAL_OVERLAY_CLASS_NAME,
8957
8973
  ref
@@ -9053,7 +9069,7 @@ function Drawer({ isOpen, onOpenChange, size = "md", flexBlock, flexInline, chil
9053
9069
  })
9054
9070
  });
9055
9071
  }
9056
- var _excluded$96 = [
9072
+ var _excluded$97 = [
9057
9073
  "align",
9058
9074
  "pie",
9059
9075
  "pbe",
@@ -9065,7 +9081,7 @@ var _excluded$96 = [
9065
9081
  ];
9066
9082
  var HEADING_CLASS_NAME = "Layer__UI__Heading";
9067
9083
  var Heading$1 = forwardRef((_ref, ref) => {
9068
- let { align, pie, pbe, size, variant, weight, ellipsis, className } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$96);
9084
+ let { align, pie, pbe, size, variant, weight, ellipsis, className } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$97);
9069
9085
  const dataProperties = toDataProperties({
9070
9086
  pbe,
9071
9087
  pie,
@@ -9149,14 +9165,14 @@ function ModalActions({ children }) {
9149
9165
  children
9150
9166
  });
9151
9167
  }
9152
- var _excluded$95 = ["size"];
9168
+ var _excluded$96 = ["size"];
9153
9169
  var AlertCircle$1 = (_ref) => {
9154
9170
  let { size = 18 } = _ref;
9155
9171
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
9156
9172
  viewBox: "0 0 18 18",
9157
9173
  fill: "none",
9158
9174
  xmlns: "http://www.w3.org/2000/svg"
9159
- }, _objectWithoutProperties(_ref, _excluded$95)), {}, {
9175
+ }, _objectWithoutProperties(_ref, _excluded$96)), {}, {
9160
9176
  width: size,
9161
9177
  height: size,
9162
9178
  children: [
@@ -9182,14 +9198,14 @@ var AlertCircle$1 = (_ref) => {
9182
9198
  }));
9183
9199
  };
9184
9200
  var AlertCircle_default = AlertCircle$1;
9185
- var _excluded$94 = ["size"];
9201
+ var _excluded$95 = ["size"];
9186
9202
  var Save$1 = (_ref) => {
9187
9203
  let { size = 18 } = _ref;
9188
9204
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
9189
9205
  xmlns: "http://www.w3.org/2000/svg",
9190
9206
  viewBox: "0 0 18 18",
9191
9207
  fill: "none"
9192
- }, _objectWithoutProperties(_ref, _excluded$94)), {}, {
9208
+ }, _objectWithoutProperties(_ref, _excluded$95)), {}, {
9193
9209
  width: size,
9194
9210
  height: size,
9195
9211
  children: [
@@ -9215,7 +9231,7 @@ var Save$1 = (_ref) => {
9215
9231
  }));
9216
9232
  };
9217
9233
  var Save_default = Save$1;
9218
- var _excluded$93 = [
9234
+ var _excluded$94 = [
9219
9235
  "className",
9220
9236
  "processing",
9221
9237
  "disabled",
@@ -9223,7 +9239,7 @@ var _excluded$93 = [
9223
9239
  "children"
9224
9240
  ];
9225
9241
  const RetryButton = (_ref) => {
9226
- let { className, processing, disabled, error: error$38, children } = _ref, props = _objectWithoutProperties(_ref, _excluded$93);
9242
+ let { className, processing, disabled, error: error$38, children } = _ref, props = _objectWithoutProperties(_ref, _excluded$94);
9227
9243
  const baseClassName$1 = classNames("Layer__retry-btn", processing ? "Layer__btn--processing" : "", className);
9228
9244
  return /* @__PURE__ */ jsx(Button$2, _objectSpread2(_objectSpread2({}, props), {}, {
9229
9245
  className: baseClassName$1,
@@ -9235,7 +9251,7 @@ const RetryButton = (_ref) => {
9235
9251
  children
9236
9252
  }));
9237
9253
  };
9238
- var _excluded$92 = [
9254
+ var _excluded$93 = [
9239
9255
  "active",
9240
9256
  "className",
9241
9257
  "processing",
@@ -9272,7 +9288,7 @@ var buildRightIcon = ({ processing, error: error$38, action: action$44, noIcon }
9272
9288
  return /* @__PURE__ */ jsx(Save_default, { size: 16 });
9273
9289
  };
9274
9290
  const SubmitButton = (_ref) => {
9275
- let { active, className, processing, disabled, error: error$38, children, action: action$44 = SubmitAction.SAVE, noIcon, variant = ButtonVariant.primary, withRetry, iconAsPrimary = true } = _ref, props = _objectWithoutProperties(_ref, _excluded$92);
9291
+ let { active, className, processing, disabled, error: error$38, children, action: action$44 = SubmitAction.SAVE, noIcon, variant = ButtonVariant.primary, withRetry, iconAsPrimary = true } = _ref, props = _objectWithoutProperties(_ref, _excluded$93);
9276
9292
  const { t } = useTranslation();
9277
9293
  const baseClassName$1 = classNames(active ? "Layer__btn--active" : "", className);
9278
9294
  if (withRetry && error$38) return /* @__PURE__ */ jsx(RetryButton, _objectSpread2(_objectSpread2({}, props), {}, {
@@ -9295,7 +9311,7 @@ const SubmitButton = (_ref) => {
9295
9311
  children
9296
9312
  }));
9297
9313
  };
9298
- var _excluded$91 = [
9314
+ var _excluded$92 = [
9299
9315
  "isOpen",
9300
9316
  "onOpenChange",
9301
9317
  "useDrawer"
@@ -9361,7 +9377,7 @@ var BaseConfirmationModalContent = memo(function BaseConfirmationModalContent$1(
9361
9377
  });
9362
9378
  });
9363
9379
  function BaseConfirmationModal(_ref) {
9364
- let { isOpen, onOpenChange, useDrawer = false } = _ref, contentProps = _objectWithoutProperties(_ref, _excluded$91);
9380
+ let { isOpen, onOpenChange, useDrawer = false } = _ref, contentProps = _objectWithoutProperties(_ref, _excluded$92);
9365
9381
  if (useDrawer) return /* @__PURE__ */ jsx(Drawer, {
9366
9382
  flexBlock: true,
9367
9383
  isOpen,
@@ -9413,14 +9429,14 @@ const COMBO_BOX_CLASS_NAMES = {
9413
9429
  MULTI_VALUE: "Layer__ComboBoxMultiValue",
9414
9430
  MULTI_VALUE_LABEL: "Layer__ComboBoxMultiValueLabel"
9415
9431
  };
9416
- var _excluded$90 = ["size"];
9432
+ var _excluded$91 = ["size"];
9417
9433
  var Check$1 = (_ref) => {
9418
9434
  let { size = 18 } = _ref;
9419
9435
  return /* @__PURE__ */ jsx("svg", _objectSpread2(_objectSpread2({
9420
9436
  viewBox: "0 0 18 18",
9421
9437
  fill: "none",
9422
9438
  xmlns: "http://www.w3.org/2000/svg"
9423
- }, _objectWithoutProperties(_ref, _excluded$90)), {}, {
9439
+ }, _objectWithoutProperties(_ref, _excluded$91)), {}, {
9424
9440
  width: size,
9425
9441
  height: size,
9426
9442
  children: /* @__PURE__ */ jsx("path", {
@@ -9432,14 +9448,14 @@ var Check$1 = (_ref) => {
9432
9448
  }));
9433
9449
  };
9434
9450
  var Check_default = Check$1;
9435
- var _excluded$89 = ["size"];
9451
+ var _excluded$90 = ["size"];
9436
9452
  var ChevronDown = (_ref) => {
9437
9453
  let { size = 18 } = _ref;
9438
9454
  return /* @__PURE__ */ jsx("svg", _objectSpread2(_objectSpread2({
9439
9455
  viewBox: "0 0 18 18",
9440
9456
  fill: "none",
9441
9457
  xmlns: "http://www.w3.org/2000/svg"
9442
- }, _objectWithoutProperties(_ref, _excluded$89)), {}, {
9458
+ }, _objectWithoutProperties(_ref, _excluded$90)), {}, {
9443
9459
  width: size,
9444
9460
  height: size,
9445
9461
  children: /* @__PURE__ */ jsx("path", {
@@ -9451,14 +9467,14 @@ var ChevronDown = (_ref) => {
9451
9467
  }));
9452
9468
  };
9453
9469
  var ChevronDown_default = ChevronDown;
9454
- var _excluded$88 = ["size"];
9470
+ var _excluded$89 = ["size"];
9455
9471
  var X$1 = (_ref) => {
9456
9472
  let { size = 18 } = _ref;
9457
9473
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
9458
9474
  xmlns: "http://www.w3.org/2000/svg",
9459
9475
  viewBox: "0 0 18 18",
9460
9476
  fill: "none"
9461
- }, _objectWithoutProperties(_ref, _excluded$88)), {}, {
9477
+ }, _objectWithoutProperties(_ref, _excluded$89)), {}, {
9462
9478
  width: size,
9463
9479
  height: size,
9464
9480
  children: [/* @__PURE__ */ jsx("path", {
@@ -9475,10 +9491,10 @@ var X$1 = (_ref) => {
9475
9491
  }));
9476
9492
  };
9477
9493
  var X_default = X$1;
9478
- var _excluded$87 = ["children"], _excluded2$11 = ["children"], _excluded3$4 = ["children"], _excluded4$3 = ["children"], _excluded5$2 = ["children"], _excluded6$2 = ["children"], _excluded7 = ["children"], _excluded8 = ["children"];
9494
+ var _excluded$88 = ["children"], _excluded2$11 = ["children"], _excluded3$4 = ["children"], _excluded4$3 = ["children"], _excluded5$2 = ["children"], _excluded6$2 = ["children"], _excluded7 = ["children"], _excluded8 = ["children"];
9479
9495
  function buildCustomClearIndicator() {
9480
9496
  return function CustomClearIndicator(_ref) {
9481
- let { children } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$87);
9497
+ let { children } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$88);
9482
9498
  return /* @__PURE__ */ jsx(components.ClearIndicator, _objectSpread2(_objectSpread2({}, restProps), {}, {
9483
9499
  className: COMBO_BOX_CLASS_NAMES.CLEAR_INDICATOR,
9484
9500
  children: /* @__PURE__ */ jsx(X_default, { size: 16 })
@@ -9684,7 +9700,7 @@ function useCommonComboBoxProps({ className, options, groups, onInputValueChange
9684
9700
  styles
9685
9701
  ]);
9686
9702
  }
9687
- var _excluded$86 = [
9703
+ var _excluded$87 = [
9688
9704
  "className",
9689
9705
  "slots",
9690
9706
  "isError",
@@ -9692,7 +9708,7 @@ var _excluded$86 = [
9692
9708
  "onSelectedValueChange"
9693
9709
  ];
9694
9710
  function ComboBox(_ref) {
9695
- let { className, slots, isError, selectedValue, onSelectedValueChange } = _ref, props = _objectWithoutProperties(_ref, _excluded$86);
9711
+ let { className, slots, isError, selectedValue, onSelectedValueChange } = _ref, props = _objectWithoutProperties(_ref, _excluded$87);
9696
9712
  const commonSelectProps = useCommonComboBoxProps(_objectSpread2({
9697
9713
  className,
9698
9714
  slots,
@@ -9711,13 +9727,13 @@ function ComboBox(_ref) {
9711
9727
  })]
9712
9728
  });
9713
9729
  }
9714
- var _excluded$85 = [
9730
+ var _excluded$86 = [
9715
9731
  "amount",
9716
9732
  "displayPlusSign",
9717
9733
  "className"
9718
9734
  ];
9719
9735
  var MoneySpan = forwardRef((_ref, ref) => {
9720
- let { amount, displayPlusSign, className } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$85);
9736
+ let { amount, displayPlusSign, className } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$86);
9721
9737
  const { formatCurrencyFromCents: formatCurrencyFromCents$1 } = useIntlFormatter();
9722
9738
  const formattedAmount = formatCurrencyFromCents$1(amount, { signDisplay: displayPlusSign ? "always" : "auto" });
9723
9739
  return /* @__PURE__ */ jsx(Span, _objectSpread2(_objectSpread2({}, restProps), {}, {
@@ -10034,14 +10050,14 @@ const getDefaultSelectedCategoryForBankTransaction = (bankTransaction, ignoreSug
10034
10050
  if (hasSuggestions(bankTransaction.categorization_flow)) return convertApiCategorizationToCategoryOrSplitAsOption(bankTransaction.categorization_flow.suggestions[0]);
10035
10051
  return null;
10036
10052
  };
10037
- var _excluded$84 = ["size"];
10053
+ var _excluded$85 = ["size"];
10038
10054
  var MinimizeTwo = (_ref) => {
10039
10055
  let { size = 18 } = _ref;
10040
10056
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
10041
10057
  xmlns: "http://www.w3.org/2000/svg",
10042
10058
  viewBox: "0 0 18 18",
10043
10059
  fill: "none"
10044
- }, _objectWithoutProperties(_ref, _excluded$84)), {}, {
10060
+ }, _objectWithoutProperties(_ref, _excluded$85)), {}, {
10045
10061
  width: size,
10046
10062
  height: size,
10047
10063
  children: [
@@ -10073,14 +10089,14 @@ var MinimizeTwo = (_ref) => {
10073
10089
  }));
10074
10090
  };
10075
10091
  var MinimizeTwo_default = MinimizeTwo;
10076
- var _excluded$83 = ["size"];
10092
+ var _excluded$84 = ["size"];
10077
10093
  var Scissors = (_ref) => {
10078
10094
  let { size = 11 } = _ref;
10079
10095
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
10080
10096
  viewBox: "0 0 11 11",
10081
10097
  fill: "none",
10082
10098
  xmlns: "http://www.w3.org/2000/svg"
10083
- }, _objectWithoutProperties(_ref, _excluded$83)), {}, {
10099
+ }, _objectWithoutProperties(_ref, _excluded$84)), {}, {
10084
10100
  width: size,
10085
10101
  height: size,
10086
10102
  children: [
@@ -10500,7 +10516,7 @@ var toActionableListOption = (opt) => {
10500
10516
  value: opt
10501
10517
  };
10502
10518
  };
10503
- var _excluded$82 = [
10519
+ var _excluded$83 = [
10504
10520
  "actionCount",
10505
10521
  "className",
10506
10522
  "slots",
@@ -10508,7 +10524,7 @@ var _excluded$82 = [
10508
10524
  ];
10509
10525
  var INPUT_GROUP_CLASS_NAME = "Layer__UI__InputGroup";
10510
10526
  const InputGroup$1 = forwardRef(function InputGroup$2(_ref, ref) {
10511
- let { actionCount, className, slots, children } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$82);
10527
+ let { actionCount, className, slots, children } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$83);
10512
10528
  const combinedClassName = classNames(INPUT_GROUP_CLASS_NAME, className);
10513
10529
  const dataProperties = toDataProperties({ "action-count": actionCount });
10514
10530
  return /* @__PURE__ */ jsx(Group, _objectSpread2(_objectSpread2(_objectSpread2({}, restProps), dataProperties), {}, {
@@ -10517,10 +10533,10 @@ const InputGroup$1 = forwardRef(function InputGroup$2(_ref, ref) {
10517
10533
  children
10518
10534
  }));
10519
10535
  });
10520
- var _excluded$81 = ["placeholder", "isDisabled"];
10536
+ var _excluded$82 = ["placeholder", "isDisabled"];
10521
10537
  var CLASS_NAME$8 = "Layer__MinimalSearchField";
10522
10538
  function MinimalSearchField(_ref) {
10523
- let { placeholder, isDisabled } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$81);
10539
+ let { placeholder, isDisabled } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$82);
10524
10540
  const { t } = useTranslation();
10525
10541
  return /* @__PURE__ */ jsxs(SearchField, _objectSpread2(_objectSpread2({}, restProps), {}, {
10526
10542
  isDisabled,
@@ -10538,7 +10554,7 @@ function MinimalSearchField(_ref) {
10538
10554
  })]
10539
10555
  }));
10540
10556
  }
10541
- var _excluded$80 = [
10557
+ var _excluded$81 = [
10542
10558
  "slot",
10543
10559
  "className",
10544
10560
  "label",
@@ -10546,7 +10562,7 @@ var _excluded$80 = [
10546
10562
  ];
10547
10563
  var CLASS_NAME$7 = "Layer__SearchField";
10548
10564
  function SearchField$1(_ref) {
10549
- let { slot = "search", className, label: label$50, isDisabled } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$80);
10565
+ let { slot = "search", className, label: label$50, isDisabled } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$81);
10550
10566
  return /* @__PURE__ */ jsxs(InputGroup$1, {
10551
10567
  slot,
10552
10568
  className: classNames(CLASS_NAME$7, className),
@@ -11052,14 +11068,14 @@ const BankTransactionsBulkActions = ({ isMobileView = false, slotProps }) => {
11052
11068
  ] })
11053
11069
  }) });
11054
11070
  };
11055
- var _excluded$79 = ["size"];
11071
+ var _excluded$80 = ["size"];
11056
11072
  var DownloadCloud = (_ref) => {
11057
11073
  let { size = 18 } = _ref;
11058
11074
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
11059
11075
  xmlns: "http://www.w3.org/2000/svg",
11060
11076
  viewBox: "0 0 18 18",
11061
11077
  fill: "none"
11062
- }, _objectWithoutProperties(_ref, _excluded$79)), {}, {
11078
+ }, _objectWithoutProperties(_ref, _excluded$80)), {}, {
11063
11079
  width: size,
11064
11080
  height: size,
11065
11081
  children: [
@@ -11085,14 +11101,14 @@ var DownloadCloud = (_ref) => {
11085
11101
  }));
11086
11102
  };
11087
11103
  var DownloadCloud_default = DownloadCloud;
11088
- var _excluded$78 = ["size"];
11104
+ var _excluded$79 = ["size"];
11089
11105
  var UploadCloud$1 = (_ref) => {
11090
11106
  let { size = 18 } = _ref;
11091
11107
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
11092
11108
  viewBox: "0 0 18 18",
11093
11109
  fill: "none",
11094
11110
  xmlns: "http://www.w3.org/2000/svg"
11095
- }, _objectWithoutProperties(_ref, _excluded$78)), {}, {
11111
+ }, _objectWithoutProperties(_ref, _excluded$79)), {}, {
11096
11112
  width: size,
11097
11113
  height: size,
11098
11114
  children: [
@@ -11338,7 +11354,7 @@ function useCustomAccountParseCsv() {
11338
11354
  file
11339
11355
  }).then(({ data: data$1 }) => data$1), { revalidate: false });
11340
11356
  }
11341
- var _excluded$77 = [
11357
+ var _excluded$78 = [
11342
11358
  "className",
11343
11359
  "slots",
11344
11360
  "isError",
@@ -11351,7 +11367,7 @@ var _excluded$77 = [
11351
11367
  ];
11352
11368
  var returnTrue = () => true;
11353
11369
  function CreatableComboBox(_ref) {
11354
- let { className, slots, isError, selectedValue, onSelectedValueChange, onCreateOption, formatCreateLabel: formatCreateLabel$3, createOptionPosition = "first", isValidNewOption = returnTrue } = _ref, props = _objectWithoutProperties(_ref, _excluded$77);
11370
+ let { className, slots, isError, selectedValue, onSelectedValueChange, onCreateOption, formatCreateLabel: formatCreateLabel$3, createOptionPosition = "first", isValidNewOption = returnTrue } = _ref, props = _objectWithoutProperties(_ref, _excluded$78);
11355
11371
  const commonSelectProps = useCommonComboBoxProps(_objectSpread2({
11356
11372
  className,
11357
11373
  slots,
@@ -11392,14 +11408,14 @@ const CopyTemplateHeadersButtonGroup = ({ headers, className }) => {
11392
11408
  }, key))
11393
11409
  });
11394
11410
  };
11395
- var _excluded$76 = ["size"];
11411
+ var _excluded$77 = ["size"];
11396
11412
  var CloseIcon = (_ref) => {
11397
11413
  let { size = 12 } = _ref;
11398
11414
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
11399
11415
  viewBox: "0 0 12 12",
11400
11416
  fill: "none",
11401
11417
  xmlns: "http://www.w3.org/2000/svg"
11402
- }, _objectWithoutProperties(_ref, _excluded$76)), {}, {
11418
+ }, _objectWithoutProperties(_ref, _excluded$77)), {}, {
11403
11419
  width: size,
11404
11420
  height: size,
11405
11421
  children: [/* @__PURE__ */ jsx("path", {
@@ -11629,7 +11645,7 @@ function useCreateCustomAccount() {
11629
11645
  return Reflect.get(target, prop);
11630
11646
  } });
11631
11647
  }
11632
- var _excluded$75 = ["children", "className"], _excluded2$10 = [
11648
+ var _excluded$76 = ["children", "className"], _excluded2$10 = [
11633
11649
  "children",
11634
11650
  "inline",
11635
11651
  "textarea",
@@ -11638,7 +11654,7 @@ var _excluded$75 = ["children", "className"], _excluded2$10 = [
11638
11654
  var FORM_CLASS_NAME = "Layer__UI__Form";
11639
11655
  const Form$1 = forwardRef(function Form$2(_ref, ref) {
11640
11656
  let { children, className } = _ref;
11641
- return /* @__PURE__ */ jsx(Form, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$75)), {}, {
11657
+ return /* @__PURE__ */ jsx(Form, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$76)), {}, {
11642
11658
  className: classNames(FORM_CLASS_NAME, className),
11643
11659
  ref,
11644
11660
  children
@@ -11845,10 +11861,10 @@ function useBigDecimalInput({ value, onChange, onBlur, mode, maxValue, maxDecima
11845
11861
  onPaste
11846
11862
  };
11847
11863
  }
11848
- var _excluded$74 = ["inset", "placement"];
11864
+ var _excluded$75 = ["inset", "placement"];
11849
11865
  var INPUT_CLASS_NAME = "Layer__UI__Input";
11850
11866
  const Input$2 = forwardRef(function Input$3(_ref, ref) {
11851
- let { inset, placement } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$74);
11867
+ let { inset, placement } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$75);
11852
11868
  const dataProperties = toDataProperties({
11853
11869
  inset,
11854
11870
  placement
@@ -11858,7 +11874,7 @@ const Input$2 = forwardRef(function Input$3(_ref, ref) {
11858
11874
  ref
11859
11875
  }));
11860
11876
  });
11861
- var _excluded$73 = [
11877
+ var _excluded$74 = [
11862
11878
  "mode",
11863
11879
  "allowNegative",
11864
11880
  "maxValue",
@@ -11872,7 +11888,7 @@ var DEFAULT_MAX_VALUE$1 = BigDecimal.fromBigInt(BigInt(1e7));
11872
11888
  var DEFAULT_MIN_DECIMAL_PLACES$1 = 0;
11873
11889
  var DEFAULT_MAX_DECIMAL_PLACES$1 = 3;
11874
11890
  function FormBigDecimalField(_ref) {
11875
- let { mode = "decimal", allowNegative = false, maxValue = mode === "percent" ? BIG_DECIMAL_ONE : DEFAULT_MAX_VALUE$1, minDecimalPlaces = mode === "currency" ? 2 : DEFAULT_MIN_DECIMAL_PLACES$1, maxDecimalPlaces = mode === "currency" ? 2 : DEFAULT_MAX_DECIMAL_PLACES$1, slots, placeholder, allowEmpty } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$73);
11891
+ let { mode = "decimal", allowNegative = false, maxValue = mode === "percent" ? BIG_DECIMAL_ONE : DEFAULT_MAX_VALUE$1, minDecimalPlaces = mode === "currency" ? 2 : DEFAULT_MIN_DECIMAL_PLACES$1, maxDecimalPlaces = mode === "currency" ? 2 : DEFAULT_MAX_DECIMAL_PLACES$1, slots, placeholder, allowEmpty } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$74);
11876
11892
  const { name: name$1, state: state$16, handleChange, handleBlur } = useFieldContext();
11877
11893
  const { value } = state$16;
11878
11894
  const { inputValue, onInputChange, onInputBlur, onBeforeInput, onPaste } = useBigDecimalInput({
@@ -11905,7 +11921,7 @@ function FormBigDecimalField(_ref) {
11905
11921
  })
11906
11922
  }));
11907
11923
  }
11908
- var _excluded$72 = [
11924
+ var _excluded$73 = [
11909
11925
  "children",
11910
11926
  "className",
11911
11927
  "variant",
@@ -11919,7 +11935,7 @@ var CHECK_SIZE = {
11919
11935
  lg: 16
11920
11936
  };
11921
11937
  function Checkbox$1(_ref) {
11922
- let { children, className, variant = "default", size = "sm", isIndeterminate } = _ref, props = _objectWithoutProperties(_ref, _excluded$72);
11938
+ let { children, className, variant = "default", size = "sm", isIndeterminate } = _ref, props = _objectWithoutProperties(_ref, _excluded$73);
11923
11939
  return /* @__PURE__ */ jsx(Checkbox, _objectSpread2(_objectSpread2(_objectSpread2({}, useMemo(() => toDataProperties({
11924
11940
  size,
11925
11941
  variant,
@@ -11978,7 +11994,7 @@ function FormCheckboxField({ label: label$50, className, inline = false, showLab
11978
11994
  children: label$50
11979
11995
  }) }));
11980
11996
  }
11981
- var _excluded$71 = [
11997
+ var _excluded$72 = [
11982
11998
  "inline",
11983
11999
  "className",
11984
12000
  "isReadOnly"
@@ -11986,7 +12002,7 @@ var _excluded$71 = [
11986
12002
  const DATE_PICKER_CLASS_NAME = "Layer__UI__DatePicker";
11987
12003
  var DATE_FIELD_CLASS_NAME = "Layer__UI__DateField";
11988
12004
  const DateField$1 = forwardRef(function DateField$2(_ref, ref) {
11989
- let { inline, className, isReadOnly } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$71);
12005
+ let { inline, className, isReadOnly } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$72);
11990
12006
  return /* @__PURE__ */ jsx(DateField, _objectSpread2(_objectSpread2(_objectSpread2({}, toDataProperties({
11991
12007
  inline,
11992
12008
  readonly: isReadOnly
@@ -12073,10 +12089,10 @@ function FormDateField({ label: label$50, className, inline = false, showLabel =
12073
12089
  shouldShowErrorMessage && /* @__PURE__ */ jsx(FieldError$1, { children: errorMessage })
12074
12090
  ] }));
12075
12091
  }
12076
- var _excluded$70 = ["className", "isReadOnly"], _excluded2$7 = ["className"], _excluded3$2 = ["className"], _excluded4$1 = ["className", "size"], _excluded5$1 = ["className"], _excluded6$1 = ["className", "size"];
12092
+ var _excluded$71 = ["className", "isReadOnly"], _excluded2$7 = ["className"], _excluded3$2 = ["className"], _excluded4$1 = ["className", "size"], _excluded5$1 = ["className"], _excluded6$1 = ["className", "size"];
12077
12093
  var CALENDAR_CLASS_NAME = "Layer__UI__Calendar";
12078
12094
  const Calendar$1 = forwardRef(function Calendar$2(_ref, ref) {
12079
- let { className, isReadOnly } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$70);
12095
+ let { className, isReadOnly } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$71);
12080
12096
  return /* @__PURE__ */ jsx(Calendar, _objectSpread2(_objectSpread2(_objectSpread2({}, toDataProperties({ readonly: isReadOnly })), restProps), {}, {
12081
12097
  isReadOnly,
12082
12098
  className: classNames(CALENDAR_CLASS_NAME, className),
@@ -12215,10 +12231,10 @@ const DatePickerInput = ({ errorText, variant, onClick, isReadOnly }) => {
12215
12231
  })]
12216
12232
  });
12217
12233
  };
12218
- var _excluded$69 = ["flexInline"];
12234
+ var _excluded$70 = ["flexInline"];
12219
12235
  var POPOVER_CLASS_NAMES = `Layer__Portal Layer__Popover`;
12220
12236
  const Popover$1 = forwardRef(function Popover$2(_ref, ref) {
12221
- let { flexInline = false } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$69);
12237
+ let { flexInline = false } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$70);
12222
12238
  const dataProperties = toDataProperties({ "flex-inline": flexInline });
12223
12239
  return /* @__PURE__ */ jsx(Popover, _objectSpread2(_objectSpread2(_objectSpread2({}, restProps), dataProperties), {}, {
12224
12240
  className: POPOVER_CLASS_NAMES,
@@ -12338,7 +12354,7 @@ const fromNonRecursiveBigDecimal = (nrbd) => {
12338
12354
  const nrbdEquals = (a, b) => {
12339
12355
  return BigDecimal.equals(fromNonRecursiveBigDecimal(a), fromNonRecursiveBigDecimal(b));
12340
12356
  };
12341
- var _excluded$68 = [
12357
+ var _excluded$69 = [
12342
12358
  "mode",
12343
12359
  "allowNegative",
12344
12360
  "maxValue",
@@ -12352,7 +12368,7 @@ var DEFAULT_MAX_VALUE = BigDecimal.fromBigInt(BigInt(1e7));
12352
12368
  var DEFAULT_MIN_DECIMAL_PLACES = 0;
12353
12369
  var DEFAULT_MAX_DECIMAL_PLACES = 3;
12354
12370
  function FormNonRecursiveBigDecimalField(_ref) {
12355
- let { mode = "decimal", allowNegative = false, maxValue = mode === "percent" ? BIG_DECIMAL_ONE : DEFAULT_MAX_VALUE, minDecimalPlaces = mode === "currency" ? 2 : DEFAULT_MIN_DECIMAL_PLACES, maxDecimalPlaces = mode === "currency" ? 2 : DEFAULT_MAX_DECIMAL_PLACES, slots, placeholder, allowEmpty } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$68);
12371
+ let { mode = "decimal", allowNegative = false, maxValue = mode === "percent" ? BIG_DECIMAL_ONE : DEFAULT_MAX_VALUE, minDecimalPlaces = mode === "currency" ? 2 : DEFAULT_MIN_DECIMAL_PLACES, maxDecimalPlaces = mode === "currency" ? 2 : DEFAULT_MAX_DECIMAL_PLACES, slots, placeholder, allowEmpty } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$69);
12356
12372
  const { name: name$1, state: state$16, handleChange, handleBlur } = useFieldContext();
12357
12373
  const { value: nrbdValue } = state$16;
12358
12374
  const { inputValue, onInputChange, onInputBlur, onBeforeInput, onPaste } = useBigDecimalInput({
@@ -12387,14 +12403,14 @@ function FormNonRecursiveBigDecimalField(_ref) {
12387
12403
  })
12388
12404
  }));
12389
12405
  }
12390
- var _excluded$67 = [
12406
+ var _excluded$68 = [
12391
12407
  "inline",
12392
12408
  "className",
12393
12409
  "isReadOnly"
12394
12410
  ];
12395
12411
  var NUMBER_FIELD_CLASS_NAME = "Layer__UI__NumberField";
12396
12412
  const NumberField$1 = forwardRef(function NumberField$2(_ref, ref) {
12397
- let { inline, className, isReadOnly } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$67);
12413
+ let { inline, className, isReadOnly } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$68);
12398
12414
  return /* @__PURE__ */ jsx(NumberField, _objectSpread2(_objectSpread2(_objectSpread2({ step: 1 }, toDataProperties({
12399
12415
  inline,
12400
12416
  readonly: isReadOnly
@@ -12441,7 +12457,7 @@ function FormNumberField({ label: label$50, className, inline = false, showLabel
12441
12457
  shouldShowErrorMessage && /* @__PURE__ */ jsx(FieldError$1, { children: errorMessage })
12442
12458
  ] }));
12443
12459
  }
12444
- var _excluded$66 = [
12460
+ var _excluded$67 = [
12445
12461
  "children",
12446
12462
  "className",
12447
12463
  "onChange"
@@ -12451,7 +12467,7 @@ var RADIO_CLASS_NAME = "Layer__Radio";
12451
12467
  var INDICATOR_SIZE = 10;
12452
12468
  function RadioGroup$1(_ref) {
12453
12469
  let { children, className, onChange } = _ref;
12454
- return /* @__PURE__ */ jsx(RadioGroup, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$66)), {}, {
12470
+ return /* @__PURE__ */ jsx(RadioGroup, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$67)), {}, {
12455
12471
  onChange,
12456
12472
  className: classNames(RADIO_GROUP_CLASS_NAME, className),
12457
12473
  children
@@ -12560,11 +12576,11 @@ function FormRadioGroupYesNoField({ label: label$50, className, inline = false,
12560
12576
  }), shouldShowErrorMessage && /* @__PURE__ */ jsx(FieldError$1, { children: errorMessage })]
12561
12577
  })] }));
12562
12578
  }
12563
- var _excluded$65 = ["children", "className"];
12579
+ var _excluded$66 = ["children", "className"];
12564
12580
  var SWITCH_CLASS_NAME = "Layer__UI__Switch";
12565
12581
  const Switch$1 = forwardRef((_ref, ref) => {
12566
12582
  let { children, className } = _ref;
12567
- return /* @__PURE__ */ jsx(Switch, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$65)), {}, {
12583
+ return /* @__PURE__ */ jsx(Switch, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$66)), {}, {
12568
12584
  className: classNames(SWITCH_CLASS_NAME, className),
12569
12585
  ref,
12570
12586
  children: withRenderProp(children, (node) => /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", { slot: "indicator" }), node] }))
@@ -12594,19 +12610,19 @@ function FormSwitchField({ label: label$50, slots, className, inline = false, sh
12594
12610
  })]
12595
12611
  }) }));
12596
12612
  }
12597
- var _excluded$64 = ["resize"];
12613
+ var _excluded$65 = ["resize"];
12598
12614
  var TEXTAREA_CLASS_NAME = "Layer__UI__TextArea";
12599
12615
  const TextArea$1 = forwardRef(function TextArea$2(_ref, ref) {
12600
- let { resize = "none" } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$64);
12616
+ let { resize = "none" } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$65);
12601
12617
  const dataProperties = toDataProperties({ resize });
12602
12618
  return /* @__PURE__ */ jsx(TextArea, _objectSpread2(_objectSpread2(_objectSpread2({}, restProps), dataProperties), {}, {
12603
12619
  className: TEXTAREA_CLASS_NAME,
12604
12620
  ref
12605
12621
  }));
12606
12622
  });
12607
- var _excluded$63 = ["placeholder"];
12623
+ var _excluded$64 = ["placeholder"];
12608
12624
  function FormTextAreaField(_ref) {
12609
- let { placeholder } = _ref, props = _objectWithoutProperties(_ref, _excluded$63);
12625
+ let { placeholder } = _ref, props = _objectWithoutProperties(_ref, _excluded$64);
12610
12626
  const { name: name$1, state: state$16, handleChange, handleBlur } = useFieldContext();
12611
12627
  const { value } = state$16;
12612
12628
  const onChange = useCallback((e) => {
@@ -12625,9 +12641,9 @@ function FormTextAreaField(_ref) {
12625
12641
  })
12626
12642
  }));
12627
12643
  }
12628
- var _excluded$62 = ["placeholder"];
12644
+ var _excluded$63 = ["placeholder"];
12629
12645
  function FormTextField(_ref) {
12630
- let { placeholder } = _ref, props = _objectWithoutProperties(_ref, _excluded$62);
12646
+ let { placeholder } = _ref, props = _objectWithoutProperties(_ref, _excluded$63);
12631
12647
  const { name: name$1, state: state$16, handleChange, handleBlur } = useFieldContext();
12632
12648
  const { value } = state$16;
12633
12649
  const onChange = useCallback((e) => {
@@ -12724,14 +12740,14 @@ const useCustomAccountForm = ({ onSuccess }) => {
12724
12740
  isFormValid: useStore$1(form.store, (state$16) => state$16.isValid)
12725
12741
  };
12726
12742
  };
12727
- var _excluded$61 = [
12743
+ var _excluded$62 = [
12728
12744
  "className",
12729
12745
  "isInvalid",
12730
12746
  "errorMessage",
12731
12747
  "leftText"
12732
12748
  ];
12733
12749
  const Input$1 = (_ref) => {
12734
- let { className, isInvalid, errorMessage, leftText } = _ref, props = _objectWithoutProperties(_ref, _excluded$61);
12750
+ let { className, isInvalid, errorMessage, leftText } = _ref, props = _objectWithoutProperties(_ref, _excluded$62);
12735
12751
  const baseClassName$1 = classNames("Layer__input", isInvalid ? "Layer__input--error" : "", leftText ? "Layer__input--with-left-text" : "", className);
12736
12752
  return /* @__PURE__ */ jsxs(DeprecatedTooltip, {
12737
12753
  disabled: !isInvalid || !errorMessage,
@@ -12759,14 +12775,14 @@ const InputGroup = ({ label: label$50, name: name$1, className, inline, children
12759
12775
  }), children]
12760
12776
  });
12761
12777
  };
12762
- var _excluded$60 = ["size"];
12778
+ var _excluded$61 = ["size"];
12763
12779
  var ChevronDownFill = (_ref) => {
12764
12780
  let { size = 18 } = _ref;
12765
12781
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
12766
12782
  xmlns: "http://www.w3.org/2000/svg",
12767
12783
  viewBox: "0 0 18 18",
12768
12784
  fill: "none"
12769
- }, _objectWithoutProperties(_ref, _excluded$60)), {}, {
12785
+ }, _objectWithoutProperties(_ref, _excluded$61)), {}, {
12770
12786
  width: size,
12771
12787
  height: size,
12772
12788
  children: [/* @__PURE__ */ jsx("path", {
@@ -12781,9 +12797,9 @@ var ChevronDownFill = (_ref) => {
12781
12797
  }));
12782
12798
  };
12783
12799
  var ChevronDownFill_default = ChevronDownFill;
12784
- var _excluded$59 = ["children"];
12800
+ var _excluded$60 = ["children"];
12785
12801
  const SelectMenuPortal = (_ref) => {
12786
- let { children } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$59);
12802
+ let { children } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$60);
12787
12803
  const dataProperties = toDataProperties({ "react-aria-top-layer": true });
12788
12804
  return /* @__PURE__ */ jsx(components.MenuPortal, _objectSpread2(_objectSpread2({}, restProps), {}, {
12789
12805
  innerProps: dataProperties,
@@ -12823,10 +12839,10 @@ const Select$1 = ({ name: name$1, options, className, classNamePrefix = "Layer__
12823
12839
  })]
12824
12840
  });
12825
12841
  };
12826
- var _excluded$58 = ["className"];
12842
+ var _excluded$59 = ["className"];
12827
12843
  const ErrorText = (_ref) => {
12828
12844
  let { className } = _ref;
12829
- return /* @__PURE__ */ jsx(Text$2, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$58)), {}, {
12845
+ return /* @__PURE__ */ jsx(Text$2, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$59)), {}, {
12830
12846
  status: "error",
12831
12847
  className
12832
12848
  }));
@@ -13147,7 +13163,7 @@ function UploadTransactionsUploadCsvStep({ selectedAccount, onSelectAccount, sel
13147
13163
  ] })]
13148
13164
  });
13149
13165
  }
13150
- var _excluded$57 = ["customAccountId"];
13166
+ var _excluded$58 = ["customAccountId"];
13151
13167
  var createCustomAccountTransactions = post(({ businessId, customAccountId }) => `/v1/businesses/${businessId}/custom-accounts/${customAccountId}/transactions`);
13152
13168
  function buildKey$74({ access_token: accessToken, apiUrl, businessId }) {
13153
13169
  if (accessToken && apiUrl) return {
@@ -13162,7 +13178,7 @@ function useCreateCustomAccountTransactions() {
13162
13178
  const { data } = useAuth();
13163
13179
  const { businessId } = useLayerContext();
13164
13180
  return useSWRMutation(() => withLocale(buildKey$74(_objectSpread2(_objectSpread2({}, data), {}, { businessId }))), ({ accessToken, apiUrl, businessId: businessId$1 }, _ref) => {
13165
- let { arg: _ref2 } = _ref, { customAccountId } = _ref2, body = _objectWithoutProperties(_ref2, _excluded$57);
13181
+ let { arg: _ref2 } = _ref, { customAccountId } = _ref2, body = _objectWithoutProperties(_ref2, _excluded$58);
13166
13182
  return createCustomAccountTransactions(apiUrl, accessToken, {
13167
13183
  params: {
13168
13184
  businessId: businessId$1,
@@ -13234,23 +13250,38 @@ var unifiedReportColumnFields = {
13234
13250
  pinning: Schema.optional(TransformedPinningSchema)
13235
13251
  };
13236
13252
  const UnifiedReportColumnSchema = Schema.Struct(_objectSpread2(_objectSpread2({}, unifiedReportColumnFields), {}, { columns: Schema.optional(Schema.Array(Schema.suspend(() => UnifiedReportColumnSchema))) }));
13237
- var UnifiedCellValueAmountSchema = Schema.Struct({
13238
- type: Schema.Literal("Amount"),
13253
+ const UnifiedCellValueCurrencySchema = Schema.Struct({
13254
+ type: Schema.Literal("Currency"),
13239
13255
  value: Schema.Number
13240
13256
  });
13241
13257
  var UnifiedCellValueDateSchema = Schema.Struct({
13242
13258
  type: Schema.Literal("Date"),
13243
13259
  value: Schema.Date
13244
13260
  });
13261
+ const UnifiedCellValueDecimalSchema = Schema.Struct({
13262
+ type: Schema.Literal("Decimal"),
13263
+ value: Schema.Number
13264
+ });
13265
+ var UnifiedCellValueDurationSchema = Schema.Struct({
13266
+ type: Schema.Literal("Duration"),
13267
+ value: Schema.Number
13268
+ });
13245
13269
  var UnifiedCellValueEmptySchema = Schema.Struct({ type: Schema.Literal("Empty") });
13246
- var UnifiedCellValueUnknownSchema = Schema.Struct({
13270
+ const UnifiedCellValuePercentageSchema = Schema.Struct({
13271
+ type: Schema.Literal("Percentage"),
13272
+ value: Schema.Number
13273
+ });
13274
+ const UnifiedCellValueUnknownSchema = Schema.Struct({
13247
13275
  type: Schema.String,
13248
13276
  value: Schema.optional(Schema.Unknown)
13249
13277
  });
13250
- var UnifiedCellValueSchema = Schema.Union(UnifiedCellValueAmountSchema, UnifiedCellValueDateSchema, UnifiedCellValueEmptySchema, UnifiedCellValueUnknownSchema);
13251
- const isAmountCellValue = (value) => value.type === "Amount";
13278
+ var UnifiedCellValueSchema = Schema.Union(UnifiedCellValueCurrencySchema, UnifiedCellValueDateSchema, UnifiedCellValueDecimalSchema, UnifiedCellValueDurationSchema, UnifiedCellValueEmptySchema, UnifiedCellValuePercentageSchema, UnifiedCellValueUnknownSchema);
13279
+ const isCurrencyCellValue = (value) => value.type === "Currency";
13252
13280
  const isDateCellValue = (value) => value.type === "Date";
13281
+ const isDecimalCellValue = (value) => value.type === "Decimal";
13282
+ const isDurationCellValue = (value) => value.type === "Duration";
13253
13283
  const isEmptyCellValue = (value) => value.type === "Empty";
13284
+ const isPercentageCellValue = (value) => value.type === "Percentage";
13254
13285
  var UnifiedCellFormatSchema = Schema.Struct({ bold: Schema.optional(Schema.Boolean) });
13255
13286
  var UnifiedReportCellSchema = Schema.Struct({
13256
13287
  value: UnifiedCellValueSchema,
@@ -13270,7 +13301,7 @@ const UnifiedReportSchema = Schema.Struct({
13270
13301
  columns: Schema.Array(UnifiedReportColumnSchema),
13271
13302
  rows: Schema.Array(UnifiedReportRowSchema)
13272
13303
  });
13273
- var _excluded$56 = [
13304
+ var _excluded$57 = [
13274
13305
  "children",
13275
13306
  "className",
13276
13307
  "nonAria",
@@ -13325,8 +13356,8 @@ var toAlignmentDataValue = (alignment) => {
13325
13356
  }
13326
13357
  };
13327
13358
  var getClassName = (component, additionalClassNames) => classNames(`${CSS_PREFIX$1}-${component}`, additionalClassNames);
13328
- var Table$1 = forwardRef((_ref, ref) => {
13329
- let { children, className, nonAria, slot } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$56);
13359
+ var Table$2 = forwardRef((_ref, ref) => {
13360
+ let { children, className, nonAria, slot } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$57);
13330
13361
  return /* @__PURE__ */ jsx(nonAria ? "table" : Table, _objectSpread2(_objectSpread2({
13331
13362
  className: getClassName(TableSubComponent.Table, className),
13332
13363
  slot: slot !== null && slot !== void 0 ? slot : void 0
@@ -13335,7 +13366,7 @@ var Table$1 = forwardRef((_ref, ref) => {
13335
13366
  children
13336
13367
  }));
13337
13368
  });
13338
- Table$1.displayName = TableSubComponent.Table;
13369
+ Table$2.displayName = TableSubComponent.Table;
13339
13370
  var TableHeaderInner = (_ref2, ref) => {
13340
13371
  let { children, className, nonAria } = _ref2, restProps = _objectWithoutProperties(_ref2, _excluded2$5);
13341
13372
  return /* @__PURE__ */ jsx(nonAria ? "thead" : TableHeader, _objectSpread2(_objectSpread2({ className: getClassName(TableSubComponent.TableHeader, className) }, restProps), {}, {
@@ -13352,8 +13383,8 @@ var TableBodyInner = (_ref3, ref) => {
13352
13383
  children: withRenderProp(children, (node) => node)
13353
13384
  }));
13354
13385
  };
13355
- var TableBody$1 = forwardRef(TableBodyInner);
13356
- TableBody$1.displayName = TableSubComponent.TableBody;
13386
+ var TableBody$2 = forwardRef(TableBodyInner);
13387
+ TableBody$2.displayName = TableSubComponent.TableBody;
13357
13388
  var RowInner = (_ref4, ref) => {
13358
13389
  let { children, className, depth = 0, nonAria, id, onAction } = _ref4, restProps = _objectWithoutProperties(_ref4, _excluded4);
13359
13390
  const dataProperties = toDataProperties({ depth });
@@ -13475,7 +13506,7 @@ var DEFAULT_TABLE_HEIGHT = DEFAULT_ROW_HEIGHT * DEFAULT_NUM_ROWS + HEADER_HEIGHT
13475
13506
  var CSS_PREFIX = "Layer__UI__VirtualizedTable";
13476
13507
  var EMPTY_ARRAY$5 = [];
13477
13508
  const VirtualizedDataTable = ({ columnConfig, data, isLoading, isError, componentName, ariaLabel, slots, shrinkHeightToFitRows = false, height = DEFAULT_TABLE_HEIGHT, rowHeight = DEFAULT_ROW_HEIGHT, overscan = DEFAULT_OVERSCAN }) => {
13478
- const { EmptyState: EmptyState$7, ErrorState: ErrorState$8 } = slots;
13509
+ const { EmptyState: EmptyState$8, ErrorState: ErrorState$9 } = slots;
13479
13510
  const containerRef = useRef(null);
13480
13511
  const renderedTableHeight = useMemo(() => {
13481
13512
  if (!data) return height;
@@ -13508,7 +13539,7 @@ const VirtualizedDataTable = ({ columnConfig, data, isLoading, isError, componen
13508
13539
  align: "center",
13509
13540
  justify: "center",
13510
13541
  className: `${CSS_PREFIX}__state-container`,
13511
- children: /* @__PURE__ */ jsx(ErrorState$8, {})
13542
+ children: /* @__PURE__ */ jsx(ErrorState$9, {})
13512
13543
  });
13513
13544
  if (isLoading) return /* @__PURE__ */ jsx(HStack, {
13514
13545
  align: "center",
@@ -13520,7 +13551,7 @@ const VirtualizedDataTable = ({ columnConfig, data, isLoading, isError, componen
13520
13551
  align: "center",
13521
13552
  justify: "center",
13522
13553
  className: `${CSS_PREFIX}__state-container`,
13523
- children: /* @__PURE__ */ jsx(EmptyState$7, {})
13554
+ children: /* @__PURE__ */ jsx(EmptyState$8, {})
13524
13555
  });
13525
13556
  const virtualItems = rowVirtualizer.getVirtualItems();
13526
13557
  const totalSize = rowVirtualizer.getTotalSize();
@@ -13529,7 +13560,7 @@ const VirtualizedDataTable = ({ columnConfig, data, isLoading, isError, componen
13529
13560
  ref: containerRef,
13530
13561
  style: { height: renderedTableHeight },
13531
13562
  "aria-label": ariaLabel,
13532
- children: /* @__PURE__ */ jsxs(Table$1, {
13563
+ children: /* @__PURE__ */ jsxs(Table$2, {
13533
13564
  className: classNames(CSS_PREFIX, `Layer__UI__Table__${componentName}`),
13534
13565
  "aria-label": ariaLabel,
13535
13566
  children: [/* @__PURE__ */ jsx(TableHeader$1, {
@@ -13544,7 +13575,7 @@ const VirtualizedDataTable = ({ columnConfig, data, isLoading, isError, componen
13544
13575
  children: flexRender(header.column.columnDef.header, header.getContext())
13545
13576
  }, header.id);
13546
13577
  })
13547
- }), /* @__PURE__ */ jsx(TableBody$1, {
13578
+ }), /* @__PURE__ */ jsx(TableBody$2, {
13548
13579
  style: { height: totalSize },
13549
13580
  children: virtualItems.map((virtualRow) => {
13550
13581
  const row = rows[virtualRow.index];
@@ -13570,8 +13601,8 @@ const VirtualizedDataTable = ({ columnConfig, data, isLoading, isError, componen
13570
13601
  };
13571
13602
  var ROW_HEIGHT = 52;
13572
13603
  var TABLE_HEIGHT = ROW_HEIGHT * 9 - 1;
13573
- var EmptyState$6 = () => null;
13574
- var ErrorState$7 = () => null;
13604
+ var EmptyState$7 = () => null;
13605
+ var ErrorState$8 = () => null;
13575
13606
  function ValidateCsvTable({ data, headers, formatters, className }) {
13576
13607
  const { t } = useTranslation();
13577
13608
  const sortedData = useMemo(() => [...data].sort((a, b) => {
@@ -13626,8 +13657,8 @@ function ValidateCsvTable({ data, headers, formatters, className }) {
13626
13657
  rowHeight: ROW_HEIGHT,
13627
13658
  shrinkHeightToFitRows: true,
13628
13659
  slots: {
13629
- EmptyState: EmptyState$6,
13630
- ErrorState: ErrorState$7
13660
+ EmptyState: EmptyState$7,
13661
+ ErrorState: ErrorState$8
13631
13662
  }
13632
13663
  })
13633
13664
  });
@@ -14499,7 +14530,7 @@ function useDelayedRemoveBankTransaction({ bankTransaction, onRemove }) {
14499
14530
  }, [bankTransaction.recently_categorized]);
14500
14531
  return useMemo(() => ({ isBeingRemoved }), [isBeingRemoved]);
14501
14532
  }
14502
- var _excluded$55 = ["bankTransactionId"];
14533
+ var _excluded$56 = ["bankTransactionId"];
14503
14534
  var CATEGORIZE_BANK_TRANSACTION_TAG = "#categorize-bank-transaction";
14504
14535
  var categorizeBankTransaction = put(({ businessId, bankTransactionId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/categorize`);
14505
14536
  function buildKey$73({ access_token: accessToken, apiUrl, businessId }) {
@@ -14523,7 +14554,7 @@ function useCategorizeBankTransaction() {
14523
14554
  apiUrl: auth === null || auth === void 0 ? void 0 : auth.apiUrl,
14524
14555
  businessId
14525
14556
  })), ({ accessToken, apiUrl, businessId: businessId$1 }, _ref) => {
14526
- let { arg: _ref2 } = _ref, { bankTransactionId } = _ref2, rest = _objectWithoutProperties(_ref2, _excluded$55);
14557
+ let { arg: _ref2 } = _ref, { bankTransactionId } = _ref2, rest = _objectWithoutProperties(_ref2, _excluded$56);
14527
14558
  return categorizeBankTransaction(apiUrl, accessToken, {
14528
14559
  params: {
14529
14560
  businessId: businessId$1,
@@ -14589,7 +14620,7 @@ function useCategorizeBankTransactionWithCacheUpdate() {
14589
14620
  isError
14590
14621
  ]);
14591
14622
  }
14592
- var _excluded$54 = ["bankTransactionId"];
14623
+ var _excluded$55 = ["bankTransactionId"];
14593
14624
  var matchBankTransaction = put(({ businessId, bankTransactionId }) => `/v1/businesses/${businessId}/bank-transactions/${bankTransactionId}/match`);
14594
14625
  var MATCH_BANK_TRANSACTION_TAG = "#match-bank-transaction";
14595
14626
  function buildKey$72({ access_token: accessToken, apiUrl, businessId }) {
@@ -14613,7 +14644,7 @@ function useMatchBankTransaction() {
14613
14644
  apiUrl: auth === null || auth === void 0 ? void 0 : auth.apiUrl,
14614
14645
  businessId
14615
14646
  })), ({ accessToken, apiUrl, businessId: businessId$1 }, _ref) => {
14616
- let { arg: _ref2 } = _ref, { bankTransactionId } = _ref2, body = _objectWithoutProperties(_ref2, _excluded$54);
14647
+ let { arg: _ref2 } = _ref, { bankTransactionId } = _ref2, body = _objectWithoutProperties(_ref2, _excluded$55);
14617
14648
  return matchBankTransaction(apiUrl, accessToken, {
14618
14649
  params: {
14619
14650
  businessId: businessId$1,
@@ -14741,14 +14772,14 @@ function useDelayedVisibility({ delay, initialVisibility = false }) {
14741
14772
  }, []);
14742
14773
  return { isVisible };
14743
14774
  }
14744
- var _excluded$53 = ["size"];
14775
+ var _excluded$54 = ["size"];
14745
14776
  var File$1 = (_ref) => {
14746
14777
  let { size = 12 } = _ref;
14747
14778
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
14748
14779
  xmlns: "http://www.w3.org/2000/svg",
14749
14780
  viewBox: "0 0 12 12",
14750
14781
  fill: "none"
14751
- }, _objectWithoutProperties(_ref, _excluded$53)), {}, {
14782
+ }, _objectWithoutProperties(_ref, _excluded$54)), {}, {
14752
14783
  width: size,
14753
14784
  height: size,
14754
14785
  children: [
@@ -14850,7 +14881,7 @@ const variants = {
14850
14881
  }
14851
14882
  }
14852
14883
  };
14853
- var _excluded$52 = [
14884
+ var _excluded$53 = [
14854
14885
  "as",
14855
14886
  "children",
14856
14887
  "variant",
@@ -14859,7 +14890,7 @@ var _excluded$52 = [
14859
14890
  "motionKey"
14860
14891
  ];
14861
14892
  function AnimatedPresenceElementInner(_ref, ref) {
14862
- let { as, children, variant, isOpen, slotProps = { AnimatePresence: { initial: false } }, motionKey } = _ref, props = _objectWithoutProperties(_ref, _excluded$52);
14893
+ let { as, children, variant, isOpen, slotProps = { AnimatePresence: { initial: false } }, motionKey } = _ref, props = _objectWithoutProperties(_ref, _excluded$53);
14863
14894
  const config = variants[variant];
14864
14895
  const MotionComponent = motion[as !== null && as !== void 0 ? as : "div"];
14865
14896
  return /* @__PURE__ */ jsx(AnimatePresence, _objectSpread2(_objectSpread2({}, slotProps.AnimatePresence), {}, { children: isOpen && /* @__PURE__ */ jsx(MotionComponent, _objectSpread2(_objectSpread2({
@@ -15004,14 +15035,14 @@ function useBookkeepingPeriods() {
15004
15035
  return Reflect.get(target, prop);
15005
15036
  } });
15006
15037
  }
15007
- var _excluded$51 = ["size"];
15038
+ var _excluded$52 = ["size"];
15008
15039
  var Clock$1 = (_ref) => {
15009
15040
  let { size = 18 } = _ref;
15010
15041
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
15011
15042
  xmlns: "http://www.w3.org/2000/svg",
15012
15043
  viewBox: "0 0 18 18",
15013
15044
  fill: "none"
15014
- }, _objectWithoutProperties(_ref, _excluded$51)), {}, {
15045
+ }, _objectWithoutProperties(_ref, _excluded$52)), {}, {
15015
15046
  width: size,
15016
15047
  height: size,
15017
15048
  children: [/* @__PURE__ */ jsx("path", {
@@ -15516,14 +15547,14 @@ const useSplitsForm = ({ bankTransaction, selectedCategory, isOpen }) => {
15516
15547
  saveLocalSplitsToCategoryStore
15517
15548
  };
15518
15549
  };
15519
- var _excluded$50 = ["size"];
15550
+ var _excluded$51 = ["size"];
15520
15551
  var ScissorsFullOpen = (_ref) => {
15521
15552
  let { size = 12 } = _ref;
15522
15553
  return /* @__PURE__ */ jsx("svg", _objectSpread2(_objectSpread2({
15523
15554
  viewBox: "0 0 12 12",
15524
15555
  fill: "none",
15525
15556
  xmlns: "http://www.w3.org/2000/svg"
15526
- }, _objectWithoutProperties(_ref, _excluded$50)), {}, {
15557
+ }, _objectWithoutProperties(_ref, _excluded$51)), {}, {
15527
15558
  width: size,
15528
15559
  height: size,
15529
15560
  children: /* @__PURE__ */ jsxs("g", {
@@ -15569,14 +15600,14 @@ var ScissorsFullOpen = (_ref) => {
15569
15600
  }));
15570
15601
  };
15571
15602
  var ScissorsFullOpen_default = ScissorsFullOpen;
15572
- var _excluded$49 = ["size"];
15603
+ var _excluded$50 = ["size"];
15573
15604
  var Trash$1 = (_ref) => {
15574
15605
  let { size = 18 } = _ref;
15575
15606
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
15576
15607
  xmlns: "http://www.w3.org/2000/svg",
15577
15608
  viewBox: "0 0 18 18",
15578
15609
  fill: "none"
15579
- }, _objectWithoutProperties(_ref, _excluded$49)), {}, {
15610
+ }, _objectWithoutProperties(_ref, _excluded$50)), {}, {
15580
15611
  width: size,
15581
15612
  height: size,
15582
15613
  children: [
@@ -16324,9 +16355,9 @@ const ReceiptsProvider = ({ children, bankTransaction, isActive }) => {
16324
16355
  children
16325
16356
  });
16326
16357
  };
16327
- var _excluded$48 = ["size"];
16358
+ var _excluded$49 = ["size"];
16328
16359
  var Eye = (_ref) => {
16329
- let { size = 18 } = _ref, props = _objectWithoutProperties(_ref, _excluded$48);
16360
+ let { size = 18 } = _ref, props = _objectWithoutProperties(_ref, _excluded$49);
16330
16361
  return /* @__PURE__ */ jsx("svg", _objectSpread2(_objectSpread2({
16331
16362
  xmlns: "http://www.w3.org/2000/svg",
16332
16363
  width: size,
@@ -16420,9 +16451,9 @@ const FileThumb = ({ url, floatingActions = false, uploadPending, deletePending,
16420
16451
  }) : null]
16421
16452
  });
16422
16453
  };
16423
- var _excluded$47 = ["className", "children"];
16454
+ var _excluded$48 = ["className", "children"];
16424
16455
  const TextButton = (_ref) => {
16425
- let { className, children } = _ref, props = _objectWithoutProperties(_ref, _excluded$47);
16456
+ let { className, children } = _ref, props = _objectWithoutProperties(_ref, _excluded$48);
16426
16457
  const baseClassName$1 = classNames("Layer__text-btn", className);
16427
16458
  return /* @__PURE__ */ jsx("button", _objectSpread2(_objectSpread2({}, props), {}, {
16428
16459
  className: baseClassName$1,
@@ -16468,7 +16499,7 @@ const FileInput = ({ text, onUpload, disabled = false, secondary, iconOnly = fal
16468
16499
  style: { display: "none" }
16469
16500
  })] });
16470
16501
  };
16471
- var _excluded$46 = ["bankTransaction", "isActive"];
16502
+ var _excluded$47 = ["bankTransaction", "isActive"];
16472
16503
  var MAX_RECEIPTS_COUNT = 10;
16473
16504
  var openReceiptInNewTab = (url, receiptTitle) => (e) => {
16474
16505
  e.preventDefault();
@@ -16489,7 +16520,7 @@ var BankTransactionReceiptsWithProvider = forwardRef((_ref, ref) => {
16489
16520
  return /* @__PURE__ */ jsx(ReceiptsProvider, {
16490
16521
  bankTransaction,
16491
16522
  isActive,
16492
- children: /* @__PURE__ */ jsx(BankTransactionReceipts, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$46)), {}, { ref }))
16523
+ children: /* @__PURE__ */ jsx(BankTransactionReceipts, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$47)), {}, { ref }))
16493
16524
  });
16494
16525
  });
16495
16526
  BankTransactionReceiptsWithProvider.displayName = "BankTransactionReceiptsWithProvider";
@@ -16568,14 +16599,14 @@ const getCurrencyFormatConfig = (intl) => {
16568
16599
  suffix: parts.slice(lastNumberIndex + 1).map((part) => part.value).join("")
16569
16600
  };
16570
16601
  };
16571
- var _excluded$45 = [
16602
+ var _excluded$46 = [
16572
16603
  "onChange",
16573
16604
  "className",
16574
16605
  "errorMessage",
16575
16606
  "isInvalid"
16576
16607
  ];
16577
16608
  const AmountInput = (_ref) => {
16578
- let { onChange, className, errorMessage, isInvalid } = _ref, props = _objectWithoutProperties(_ref, _excluded$45);
16609
+ let { onChange, className, errorMessage, isInvalid } = _ref, props = _objectWithoutProperties(_ref, _excluded$46);
16579
16610
  const intl = useIntl();
16580
16611
  const formatter = useIntlFormatter();
16581
16612
  const currencyFormatConfig = useMemo(() => getCurrencyFormatConfig(intl), [intl]);
@@ -17215,14 +17246,14 @@ const BankTransactionsMobileListItemCheckbox = ({ bulkActionsEnabled, bankTransa
17215
17246
  })
17216
17247
  });
17217
17248
  };
17218
- var _excluded$44 = ["size"];
17249
+ var _excluded$45 = ["size"];
17219
17250
  var Paperclip = (_ref) => {
17220
17251
  let { size = 20 } = _ref;
17221
17252
  return /* @__PURE__ */ jsx("svg", _objectSpread2(_objectSpread2({
17222
17253
  xmlns: "http://www.w3.org/2000/svg",
17223
17254
  viewBox: "0 0 20 20",
17224
17255
  fill: "none"
17225
- }, _objectWithoutProperties(_ref, _excluded$44)), {}, {
17256
+ }, _objectWithoutProperties(_ref, _excluded$45)), {}, {
17226
17257
  width: size,
17227
17258
  height: size,
17228
17259
  children: /* @__PURE__ */ jsx("path", {
@@ -18302,14 +18333,14 @@ const BankTransactionRow = ({ index, bankTransaction, initialLoad, showDescripti
18302
18333
  })
18303
18334
  }) })] });
18304
18335
  };
18305
- var _excluded$43 = ["size"];
18336
+ var _excluded$44 = ["size"];
18306
18337
  var Inbox = (_ref) => {
18307
18338
  let { size = 18 } = _ref;
18308
18339
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
18309
18340
  xmlns: "http://www.w3.org/2000/svg",
18310
18341
  viewBox: "0 0 18 18",
18311
18342
  fill: "none"
18312
- }, _objectWithoutProperties(_ref, _excluded$43)), {}, {
18343
+ }, _objectWithoutProperties(_ref, _excluded$44)), {}, {
18313
18344
  width: size,
18314
18345
  height: size,
18315
18346
  children: [/* @__PURE__ */ jsx("path", {
@@ -18607,14 +18638,14 @@ function useArchiveCategorizationRule() {
18607
18638
  return Reflect.get(target, prop);
18608
18639
  } });
18609
18640
  }
18610
- var _excluded$42 = ["size"];
18641
+ var _excluded$43 = ["size"];
18611
18642
  var BackArrow = (_ref) => {
18612
18643
  let { size = 18 } = _ref;
18613
18644
  return /* @__PURE__ */ jsx("svg", _objectSpread2(_objectSpread2({
18614
18645
  viewBox: "0 0 12 12",
18615
18646
  fill: "none",
18616
18647
  xmlns: "http://www.w3.org/2000/svg"
18617
- }, _objectWithoutProperties(_ref, _excluded$42)), {}, {
18648
+ }, _objectWithoutProperties(_ref, _excluded$43)), {}, {
18618
18649
  width: size,
18619
18650
  height: size,
18620
18651
  children: /* @__PURE__ */ jsx("path", {
@@ -18711,17 +18742,17 @@ var EMPTY_ARRAY$4 = [];
18711
18742
  var isSelectionEnabled = (props) => props.selectionMode !== "none" && props.enableSelection;
18712
18743
  var isGrouped = (data) => !!data && !Array.isArray(data);
18713
18744
  const MobileList = ({ ariaLabel, data, slots, renderItem, onClickItem, isLoading, isError, variant = "default", enableSelection = false, selectionMode = "none", selectedKeys, onSelectionChange }) => {
18714
- const { EmptyState: EmptyState$7, ErrorState: ErrorState$8 } = slots;
18745
+ const { EmptyState: EmptyState$8, ErrorState: ErrorState$9 } = slots;
18715
18746
  const resolvedSelectionMode = isSelectionEnabled({
18716
18747
  enableSelection,
18717
18748
  selectionMode
18718
18749
  }) ? selectionMode : "none";
18719
18750
  const resolvedSelectionBehavior = resolvedSelectionMode === "none" ? "toggle" : void 0;
18720
18751
  const renderEmptyState = useCallback(() => {
18721
- return /* @__PURE__ */ jsx(EmptyState$7, {});
18722
- }, [EmptyState$7]);
18752
+ return /* @__PURE__ */ jsx(EmptyState$8, {});
18753
+ }, [EmptyState$8]);
18723
18754
  if (isLoading) return /* @__PURE__ */ jsx(MobileListSkeleton, { variant });
18724
- if (isError) return /* @__PURE__ */ jsx(ErrorState$8, {});
18755
+ if (isError) return /* @__PURE__ */ jsx(ErrorState$9, {});
18725
18756
  const renderRow = (item) => /* @__PURE__ */ jsx(MobileListItem, {
18726
18757
  item,
18727
18758
  onClickItem,
@@ -18776,9 +18807,9 @@ const usePaginationRange = ({ totalCount, pageSize, siblingCount = 1, currentPag
18776
18807
  currentPage
18777
18808
  ]);
18778
18809
  };
18779
- var _excluded$41 = ["children", "isSelected"];
18810
+ var _excluded$42 = ["children", "isSelected"];
18780
18811
  var PaginationButton = (_ref) => {
18781
- let { children, isSelected } = _ref, buttonProps = _objectWithoutProperties(_ref, _excluded$41);
18812
+ let { children, isSelected } = _ref, buttonProps = _objectWithoutProperties(_ref, _excluded$42);
18782
18813
  return /* @__PURE__ */ jsx(Button$1, _objectSpread2(_objectSpread2({
18783
18814
  inset: true,
18784
18815
  icon: true,
@@ -18845,11 +18876,11 @@ const Pagination = ({ onPageChange, totalCount, siblingCount = 1, currentPage, p
18845
18876
  })
18846
18877
  });
18847
18878
  };
18848
- var _excluded$40 = ["data", "paginationProps"];
18879
+ var _excluded$41 = ["data", "paginationProps"];
18849
18880
  var EMPTY_ARRAY$3 = [];
18850
18881
  const PaginatedMobileList = (props) => {
18851
18882
  var _data$length;
18852
- const { data, paginationProps } = props, listProps = _objectWithoutProperties(props, _excluded$40);
18883
+ const { data, paginationProps } = props, listProps = _objectWithoutProperties(props, _excluded$41);
18853
18884
  const { initialPage = 0, onSetPage, pageSize = 20, hasMore, fetchMore, autoResetPageIndexRef } = paginationProps;
18854
18885
  const { pageItems, pageIndex, setPage } = usePaginatedList({
18855
18886
  data: data !== null && data !== void 0 ? data : EMPTY_ARRAY$3,
@@ -19014,7 +19045,7 @@ const useColumnPinningStyles = (headerGroups) => {
19014
19045
  };
19015
19046
  const DataTable = ({ isLoading, isError, componentName, ariaLabel, slots, dependencies: dependencies$1, data, headerGroups, numColumns, withClickableRow }) => {
19016
19047
  const nonAria = headerGroups.length > 1;
19017
- const { EmptyState: EmptyState$7, ErrorState: ErrorState$8 } = slots;
19048
+ const { EmptyState: EmptyState$8, ErrorState: ErrorState$9 } = slots;
19018
19049
  const { headerRef, pinningStyles } = useColumnPinningStyles(headerGroups);
19019
19050
  const isEmptyTable = (data === null || data === void 0 ? void 0 : data.length) === 0;
19020
19051
  const renderTableBody = useMemo(() => {
@@ -19025,7 +19056,7 @@ const DataTable = ({ isLoading, isError, componentName, ariaLabel, slots, depend
19025
19056
  className: "Layer__DataTable__EmptyState__Cell",
19026
19057
  colSpan: numColumns,
19027
19058
  nonAria,
19028
- children: /* @__PURE__ */ jsx(ErrorState$8, {})
19059
+ children: /* @__PURE__ */ jsx(ErrorState$9, {})
19029
19060
  })
19030
19061
  });
19031
19062
  if (isLoading) return /* @__PURE__ */ jsx(Row$1, {
@@ -19045,7 +19076,7 @@ const DataTable = ({ isLoading, isError, componentName, ariaLabel, slots, depend
19045
19076
  className: "Layer__DataTable__EmptyState__Cell",
19046
19077
  colSpan: numColumns,
19047
19078
  nonAria,
19048
- children: /* @__PURE__ */ jsx(EmptyState$7, {})
19079
+ children: /* @__PURE__ */ jsx(EmptyState$8, {})
19049
19080
  })
19050
19081
  });
19051
19082
  return /* @__PURE__ */ jsx(Fragment$1, { children: data === null || data === void 0 ? void 0 : data.map((row) => {
@@ -19076,15 +19107,15 @@ const DataTable = ({ isLoading, isError, componentName, ariaLabel, slots, depend
19076
19107
  data,
19077
19108
  nonAria,
19078
19109
  numColumns,
19079
- ErrorState$8,
19080
- EmptyState$7,
19110
+ ErrorState$9,
19111
+ EmptyState$8,
19081
19112
  withClickableRow,
19082
19113
  componentName,
19083
19114
  pinningStyles
19084
19115
  ]);
19085
19116
  return /* @__PURE__ */ jsx("div", {
19086
19117
  className: "Layer__UI__Table-ScrollContainer",
19087
- children: /* @__PURE__ */ jsxs(Table$1, {
19118
+ children: /* @__PURE__ */ jsxs(Table$2, {
19088
19119
  "aria-label": ariaLabel,
19089
19120
  className: `Layer__UI__Table__${componentName}`,
19090
19121
  nonAria,
@@ -19107,7 +19138,7 @@ const DataTable = ({ isLoading, isError, componentName, ariaLabel, slots, depend
19107
19138
  }, header.id);
19108
19139
  })
19109
19140
  }, headerGroup.id))
19110
- }), /* @__PURE__ */ jsx(TableBody$1, {
19141
+ }), /* @__PURE__ */ jsx(TableBody$2, {
19111
19142
  dependencies: dependencies$1,
19112
19143
  nonAria,
19113
19144
  children: renderTableBody
@@ -19168,7 +19199,7 @@ var CategorizationRuleColumns = /* @__PURE__ */ function(CategorizationRuleColum
19168
19199
  CategorizationRuleColumns$1["Delete"] = "Delete";
19169
19200
  return CategorizationRuleColumns$1;
19170
19201
  }(CategorizationRuleColumns || {});
19171
- var COMPONENT_NAME$13 = "CategorizationRulesTable";
19202
+ var COMPONENT_NAME$14 = "CategorizationRulesTable";
19172
19203
  const CategorizationRulesTable = ({ data, isLoading, isError, paginationProps, options, onDeleteRule, slots }) => {
19173
19204
  const { t } = useTranslation();
19174
19205
  const columnConfig = useMemo(() => [
@@ -19227,7 +19258,7 @@ const CategorizationRulesTable = ({ data, isLoading, isError, paginationProps, o
19227
19258
  isError,
19228
19259
  columnConfig,
19229
19260
  paginationProps,
19230
- componentName: COMPONENT_NAME$13,
19261
+ componentName: COMPONENT_NAME$14,
19231
19262
  slots
19232
19263
  });
19233
19264
  };
@@ -19612,14 +19643,14 @@ function RuleUpdatesPromptStep({ ruleSuggestion, close, isDrawer }) {
19612
19643
  function asMutable(a) {
19613
19644
  return a;
19614
19645
  }
19615
- var COMPONENT_NAME$12 = "AffectedTransactionsTable";
19646
+ var COMPONENT_NAME$13 = "AffectedTransactionsTable";
19616
19647
  var TransactionColumns = /* @__PURE__ */ function(TransactionColumns$1) {
19617
19648
  TransactionColumns$1["Date"] = "Date";
19618
19649
  TransactionColumns$1["Description"] = "Description";
19619
19650
  TransactionColumns$1["Amount"] = "Amount";
19620
19651
  return TransactionColumns$1;
19621
19652
  }(TransactionColumns || {});
19622
- var ErrorState$6 = () => {
19653
+ var ErrorState$7 = () => {
19623
19654
  const { t } = useTranslation();
19624
19655
  return /* @__PURE__ */ jsx(DataState, {
19625
19656
  spacing: true,
@@ -19628,7 +19659,7 @@ var ErrorState$6 = () => {
19628
19659
  description: t("categorizationRules:error.load_affected_transactions", "There was an error loading the affected transactions")
19629
19660
  });
19630
19661
  };
19631
- var EmptyState$5 = () => {
19662
+ var EmptyState$6 = () => {
19632
19663
  const { t } = useTranslation();
19633
19664
  return /* @__PURE__ */ jsx(DataState, {
19634
19665
  spacing: true,
@@ -19673,7 +19704,7 @@ const AffectedTransactionsTable = ({ transactions, isLoading = false, isError =
19673
19704
  return /* @__PURE__ */ jsx(VStack, {
19674
19705
  className: "Layer__AffectedTransactionsTable",
19675
19706
  children: /* @__PURE__ */ jsx(VirtualizedDataTable, {
19676
- componentName: COMPONENT_NAME$12,
19707
+ componentName: COMPONENT_NAME$13,
19677
19708
  ariaLabel: t("bankTransactions:label.affected_transactions", "Affected transactions"),
19678
19709
  columnConfig,
19679
19710
  data: transactions,
@@ -19682,8 +19713,8 @@ const AffectedTransactionsTable = ({ transactions, isLoading = false, isError =
19682
19713
  height: 500,
19683
19714
  shrinkHeightToFitRows: true,
19684
19715
  slots: {
19685
- EmptyState: EmptyState$5,
19686
- ErrorState: ErrorState$6
19716
+ EmptyState: EmptyState$6,
19717
+ ErrorState: ErrorState$7
19687
19718
  }
19688
19719
  })
19689
19720
  });
@@ -19813,7 +19844,7 @@ const SuggestedCategorizationRuleUpdatesDialog = ({ isOpen, onOpenChange, ruleSu
19813
19844
  })] })
19814
19845
  });
19815
19846
  };
19816
- var _excluded$39 = [
19847
+ var _excluded$40 = [
19817
19848
  "onError",
19818
19849
  "showTags",
19819
19850
  "showCustomerVendor",
@@ -19823,9 +19854,9 @@ var _excluded$39 = [
19823
19854
  "renderInAppLink",
19824
19855
  "filters"
19825
19856
  ];
19826
- var COMPONENT_NAME$11 = "bank-transactions";
19857
+ var COMPONENT_NAME$12 = "bank-transactions";
19827
19858
  const BankTransactions = (_ref) => {
19828
- let { onError, showTags = false, showCustomerVendor = false, monthlyView = false, applyGlobalDateRange = false, mode, renderInAppLink, filters } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$39);
19859
+ let { onError, showTags = false, showCustomerVendor = false, monthlyView = false, applyGlobalDateRange = false, mode, renderInAppLink, filters } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$40);
19829
19860
  usePreloadTagDimensions({ isEnabled: showTags });
19830
19861
  usePreloadCustomers({ isEnabled: showCustomerVendor });
19831
19862
  usePreloadVendors({ isEnabled: showCustomerVendor });
@@ -20000,7 +20031,7 @@ var BankTransactionsTableView = ({ asWidget = false, pageSize = 20, showDescript
20000
20031
  return /* @__PURE__ */ jsxs(Container, {
20001
20032
  className: classNames("Layer__Public", display === DisplayState.review ? "Layer__bank-transactions--to-review" : "Layer__bank-transactions--categorized"),
20002
20033
  transparentBg: listView && mobileComponent === "mobileList",
20003
- name: COMPONENT_NAME$11,
20034
+ name: COMPONENT_NAME$12,
20004
20035
  asWidget,
20005
20036
  ref: containerRef,
20006
20037
  children: [
@@ -20131,9 +20162,9 @@ function QuickbooksContextProvider({ children }) {
20131
20162
  children
20132
20163
  });
20133
20164
  }
20134
- var _excluded$38 = ["size"];
20165
+ var _excluded$39 = ["size"];
20135
20166
  var Cog = (_ref) => {
20136
- let { size = 12 } = _ref, props = _objectWithoutProperties(_ref, _excluded$38);
20167
+ let { size = 12 } = _ref, props = _objectWithoutProperties(_ref, _excluded$39);
20137
20168
  const id = useId();
20138
20169
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
20139
20170
  xmlns: "http://www.w3.org/2000/svg",
@@ -20164,9 +20195,9 @@ var Cog = (_ref) => {
20164
20195
  }) })] }));
20165
20196
  };
20166
20197
  var Cog_default = Cog;
20167
- var _excluded$37 = ["size"];
20198
+ var _excluded$38 = ["size"];
20168
20199
  var QuickbooksIcon = (_ref) => {
20169
- let { size = 24 } = _ref, props = _objectWithoutProperties(_ref, _excluded$37);
20200
+ let { size = 24 } = _ref, props = _objectWithoutProperties(_ref, _excluded$38);
20170
20201
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
20171
20202
  xmlns: "http://www.w3.org/2000/svg",
20172
20203
  viewBox: "0 0 24 24",
@@ -20353,14 +20384,14 @@ function IntegrationsQuickbooksUnlinkConfirmationModal({ isOpen, onOpenChange })
20353
20384
  errorText: t("integrations:error.unlink_failed", "Unlink failed. Please check your connection and try again in a few seconds.")
20354
20385
  });
20355
20386
  }
20356
- var _excluded$36 = ["size"];
20387
+ var _excluded$37 = ["size"];
20357
20388
  var MoreVertical = (_ref) => {
20358
20389
  let { size = 18 } = _ref;
20359
20390
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
20360
20391
  viewBox: "0 0 16 14",
20361
20392
  fill: "none",
20362
20393
  xmlns: "http://www.w3.org/2000/svg"
20363
- }, _objectWithoutProperties(_ref, _excluded$36)), {}, {
20394
+ }, _objectWithoutProperties(_ref, _excluded$37)), {}, {
20364
20395
  width: size,
20365
20396
  height: size,
20366
20397
  children: [
@@ -20523,7 +20554,7 @@ const IntegrationsContent = () => {
20523
20554
  children: (quickbooksConnectionStatus === null || quickbooksConnectionStatus === void 0 ? void 0 : quickbooksConnectionStatus.is_connected) && /* @__PURE__ */ jsx(IntegrationsQuickbooksItemThumb, {})
20524
20555
  });
20525
20556
  };
20526
- var COMPONENT_NAME$10 = "integrations";
20557
+ var COMPONENT_NAME$11 = "integrations";
20527
20558
  const Integrations = (props) => {
20528
20559
  return /* @__PURE__ */ jsx(QuickbooksContextProvider, { children: /* @__PURE__ */ jsx(IntegrationsComponent, _objectSpread2({}, props)) });
20529
20560
  };
@@ -20532,7 +20563,7 @@ const IntegrationsComponent = ({ stringOverrides }) => {
20532
20563
  const { quickbooksConnectionStatus } = useContext(QuickbooksContext);
20533
20564
  const isLoading = quickbooksConnectionStatus === void 0;
20534
20565
  return /* @__PURE__ */ jsxs(Container, {
20535
- name: COMPONENT_NAME$10,
20566
+ name: COMPONENT_NAME$11,
20536
20567
  children: [
20537
20568
  /* @__PURE__ */ jsxs(Header$4, {
20538
20569
  className: "Layer__linked-accounts__header",
@@ -20554,14 +20585,14 @@ const IntegrationsComponent = ({ stringOverrides }) => {
20554
20585
  ]
20555
20586
  });
20556
20587
  };
20557
- var _excluded$35 = ["size"];
20588
+ var _excluded$36 = ["size"];
20558
20589
  var PlusIcon = (_ref) => {
20559
20590
  let { size = 14 } = _ref;
20560
20591
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
20561
20592
  xmlns: "http://www.w3.org/2000/svg",
20562
20593
  viewBox: "0 0 16 16",
20563
20594
  fill: "none"
20564
- }, _objectWithoutProperties(_ref, _excluded$35)), {}, {
20595
+ }, _objectWithoutProperties(_ref, _excluded$36)), {}, {
20565
20596
  width: size,
20566
20597
  height: size,
20567
20598
  children: [
@@ -20636,14 +20667,14 @@ function useConfirmAndExcludeMultiple({ onSuccess }) {
20636
20667
  throwOnError: false
20637
20668
  });
20638
20669
  }
20639
- var _excluded$34 = ["size"];
20670
+ var _excluded$35 = ["size"];
20640
20671
  var InstitutionIcon = (_ref) => {
20641
20672
  let { size = 18 } = _ref;
20642
20673
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
20643
20674
  viewBox: "0 0 27 28",
20644
20675
  fill: "none",
20645
20676
  xmlns: "http://www.w3.org/2000/svg"
20646
- }, _objectWithoutProperties(_ref, _excluded$34)), {}, {
20677
+ }, _objectWithoutProperties(_ref, _excluded$35)), {}, {
20647
20678
  width: size,
20648
20679
  height: size,
20649
20680
  children: [
@@ -21169,10 +21200,10 @@ const MenuItem$2 = forwardRef(function MenuItem$3({ children, textValue, onActio
21169
21200
  children
21170
21201
  });
21171
21202
  });
21172
- var _excluded$33 = ["children", "status"];
21203
+ var _excluded$34 = ["children", "status"];
21173
21204
  var PILL_CLASS_NAME = "Layer__Pill";
21174
21205
  const Pill = forwardRef(function Pill$1(_ref, ref) {
21175
- let { children, status } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$33);
21206
+ let { children, status } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$34);
21176
21207
  const dataProperties = toDataProperties({ status });
21177
21208
  return /* @__PURE__ */ jsx(Button, _objectSpread2(_objectSpread2(_objectSpread2({}, restProps), dataProperties), {}, {
21178
21209
  className: PILL_CLASS_NAME,
@@ -21851,7 +21882,7 @@ function OpeningBalanceModal({ stringOverrides }) {
21851
21882
  })
21852
21883
  });
21853
21884
  }
21854
- var COMPONENT_NAME$9 = "linked-accounts";
21885
+ var COMPONENT_NAME$10 = "linked-accounts";
21855
21886
  const LinkedAccounts = (props) => {
21856
21887
  return /* @__PURE__ */ jsx(AccountConfirmationStoreProvider, { children: /* @__PURE__ */ jsx(LinkedAccountsProvider, { children: /* @__PURE__ */ jsx(LinkedAccountsComponent, _objectSpread2({}, props)) }) });
21857
21888
  };
@@ -21859,7 +21890,7 @@ const LinkedAccountsComponent = ({ asWidget, elevated = false, showLedgerBalance
21859
21890
  const { t } = useTranslation();
21860
21891
  const { isLoading, error: error$38, isValidating, refetchAccounts } = useContext(LinkedAccountsContext);
21861
21892
  return /* @__PURE__ */ jsxs(Container, {
21862
- name: COMPONENT_NAME$9,
21893
+ name: COMPONENT_NAME$10,
21863
21894
  elevated,
21864
21895
  children: [
21865
21896
  /* @__PURE__ */ jsx(Header$4, {
@@ -22330,7 +22361,7 @@ const useProfitAndLossLTM = ({ tagFilter, reportingBasis, chartWindow }) => {
22330
22361
  isError
22331
22362
  };
22332
22363
  };
22333
- var _excluded$32 = [
22364
+ var _excluded$33 = [
22334
22365
  "verticalAnchor",
22335
22366
  "visibleTicksCount",
22336
22367
  "tickFormatter",
@@ -22339,7 +22370,7 @@ var _excluded$32 = [
22339
22370
  ], _excluded2$4 = ["format"];
22340
22371
  var CustomizedYTick = (_ref) => {
22341
22372
  let { verticalAnchor: _verticalAnchor, visibleTicksCount: _visibleTicksCount, tickFormatter: _tickFormatter, format: format$1, payload } = _ref;
22342
- return /* @__PURE__ */ jsx("text", _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$32)), {}, {
22373
+ return /* @__PURE__ */ jsx("text", _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$33)), {}, {
22343
22374
  className: "Layer__ChartYAxis__tick",
22344
22375
  children: /* @__PURE__ */ jsx("tspan", {
22345
22376
  dy: "0.355em",
@@ -22516,7 +22547,7 @@ const ProfitAndLossChartSelectionIndicator = ({ viewBox, selected }) => {
22516
22547
  height: "calc(100% - 30px)"
22517
22548
  });
22518
22549
  };
22519
- var _excluded$31 = ["payload", "fill"];
22550
+ var _excluded$32 = ["payload", "fill"];
22520
22551
  var BAR_RADIUS$1 = [
22521
22552
  2,
22522
22553
  2,
@@ -22536,7 +22567,7 @@ const ProfitAndLossChartBar = ({ dataKey, xAxisId, cellFill, className, barSize,
22536
22567
  isAnimationActive: barAnimation,
22537
22568
  fill: cellFill,
22538
22569
  shape: useCallback((props) => {
22539
- const { payload, fill } = props, restProps = _objectWithoutProperties(props, _excluded$31);
22570
+ const { payload, fill } = props, restProps = _objectWithoutProperties(props, _excluded$32);
22540
22571
  const shouldRound = payload && isOutermostBar(payload, dataKey, xAxisId);
22541
22572
  return /* @__PURE__ */ jsx(Rectangle, _objectSpread2(_objectSpread2({}, restProps), {}, {
22542
22573
  fill,
@@ -22598,14 +22629,14 @@ const ProfitAndLossChartLegend = () => {
22598
22629
  })), [t]))
22599
22630
  });
22600
22631
  };
22601
- var _excluded$30 = ["size"];
22632
+ var _excluded$31 = ["size"];
22602
22633
  var BarChart2 = (_ref) => {
22603
22634
  let { size = 12 } = _ref;
22604
22635
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
22605
22636
  xmlns: "http://www.w3.org/2000/svg",
22606
22637
  viewBox: "0 0 12 12",
22607
22638
  fill: "none"
22608
- }, _objectWithoutProperties(_ref, _excluded$30)), {}, {
22639
+ }, _objectWithoutProperties(_ref, _excluded$31)), {}, {
22609
22640
  width: size,
22610
22641
  height: size,
22611
22642
  children: [
@@ -22648,7 +22679,7 @@ const ProfitAndLossChartStateCard = () => {
22648
22679
  })]
22649
22680
  });
22650
22681
  };
22651
- var _excluded$29 = [
22682
+ var _excluded$30 = [
22652
22683
  "content",
22653
22684
  "cursorWidth",
22654
22685
  "animationDuration",
@@ -22684,7 +22715,7 @@ const ChartTooltipCursor = ({ width, points, height }) => {
22684
22715
  });
22685
22716
  };
22686
22717
  const ChartTooltip = (_ref) => {
22687
- let { content, cursorWidth, animationDuration = 100, animationEasing = "ease-out" } = _ref, props = _objectWithoutProperties(_ref, _excluded$29);
22718
+ let { content, cursorWidth, animationDuration = 100, animationEasing = "ease-out" } = _ref, props = _objectWithoutProperties(_ref, _excluded$30);
22688
22719
  return /* @__PURE__ */ jsx(Tooltip, _objectSpread2({
22689
22720
  wrapperClassName: "Layer__ChartTooltip__wrapper",
22690
22721
  content,
@@ -22945,9 +22976,9 @@ const ProfitAndLossChart = ({ tagFilter }) => {
22945
22976
  }, "pnl-chart"), isSyncing ? /* @__PURE__ */ jsx(ProfitAndLossChartStateCard, {}) : null]
22946
22977
  });
22947
22978
  };
22948
- var _excluded$28 = ["className", "textOnly"];
22979
+ var _excluded$29 = ["className", "textOnly"];
22949
22980
  const BackButton = (_ref) => {
22950
- let { className, textOnly = false } = _ref, props = _objectWithoutProperties(_ref, _excluded$28);
22981
+ let { className, textOnly = false } = _ref, props = _objectWithoutProperties(_ref, _excluded$29);
22951
22982
  const baseClassName$1 = classNames("Layer__btn", "Layer__back-btn", className);
22952
22983
  return /* @__PURE__ */ jsx("button", _objectSpread2(_objectSpread2({}, props), {}, {
22953
22984
  className: baseClassName$1,
@@ -23121,7 +23152,7 @@ const DetailedChart = ({ data, isLoading, interactionProps, stylingProps, slots
23121
23152
  })]
23122
23153
  });
23123
23154
  };
23124
- var _excluded$27 = ["size"];
23155
+ var _excluded$28 = ["size"];
23125
23156
  var ClassNames = {
23126
23157
  DESC_ARROW: "Layer__SortArrows__DescArrow",
23127
23158
  ASC_ARROW: "Layer__SortArrows__AscArrow"
@@ -23132,7 +23163,7 @@ var SortArrows = (_ref) => {
23132
23163
  xmlns: "http://www.w3.org/2000/svg",
23133
23164
  viewBox: "0 0 12 13",
23134
23165
  fill: "none"
23135
- }, _objectWithoutProperties(_ref, _excluded$27)), {}, {
23166
+ }, _objectWithoutProperties(_ref, _excluded$28)), {}, {
23136
23167
  width: size,
23137
23168
  height: size,
23138
23169
  children: [/* @__PURE__ */ jsxs("g", {
@@ -23270,7 +23301,7 @@ var RegularValueIcon = ({ colorMapping }) => {
23270
23301
  })
23271
23302
  });
23272
23303
  };
23273
- var _excluded$26 = ["data"];
23304
+ var _excluded$27 = ["data"];
23274
23305
  const DetailedTable = ({ stylingProps, sortParams, sortFunction, interactionProps, rows, stringOverrides }) => {
23275
23306
  const { t } = useTranslation();
23276
23307
  const setAndToggleSortDirection = (params) => {
@@ -23401,7 +23432,7 @@ const DetailedTable = ({ stylingProps, sortParams, sortFunction, interactionProp
23401
23432
  });
23402
23433
  };
23403
23434
  const DetailedTableWithData = (_ref) => {
23404
- let { data } = _ref, props = _objectWithoutProperties(_ref, _excluded$26);
23435
+ let { data } = _ref, props = _objectWithoutProperties(_ref, _excluded$27);
23405
23436
  return /* @__PURE__ */ jsx(DetailedTable, _objectSpread2({ rows: useDetailedTableRows({ data }) }, props));
23406
23437
  };
23407
23438
  function useGlobalDatePickerBounds() {
@@ -23555,9 +23586,9 @@ const LedgerAccountsContext = createContext({
23555
23586
  hasMore: false,
23556
23587
  fetchMore: () => {}
23557
23588
  });
23558
- var _excluded$25 = ["className", "textOnly"];
23589
+ var _excluded$26 = ["className", "textOnly"];
23559
23590
  const CloseButton = (_ref) => {
23560
- let { className, textOnly = false } = _ref, props = _objectWithoutProperties(_ref, _excluded$25);
23591
+ let { className, textOnly = false } = _ref, props = _objectWithoutProperties(_ref, _excluded$26);
23561
23592
  const baseClassName$1 = classNames("Layer__btn", "Layer__back-btn", className);
23562
23593
  return /* @__PURE__ */ jsx("button", _objectSpread2(_objectSpread2({}, props), {}, {
23563
23594
  className: baseClassName$1,
@@ -23587,7 +23618,7 @@ const HeaderRow = ({ className, children, direction, style: style$1 }) => {
23587
23618
  children
23588
23619
  }));
23589
23620
  };
23590
- const Table$2 = ({ componentName, children, borderCollapse = "separate", bottomSpacing = true }) => {
23621
+ const Table$1 = ({ componentName, children, borderCollapse = "separate", bottomSpacing = true }) => {
23591
23622
  return /* @__PURE__ */ jsx("div", {
23592
23623
  className: classNames("Layer__table-wrapper", bottomSpacing && "Layer__table-wrapper--bottom-spacing"),
23593
23624
  children: /* @__PURE__ */ jsx("table", {
@@ -23596,7 +23627,7 @@ const Table$2 = ({ componentName, children, borderCollapse = "separate", bottomS
23596
23627
  })
23597
23628
  });
23598
23629
  };
23599
- const TableBody$2 = ({ children }) => {
23630
+ const TableBody$1 = ({ children }) => {
23600
23631
  return /* @__PURE__ */ jsx("tbody", {
23601
23632
  className: "Layer__table-body",
23602
23633
  children
@@ -23971,7 +24002,7 @@ const LedgerAccountEntryDetails = ({ stringOverrides }) => {
23971
24002
  }),
23972
24003
  !isLoadingEntry && !isErrorEntry ? /* @__PURE__ */ jsx("div", {
23973
24004
  className: "Layer__ledger-account__entry-details__line-items",
23974
- children: /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(Table$2, {
24005
+ children: /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(Table$1, {
23975
24006
  componentName: "ledger-account__entry-details",
23976
24007
  borderCollapse: "collapse",
23977
24008
  children: [/* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsxs(TableRow, {
@@ -23988,7 +24019,7 @@ const LedgerAccountEntryDetails = ({ stringOverrides }) => {
23988
24019
  children: (stringOverrides === null || stringOverrides === void 0 || (_stringOverrides$line3 = stringOverrides.lineItemsTable) === null || _stringOverrides$line3 === void 0 ? void 0 : _stringOverrides$line3.creditColumnHeader) || t("common:label.credit", "Credit")
23989
24020
  })
23990
24021
  ]
23991
- }) }), /* @__PURE__ */ jsxs(TableBody$2, { children: [entryData === null || entryData === void 0 || (_entryData$line_items2 = entryData.line_items) === null || _entryData$line_items2 === void 0 ? void 0 : _entryData$line_items2.map((item, index) => {
24022
+ }) }), /* @__PURE__ */ jsxs(TableBody$1, { children: [entryData === null || entryData === void 0 || (_entryData$line_items2 = entryData.line_items) === null || _entryData$line_items2 === void 0 ? void 0 : _entryData$line_items2.map((item, index) => {
23992
24023
  var _item$account;
23993
24024
  return /* @__PURE__ */ jsxs(TableRow, {
23994
24025
  rowKey: `ledger-line-item-${index}`,
@@ -24037,7 +24068,7 @@ const LedgerAccountEntryDetails = ({ stringOverrides }) => {
24037
24068
  ]
24038
24069
  });
24039
24070
  };
24040
- var COMPONENT_NAME$8 = "ProfitAndLossDetailReport";
24071
+ var COMPONENT_NAME$9 = "ProfitAndLossDetailReport";
24041
24072
  var PnlDetailColumns = /* @__PURE__ */ function(PnlDetailColumns$1) {
24042
24073
  PnlDetailColumns$1["Date"] = "Date";
24043
24074
  PnlDetailColumns$1["Type"] = "Type";
@@ -24047,7 +24078,7 @@ var PnlDetailColumns = /* @__PURE__ */ function(PnlDetailColumns$1) {
24047
24078
  PnlDetailColumns$1["Balance"] = "Balance";
24048
24079
  return PnlDetailColumns$1;
24049
24080
  }(PnlDetailColumns || {});
24050
- var ErrorState$5 = () => {
24081
+ var ErrorState$6 = () => {
24051
24082
  const { t } = useTranslation();
24052
24083
  return /* @__PURE__ */ jsx(DataState, {
24053
24084
  spacing: true,
@@ -24056,7 +24087,7 @@ var ErrorState$5 = () => {
24056
24087
  description: t("reports:error.load_pnl_detail_lines", "There was an error loading the profit and loss detail lines")
24057
24088
  });
24058
24089
  };
24059
- var EmptyState$4 = () => {
24090
+ var EmptyState$5 = () => {
24060
24091
  const { t } = useTranslation();
24061
24092
  return /* @__PURE__ */ jsx(DataState, {
24062
24093
  spacing: true,
@@ -24221,7 +24252,7 @@ const ProfitAndLossDetailReport = ({ lineItemName, breadcrumbPath, onClose, onBr
24221
24252
  children: /* @__PURE__ */ jsxs(VStack, {
24222
24253
  className: "Layer__ProfitAndLossDetailReport",
24223
24254
  children: [/* @__PURE__ */ jsx(VirtualizedDataTable, {
24224
- componentName: COMPONENT_NAME$8,
24255
+ componentName: COMPONENT_NAME$9,
24225
24256
  ariaLabel: t("reports:label.line_item_name_detail_lines", "{{lineItemName}} detail lines", { lineItemName }),
24226
24257
  columnConfig,
24227
24258
  data: rowsWithRunningBalance.lines,
@@ -24229,8 +24260,8 @@ const ProfitAndLossDetailReport = ({ lineItemName, breadcrumbPath, onClose, onBr
24229
24260
  isError,
24230
24261
  shrinkHeightToFitRows: true,
24231
24262
  slots: {
24232
- EmptyState: EmptyState$4,
24233
- ErrorState: ErrorState$5
24263
+ EmptyState: EmptyState$5,
24264
+ ErrorState: ErrorState$6
24234
24265
  }
24235
24266
  }), rowsWithRunningBalance.lines.length > 0 && /* @__PURE__ */ jsxs(HStack, {
24236
24267
  pb: "sm",
@@ -24342,7 +24373,7 @@ const usePnlDetailedTableRows = ({ data }) => {
24342
24373
  isDisabled: (item) => UNCATEGORIZED_TYPES.includes(item.name)
24343
24374
  });
24344
24375
  };
24345
- var EmptyState$3 = () => {
24376
+ var EmptyState$4 = () => {
24346
24377
  const { t } = useTranslation();
24347
24378
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
24348
24379
  className: "Layer__profit-and-loss-detailed-charts__empty-chart",
@@ -24483,7 +24514,7 @@ const ProfitAndLossDetailedCharts = ({ scope, hideClose = false, showDatePicker
24483
24514
  }),
24484
24515
  /* @__PURE__ */ jsx("div", {
24485
24516
  className: "Layer__profit-and-loss-detailed-charts__content",
24486
- children: isEmpty ? /* @__PURE__ */ jsx(EmptyState$3, {}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(DetailedChart, {
24517
+ children: isEmpty ? /* @__PURE__ */ jsx(EmptyState$4, {}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(DetailedChart, {
24487
24518
  data: chartDataWithTotal,
24488
24519
  slots: { Header: showDatePicker ? /* @__PURE__ */ jsx(DetailedChartsDatePickerHeader, {}) : void 0 },
24489
24520
  interactionProps: chartInteractionProps,
@@ -25214,7 +25245,7 @@ const ReportsTableLoader = ({ typeColumnHeader, totalColumnHeader, showHeader =
25214
25245
  const { t } = useTranslation();
25215
25246
  const typeColumnHeaderText = typeColumnHeader !== null && typeColumnHeader !== void 0 ? typeColumnHeader : t("common:label.type", "Type");
25216
25247
  const totalColumnHeaderText = totalColumnHeader !== null && totalColumnHeader !== void 0 ? totalColumnHeader : t("common:label.total", "Total");
25217
- return /* @__PURE__ */ jsxs(Table$2, {
25248
+ return /* @__PURE__ */ jsxs(Table$1, {
25218
25249
  borderCollapse: "collapse",
25219
25250
  children: [showHeader && /* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsxs(TableRow, {
25220
25251
  rowKey: "report-table-loader-header",
@@ -25327,7 +25358,7 @@ const ProfitAndLossCompareTable = ({ stringOverrides }) => {
25327
25358
  isError,
25328
25359
  Loading: /* @__PURE__ */ jsx(ReportsTableLoader, { showHeader: false }),
25329
25360
  Error: /* @__PURE__ */ jsx(ReportsTableErrorState, { isLoading: isValidating }),
25330
- children: ({ data: resolvedComparisonData }) => /* @__PURE__ */ jsxs(Table$2, {
25361
+ children: ({ data: resolvedComparisonData }) => /* @__PURE__ */ jsxs(Table$1, {
25331
25362
  borderCollapse: "collapse",
25332
25363
  bottomSpacing: false,
25333
25364
  children: [/* @__PURE__ */ jsx(TableHead, { children: selectedCompareOptions && selectedCompareOptions.length > 1 && /* @__PURE__ */ jsxs(TableRow, {
@@ -25340,7 +25371,7 @@ const ProfitAndLossCompareTable = ({ stringOverrides }) => {
25340
25371
  isHeaderCell: true,
25341
25372
  children: option.displayName
25342
25373
  }, option.displayName + "-" + i), comparePeriods && Array.from({ length: comparePeriods - 1 }, (_, index) => /* @__PURE__ */ jsx(TableCell, { isHeaderCell: true }, option.displayName + "-" + index))] }, option.displayName + "-" + i))]
25343
- }) }), /* @__PURE__ */ jsxs(TableBody$2, { children: [
25374
+ }) }), /* @__PURE__ */ jsxs(TableBody$1, { children: [
25344
25375
  comparePeriods && /* @__PURE__ */ jsxs(TableRow, {
25345
25376
  rowKey: "",
25346
25377
  children: [/* @__PURE__ */ jsx(TableCell, {
@@ -25494,10 +25525,10 @@ const ProfitAndLossTableComponent = ({ stringOverrides, onLineItemClick }) => {
25494
25525
  Loading: /* @__PURE__ */ jsx(ReportsTableLoader, { showHeader: false }),
25495
25526
  Inactive: null,
25496
25527
  Error: /* @__PURE__ */ jsx(ReportsTableErrorState, { isLoading: isValidating }),
25497
- children: ({ data: data$1 }) => /* @__PURE__ */ jsx(Table$2, {
25528
+ children: ({ data: data$1 }) => /* @__PURE__ */ jsx(Table$1, {
25498
25529
  borderCollapse: "collapse",
25499
25530
  bottomSpacing: false,
25500
- children: /* @__PURE__ */ jsxs(TableBody$2, { children: [
25531
+ children: /* @__PURE__ */ jsxs(TableBody$1, { children: [
25501
25532
  renderLineItem({
25502
25533
  lineItem: data$1.income,
25503
25534
  depth: 0,
@@ -25606,7 +25637,7 @@ const filterOptionsOrGroups = (source, query) => {
25606
25637
  }
25607
25638
  return { options: [] };
25608
25639
  };
25609
- var _excluded$24 = [
25640
+ var _excluded$25 = [
25610
25641
  "ariaLabel",
25611
25642
  "selectedValue",
25612
25643
  "onSelectedValueChange",
@@ -25617,14 +25648,14 @@ var wrap = (option) => ({
25617
25648
  id: option.value,
25618
25649
  option
25619
25650
  });
25620
- var EmptyState$2 = () => {
25651
+ var EmptyState$3 = () => {
25621
25652
  const { t } = useTranslation();
25622
25653
  return /* @__PURE__ */ jsx(Span, {
25623
25654
  size: "sm",
25624
25655
  children: t("common:empty.results", "No results found")
25625
25656
  });
25626
25657
  };
25627
- var ErrorState$4 = () => {
25658
+ var ErrorState$5 = () => {
25628
25659
  const { t } = useTranslation();
25629
25660
  return /* @__PURE__ */ jsx(Span, {
25630
25661
  size: "sm",
@@ -25633,7 +25664,7 @@ var ErrorState$4 = () => {
25633
25664
  };
25634
25665
  const MobileSelectionDrawerList = (_ref) => {
25635
25666
  let { ariaLabel, selectedValue, onSelectedValueChange, isLoading = false, isError = false } = _ref;
25636
- const source = _objectWithoutProperties(_ref, _excluded$24);
25667
+ const source = _objectWithoutProperties(_ref, _excluded$25);
25637
25668
  const data = useMemo(() => {
25638
25669
  if (source.groups) return { groups: source.groups.map((group) => ({
25639
25670
  label: group.label,
@@ -25666,8 +25697,8 @@ const MobileSelectionDrawerList = (_ref) => {
25666
25697
  ariaLabel,
25667
25698
  data,
25668
25699
  slots: {
25669
- EmptyState: EmptyState$2,
25670
- ErrorState: ErrorState$4
25700
+ EmptyState: EmptyState$3,
25701
+ ErrorState: ErrorState$5
25671
25702
  },
25672
25703
  renderItem,
25673
25704
  onClickItem,
@@ -25676,7 +25707,7 @@ const MobileSelectionDrawerList = (_ref) => {
25676
25707
  variant: "compact"
25677
25708
  });
25678
25709
  };
25679
- var _excluded$23 = [
25710
+ var _excluded$24 = [
25680
25711
  "ariaLabel",
25681
25712
  "heading",
25682
25713
  "selectedValue",
@@ -25690,7 +25721,7 @@ var _excluded$23 = [
25690
25721
  ];
25691
25722
  const MobileSelectionDrawerWithTrigger = (_ref) => {
25692
25723
  var _selectedValue$label;
25693
- let { ariaLabel, heading, selectedValue, onSelectedValueChange, placeholder, isLoading = false, isError = false, isDisabled = false, isSearchable = false, searchPlaceholder } = _ref, optionOrGroups = _objectWithoutProperties(_ref, _excluded$23);
25724
+ let { ariaLabel, heading, selectedValue, onSelectedValueChange, placeholder, isLoading = false, isError = false, isDisabled = false, isSearchable = false, searchPlaceholder } = _ref, optionOrGroups = _objectWithoutProperties(_ref, _excluded$24);
25694
25725
  const { t } = useTranslation();
25695
25726
  const { options, groups } = optionOrGroups;
25696
25727
  const [isOpen, setIsOpen] = useState(false);
@@ -25733,7 +25764,8 @@ const MobileSelectionDrawerWithTrigger = (_ref) => {
25733
25764
  isDismissable: true,
25734
25765
  children: ({ close }) => /* @__PURE__ */ jsxs(VStack, {
25735
25766
  className: "Layer__MobileSelectionDrawerWithTrigger",
25736
- pb: "md",
25767
+ pi: "sm",
25768
+ pb: "xs",
25737
25769
  gap: "md",
25738
25770
  children: [isSearchable && /* @__PURE__ */ jsx(SearchField$1, {
25739
25771
  value: searchQuery,
@@ -26189,7 +26221,7 @@ function TransactionsToReview({ onClick, tagFilter = void 0, variants: variants$
26189
26221
  })]
26190
26222
  });
26191
26223
  }
26192
- var _excluded$22 = ["onTransactionsToReviewClick"];
26224
+ var _excluded$23 = ["onTransactionsToReviewClick"];
26193
26225
  var SECTION_CLASS_NAMES = `Layer__ProfitAndLossSummaries Layer__component`;
26194
26226
  function Internal_ProfitAndLossSummaries({ actionable = false, revenueLabel, stringOverrides, chartColorsList, slots, variants: variants$1 }) {
26195
26227
  var _effectiveData$income3, _effectiveData$income4, _effectiveData$income5, _data$netProfit;
@@ -26296,7 +26328,7 @@ function Internal_ProfitAndLossSummaries({ actionable = false, revenueLabel, str
26296
26328
  });
26297
26329
  }
26298
26330
  function ProfitAndLossSummaries(_ref) {
26299
- let { onTransactionsToReviewClick } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$22);
26331
+ let { onTransactionsToReviewClick } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$23);
26300
26332
  return /* @__PURE__ */ jsx(Internal_ProfitAndLossSummaries, _objectSpread2(_objectSpread2({}, restProps), {}, { slots: { unstable_AdditionalListItems: onTransactionsToReviewClick ? [/* @__PURE__ */ jsx(TransactionsToReview, {
26301
26333
  variants: restProps.variants,
26302
26334
  onClick: onTransactionsToReviewClick
@@ -26492,7 +26524,7 @@ const BalanceSheetTable = ({ data, config, stringOverrides }) => {
26492
26524
  })
26493
26525
  ] }, rowKey + "-" + rowIndex);
26494
26526
  };
26495
- return /* @__PURE__ */ jsxs(Table$2, {
26527
+ return /* @__PURE__ */ jsxs(Table$1, {
26496
26528
  borderCollapse: "collapse",
26497
26529
  children: [/* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsxs(TableRow, {
26498
26530
  isHeadRow: true,
@@ -26505,7 +26537,7 @@ const BalanceSheetTable = ({ data, config, stringOverrides }) => {
26505
26537
  align: TableCellAlign.RIGHT,
26506
26538
  children: (stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.totalColumnHeader) || "Total"
26507
26539
  })]
26508
- }) }), /* @__PURE__ */ jsx(TableBody$2, { children: config.map((row, idx) => /* @__PURE__ */ jsx(Fragment, { children: data[row.lineItem] && renderLineItem(data[row.lineItem], 0, row.lineItem, idx) }, row.lineItem)) })]
26540
+ }) }), /* @__PURE__ */ jsx(TableBody$1, { children: config.map((row, idx) => /* @__PURE__ */ jsx(Fragment, { children: data[row.lineItem] && renderLineItem(data[row.lineItem], 0, row.lineItem, idx) }, row.lineItem)) })]
26509
26541
  });
26510
26542
  };
26511
26543
  const GlobalDatePicker = ({ showLabel = false }) => {
@@ -26772,7 +26804,7 @@ const StatementOfCashFlowTable = ({ data, config, stringOverrides }) => {
26772
26804
  })
26773
26805
  ] }, rowKey + "-" + rowIndex);
26774
26806
  };
26775
- return /* @__PURE__ */ jsxs(Table$2, {
26807
+ return /* @__PURE__ */ jsxs(Table$1, {
26776
26808
  borderCollapse: "collapse",
26777
26809
  children: [/* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsxs(TableRow, {
26778
26810
  rowKey: "soc-flow-head-row",
@@ -26785,7 +26817,7 @@ const StatementOfCashFlowTable = ({ data, config, stringOverrides }) => {
26785
26817
  align: TableCellAlign.RIGHT,
26786
26818
  children: (stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.totalColumnHeader) || t("common:label.total", "Total")
26787
26819
  })]
26788
- }) }), /* @__PURE__ */ jsx(TableBody$2, { children: config.map((row, idx) => {
26820
+ }) }), /* @__PURE__ */ jsx(TableBody$1, { children: config.map((row, idx) => {
26789
26821
  if (row.type === "line_item") return /* @__PURE__ */ jsx(Fragment, { children: data[row.lineItem] && renderLineItem(data[row.lineItem], 0, row.lineItem ? row.lineItem : "", idx) }, row.lineItem);
26790
26822
  else return /* @__PURE__ */ jsxs(TableRow, {
26791
26823
  rowKey: row.name + "-" + idx,
@@ -27562,14 +27594,14 @@ const ChartOfAccountsContext = createContext({
27562
27594
  changeFormData: () => {},
27563
27595
  submitForm: () => {}
27564
27596
  });
27565
- var _excluded$21 = ["size"];
27597
+ var _excluded$22 = ["size"];
27566
27598
  var Plus$1 = (_ref) => {
27567
27599
  let { size = 14 } = _ref;
27568
27600
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
27569
27601
  xmlns: "http://www.w3.org/2000/svg",
27570
27602
  viewBox: "0 0 14 14",
27571
27603
  fill: "none"
27572
- }, _objectWithoutProperties(_ref, _excluded$21)), {}, {
27604
+ }, _objectWithoutProperties(_ref, _excluded$22)), {}, {
27573
27605
  width: size,
27574
27606
  height: size,
27575
27607
  children: [/* @__PURE__ */ jsx("path", {
@@ -27889,14 +27921,14 @@ let LedgerAccountNodeType = /* @__PURE__ */ function(LedgerAccountNodeType$1) {
27889
27921
  LedgerAccountNodeType$1["Parent"] = "Parent";
27890
27922
  return LedgerAccountNodeType$1;
27891
27923
  }({});
27892
- var _excluded$20 = ["size"];
27924
+ var _excluded$21 = ["size"];
27893
27925
  var Edit2 = (_ref) => {
27894
27926
  let { size = 18 } = _ref;
27895
27927
  return /* @__PURE__ */ jsx("svg", _objectSpread2(_objectSpread2({
27896
27928
  xmlns: "http://www.w3.org/2000/svg",
27897
27929
  viewBox: "0 0 18 18",
27898
27930
  fill: "none"
27899
- }, _objectWithoutProperties(_ref, _excluded$20)), {}, {
27931
+ }, _objectWithoutProperties(_ref, _excluded$21)), {}, {
27900
27932
  width: size,
27901
27933
  height: size,
27902
27934
  children: /* @__PURE__ */ jsx("path", {
@@ -28175,7 +28207,7 @@ const ChartOfAccountsTableContent = ({ stringOverrides, data, searchQuery, expan
28175
28207
  description: t("chartOfAccounts:empty.accounts_match_filters", "No accounts match the current filters. Click \"Add Account\" to create a new one.")
28176
28208
  })
28177
28209
  });
28178
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Table$2, {
28210
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Table$1, {
28179
28211
  componentName: "chart-of-accounts",
28180
28212
  children: [
28181
28213
  /* @__PURE__ */ jsxs("colgroup", { children: [
@@ -28213,7 +28245,7 @@ const ChartOfAccountsTableContent = ({ stringOverrides, data, searchQuery, expan
28213
28245
  /* @__PURE__ */ jsx(TableCell, { isHeaderCell: true })
28214
28246
  ]
28215
28247
  }) }),
28216
- /* @__PURE__ */ jsx(TableBody$2, { children: !isError && filteredAccounts.map((account, index) => renderChartOfAccountsDesktopRow({
28248
+ /* @__PURE__ */ jsx(TableBody$1, { children: !isError && filteredAccounts.map((account, index) => renderChartOfAccountsDesktopRow({
28217
28249
  account,
28218
28250
  index,
28219
28251
  depth: 0,
@@ -28232,7 +28264,7 @@ const ChartOfAccountsTableContent = ({ stringOverrides, data, searchQuery, expan
28232
28264
  cancelLabel: t("common:action.cancel_label", "Cancel")
28233
28265
  })] });
28234
28266
  };
28235
- var COMPONENT_NAME$7 = "chart-of-accounts";
28267
+ var COMPONENT_NAME$8 = "chart-of-accounts";
28236
28268
  const ChartOfAccountsTableWithPanel = ({ view, containerRef, asWidget = false, withDateControl = false, withExpandAllButton = false, showAddAccountButton = true, stringOverrides, templateAccountsEditable }) => {
28237
28269
  const { t } = useTranslation();
28238
28270
  const { data, isLoading, addAccount, isError, isValidating, refetch, form } = useContext(ChartOfAccountsContext);
@@ -28247,21 +28279,21 @@ const ChartOfAccountsTableWithPanel = ({ view, containerRef, asWidget = false, w
28247
28279
  parentRef: containerRef,
28248
28280
  children: [
28249
28281
  /* @__PURE__ */ jsx(Header$2, {
28250
- className: `Layer__${COMPONENT_NAME$7}__header`,
28282
+ className: `Layer__${COMPONENT_NAME$8}__header`,
28251
28283
  asHeader: true,
28252
28284
  rounded: true,
28253
28285
  children: /* @__PURE__ */ jsx(HeaderRow, { children: /* @__PURE__ */ jsx(HeaderCol, { children: /* @__PURE__ */ jsx(Heading$2, {
28254
- className: `Layer__${COMPONENT_NAME$7}__title`,
28286
+ className: `Layer__${COMPONENT_NAME$8}__title`,
28255
28287
  size: asWidget ? HeadingSize.view : HeadingSize.primary,
28256
28288
  children: (stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.headerText) || t("chartOfAccounts:label.chart_of_accounts", "Chart of Accounts")
28257
28289
  }) }) })
28258
28290
  }),
28259
28291
  /* @__PURE__ */ jsx(Header$2, {
28260
- className: `Layer__${COMPONENT_NAME$7}__header`,
28292
+ className: `Layer__${COMPONENT_NAME$8}__header`,
28261
28293
  sticky: true,
28262
28294
  children: /* @__PURE__ */ jsxs(HeaderRow, { children: [/* @__PURE__ */ jsx(HeaderCol, { children: /* @__PURE__ */ jsx(Heading$2, {
28263
28295
  size: HeadingSize.secondary,
28264
- className: `Layer__${COMPONENT_NAME$7}__subtitle`,
28296
+ className: `Layer__${COMPONENT_NAME$8}__subtitle`,
28265
28297
  children: withDateControl || withExpandAllButton ? /* @__PURE__ */ jsxs(HStack, {
28266
28298
  align: "center",
28267
28299
  gap: "xs",
@@ -28309,7 +28341,7 @@ const ChartOfAccountsTableWithPanel = ({ view, containerRef, asWidget = false, w
28309
28341
  })
28310
28342
  }) : null,
28311
28343
  (!data || isLoading) && !isError ? /* @__PURE__ */ jsx("div", {
28312
- className: `Layer__${COMPONENT_NAME$7}__loader-container`,
28344
+ className: `Layer__${COMPONENT_NAME$8}__loader-container`,
28313
28345
  children: /* @__PURE__ */ jsx(Loader, {})
28314
28346
  }) : null
28315
28347
  ]
@@ -29980,7 +30012,7 @@ const JournalEntryDetails = () => {
29980
30012
  }),
29981
30013
  !isLoadingEntry && !isErrorEntry ? /* @__PURE__ */ jsxs("div", {
29982
30014
  className: "Layer__journal__entry-details__line-items",
29983
- children: [/* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(Table$2, {
30015
+ children: [/* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(Table$1, {
29984
30016
  componentName: "journal__entry-details",
29985
30017
  borderCollapse: "collapse",
29986
30018
  children: [/* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsxs(TableRow, {
@@ -29999,7 +30031,7 @@ const JournalEntryDetails = () => {
29999
30031
  children: t("common:label.credit", "Credit")
30000
30032
  })
30001
30033
  ]
30002
- }) }), /* @__PURE__ */ jsxs(TableBody$2, { children: [sortedLineItems === null || sortedLineItems === void 0 ? void 0 : sortedLineItems.map((item, index) => /* @__PURE__ */ jsxs(TableRow, {
30034
+ }) }), /* @__PURE__ */ jsxs(TableBody$1, { children: [sortedLineItems === null || sortedLineItems === void 0 ? void 0 : sortedLineItems.map((item, index) => /* @__PURE__ */ jsxs(TableRow, {
30003
30035
  rowKey: `ledger-line-item-${index}`,
30004
30036
  children: [
30005
30037
  /* @__PURE__ */ jsx(TableCell, { children: item.account.name }),
@@ -30161,7 +30193,7 @@ var JournalTableContent = ({ data, stringOverrides }) => {
30161
30193
  ]
30162
30194
  }, rowKey + "-" + index + "-" + subIdx))] }, rowKey + "-" + index);
30163
30195
  };
30164
- return /* @__PURE__ */ jsxs(Table$2, {
30196
+ return /* @__PURE__ */ jsxs(Table$1, {
30165
30197
  borderCollapse: "collapse",
30166
30198
  componentName: "JournalTable",
30167
30199
  children: [/* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsxs(TableRow, {
@@ -30199,10 +30231,10 @@ var JournalTableContent = ({ data, stringOverrides }) => {
30199
30231
  children: (stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.creditColumnHeader) || t("common:label.credit", "Credit")
30200
30232
  })
30201
30233
  ]
30202
- }) }), /* @__PURE__ */ jsx(TableBody$2, { children: data.map((entry, idx) => renderJournalRow(entry, idx, `journal-row-${entry.id}`, 0)) })]
30234
+ }) }), /* @__PURE__ */ jsx(TableBody$1, { children: data.map((entry, idx) => renderJournalRow(entry, idx, `journal-row-${entry.id}`, 0)) })]
30203
30235
  });
30204
30236
  };
30205
- var COMPONENT_NAME$6 = "journal-table";
30237
+ var COMPONENT_NAME$7 = "journal-table";
30206
30238
  const JournalTableWithPanel = ({ containerRef, pageSize = 15, stringOverrides, view }) => {
30207
30239
  const { t } = useTranslation();
30208
30240
  const [currentPage, setCurrentPage] = useState(1);
@@ -30225,25 +30257,25 @@ const JournalTableWithPanel = ({ containerRef, pageSize = 15, stringOverrides, v
30225
30257
  }
30226
30258
  };
30227
30259
  return /* @__PURE__ */ jsxs(Panel, {
30228
- className: `Layer__${COMPONENT_NAME$6}`,
30260
+ className: `Layer__${COMPONENT_NAME$7}`,
30229
30261
  sidebar: /* @__PURE__ */ jsx(JournalSidebar, { parentRef: containerRef }),
30230
30262
  sidebarIsOpen: Boolean(selectedEntryId && selectedEntryId !== "new"),
30231
30263
  parentRef: containerRef,
30232
30264
  children: [
30233
30265
  /* @__PURE__ */ jsx(Header$2, {
30234
- className: `Layer__${COMPONENT_NAME$6}__header`,
30266
+ className: `Layer__${COMPONENT_NAME$7}__header`,
30235
30267
  asHeader: true,
30236
30268
  sticky: true,
30237
30269
  rounded: true,
30238
30270
  children: /* @__PURE__ */ jsx(HeaderRow, { children: /* @__PURE__ */ jsx(HeaderCol, { children: /* @__PURE__ */ jsx(Heading$2, {
30239
- className: `Layer__${COMPONENT_NAME$6}__title`,
30271
+ className: `Layer__${COMPONENT_NAME$7}__title`,
30240
30272
  size: HeadingSize.view,
30241
30273
  children: (stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.componentTitle) || t("generalLedger:label.journal", "Journal")
30242
30274
  }) }) })
30243
30275
  }),
30244
30276
  /* @__PURE__ */ jsx(Header$2, { children: /* @__PURE__ */ jsxs(HeaderRow, { children: [/* @__PURE__ */ jsx(HeaderCol, { children: /* @__PURE__ */ jsx(Heading$2, {
30245
30277
  size: HeadingSize.secondary,
30246
- className: `Layer__${COMPONENT_NAME$6}__subtitle`,
30278
+ className: `Layer__${COMPONENT_NAME$7}__subtitle`,
30247
30279
  children: (stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.componentSubtitle) || t("generalLedger:label.entries", "Entries")
30248
30280
  }) }), /* @__PURE__ */ jsxs(HeaderCol, { children: [/* @__PURE__ */ jsx(JournalEntriesDownloadButton, { iconOnly: ["mobile", "tablet"].includes(view) }), /* @__PURE__ */ jsx(Button$2, {
30249
30281
  onClick: () => toCreateEntry(),
@@ -30285,7 +30317,7 @@ const JournalTableWithPanel = ({ containerRef, pageSize = 15, stringOverrides, v
30285
30317
  })
30286
30318
  }) : null,
30287
30319
  (!data || isLoading) && !isError ? /* @__PURE__ */ jsx("div", {
30288
- className: `Layer__${COMPONENT_NAME$6}__loader-container`,
30320
+ className: `Layer__${COMPONENT_NAME$7}__loader-container`,
30289
30321
  children: /* @__PURE__ */ jsx(Loader, {})
30290
30322
  }) : null
30291
30323
  ]
@@ -30445,14 +30477,14 @@ const TasksHeader = ({ tasksHeader }) => {
30445
30477
  })
30446
30478
  });
30447
30479
  };
30448
- var _excluded$19 = ["size"];
30480
+ var _excluded$20 = ["size"];
30449
30481
  var SmileIcon = (_ref) => {
30450
30482
  let { size = 12 } = _ref;
30451
30483
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
30452
30484
  viewBox: "0 0 12 12",
30453
30485
  fill: "none",
30454
30486
  xmlns: "http://www.w3.org/2000/svg"
30455
- }, _objectWithoutProperties(_ref, _excluded$19)), {}, {
30487
+ }, _objectWithoutProperties(_ref, _excluded$20)), {}, {
30456
30488
  width: size,
30457
30489
  height: size,
30458
30490
  children: [
@@ -30640,13 +30672,13 @@ function useSubmitUserResponseForTask() {
30640
30672
  return Reflect.get(target, prop);
30641
30673
  } });
30642
30674
  }
30643
- var _excluded$18 = [
30675
+ var _excluded$19 = [
30644
30676
  "className",
30645
30677
  "isInvalid",
30646
30678
  "errorMessage"
30647
30679
  ];
30648
30680
  const Textarea = (_ref) => {
30649
- let { className, isInvalid, errorMessage } = _ref, props = _objectWithoutProperties(_ref, _excluded$18);
30681
+ let { className, isInvalid, errorMessage } = _ref, props = _objectWithoutProperties(_ref, _excluded$19);
30650
30682
  const baseClassName$1 = classNames("Layer__textarea", isInvalid ? "Layer__textarea--error" : "", className);
30651
30683
  return /* @__PURE__ */ jsxs(DeprecatedTooltip, {
30652
30684
  disabled: !isInvalid || !errorMessage,
@@ -31144,14 +31176,14 @@ const useBookkeepingYearsStatus = () => {
31144
31176
  isLoading
31145
31177
  };
31146
31178
  };
31147
- var _excluded$17 = ["size"];
31179
+ var _excluded$18 = ["size"];
31148
31180
  var ArrowRightCircle = (_ref) => {
31149
31181
  let { size = 18 } = _ref;
31150
31182
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
31151
31183
  xmlns: "http://www.w3.org/2000/svg",
31152
31184
  viewBox: "0 0 18 18",
31153
31185
  fill: "none"
31154
- }, _objectWithoutProperties(_ref, _excluded$17)), {}, {
31186
+ }, _objectWithoutProperties(_ref, _excluded$18)), {}, {
31155
31187
  width: size,
31156
31188
  height: size,
31157
31189
  children: [
@@ -32382,14 +32414,14 @@ function LinkAccountsContent({ onComplete }) {
32382
32414
  })
32383
32415
  });
32384
32416
  }
32385
- var _excluded$16 = ["size"];
32417
+ var _excluded$17 = ["size"];
32386
32418
  var CoffeeIcon = (_ref) => {
32387
32419
  let { size = 11 } = _ref;
32388
32420
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
32389
32421
  xmlns: "http://www.w3.org/2000/svg",
32390
32422
  viewBox: "0 0 12 12",
32391
32423
  fill: "none"
32392
- }, _objectWithoutProperties(_ref, _excluded$16)), {}, {
32424
+ }, _objectWithoutProperties(_ref, _excluded$17)), {}, {
32393
32425
  width: size,
32394
32426
  height: size,
32395
32427
  children: [/* @__PURE__ */ jsxs("g", {
@@ -32438,7 +32470,7 @@ var CoffeeIcon = (_ref) => {
32438
32470
  }));
32439
32471
  };
32440
32472
  var Coffee_default = CoffeeIcon;
32441
- var _excluded$15 = [
32473
+ var _excluded$16 = [
32442
32474
  "className",
32443
32475
  "children",
32444
32476
  "variant",
@@ -32450,7 +32482,7 @@ var _excluded$15 = [
32450
32482
  "fullWidth"
32451
32483
  ];
32452
32484
  const Link$2 = (_ref) => {
32453
- let { className, children, variant = ButtonVariant.primary, leftIcon, rightIcon, iconOnly, iconAsPrimary = false, justify = "center", fullWidth } = _ref, props = _objectWithoutProperties(_ref, _excluded$15);
32485
+ let { className, children, variant = ButtonVariant.primary, leftIcon, rightIcon, iconOnly, iconAsPrimary = false, justify = "center", fullWidth } = _ref, props = _objectWithoutProperties(_ref, _excluded$16);
32454
32486
  const linkRef = useRef(null);
32455
32487
  let justifyContent = "center";
32456
32488
  if (justify) justifyContent = justify;
@@ -32548,14 +32580,14 @@ const useMileageSummaryGlobalCacheActions = () => {
32548
32580
  const { invalidate } = useGlobalCacheActions();
32549
32581
  return { invalidateMileageSummary: useCallback(() => invalidate(({ tags }) => tags.includes(MILEAGE_SUMMARY_TAG_KEY)), [invalidate]) };
32550
32582
  };
32551
- var _excluded$14 = ["size"];
32583
+ var _excluded$15 = ["size"];
32552
32584
  var ArrowRightCircleAlt = (_ref) => {
32553
32585
  let { size = 18 } = _ref;
32554
32586
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
32555
32587
  xmlns: "http://www.w3.org/2000/svg",
32556
32588
  viewBox: "0 0 18 18",
32557
32589
  fill: "none"
32558
- }, _objectWithoutProperties(_ref, _excluded$14)), {}, {
32590
+ }, _objectWithoutProperties(_ref, _excluded$15)), {}, {
32559
32591
  width: size,
32560
32592
  height: size,
32561
32593
  children: [
@@ -33836,14 +33868,14 @@ function getCustomerName(customer) {
33836
33868
  var _ref, _customer$individualN;
33837
33869
  return (_ref = (_customer$individualN = customer === null || customer === void 0 ? void 0 : customer.individualName) !== null && _customer$individualN !== void 0 ? _customer$individualN : customer === null || customer === void 0 ? void 0 : customer.companyName) !== null && _ref !== void 0 ? _ref : "Unknown Customer";
33838
33870
  }
33839
- var _excluded$13 = ["size"];
33871
+ var _excluded$14 = ["size"];
33840
33872
  var ChevronRightFill = (_ref) => {
33841
33873
  let { size = 18 } = _ref;
33842
33874
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
33843
33875
  xmlns: "http://www.w3.org/2000/svg",
33844
33876
  viewBox: "0 0 18 18",
33845
33877
  fill: "none"
33846
- }, _objectWithoutProperties(_ref, _excluded$13)), {}, {
33878
+ }, _objectWithoutProperties(_ref, _excluded$14)), {}, {
33847
33879
  width: size,
33848
33880
  height: size,
33849
33881
  children: [/* @__PURE__ */ jsx("path", {
@@ -33974,7 +34006,7 @@ const InvoiceStatusCell = ({ invoice, inline = false }) => {
33974
34006
  })] }))]
33975
34007
  });
33976
34008
  };
33977
- var COMPONENT_NAME$5 = "InvoiceTable";
34009
+ var COMPONENT_NAME$6 = "InvoiceTable";
33978
34010
  var InvoiceColumns = /* @__PURE__ */ function(InvoiceColumns$1) {
33979
34011
  InvoiceColumns$1["SentAt"] = "SentAt";
33980
34012
  InvoiceColumns$1["InvoiceNo"] = "InvoiceNo";
@@ -34216,7 +34248,7 @@ const InvoiceTable = () => {
34216
34248
  isError,
34217
34249
  columnConfig,
34218
34250
  paginationProps,
34219
- componentName: COMPONENT_NAME$5,
34251
+ componentName: COMPONENT_NAME$6,
34220
34252
  slots: {
34221
34253
  EmptyState: InvoiceTableEmptyState,
34222
34254
  ErrorState: InvoiceTableErrorState
@@ -35865,9 +35897,9 @@ const useCustomerForm = (props) => {
35865
35897
  submitError
35866
35898
  }), [form, submitError]);
35867
35899
  };
35868
- var _excluded$12 = ["onSuccess", "isReadOnly"];
35900
+ var _excluded$13 = ["onSuccess", "isReadOnly"];
35869
35901
  const CustomerForm = (_ref) => {
35870
- let { onSuccess, isReadOnly } = _ref, formState = _objectWithoutProperties(_ref, _excluded$12);
35902
+ let { onSuccess, isReadOnly } = _ref, formState = _objectWithoutProperties(_ref, _excluded$13);
35871
35903
  const { t } = useTranslation();
35872
35904
  const { form, submitError } = useCustomerForm(_objectSpread2({ onSuccess }, formState));
35873
35905
  return /* @__PURE__ */ jsxs(Form$1, {
@@ -36720,10 +36752,10 @@ const useInvoiceForm = (props) => {
36720
36752
  submitError
36721
36753
  ]);
36722
36754
  };
36723
- var _excluded$11 = ["isReadOnly"];
36755
+ var _excluded$12 = ["isReadOnly"];
36724
36756
  const InvoiceForm = forwardRef((props, ref) => {
36725
36757
  var _accountingConfig$ena;
36726
- const _useInvoiceDetail = useInvoiceDetail(), { isReadOnly } = _useInvoiceDetail, viewState = _objectWithoutProperties(_useInvoiceDetail, _excluded$11);
36758
+ const _useInvoiceDetail = useInvoiceDetail(), { isReadOnly } = _useInvoiceDetail, viewState = _objectWithoutProperties(_useInvoiceDetail, _excluded$12);
36727
36759
  const { mode } = viewState;
36728
36760
  const { onSuccess, onChangeFormState } = props;
36729
36761
  const { businessId } = useLayerContext();
@@ -37169,7 +37201,7 @@ const InvoiceDetail = () => {
37169
37201
  })
37170
37202
  ] });
37171
37203
  };
37172
- var _excluded$10 = [
37204
+ var _excluded$11 = [
37173
37205
  "className",
37174
37206
  "label",
37175
37207
  "meterOnly"
@@ -37180,7 +37212,7 @@ var getClassnameForSubComponent = (className, suffix) => {
37180
37212
  var METER_CLASS_NAME = "Layer__Meter";
37181
37213
  const Meter$1 = forwardRef(function Meter$2(_ref, ref) {
37182
37214
  let { className, label: label$50, meterOnly } = _ref;
37183
- return /* @__PURE__ */ jsx(Meter, _objectSpread2(_objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$10)), {}, {
37215
+ return /* @__PURE__ */ jsx(Meter, _objectSpread2(_objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$11)), {}, {
37184
37216
  className: classNames(METER_CLASS_NAME, className),
37185
37217
  ref
37186
37218
  }, meterOnly && { "aria-label": label$50 }), {}, { children: ({ percentage, valueText }) => /* @__PURE__ */ jsxs(VStack, {
@@ -37402,7 +37434,7 @@ function useStripeAccountStatus() {
37402
37434
  businessId
37403
37435
  }))), ({ accessToken, apiUrl: apiUrl$1, businessId: businessId$1 }) => getStripeAccountStatus(apiUrl$1, accessToken, { params: { businessId: businessId$1 } })().then(Schema.decodeUnknownPromise(StripeAccountStatusResponseSchema)).then(({ data: data$1 }) => data$1)));
37404
37436
  }
37405
- var _excluded$9 = ["variant"];
37437
+ var _excluded$10 = ["variant"];
37406
37438
  const BANNER_CLASS_NAMES = {
37407
37439
  DEFAULT: "Layer__UI__Banner",
37408
37440
  ICON_CONTAINER: "Layer__UI__Banner__iconContainer",
@@ -37494,7 +37526,7 @@ var Banner = forwardRef(({ variant = "info", title, description: description$1,
37494
37526
  });
37495
37527
  Banner.displayName = "Banner";
37496
37528
  const BannerButton = (_ref) => {
37497
- let { variant = "outlined-light" } = _ref, rest = _objectWithoutProperties(_ref, _excluded$9);
37529
+ let { variant = "outlined-light" } = _ref, rest = _objectWithoutProperties(_ref, _excluded$10);
37498
37530
  return /* @__PURE__ */ jsx(Button$1, _objectSpread2({ variant }, rest));
37499
37531
  };
37500
37532
  const ConnectStripeButton = ({ isError, isMutating, onClick }) => {
@@ -37627,18 +37659,18 @@ const Invoices = ({ stringOverrides }) => {
37627
37659
  var InvoicesContent = () => {
37628
37660
  return useInvoiceRouteState().route === InvoiceRoute.Detail ? /* @__PURE__ */ jsx(InvoiceDetail, {}) : /* @__PURE__ */ jsx(InvoiceOverview, {});
37629
37661
  };
37630
- var _excluded$8 = ["containerRef", "stringOverrides"];
37631
- var COMPONENT_NAME$4 = "profit-and-loss";
37662
+ var _excluded$9 = ["containerRef", "stringOverrides"];
37663
+ var COMPONENT_NAME$5 = "profit-and-loss";
37632
37664
  const ProfitAndLossView = (props) => {
37633
37665
  const containerRef = useRef(null);
37634
37666
  return /* @__PURE__ */ jsx(Container, {
37635
- name: COMPONENT_NAME$4,
37667
+ name: COMPONENT_NAME$5,
37636
37668
  ref: containerRef,
37637
37669
  children: /* @__PURE__ */ jsx(ProfitAndLoss, { children: /* @__PURE__ */ jsx(ProfitAndLossPanel, _objectSpread2({ containerRef }, props)) })
37638
37670
  });
37639
37671
  };
37640
37672
  var ProfitAndLossPanel = (_ref) => {
37641
- let { containerRef, stringOverrides } = _ref, props = _objectWithoutProperties(_ref, _excluded$8);
37673
+ let { containerRef, stringOverrides } = _ref, props = _objectWithoutProperties(_ref, _excluded$9);
37642
37674
  const { t } = useTranslation();
37643
37675
  const { sidebarScope } = useContext(ProfitAndLossContext);
37644
37676
  return /* @__PURE__ */ jsxs(Panel, {
@@ -37647,7 +37679,7 @@ var ProfitAndLossPanel = (_ref) => {
37647
37679
  parentRef: containerRef,
37648
37680
  children: [/* @__PURE__ */ jsx(ProfitAndLoss.Header, {
37649
37681
  text: (stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.header) || t("common:label.profit_loss", "Profit & Loss"),
37650
- className: `Layer__${COMPONENT_NAME$4}__header`,
37682
+ className: `Layer__${COMPONENT_NAME$5}__header`,
37651
37683
  headingClassName: "Layer__profit-and-loss__title"
37652
37684
  }), /* @__PURE__ */ jsx(Components, _objectSpread2({ stringOverrides }, props))]
37653
37685
  });
@@ -37666,15 +37698,15 @@ var Components = ({ hideChart = false, hideTable = false, stringOverrides }) =>
37666
37698
  })
37667
37699
  });
37668
37700
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [!hideChart && /* @__PURE__ */ jsxs("div", {
37669
- className: `Layer__${COMPONENT_NAME$4}__chart_with_summaries`,
37701
+ className: `Layer__${COMPONENT_NAME$5}__chart_with_summaries`,
37670
37702
  children: [/* @__PURE__ */ jsxs("div", {
37671
- className: `Layer__${COMPONENT_NAME$4}__chart_with_summaries__summary-col`,
37703
+ className: `Layer__${COMPONENT_NAME$5}__chart_with_summaries__summary-col`,
37672
37704
  children: [/* @__PURE__ */ jsx(GlobalMonthPicker, {}), /* @__PURE__ */ jsx(ProfitAndLoss.Summaries, {
37673
37705
  actionable: true,
37674
37706
  stringOverrides: stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.profitAndLossSummaries
37675
37707
  })]
37676
37708
  }), /* @__PURE__ */ jsx("div", {
37677
- className: `Layer__${COMPONENT_NAME$4}__chart_with_summaries__chart-col`,
37709
+ className: `Layer__${COMPONENT_NAME$5}__chart_with_summaries__chart-col`,
37678
37710
  children: /* @__PURE__ */ jsx(ProfitAndLoss.Chart, {})
37679
37711
  })]
37680
37712
  }), !hideTable && /* @__PURE__ */ jsx(ProfitAndLossTableWithProvider, { stringOverrides: stringOverrides === null || stringOverrides === void 0 ? void 0 : stringOverrides.profitAndLossTable })] });
@@ -37858,12 +37890,12 @@ function ExpandableDataTableProvider({ children }) {
37858
37890
  children
37859
37891
  });
37860
37892
  }
37861
- var _excluded$7 = ["children", "className"], _excluded2$3 = ["children"], _excluded3 = ["children"];
37893
+ var _excluded$8 = ["children", "className"], _excluded2$3 = ["children"], _excluded3 = ["children"];
37862
37894
  var TREE_CLASS_NAME = "Layer__UI__Tree";
37863
37895
  var TREE_ITEM_CLASS_NAME = "Layer__UI__TreeItem";
37864
37896
  var TreeInner = (_ref, ref) => {
37865
37897
  let { children, className } = _ref;
37866
- return /* @__PURE__ */ jsx(Tree, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$7)), {}, {
37898
+ return /* @__PURE__ */ jsx(Tree, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$8)), {}, {
37867
37899
  className: classNames(TREE_CLASS_NAME, className),
37868
37900
  ref,
37869
37901
  children: withRenderProp(children, (node) => node)
@@ -38143,7 +38175,7 @@ const S3PresignedUrlSchema = Schema.Struct({
38143
38175
  createdAt: Schema.Date,
38144
38176
  documentId: Schema.NullishOr(Schema.UUID)
38145
38177
  });
38146
- var _excluded$6 = ["businessId", "route"], _excluded2$2 = [
38178
+ var _excluded$7 = ["businessId", "route"], _excluded2$2 = [
38147
38179
  "accessToken",
38148
38180
  "apiUrl",
38149
38181
  "businessId",
@@ -38151,7 +38183,7 @@ var _excluded$6 = ["businessId", "route"], _excluded2$2 = [
38151
38183
  ];
38152
38184
  var getUnifiedReportExcel = get((_ref) => {
38153
38185
  let { businessId, route } = _ref;
38154
- return `/v1/businesses/${businessId}/reports/unified/${route}/exports/excel?${toDefinedSearchParameters(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$6)))}`;
38186
+ return `/v1/businesses/${businessId}/reports/unified/${route}/exports/excel?${toDefinedSearchParameters(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$7)))}`;
38155
38187
  });
38156
38188
  var getTag$1 = (report) => `#unified-${report}-report-excel`;
38157
38189
  var UnifiedReportExcelReturnSchema = Schema.Struct({ data: S3PresignedUrlSchema });
@@ -38219,7 +38251,7 @@ const UnifiedReportHeaderButtons = () => {
38219
38251
  ]
38220
38252
  });
38221
38253
  };
38222
- var _excluded$5 = ["businessId", "route"], _excluded2$1 = [
38254
+ var _excluded$6 = ["businessId", "route"], _excluded2$1 = [
38223
38255
  "accessToken",
38224
38256
  "apiUrl",
38225
38257
  "businessId",
@@ -38236,7 +38268,7 @@ function buildKey$25({ access_token: accessToken, apiUrl, businessId, params })
38236
38268
  }
38237
38269
  var getUnifiedReport = get((_ref) => {
38238
38270
  let { businessId, route } = _ref;
38239
- return `/v1/businesses/${businessId}/reports/unified/${route}?${toDefinedSearchParameters(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$5)))}`;
38271
+ return `/v1/businesses/${businessId}/reports/unified/${route}?${toDefinedSearchParameters(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$6)))}`;
38240
38272
  });
38241
38273
  function useUnifiedReport() {
38242
38274
  const withLocale = useLocalizedKey();
@@ -38261,40 +38293,46 @@ const ExpandButton = ({ isExpanded }) => {
38261
38293
  "aria-label": isExpanded ? "Collapse row" : "Expand row"
38262
38294
  });
38263
38295
  };
38264
- var getRowIndentStyle = ({ depth, canExpand }) => ({ paddingInlineStart: depth * 20 + (canExpand ? 0 : 4) });
38296
+ var INDENT_SIZE_XS = 10;
38297
+ var INDENT_SIZE_SM = 20;
38298
+ var INDENT_SIZE_MD = 40;
38299
+ var CHEVRON_OFFSET_PX = 4;
38300
+ var getRowIndentStyle = ({ depth, canExpand, indentSizePx }) => ({ paddingInlineStart: depth * indentSizePx + (canExpand ? 0 : CHEVRON_OFFSET_PX) });
38265
38301
  var EMPTY_ARRAY$1 = [];
38266
- function ExpandableDataTable({ data, isLoading, isError, columnConfig, componentName, ariaLabel, slots, getSubRows: getSubRows$2, getRowId: getRowId$1 }) {
38302
+ function ExpandableDataTable({ data, isLoading, isError, columnConfig, componentName, ariaLabel, slots, getSubRows: getSubRows$3, getRowId: getRowId$2, indentSize = "sm" }) {
38267
38303
  const { expanded, setExpanded } = useContext(ExpandableDataTableContext);
38268
38304
  const wrappedColumnConfig = useMemo(() => {
38305
+ const indentSizePx = indentSize === "xs" ? INDENT_SIZE_XS : indentSize === "md" ? INDENT_SIZE_MD : INDENT_SIZE_SM;
38269
38306
  const [first, ...rest] = columnConfig;
38270
38307
  if (!first || !isLeafColumn(first)) return columnConfig;
38271
- const originalFirstCell = first.cell;
38308
+ const cellRenderer = first.cell;
38272
38309
  return [_objectSpread2(_objectSpread2({}, first), {}, { cell: (row) => {
38273
38310
  const canExpand = row.getCanExpand();
38274
38311
  const rowIndentStyle = getRowIndentStyle({
38275
38312
  canExpand,
38276
- depth: row.depth
38313
+ depth: row.depth,
38314
+ indentSizePx
38277
38315
  });
38278
38316
  if (!canExpand) return /* @__PURE__ */ jsx("div", {
38279
38317
  style: rowIndentStyle,
38280
- children: originalFirstCell(row)
38318
+ children: cellRenderer(row)
38281
38319
  });
38282
38320
  return /* @__PURE__ */ jsx("div", {
38283
38321
  style: rowIndentStyle,
38284
38322
  children: /* @__PURE__ */ jsxs(HStack, {
38285
38323
  align: "center",
38286
38324
  gap: "xs",
38287
- children: [/* @__PURE__ */ jsx(ExpandButton, { isExpanded: row.getIsExpanded() }), originalFirstCell(row)]
38325
+ children: [/* @__PURE__ */ jsx(ExpandButton, { isExpanded: row.getIsExpanded() }), cellRenderer(row)]
38288
38326
  })
38289
38327
  });
38290
38328
  } }), ...rest];
38291
- }, [columnConfig]);
38329
+ }, [columnConfig, indentSize]);
38292
38330
  const columnDefs = getColumnDefs(wrappedColumnConfig);
38293
38331
  const columnPinning = useMemo(() => getColumnPinning(wrappedColumnConfig), [wrappedColumnConfig]);
38294
38332
  const table$1 = useReactTable({
38295
38333
  data: data !== null && data !== void 0 ? data : EMPTY_ARRAY$1,
38296
38334
  columns: columnDefs,
38297
- getSubRows: getSubRows$2,
38335
+ getSubRows: getSubRows$3,
38298
38336
  getCoreRowModel: getCoreRowModel(),
38299
38337
  getExpandedRowModel: getExpandedRowModel(),
38300
38338
  state: {
@@ -38303,7 +38341,7 @@ function ExpandableDataTable({ data, isLoading, isError, columnConfig, component
38303
38341
  },
38304
38342
  onExpandedChange: setExpanded,
38305
38343
  autoResetPageIndex: false,
38306
- getRowId: getRowId$1
38344
+ getRowId: getRowId$2
38307
38345
  });
38308
38346
  const { rows } = table$1.getExpandedRowModel();
38309
38347
  const dependencies$1 = useMemo(() => [expanded], [expanded]);
@@ -38331,9 +38369,26 @@ function ExpandableDataTable({ data, isLoading, isError, columnConfig, component
38331
38369
  }), [onRowClick, isRowClickable])
38332
38370
  });
38333
38371
  }
38372
+ var _excluded$5 = [
38373
+ "durationMinutes",
38374
+ "className",
38375
+ "showLessThanOneMinuteForZero"
38376
+ ];
38377
+ var DurationSpan = forwardRef((_ref, ref) => {
38378
+ let { durationMinutes, className, showLessThanOneMinuteForZero = false } = _ref, restProps = _objectWithoutProperties(_ref, _excluded$5);
38379
+ const { t } = useTranslation();
38380
+ const { formatMinutesAsDuration: formatMinutesAsDuration$1 } = useIntlFormatter();
38381
+ const formattedDuration = durationMinutes !== 0 ? formatMinutesAsDuration$1(durationMinutes) : showLessThanOneMinuteForZero ? t("timeTracking:label.less_than_one_minute", "< 1 min") : t("timeTracking:label.zero_minutes", "0 min");
38382
+ return /* @__PURE__ */ jsx(Span, _objectSpread2(_objectSpread2({}, restProps), {}, {
38383
+ className,
38384
+ ref,
38385
+ children: formattedDuration
38386
+ }));
38387
+ });
38388
+ DurationSpan.displayName = "DurationSpan";
38334
38389
  const UnifiedReportTableCellContent = ({ cell, column, breadcrumb }) => {
38335
38390
  var _cell$format;
38336
- const { formatDate: formatDate$1 } = useIntlFormatter();
38391
+ const { formatDate: formatDate$1, formatNumber: formatNumber$1 } = useIntlFormatter();
38337
38392
  const openDetailReport = useOpenDetailReport();
38338
38393
  if (!cell) return;
38339
38394
  const cellValue = cell.value;
@@ -38341,7 +38396,7 @@ const UnifiedReportTableCellContent = ({ cell, column, breadcrumb }) => {
38341
38396
  const weight = isBold ? "bold" : "normal";
38342
38397
  const variant = isBold ? void 0 : "placeholder";
38343
38398
  let content;
38344
- if (isAmountCellValue(cellValue)) content = /* @__PURE__ */ jsx(MoneySpan, {
38399
+ if (isCurrencyCellValue(cellValue)) content = /* @__PURE__ */ jsx(MoneySpan, {
38345
38400
  ellipsis: true,
38346
38401
  weight,
38347
38402
  variant,
@@ -38353,6 +38408,19 @@ const UnifiedReportTableCellContent = ({ cell, column, breadcrumb }) => {
38353
38408
  variant,
38354
38409
  children: formatDate$1(cellValue.value)
38355
38410
  });
38411
+ else if (isDecimalCellValue(cellValue)) content = /* @__PURE__ */ jsx(Span, {
38412
+ ellipsis: true,
38413
+ weight,
38414
+ variant,
38415
+ children: formatNumber$1(cellValue.value)
38416
+ });
38417
+ else if (isDurationCellValue(cellValue)) content = /* @__PURE__ */ jsx(DurationSpan, {
38418
+ ellipsis: true,
38419
+ weight,
38420
+ variant,
38421
+ durationMinutes: cellValue.value,
38422
+ showLessThanOneMinuteForZero: true
38423
+ });
38356
38424
  else if (isEmptyCellValue(cellValue)) return null;
38357
38425
  else content = /* @__PURE__ */ jsx(Span, {
38358
38426
  ellipsis: true,
@@ -38418,8 +38486,8 @@ const buildNestedColumnConfig = (columns) => {
38418
38486
  return makeLeafColumn(col);
38419
38487
  });
38420
38488
  };
38421
- const getSubRows$1 = (row) => row.rows ? asMutable(row.rows) : void 0;
38422
- var COMPONENT_NAME$3 = "UnifiedReport";
38489
+ const getSubRows$2 = (row) => row.rows ? asMutable(row.rows) : void 0;
38490
+ var COMPONENT_NAME$4 = "UnifiedReport";
38423
38491
  const UnifiedReportTable = () => {
38424
38492
  var _report$displayName;
38425
38493
  const { t } = useTranslation();
@@ -38454,12 +38522,12 @@ const UnifiedReportTable = () => {
38454
38522
  isLoading: data === void 0 || isLoading,
38455
38523
  isError,
38456
38524
  columnConfig,
38457
- componentName: COMPONENT_NAME$3,
38525
+ componentName: COMPONENT_NAME$4,
38458
38526
  slots: {
38459
38527
  ErrorState: UnifiedReportErrorState,
38460
38528
  EmptyState: UnifiedReportEmptyState
38461
38529
  },
38462
- getSubRows: getSubRows$1,
38530
+ getSubRows: getSubRows$2,
38463
38531
  getRowId: (row) => row.rowKey
38464
38532
  });
38465
38533
  };
@@ -38841,53 +38909,36 @@ const useBookkeepingOnboardingCallBooking = () => {
38841
38909
  const { forceReloadBookkeepingStatus } = useBookkeepingStatusGlobalCacheActions();
38842
38910
  const { trigger: createCallBooking$1 } = useCreateCallBooking();
38843
38911
  const { data: callBookings, isError, isLoading } = useCallBookings({ limit: 1 });
38844
- const [embedDismissed, setEmbedDismissed] = useState(false);
38845
- const [hasScheduledCallInSession, setHasScheduledCallInSession] = useState(false);
38846
38912
  const onboardingCallUrl = (bookkeepingStatus === null || bookkeepingStatus === void 0 ? void 0 : bookkeepingStatus.showEmbeddedOnboarding) ? bookkeepingStatus.onboardingCallUrl : void 0;
38847
- const { isCalendlyVisible, calendlyLink, calendlyRef, openCalendly, closeCalendly } = useCalendly({
38848
- onEventScheduled: useCallback(function() {
38849
- var _ref = _asyncToGenerator(function* (payload) {
38850
- const externalId = getUuidFromCalendlyUri(payload.event.uri);
38851
- if (externalId == null) return;
38852
- const inviteeId = getUuidFromCalendlyUri(payload.invitee.uri);
38853
- if (inviteeId == null) return;
38854
- try {
38855
- yield createCallBooking$1({
38856
- external_id: externalId,
38857
- invitee_id: inviteeId,
38858
- purpose: CallBookingPurpose.BOOKKEEPING_ONBOARDING,
38859
- call_type: CallBookingType.GOOGLE_MEET
38860
- });
38861
- setHasScheduledCallInSession(true);
38862
- forceReloadBookkeepingStatus();
38863
- } catch (error$38) {
38864
- console.error("Failed to record onboarding call booking", error$38);
38865
- }
38866
- });
38867
- return function(_x) {
38868
- return _ref.apply(this, arguments);
38869
- };
38870
- }(), [createCallBooking$1, forceReloadBookkeepingStatus]),
38871
- onClose: useCallback(() => {
38872
- setEmbedDismissed(true);
38873
- }, [])
38874
- });
38913
+ const { isCalendlyVisible, calendlyLink, calendlyRef, openCalendly, closeCalendly } = useCalendly({ onEventScheduled: useCallback(function() {
38914
+ var _ref = _asyncToGenerator(function* (payload) {
38915
+ const externalId = getUuidFromCalendlyUri(payload.event.uri);
38916
+ if (externalId == null) return;
38917
+ const inviteeId = getUuidFromCalendlyUri(payload.invitee.uri);
38918
+ if (inviteeId == null) return;
38919
+ try {
38920
+ yield createCallBooking$1({
38921
+ external_id: externalId,
38922
+ invitee_id: inviteeId,
38923
+ purpose: CallBookingPurpose.BOOKKEEPING_ONBOARDING,
38924
+ call_type: CallBookingType.GOOGLE_MEET
38925
+ });
38926
+ forceReloadBookkeepingStatus();
38927
+ } catch (error$38) {
38928
+ console.error("Failed to record onboarding call booking", error$38);
38929
+ }
38930
+ });
38931
+ return function(_x) {
38932
+ return _ref.apply(this, arguments);
38933
+ };
38934
+ }(), [createCallBooking$1, forceReloadBookkeepingStatus]) });
38875
38935
  const callBooking = (_callBookings$0$data$ = callBookings === null || callBookings === void 0 || (_callBookings$ = callBookings[0]) === null || _callBookings$ === void 0 ? void 0 : _callBookings$.data[0]) !== null && _callBookings$0$data$ !== void 0 ? _callBookings$0$data$ : null;
38876
38936
  const hasResolvedCallBooking = !isLoading && !isError;
38877
- const shouldAutoOpenEmbed = hasResolvedCallBooking && callBooking == null && onboardingCallUrl != null && !hasScheduledCallInSession && !embedDismissed;
38878
38937
  const showScheduledCallBooking = hasResolvedCallBooking && callBooking != null;
38879
38938
  const showEmptyCallBooking = (bookkeepingStatus === null || bookkeepingStatus === void 0 ? void 0 : bookkeepingStatus.showEmbeddedOnboarding) === true && hasResolvedCallBooking && callBooking == null;
38880
38939
  const handleBookCall = useCallback(() => {
38881
38940
  if (onboardingCallUrl != null) openCalendly(onboardingCallUrl);
38882
38941
  }, [onboardingCallUrl, openCalendly]);
38883
- useEffect(() => {
38884
- if (!shouldAutoOpenEmbed || onboardingCallUrl == null) return;
38885
- openCalendly(onboardingCallUrl);
38886
- }, [
38887
- shouldAutoOpenEmbed,
38888
- onboardingCallUrl,
38889
- openCalendly
38890
- ]);
38891
38942
  return {
38892
38943
  callBooking: callBooking !== null && callBooking !== void 0 ? callBooking : void 0,
38893
38944
  showCallBookingCard: showScheduledCallBooking || showEmptyCallBooking,
@@ -39023,7 +39074,7 @@ var ONBOARDING_CALL_COVERAGE_ITEMS = [
39023
39074
  _objectSpread2({ key: "bookkeeping_process" }, translationKey("callBookings:label.onboarding_cover_bookkeeping_process", "Walk through our bookkeeping process")),
39024
39075
  _objectSpread2({ key: "connect_bank_and_cards" }, translationKey("callBookings:label.onboarding_cover_connect_bank_and_cards", "Connect your business bank accounts and credit cards"))
39025
39076
  ];
39026
- var EmptyState$1 = ({ onBookCall }) => {
39077
+ var EmptyState$2 = ({ onBookCall }) => {
39027
39078
  const { t } = useTranslation();
39028
39079
  return /* @__PURE__ */ jsxs(VStack, {
39029
39080
  gap: "md",
@@ -39039,12 +39090,12 @@ var EmptyState$1 = ({ onBookCall }) => {
39039
39090
  /* @__PURE__ */ jsx(Span, {
39040
39091
  variant: "subtle",
39041
39092
  align: "center",
39042
- children: t("callBookings:label.book_call_with_bookkeeper", "Book a call with your bookkeeper")
39093
+ children: t("callBookings:label.book_call_with_bookkeeper", "Schedule an onboarding call with your bookkeeper")
39043
39094
  }),
39044
39095
  /* @__PURE__ */ jsx(Button$1, {
39045
39096
  variant: "solid",
39046
39097
  onClick: onBookCall,
39047
- children: t("callBookings:action.book_call", "Book a call")
39098
+ children: t("callBookings:action.book_call", "Schedule Call")
39048
39099
  })
39049
39100
  ]
39050
39101
  });
@@ -39090,7 +39141,7 @@ const CallBooking = ({ callBooking, onBookCall }) => {
39090
39141
  const countdownLabel = useCallBookingCountdownLabel(callBooking === null || callBooking === void 0 ? void 0 : callBooking.eventStartAt);
39091
39142
  if (callBooking == null) return /* @__PURE__ */ jsx(Container, {
39092
39143
  name: "CallBooking",
39093
- children: /* @__PURE__ */ jsx(EmptyState$1, { onBookCall })
39144
+ children: /* @__PURE__ */ jsx(EmptyState$2, { onBookCall })
39094
39145
  });
39095
39146
  const isOnboardingCall = callBooking.purpose === CallBookingPurpose.BOOKKEEPING_ONBOARDING;
39096
39147
  const purpose = isOnboardingCall ? t("callBookings:label.onboarding_call", "Onboarding call") : t("callBookings:label.ad_hoc_call", "Ad hoc call");
@@ -39235,7 +39286,7 @@ const useKeepInMobileViewport = () => {
39235
39286
  };
39236
39287
  };
39237
39288
  var BookkeepingOverviewTasksContent = ({ callBooking, showCallBookingCard, tasksMobile, tasksStringOverrides, onBookCall, onClickReconnectAccounts }) => {
39238
- if (showCallBookingCard && callBooking == null) return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CallBooking, {
39289
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [showCallBookingCard && /* @__PURE__ */ jsx(CallBooking, {
39239
39290
  callBooking,
39240
39291
  onBookCall
39241
39292
  }), /* @__PURE__ */ jsx(Tasks, {
@@ -39243,14 +39294,6 @@ var BookkeepingOverviewTasksContent = ({ callBooking, showCallBookingCard, tasks
39243
39294
  stringOverrides: tasksStringOverrides,
39244
39295
  onClickReconnectAccounts
39245
39296
  })] });
39246
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Tasks, {
39247
- mobile: tasksMobile,
39248
- stringOverrides: tasksStringOverrides,
39249
- onClickReconnectAccounts
39250
- }), showCallBookingCard && /* @__PURE__ */ jsx(CallBooking, {
39251
- callBooking,
39252
- onBookCall
39253
- })] });
39254
39297
  };
39255
39298
  const BookkeepingOverview = ({ title, showTitle = true, onClickReconnectAccounts, stringOverrides, slotProps }) => {
39256
39299
  var _slotProps$profitAndL, _stringOverrides$prof, _stringOverrides$prof2, _stringOverrides$prof3;
@@ -40099,7 +40142,7 @@ const TripsTableHeader = ({ onRecordTrip }) => {
40099
40142
  } }
40100
40143
  });
40101
40144
  };
40102
- var COMPONENT_NAME$2 = "TripsTable";
40145
+ var COMPONENT_NAME$3 = "TripsTable";
40103
40146
  var TripColumns = /* @__PURE__ */ function(TripColumns$1) {
40104
40147
  TripColumns$1["TripDate"] = "TripDate";
40105
40148
  TripColumns$1["Vehicle"] = "Vehicle";
@@ -40203,7 +40246,7 @@ const TripsTable = ({ data, isLoading, isError, paginationProps, onDeleteTrip, o
40203
40246
  isError,
40204
40247
  columnConfig,
40205
40248
  paginationProps,
40206
- componentName: COMPONENT_NAME$2,
40249
+ componentName: COMPONENT_NAME$3,
40207
40250
  slots
40208
40251
  })]
40209
40252
  });
@@ -41269,7 +41312,7 @@ const ReportsToggle = () => {
41269
41312
  var REPORT_TYPE_CONFIG = [
41270
41313
  _objectSpread2({ value: "profitAndLoss" }, translationKey("common:label.profit_loss", "Profit & Loss")),
41271
41314
  _objectSpread2({ value: "balanceSheet" }, translationKey("reports:label.balance_sheet", "Balance Sheet")),
41272
- _objectSpread2({ value: "statementOfCashFlow" }, translationKey("reports:label.statement_cash_flow", "Statement of Cash Flow"))
41315
+ _objectSpread2({ value: "statementOfCashFlow" }, translationKey("reports:label.cash_flow_statement", "Cash Flow Statement"))
41273
41316
  ];
41274
41317
  var defaultEnabledReports = [
41275
41318
  "profitAndLoss",
@@ -41418,7 +41461,7 @@ var HomeOfficeDeductionSchema = Schema.Struct({
41418
41461
  homeOfficeArea: pipe(Schema.propertySignature(Schema.NullishOr(Schema.Number)), Schema.fromKey("home_office_area"))
41419
41462
  });
41420
41463
  var VehicleDeductionSchema = Schema.Struct({ useMileageDeduction: pipe(Schema.propertySignature(Schema.NullishOr(Schema.Boolean)), Schema.fromKey("use_mileage_deduction")) });
41421
- var DeductionsSchema$1 = Schema.Struct({
41464
+ var DeductionsSchema = Schema.Struct({
41422
41465
  homeOffice: pipe(Schema.propertySignature(Schema.NullishOr(HomeOfficeDeductionSchema)), Schema.fromKey("home_office")),
41423
41466
  vehicle: Schema.NullishOr(VehicleDeductionSchema)
41424
41467
  });
@@ -41437,7 +41480,7 @@ var StateConfigurationSchema = Schema.Struct({
41437
41480
  var UsConfigurationSchema = Schema.Struct({
41438
41481
  federal: Schema.NullishOr(FederalConfigurationSchema),
41439
41482
  state: Schema.NullishOr(StateConfigurationSchema),
41440
- deductions: pipe(Schema.propertySignature(Schema.NullishOr(DeductionsSchema$1)), Schema.fromKey("deductions"))
41483
+ deductions: pipe(Schema.propertySignature(Schema.NullishOr(DeductionsSchema)), Schema.fromKey("deductions"))
41441
41484
  });
41442
41485
  const TaxProfileSchema = Schema.Struct({
41443
41486
  taxCountryCode: pipe(Schema.propertySignature(Schema.NullishOr(Schema.String)), Schema.fromKey("tax_country_code")),
@@ -41935,108 +41978,22 @@ const StateTaxSection = ({ form, isReadOnly, isDesktop }) => {
41935
41978
  ]
41936
41979
  });
41937
41980
  };
41938
- var VehicleExpenseSchema = Schema.Struct({
41939
- method: Schema.String,
41940
- amount: Schema.Number
41941
- });
41942
- var HomeOfficeSchema = Schema.Struct({
41943
- method: Schema.String,
41944
- amount: Schema.Number
41945
- });
41946
- var DeductionsSchema = Schema.Struct({
41947
- businessExpenses: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("business_expenses")),
41948
- vehicleExpense: pipe(Schema.propertySignature(Schema.NullishOr(VehicleExpenseSchema)), Schema.fromKey("vehicle_expense")),
41949
- homeOffice: pipe(Schema.propertySignature(Schema.NullishOr(HomeOfficeSchema)), Schema.fromKey("home_office")),
41950
- qualifiedTipDeduction: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("qualified_tip_deduction")),
41951
- qualifiedOvertimeDeduction: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("qualified_overtime_deduction")),
41952
- selfEmploymentTaxDeduction: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("self_employment_tax_deduction")),
41953
- preAdjustedGrossIncomeDeduction: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("pre_adjusted_gross_income_deduction"))
41954
- });
41955
- var IncomeSchema = Schema.Struct({
41956
- w2Income: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("w2_income")),
41957
- w2Withholding: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("w2_withholding")),
41958
- businessRevenue: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("business_revenue")),
41959
- total: Schema.Number
41960
- });
41961
- var AdjustedGrossIncomeSchema = Schema.Struct({
41962
- income: IncomeSchema,
41963
- deductions: DeductionsSchema,
41964
- totalAdjustedGrossIncome: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("total_adjusted_gross_income"))
41965
- });
41966
- var MedicareSurtaxSchema = Schema.Struct({
41967
- medicareSurtaxIncome: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("medicare_surtax_income")),
41968
- medicareSurtaxRate: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("medicare_surtax_rate")),
41969
- medicareSurtaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("medicare_surtax_owed"))
41970
- });
41971
- var MedicareTaxSchema = Schema.Struct({
41972
- medicareIncome: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("medicare_income")),
41973
- medicareTaxRate: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("medicare_tax_rate")),
41974
- medicareTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("medicare_tax_owed"))
41975
- });
41976
- var SocialSecurityTaxSchema = Schema.Struct({
41977
- socialSecurityIncome: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("social_security_income")),
41978
- socialSecurityTaxRate: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("social_security_tax_rate")),
41979
- socialSecurityTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("social_security_tax_owed"))
41980
- });
41981
- var FederalIncomeTaxSchema = Schema.Struct({
41982
- federalDeductions: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("federal_deductions")),
41983
- qualifiedBusinessIncomeDeduction: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("qualified_business_income_deduction")),
41984
- qbiEffectiveRate: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("qbi_effective_rate")),
41985
- taxableIncome: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("taxable_income")),
41986
- effectiveFederalTaxRate: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("effective_federal_tax_rate")),
41987
- federalIncomeTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("federal_income_tax_owed"))
41988
- });
41989
- var TotalFederalTaxSchema = Schema.Struct({
41990
- federalIncomeTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("federal_income_tax_owed")),
41991
- socialSecurityTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("social_security_tax_owed")),
41992
- medicareTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("medicare_tax_owed")),
41993
- medicareSurtaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("medicare_surtax_owed")),
41994
- w2Withholdings: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("w2_withholdings")),
41995
- totalFederalTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("total_federal_tax_owed"))
41996
- });
41997
- var UsFederalTaxSchema = Schema.Struct({
41998
- federalIncomeTax: pipe(Schema.propertySignature(FederalIncomeTaxSchema), Schema.fromKey("federal_income_tax")),
41999
- socialSecurityTax: pipe(Schema.propertySignature(SocialSecurityTaxSchema), Schema.fromKey("social_security_tax")),
42000
- medicareTax: pipe(Schema.propertySignature(MedicareTaxSchema), Schema.fromKey("medicare_tax")),
42001
- medicareSurtax: pipe(Schema.propertySignature(Schema.NullishOr(MedicareSurtaxSchema)), Schema.fromKey("medicare_surtax")),
42002
- totalFederalTax: pipe(Schema.propertySignature(TotalFederalTaxSchema), Schema.fromKey("total_federal_tax"))
42003
- });
42004
- var StateIncomeTaxSchema = Schema.Struct({
42005
- stateAgi: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("state_agi")),
42006
- stateDeductions: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("state_deductions")),
42007
- stateTaxableIncome: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("state_taxable_income")),
42008
- effectiveStateTaxRate: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("effective_state_tax_rate")),
42009
- stateIncomeTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("state_income_tax_owed"))
42010
- });
42011
- var StateAdditionalTaxSchema = Schema.Struct({
42012
- taxName: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("tax_name")),
42013
- taxRate: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("tax_rate")),
42014
- taxableAmount: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("taxable_amount")),
42015
- taxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("tax_owed"))
42016
- });
42017
- var TotalStateTaxSchema = Schema.Struct({
42018
- stateIncomeTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("state_income_tax_owed")),
42019
- additionalTaxesOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("additional_taxes_owed")),
42020
- stateWithholdings: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("state_withholdings")),
42021
- totalStateTaxOwed: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("total_state_tax_owed"))
42022
- });
42023
- var UsStateTaxSchema = Schema.Struct({
42024
- stateCode: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("state_code")),
42025
- stateName: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("state_name")),
42026
- filingStatus: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("filing_status")),
42027
- stateIncomeTax: pipe(Schema.propertySignature(StateIncomeTaxSchema), Schema.fromKey("state_income_tax")),
42028
- additionalTaxes: pipe(Schema.propertySignature(Schema.Array(StateAdditionalTaxSchema)), Schema.fromKey("additional_taxes")),
42029
- totalStateTax: pipe(Schema.propertySignature(TotalStateTaxSchema), Schema.fromKey("total_state_tax"))
42030
- });
42031
- var TaxesSchema = Schema.Struct({
42032
- usFederal: pipe(Schema.propertySignature(Schema.NullishOr(UsFederalTaxSchema)), Schema.fromKey("us_federal")),
42033
- usState: pipe(Schema.propertySignature(Schema.NullishOr(UsStateTaxSchema)), Schema.fromKey("us_state"))
41981
+ var TaxDetailsValueSchema = Schema.Union(UnifiedCellValueCurrencySchema, UnifiedCellValueDecimalSchema, UnifiedCellValuePercentageSchema, UnifiedCellValueUnknownSchema);
41982
+ var taxDetailsRowFields = {
41983
+ rowKey: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("row_key")),
41984
+ label: Schema.String,
41985
+ value: Schema.optional(TaxDetailsValueSchema),
41986
+ operator: Schema.optional(Schema.String)
41987
+ };
41988
+ var TaxDetailsRowSchema = Schema.Struct(_objectSpread2(_objectSpread2({}, taxDetailsRowFields), {}, { breakdown: Schema.optional(Schema.Array(Schema.suspend(() => TaxDetailsRowSchema))) }));
41989
+ var TaxDetailsMetaSchema = Schema.Struct({
41990
+ year: Schema.Number,
41991
+ filingStatus: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("filing_status"))
42034
41992
  });
42035
41993
  var TaxDetailsSchema = Schema.Struct({
42036
- year: Schema.Number,
42037
- filingStatus: pipe(Schema.propertySignature(Schema.String), Schema.fromKey("filing_status")),
42038
- adjustedGrossIncome: pipe(Schema.propertySignature(AdjustedGrossIncomeSchema), Schema.fromKey("adjusted_gross_income")),
42039
- taxes: TaxesSchema
41994
+ type: Schema.String,
41995
+ meta: TaxDetailsMetaSchema,
41996
+ rows: Schema.Array(TaxDetailsRowSchema)
42040
41997
  });
42041
41998
  const TaxDetailsResponseSchema = Schema.Struct({ data: TaxDetailsSchema });
42042
41999
  var TAX_DETAILS_TAG_KEY = "#tax-details";
@@ -42518,21 +42475,23 @@ const TaxBanner = ({ uncategorizedCount, uncategorizedAmount }) => {
42518
42475
  })
42519
42476
  });
42520
42477
  };
42521
- var _excluded$1 = [
42522
- "condition",
42523
- "cases",
42524
- "contexts"
42525
- ];
42526
- const tConditional = (translate, key, _ref) => {
42527
- let { condition, cases, contexts } = _ref;
42528
- return translate(key, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$1)), {}, {
42529
- context: contexts === null || contexts === void 0 ? void 0 : contexts[condition],
42530
- defaultValue: cases[condition]
42531
- }));
42478
+ const ResponsiveDetailView = ({ name: name$1, slots, children, mobileProps }) => {
42479
+ const { isDesktop } = useSizeClass();
42480
+ if (isDesktop) return /* @__PURE__ */ jsx(BaseDetailView, {
42481
+ name: name$1,
42482
+ slots,
42483
+ children
42484
+ });
42485
+ return /* @__PURE__ */ jsxs(VStack, {
42486
+ className: classNames("Layer__ResponsiveDetailView", mobileProps === null || mobileProps === void 0 ? void 0 : mobileProps.className),
42487
+ gap: "md",
42488
+ children: [/* @__PURE__ */ jsx(slots.Header, {}), children]
42489
+ });
42532
42490
  };
42533
42491
  var TaxSummarySectionTypeSchema = Schema.Literal("federal", "state");
42534
42492
  var TaxSummarySectionSchema = Schema.Struct({
42535
42493
  type: TaxSummarySectionTypeSchema,
42494
+ key: Schema.NullishOr(Schema.String),
42536
42495
  label: Schema.String,
42537
42496
  total: Schema.Number,
42538
42497
  taxesPaid: pipe(Schema.propertySignature(Schema.Number), Schema.fromKey("taxes_paid")),
@@ -42590,447 +42549,91 @@ function useTaxSummary({ year, reportingBasis, fullYearProjection, enabled = tru
42590
42549
  };
42591
42550
  }()));
42592
42551
  }
42593
- const ExpandableCard = ({ children, isExpanded, onToggleExpanded, slots }) => {
42594
- return /* @__PURE__ */ jsxs(Card, {
42595
- className: "Layer__ExpandableCard",
42596
- children: [/* @__PURE__ */ jsx("button", {
42597
- type: "button",
42598
- className: "Layer__ExpandableCard__Header",
42599
- onClick: onToggleExpanded,
42600
- children: /* @__PURE__ */ jsxs(HStack, {
42601
- justify: "space-between",
42602
- align: "center",
42603
- children: [slots.Heading, /* @__PURE__ */ jsx(ExpandButton, { isExpanded })]
42604
- })
42605
- }), /* @__PURE__ */ jsx(AnimatedPresenceElement, {
42606
- motionKey: "expandable-content",
42607
- variant: "expand",
42608
- isOpen: isExpanded,
42609
- style: { overflow: "hidden" },
42610
- children: /* @__PURE__ */ jsx(VStack, {
42611
- className: "Layer__ExpandableCard__Content",
42612
- children
42613
- })
42614
- })]
42615
- });
42616
- };
42617
- const ResponsiveDetailView = ({ name: name$1, slots, children, mobileProps }) => {
42618
- const { isDesktop } = useSizeClass();
42619
- if (isDesktop) return /* @__PURE__ */ jsx(BaseDetailView, {
42620
- name: name$1,
42621
- slots,
42622
- children
42623
- });
42624
- return /* @__PURE__ */ jsxs(VStack, {
42625
- className: classNames("Layer__ResponsiveDetailView", mobileProps === null || mobileProps === void 0 ? void 0 : mobileProps.className),
42626
- gap: "md",
42627
- children: [/* @__PURE__ */ jsx(slots.Header, {}), children]
42628
- });
42629
- };
42630
- let TaxTableRowVariant = /* @__PURE__ */ function(TaxTableRowVariant$1) {
42631
- TaxTableRowVariant$1["Standard"] = "standard";
42632
- TaxTableRowVariant$1["Nested"] = "nested";
42633
- TaxTableRowVariant$1["SectionTotal"] = "section-total";
42634
- TaxTableRowVariant$1["Total"] = "total";
42635
- TaxTableRowVariant$1["Empty"] = "empty";
42636
- return TaxTableRowVariant$1;
42637
- }({});
42638
- var VARIANT_CLASS_MAP = {
42639
- [TaxTableRowVariant.Standard]: "Layer__TaxTable__Row",
42640
- [TaxTableRowVariant.Nested]: "Layer__TaxTable__Row Layer__TaxTable__Row--nested",
42641
- [TaxTableRowVariant.SectionTotal]: "Layer__TaxTable__Row Layer__TaxTable__Row--section-total",
42642
- [TaxTableRowVariant.Total]: "Layer__TaxTable__Row Layer__TaxTable__Row--total",
42643
- [TaxTableRowVariant.Empty]: "Layer__TaxTable__Row Layer__TaxTable__Row--empty"
42644
- };
42645
- var BOLD_VARIANTS = new Set([TaxTableRowVariant.SectionTotal, TaxTableRowVariant.Total]);
42646
- const TaxTableRow = ({ label: label$50, value, variant, sign }) => {
42647
- const { isMobile } = useSizeClass();
42648
- const isEmpty = variant === TaxTableRowVariant.Empty;
42649
- const isBold = BOLD_VARIANTS.has(variant);
42650
- const mobileClass = isMobile ? "Layer__UI__Table-Row--mobile" : "";
42651
- const className = classNames(VARIANT_CLASS_MAP[variant], mobileClass);
42652
- const formattedLabel = sign ? `${sign} ${label$50}` : label$50;
42653
- return /* @__PURE__ */ jsxs(Row$1, {
42654
- className,
42655
- children: [/* @__PURE__ */ jsx(Cell$2, { children: !isEmpty && (isBold ? /* @__PURE__ */ jsx(Span, {
42656
- weight: "bold",
42657
- children: formattedLabel
42658
- }) : /* @__PURE__ */ jsx(Span, { children: formattedLabel })) }), /* @__PURE__ */ jsx(Cell$2, { children: !isEmpty && (typeof value === "number" ? /* @__PURE__ */ jsx(MoneySpan, {
42659
- weight: isBold ? "bold" : void 0,
42660
- amount: value
42661
- }) : /* @__PURE__ */ jsx(Span, {
42662
- weight: isBold ? "bold" : void 0,
42663
- children: value
42664
- })) })]
42665
- });
42666
- };
42667
- const AdjustedGrossIncomeTable = ({ data }) => {
42668
- const { t } = useTranslation();
42669
- const { income, deductions, totalAdjustedGrossIncome } = data;
42670
- const deductionRows = useMemo(() => [
42671
- {
42672
- key: "businessExpenses",
42673
- label: t("taxEstimates:label.deductible_expenses", "Deductible Expenses"),
42674
- getAmount: (d) => d.businessExpenses
42675
- },
42676
- {
42677
- key: "vehicleExpense",
42678
- label: t("taxEstimates:label.deductible_mileage_expenses", "Deductible Mileage Expenses"),
42679
- getAmount: (d) => {
42680
- var _d$vehicleExpense$amo, _d$vehicleExpense;
42681
- return (_d$vehicleExpense$amo = (_d$vehicleExpense = d.vehicleExpense) === null || _d$vehicleExpense === void 0 ? void 0 : _d$vehicleExpense.amount) !== null && _d$vehicleExpense$amo !== void 0 ? _d$vehicleExpense$amo : 0;
42682
- }
42683
- },
42684
- {
42685
- key: "homeOffice",
42686
- label: t("taxEstimates:label.home_office_deduction", "Home Office Deduction"),
42687
- getAmount: (d) => {
42688
- var _d$homeOffice$amount, _d$homeOffice;
42689
- return (_d$homeOffice$amount = (_d$homeOffice = d.homeOffice) === null || _d$homeOffice === void 0 ? void 0 : _d$homeOffice.amount) !== null && _d$homeOffice$amount !== void 0 ? _d$homeOffice$amount : 0;
42690
- }
42691
- },
42692
- {
42693
- key: "selfEmploymentTaxDeduction",
42694
- label: t("taxEstimates:label.self_employment_deduction", "Self-Employment Deduction"),
42695
- getAmount: (d) => d.selfEmploymentTaxDeduction
42696
- },
42697
- {
42698
- key: "qualifiedTipDeduction",
42699
- label: t("taxEstimates:label.qualified_tip_deduction", "Qualified Tip Deduction"),
42700
- getAmount: (d) => d.qualifiedTipDeduction
42701
- },
42702
- {
42703
- key: "qualifiedOvertimeDeduction",
42704
- label: t("taxEstimates:label.qualified_overtime_deduction", "Qualified Overtime Deduction"),
42705
- getAmount: (d) => d.qualifiedOvertimeDeduction
42706
- }
42707
- ], [t]);
42708
- return /* @__PURE__ */ jsxs(Table$1, {
42709
- className: "Layer__TaxTable",
42710
- "aria-label": t("taxEstimates:label.adjusted_gross_income", "Adjusted Gross Income"),
42711
- children: [/* @__PURE__ */ jsx(TableHeader$1, {
42712
- className: "Layer__TaxTable__Header",
42713
- children: /* @__PURE__ */ jsxs(Row$1, { children: [/* @__PURE__ */ jsx(Column$1, {
42714
- isRowHeader: true,
42715
- children: t("common:label.description", "Description")
42716
- }), /* @__PURE__ */ jsx(Column$1, { children: t("common:label.amount", "Amount") })] })
42717
- }), /* @__PURE__ */ jsxs(TableBody$1, { children: [
42718
- /* @__PURE__ */ jsx(TaxTableRow, {
42719
- label: t("taxEstimates:label.business_income", "Business Income"),
42720
- value: income.businessRevenue,
42721
- variant: TaxTableRowVariant.Standard
42722
- }),
42723
- /* @__PURE__ */ jsx(TaxTableRow, {
42724
- label: t("taxEstimates:label.w2_income", "W-2 Income"),
42725
- value: income.w2Income,
42726
- variant: TaxTableRowVariant.Standard
42727
- }),
42728
- /* @__PURE__ */ jsx(TaxTableRow, {
42729
- label: t("taxEstimates:label.deductions", "Deductions"),
42730
- value: deductions.preAdjustedGrossIncomeDeduction,
42731
- variant: TaxTableRowVariant.Standard
42732
- }),
42733
- deductionRows.map(({ key, label: label$50, getAmount }) => /* @__PURE__ */ jsx(TaxTableRow, {
42734
- label: label$50,
42735
- sign: "-",
42736
- value: getAmount(deductions),
42737
- variant: TaxTableRowVariant.Nested
42738
- }, key)),
42739
- /* @__PURE__ */ jsx(TaxTableRow, {
42740
- label: t("taxEstimates:label.adjusted_gross_income", "Adjusted Gross Income"),
42741
- value: totalAdjustedGrossIncome,
42742
- variant: TaxTableRowVariant.Total
42743
- })
42744
- ] })]
42745
- });
42746
- };
42747
- const FederalTaxTable = ({ data, adjustedGrossIncome }) => {
42748
- const { t } = useTranslation();
42749
- const { federalIncomeTax, socialSecurityTax, medicareTax, medicareSurtax, totalFederalTax } = data;
42750
- return /* @__PURE__ */ jsxs(Table$1, {
42751
- className: "Layer__TaxTable",
42752
- "aria-label": t("taxEstimates:label.federal_tax", "Federal Tax"),
42753
- children: [/* @__PURE__ */ jsx(TableHeader$1, {
42754
- className: "Layer__TaxTable__Header",
42755
- children: /* @__PURE__ */ jsxs(Row$1, { children: [/* @__PURE__ */ jsx(Column$1, {
42756
- isRowHeader: true,
42757
- children: t("common:label.description", "Description")
42758
- }), /* @__PURE__ */ jsx(Column$1, { children: t("common:label.amount", "Amount") })] })
42759
- }), /* @__PURE__ */ jsxs(TableBody$1, { children: [
42760
- /* @__PURE__ */ jsx(TaxTableRow, {
42761
- label: t("taxEstimates:label.adjusted_gross_income", "Adjusted Gross Income"),
42762
- value: adjustedGrossIncome,
42763
- variant: TaxTableRowVariant.Standard
42764
- }),
42765
- /* @__PURE__ */ jsx(TaxTableRow, {
42766
- label: t("taxEstimates:label.federal_deductions", "Federal Deductions"),
42767
- sign: "-",
42768
- value: federalIncomeTax.federalDeductions,
42769
- variant: TaxTableRowVariant.Nested
42770
- }),
42771
- /* @__PURE__ */ jsx(TaxTableRow, {
42772
- label: t("taxEstimates:label.business_income_deduction_rate", "Business Income Deduction ({{rate}})", { rate: federalIncomeTax.qbiEffectiveRate }),
42773
- sign: "-",
42774
- value: federalIncomeTax.qualifiedBusinessIncomeDeduction,
42775
- variant: TaxTableRowVariant.Nested
42776
- }),
42777
- /* @__PURE__ */ jsx(TaxTableRow, {
42778
- label: t("taxEstimates:label.taxable_income", "Taxable Income"),
42779
- value: federalIncomeTax.taxableIncome,
42780
- variant: TaxTableRowVariant.Standard
42781
- }),
42782
- /* @__PURE__ */ jsx(TaxTableRow, {
42783
- label: t("taxEstimates:label.federal_tax_rate", "Federal Tax Rate"),
42784
- sign: "×",
42785
- value: federalIncomeTax.effectiveFederalTaxRate,
42786
- variant: TaxTableRowVariant.Nested
42787
- }),
42788
- /* @__PURE__ */ jsx(TaxTableRow, {
42789
- label: t("taxEstimates:label.federal_tax_estimate_owed", "Federal Tax Estimate (Owed)"),
42790
- value: federalIncomeTax.federalIncomeTaxOwed,
42791
- variant: TaxTableRowVariant.SectionTotal
42792
- }),
42793
- /* @__PURE__ */ jsx(TaxTableRow, {
42794
- label: "",
42795
- value: "",
42796
- variant: TaxTableRowVariant.Empty
42797
- }),
42798
- /* @__PURE__ */ jsx(TaxTableRow, {
42799
- label: t("taxEstimates:label.taxable_social_security_income", "Taxable Social Security Income"),
42800
- value: socialSecurityTax.socialSecurityIncome,
42801
- variant: TaxTableRowVariant.Standard
42802
- }),
42803
- /* @__PURE__ */ jsx(TaxTableRow, {
42804
- label: t("taxEstimates:label.social_security_tax_rate", "Social Security Tax Rate"),
42805
- sign: "×",
42806
- value: socialSecurityTax.socialSecurityTaxRate,
42807
- variant: TaxTableRowVariant.Nested
42808
- }),
42809
- /* @__PURE__ */ jsx(TaxTableRow, {
42810
- label: t("taxEstimates:label.social_security_tax_estimate_owed", "Social Security Tax Estimate (Owed)"),
42811
- value: socialSecurityTax.socialSecurityTaxOwed,
42812
- variant: TaxTableRowVariant.SectionTotal
42813
- }),
42814
- /* @__PURE__ */ jsx(TaxTableRow, {
42815
- label: "",
42816
- value: "",
42817
- variant: TaxTableRowVariant.Empty
42818
- }),
42819
- /* @__PURE__ */ jsx(TaxTableRow, {
42820
- label: t("taxEstimates:label.taxable_medicare_income", "Taxable Medicare Income"),
42821
- value: medicareTax.medicareIncome,
42822
- variant: TaxTableRowVariant.Standard
42823
- }),
42824
- /* @__PURE__ */ jsx(TaxTableRow, {
42825
- label: t("taxEstimates:label.medicare_tax_rate", "Medicare Tax Rate"),
42826
- sign: "×",
42827
- value: medicareTax.medicareTaxRate,
42828
- variant: TaxTableRowVariant.Nested
42829
- }),
42830
- /* @__PURE__ */ jsx(TaxTableRow, {
42831
- label: t("taxEstimates:label.medicare_tax_estimate_owed", "Medicare Tax Estimate (Owed)"),
42832
- value: medicareTax.medicareTaxOwed,
42833
- variant: TaxTableRowVariant.SectionTotal
42834
- }),
42835
- medicareSurtax && /* @__PURE__ */ jsxs(Fragment$1, { children: [
42836
- /* @__PURE__ */ jsx(TaxTableRow, {
42837
- label: "",
42838
- value: "",
42839
- variant: TaxTableRowVariant.Empty
42840
- }),
42841
- /* @__PURE__ */ jsx(TaxTableRow, {
42842
- label: t("taxEstimates:label.taxable_medicare_surtax_income", "Taxable Medicare Surtax Income"),
42843
- value: medicareSurtax.medicareSurtaxIncome,
42844
- variant: TaxTableRowVariant.Standard
42845
- }),
42846
- /* @__PURE__ */ jsx(TaxTableRow, {
42847
- label: t("taxEstimates:label.medicare_surtax_rate", "Medicare Surtax Rate"),
42848
- sign: "×",
42849
- value: medicareSurtax.medicareSurtaxRate,
42850
- variant: TaxTableRowVariant.Nested
42851
- }),
42852
- /* @__PURE__ */ jsx(TaxTableRow, {
42853
- label: t("taxEstimates:label.medicare_surtax_estimate_owed", "Medicare Surtax Estimate (Owed)"),
42854
- value: medicareSurtax.medicareSurtaxOwed,
42855
- variant: TaxTableRowVariant.SectionTotal
42856
- })
42857
- ] }),
42858
- /* @__PURE__ */ jsx(TaxTableRow, {
42859
- label: "",
42860
- value: "",
42861
- variant: TaxTableRowVariant.Empty
42862
- }),
42863
- /* @__PURE__ */ jsx(TaxTableRow, {
42864
- label: t("taxEstimates:label.federal_tax_estimate_owed", "Federal Tax Estimate (Owed)"),
42865
- value: totalFederalTax.federalIncomeTaxOwed,
42866
- variant: TaxTableRowVariant.Standard
42867
- }),
42868
- /* @__PURE__ */ jsx(TaxTableRow, {
42869
- label: t("taxEstimates:label.social_security_tax_estimate_owed", "Social Security Tax Estimate (Owed)"),
42870
- sign: "+",
42871
- value: totalFederalTax.socialSecurityTaxOwed,
42872
- variant: TaxTableRowVariant.Nested
42873
- }),
42874
- /* @__PURE__ */ jsx(TaxTableRow, {
42875
- label: t("taxEstimates:label.medicare_tax_estimate_owed", "Medicare Tax Estimate (Owed)"),
42876
- sign: "+",
42877
- value: totalFederalTax.medicareTaxOwed,
42878
- variant: TaxTableRowVariant.Nested
42879
- }),
42880
- medicareSurtax && /* @__PURE__ */ jsx(TaxTableRow, {
42881
- label: t("taxEstimates:label.medicare_surtax_estimate_owed", "Medicare Surtax Estimate (Owed)"),
42882
- sign: "+",
42883
- value: totalFederalTax.medicareSurtaxOwed,
42884
- variant: TaxTableRowVariant.Nested
42885
- }),
42886
- /* @__PURE__ */ jsx(TaxTableRow, {
42887
- label: t("taxEstimates:label.amount_applied_federal_w2", "Amount Applied from Federal W-2 Withholding"),
42888
- sign: "-",
42889
- value: totalFederalTax.w2Withholdings,
42890
- variant: TaxTableRowVariant.Nested
42891
- }),
42892
- /* @__PURE__ */ jsx(TaxTableRow, {
42893
- label: t("taxEstimates:label.total_federal_tax_estimate", "Total Federal Tax Estimate"),
42894
- value: totalFederalTax.totalFederalTaxOwed,
42895
- variant: TaxTableRowVariant.Total
42896
- })
42897
- ] })]
42898
- });
42552
+ var _excluded$1 = [
42553
+ "condition",
42554
+ "cases",
42555
+ "contexts"
42556
+ ];
42557
+ const tConditional = (translate, key, _ref) => {
42558
+ let { condition, cases, contexts } = _ref;
42559
+ return translate(key, _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded$1)), {}, {
42560
+ context: contexts === null || contexts === void 0 ? void 0 : contexts[condition],
42561
+ defaultValue: cases[condition]
42562
+ }));
42899
42563
  };
42900
- const StateTaxTable = ({ data }) => {
42564
+ var AmountWithLabel = ({ slotProps }) => /* @__PURE__ */ jsxs(VStack, {
42565
+ className: "Layer__TaxSummaryCard__AmountWithLabel",
42566
+ gap: "2xs",
42567
+ align: "start",
42568
+ children: [/* @__PURE__ */ jsx(MoneySpan, _objectSpread2({}, slotProps.MoneySpan)), /* @__PURE__ */ jsx(Badge, _objectSpread2({
42569
+ size: BadgeSize.SMALL,
42570
+ variant: BadgeVariant.NEUTRAL
42571
+ }, slotProps.Badge))]
42572
+ });
42573
+ const EquationRow = ({ section, size = "md" }) => {
42901
42574
  const { t } = useTranslation();
42902
- const { stateIncomeTax, additionalTaxes, totalStateTax } = data;
42903
- return /* @__PURE__ */ jsxs(Table$1, {
42904
- className: "Layer__TaxTable",
42905
- "aria-label": t("taxEstimates:label.state_tax", "State Tax"),
42906
- children: [/* @__PURE__ */ jsx(TableHeader$1, {
42907
- className: "Layer__TaxTable__Header",
42908
- children: /* @__PURE__ */ jsxs(Row$1, { children: [/* @__PURE__ */ jsx(Column$1, {
42909
- isRowHeader: true,
42910
- children: t("common:label.description", "Description")
42911
- }), /* @__PURE__ */ jsx(Column$1, { children: t("common:label.amount", "Amount") })] })
42912
- }), /* @__PURE__ */ jsxs(TableBody$1, { children: [
42913
- /* @__PURE__ */ jsx(TaxTableRow, {
42914
- label: t("taxEstimates:label.state_adjusted_gross_income", "State Adjusted Gross Income"),
42915
- value: stateIncomeTax.stateAgi,
42916
- variant: TaxTableRowVariant.Standard
42917
- }),
42918
- /* @__PURE__ */ jsx(TaxTableRow, {
42919
- label: t("taxEstimates:label.state_deductions", "State Deductions"),
42920
- sign: "-",
42921
- value: stateIncomeTax.stateDeductions,
42922
- variant: TaxTableRowVariant.Nested
42923
- }),
42924
- /* @__PURE__ */ jsx(TaxTableRow, {
42925
- label: t("taxEstimates:label.state_taxable_income", "State Taxable Income"),
42926
- value: stateIncomeTax.stateTaxableIncome,
42927
- variant: TaxTableRowVariant.Standard
42928
- }),
42929
- /* @__PURE__ */ jsx(TaxTableRow, {
42930
- label: t("taxEstimates:label.state_tax_rate", "State Tax Rate"),
42931
- sign: "×",
42932
- value: stateIncomeTax.effectiveStateTaxRate,
42933
- variant: TaxTableRowVariant.Nested
42934
- }),
42935
- /* @__PURE__ */ jsx(TaxTableRow, {
42936
- label: t("taxEstimates:label.state_income_tax_estimate_owed", "State Income Tax Estimate (Owed)"),
42937
- value: stateIncomeTax.stateIncomeTaxOwed,
42938
- variant: TaxTableRowVariant.SectionTotal
42939
- }),
42940
- additionalTaxes.length > 0 && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(TaxTableRow, {
42941
- label: "",
42942
- value: "",
42943
- variant: TaxTableRowVariant.Empty
42944
- }), additionalTaxes.map((additionalTax, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
42945
- /* @__PURE__ */ jsx(TaxTableRow, {
42946
- label: t("taxEstimates:label.taxable_amount_tax_name", "Taxable Amount for {{taxName}}", { taxName: additionalTax.taxName }),
42947
- value: additionalTax.taxableAmount,
42948
- variant: TaxTableRowVariant.Standard
42949
- }),
42950
- /* @__PURE__ */ jsx(TaxTableRow, {
42951
- label: t("taxEstimates:label.tax_name_rate", "{{taxName}} Rate", { taxName: additionalTax.taxName }),
42952
- sign: "×",
42953
- value: additionalTax.taxRate,
42954
- variant: TaxTableRowVariant.Nested
42955
- }),
42956
- /* @__PURE__ */ jsx(TaxTableRow, {
42957
- label: t("taxEstimates:label.tax_name_estimate_owed", "{{taxName}} Estimate (Owed)", { taxName: additionalTax.taxName }),
42958
- value: additionalTax.taxOwed,
42959
- variant: TaxTableRowVariant.SectionTotal
42960
- }),
42961
- index < additionalTaxes.length - 1 && /* @__PURE__ */ jsx(TaxTableRow, {
42962
- label: "",
42963
- value: "",
42964
- variant: TaxTableRowVariant.Empty
42965
- })
42966
- ] }, additionalTax.taxName))] }),
42967
- /* @__PURE__ */ jsx(TaxTableRow, {
42968
- label: "",
42969
- value: "",
42970
- variant: TaxTableRowVariant.Empty
42971
- }),
42972
- /* @__PURE__ */ jsx(TaxTableRow, {
42973
- label: t("taxEstimates:label.state_income_tax_estimate_owed", "State Income Tax Estimate (Owed)"),
42974
- value: totalStateTax.stateIncomeTaxOwed,
42975
- variant: TaxTableRowVariant.Standard
42976
- }),
42977
- additionalTaxes.length > 0 && /* @__PURE__ */ jsx(TaxTableRow, {
42978
- label: t("taxEstimates:label.additional_state_taxes_estimate_owed", "Additional State Taxes Estimate (Owed)"),
42979
- sign: "+",
42980
- value: totalStateTax.additionalTaxesOwed,
42981
- variant: TaxTableRowVariant.Nested
42982
- }),
42983
- /* @__PURE__ */ jsx(TaxTableRow, {
42984
- label: t("taxEstimates:label.amount_applied_state_withholding", "Amount Applied from State Withholding"),
42985
- sign: "-",
42986
- value: totalStateTax.stateWithholdings,
42987
- variant: TaxTableRowVariant.Nested
42988
- }),
42989
- /* @__PURE__ */ jsx(TaxTableRow, {
42990
- label: t("taxEstimates:label.total_state_tax_estimate", "Total State Tax Estimate"),
42991
- value: totalStateTax.totalStateTaxOwed,
42992
- variant: TaxTableRowVariant.Total
42993
- })
42994
- ] })]
42995
- });
42996
- };
42997
- const TaxDetailsExpandableCardHeading = ({ title, amount }) => {
42998
- const { isMobile } = useSizeClass();
42999
42575
  return /* @__PURE__ */ jsxs(HStack, {
43000
- className: "Layer__TaxDetailsExpandableCardHeading",
43001
- pie: "xs",
43002
- gap: "xs",
42576
+ className: "Layer__TaxSummaryCard__Equation",
42577
+ gap: size === "lg" ? "md" : "sm",
43003
42578
  children: [
43004
- /* @__PURE__ */ jsx(Heading$1, {
43005
- size: isMobile ? "sm" : "md",
43006
- children: title
42579
+ /* @__PURE__ */ jsx(AmountWithLabel, { slotProps: {
42580
+ MoneySpan: {
42581
+ amount: section.total,
42582
+ size
42583
+ },
42584
+ Badge: { children: t("common:label.total", "Total") }
42585
+ } }),
42586
+ /* @__PURE__ */ jsx(Span, {
42587
+ className: "Layer__TaxSummaryCard__Operator",
42588
+ size,
42589
+ variant: "subtle",
42590
+ children: "-"
43007
42591
  }),
43008
- /* @__PURE__ */ jsx(Spacer, {}),
43009
- /* @__PURE__ */ jsx(MoneySpan, {
43010
- size: "xl",
43011
- weight: "bold",
43012
- amount
43013
- })
42592
+ /* @__PURE__ */ jsx(AmountWithLabel, { slotProps: {
42593
+ MoneySpan: {
42594
+ amount: section.taxesPaid,
42595
+ size
42596
+ },
42597
+ Badge: { children: t("taxEstimates:label.taxes_paid", "Taxes Paid") }
42598
+ } }),
42599
+ /* @__PURE__ */ jsx(Span, {
42600
+ className: "Layer__TaxSummaryCard__Operator",
42601
+ size,
42602
+ variant: "subtle",
42603
+ children: "="
42604
+ }),
42605
+ /* @__PURE__ */ jsx(AmountWithLabel, { slotProps: {
42606
+ MoneySpan: {
42607
+ amount: section.taxesOwed,
42608
+ size,
42609
+ weight: "bold"
42610
+ },
42611
+ Badge: { children: t("taxEstimates:label.taxes_owed", "Taxes Owed") }
42612
+ } })
43014
42613
  ]
43015
42614
  });
43016
42615
  };
42616
+ var PlusCircle = () => /* @__PURE__ */ jsx("span", {
42617
+ className: "Layer__TaxSummaryCard__OperatorCircle",
42618
+ "aria-hidden": true,
42619
+ children: /* @__PURE__ */ jsx(PlusIcon_default, { size: 24 })
42620
+ });
42621
+ var ArrowCircle = () => /* @__PURE__ */ jsx("span", {
42622
+ className: "Layer__TaxSummaryCard__OperatorCircle",
42623
+ "aria-hidden": true,
42624
+ children: /* @__PURE__ */ jsx(ArrowRightCircle_default, { size: 24 })
42625
+ });
43017
42626
  const TaxSummaryCardDesktop = ({ data }) => {
43018
42627
  const { t } = useTranslation();
43019
42628
  const { formatDate: formatDate$1 } = useIntlFormatter();
43020
42629
  const { fullYearProjection } = useFullYearProjection();
43021
- return /* @__PURE__ */ jsxs(HStack, {
42630
+ return /* @__PURE__ */ jsxs("div", {
43022
42631
  className: "Layer__TaxSummaryCard",
43023
- children: [/* @__PURE__ */ jsxs(VStack, {
43024
- className: "Layer__TaxSummaryCard__Overview",
43025
- gap: "xs",
43026
- justify: "center",
43027
- align: "center",
43028
- children: [/* @__PURE__ */ jsxs(VStack, {
43029
- justify: "center",
43030
- align: "center",
43031
- children: [/* @__PURE__ */ jsx(Span, {
42632
+ children: [
42633
+ /* @__PURE__ */ jsx(VStack, {
42634
+ className: "Layer__TaxSummaryCard__Cell Layer__TaxSummaryCard__Cell--header",
42635
+ children: /* @__PURE__ */ jsx(Span, {
43032
42636
  size: "md",
43033
- variant: "subtle",
43034
42637
  children: tConditional(t, "taxEstimates:label.taxes_owed", {
43035
42638
  condition: fullYearProjection ? "projected" : "default",
43036
42639
  cases: {
@@ -43039,95 +42642,75 @@ const TaxSummaryCardDesktop = ({ data }) => {
43039
42642
  },
43040
42643
  contexts: { projected: "projected" }
43041
42644
  })
43042
- }), /* @__PURE__ */ jsx(MoneySpan, {
42645
+ })
42646
+ }),
42647
+ data.sections.map((section, index) => {
42648
+ var _section$key;
42649
+ return /* @__PURE__ */ jsxs(HStack, {
42650
+ className: "Layer__TaxSummaryCard__Cell Layer__TaxSummaryCard__Cell--header Layer__TaxSummaryCard__Cell--bordered",
42651
+ align: "center",
42652
+ children: [/* @__PURE__ */ jsx("span", {
42653
+ className: "Layer__TaxSummaryCard__OperatorIconAnchor",
42654
+ children: index === 0 ? /* @__PURE__ */ jsx(ArrowCircle, {}) : /* @__PURE__ */ jsx(PlusCircle, {})
42655
+ }), /* @__PURE__ */ jsx(Span, {
42656
+ size: "md",
42657
+ children: section.label
42658
+ })]
42659
+ }, (_section$key = section.key) !== null && _section$key !== void 0 ? _section$key : section.label);
42660
+ }),
42661
+ /* @__PURE__ */ jsxs(VStack, {
42662
+ className: "Layer__TaxSummaryCard__Cell",
42663
+ gap: "2xs",
42664
+ align: "start",
42665
+ children: [/* @__PURE__ */ jsx(MoneySpan, {
43043
42666
  size: "xl",
43044
42667
  weight: "bold",
43045
42668
  amount: data.projectedTaxesOwed
43046
- })]
43047
- }), /* @__PURE__ */ jsxs(VStack, {
43048
- align: "center",
43049
- children: [/* @__PURE__ */ jsx(Span, {
42669
+ }), /* @__PURE__ */ jsx(Span, {
43050
42670
  size: "sm",
43051
42671
  variant: "subtle",
43052
- children: t("taxEstimates:label.taxes_due", "Taxes Due")
43053
- }), /* @__PURE__ */ jsx(Span, {
43054
- size: "md",
43055
- children: formatDate$1(data.taxesDueAt)
42672
+ children: t("taxEstimates:label.taxes_due_at", "Taxes due on {{date}}", { date: formatDate$1(data.taxesDueAt) })
43056
42673
  })]
43057
- })]
43058
- }), /* @__PURE__ */ jsx(VStack, {
43059
- className: "Layer__TaxSummaryCard__Breakdown",
43060
- children: /* @__PURE__ */ jsx("div", {
43061
- className: "Layer__TaxSummaryCard__Grid",
43062
- children: data.sections.map((section) => /* @__PURE__ */ jsxs("div", {
43063
- className: "Layer__TaxSummaryCard__SectionGroup",
43064
- children: [
43065
- /* @__PURE__ */ jsx(Span, {
43066
- size: "md",
43067
- variant: "subtle",
43068
- children: section.label
43069
- }),
43070
- /* @__PURE__ */ jsx(MoneySpan, {
43071
- size: "xl",
43072
- weight: "bold",
43073
- amount: section.taxesOwed
43074
- }),
43075
- /* @__PURE__ */ jsx(Span, {
43076
- size: "md",
43077
- variant: "subtle",
43078
- children: "="
43079
- }),
43080
- /* @__PURE__ */ jsx(MoneySpan, {
43081
- size: "lg",
43082
- amount: section.total
43083
- }),
43084
- /* @__PURE__ */ jsx(Span, {
43085
- size: "md",
43086
- variant: "subtle",
43087
- children: "-"
43088
- }),
43089
- /* @__PURE__ */ jsx(MoneySpan, {
43090
- size: "lg",
43091
- amount: section.taxesPaid
43092
- }),
43093
- /* @__PURE__ */ jsx("span", {}),
43094
- /* @__PURE__ */ jsx("span", {}),
43095
- /* @__PURE__ */ jsx(Span, {
43096
- size: "sm",
43097
- variant: "subtle",
43098
- children: t("common:label.total", "Total")
43099
- }),
43100
- /* @__PURE__ */ jsx("span", {}),
43101
- /* @__PURE__ */ jsx(Span, {
43102
- size: "sm",
43103
- variant: "subtle",
43104
- children: t("taxEstimates:label.taxes_paid", "Taxes Paid")
43105
- })
43106
- ]
43107
- }, section.label))
42674
+ }),
42675
+ data.sections.map((section) => {
42676
+ var _section$key2;
42677
+ return /* @__PURE__ */ jsx(VStack, {
42678
+ className: "Layer__TaxSummaryCard__Cell Layer__TaxSummaryCard__Cell--bordered",
42679
+ children: /* @__PURE__ */ jsx(EquationRow, {
42680
+ section,
42681
+ size: "md"
42682
+ })
42683
+ }, (_section$key2 = section.key) !== null && _section$key2 !== void 0 ? _section$key2 : section.label);
43108
42684
  })
43109
- })]
42685
+ ]
43110
42686
  });
43111
42687
  };
42688
+ var SectionEquation = ({ section }) => /* @__PURE__ */ jsxs(VStack, {
42689
+ className: "Layer__TaxSummaryCard__MobileSection",
42690
+ gap: "xs",
42691
+ align: "start",
42692
+ children: [/* @__PURE__ */ jsx(Span, {
42693
+ size: "sm",
42694
+ variant: "subtle",
42695
+ children: section.label
42696
+ }), /* @__PURE__ */ jsx(EquationRow, { section })]
42697
+ });
43112
42698
  const TaxSummaryCardMobile = ({ data }) => {
43113
42699
  const { t } = useTranslation();
43114
42700
  const { formatDate: formatDate$1 } = useIntlFormatter();
43115
42701
  const { fullYearProjection } = useFullYearProjection();
43116
- return /* @__PURE__ */ jsxs(VStack, {
43117
- className: "Layer__TaxSummaryCard--mobile",
43118
- gap: "md",
43119
- children: [/* @__PURE__ */ jsx(Card, {
43120
- className: "Layer__TaxSummaryCard__OverviewCard",
43121
- children: /* @__PURE__ */ jsxs(VStack, {
43122
- gap: "xs",
43123
- justify: "center",
43124
- align: "center",
43125
- children: [/* @__PURE__ */ jsxs(VStack, {
43126
- justify: "center",
42702
+ const [isExpanded, setIsExpanded] = useState(false);
42703
+ return /* @__PURE__ */ jsx(Card, {
42704
+ className: "Layer__card--reset Layer__TaxSummaryCard--mobile",
42705
+ children: /* @__PURE__ */ jsxs(VStack, {
42706
+ className: "Layer__TaxSummaryCard__MobileCard",
42707
+ gap: "md",
42708
+ children: [
42709
+ /* @__PURE__ */ jsxs(HStack, {
42710
+ justify: "space-between",
43127
42711
  align: "center",
43128
42712
  children: [/* @__PURE__ */ jsx(Span, {
43129
- size: "md",
43130
- variant: "subtle",
42713
+ size: "sm",
43131
42714
  children: tConditional(t, "taxEstimates:label.taxes_owed", {
43132
42715
  condition: fullYearProjection ? "projected" : "default",
43133
42716
  cases: {
@@ -43136,81 +42719,62 @@ const TaxSummaryCardMobile = ({ data }) => {
43136
42719
  },
43137
42720
  contexts: { projected: "projected" }
43138
42721
  })
43139
- }), /* @__PURE__ */ jsx(MoneySpan, {
43140
- size: "xl",
43141
- weight: "bold",
43142
- amount: data.projectedTaxesOwed
43143
- })]
43144
- }), /* @__PURE__ */ jsxs(VStack, {
43145
- align: "center",
43146
- children: [/* @__PURE__ */ jsx(Span, {
42722
+ }), /* @__PURE__ */ jsx(Span, {
43147
42723
  size: "sm",
43148
42724
  variant: "subtle",
43149
- children: t("taxEstimates:label.taxes_due", "Taxes Due")
43150
- }), /* @__PURE__ */ jsx(Span, {
43151
- size: "md",
43152
- children: formatDate$1(data.taxesDueAt)
42725
+ children: t("taxEstimates:label.taxes_due_at", "Taxes due on {{date}}", { date: formatDate$1(data.taxesDueAt) })
43153
42726
  })]
43154
- })]
43155
- })
43156
- }), /* @__PURE__ */ jsx(Card, {
43157
- className: "Layer__TaxSummaryCard__BreakdownCard",
43158
- children: /* @__PURE__ */ jsx("div", {
43159
- className: "Layer__TaxSummaryCard__Grid Layer__TaxSummaryCard__Grid--mobile",
43160
- children: data.sections.map((section) => /* @__PURE__ */ jsxs("div", {
43161
- className: "Layer__TaxSummaryCard__SectionGroup",
43162
- children: [
43163
- /* @__PURE__ */ jsx(Span, {
43164
- size: "sm",
43165
- variant: "subtle",
43166
- children: section.label
43167
- }),
43168
- /* @__PURE__ */ jsx(MoneySpan, {
43169
- size: "lg",
43170
- weight: "bold",
43171
- amount: section.taxesOwed
43172
- }),
43173
- /* @__PURE__ */ jsx(Span, {
43174
- size: "sm",
43175
- variant: "subtle",
43176
- children: "="
43177
- }),
43178
- /* @__PURE__ */ jsx(MoneySpan, {
43179
- size: "md",
43180
- amount: section.total
43181
- }),
43182
- /* @__PURE__ */ jsx(Span, {
43183
- size: "sm",
43184
- variant: "subtle",
43185
- children: "-"
43186
- }),
43187
- /* @__PURE__ */ jsx(MoneySpan, {
43188
- size: "md",
43189
- amount: section.taxesPaid
43190
- }),
43191
- /* @__PURE__ */ jsx("span", {}),
43192
- /* @__PURE__ */ jsx("span", {}),
43193
- /* @__PURE__ */ jsx(Span, {
43194
- size: "sm",
43195
- variant: "subtle",
43196
- children: t("common:label.total", "Total")
43197
- }),
43198
- /* @__PURE__ */ jsx("span", {}),
43199
- /* @__PURE__ */ jsx(Span, {
43200
- size: "sm",
43201
- variant: "subtle",
43202
- children: t("taxEstimates:label.taxes_paid", "Taxes Paid")
43203
- })
43204
- ]
43205
- }, section.label))
43206
- })
43207
- })]
42727
+ }),
42728
+ /* @__PURE__ */ jsx(MoneySpan, {
42729
+ size: "xl",
42730
+ weight: "bold",
42731
+ amount: data.projectedTaxesOwed
42732
+ }),
42733
+ isExpanded && /* @__PURE__ */ jsx(VStack, {
42734
+ className: "Layer__TaxSummaryCard__MobileSections",
42735
+ gap: "md",
42736
+ children: data.sections.map((section) => {
42737
+ var _section$key;
42738
+ return /* @__PURE__ */ jsx(SectionEquation, { section }, (_section$key = section.key) !== null && _section$key !== void 0 ? _section$key : section.label);
42739
+ })
42740
+ }),
42741
+ /* @__PURE__ */ jsx(HStack, {
42742
+ className: "Layer__TaxSummaryCard__MobileToggleWrapper",
42743
+ justify: "center",
42744
+ children: /* @__PURE__ */ jsx(Button$1, {
42745
+ variant: "text",
42746
+ onClick: () => setIsExpanded((prev) => !prev),
42747
+ children: isExpanded ? t("common:label.hide_details", "Hide details") : t("common:label.show_details", "Show details")
42748
+ })
42749
+ })
42750
+ ]
42751
+ })
43208
42752
  });
43209
42753
  };
43210
- const TaxSummaryCard = ({ data }) => {
43211
- const { isDesktop } = useSizeClass();
43212
- if (isDesktop) return /* @__PURE__ */ jsx(TaxSummaryCardDesktop, { data });
43213
- return /* @__PURE__ */ jsx(TaxSummaryCardMobile, { data });
42754
+ var TAX_SUMMARY_CARD_DESKTOP_BREAKPOINT = 1200;
42755
+ const TaxSummaryCard = () => {
42756
+ const { t } = useTranslation();
42757
+ const { year } = useTaxEstimatesYear();
42758
+ const { fullYearProjection } = useFullYearProjection();
42759
+ const { data, isLoading, isError } = useTaxSummary({
42760
+ year,
42761
+ fullYearProjection
42762
+ });
42763
+ const [viewportWidth] = useWindowSize();
42764
+ const isDesktop = viewportWidth >= TAX_SUMMARY_CARD_DESKTOP_BREAKPOINT;
42765
+ return /* @__PURE__ */ jsx(ConditionalBlock, {
42766
+ isLoading,
42767
+ isError,
42768
+ data,
42769
+ Loading: /* @__PURE__ */ jsx(Loader, {}),
42770
+ Error: /* @__PURE__ */ jsx(DataState, {
42771
+ status: DataStateStatus.failed,
42772
+ title: t("taxEstimates:error.load_tax_estimates_summary", "We couldn't load your tax summary"),
42773
+ description: t("taxEstimates:error.while_loading_tax_summary", "An error occurred while loading your tax summary. Please check your connection and try again."),
42774
+ spacing: true
42775
+ }),
42776
+ children: ({ data: summary }) => isDesktop ? /* @__PURE__ */ jsx(TaxSummaryCardDesktop, { data: summary }) : /* @__PURE__ */ jsx(TaxSummaryCardMobile, { data: summary })
42777
+ });
43214
42778
  };
43215
42779
  const ResponsiveDetailHeader = ({ title, description: description$1 }) => {
43216
42780
  const { isDesktop } = useSizeClass();
@@ -43353,120 +42917,144 @@ const TaxEstimatesHeader = ({ type }) => {
43353
42917
  })]
43354
42918
  });
43355
42919
  };
43356
- var TaxDetailsHeader = () => /* @__PURE__ */ jsx(TaxEstimatesHeader, { type: TaxEstimatesHeaderType.Estimates });
43357
- var MobileExpandableCardsWrapper = ({ children }) => /* @__PURE__ */ jsx(Card, {
43358
- className: "Layer__TaxDetails__ExpandableCardsWrapper",
42920
+ const Operator = ({ sign }) => {
42921
+ if (!sign) return null;
42922
+ return /* @__PURE__ */ jsx(Span, {
42923
+ className: "Layer__TaxDetails__Operator",
42924
+ size: "lg",
42925
+ variant: "subtle",
42926
+ "aria-hidden": "true",
42927
+ children: sign
42928
+ });
42929
+ };
42930
+ var TaxDetailsColumns = /* @__PURE__ */ function(TaxDetailsColumns$1) {
42931
+ TaxDetailsColumns$1["Label"] = "Label";
42932
+ TaxDetailsColumns$1["Amount"] = "Amount";
42933
+ return TaxDetailsColumns$1;
42934
+ }(TaxDetailsColumns || {});
42935
+ var COMPONENT_NAME$2 = "TaxDetails";
42936
+ var MobileExpandableCardsWrapper = ({ children, className }) => /* @__PURE__ */ jsx(Card, {
42937
+ className: `Layer__card--reset ${className !== null && className !== void 0 ? className : ""}`,
43359
42938
  children
43360
42939
  });
43361
- const TaxDetails = () => {
42940
+ var EmptyState$1 = () => {
42941
+ const { t } = useTranslation();
42942
+ return /* @__PURE__ */ jsx(DataState, {
42943
+ status: DataStateStatus.allDone,
42944
+ title: t("taxEstimates:empty.no_tax_details", "No tax details"),
42945
+ description: t("taxEstimates:empty.no_tax_details_description", "No tax details found"),
42946
+ spacing: true
42947
+ });
42948
+ };
42949
+ var ErrorState$4 = () => {
42950
+ const { t } = useTranslation();
42951
+ return /* @__PURE__ */ jsx(DataState, {
42952
+ status: DataStateStatus.failed,
42953
+ title: t("taxEstimates:error.load_tax_details", "We couldn't load your tax details"),
42954
+ description: t("taxEstimates:error.while_loading_tax_details", "An error occurred while loading your tax details. Please check your connection and try again."),
42955
+ spacing: true
42956
+ });
42957
+ };
42958
+ var TaxDetailsRowLabelCell = (row) => {
42959
+ if (row.original.operator !== void 0 && row.original.operator !== null) return /* @__PURE__ */ jsxs(HStack, {
42960
+ className: "Layer__TaxDetails__TaxDetailsRow--operator",
42961
+ align: "center",
42962
+ gap: "md",
42963
+ children: [/* @__PURE__ */ jsx(Operator, { sign: row.original.operator }), /* @__PURE__ */ jsx(Span, { children: row.original.label })]
42964
+ });
42965
+ return /* @__PURE__ */ jsx(Span, { children: row.original.label });
42966
+ };
42967
+ var makeAmountCellRenderer = ({ formatNumber: formatNumber$1, formatPercent: formatPercent$1 }) => {
42968
+ return function TaxDetailsAmountCell(row) {
42969
+ const { value } = row.original;
42970
+ if (value === void 0) return /* @__PURE__ */ jsx(Span, { children: "-" });
42971
+ if (isPercentageCellValue(value)) return /* @__PURE__ */ jsx(Span, { children: formatPercent$1(value.value, {
42972
+ maximumFractionDigits: 2,
42973
+ minimumFractionDigits: 2
42974
+ }) });
42975
+ if (isCurrencyCellValue(value)) return /* @__PURE__ */ jsx(MoneySpan, { amount: value.value });
42976
+ if (isDecimalCellValue(value)) return /* @__PURE__ */ jsx(Span, { children: formatNumber$1(value.value, {
42977
+ maximumFractionDigits: 2,
42978
+ minimumFractionDigits: 0
42979
+ }) });
42980
+ const raw = value.value;
42981
+ if (typeof raw === "string" || typeof raw === "number" || typeof raw === "boolean") return /* @__PURE__ */ jsx(Span, { children: String(raw) });
42982
+ return /* @__PURE__ */ jsx(Span, { children: "-" });
42983
+ };
42984
+ };
42985
+ var useColumnConfig = () => {
42986
+ const { t } = useTranslation();
42987
+ const { formatNumber: formatNumber$1, formatPercent: formatPercent$1 } = useIntlFormatter();
42988
+ return useMemo(() => [{
42989
+ id: TaxDetailsColumns.Label,
42990
+ header: t("taxEstimates:label.tax_details_label", "Label"),
42991
+ cell: TaxDetailsRowLabelCell,
42992
+ isRowHeader: true
42993
+ }, {
42994
+ id: TaxDetailsColumns.Amount,
42995
+ header: t("taxEstimates:label.tax_details_amount", "Amount"),
42996
+ cell: makeAmountCellRenderer({
42997
+ formatNumber: formatNumber$1,
42998
+ formatPercent: formatPercent$1
42999
+ })
43000
+ }], [
43001
+ t,
43002
+ formatNumber$1,
43003
+ formatPercent$1
43004
+ ]);
43005
+ };
43006
+ var getSubRows$1 = (row) => {
43007
+ return row.breakdown ? asMutable(row.breakdown) : void 0;
43008
+ };
43009
+ var getRowId$1 = (row) => {
43010
+ return row.rowKey;
43011
+ };
43012
+ function TaxDetailsContent() {
43362
43013
  const { t } = useTranslation();
43363
43014
  const { year } = useTaxEstimatesYear();
43364
43015
  const { fullYearProjection } = useFullYearProjection();
43365
- const projectedCondition = fullYearProjection ? "projected" : "default";
43366
43016
  const { data, isLoading, isError } = useTaxDetails({
43367
43017
  year,
43368
43018
  fullYearProjection
43369
43019
  });
43370
- const { data: summaryData, isLoading: isSummaryLoading } = useTaxSummary({
43371
- year,
43372
- fullYearProjection
43373
- });
43374
43020
  const { isDesktop } = useSizeClass();
43375
- const [expanded, setExpanded] = useState({
43376
- taxableIncome: true,
43377
- federalTaxes: true,
43378
- stateTaxes: true
43379
- });
43380
- const toggleExpanded = useCallback((key) => {
43381
- setExpanded((prev) => _objectSpread2(_objectSpread2({}, prev), {}, { [key]: !prev[key] }));
43382
- }, []);
43021
+ const columnConfig = useColumnConfig();
43383
43022
  const ExpandableCardsWrapper = isDesktop ? VStack : MobileExpandableCardsWrapper;
43023
+ return /* @__PURE__ */ jsx(ConditionalBlock, {
43024
+ isLoading,
43025
+ isError,
43026
+ data,
43027
+ Loading: /* @__PURE__ */ jsx(Loader, {}),
43028
+ Error: /* @__PURE__ */ jsx(ErrorState$4, {}),
43029
+ children: ({ data: details }) => {
43030
+ return /* @__PURE__ */ jsx(ExpandableCardsWrapper, {
43031
+ className: "Layer__TaxDetails__ExpandableCardsWrapper",
43032
+ children: /* @__PURE__ */ jsx(ExpandableDataTableProvider, { children: /* @__PURE__ */ jsx(ExpandableDataTable, {
43033
+ componentName: COMPONENT_NAME$2,
43034
+ ariaLabel: t("taxEstimates:label.tax_details", "Tax Details"),
43035
+ data: asMutable(details.rows),
43036
+ columnConfig,
43037
+ isLoading,
43038
+ isError,
43039
+ indentSize: isDesktop ? "sm" : "xs",
43040
+ slots: {
43041
+ EmptyState: EmptyState$1,
43042
+ ErrorState: ErrorState$4
43043
+ },
43044
+ getSubRows: getSubRows$1,
43045
+ getRowId: getRowId$1
43046
+ }) })
43047
+ });
43048
+ }
43049
+ });
43050
+ }
43051
+ var TaxDetailsHeader = () => /* @__PURE__ */ jsx(TaxEstimatesHeader, { type: TaxEstimatesHeaderType.Estimates });
43052
+ const TaxDetails = () => {
43384
43053
  return /* @__PURE__ */ jsxs(ResponsiveDetailView, {
43385
43054
  name: "TaxDetails",
43386
43055
  slots: { Header: TaxDetailsHeader },
43387
43056
  mobileProps: { className: "Layer__TaxDetails--mobile" },
43388
- children: [/* @__PURE__ */ jsx(ConditionalBlock, {
43389
- isLoading: isSummaryLoading,
43390
- isError,
43391
- data: summaryData,
43392
- Loading: /* @__PURE__ */ jsx(Loader, {}),
43393
- Error: /* @__PURE__ */ jsx(DataState, {
43394
- status: DataStateStatus.failed,
43395
- title: t("taxEstimates:error.load_tax_estimates_summary", "We couldn't load your tax summary"),
43396
- description: t("taxEstimates:error.while_loading_tax_summary", "An error occurred while loading your tax summary. Please check your connection and try again."),
43397
- spacing: true
43398
- }),
43399
- children: ({ data: summary }) => /* @__PURE__ */ jsx(TaxSummaryCard, { data: summary })
43400
- }), /* @__PURE__ */ jsx(ConditionalBlock, {
43401
- isLoading,
43402
- isError,
43403
- data,
43404
- Loading: /* @__PURE__ */ jsx(Loader, {}),
43405
- Error: /* @__PURE__ */ jsx(DataState, {
43406
- status: DataStateStatus.failed,
43407
- title: t("taxEstimates:error.load_tax_estimates", "We couldn't load your tax estimates"),
43408
- description: t("taxEstimates:error.while_loading_tax_estimates", "An error occurred while loading your tax estimates. Please check your connection and try again."),
43409
- spacing: true
43410
- }),
43411
- children: ({ data: details }) => {
43412
- const usFederal = details.taxes.usFederal;
43413
- const usState = details.taxes.usState;
43414
- return /* @__PURE__ */ jsxs(ExpandableCardsWrapper, { children: [
43415
- /* @__PURE__ */ jsx(ExpandableCard, {
43416
- isExpanded: expanded.taxableIncome,
43417
- onToggleExpanded: () => toggleExpanded("taxableIncome"),
43418
- slots: { Heading: /* @__PURE__ */ jsx(TaxDetailsExpandableCardHeading, {
43419
- title: tConditional(t, "taxEstimates:label.taxable_business_income", {
43420
- condition: projectedCondition,
43421
- cases: {
43422
- default: "Taxable Business Income",
43423
- projected: "Projected Taxable Business Income"
43424
- },
43425
- contexts: { projected: "projected" }
43426
- }),
43427
- amount: details.adjustedGrossIncome.totalAdjustedGrossIncome
43428
- }) },
43429
- children: /* @__PURE__ */ jsx(AdjustedGrossIncomeTable, { data: details.adjustedGrossIncome })
43430
- }),
43431
- usFederal && /* @__PURE__ */ jsx(ExpandableCard, {
43432
- isExpanded: expanded.federalTaxes,
43433
- onToggleExpanded: () => toggleExpanded("federalTaxes"),
43434
- slots: { Heading: /* @__PURE__ */ jsx(TaxDetailsExpandableCardHeading, {
43435
- title: tConditional(t, "taxEstimates:label.federal_taxes", {
43436
- condition: projectedCondition,
43437
- cases: {
43438
- default: "Federal Taxes",
43439
- projected: "Projected Federal Taxes"
43440
- },
43441
- contexts: { projected: "projected" }
43442
- }),
43443
- amount: usFederal.totalFederalTax.totalFederalTaxOwed
43444
- }) },
43445
- children: /* @__PURE__ */ jsx(FederalTaxTable, {
43446
- data: usFederal,
43447
- adjustedGrossIncome: details.adjustedGrossIncome.totalAdjustedGrossIncome
43448
- })
43449
- }),
43450
- usState && /* @__PURE__ */ jsx(ExpandableCard, {
43451
- isExpanded: expanded.stateTaxes,
43452
- onToggleExpanded: () => toggleExpanded("stateTaxes"),
43453
- slots: { Heading: /* @__PURE__ */ jsx(TaxDetailsExpandableCardHeading, {
43454
- title: tConditional(t, "taxEstimates:label.taxes_by_state_name", {
43455
- condition: projectedCondition,
43456
- cases: {
43457
- default: "State Taxes ({{stateName}})",
43458
- projected: "Projected State Taxes ({{stateName}})"
43459
- },
43460
- contexts: { projected: "projected" },
43461
- stateName: usState.stateName
43462
- }),
43463
- amount: usState.totalStateTax.totalStateTaxOwed
43464
- }) },
43465
- children: /* @__PURE__ */ jsx(StateTaxTable, { data: usState })
43466
- })
43467
- ] });
43468
- }
43469
- })]
43057
+ children: [/* @__PURE__ */ jsx(TaxSummaryCard, {}), /* @__PURE__ */ jsx(TaxDetailsContent, {})]
43470
43058
  });
43471
43059
  };
43472
43060
  const resolveCategoryColor = ({ key }) => {
@@ -43858,7 +43446,7 @@ var getStatusVisuals = (t, status) => {
43858
43446
  };
43859
43447
  case TaxOverviewDeadlineStatus.PastDue: return {
43860
43448
  Icon: CircleAlert,
43861
- label: t("taxEstimates:label.past_payment_due", "Past Payment Due"),
43449
+ label: t("taxEstimates:label.payment_past_due", "Payment past due"),
43862
43450
  tone: "pastDue"
43863
43451
  };
43864
43452
  case TaxOverviewDeadlineStatus.Due: return {
@@ -43868,7 +43456,7 @@ var getStatusVisuals = (t, status) => {
43868
43456
  };
43869
43457
  case TaxOverviewDeadlineStatus.CategorizationIncomplete: return {
43870
43458
  Icon: CircleAlert,
43871
- label: t("taxEstimates:label.categorization_incomplete", "Categorization Incomplete"),
43459
+ label: t("taxEstimates:label.categorization_incomplete", "Categorization incomplete"),
43872
43460
  tone: "warning"
43873
43461
  };
43874
43462
  case TaxOverviewDeadlineStatus.Neutral:
@@ -43890,8 +43478,7 @@ const StatusIcon = ({ status }) => {
43890
43478
  children: /* @__PURE__ */ jsx(Icon, {
43891
43479
  size: ICON_SIZE$1,
43892
43480
  strokeWidth: ICON_STROKE_WIDTH,
43893
- role: "img",
43894
- "aria-label": label$50
43481
+ "aria-hidden": true
43895
43482
  })
43896
43483
  })
43897
43484
  }), /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx(Span, {
@@ -44595,6 +44182,30 @@ const useCatalogServicesGlobalCacheActions = () => {
44595
44182
  forceReloadCatalogServices: useCallback(() => forceReload(({ tags }) => tags.includes(CATALOG_SERVICES_TAG_KEY)), [forceReload])
44596
44183
  };
44597
44184
  };
44185
+ const ExpandableCard = ({ children, isExpanded, onToggleExpanded, slots }) => {
44186
+ return /* @__PURE__ */ jsxs(Card, {
44187
+ className: "Layer__ExpandableCard",
44188
+ children: [/* @__PURE__ */ jsx("button", {
44189
+ type: "button",
44190
+ className: "Layer__ExpandableCard__Header",
44191
+ onClick: onToggleExpanded,
44192
+ children: /* @__PURE__ */ jsxs(HStack, {
44193
+ justify: "space-between",
44194
+ align: "center",
44195
+ children: [slots.Heading, /* @__PURE__ */ jsx(ExpandButton, { isExpanded })]
44196
+ })
44197
+ }), /* @__PURE__ */ jsx(AnimatedPresenceElement, {
44198
+ motionKey: "expandable-content",
44199
+ variant: "expand",
44200
+ isOpen: isExpanded,
44201
+ style: { overflow: "hidden" },
44202
+ children: /* @__PURE__ */ jsx(VStack, {
44203
+ className: "Layer__ExpandableCard__Content",
44204
+ children
44205
+ })
44206
+ })]
44207
+ });
44208
+ };
44598
44209
  var ARCHIVE_CATALOG_SERVICE_TAG_KEY = "#archive-catalog-service";
44599
44210
  var ArchiveCatalogServiceResponseSchema = Schema.Struct({ data: CatalogServiceSchema });
44600
44211
  var archiveCatalogService = post(({ businessId, serviceId }) => `/v1/businesses/${businessId}/catalog/services/${serviceId}/archive`);
@@ -46426,10 +46037,10 @@ var TimeEntryDateCell = memo(function TimeEntryDateCell$1({ date }) {
46426
46037
  return formatCalendarDate(date, formatDate$1);
46427
46038
  });
46428
46039
  var TimeEntryDurationCell = memo(function TimeEntryDurationCell$1({ durationMinutes }) {
46429
- const { t } = useTranslation();
46430
- const { formatMinutesAsDuration: formatMinutesAsDuration$1 } = useIntlFormatter();
46431
- if (durationMinutes === 0) return /* @__PURE__ */ jsx(Span, { children: t("timeTracking:label.less_than_one_minute", "< 1 min") });
46432
- return /* @__PURE__ */ jsx(Span, { children: formatMinutesAsDuration$1(durationMinutes) });
46040
+ return /* @__PURE__ */ jsx(DurationSpan, {
46041
+ durationMinutes,
46042
+ showLessThanOneMinuteForZero: true
46043
+ });
46433
46044
  });
46434
46045
  var TimeEntryActionsCell = memo(function TimeEntryActionsCell$1({ entry }) {
46435
46046
  const { t } = useTranslation();
@@ -46982,7 +46593,7 @@ var TimeTrackingStatsLegendSwatch = ({ color }) => /* @__PURE__ */ jsx("svg", {
46982
46593
  })
46983
46594
  });
46984
46595
  var TimeTrackingStatsBreakdown = memo(function TimeTrackingStatsBreakdown$1({ entries }) {
46985
- const { formatMinutesAsDuration: formatMinutesAsDuration$1, formatPercent: formatPercent$1 } = useIntlFormatter();
46596
+ const { formatPercent: formatPercent$1 } = useIntlFormatter();
46986
46597
  const chartData = useMemo(() => buildStackedChartData(entries), [entries]);
46987
46598
  const chartTotalMinutes = useMemo(() => entries.reduce((total, entry) => total + entry.totalMinutes, 0), [entries]);
46988
46599
  const chartKey = entries.map((entry) => entry.key).join("|");
@@ -47057,10 +46668,10 @@ var TimeTrackingStatsBreakdown = memo(function TimeTrackingStatsBreakdown$1({ en
47057
46668
  className: "Layer__TimeTrackingStats__LegendMeta",
47058
46669
  gap: "2xs",
47059
46670
  align: "baseline",
47060
- children: [/* @__PURE__ */ jsx(Span, {
46671
+ children: [/* @__PURE__ */ jsx(DurationSpan, {
47061
46672
  className: "Layer__TimeTrackingStats__LegendDuration",
47062
46673
  size: "sm",
47063
- children: formatMinutesAsDuration$1(totalMinutes)
46674
+ durationMinutes: totalMinutes
47064
46675
  }), /* @__PURE__ */ jsx(Span, {
47065
46676
  className: "Layer__TimeTrackingStats__LegendPercentage",
47066
46677
  size: "sm",
@@ -47074,9 +46685,7 @@ var TimeTrackingStatsBreakdown = memo(function TimeTrackingStatsBreakdown$1({ en
47074
46685
  });
47075
46686
  function TimeTrackingStatsContent({ summary }) {
47076
46687
  const { t } = useTranslation();
47077
- const { formatMinutesAsDuration: formatMinutesAsDuration$1 } = useIntlFormatter();
47078
46688
  const serviceBreakdown = useMemo(() => buildServiceBreakdown(summary.byService, t("timeTracking:label.other", "Other")), [summary.byService, t]);
47079
- const totalDurationDisplay = summary.totalMinutes > 0 ? formatMinutesAsDuration$1(summary.totalMinutes) : t("timeTracking:label.zero_minutes", "0 min");
47080
46689
  return /* @__PURE__ */ jsxs(VStack, {
47081
46690
  className: "Layer__TimeTrackingStats__Content",
47082
46691
  gap: "lg",
@@ -47108,10 +46717,10 @@ function TimeTrackingStatsContent({ summary }) {
47108
46717
  size: "sm",
47109
46718
  variant: "subtle",
47110
46719
  children: t("common:label.this_period", "This Period")
47111
- }), /* @__PURE__ */ jsx(Span, {
46720
+ }), /* @__PURE__ */ jsx(DurationSpan, {
47112
46721
  className: "Layer__TimeTrackingStats__SummaryValue",
47113
46722
  weight: "bold",
47114
- children: totalDurationDisplay
46723
+ durationMinutes: summary.totalMinutes
47115
46724
  })]
47116
46725
  })]
47117
46726
  })]