@zeniai/web-components 4.2.51 → 4.2.53

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.
Files changed (38) hide show
  1. package/dist/{SessionTimeoutPopup-D6p0Lz1-.js → SessionTimeoutPopup-B9HZAGdd.js} +72413 -72041
  2. package/dist/{SessionTimeoutPopup-BThtqQXA.cjs → SessionTimeoutPopup-xlvbSS0Z.cjs} +14849 -14827
  3. package/dist/appLocale.d.ts +7 -2
  4. package/dist/assets/interface/edit.svg +2 -3
  5. package/dist/cockpit.cjs.js +1 -1
  6. package/dist/cockpit.esm.js +2 -2
  7. package/dist/components/expenseAutomation/sections/transactionCategorization/TransactionCategorizationListPage.d.ts +1 -1
  8. package/dist/components/expenseAutomation/sections/transactionCategorization/TransactionCategorizationListTable.d.ts +1 -1
  9. package/dist/components/expenseAutomation/sections/transactionCategorization/listRow/TransactionCategorizationListRow.d.ts +3 -2
  10. package/dist/components/expenseAutomation/sections/transactionCategorization/reviewConfirmTransferDrawer/ReviewConfirmTransferDrawer.d.ts +14 -1
  11. package/dist/components/expenseAutomation/sections/transactionCategorization/reviewConfirmTransferDrawer/ReviewConfirmTransferPanel.d.ts +1 -1
  12. package/dist/components/expenseAutomation/sections/transactionCategorization/reviewConfirmTransferDrawer/transferAccountOptions.d.ts +6 -0
  13. package/dist/components/expenseAutomation/sections/transactionCategorization/transactionCategorizationTypes.d.ts +3 -0
  14. package/dist/components/expenseAutomation/sections/transactionCategorization/transactionTypeDropdownHelper.d.ts +25 -5
  15. package/dist/components/formElements/formattedTextField/FormattedTextField.d.ts +6 -1
  16. package/dist/components/transactionDetail/TransactionDetailContent.d.ts +3 -3
  17. package/dist/components/transactionDetail/items/TransactionDetailHeader.d.ts +3 -1
  18. package/dist/components/transactionDetail/items/TransactionDetailTitle.d.ts +3 -1
  19. package/dist/components/transactionDetail/items/journalEntryTable/TransactionLinesJournalEntryTable.d.ts +1 -1
  20. package/dist/components/transactionDetail/items/journalEntryTable/header/JournalEntryTableHeader.d.ts +2 -1
  21. package/dist/components/transactionDetail/items/journalEntryTable/header/journalEntryHeaderItemsData.d.ts +9 -0
  22. package/dist/components/transactionDetail/items/journalEntryTable/journalEntryTableStyles.d.ts +4 -0
  23. package/dist/components/transactionDetail/items/journalEntryTable/journalEntryTableTypes.d.ts +4 -4
  24. package/dist/components/transactionDetail/items/journalEntryTable/listRow/JournalEntryTableListRow.d.ts +1 -1
  25. package/dist/components/transactionDetail/items/journalEntryTable/totals/JournalEntryTotalsRow.d.ts +3 -3
  26. package/dist/components/transactionDetail/items/transactionLineTable/TransactionLinesReconciliationRow.d.ts +3 -3
  27. package/dist/components/transactionDetail/items/transactionLineTable/TransactionLinesTable.d.ts +1 -1
  28. package/dist/components/transactionDetail/items/transactionLineTable/header/TransactionLineTableHeader.d.ts +2 -1
  29. package/dist/components/transactionDetail/items/transactionLineTable/header/transactionLineHeaderItemsData.d.ts +8 -0
  30. package/dist/components/transactionDetail/items/transactionLineTable/listRow/TransactionLineTableListRow.d.ts +1 -1
  31. package/dist/components/transactionDetail/items/transactionLineTable/transactionLineTableStyles.d.ts +2 -0
  32. package/dist/components/transactionDetail/items/transactionLineTable/transactionLineTableTypes.d.ts +4 -4
  33. package/dist/context/featureProvider/DynamicConfigNameConstants.d.ts +3 -1
  34. package/dist/context/featureProvider/useTransactionTypeConfig.d.ts +22 -0
  35. package/dist/index.cjs.js +1 -1
  36. package/dist/index.esm.js +1 -1
  37. package/dist/strings/strings.d.ts +7 -2
  38. package/package.json +3 -3
@@ -2912,6 +2912,7 @@ declare class AppLocale {
2912
2912
  debitHeader: string;
2913
2913
  creditHeader: string;
2914
2914
  amountHeader: string;
2915
+ amountInputPlaceholder: string;
2915
2916
  descriptionPlaceholder: string;
2916
2917
  debitPrefix: string;
2917
2918
  creditPrefix: string;
@@ -2923,6 +2924,8 @@ declare class AppLocale {
2923
2924
  validation: {
2924
2925
  lineNeedsDebitOrCredit: string;
2925
2926
  totalsMustEqual: string;
2927
+ eachLineMustHave: string;
2928
+ eachLineMustHaveNoClass: string;
2926
2929
  };
2927
2930
  };
2928
2931
  transactionLineTable: {
@@ -2931,13 +2934,14 @@ declare class AppLocale {
2931
2934
  classHeader: string;
2932
2935
  projectHeader: string;
2933
2936
  amountHeader: string;
2937
+ amountInputPlaceholder: string;
2934
2938
  descriptionPlaceholder: string;
2935
2939
  emptyMessage: string;
2936
2940
  addLine: string;
2937
2941
  validation: {
2938
- lineNeedsAmount: string;
2939
- lineNeedsCategory: string;
2940
2942
  sumMustEqual: string;
2943
+ eachLineMustHave: string;
2944
+ eachLineMustHaveNoClass: string;
2941
2945
  };
2942
2946
  };
2943
2947
  };
@@ -9570,6 +9574,7 @@ declare class AppLocale {
9570
9574
  debitAccountLabel: string;
9571
9575
  creditAccountLabel: string;
9572
9576
  creditAccountPlaceholder: string;
9577
+ debitAccountPlaceholder: string;
9573
9578
  keepExpense: string;
9574
9579
  convert: string;
9575
9580
  convertToTransfer: string;
@@ -1,5 +1,4 @@
1
1
  <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M6 13.5H3C2.86739 13.5 2.74021 13.4473 2.64645 13.3535C2.55268 13.2598 2.5 13.1326 2.5 13V10.2069C2.50006 10.0744 2.55266 9.94743 2.64625 9.85374L10.3538 2.14624C10.4475 2.05254 10.5746 1.99991 10.7072 1.99991C10.8397 1.99991 10.9669 2.05254 11.0606 2.14624L13.8538 4.93749C13.9474 5.03125 14.0001 5.15837 14.0001 5.29093C14.0001 5.42348 13.9474 5.55061 13.8538 5.64436L6 13.5Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
3
- <path d="M13.5 13.5H6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
4
- <path d="M8.5 4L12 7.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2
+ <path d="M6.34237 12.6249H3.79891C3.68648 12.6249 3.57866 12.5803 3.49916 12.5008C3.41966 12.4213 3.375 12.3135 3.375 12.201V9.83296C3.37505 9.72068 3.41965 9.61301 3.49899 9.53357L10.0336 2.999C10.1131 2.91956 10.2208 2.87494 10.3332 2.87494C10.4456 2.87494 10.5534 2.91956 10.6329 2.999L13.0009 5.36548C13.0804 5.44497 13.125 5.55275 13.125 5.66513C13.125 5.77751 13.0804 5.88529 13.0009 5.96478L6.34237 12.6249Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
3
+ <path d="M8.46191 4.57068L11.4293 7.53805" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
5
4
  </svg>
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./SessionTimeoutPopup-BThtqQXA.cjs"),o=require("./vendor-.pnpm-C8FI_grH.cjs"),u=require("react"),s=require("@emotion/styled"),Xe=require("@liveblocks/react"),ee=require("@zeniai/client-epic-state"),ks=require("@liveblocks/react-ui"),Ee=require("@emotion/react"),Po=require("react-dom"),yt=require("@liveblocks/react-ui/primitives"),fi=require("@liveblocks/react/suspense");function Pa(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const le=Pa(u),Ia=({inboxNotification:e,onNotificationClick:n})=>{const r=Xe.useInboxNotificationThread(e.id),i=r.metadata.entityType.split("."),a=r.metadata.isGlobalComment&&i.length===2;return o.jsxRuntimeExports.jsx(Aa,{isClickable:a,isUnRead:e.readAt==null,onClick:()=>{n(r.metadata,r.id)},children:o.jsxRuntimeExports.jsx(ks.InboxNotification,{inboxNotification:e,kinds:{thread:d=>o.jsxRuntimeExports.jsx(ks.InboxNotification.Thread,{...d,showRoomName:!0})}})})},Aa=s.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./SessionTimeoutPopup-xlvbSS0Z.cjs"),o=require("./vendor-.pnpm-C8FI_grH.cjs"),u=require("react"),s=require("@emotion/styled"),Xe=require("@liveblocks/react"),ee=require("@zeniai/client-epic-state"),ks=require("@liveblocks/react-ui"),Ee=require("@emotion/react"),Po=require("react-dom"),yt=require("@liveblocks/react-ui/primitives"),fi=require("@liveblocks/react/suspense");function Pa(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const le=Pa(u),Ia=({inboxNotification:e,onNotificationClick:n})=>{const r=Xe.useInboxNotificationThread(e.id),i=r.metadata.entityType.split("."),a=r.metadata.isGlobalComment&&i.length===2;return o.jsxRuntimeExports.jsx(Aa,{isClickable:a,isUnRead:e.readAt==null,onClick:()=>{n(r.metadata,r.id)},children:o.jsxRuntimeExports.jsx(ks.InboxNotification,{inboxNotification:e,kinds:{thread:d=>o.jsxRuntimeExports.jsx(ks.InboxNotification.Thread,{...d,showRoomName:!0})}})})},Aa=s.div`
2
2
  display: flex;
3
3
  width: 100%;
4
4
  cursor: ${e=>e.isClickable?"pointer":"initial"};
@@ -1,5 +1,5 @@
1
- import { ei as o, hB as Ne, k as bt, go as L, eT as It, bZ as Xr, a3 as Fe, eY as rp, gJ as ip, gU as sp, aL as I, gM as H, e2 as ap, i6 as ge, hT as co, fs as lt, aN as Wt, cI as Vs, z as So, fj as gs, cD as vo, eV as xs, f8 as lp, eu as Xt, er as Re, gT as Kl, ff as wo, e3 as Us, cy as ze, hL as cp, bl as dp, bH as _t, bi as pp, eR as Gl, h0 as up, bv as ys, P as fs, hd as hp, he as mp, hf as gp, aM as xp, cU as yp, cw as xt, eX as Yl, d2 as fp, eH as qr, fd as bs, hz as B, dY as bp, bS as $p, e9 as Ce, eN as Cp, dO as F, d3 as Be, hC as pt, eD as $s, bV as zr, ea as wp, eO as Cs, bI as ei, hm as Te, b_ as ti, eP as Zl, f5 as Ql, f0 as er, gF as zt, fu as dt, en as yn, cA as Sp, cC as Jl, eS as Xl, gV as Pt, gm as et, fP as Br, gi as vp, fq as fn, fr as bn, n as $n, gB as Wo, eA as _o, cx as oi, eW as ws, cB as jp, eZ as ql, eQ as po, eU as Vo, bt as Jt, gh as Hs, ha as kp, g_ as Tp, h4 as Lp, e$ as Pp, fi as Ip, fh as tr, eo as Ap, ep as Ss, gW as Op, e_ as ec, f4 as tc, f3 as oc, bE as nc, hv as Dp, cq as Ks, cr as vs, cl as Rp, cp as Ep, bW as or, bF as Cn, f2 as js, aP as Np, e6 as ni, gP as ft, ef as rc, co as Fr, cu as Mp, bD as ks, ci as zp, dP as hn, eM as Bp, eL as Fp, eI as Wp, cj as ri, e4 as Gs, cm as ic, hZ as Wr, d4 as sc, eF as ac, gK as Ts, ck as _p, aY as mn, aW as Jn, aX as Xn, i8 as lc, bn as Vp, hV as Up, bJ as Zt, a_ as Lt, fc as Ls, f7 as cc, ev as Hp, cG as dc, f9 as Kp, et as Gp, a$ as Ht, hl as lr, bN as Yp, i4 as Zp, ct as Kt, ba as pc, Q as pn, de as uc, df as _r, dd as hc, c0 as Qp, cK as Jp, eC as Xp, c1 as Vr, c3 as os, di as Ys, dg as qp, dh as eu, c2 as di, b$ as pi, c4 as tu, e5 as Zs, cn as ou, cs as nu, dB as Qs, b9 as ru, e as iu, d6 as su, eJ as au, ee as nr, hQ as mc, hU as gc, bM as Qt, a7 as ii, a8 as gn, hW as xc, h5 as yc, bo as lu, cL as cu, cZ as fc, cY as du, hb as pu, cP as Ur, aG as bc, cO as uu, cN as hu, bs as mu, cM as Ps, gX as $c, bQ as Cc, gq as wc, m as Sc, fo as vc, bR as gu, B as jc, bU as kc, fQ as xu, em as yu, hP as fu, cW as bu, g$ as $u, gY as Cu, a2 as wu, dL as Js, h3 as Su, fg as Tc, hc as Xs, c_ as vu, cz as ju, es as ku, f1 as Tu, f6 as Lu, eK as Pu, gy as qs, fb as Iu, eg as Lc, eb as Au, gE as Pc, bu as Ou, ew as Du, bG as Ru, bK as Eu, ec as Ic, fa as Nu, cv as Mu, fe as zu, e8 as Bu, ed as Ac, eq as Fu, bL as Wu, e7 as _u } from "./SessionTimeoutPopup-D6p0Lz1-.js";
2
- import { A as Pk, a as Ik, b as Ak, c as Ok, d as Dk, f as Rk, g as Ek, h as Nk, i as Mk, j as zk, l as Bk, o as Fk, p as Wk, q as _k, r as Vk, s as Uk, t as Hk, u as Kk, v as Gk, w as Yk, x as Zk, y as Qk, C as Jk, D as Xk, E as qk, F as eT, G as tT, H as oT, I as nT, J as rT, K as iT, L as sT, M as aT, N as lT, O as cT, R as dT, S as pT, T as uT, U as hT, V as mT, W as gT, X as xT, Y as yT, Z as fT, el as bT, _ as $T, $ as CT, a0 as wT, a1 as ST, a4 as vT, a5 as jT, a6 as kT, a9 as TT, aa as LT, ab as PT, ac as IT, ad as AT, ae as OT, af as DT, ag as RT, ah as ET, ai as NT, aj as MT, ak as zT, al as BT, am as FT, an as WT, ao as _T, ap as VT, aq as UT, ar as HT, as as KT, at as GT, au as YT, av as ZT, aw as QT, ax as JT, ay as XT, az as qT, aA as eL, el as tL, aB as oL, aC as nL, aD as rL, aE as iL, aF as sL, aH as aL, aI as lL, aJ as cL, aK as dL, aO as pL, aQ as uL, aR as hL, aS as mL, aT as gL, aU as xL, aV as yL, aZ as fL, b0 as bL, b1 as $L, b2 as CL, b3 as wL, b4 as SL, b5 as vL, b6 as jL, b7 as kL, b8 as TL, bb as LL, bc as PL, bd as IL, be as AL, bf as OL, bg as DL, bh as RL, bj as EL, bm as NL, bp as ML, bq as zL, br as BL, bw as FL, bx as WL, by as _L, bz as VL, bA as UL, bB as HL, bC as KL, bO as GL, bP as YL, bT as ZL, bX as QL, bY as JL, c5 as XL, c6 as qL, c7 as eP, c8 as tP, c9 as oP, ca as nP, cb as rP, cc as iP, cd as sP, ce as aP, cf as lP, cg as cP, ch as dP, cE as pP, cF as uP, cH as hP, cJ as mP, cQ as gP, cR as xP, cS as yP, cT as fP, cV as bP, cX as $P, c$ as CP, d0 as wP, d1 as SP, d5 as vP, d7 as jP, d8 as kP, d9 as TP, da as LP, db as PP, dc as IP, dj as AP, dk as OP, dl as DP, dm as RP, dn as EP, dp as NP, dq as MP, dr as zP, ds as BP, dt as FP, du as WP, dv as _P, dw as VP, dx as UP, dy as HP, dz as KP, dA as GP, dC as YP, bk as ZP, dD as QP, dE as JP, dF as XP, dG as qP, dH as eI, dI as tI, dJ as oI, el as nI, dM as rI, dK as iI, dN as sI, dQ as aI, dR as lI, dS as cI, dT as dI, dU as pI, dV as uI, dW as hI, dX as mI, dZ as gI, d_ as xI, d$ as yI, e0 as fI, e1 as bI, eh as $I, ej as CI, ek as wI, ex as SI, ey as vI, ez as jI, eB as kI, eE as TI, eG as LI, fk as PI, fl as II, fm as AI, fn as OI, fp as DI, ft as RI, fv as EI, fw as NI, fx as MI, fy as zI, fz as BI, fA as FI, fB as WI, fC as _I, fD as VI, fE as UI, fF as HI, fG as KI, fH as GI, fI as YI, fJ as ZI, fK as QI, fL as JI, fM as XI, fN as qI, fO as eA, fR as tA, fS as oA, fT as nA, fU as rA, fV as iA, fW as sA, fX as aA, fY as lA, fZ as cA, f_ as dA, f$ as pA, g0 as uA, g1 as hA, g2 as mA, g3 as gA, g4 as xA, g5 as yA, g6 as fA, g7 as bA, g8 as $A, g9 as CA, ga as wA, gb as SA, gc as vA, gd as jA, ge as kA, gf as TA, gg as LA, gj as PA, gk as IA, gl as AA, gn as OA, gp as DA, gr as RA, gs as EA, gt as NA, gu as MA, gv as zA, gw as BA, gx as FA, gz as WA, gA as _A, gC as VA, gD as UA, gG as HA, gI as KA, gH as GA, gL as YA, gN as ZA, gO as QA, gQ as JA, gR as XA, gS as qA, gZ as eO, h1 as tO, h2 as oO, h6 as nO, h7 as rO, h8 as iO, h9 as sO, hg as aO, hh as lO, hi as cO, hj as dO, hk as pO, hn as uO, ho as hO, hp as mO, hq as gO, hr as xO, hs as yO, ht as fO, hu as bO, hw as $O, hx as CO, hy as wO, hA as SO, hD as vO, hE as jO, hF as kO, hG as TO, hH as LO, hI as PO, hJ as IO, hK as AO, hM as OO, hN as DO, hO as RO, hR as EO, hS as NO, hX as MO, hY as zO, h_ as BO, h$ as FO, i0 as WO, i1 as _O, i2 as VO, i3 as UO, i5 as HO, i7 as KO, i9 as GO, ia as YO } from "./SessionTimeoutPopup-D6p0Lz1-.js";
1
+ import { ei as o, hB as Ne, k as bt, go as L, eT as It, bZ as Xr, a3 as Fe, eY as rp, gJ as ip, gU as sp, aL as I, gM as H, e2 as ap, i6 as ge, hT as co, fs as lt, aN as Wt, cI as Vs, z as So, fj as gs, cD as vo, eV as xs, f8 as lp, eu as Xt, er as Re, gT as Kl, ff as wo, e3 as Us, cy as ze, hL as cp, bl as dp, bH as _t, bi as pp, eR as Gl, h0 as up, bv as ys, P as fs, hd as hp, he as mp, hf as gp, aM as xp, cU as yp, cw as xt, eX as Yl, d2 as fp, eH as qr, fd as bs, hz as B, dY as bp, bS as $p, e9 as Ce, eN as Cp, dO as F, d3 as Be, hC as pt, eD as $s, bV as zr, ea as wp, eO as Cs, bI as ei, hm as Te, b_ as ti, eP as Zl, f5 as Ql, f0 as er, gF as zt, fu as dt, en as yn, cA as Sp, cC as Jl, eS as Xl, gV as Pt, gm as et, fP as Br, gi as vp, fq as fn, fr as bn, n as $n, gB as Wo, eA as _o, cx as oi, eW as ws, cB as jp, eZ as ql, eQ as po, eU as Vo, bt as Jt, gh as Hs, ha as kp, g_ as Tp, h4 as Lp, e$ as Pp, fi as Ip, fh as tr, eo as Ap, ep as Ss, gW as Op, e_ as ec, f4 as tc, f3 as oc, bE as nc, hv as Dp, cq as Ks, cr as vs, cl as Rp, cp as Ep, bW as or, bF as Cn, f2 as js, aP as Np, e6 as ni, gP as ft, ef as rc, co as Fr, cu as Mp, bD as ks, ci as zp, dP as hn, eM as Bp, eL as Fp, eI as Wp, cj as ri, e4 as Gs, cm as ic, hZ as Wr, d4 as sc, eF as ac, gK as Ts, ck as _p, aY as mn, aW as Jn, aX as Xn, i8 as lc, bn as Vp, hV as Up, bJ as Zt, a_ as Lt, fc as Ls, f7 as cc, ev as Hp, cG as dc, f9 as Kp, et as Gp, a$ as Ht, hl as lr, bN as Yp, i4 as Zp, ct as Kt, ba as pc, Q as pn, de as uc, df as _r, dd as hc, c0 as Qp, cK as Jp, eC as Xp, c1 as Vr, c3 as os, di as Ys, dg as qp, dh as eu, c2 as di, b$ as pi, c4 as tu, e5 as Zs, cn as ou, cs as nu, dB as Qs, b9 as ru, e as iu, d6 as su, eJ as au, ee as nr, hQ as mc, hU as gc, bM as Qt, a7 as ii, a8 as gn, hW as xc, h5 as yc, bo as lu, cL as cu, cZ as fc, cY as du, hb as pu, cP as Ur, aG as bc, cO as uu, cN as hu, bs as mu, cM as Ps, gX as $c, bQ as Cc, gq as wc, m as Sc, fo as vc, bR as gu, B as jc, bU as kc, fQ as xu, em as yu, hP as fu, cW as bu, g$ as $u, gY as Cu, a2 as wu, dL as Js, h3 as Su, fg as Tc, hc as Xs, c_ as vu, cz as ju, es as ku, f1 as Tu, f6 as Lu, eK as Pu, gy as qs, fb as Iu, eg as Lc, eb as Au, gE as Pc, bu as Ou, ew as Du, bG as Ru, bK as Eu, ec as Ic, fa as Nu, cv as Mu, fe as zu, e8 as Bu, ed as Ac, eq as Fu, bL as Wu, e7 as _u } from "./SessionTimeoutPopup-B9HZAGdd.js";
2
+ import { A as Pk, a as Ik, b as Ak, c as Ok, d as Dk, f as Rk, g as Ek, h as Nk, i as Mk, j as zk, l as Bk, o as Fk, p as Wk, q as _k, r as Vk, s as Uk, t as Hk, u as Kk, v as Gk, w as Yk, x as Zk, y as Qk, C as Jk, D as Xk, E as qk, F as eT, G as tT, H as oT, I as nT, J as rT, K as iT, L as sT, M as aT, N as lT, O as cT, R as dT, S as pT, T as uT, U as hT, V as mT, W as gT, X as xT, Y as yT, Z as fT, el as bT, _ as $T, $ as CT, a0 as wT, a1 as ST, a4 as vT, a5 as jT, a6 as kT, a9 as TT, aa as LT, ab as PT, ac as IT, ad as AT, ae as OT, af as DT, ag as RT, ah as ET, ai as NT, aj as MT, ak as zT, al as BT, am as FT, an as WT, ao as _T, ap as VT, aq as UT, ar as HT, as as KT, at as GT, au as YT, av as ZT, aw as QT, ax as JT, ay as XT, az as qT, aA as eL, el as tL, aB as oL, aC as nL, aD as rL, aE as iL, aF as sL, aH as aL, aI as lL, aJ as cL, aK as dL, aO as pL, aQ as uL, aR as hL, aS as mL, aT as gL, aU as xL, aV as yL, aZ as fL, b0 as bL, b1 as $L, b2 as CL, b3 as wL, b4 as SL, b5 as vL, b6 as jL, b7 as kL, b8 as TL, bb as LL, bc as PL, bd as IL, be as AL, bf as OL, bg as DL, bh as RL, bj as EL, bm as NL, bp as ML, bq as zL, br as BL, bw as FL, bx as WL, by as _L, bz as VL, bA as UL, bB as HL, bC as KL, bO as GL, bP as YL, bT as ZL, bX as QL, bY as JL, c5 as XL, c6 as qL, c7 as eP, c8 as tP, c9 as oP, ca as nP, cb as rP, cc as iP, cd as sP, ce as aP, cf as lP, cg as cP, ch as dP, cE as pP, cF as uP, cH as hP, cJ as mP, cQ as gP, cR as xP, cS as yP, cT as fP, cV as bP, cX as $P, c$ as CP, d0 as wP, d1 as SP, d5 as vP, d7 as jP, d8 as kP, d9 as TP, da as LP, db as PP, dc as IP, dj as AP, dk as OP, dl as DP, dm as RP, dn as EP, dp as NP, dq as MP, dr as zP, ds as BP, dt as FP, du as WP, dv as _P, dw as VP, dx as UP, dy as HP, dz as KP, dA as GP, dC as YP, bk as ZP, dD as QP, dE as JP, dF as XP, dG as qP, dH as eI, dI as tI, dJ as oI, el as nI, dM as rI, dK as iI, dN as sI, dQ as aI, dR as lI, dS as cI, dT as dI, dU as pI, dV as uI, dW as hI, dX as mI, dZ as gI, d_ as xI, d$ as yI, e0 as fI, e1 as bI, eh as $I, ej as CI, ek as wI, ex as SI, ey as vI, ez as jI, eB as kI, eE as TI, eG as LI, fk as PI, fl as II, fm as AI, fn as OI, fp as DI, ft as RI, fv as EI, fw as NI, fx as MI, fy as zI, fz as BI, fA as FI, fB as WI, fC as _I, fD as VI, fE as UI, fF as HI, fG as KI, fH as GI, fI as YI, fJ as ZI, fK as QI, fL as JI, fM as XI, fN as qI, fO as eA, fR as tA, fS as oA, fT as nA, fU as rA, fV as iA, fW as sA, fX as aA, fY as lA, fZ as cA, f_ as dA, f$ as pA, g0 as uA, g1 as hA, g2 as mA, g3 as gA, g4 as xA, g5 as yA, g6 as fA, g7 as bA, g8 as $A, g9 as CA, ga as wA, gb as SA, gc as vA, gd as jA, ge as kA, gf as TA, gg as LA, gj as PA, gk as IA, gl as AA, gn as OA, gp as DA, gr as RA, gs as EA, gt as NA, gu as MA, gv as zA, gw as BA, gx as FA, gz as WA, gA as _A, gC as VA, gD as UA, gG as HA, gI as KA, gH as GA, gL as YA, gN as ZA, gO as QA, gQ as JA, gR as XA, gS as qA, gZ as eO, h1 as tO, h2 as oO, h6 as nO, h7 as rO, h8 as iO, h9 as sO, hg as aO, hh as lO, hi as cO, hj as dO, hk as pO, hn as uO, ho as hO, hp as mO, hq as gO, hr as xO, hs as yO, ht as fO, hu as bO, hw as $O, hx as CO, hy as wO, hA as SO, hD as vO, hE as jO, hF as kO, hG as TO, hH as LO, hI as PO, hJ as IO, hK as AO, hM as OO, hN as DO, hO as RO, hR as EO, hS as NO, hX as MO, hY as zO, h_ as BO, h$ as FO, i0 as WO, i1 as _O, i2 as VO, i3 as UO, i5 as HO, i7 as KO, i9 as GO, ia as YO } from "./SessionTimeoutPopup-B9HZAGdd.js";
3
3
  import { al as t, D as Vu, a1 as Uu, aM as Ve, q as wn, O as rt, L as Hu, s as Ku, T as Gu, o as si, f as qt, h as ye, aI as uo, i as Sn, aH as ho, Y as Uo, m as mo, J as Ho, b as eo, V as Ko, ae as nt, I as Oc, X as Yu, ao as Mt, aa as Fo, aG as Zu, k as Is, C as Dc, n as Qu, d as Ju, e as As, B as Os, at as ea } from "./vendor-.pnpm-CUrsb6Rf.js";
4
4
  import { aB as QO } from "./vendor-.pnpm-CUrsb6Rf.js";
5
5
  import * as me from "react";
@@ -1,5 +1,5 @@
1
1
  import { ID } from '@zeniai/client-epic-state';
2
2
  import { TransactionCategorizationPageProps } from './transactionCategorizationTypes';
3
- declare const TransactionCategorizationListPage: ({ selectedTab, transactionView, authParams, sectionId, vendorSearchAutoCompleteData, vendorSearchAutoCompleteActions, isAccountingClassesEnabled, isCOTEnabled, isCreateTransferEntryFromExpenseEnabled, isProjectsTransactionsEnabled, isTransactionActivityEnabled, setCurrentFooterFormId, setLocalDataForCategoryAndClass, onTransactionCategorizationRowClick, onUpdateTransactionCategorizationUIState, onUpdateScrollYOffSetTransactionCategorizationUIState, onFetchTransactionCategorizationList, onSaveUpdateTransactionCategorization, onUpdateSelectedCheckboxTransactionIds, onFetchRecommendationsForEntityCategorization, onFetchRecommendationsForEntityCategorizationWithCustomer, onOpenTransferRightPanel, setActivityLogTransactionId, onUploadTransactionReceipt, }: TransactionCategorizationPageProps) => import("react/jsx-runtime").JSX.Element;
3
+ declare const TransactionCategorizationListPage: ({ companyId, selectedTab, transactionView, authParams, sectionId, vendorSearchAutoCompleteData, vendorSearchAutoCompleteActions, isAccountingClassesEnabled, isCOTEnabled, isCreateTransferEntryFromExpenseEnabled, isProjectsTransactionsEnabled, isTransactionActivityEnabled, setCurrentFooterFormId, setLocalDataForCategoryAndClass, onTransactionCategorizationRowClick, onUpdateTransactionCategorizationUIState, onUpdateScrollYOffSetTransactionCategorizationUIState, onFetchTransactionCategorizationList, onSaveUpdateTransactionCategorization, onUpdateSelectedCheckboxTransactionIds, onFetchRecommendationsForEntityCategorization, onFetchRecommendationsForEntityCategorizationWithCustomer, onOpenTransferRightPanel, setActivityLogTransactionId, onUploadTransactionReceipt, }: TransactionCategorizationPageProps) => import("react/jsx-runtime").JSX.Element;
4
4
  export default TransactionCategorizationListPage;
5
5
  export declare const uniqueFormName: (sectionId: ID) => `${string}_form`;
@@ -22,5 +22,5 @@ export interface TransactionCategorizationListTableProps extends Omit<ListItemPr
22
22
  isUncategorizedExpenseCategoryEnabled?: boolean;
23
23
  setActivityLogTransactionId: (transactionId: string) => void;
24
24
  }
25
- export declare const TransactionCategorizationListTable: ({ selectedTab, transactionView, authParams, sectionId, isAccountingClassesEnabled, showProjectField, isCOTEnabled, isCreateTransferEntryFromExpenseEnabled, isDisabled, vendorSearchAutoCompleteActions, isTransactionActivityEnabled, vendorSearchAutoCompleteData, setCurrentTransactionInAction, vendorLoadOptions, onTransactionCategorizationRowClick, onUpdateTransactionCategorizationUIState, onFetchTransactionCategorizationList, containerRef, cotTracking, isUncategorizedExpenseCategoryEnabled, onOpenTransferDrawer, setActivityLogTransactionId, onUploadTransactionReceipt, onUpdateScrollYOffSetTransactionCategorizationUIState, }: TransactionCategorizationListTableProps) => import("react/jsx-runtime").JSX.Element;
25
+ export declare const TransactionCategorizationListTable: ({ selectedTab, transactionView, authParams, sectionId, isAccountingClassesEnabled, showProjectField, isCOTEnabled, isCreateTransferEntryFromExpenseEnabled, transferConvertibleSourceTypes, isDisabled, vendorSearchAutoCompleteActions, isTransactionActivityEnabled, vendorSearchAutoCompleteData, setCurrentTransactionInAction, vendorLoadOptions, onTransactionCategorizationRowClick, onUpdateTransactionCategorizationUIState, onFetchTransactionCategorizationList, containerRef, cotTracking, isUncategorizedExpenseCategoryEnabled, onOpenTransferDrawer, setActivityLogTransactionId, onUploadTransactionReceipt, onUpdateScrollYOffSetTransactionCategorizationUIState, }: TransactionCategorizationListTableProps) => import("react/jsx-runtime").JSX.Element;
26
26
  export {};
@@ -9,8 +9,8 @@ import { TransactionActionProps, TransactionCategorizationListRowProps, Transfer
9
9
  /**
10
10
  * Component & its Props
11
11
  */
12
- export declare const TransactionCategorizationListRow: ({ transactionView, transaction, sectionId, vendorSearchAutoCompleteData, vendorSearchAutoCompleteActions, selectedTab, containerRef: _containerRef, listContainerRef, isAccountingClassesEnabled, showProjectField, isCOTEnabled, isCreateTransferEntryFromExpenseEnabled, isPanelSelected, cotTracking, onTransactionCategorizationRowClick, setCurrentTransactionInAction, vendorLoadOptions, openTooltipId, setOpenTooltipId, isUncategorizedExpenseCategoryEnabled, onOpenTransferDrawer, authParams, onUploadTransactionReceipt, rowCommenting, }: TransactionCategorizationListRowProps) => import("react/jsx-runtime").JSX.Element;
13
- export declare const TransactionCategorizationListItemRow: ({ accountsHierarchyList, allAccountList, allClassList, allProjectList, showProjectField, classHierarchyList, customStyle, customStyleAutoComplete, line, lineIndex, transaction, currentTransaction, windowSize, uncategorizedAccounts, isHovered, isQuickViewMode, sectionId, recommendations, vendorSearchAutoCompleteData, selectedTab, isCOTEnabled, menuPlacement, cotTracking, openTooltipId, setCurrentTransactionInAction, vendorLoadOptions, setOpenTooltipId, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled, isCreateTransferEntryFromExpenseEnabled, onDropdownClose, onDropdownOpen, authParams, onOpenTransferDrawer, uploadReceiptStatus, onUploadTransactionReceipt, }: {
12
+ export declare const TransactionCategorizationListRow: ({ transactionView, transaction, sectionId, vendorSearchAutoCompleteData, vendorSearchAutoCompleteActions, selectedTab, containerRef: _containerRef, listContainerRef, isAccountingClassesEnabled, showProjectField, isCOTEnabled, isCreateTransferEntryFromExpenseEnabled, transferConvertibleSourceTypes, isPanelSelected, cotTracking, onTransactionCategorizationRowClick, setCurrentTransactionInAction, vendorLoadOptions, openTooltipId, setOpenTooltipId, isUncategorizedExpenseCategoryEnabled, onOpenTransferDrawer, authParams, onUploadTransactionReceipt, rowCommenting, }: TransactionCategorizationListRowProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const TransactionCategorizationListItemRow: ({ accountsHierarchyList, allAccountList, allClassList, allProjectList, showProjectField, classHierarchyList, customStyle, customStyleAutoComplete, line, lineIndex, transaction, currentTransaction, windowSize, uncategorizedAccounts, isHovered, isQuickViewMode, sectionId, recommendations, vendorSearchAutoCompleteData, selectedTab, isCOTEnabled, menuPlacement, cotTracking, openTooltipId, setCurrentTransactionInAction, vendorLoadOptions, setOpenTooltipId, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled, isCreateTransferEntryFromExpenseEnabled, transferConvertibleSourceTypes, onDropdownClose, onDropdownOpen, authParams, onOpenTransferDrawer, uploadReceiptStatus, onUploadTransactionReceipt, }: {
14
14
  accountsHierarchyList: NestedAccountHierarchyForReport[];
15
15
  allAccountList: AccountBase[];
16
16
  allClassList: ClassBase[];
@@ -44,6 +44,7 @@ export declare const TransactionCategorizationListItemRow: ({ accountsHierarchyL
44
44
  isUncategorizedExpenseCategoryEnabled?: boolean;
45
45
  openTooltipId?: ID;
46
46
  recommendations?: RecommendationWithCOT[];
47
+ transferConvertibleSourceTypes?: Set<string>;
47
48
  uploadReceiptStatus?: FetchStateAndError;
48
49
  onUploadTransactionReceipt: (selectedTab: ExpenseAutomationTransactionsTab, transactionId: ID, transactionType: string, files: Blob[], fileNames: string[]) => void;
49
50
  setCurrentTransactionInAction: (transaction: Partial<TransactionActionProps>) => void;
@@ -3,9 +3,22 @@ import { CreateTransferPayload, TransferDrawerTransactionData } from '../transac
3
3
  export interface ReviewConfirmTransferFormProps {
4
4
  createTransferEntryStatus: FetchState;
5
5
  transaction: TransferDrawerTransactionData | null;
6
+ /**
7
+ * Full transfer-eligible pool (CES `transferAccounts` / `transferAccountsList`),
8
+ * banks included — forwarded verbatim by the host. The drawer uses it as the
9
+ * transfer credit pool AND as the debit (source) pool; for a credit-card-payment
10
+ * debit leg it filters this pool to bank accounts. No host pre-scoping needed.
11
+ */
6
12
  transferAccounts: AccountBase[];
13
+ /**
14
+ * Curated credit-card payment targets (CES `creditCardTransferAccountsList`),
15
+ * forwarded verbatim. The drawer uses it as the credit pool when converting to a
16
+ * credit-card payment. Optional: when absent, the credit-card credit pool is
17
+ * empty and the drawer renders its no-eligible-accounts state.
18
+ */
19
+ creditCardTransferAccountsList?: AccountBase[];
7
20
  isQuickViewCardStyle?: boolean;
8
21
  onClose: () => void;
9
22
  onCreateTransfer: (payload: CreateTransferPayload) => void;
10
23
  }
11
- export declare function ReviewConfirmTransferForm({ createTransferEntryStatus, transaction, transferAccounts, isQuickViewCardStyle, onClose, onCreateTransfer, }: Readonly<ReviewConfirmTransferFormProps>): import("react/jsx-runtime").JSX.Element | null;
24
+ export declare function ReviewConfirmTransferForm({ createTransferEntryStatus, creditCardTransferAccountsList, transaction, transferAccounts, isQuickViewCardStyle, onClose, onCreateTransfer, }: Readonly<ReviewConfirmTransferFormProps>): import("react/jsx-runtime").JSX.Element | null;
@@ -3,5 +3,5 @@ export type ReviewConfirmTransferPanelProps = ReviewConfirmTransferFormProps;
3
3
  /**
4
4
  * Transfer review UI for an inline right rail (Expense Automation TC, transaction detail).
5
5
  */
6
- declare function ReviewConfirmTransferPanel({ createTransferEntryStatus, transaction, transferAccounts, onClose, onCreateTransfer, isQuickViewCardStyle, }: Readonly<ReviewConfirmTransferPanelProps>): import("react/jsx-runtime").JSX.Element | null;
6
+ declare function ReviewConfirmTransferPanel({ createTransferEntryStatus, creditCardTransferAccountsList, transaction, transferAccounts, onClose, onCreateTransfer, isQuickViewCardStyle, }: Readonly<ReviewConfirmTransferPanelProps>): import("react/jsx-runtime").JSX.Element | null;
7
7
  export default ReviewConfirmTransferPanel;
@@ -4,4 +4,10 @@ import { GroupedOption } from '../../../../formElements/labeledGroupedSingleSele
4
4
  export declare function transferAccountOptionValue(account: AccountBase): string;
5
5
  export declare function resolveDebitIdForCreditFilter(debitFromTransaction: string, accounts: AccountBase[]): string;
6
6
  export declare function getGroupedTransferAccountOptions(accounts: AccountBase[]): GroupedOption[];
7
+ /**
8
+ * Bank-only grouped options, used for the source (debit) account picker when a
9
+ * `vendor_credit` is being converted to a credit-card payment — the debit side of
10
+ * a credit-card payment must be a bank account.
11
+ */
12
+ export declare function getGroupedBankAccountOptions(accounts: AccountBase[]): GroupedOption[];
7
13
  export declare function filterOutAccount(options: GroupedOption[], valueToExclude: string): GroupedOption[];
@@ -86,6 +86,8 @@ export interface TransactionCategorizationListRowActionProps {
86
86
  * accounts that allow Transfer/Credit-card payment.
87
87
  */
88
88
  isCreateTransferEntryFromExpenseEnabled?: boolean;
89
+ /** Transfer-convertible source types resolved from `update_transaction_type_config`. */
90
+ transferConvertibleSourceTypes?: Set<string>;
89
91
  onTransactionCategorizationRowClick: (transactionId: ID, transactionType: TransactionType) => void;
90
92
  setCurrentTransactionInAction: (transaction: Partial<TransactionActionProps>) => void;
91
93
  vendorLoadOptions: (inputValue: string, callback: (allOptions: AutoCompleteGroupedOption[]) => void) => void;
@@ -134,6 +136,7 @@ export interface TransactionCategorizationPageProps extends TransactionCategoriz
134
136
  transactionView: ExpenseAutomationTransactionViewSelector;
135
137
  vendorSearchAutoCompleteActions: AutoCompleteActions;
136
138
  vendorSearchAutoCompleteData: AutoCompleteData;
139
+ companyId?: ID;
137
140
  onUploadTransactionReceipt: (selectedTab: ExpenseAutomationTransactionsTab, transactionId: ID, transactionType: string, files: Blob[], fileNames: string[]) => void;
138
141
  setActivityLogTransactionId: (transactionId: ID | undefined) => void;
139
142
  }
@@ -1,6 +1,24 @@
1
1
  import { GroupedOption, GroupedSingleSelectFieldValueWithCOT } from '../../../formElements/labeledGroupedSingleSelectWithCOT/GroupedSingleSelectFieldWithCOT';
2
2
  /** API / UI transaction type for credit card payment (matches backend). */
3
3
  export declare const CREDIT_CARD_PAYMENT_TRANSACTION_TYPE: "credit_card_payment";
4
+ /** Source transaction type whose transfer/credit-card conversion is account-type agnostic. */
5
+ export declare const VENDOR_CREDIT_TRANSACTION_TYPE: "vendor_credit";
6
+ /**
7
+ * Fallback set of source transaction types that can be converted to a transfer /
8
+ * credit card payment, used only while the `update_transaction_type_config`
9
+ * Statsig config is loading or is missing/empty. Defaults to `expense` only; the
10
+ * live list is fetched from that config per company — see
11
+ * `useTransferConvertibleSourceTypes`.
12
+ */
13
+ export declare const DEFAULT_TRANSFER_CONVERTIBLE_SOURCE_TYPES: Set<string>;
14
+ /**
15
+ * Resolves the transfer-convertible source types for a company from the
16
+ * `update_transaction_type_config` config value. Reads the per-company override
17
+ * (`transaction_types[companyId]`) and falls back to the shared `all` list, then
18
+ * to {@link DEFAULT_TRANSFER_CONVERTIBLE_SOURCE_TYPES} when neither is present.
19
+ */
20
+ export declare function resolveTransferConvertibleSourceTypes(configValue: Record<string, unknown> | undefined, companyId: string | undefined): Set<string>;
21
+ export declare function isTransferConvertibleSourceType(transactionType: string | undefined, convertibleSourceTypes?: Set<string>): boolean;
4
22
  export type TransactionTypeDropdownVisibility = {
5
23
  showCreditCard: boolean;
6
24
  showTransfer: boolean;
@@ -8,15 +26,17 @@ export type TransactionTypeDropdownVisibility = {
8
26
  /**
9
27
  * Which transfer / credit-card rows appear in the transaction type dropdown.
10
28
  * When `accountType` is missing or unknown, only expense is implied (no transfer / no credit card row).
29
+ * A `vendor_credit` source is account-type agnostic: both rows show regardless of `accountType`,
30
+ * and the source account is chosen later in the transfer drawer.
11
31
  */
12
- export declare function getTransactionTypeDropdownVisibility(accountType: string | undefined): TransactionTypeDropdownVisibility;
32
+ export declare function getTransactionTypeDropdownVisibility(accountType: string | undefined, sourceTransactionType?: string): TransactionTypeDropdownVisibility;
13
33
  /** True when the type dropdown can show more than expense (transfer and/or credit card payment). */
14
- export declare function isTransactionTypeDropdownInteractive(accountType: string | undefined): boolean;
15
- export declare function buildTypeDropdownGroups(accountType?: string): GroupedOption[];
34
+ export declare function isTransactionTypeDropdownInteractive(accountType: string | undefined, sourceTransactionType?: string): boolean;
35
+ export declare function buildTypeDropdownGroups(accountType?: string, currentType?: string, currentTypeName?: string): GroupedOption[];
16
36
  /** Story / demo: `bank` shows expense, transfer, and credit card payment rows. */
17
37
  export declare const TYPE_DROPDOWN_GROUPS: GroupedOption[];
18
38
  /**
19
39
  * @param accountType — Line / transaction account `accountType`; filters which non-expense rows appear.
20
- * If `currentType` is transfer or credit_card_payment but that value is not in the filtered list (data mismatch), the select may not reflect the selection until data is fixed.
40
+ * @param currentTypeName — Localized display name for `currentType`; labels the first (no-op) option so a non-expense source reads correctly instead of "Expense".
21
41
  */
22
- export declare function buildTypeDropdownValue(currentType: string, accountType?: string): GroupedSingleSelectFieldValueWithCOT;
42
+ export declare function buildTypeDropdownValue(currentType: string, accountType?: string, currentTypeName?: string): GroupedSingleSelectFieldValueWithCOT;
@@ -45,6 +45,11 @@ export interface FormattedTextFieldProps extends NumberFormatProps {
45
45
  style?: React.CSSProperties;
46
46
  onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
47
47
  onInputBlur?: () => void;
48
+ onValueChange?: (values: {
49
+ formattedValue: string;
50
+ value: string;
51
+ floatValue?: number;
52
+ }) => void;
48
53
  }
49
- export declare function FormattedTextField({ type, name, placeholder, autoComplete, inputMode, prefix, suffix, format, maxLength, mask, isFieldError, isNumericString, allowNegative, allowLeadingZeros, allowEmptyFormatting, returnValueType, decimalSeparator, decimalScale, fixedDecimalScale, thousandSeparator, thousandsGroupStyle, isDisabled, defaultValue, style, inputStyle, registerOptions, protectedInfoText, autoFocus, focus, disableCopyPaste, isMasked, shouldHighlightZeroAmount, onClick, onInputBlur, }: Readonly<FormattedTextFieldProps>): import("react/jsx-runtime").JSX.Element;
54
+ export declare function FormattedTextField({ type, name, placeholder, autoComplete, inputMode, prefix, suffix, format, maxLength, mask, isFieldError, isNumericString, allowNegative, allowLeadingZeros, allowEmptyFormatting, returnValueType, decimalSeparator, decimalScale, fixedDecimalScale, thousandSeparator, thousandsGroupStyle, isDisabled, defaultValue, style, inputStyle, registerOptions, protectedInfoText, autoFocus, focus, disableCopyPaste, isMasked, shouldHighlightZeroAmount, onClick, onInputBlur, onValueChange: onValueChangeProp, }: Readonly<FormattedTextFieldProps>): import("react/jsx-runtime").JSX.Element;
50
55
  export {};
@@ -29,8 +29,8 @@ interface TransactionDetailContentProps {
29
29
  isUncategorizedExpenseCategoryEnabled?: boolean;
30
30
  lineItemsLocalData?: TransactionDetailLocalData;
31
31
  openTooltipId?: ID;
32
- /** Inline validation error shown below the reconciliation row on a failed submit. */
33
- splitValidationError?: string;
32
+ /** Inline validation errors shown below the reconciliation row on a failed submit. */
33
+ splitValidationErrors?: string[];
34
34
  /**
35
35
  * Original transaction total forwarded to the reconciliation row.
36
36
  * Required when `onLineAdd` or `onLineDelete` is set.
@@ -47,5 +47,5 @@ interface TransactionDetailContentProps {
47
47
  /** Split / edit mode: called when the user clicks the "Edit" row to enter edit mode. */
48
48
  onSplitEditToggle?: () => void;
49
49
  }
50
- export default function TransactionDetailContent({ isQuickViewMode, transaction, accountList, accountsHierarchyList, classHierarchyList, classList, projects, sectionId, lineItemsLocalData, containerRef, uncategorizedAccounts, isAccountingClassesEnabled, isAccountingProjectsEnabled, isProjectsTransactionsEnabled, isDisabled, isCOTEnabled, searchAutoComplete, cotTracking, onLineAdd, onLineDelete, onSplitBalanceChange, onSplitEditToggle, splitValidationError, openTooltipId, setOpenTooltipId, transactionTotalAmount, isUncategorizedExpenseCategoryEnabled, isTransactionCommentingEnabled, entityId, }: Readonly<TransactionDetailContentProps>): import("react/jsx-runtime").JSX.Element;
50
+ export default function TransactionDetailContent({ isQuickViewMode, transaction, accountList, accountsHierarchyList, classHierarchyList, classList, projects, sectionId, lineItemsLocalData, containerRef, uncategorizedAccounts, isAccountingClassesEnabled, isAccountingProjectsEnabled, isProjectsTransactionsEnabled, isDisabled, isCOTEnabled, searchAutoComplete, cotTracking, onLineAdd, onLineDelete, onSplitBalanceChange, onSplitEditToggle, splitValidationErrors, openTooltipId, setOpenTooltipId, transactionTotalAmount, isUncategorizedExpenseCategoryEnabled, isTransactionCommentingEnabled, entityId, }: Readonly<TransactionDetailContentProps>): import("react/jsx-runtime").JSX.Element;
51
51
  export {};
@@ -2,7 +2,7 @@ import { Entity, ID, RecommendationWithCOT, SupportedTransactionWithCOT } from '
2
2
  import { COTTrackingProps } from '../../../types/cotTracking';
3
3
  import { CreatableAutoCompleteSingleSelectFieldValue } from '../../formElements/creatableAutoCompleteSingleSelectTitleField/CreatableAutoCompleteSingleSelectTitleField';
4
4
  import { VendorSearchAutoComplete } from './transactionLineTypes';
5
- export default function TransactionDetailHeader({ transaction, vendorDetailsSectionId, existingVendor, existingCustomer, selectedEntity, isCOTEnabled, vendorSearchAutoComplete, headerStyles, recommendationsWithCOT, cotTracking, isQuickViewMode, handleVendorRename, handleCustomerRename, openTooltipId, setOpenTooltipId, onTransactionTypeChangeToTransfer, menuPortalTarget, }: Readonly<{
5
+ export default function TransactionDetailHeader({ transaction, vendorDetailsSectionId, existingVendor, existingCustomer, selectedEntity, isCOTEnabled, vendorSearchAutoComplete, headerStyles, recommendationsWithCOT, cotTracking, isQuickViewMode, handleVendorRename, handleCustomerRename, openTooltipId, setOpenTooltipId, onTransactionTypeChangeToTransfer, menuPortalTarget, transferConvertibleSourceTypes, }: Readonly<{
6
6
  isCOTEnabled: boolean;
7
7
  transaction: SupportedTransactionWithCOT;
8
8
  vendorDetailsSectionId: string;
@@ -32,6 +32,8 @@ export default function TransactionDetailHeader({ transaction, vendorDetailsSect
32
32
  openTooltipId?: ID;
33
33
  recommendationsWithCOT?: RecommendationWithCOT[];
34
34
  selectedEntity?: Entity;
35
+ /** Transfer-convertible source types resolved from `update_transaction_type_config`. */
36
+ transferConvertibleSourceTypes?: Set<string>;
35
37
  setOpenTooltipId: (tooltipId: ID | undefined) => void;
36
38
  handleCustomerRename?: (_newName: string) => void;
37
39
  handleVendorRename?: (_newName: string) => void;
@@ -37,12 +37,14 @@ export interface Props {
37
37
  openTooltipId?: ID;
38
38
  recommendationsWithCOT?: RecommendationWithCOT[];
39
39
  selectedEntity?: Entity;
40
+ /** Transfer-convertible source types resolved from `update_transaction_type_config`. */
41
+ transferConvertibleSourceTypes?: Set<string>;
40
42
  setOpenTooltipId: (tooltipId: ID | undefined) => void;
41
43
  handleCustomerRename?: (newName: string) => void;
42
44
  handleVendorRename?: (newName: string) => void;
43
45
  onTransactionTypeChangeToTransfer?: (transactionType: string) => void;
44
46
  }
45
- export default function TransactionDetailTitle({ transaction, sectionId, existingVendor, existingCustomer, selectedEntity, isCOTEnabled, isQuickViewMode, vendorSearchAutoComplete, recommendationsWithCOT, cotTracking, handleVendorRename, handleCustomerRename, openTooltipId, setOpenTooltipId, onTransactionTypeChangeToTransfer, menuPortalTarget, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
47
+ export default function TransactionDetailTitle({ transaction, sectionId, existingVendor, existingCustomer, selectedEntity, isCOTEnabled, isQuickViewMode, vendorSearchAutoComplete, recommendationsWithCOT, cotTracking, handleVendorRename, handleCustomerRename, openTooltipId, setOpenTooltipId, onTransactionTypeChangeToTransfer, menuPortalTarget, transferConvertibleSourceTypes, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
46
48
  export declare function getTitle(transaction: SupportedTransactionWithCOT, selectedVendorName?: string): string;
47
49
  export declare const getAllVendorOptions: (allVendors?: Entity[]) => {
48
50
  label: string;
@@ -1,2 +1,2 @@
1
1
  import { TransactionLinesJournalEntryTableProps } from './journalEntryTableTypes';
2
- export default function TransactionLinesJournalEntryTable({ accountList, accountsHierarchyList, classHierarchyList, classList, isAccountingClassesEnabled, isAccountingProjectsEnabled, isCOTEnabled, isProjectsTransactionsEnabled, lines, onLineAdd, onLineDelete, onSplitBalanceChange, onSplitEditToggle, splitValidationError, projects, searchAutoComplete, sectionId, transaction, cotTracking, isDisabled, isQuickViewMode, isUncategorizedExpenseCategoryEnabled, openTooltipId, setOpenTooltipId, transactionTotalAmount, uncategorizedAccounts, }: Readonly<TransactionLinesJournalEntryTableProps>): JSX.Element;
2
+ export default function TransactionLinesJournalEntryTable({ accountList, accountsHierarchyList, classHierarchyList, classList, isAccountingClassesEnabled, isAccountingProjectsEnabled, isCOTEnabled, isProjectsTransactionsEnabled, lines, onLineAdd, onLineDelete, onSplitBalanceChange, onSplitEditToggle, splitValidationErrors, projects, searchAutoComplete, sectionId, transaction, cotTracking, isDisabled, isQuickViewMode, isUncategorizedExpenseCategoryEnabled, openTooltipId, setOpenTooltipId, transactionTotalAmount, uncategorizedAccounts, }: Readonly<TransactionLinesJournalEntryTableProps>): JSX.Element;
@@ -6,6 +6,7 @@ export interface JournalEntryTableHeaderProps {
6
6
  sortConfig: JournalEntryRowSortConfig;
7
7
  isCompressed?: boolean;
8
8
  isDisabled?: DisableMode;
9
+ isQuickViewMode?: boolean;
9
10
  onColumnSortConfigChanged?: (sortKey: JournalEntrySortKey, sortOrder: SortOrder) => void;
10
11
  }
11
- export declare const JournalEntryTableHeader: ({ sortConfig, isAccountingClassesEnabled, showProjectField, isCompressed, isDisabled, onColumnSortConfigChanged, }: JournalEntryTableHeaderProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const JournalEntryTableHeader: ({ sortConfig, isAccountingClassesEnabled, showProjectField, isCompressed, isQuickViewMode, isDisabled, onColumnSortConfigChanged, }: JournalEntryTableHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -13,4 +13,13 @@ export declare const getJournalEntryTableHeaderItemsData: (isAccountingClassesEn
13
13
  * column with a merged Amount column whose value prefixes Dr / Cr.
14
14
  */
15
15
  export declare const compressedJournalEntryHeaderItemsData: JournalEntryRowHeaderItemData[];
16
+ /**
17
+ * Recomputes widthPercentage and customStyle for JE quick view mode:
18
+ * - Debit and Credit each get 15% (combined 30%); remaining 70% is split
19
+ * equally among all other columns.
20
+ * - Padding is capped at 16px base; columns with a 32px COT icon before
21
+ * their content get +32px header left padding to align with the field.
22
+ * - Debit/Credit are right-aligned; all other columns are left-aligned.
23
+ */
24
+ export declare const toJEQuickViewWidthPercentages: (columns: JournalEntryRowHeaderItemData[]) => JournalEntryRowHeaderItemData[];
16
25
  export declare const getJournalEntryTableMaxWidth: (isAccountingClassesEnabled?: boolean, showProjectField?: boolean) => ResponsiveSized;
@@ -42,6 +42,8 @@ export declare const ListViewContainer: import('@emotion/styled').StyledComponen
42
42
  export declare const TableScrollContainer: import('@emotion/styled').StyledComponent<{
43
43
  theme?: import('@emotion/react').Theme;
44
44
  as?: React.ElementType;
45
+ } & {
46
+ $isQuickView?: boolean;
45
47
  }, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
46
48
  /**
47
49
  * Inner flex column that holds the sticky header, the rows, and the sticky
@@ -116,4 +118,6 @@ export declare const AmountPrefix: import('@emotion/styled').StyledComponent<{
116
118
  export declare const EmptyAmountCellPlaceholder: import('@emotion/styled').StyledComponent<{
117
119
  theme?: import('@emotion/react').Theme;
118
120
  as?: React.ElementType;
121
+ } & {
122
+ $textAlign?: "center" | "left" | "right";
119
123
  }, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
@@ -32,8 +32,8 @@ export interface TransactionLinesJournalEntryTableProps {
32
32
  isQuickViewMode?: boolean;
33
33
  isUncategorizedExpenseCategoryEnabled?: boolean;
34
34
  openTooltipId?: ID;
35
- /** Inline validation error shown below the totals row on a failed submit. */
36
- splitValidationError?: string;
35
+ /** Inline validation errors shown below the totals row on a failed submit. */
36
+ splitValidationErrors?: string[];
37
37
  /** Original transaction total forwarded to the reconciliation row in split mode. */
38
38
  transactionTotalAmount?: number;
39
39
  uncategorizedAccounts?: UncategorizedAccounts;
@@ -80,8 +80,8 @@ export interface JournalEntryTableListRowProps {
80
80
  isUncategorizedExpenseCategoryEnabled?: boolean;
81
81
  openTooltipId?: ID;
82
82
  searchAutoComplete?: SearchAutoComplete;
83
- /** Inline validation error — used to highlight empty debit/credit cells pink on failed submit. */
84
- splitValidationError?: string;
83
+ /** Inline validation errors — used to highlight empty debit/credit cells pink on failed submit. */
84
+ splitValidationErrors?: string[];
85
85
  /** Total number of visible lines — delete icon is hidden when count is 1. */
86
86
  totalLinesCount?: number;
87
87
  /**
@@ -9,7 +9,7 @@ import { JournalEntryTableListEmptyRowProps, JournalEntryTableListRowProps } fro
9
9
  * pattern at TransactionCategorizationListRow.tsx ~L1096-L1710 so a
10
10
  * reviewer can diff the two row files column-by-column).
11
11
  */
12
- export declare const JournalEntryTableListRow: ({ accountList: _accountList, accountsHierarchyList, classHierarchyList, classList: _classList, columns, isCOTEnabled, isCompressed, isDisabled, isAddedLine, isSplitEditMode, isUncategorizedExpenseCategoryEnabled, line, lineIndex, onCOTView, openTooltipId, projects, searchAutoComplete, sectionId, setOpenTooltipId, splitValidationError, totalLinesCount: _totalLinesCount, transactionId, uncategorizedAccounts, }: JournalEntryTableListRowProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const JournalEntryTableListRow: ({ accountList: _accountList, accountsHierarchyList, classHierarchyList, classList: _classList, columns, isCOTEnabled, isCompressed, isDisabled, isAddedLine, isSplitEditMode, isUncategorizedExpenseCategoryEnabled, line, lineIndex, onCOTView, openTooltipId, projects, searchAutoComplete, sectionId, setOpenTooltipId, splitValidationErrors, totalLinesCount: _totalLinesCount, transactionId, uncategorizedAccounts, }: JournalEntryTableListRowProps) => import("react/jsx-runtime").JSX.Element;
13
13
  /**
14
14
  * Skeleton row consumed by `TransactionLinesJournalEntryEmptyTable`. Uses
15
15
  * the same `RowItemContainer` as the live row so column widths line up
@@ -7,8 +7,8 @@ export interface JournalEntryTotalsRowProps {
7
7
  lines: LineInfo[];
8
8
  sectionId: string;
9
9
  windowSize: WindowSize;
10
- /** Inline validation error shown below the totals row on a failed submit. */
11
- splitValidationError?: string;
10
+ /** Inline validation errors shown below the totals row on a failed submit. */
11
+ splitValidationErrors?: string[];
12
12
  /** Original transaction total; required for balance checking. */
13
13
  transactionTotalAmount?: number;
14
14
  /** Fires whenever the split balance state changes (split edit mode only). */
@@ -24,4 +24,4 @@ export interface JournalEntryTotalsRowProps {
24
24
  * showing Total Debits / Total Credits with a divider, matching the
25
25
  * quick-view spec.
26
26
  */
27
- export declare const JournalEntryTotalsRow: ({ columns, isCompressed, lines, onSplitBalanceChange, sectionId, splitValidationError, transactionTotalAmount, windowSize, }: JournalEntryTotalsRowProps) => import("react/jsx-runtime").JSX.Element;
27
+ export declare const JournalEntryTotalsRow: ({ columns, isCompressed, lines, onSplitBalanceChange, sectionId, splitValidationErrors, transactionTotalAmount, windowSize, }: JournalEntryTotalsRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,9 +9,9 @@ export interface TransactionLinesReconciliationRowProps {
9
9
  sectionId: string;
10
10
  /** The original total of the transaction (from the parent transaction object). */
11
11
  transactionTotalAmount: number;
12
- /** Inline validation error shown below the reconciliation row on a failed submit. */
13
- splitValidationError?: string;
12
+ /** Inline validation errors shown below the reconciliation row on a failed submit. */
13
+ splitValidationErrors?: string[];
14
14
  /** Fires whenever the balanced state changes (true = sum matches total). */
15
15
  onSplitBalanceChange?: (isBalanced: boolean) => void;
16
16
  }
17
- export declare const TransactionLinesReconciliationRow: ({ transactionTotalAmount, currencyCode, currencySymbol, lines, onSplitBalanceChange, sectionId, splitValidationError, }: TransactionLinesReconciliationRowProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const TransactionLinesReconciliationRow: ({ transactionTotalAmount, currencyCode, currencySymbol, lines, onSplitBalanceChange, sectionId, splitValidationErrors, }: TransactionLinesReconciliationRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -14,4 +14,4 @@ import { TransactionLinesTableProps } from './transactionLineTableTypes';
14
14
  * The bottom-rounded corners are owned by the last `RowWrapper` since
15
15
  * there is nothing else following it inside the card.
16
16
  */
17
- export default function TransactionLinesTable({ accountList, accountsHierarchyList, classHierarchyList, classList, containerRef: _containerRef, isAccountingClassesEnabled, isAccountingProjectsEnabled, isCOTEnabled, isProjectsTransactionsEnabled, lines, projects, searchAutoComplete, sectionId, transaction, bookCloseDate: _bookCloseDate, cotTracking, entityId: _entityId, isDisabled, isQuickViewMode, isUncategorizedExpenseCategoryEnabled, onLineAdd, onLineDelete, onSplitBalanceChange, onSplitEditToggle, splitValidationError, openTooltipId, setOpenTooltipId, transactionTotalAmount, uncategorizedAccounts, lineItemsLocalData: _lineItemsLocalData, }: Readonly<TransactionLinesTableProps>): JSX.Element;
17
+ export default function TransactionLinesTable({ accountList, accountsHierarchyList, classHierarchyList, classList, containerRef: _containerRef, isAccountingClassesEnabled, isAccountingProjectsEnabled, isCOTEnabled, isProjectsTransactionsEnabled, lines, projects, searchAutoComplete, sectionId, transaction, bookCloseDate: _bookCloseDate, cotTracking, entityId: _entityId, isDisabled, isQuickViewMode, isUncategorizedExpenseCategoryEnabled, onLineAdd, onLineDelete, onSplitBalanceChange, onSplitEditToggle, splitValidationErrors, openTooltipId, setOpenTooltipId, transactionTotalAmount, uncategorizedAccounts, lineItemsLocalData: _lineItemsLocalData, }: Readonly<TransactionLinesTableProps>): JSX.Element;
@@ -7,6 +7,7 @@ export interface TransactionLineTableHeaderProps {
7
7
  sortConfig: TransactionLineRowSortConfig;
8
8
  isCompressed?: boolean;
9
9
  isDisabled?: DisableMode;
10
+ isQuickViewMode?: boolean;
10
11
  onColumnSortConfigChanged?: (sortKey: TransactionLineSortKey, sortOrder: SortOrder) => void;
11
12
  }
12
- export declare const TransactionLineTableHeader: ({ sortConfig, isAccountingClassesEnabled, showProjectField, isCompressed, isDisabled, onColumnSortConfigChanged, }: TransactionLineTableHeaderProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const TransactionLineTableHeader: ({ sortConfig, isAccountingClassesEnabled, showProjectField, isCompressed, isQuickViewMode, isDisabled, onColumnSortConfigChanged, }: TransactionLineTableHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -16,4 +16,12 @@ export declare const getTransactionLineTableHeaderItemsData: (isAccountingClasse
16
16
  * posting type to disambiguate.
17
17
  */
18
18
  export declare const compressedTransactionLineHeaderItemsData: TransactionLineRowHeaderItemData[];
19
+ /**
20
+ * Recomputes widthPercentage and customStyle for quick view mode:
21
+ * - Amount column gets 20%; all other columns split the remaining 80% equally.
22
+ * - Padding is capped at 16px; first column keeps 16px left edge, amount
23
+ * keeps 16px right edge. All non-amount columns are left-aligned; amount
24
+ * is right-aligned.
25
+ */
26
+ export declare const toQuickViewWidthPercentages: (columns: TransactionLineRowHeaderItemData[]) => TransactionLineRowHeaderItemData[];
19
27
  export declare const getTransactionLineTableMaxWidth: (isAccountingClassesEnabled?: boolean, showProjectField?: boolean) => ResponsiveSized;
@@ -15,7 +15,7 @@ import { TransactionLineTableListEmptyRowProps, TransactionLineTableListRowProps
15
15
  * - `project` — dropdown (no recommendations today, slot reserved)
16
16
  * - `amount` — single right-aligned amount field (no Dr/Cr prefix)
17
17
  */
18
- export declare const TransactionLineTableListRow: ({ accountList: _accountList, accountsHierarchyList, classHierarchyList, classList: _classList, columns, isCOTEnabled, isCompressed, isDisabled, isAddedLine, isSplitEditMode, isUncategorizedExpenseCategoryEnabled, line, lineIndex, onCOTView, openTooltipId, projects, searchAutoComplete: _searchAutoComplete, sectionId, setOpenTooltipId, transactionId, uncategorizedAccounts, canDelete: _canDelete, onLineDelete: _onLineDelete, splitValidationError, }: TransactionLineTableListRowProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const TransactionLineTableListRow: ({ accountList: _accountList, accountsHierarchyList, classHierarchyList, classList: _classList, columns, isCOTEnabled, isCompressed, isDisabled, isAddedLine, isSplitEditMode, isUncategorizedExpenseCategoryEnabled, line, lineIndex, onCOTView, openTooltipId, projects, searchAutoComplete: _searchAutoComplete, sectionId, setOpenTooltipId, transactionId, uncategorizedAccounts, canDelete: _canDelete, onLineDelete: _onLineDelete, splitValidationErrors, }: TransactionLineTableListRowProps) => import("react/jsx-runtime").JSX.Element;
19
19
  /**
20
20
  * Skeleton row consumed by `TransactionLinesEmptyTable`. Uses the same
21
21
  * `RowItemContainer` as the live row so column widths line up 1:1.
@@ -45,6 +45,8 @@ export declare const ListViewContainer: import('@emotion/styled').StyledComponen
45
45
  export declare const TableScrollContainer: import('@emotion/styled').StyledComponent<{
46
46
  theme?: import('@emotion/react').Theme;
47
47
  as?: React.ElementType;
48
+ } & {
49
+ $isQuickView?: boolean;
48
50
  }, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
49
51
  /**
50
52
  * Inner flex column that holds the sticky header and the rows.
@@ -31,8 +31,8 @@ export interface TransactionLinesTableProps {
31
31
  isUncategorizedExpenseCategoryEnabled?: boolean;
32
32
  lineItemsLocalData?: TransactionDetailLocalData;
33
33
  openTooltipId?: ID;
34
- /** Inline error message shown below the reconciliation row on a failed submit. */
35
- splitValidationError?: string;
34
+ /** Inline validation errors shown below the reconciliation row on a failed submit. */
35
+ splitValidationErrors?: string[];
36
36
  /**
37
37
  * Original transaction total used to compute Remaining / Difference in the
38
38
  * reconciliation row. Required when `onLineAdd` or `onLineDelete` is set.
@@ -84,8 +84,8 @@ export interface TransactionLineTableListRowProps {
84
84
  isUncategorizedExpenseCategoryEnabled?: boolean;
85
85
  openTooltipId?: ID;
86
86
  searchAutoComplete?: SearchAutoComplete;
87
- /** Inline validation error — used to highlight the amount cell pink on a failed submit. */
88
- splitValidationError?: string;
87
+ /** Inline validation errors — used to highlight error fields pink on a failed submit. */
88
+ splitValidationErrors?: string[];
89
89
  /**
90
90
  * Transaction id used by the inline `RecommendationIcon` to build a
91
91
  * unique tooltip identifier. Optional so existing callers don't break;
@@ -24,7 +24,8 @@ export declare enum DynamicConfigNamesWebApp {
24
24
  expenseAutomationEnablementZeniUsers = "expense_automation_enablement_zeni_users",
25
25
  approvalRuleV3Config = "approval_rule_v3_config",
26
26
  transactionCategorizationConfig = "transaction_categorization_config",
27
- zeniCardsVisibilityConfig = "zeni_cards_visibility_config"
27
+ zeniCardsVisibilityConfig = "zeni_cards_visibility_config",
28
+ updateTransactionTypeConfig = "update_transaction_type_config"
28
29
  }
29
30
  /** Shared configs used by both web-app-ui and cockpit-ui */
30
31
  export declare enum DynamicConfigNamesShared {
@@ -49,6 +50,7 @@ export declare const DynamicConfigNames: {
49
50
  approvalRuleV3Config: DynamicConfigNamesWebApp.approvalRuleV3Config;
50
51
  transactionCategorizationConfig: DynamicConfigNamesWebApp.transactionCategorizationConfig;
51
52
  zeniCardsVisibilityConfig: DynamicConfigNamesWebApp.zeniCardsVisibilityConfig;
53
+ updateTransactionTypeConfig: DynamicConfigNamesWebApp.updateTransactionTypeConfig;
52
54
  cardsTabCockpitUser: DynamicConfigNamesCockpit.cardsTabCockpitUser;
53
55
  monthEndInsightsEnablement: DynamicConfigNamesCockpit.monthEndInsightsEnablement;
54
56
  expenseAutomationEnablement: DynamicConfigNamesCockpit.expenseAutomationEnablement;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Resolves the transfer-convertible source transaction types for the caller's
3
+ * company from the `update_transaction_type_config` Statsig dynamic config.
4
+ *
5
+ * Expected JSON shape (Statsig configValue):
6
+ * ```
7
+ * {
8
+ * "transaction_types": {
9
+ * "all": ["expense", "journal_entry", "credit_card_credit", "vendor_credit"],
10
+ * "c_0bdec3e6-...": ["expense", "journal_entry", ...]
11
+ * }
12
+ * }
13
+ * ```
14
+ *
15
+ * Resolution (first match wins): per-company override
16
+ * (`transaction_types[companyId]`) → shared `all` list →
17
+ * {@link DEFAULT_TRANSFER_CONVERTIBLE_SOURCE_TYPES} (also returned while loading).
18
+ *
19
+ * `companyId` is passed in (not read inside the hook) because it lives in the
20
+ * host app's state, which `web-components` does not depend on directly.
21
+ */
22
+ export declare function useTransferConvertibleSourceTypes(companyId: string | undefined): Set<string>;