@zeniai/web-components 4.3.3 → 4.3.4

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 (34) hide show
  1. package/dist/{SessionTimeoutPopup-BieF8U6a.js → SessionTimeoutPopup-CrraAYdQ.js} +91805 -90615
  2. package/dist/{SessionTimeoutPopup-B9l5xt8w.cjs → SessionTimeoutPopup-DP0JkVva.cjs} +16088 -16046
  3. package/dist/appLocale.d.ts +162 -4
  4. package/dist/cockpit.cjs.js +1 -1
  5. package/dist/cockpit.esm.js +2 -2
  6. package/dist/components/aiCfo/AiCfoPage.d.ts +2 -0
  7. package/dist/components/aiCfo/AiCfoSidePanel.d.ts +2 -0
  8. package/dist/components/aiCfo/components/AiCfoAnswer.d.ts +2 -0
  9. package/dist/components/aiCfo/components/AiCfoExportDownloads.d.ts +15 -0
  10. package/dist/components/aiCfo/components/AiCfoQuestionAnswer.d.ts +2 -0
  11. package/dist/components/aiCfo/components/common/downloadExport.d.ts +19 -0
  12. package/dist/components/commentsAndNotes/utils/useThreadPopupPlacement.d.ts +5 -0
  13. package/dist/components/dataListTable/ConfigurableDataListTable.d.ts +2 -1
  14. package/dist/components/dataListTable/types.d.ts +1 -0
  15. package/dist/components/formElements/labeledTextWithSingleSelectField/LabeledTextWithSingleSelectField.d.ts +5 -1
  16. package/dist/components/invoicing/catalogDetail/catalogDetailEditForm.shared.d.ts +40 -0
  17. package/dist/components/invoicing/catalogForm/CatalogSubFamilyTierTable.d.ts +20 -0
  18. package/dist/components/invoicing/catalogForm/catalogItemForm.shared.d.ts +12 -1
  19. package/dist/components/invoicing/common/InvoicingDetailScaffold.d.ts +3 -1
  20. package/dist/components/invoicing/createInvoice/InvoicingCreateInvoicePage.d.ts +10 -1
  21. package/dist/components/invoicing/issueCreditNote/issueCreditNote.shared.d.ts +10 -1
  22. package/dist/components/invoicing/recordPayment/stories/recordPaymentStoryData.d.ts +3 -22
  23. package/dist/components/invoicing/settings/InvoicingBrandingSettingsPage.d.ts +4 -2
  24. package/dist/components/invoicing/settings/brandingForm.shared.d.ts +11 -7
  25. package/dist/components/invoicing/subscriptionDetail/InvoicingActionDialog.d.ts +21 -0
  26. package/dist/components/invoicing/subscriptionDetail/InvoicingSubscriptionDetailPage.d.ts +4 -2
  27. package/dist/components/invoicing/subscriptionList/InvoicingSubscriptionListPage.d.ts +3 -2
  28. package/dist/components/reportTree/CollapsableReportTable.d.ts +3 -2
  29. package/dist/components/reportTree/StickyHeaders.d.ts +4 -1
  30. package/dist/components/reportTree/treeNode/TreeNode.d.ts +11 -3
  31. package/dist/index.cjs.js +1 -1
  32. package/dist/index.esm.js +1 -1
  33. package/dist/strings/strings.d.ts +162 -4
  34. package/package.json +3 -3
@@ -1538,6 +1538,151 @@ declare class AppLocale {
1538
1538
  failed: string;
1539
1539
  notification: string;
1540
1540
  };
1541
+ invoicing_dunning_case_resolved: {
1542
+ success: string;
1543
+ failed: string;
1544
+ notification: string;
1545
+ };
1546
+ invoicing_dunning_retry: {
1547
+ success: string;
1548
+ failed: string;
1549
+ notification: string;
1550
+ };
1551
+ invoicing_dunning_cancel: {
1552
+ success: string;
1553
+ failed: string;
1554
+ notification: string;
1555
+ };
1556
+ invoicing_dunning_settings_save: {
1557
+ success: string;
1558
+ failed: string;
1559
+ notification: string;
1560
+ };
1561
+ invoicing_qbo_backfill: {
1562
+ success: string;
1563
+ failed: string;
1564
+ notification: string;
1565
+ };
1566
+ invoicing_qbo_sync_health_retry: {
1567
+ success: string;
1568
+ failed: string;
1569
+ notification: string;
1570
+ };
1571
+ invoicing_qbo_settings_save: {
1572
+ success: string;
1573
+ failed: string;
1574
+ notification: string;
1575
+ };
1576
+ invoicing_branding_save: {
1577
+ success: string;
1578
+ failed: string;
1579
+ notification: string;
1580
+ };
1581
+ invoicing_discount_archive: {
1582
+ success: string;
1583
+ failed: string;
1584
+ notification: string;
1585
+ };
1586
+ invoicing_discount_unarchive: {
1587
+ success: string;
1588
+ failed: string;
1589
+ notification: string;
1590
+ };
1591
+ invoicing_discount_delete: {
1592
+ success: string;
1593
+ failed: string;
1594
+ notification: string;
1595
+ };
1596
+ invoicing_invoice_reminder_sent: {
1597
+ success: string;
1598
+ failed: string;
1599
+ notification: string;
1600
+ };
1601
+ invoicing_invoice_regenerated: {
1602
+ success: string;
1603
+ failed: string;
1604
+ notification: string;
1605
+ };
1606
+ invoicing_invoice_voided: {
1607
+ success: string;
1608
+ failed: string;
1609
+ notification: string;
1610
+ };
1611
+ invoicing_catalog_item_saved: {
1612
+ success: string;
1613
+ failed: string;
1614
+ notification: string;
1615
+ };
1616
+ invoicing_customer_saved: {
1617
+ success: string;
1618
+ failed: string;
1619
+ notification: string;
1620
+ };
1621
+ invoicing_subscription_saved: {
1622
+ success: string;
1623
+ failed: string;
1624
+ notification: string;
1625
+ };
1626
+ invoicing_coupon_saved: {
1627
+ success: string;
1628
+ failed: string;
1629
+ notification: string;
1630
+ };
1631
+ invoicing_invoice_saved: {
1632
+ success: string;
1633
+ failed: string;
1634
+ notification: string;
1635
+ };
1636
+ invoicing_subscription_activated: {
1637
+ success: string;
1638
+ failed: string;
1639
+ notification: string;
1640
+ };
1641
+ invoicing_subscription_cancellation_removed: {
1642
+ success: string;
1643
+ failed: string;
1644
+ notification: string;
1645
+ };
1646
+ invoicing_subscription_cancelled: {
1647
+ success: string;
1648
+ failed: string;
1649
+ notification: string;
1650
+ };
1651
+ invoicing_subscription_non_renewing: {
1652
+ success: string;
1653
+ failed: string;
1654
+ notification: string;
1655
+ };
1656
+ invoicing_subscription_paused: {
1657
+ success: string;
1658
+ failed: string;
1659
+ notification: string;
1660
+ };
1661
+ invoicing_subscription_reactivated: {
1662
+ success: string;
1663
+ failed: string;
1664
+ notification: string;
1665
+ };
1666
+ invoicing_subscription_resumed: {
1667
+ success: string;
1668
+ failed: string;
1669
+ notification: string;
1670
+ };
1671
+ invoicing_subscription_term_end_changed: {
1672
+ success: string;
1673
+ failed: string;
1674
+ notification: string;
1675
+ };
1676
+ invoicing_credit_note_saved: {
1677
+ success: string;
1678
+ failed: string;
1679
+ notification: string;
1680
+ };
1681
+ invoicing_payment_recorded: {
1682
+ success: string;
1683
+ failed: string;
1684
+ notification: string;
1685
+ };
1541
1686
  };
1542
1687
  currency: {
1543
1688
  currencyCode: string;
@@ -10065,6 +10210,13 @@ declare class AppLocale {
10065
10210
  didYouKnow: string;
10066
10211
  assumptions: string;
10067
10212
  };
10213
+ exports: {
10214
+ downloading: string;
10215
+ errors: {
10216
+ expired: string;
10217
+ generic: string;
10218
+ };
10219
+ };
10068
10220
  input: {
10069
10221
  placeholder: string;
10070
10222
  disclaimer: string;
@@ -10601,14 +10753,10 @@ declare class AppLocale {
10601
10753
  };
10602
10754
  invoicingCatalogDetail: {
10603
10755
  oneSpace: string;
10604
- tiersSuffix: string;
10605
10756
  activeSubFamilies: string;
10606
10757
  archivedSubFamilies: string;
10607
10758
  lowestActiveSubFamilyPrice: string;
10608
- model: string;
10609
10759
  priceTiers: string;
10610
- trial: string;
10611
- freeQty: string;
10612
10760
  catalogItemNotFound: string;
10613
10761
  itemId: string;
10614
10762
  externalId: string;
@@ -10693,6 +10841,7 @@ declare class AppLocale {
10693
10841
  labelAddTiers: string;
10694
10842
  tierColumnFrom: string;
10695
10843
  tierColumnTo: string;
10844
+ tierColumnPackageSize: string;
10696
10845
  infinity: string;
10697
10846
  removeTierX: string;
10698
10847
  addTierLink: string;
@@ -11461,6 +11610,15 @@ declare class AppLocale {
11461
11610
  qboSaveButtonLabel: string;
11462
11611
  };
11463
11612
  invoicingSubscriptionDetail: {
11613
+ changeTermEndTitle: string;
11614
+ changeTermEndDateLabel: string;
11615
+ pauseSubscriptionTitle: string;
11616
+ pauseSubscriptionDateLabel: string;
11617
+ pauseSubscriptionHint: string;
11618
+ pauseSubscriptionConfirm: string;
11619
+ cancelSubscriptionTitle: string;
11620
+ cancelSubscriptionMessage: string;
11621
+ cancelSubscriptionConfirm: string;
11464
11622
  everyUnit: string;
11465
11623
  everyPeriodUnits: string;
11466
11624
  charge: string;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./SessionTimeoutPopup-B9l5xt8w.cjs"),o=require("./vendor-.pnpm-Bks7atPv.cjs"),u=require("react"),s=require("@emotion/styled"),Xe=require("@liveblocks/react"),J=require("@zeniai/client-epic-state"),ws=require("@liveblocks/react-ui"),Ee=require("@emotion/react"),Po=require("react-dom"),St=require("@liveblocks/react-ui/primitives"),yi=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(La,{isClickable:a,isUnRead:e.readAt==null,onClick:()=>{n(r.metadata,r.id)},children:o.jsxRuntimeExports.jsx(ws.InboxNotification,{inboxNotification:e,kinds:{thread:d=>o.jsxRuntimeExports.jsx(ws.InboxNotification.Thread,{...d,showRoomName:!0})}})})},La=s.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./SessionTimeoutPopup-DP0JkVva.cjs"),o=require("./vendor-.pnpm-Bks7atPv.cjs"),u=require("react"),s=require("@emotion/styled"),Xe=require("@liveblocks/react"),J=require("@zeniai/client-epic-state"),ws=require("@liveblocks/react-ui"),Ee=require("@emotion/react"),Po=require("react-dom"),St=require("@liveblocks/react-ui/primitives"),yi=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(La,{isClickable:a,isUnRead:e.readAt==null,onClick:()=>{n(r.metadata,r.id)},children:o.jsxRuntimeExports.jsx(ws.InboxNotification,{inboxNotification:e,kinds:{thread:d=>o.jsxRuntimeExports.jsx(ws.InboxNotification.Thread,{...d,showRoomName:!0})}})})},La=s.div`
2
2
  display: flex;
3
3
  width: 100%;
4
4
  cursor: ${e=>e.isClickable?"pointer":"initial"};
@@ -1,5 +1,5 @@
1
- import { eP as o, ig as ze, m as ft, gX as P, fn as It, bX as Yr, a3 as Be, fs as Gd, hh as Yd, hs as Zd, aJ as I, hk as H, ez as Qd, iQ as ye, iB as lo, f_ as at, aL as Wt, dk as Es, C as $o, fP as ss, df as wo, fp as as, fE as Jd, e$ as Jt, eY as Ne, hr as Ml, fL as Co, eA as Rs, da as Me, it as Xd, bj as qd, bF as _t, bg as ep, fl as zl, hA as tp, bt as ls, Q as cs, hN as op, hO as np, hP as rp, aK as ip, dw as sp, d8 as gt, fr as Fl, dG as ap, fb as Zr, fJ as ds, id as _, et as lp, bQ as cp, eG as $e, fh as dp, ej as B, dH as Fe, ih as dt, f7 as ps, bT as Rr, eH as pp, fi as us, bG as Qr, hZ as Te, bY as Jr, fj as Bl, fB as Wl, fw as Qn, hd as zt, g0 as ct, eU as hn, dc as up, de as _l, fm as Vl, ht as Lt, gV as et, gm as Mr, gR as hp, fY as mn, fZ as gn, p as xn, h9 as zo, f5 as Fo, d9 as Xr, fq as hs, dd as mp, ft as Ul, fk as co, fo as Bo, br as Qt, gQ as Ms, hK as gp, hy as xp, hE as yp, fv as fp, fO as bp, fN as Jn, eV as Cp, eW as ms, hu as $p, fu as Kl, fA as Hl, fz as Gl, bC as Yl, i7 as wp, d2 as zs, d3 as gs, cY as Sp, d1 as vp, bU as Xn, bD as yn, fy as xs, aN as jp, eD as kp, hn as yt, eM as Zl, d0 as zr, d6 as Tp, bB as ys, cV as Pp, ek as Kn, fg as Lp, ff as Ip, fc as Ap, cW as fs, eB as Fs, cZ as Ql, iH as Fr, dI as Jl, f9 as Xl, hi as bs, cX as Op, aW as dn, aU as Hn, aV as Gn, iS as ql, bl as Dp, iD as Np, bH as Yt, aY as Pt, fI as Cs, fD as ec, f0 as Ep, di as tc, fF as Rp, e_ as Mp, aZ as Kt, hY as sr, bL as zp, iO as Fp, d5 as Ht, b8 as oc, eC as Bs, c$ as Bp, d4 as Wp, e6 as Ws, b7 as _p, g as Vp, c_ as Up, dK as Kp, fd as Hp, eL as qn, iy as nc, iC as rc, bK as Zt, a7 as qr, a8 as pn, iE as ic, hF as sc, bm as Gp, dm as Yp, dB as ac, dA as Zp, hL as Qp, dr as Br, aE as lc, dq as Jp, dp as Xp, bq as qp, dn as $s, hv as cc, bO as dc, gZ as pc, o as uc, fW as hc, bP as eu, D as mc, bS as gc, gn as tu, eT as ou, ix as nu, dy as ru, hz as iu, hw as su, a2 as au, eg as _s, hD as lu, fM as xc, hM as Vs, dC as cu, db as du, eZ as pu, fx as uu, fC as hu, fe as mu, h6 as Us, fH as gu, eN as yc, eI as xu, hc as fc, bs as yu, f1 as fu, bE as bu, bI as Cu, eJ as bc, fG as $u, d7 as wu, fK as Su, eF as vu, eK as Cc, eX as ju, bJ as ku, eE as Tu } from "./SessionTimeoutPopup-BieF8U6a.js";
2
- import { A as Wj, a as _j, b as Vj, c as Uj, d as Kj, e as Hj, f as Gj, h as Yj, i as Zj, j as Qj, k as Jj, l as Xj, n as qj, q as ek, r as tk, s as ok, t as nk, u as rk, v as ik, w as sk, x as ak, y as lk, z as ck, B as dk, E as pk, F as uk, G as hk, H as mk, I as gk, J as xk, K as yk, L as fk, M as bk, N as Ck, O as $k, P as wk, R as Sk, S as vk, T as jk, U as kk, V as Tk, W as Pk, X as Lk, Y as Ik, Z as Ak, eS as Ok, _ as Dk, $ as Nk, a0 as Ek, a1 as Rk, a4 as Mk, a5 as zk, a6 as Fk, a9 as Bk, aa as Wk, ab as _k, ac as Vk, ad as Uk, ae as Kk, af as Hk, ag as Gk, ah as Yk, ai as Zk, aj as Qk, ak as Jk, al as Xk, am as qk, an as eT, ao as tT, ap as oT, aq as nT, ar as rT, as as iT, at as sT, au as aT, av as lT, aw as cT, ax as dT, ay as pT, eS as uT, az as hT, aA as mT, aB as gT, aC as xT, aD as yT, aF as fT, aG as bT, aH as CT, aI as $T, aM as wT, aO as ST, aP as vT, aQ as jT, aR as kT, aS as TT, aT as PT, aX as LT, a_ as IT, a$ as AT, b0 as OT, b1 as DT, b2 as NT, b3 as ET, b4 as RT, b5 as MT, b6 as zT, b9 as FT, ba as BT, bb as WT, bc as _T, bd as VT, be as UT, bf as KT, bh as HT, bk as GT, bn as YT, bo as ZT, bp as QT, bu as JT, bv as XT, bw as qT, bx as eP, by as tP, bz as oP, bA as nP, bM as rP, bN as iP, bR as sP, bV as aP, bW as lP, bZ as cP, b_ as dP, b$ as pP, c0 as uP, c1 as hP, c2 as mP, c3 as gP, c4 as xP, c5 as yP, c6 as fP, c7 as bP, c8 as CP, c9 as $P, ca as wP, cb as SP, cc as vP, cd as jP, ce as kP, cf as TP, cg as PP, ch as LP, ci as IP, cj as AP, ck as OP, cl as DP, cm as NP, cn as EP, co as RP, cp as MP, cq as zP, cr as FP, cs as BP, ct as WP, cu as _P, cv as VP, cw as UP, cx as KP, cy as HP, cz as GP, cA as YP, cB as ZP, cC as QP, cD as JP, cE as XP, cF as qP, cG as eL, cH as tL, cI as oL, cJ as nL, cK as rL, cL as iL, cM as sL, cN as aL, cN as lL, cO as cL, cP as dL, cQ as pL, cR as uL, cS as hL, cT as mL, cU as gL, dg as xL, dh as yL, dj as fL, dl as bL, ds as CL, dt as $L, du as wL, dv as SL, dx as vL, dz as jL, dD as kL, dE as TL, dF as PL, dJ as LL, dL as IL, dM as AL, dN as OL, dO as DL, dP as NL, dQ as EL, dR as RL, dS as ML, dT as zL, dU as FL, dV as BL, dW as WL, dX as _L, dY as VL, dZ as UL, d_ as KL, d$ as HL, e0 as GL, e1 as YL, e2 as ZL, e3 as QL, e4 as JL, e5 as XL, e7 as qL, bi as eI, e8 as tI, e9 as oI, ea as nI, eb as rI, ec as iI, ed as sI, ee as aI, eS as lI, eh as cI, ef as dI, ei as pI, el as uI, em as hI, en as mI, eo as gI, ep as xI, eq as yI, er as fI, es as bI, eu as CI, ev as $I, ew as wI, ex as SI, ey as vI, eO as jI, eQ as kI, eR as TI, f2 as PI, f3 as LI, f4 as II, f6 as AI, f8 as OI, fa as DI, fQ as NI, fR as EI, fS as RI, fT as MI, fU as zI, fV as FI, fX as BI, f$ as WI, g1 as _I, g2 as VI, g3 as UI, g4 as KI, g5 as HI, g6 as GI, g7 as YI, g8 as ZI, g9 as QI, ga as JI, gb as XI, gc as qI, gd as eA, ge as tA, gf as oA, gg as nA, gh as rA, gi as iA, gj as sA, gk as aA, gl as lA, go as cA, gp as dA, gq as pA, gr as uA, gs as hA, gt as mA, gu as gA, gv as xA, gw as yA, gx as fA, gy as bA, gz as CA, gA as $A, gB as wA, gC as SA, gD as vA, gE as jA, gF as kA, gG as TA, gH as PA, gI as LA, gJ as IA, gK as AA, gL as OA, gM as DA, gN as NA, gO as EA, gP as RA, gS as MA, gT as zA, gU as FA, gW as BA, gY as WA, g_ as _A, g$ as VA, h0 as UA, h1 as KA, h2 as HA, h3 as GA, h4 as YA, h5 as ZA, h7 as QA, h8 as JA, ha as XA, hb as qA, he as eO, hg as tO, hf as oO, hj as nO, hl as rO, hm as iO, ho as sO, hp as aO, hq as lO, hx as cO, hB as dO, hC as pO, hG as uO, hH as hO, hI as mO, hJ as gO, hQ as xO, hR as yO, hS as fO, hT as bO, hU as CO, hV as $O, hW as wO, hX as SO, h_ as vO, h$ as jO, i0 as kO, i1 as TO, i2 as PO, i3 as LO, i4 as IO, i5 as AO, i6 as OO, i8 as DO, i9 as NO, ia as EO, ib as RO, ic as MO, ie as zO, ii as FO, ij as BO, ik as WO, il as _O, im as VO, io as UO, ip as KO, iq as HO, ir as GO, is as YO, iu as ZO, iv as QO, iw as JO, iz as XO, iA as qO, iF as eD, iG as tD, iI as oD, iJ as nD, iK as rD, iL as iD, iM as sD, iN as aD, iP as lD, iR as cD, iT as dD, iU as pD } from "./SessionTimeoutPopup-BieF8U6a.js";
1
+ import { eP as o, ig as ze, m as ft, gX as P, fn as It, bX as Yr, a3 as Be, fs as Gd, hh as Yd, hs as Zd, aJ as I, hk as H, ez as Qd, iQ as ye, iB as lo, f_ as at, aL as Wt, dk as Es, C as $o, fP as ss, df as wo, fp as as, fE as Jd, e$ as Jt, eY as Ne, hr as Ml, fL as Co, eA as Rs, da as Me, it as Xd, bj as qd, bF as _t, bg as ep, fl as zl, hA as tp, bt as ls, Q as cs, hN as op, hO as np, hP as rp, aK as ip, dw as sp, d8 as gt, fr as Fl, dG as ap, fb as Zr, fJ as ds, id as _, et as lp, bQ as cp, eG as $e, fh as dp, ej as B, dH as Fe, ih as dt, f7 as ps, bT as Rr, eH as pp, fi as us, bG as Qr, hZ as Te, bY as Jr, fj as Bl, fB as Wl, fw as Qn, hd as zt, g0 as ct, eU as hn, dc as up, de as _l, fm as Vl, ht as Lt, gV as et, gm as Mr, gR as hp, fY as mn, fZ as gn, p as xn, h9 as zo, f5 as Fo, d9 as Xr, fq as hs, dd as mp, ft as Ul, fk as co, fo as Bo, br as Qt, gQ as Ms, hK as gp, hy as xp, hE as yp, fv as fp, fO as bp, fN as Jn, eV as Cp, eW as ms, hu as $p, fu as Kl, fA as Hl, fz as Gl, bC as Yl, i7 as wp, d2 as zs, d3 as gs, cY as Sp, d1 as vp, bU as Xn, bD as yn, fy as xs, aN as jp, eD as kp, hn as yt, eM as Zl, d0 as zr, d6 as Tp, bB as ys, cV as Pp, ek as Kn, fg as Lp, ff as Ip, fc as Ap, cW as fs, eB as Fs, cZ as Ql, iH as Fr, dI as Jl, f9 as Xl, hi as bs, cX as Op, aW as dn, aU as Hn, aV as Gn, iS as ql, bl as Dp, iD as Np, bH as Yt, aY as Pt, fI as Cs, fD as ec, f0 as Ep, di as tc, fF as Rp, e_ as Mp, aZ as Kt, hY as sr, bL as zp, iO as Fp, d5 as Ht, b8 as oc, eC as Bs, c$ as Bp, d4 as Wp, e6 as Ws, b7 as _p, g as Vp, c_ as Up, dK as Kp, fd as Hp, eL as qn, iy as nc, iC as rc, bK as Zt, a7 as qr, a8 as pn, iE as ic, hF as sc, bm as Gp, dm as Yp, dB as ac, dA as Zp, hL as Qp, dr as Br, aE as lc, dq as Jp, dp as Xp, bq as qp, dn as $s, hv as cc, bO as dc, gZ as pc, o as uc, fW as hc, bP as eu, D as mc, bS as gc, gn as tu, eT as ou, ix as nu, dy as ru, hz as iu, hw as su, a2 as au, eg as _s, hD as lu, fM as xc, hM as Vs, dC as cu, db as du, eZ as pu, fx as uu, fC as hu, fe as mu, h6 as Us, fH as gu, eN as yc, eI as xu, hc as fc, bs as yu, f1 as fu, bE as bu, bI as Cu, eJ as bc, fG as $u, d7 as wu, fK as Su, eF as vu, eK as Cc, eX as ju, bJ as ku, eE as Tu } from "./SessionTimeoutPopup-CrraAYdQ.js";
2
+ import { A as Wj, a as _j, b as Vj, c as Uj, d as Kj, e as Hj, f as Gj, h as Yj, i as Zj, j as Qj, k as Jj, l as Xj, n as qj, q as ek, r as tk, s as ok, t as nk, u as rk, v as ik, w as sk, x as ak, y as lk, z as ck, B as dk, E as pk, F as uk, G as hk, H as mk, I as gk, J as xk, K as yk, L as fk, M as bk, N as Ck, O as $k, P as wk, R as Sk, S as vk, T as jk, U as kk, V as Tk, W as Pk, X as Lk, Y as Ik, Z as Ak, eS as Ok, _ as Dk, $ as Nk, a0 as Ek, a1 as Rk, a4 as Mk, a5 as zk, a6 as Fk, a9 as Bk, aa as Wk, ab as _k, ac as Vk, ad as Uk, ae as Kk, af as Hk, ag as Gk, ah as Yk, ai as Zk, aj as Qk, ak as Jk, al as Xk, am as qk, an as eT, ao as tT, ap as oT, aq as nT, ar as rT, as as iT, at as sT, au as aT, av as lT, aw as cT, ax as dT, ay as pT, eS as uT, az as hT, aA as mT, aB as gT, aC as xT, aD as yT, aF as fT, aG as bT, aH as CT, aI as $T, aM as wT, aO as ST, aP as vT, aQ as jT, aR as kT, aS as TT, aT as PT, aX as LT, a_ as IT, a$ as AT, b0 as OT, b1 as DT, b2 as NT, b3 as ET, b4 as RT, b5 as MT, b6 as zT, b9 as FT, ba as BT, bb as WT, bc as _T, bd as VT, be as UT, bf as KT, bh as HT, bk as GT, bn as YT, bo as ZT, bp as QT, bu as JT, bv as XT, bw as qT, bx as eP, by as tP, bz as oP, bA as nP, bM as rP, bN as iP, bR as sP, bV as aP, bW as lP, bZ as cP, b_ as dP, b$ as pP, c0 as uP, c1 as hP, c2 as mP, c3 as gP, c4 as xP, c5 as yP, c6 as fP, c7 as bP, c8 as CP, c9 as $P, ca as wP, cb as SP, cc as vP, cd as jP, ce as kP, cf as TP, cg as PP, ch as LP, ci as IP, cj as AP, ck as OP, cl as DP, cm as NP, cn as EP, co as RP, cp as MP, cq as zP, cr as FP, cs as BP, ct as WP, cu as _P, cv as VP, cw as UP, cx as KP, cy as HP, cz as GP, cA as YP, cB as ZP, cC as QP, cD as JP, cE as XP, cF as qP, cG as eL, cH as tL, cI as oL, cJ as nL, cK as rL, cL as iL, cM as sL, cN as aL, cN as lL, cO as cL, cP as dL, cQ as pL, cR as uL, cS as hL, cT as mL, cU as gL, dg as xL, dh as yL, dj as fL, dl as bL, ds as CL, dt as $L, du as wL, dv as SL, dx as vL, dz as jL, dD as kL, dE as TL, dF as PL, dJ as LL, dL as IL, dM as AL, dN as OL, dO as DL, dP as NL, dQ as EL, dR as RL, dS as ML, dT as zL, dU as FL, dV as BL, dW as WL, dX as _L, dY as VL, dZ as UL, d_ as KL, d$ as HL, e0 as GL, e1 as YL, e2 as ZL, e3 as QL, e4 as JL, e5 as XL, e7 as qL, bi as eI, e8 as tI, e9 as oI, ea as nI, eb as rI, ec as iI, ed as sI, ee as aI, eS as lI, eh as cI, ef as dI, ei as pI, el as uI, em as hI, en as mI, eo as gI, ep as xI, eq as yI, er as fI, es as bI, eu as CI, ev as $I, ew as wI, ex as SI, ey as vI, eO as jI, eQ as kI, eR as TI, f2 as PI, f3 as LI, f4 as II, f6 as AI, f8 as OI, fa as DI, fQ as NI, fR as EI, fS as RI, fT as MI, fU as zI, fV as FI, fX as BI, f$ as WI, g1 as _I, g2 as VI, g3 as UI, g4 as KI, g5 as HI, g6 as GI, g7 as YI, g8 as ZI, g9 as QI, ga as JI, gb as XI, gc as qI, gd as eA, ge as tA, gf as oA, gg as nA, gh as rA, gi as iA, gj as sA, gk as aA, gl as lA, go as cA, gp as dA, gq as pA, gr as uA, gs as hA, gt as mA, gu as gA, gv as xA, gw as yA, gx as fA, gy as bA, gz as CA, gA as $A, gB as wA, gC as SA, gD as vA, gE as jA, gF as kA, gG as TA, gH as PA, gI as LA, gJ as IA, gK as AA, gL as OA, gM as DA, gN as NA, gO as EA, gP as RA, gS as MA, gT as zA, gU as FA, gW as BA, gY as WA, g_ as _A, g$ as VA, h0 as UA, h1 as KA, h2 as HA, h3 as GA, h4 as YA, h5 as ZA, h7 as QA, h8 as JA, ha as XA, hb as qA, he as eO, hg as tO, hf as oO, hj as nO, hl as rO, hm as iO, ho as sO, hp as aO, hq as lO, hx as cO, hB as dO, hC as pO, hG as uO, hH as hO, hI as mO, hJ as gO, hQ as xO, hR as yO, hS as fO, hT as bO, hU as CO, hV as $O, hW as wO, hX as SO, h_ as vO, h$ as jO, i0 as kO, i1 as TO, i2 as PO, i3 as LO, i4 as IO, i5 as AO, i6 as OO, i8 as DO, i9 as NO, ia as EO, ib as RO, ic as MO, ie as zO, ii as FO, ij as BO, ik as WO, il as _O, im as VO, io as UO, ip as KO, iq as HO, ir as GO, is as YO, iu as ZO, iv as QO, iw as JO, iz as XO, iA as qO, iF as eD, iG as tD, iI as oD, iJ as nD, iK as rD, iL as iD, iM as sD, iN as aD, iP as lD, iR as cD, iT as dD, iU as pD } from "./SessionTimeoutPopup-CrraAYdQ.js";
3
3
  import { al as t, D as Pu, a1 as Lu, aM as Ue, q as er, O as jt, L as Iu, s as Au, T as Ou, o as ei, f as Xt, h as xe, aI as Wo, i as tr, aH as po, Y as _o, m as uo, J as Vo, b as qt, V as Uo, ae as nt, I as $c, X as Du, ao as Mt, aa as Yn, aG as Nu, k as ws, C as wc, n as Eu, d as Ru, e as Ss, B as vs, at as Ks } from "./vendor-.pnpm-B7B9s7Bg.js";
4
4
  import { aB as hD } from "./vendor-.pnpm-B7B9s7Bg.js";
5
5
  import * as me from "react";
@@ -115,6 +115,8 @@ export interface AiCfoPageProps {
115
115
  * Legacy: completed Redux suggested questions only. Prefer {@link exploreSuggestedPromptQuestions}.
116
116
  */
117
117
  exploreSuggestedQuestionsOverride?: readonly string[];
118
+ /** Chat-service export endpoint; absent means no download section is offered. */
119
+ exportDownloadEndPoint?: string;
118
120
  /** Seeds uploading file chips in the input (e.g. Storybook). Not submitted. */
119
121
  initialUploadingFiles?: FileAttachment[];
120
122
  isFileUploadEnabled?: boolean;
@@ -34,6 +34,8 @@ export interface AiCfoSidePanelProps {
34
34
  currentTenant?: unknown;
35
35
  emailLinkQuestion?: string;
36
36
  events?: string[];
37
+ /** Chat-service export endpoint; absent means no download section is offered. */
38
+ exportDownloadEndPoint?: string;
37
39
  isEmptyChatWithSession?: boolean;
38
40
  isFileUploadEnabled?: boolean;
39
41
  /** Set while the create-cards / create-policy mutation is in flight. */
@@ -83,6 +83,8 @@ export interface AiCfoAnswerProps {
83
83
  /** Credit-account cap for AI card-creation limit fields. */
84
84
  cardsCreationMaxLimitAmount?: number;
85
85
  currentChatSession?: ChatSession;
86
+ /** Chat-service export endpoint; absent means no download section is offered. */
87
+ exportDownloadEndPoint?: string;
86
88
  /** True while the create-cards mutation is in flight. */
87
89
  isInteractiveFormSubmitting?: boolean;
88
90
  response?: ResponseBlockType;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { AiCfoExport } from '@zeniai/client-epic-state';
3
+ import { ToolkitType } from '../../../context/toolkitProvider/ToolkitProvider';
4
+ export interface AiCfoExportDownloadsProps {
5
+ chatSessionId: string;
6
+ /** Optional so this library can ship before the consuming app supplies it. */
7
+ endPoint?: string;
8
+ exports?: AiCfoExport[];
9
+ toolkit?: ToolkitType;
10
+ }
11
+ /**
12
+ * Download links for the spreadsheets an answer produced. Fetched with auth headers rather
13
+ * than rendered as `<a href>`, which cannot carry them.
14
+ */
15
+ export declare const AiCfoExportDownloads: React.FC<AiCfoExportDownloadsProps>;
@@ -36,6 +36,8 @@ export interface AiCfoQuestionAnswerProps {
36
36
  /** Forwarded to `AiCfoAnswer` — credit-account cap for card-creation limits. */
37
37
  cardsCreationMaxLimitAmount?: AiCfoAnswerProps["cardsCreationMaxLimitAmount"];
38
38
  currentChatSession?: ChatSession;
39
+ /** Chat-service export endpoint; absent means no download section is offered. */
40
+ exportDownloadEndPoint?: string;
39
41
  /** Forwarded to `AiCfoAnswer`; set while the create-cards mutation is in flight. */
40
42
  isInteractiveFormSubmitting?: boolean;
41
43
  /** Forwarded to `AiCfoAnswer` — debounced card-policy watch flush. */
@@ -0,0 +1,19 @@
1
+ import { AiCfoExport } from '@zeniai/client-epic-state';
2
+ import { ToolkitType } from '../../../../context/toolkitProvider/ToolkitProvider';
3
+ /** Thrown with a machine-readable reason so callers can show specific copy. */
4
+ export declare class ExportDownloadError extends Error {
5
+ readonly reason: "missing-context" | "network" | "not-found" | "server";
6
+ constructor(reason: ExportDownloadError["reason"], message: string, cause?: unknown);
7
+ }
8
+ /**
9
+ * Download one spreadsheet the AI CFO produced for an answer.
10
+ *
11
+ * Fetched rather than linked because the endpoint needs auth headers, which an `<a href>`
12
+ * cannot carry. The request sends only the session, the export id and the name — never a
13
+ * path or a tenant. The server rebuilds the storage path from the authenticated tenant, so
14
+ * this cannot be pointed at another tenant's file.
15
+ *
16
+ * `exportId` pins one immutable write, which is what keeps an older answer's download
17
+ * returning the workbook that answer was actually built from rather than a later revision.
18
+ */
19
+ export declare function downloadAiCfoExport(endPoint: string, chatSessionId: string, exportFile: AiCfoExport, toolkit: ToolkitType, signal?: AbortSignal): Promise<void>;
@@ -0,0 +1,5 @@
1
+ import { CSSProperties, RefObject } from 'react';
2
+ export type ThreadPopupPlacement = "down" | "up";
3
+ /** Opens a row's comment popup below its anchor, flipping above only when it fits there but not below. */
4
+ export declare const useThreadPopupPlacement: (anchorRef: RefObject<HTMLElement | null>, isOpen: boolean) => ThreadPopupPlacement;
5
+ export declare const getThreadPopupStyle: (placement: ThreadPopupPlacement) => CSSProperties;
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DataListTableLayoutDefaults } from './configTypes';
3
- import { ColumnDef, DataListTableInfiniteConfig, SortState } from './types';
3
+ import { ColumnDef, DataListTableInfiniteConfig, DataListTableRowMeta, SortState } from './types';
4
4
  export type DataListTableScrollMode = "fill-parent" | "content-height";
5
5
  export interface ConfigurableDataListTableProps<TData> {
6
6
  columnOrder: readonly string[];
@@ -32,6 +32,7 @@ export interface ConfigurableDataListTableProps<TData> {
32
32
  sortState?: SortState | null;
33
33
  trackPerformance?: boolean;
34
34
  getRowId: (row: TData) => string;
35
+ getRowMeta?: (row: TData) => DataListTableRowMeta | undefined;
35
36
  onListInnerElementHeightChanged?: (listInnerElemHeight: number) => void;
36
37
  onScroll?: (scrollYOffset: number) => void;
37
38
  onSortChange?: (next: SortState | null) => void;
@@ -25,6 +25,7 @@ export interface RenderCellArgs<TData> {
25
25
  rowMeta?: DataListTableRowMeta;
26
26
  }
27
27
  export interface DataListTableRowMeta {
28
+ disabled?: boolean;
28
29
  hideFirstDataColumn?: boolean;
29
30
  }
30
31
  export interface ColumnDef<TData = unknown> {
@@ -1,4 +1,5 @@
1
1
  import { KeyboardEventHandler } from 'react';
2
+ import { DisableMode } from '../common/common';
2
3
  import { SingleSelectPickerFieldValue } from '../singleSelectPickerField/SingleSelectPickerField';
3
4
  export interface LabeledTextWithSingleSelectFieldProps {
4
5
  label: string;
@@ -7,8 +8,11 @@ export interface LabeledTextWithSingleSelectFieldProps {
7
8
  selectName: string;
8
9
  textName: string;
9
10
  additionalInfoLabel?: string;
11
+ isDisabled?: DisableMode;
10
12
  isOptional?: boolean;
11
13
  onTextKeyDown?: KeyboardEventHandler<HTMLInputElement>;
14
+ /** Overrides the row's responsive width, as on the other `Labeled*` fields. */
15
+ style?: React.CSSProperties;
12
16
  textPlaceholder?: string;
13
17
  }
14
- export declare function LabeledTextWithSingleSelectField({ additionalInfoLabel, isOptional, label, labelWidth, onTextKeyDown, selectDefaultValue, selectName, textName, textPlaceholder, }: Readonly<LabeledTextWithSingleSelectFieldProps>): import("react/jsx-runtime").JSX.Element;
18
+ export declare function LabeledTextWithSingleSelectField({ additionalInfoLabel, isDisabled, isOptional, label, labelWidth, onTextKeyDown, selectDefaultValue, selectName, style, textName, textPlaceholder, }: Readonly<LabeledTextWithSingleSelectFieldProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,40 @@
1
+ import { CatalogDetailEditValues, CatalogDetailSubFamilyEditValues } from '@zeniai/client-epic-state';
2
+ /**
3
+ * The inline-edit form on `InvoicingCatalogItemDetailPage` renders the shared
4
+ * form elements, which hold richer shapes than the CES edit values: a picker
5
+ * writes `{allOptions, selectedOption}` once touched (a plain string until
6
+ * then) and `LabeledFormattedTextField` writes a plain number where CES keeps
7
+ * an `Amount`. The form therefore works on these types and converts back with
8
+ * {@link toCatalogDetailEditValues} on save, so the request body is unchanged.
9
+ */
10
+ type CatalogEditPickerValue = string | {
11
+ allOptions?: {
12
+ label: string;
13
+ value: string;
14
+ }[];
15
+ selectedOption?: string;
16
+ };
17
+ interface CatalogDetailTierFormValues extends Omit<CatalogDetailSubFamilyEditValues["tiers"][number], "price" | "pricingType"> {
18
+ pricingType: CatalogEditPickerValue;
19
+ /** Unset until entered, so a blank field stays distinct from a real 0. */
20
+ price?: number | null;
21
+ }
22
+ interface CatalogDetailSubFamilyFormValues extends Omit<CatalogDetailSubFamilyEditValues, "period" | "periodUnit" | "priceDollars" | "pricingModel" | "prorationType" | "tiers" | "trialEndAction" | "trialPeriodUnit"> {
23
+ period: CatalogEditPickerValue;
24
+ periodUnit: CatalogEditPickerValue;
25
+ pricingModel: CatalogEditPickerValue;
26
+ prorationType: CatalogEditPickerValue;
27
+ tiers: CatalogDetailTierFormValues[];
28
+ trialEndAction: CatalogEditPickerValue;
29
+ trialPeriodUnit: CatalogEditPickerValue;
30
+ /** Unset until entered, so a blank field stays distinct from a real 0. */
31
+ priceDollars?: number | null;
32
+ }
33
+ export interface CatalogDetailEditFormValues extends Omit<CatalogDetailEditValues, "subFamilies"> {
34
+ subFamilies: CatalogDetailSubFamilyFormValues[];
35
+ }
36
+ /** Read a picker field whether it still holds the seeded string or a selection. */
37
+ export declare const selectedOptionOf: (value: CatalogEditPickerValue | undefined) => string;
38
+ export declare const toCatalogDetailEditFormValues: (values: CatalogDetailEditValues) => CatalogDetailEditFormValues;
39
+ export declare const toCatalogDetailEditValues: (values: CatalogDetailEditFormValues, currencyCode: string, currencySymbol: string) => CatalogDetailEditValues;
40
+ export {};
@@ -0,0 +1,20 @@
1
+ import { CatalogSelectOption } from './catalogItemForm.shared';
2
+ interface CatalogSubFamilyTierTableProps {
3
+ /** Field-array path, e.g. `subFamilies.0.tiers`. */
4
+ name: string;
5
+ tierTypeOptions: CatalogSelectOption[];
6
+ /** Read-only: the tier fields and the add / remove / clear actions are off. */
7
+ disabled?: boolean;
8
+ /** Overrides the outer row box, e.g. to drop borders a host already draws. */
9
+ style?: React.CSSProperties;
10
+ /** Called after a row is added, removed or cleared, for draft-syncing hosts. */
11
+ onChange?: () => void;
12
+ }
13
+ /**
14
+ * The tiered-pricing editor for one sub-family: a From / To / Price / Type grid
15
+ * with add, remove and clear-all actions. Shared by the catalog item form, the
16
+ * catalog item detail page's inline edit and the create-sub-family dialog so all
17
+ * three render the same UI for the tiered pricing models.
18
+ */
19
+ export declare function CatalogSubFamilyTierTable({ disabled, name, onChange, style, tierTypeOptions, }: Readonly<CatalogSubFamilyTierTableProps>): import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -1,3 +1,4 @@
1
+ import { KeyboardEvent } from 'react';
1
2
  import { InvoicingCatalogItemFormLocalData } from '@zeniai/client-epic-state';
2
3
  import { MultiSelectFieldValue } from '../../formElements/multiSelectField/MultiSelectField';
3
4
  export interface CatalogSelectOption {
@@ -24,6 +25,16 @@ export interface CatalogFormOptions {
24
25
  trialUnit: CatalogSelectOption[];
25
26
  type: CatalogSelectOption[];
26
27
  }
28
+ /**
29
+ * The CES-owned value sets. The form receives them as props (the screen reads
30
+ * them from CES); the catalog detail page and the create-sub-family dialog use
31
+ * this constant so all three render the same options with the same labels.
32
+ */
33
+ export declare const CATALOG_FORM_VALUE_SETS: CatalogFormValueSets;
34
+ /** The form's label for a saved value, so read-only views match the form. */
35
+ export declare const catalogOptionLabel: (allOptions: readonly CatalogSelectOption[], value: string | undefined) => string | undefined;
36
+ /** Block any keystroke that would put a non-digit into a period field. */
37
+ export declare const allowOnlyNumericKeys: (event: KeyboardEvent<HTMLInputElement>) => void;
27
38
  /** Map the CES-owned value sets to localized `{label, value}` select options. */
28
39
  export declare const buildCatalogFormOptions: (valueSets: CatalogFormValueSets) => CatalogFormOptions;
29
40
  export declare const getSubFamilyFlagLabel: (value: string) => string;
@@ -90,5 +101,5 @@ export declare const localDataToCatalogFormValues: (localData: InvoicingCatalogI
90
101
  export declare const catalogFormValuesToLocalData: (values: CatalogFormValues) => InvoicingCatalogItemFormLocalData;
91
102
  /** Blank sub-family / tier in form-values shape, seeded from the CES blanks. */
92
103
  export declare const blankSubFamilyFormValues: (options: CatalogFormOptions) => CatalogSubFamilyFormValues;
93
- export declare const blankTierFormValues: (options: CatalogFormOptions, startingUnit?: string) => CatalogTierFormValues;
104
+ export declare const blankTierFormValues: (tierTypeOptions: CatalogSelectOption[], startingUnit?: string) => CatalogTierFormValues;
94
105
  export {};
@@ -81,11 +81,13 @@ export interface InvoicingMiniTableProps<TRow> {
81
81
  columns: InvoicingMiniTableColumn<TRow>[];
82
82
  emptyMessage: string;
83
83
  rows: TRow[];
84
+ /** Drop the interactive affordances (pointer + primary hover); keeps the hover surface. */
85
+ rowsReadOnly?: boolean;
84
86
  getRowKey: (row: TRow, index: number) => string;
85
87
  onRowClick?: (row: TRow) => void;
86
88
  }
87
89
  /** Lightweight static table for detail-page sections (line items, links). */
88
- export declare function InvoicingMiniTable<TRow>({ columns, emptyMessage, getRowKey, onRowClick, rows, }: Readonly<InvoicingMiniTableProps<TRow>>): import("react/jsx-runtime").JSX.Element;
90
+ export declare function InvoicingMiniTable<TRow>({ columns, emptyMessage, getRowKey, onRowClick, rows, rowsReadOnly, }: Readonly<InvoicingMiniTableProps<TRow>>): import("react/jsx-runtime").JSX.Element;
89
91
  /**
90
92
  * Shared scaffold for invoicing detail pages: header (title + optional subtitle,
91
93
  * status capsule and action buttons), a key-facts summary grid, and arbitrary
@@ -5,13 +5,22 @@ export interface InvoicingCreateInvoiceCustomerOption {
5
5
  billingAddress?: Address;
6
6
  email?: string;
7
7
  }
8
+ /**
9
+ * A catalog plan price, as its two naming parts. Mirrors the CES
10
+ * `InvoicingPlanNameOption`; the label shown in the description picker joins
11
+ * them with the shared divider dot.
12
+ */
13
+ export interface InvoicingCreateInvoicePlanNameOption {
14
+ planName: string;
15
+ subFamilyName: string;
16
+ }
8
17
  export interface InvoicingCreateInvoicePageProps {
9
18
  customers: InvoicingCreateInvoiceCustomerOption[];
10
19
  isSubmitting: boolean;
11
20
  localData: InvoicingCreateInvoiceFormLocalData;
12
21
  errorMessage?: string;
13
22
  /** Plan names offered as suggestions in the line-item description field. */
14
- planNames?: readonly string[];
23
+ planNames?: readonly InvoicingCreateInvoicePlanNameOption[];
15
24
  /** Branding/settings used to render the live invoice preview. */
16
25
  settings?: InvoicingSettings;
17
26
  onCancel: () => void;
@@ -1,4 +1,4 @@
1
- import { IssueCreditNoteFormLocalData, IssueCreditNoteLineItemDraft } from '@zeniai/client-epic-state';
1
+ import { Amount, IssueCreditNoteFormLocalData, IssueCreditNoteLineItemDraft } from '@zeniai/client-epic-state';
2
2
  export interface PickerValue {
3
3
  allOptions: {
4
4
  label: string;
@@ -6,7 +6,14 @@ export interface PickerValue {
6
6
  }[];
7
7
  selectedOption?: string;
8
8
  }
9
+ /** Editable per-row fields; the page keeps the rest of the draft row. */
10
+ export interface IssueCreditNoteFormLineItem {
11
+ quantity: string;
12
+ selected: boolean;
13
+ unitAmount?: number | null;
14
+ }
9
15
  export type IssueCreditNoteFormValues = {
16
+ lineItems: IssueCreditNoteFormLineItem[];
10
17
  reasonCode: PickerValue;
11
18
  };
12
19
  export declare const REASON_CODE_LABELS: Record<string, string>;
@@ -16,5 +23,7 @@ export declare const reasonCodeOptions: (reasonCodeValues: string[]) => {
16
23
  }[];
17
24
  export declare const localDataToIssueCreditNoteFormValues: (localData: IssueCreditNoteFormLocalData, reasonCodeValues: string[]) => IssueCreditNoteFormValues;
18
25
  export declare const issueCreditNoteFormValuesToLocalData: (values: IssueCreditNoteFormValues, lineItems: IssueCreditNoteLineItemDraft[]) => IssueCreditNoteFormLocalData;
26
+ /** Folds the form's editable row fields back onto the page's draft rows. */
27
+ export declare const applyFormLineItems: (lineItems: IssueCreditNoteLineItemDraft[], formLineItems: (IssueCreditNoteFormLineItem | undefined)[] | undefined, toUnitAmount: (amount: number) => Amount) => IssueCreditNoteLineItemDraft[];
19
28
  export declare const computeLineItemTotal: (lineItem: IssueCreditNoteLineItemDraft) => number;
20
29
  export declare const computeCreditTotal: (lineItems: IssueCreditNoteLineItemDraft[]) => number;
@@ -1,28 +1,9 @@
1
+ import { RecordPaymentFormLocalData } from '@zeniai/client-epic-state';
1
2
  import { InvoicingRecordPaymentCustomerOption, InvoicingRecordPaymentInvoiceContext, InvoicingRecordPaymentInvoiceOption } from '../InvoicingRecordPaymentPage';
2
3
  export declare const recordPaymentStoryCustomers: InvoicingRecordPaymentCustomerOption[];
3
4
  export declare const recordPaymentStoryGatewayValues: ("other" | "stripe" | "paypal" | "chargebee" | "adyen" | "braintree" | "razorpay")[];
4
5
  export declare const recordPaymentStoryPaymentMethodValues: ("other" | "cash" | "check" | "card" | "direct_debit" | "ach_credit" | "apple_pay" | "bank_transfer" | "google_pay" | "paypal_express_checkout" | "sepa_credit")[];
5
- export declare const customerModeRecordPaymentLocalData: {
6
- amount: string;
7
- customerId: string;
8
- date: string;
9
- paymentMethod: string;
10
- comment: string;
11
- gateway: string;
12
- invoiceToLink: string;
13
- referenceNumber: string;
14
- transactionId: string;
15
- };
16
- export declare const invoiceModeRecordPaymentLocalData: {
17
- amount: string;
18
- customerId: string;
19
- date: string;
20
- invoiceToLink: string;
21
- paymentMethod: string;
22
- comment: string;
23
- gateway: string;
24
- referenceNumber: string;
25
- transactionId: string;
26
- };
6
+ export declare const customerModeRecordPaymentLocalData: RecordPaymentFormLocalData;
7
+ export declare const invoiceModeRecordPaymentLocalData: RecordPaymentFormLocalData;
27
8
  export declare const recordPaymentStoryInvoiceOptions: InvoicingRecordPaymentInvoiceOption[];
28
9
  export declare const recordPaymentStoryInvoiceContext: InvoicingRecordPaymentInvoiceContext;
@@ -1,6 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
- import { AddressUpdatableInfo, AuthParams, FetchStateAndError, File, FilePayload, ID, InvoicingBrandingFormLocalData, InvoicingSettings } from '@zeniai/client-epic-state';
2
+ import { AddressUpdatableInfo, AuthParams, FetchStateAndError, File, FilePayload, ID, InvoicingBrandingFormLocalData, InvoicingNamedOption, InvoicingSettings } from '@zeniai/client-epic-state';
3
3
  export interface InvoicingBrandingSettingsPageProps {
4
+ /** Date-format choices from the invoicing config API. */
5
+ dateFormatOptions: InvoicingNamedOption[];
4
6
  isLoading: boolean;
5
7
  isSaving: boolean;
6
8
  localData: InvoicingBrandingFormLocalData;
@@ -27,5 +29,5 @@ export interface InvoicingBrandingSettingsPageProps {
27
29
  onEditFileName?: (fileId: ID, fileName: string) => void;
28
30
  updateFilesEntity?: (files: FilePayload[]) => void;
29
31
  }
30
- export declare function InvoicingBrandingSettingsPage({ address, addressLabel, appContent, authParams, deleteFileStatusById, filesEndPoint, isLoading, isSaving, localData, logoFile: storedLogoFile, onBackClick, onChange, onDeleteFile, onEditFileName, onOpenAddress, onSubmit, saveErrorMessage, settings, updateFileStatusById, updateFilesEntity, }: Readonly<InvoicingBrandingSettingsPageProps>): import("react/jsx-runtime").JSX.Element;
32
+ export declare function InvoicingBrandingSettingsPage({ address, addressLabel, appContent, authParams, dateFormatOptions, deleteFileStatusById, filesEndPoint, isLoading, isSaving, localData, logoFile: storedLogoFile, onBackClick, onChange, onDeleteFile, onEditFileName, onOpenAddress, onSubmit, saveErrorMessage, settings, updateFileStatusById, updateFilesEntity, }: Readonly<InvoicingBrandingSettingsPageProps>): import("react/jsx-runtime").JSX.Element;
31
33
  export default InvoicingBrandingSettingsPage;
@@ -1,4 +1,5 @@
1
- import { InvoicingBrandingFormLocalData } from '@zeniai/client-epic-state';
1
+ import { InvoicingBrandingFormLocalData, InvoicingNamedOption } from '@zeniai/client-epic-state';
2
+ import { SingleSelectPickerFieldValue } from '../../formElements/singleSelectPickerField/SingleSelectPickerField';
2
3
  /**
3
4
  * Web-components glue for the branding settings form. CES owns the draft
4
5
  * `LocalData`; this module maps it to the RHF value shape and back. The logo
@@ -6,11 +7,14 @@ import { InvoicingBrandingFormLocalData } from '@zeniai/client-epic-state';
6
7
  * omitted from the form values and threaded through on save instead.
7
8
  */
8
9
  /**
9
- * Form-values shape reuses the CES localData field names verbatim; the logo
10
- * file id is the only field without an RHF counterpart, so it is omitted. Every
11
- * text/color field flows through by identity, so adding a field to the CES type
12
- * needs no mapper change.
10
+ * Form-values shape reuses the CES localData field names verbatim, so every
11
+ * text/color field flows through by identity and adding one to the CES type
12
+ * needs no mapper change. Two fields are exceptions: the logo file id has no
13
+ * RHF counterpart, and `dateFormat` is a picker, whose field value carries its
14
+ * own option list alongside the selection.
13
15
  */
14
- export type BrandingFormValues = Omit<InvoicingBrandingFormLocalData, "logoFileId">;
15
- export declare const localDataToBrandingFormValues: (localData: InvoicingBrandingFormLocalData) => BrandingFormValues;
16
+ export type BrandingFormValues = Omit<InvoicingBrandingFormLocalData, "dateFormat" | "logoFileId"> & {
17
+ dateFormat: SingleSelectPickerFieldValue;
18
+ };
19
+ export declare const localDataToBrandingFormValues: (localData: InvoicingBrandingFormLocalData, dateFormatOptions: InvoicingNamedOption[]) => BrandingFormValues;
16
20
  export declare const brandingFormValuesToLocalData: (values: BrandingFormValues, logoFileId: string) => InvoicingBrandingFormLocalData;