@tesouro/embedded-components-react 0.3.61 → 0.3.62

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 (42) hide show
  1. package/README.md +11 -11
  2. package/dist/index.css +6 -0
  3. package/dist/index.d.ts +44 -0
  4. package/dist/index.js +1 -1
  5. package/dist/lib/CardDetailsWidget.d.ts +44 -0
  6. package/dist/lib/CardDetailsWidget.js +1 -1
  7. package/dist/lib/CreditCardsWidget.d.ts +44 -0
  8. package/dist/lib/DebitCardsWidget.d.ts +44 -0
  9. package/dist/lib/WidgetSuite.d.ts +44 -0
  10. package/dist/libs/tesouro-embedded-components-react/card-details-widget/data-access/dist/index.js +4 -2
  11. package/dist/libs/tesouro-embedded-components-react/card-details-widget/data-access/dist/index10.js +32 -0
  12. package/dist/libs/tesouro-embedded-components-react/card-details-widget/data-access/dist/index11.js +27 -0
  13. package/dist/libs/tesouro-embedded-components-react/card-details-widget/data-access/dist/index9.js +17 -12
  14. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index.js +2 -2
  15. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index10.js +26 -0
  16. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index11.js +63 -0
  17. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index12.js +79 -0
  18. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index13.js +219 -0
  19. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index3.js +18 -2
  20. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index4.js +29 -28
  21. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index5.js +3 -0
  22. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index6.js +33 -19
  23. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index7.js +17 -102
  24. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index8.js +14 -181
  25. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index9.js +113 -0
  26. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/ActivateCardPanel/ActivateCardPanel.js +58 -55
  27. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/ActivateCardPanel/ActivateCardSuccessView.js +12 -13
  28. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/CardCredentialsFace.js +27 -24
  29. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/CardDetailsHeader.js +26 -27
  30. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/CardDetailsPanel.js +140 -110
  31. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/CardFace.js +29 -19
  32. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/CardFaceFlip.js +16 -17
  33. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/DetailCopyRow.js +4 -4
  34. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/NicknameRow.js +65 -0
  35. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/labels.js +23 -0
  36. package/dist/libs/tesouro-embedded-components-react/cards-widget/feature/dist/index9.js +1 -1
  37. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +22 -22
  38. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/@tanstack/react-query.gen.js +165 -151
  39. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +164 -132
  40. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  41. package/package.json +1 -1
  42. package/dist/libs/tesouro-embedded-components-react/card-details-widget/ui/dist/lib/CardDetailsPanel/testIds.js +0 -14
@@ -0,0 +1,79 @@
1
+ "use client";
2
+ "use client";
3
+ "use client";
4
+ "use client";
5
+ import { toast as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
6
+ import { isApiConflictError as t } from "../../../shared/data-access/dist/lib/isApiConflictError.js";
7
+ import "../../../shared/data-access/dist/index.js";
8
+ import "../../../shared/ui/dist/index.js";
9
+ import { useIdScopedRequest as n } from "./index8.js";
10
+ import { useUpdateDebitCardMutation as r } from "../../data-access/dist/index10.js";
11
+ import "../../data-access/dist/index.js";
12
+ import { canEditNickname as i, isNicknameSaveable as a } from "./index10.js";
13
+ import { useCallback as o, useState as s } from "react";
14
+ //#region ../../libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index12.js
15
+ function c({ cardId: c, cardProgram: l, card: u, nickname: d, scopes: f, conflictToast: p, successToast: m }) {
16
+ let [h, g] = s("closed"), [_, v] = s(""), { claim: y, release: b, isStale: x } = n({
17
+ id: c,
18
+ reset: () => {
19
+ g("closed"), v("");
20
+ }
21
+ }), { mutateAsync: S } = r(), C = i({
22
+ card: u,
23
+ cardProgram: l,
24
+ scopes: f
25
+ }), w = o(() => {
26
+ v(d ?? ""), g("editing");
27
+ }, [d]), T = o((e) => {
28
+ v(e);
29
+ }, []), E = o(() => {
30
+ b(), g("closed"), v("");
31
+ }, [b]), D = o(async () => {
32
+ if (!C || !a({
33
+ draft: _,
34
+ current: d
35
+ })) return;
36
+ g("saving");
37
+ let n = y();
38
+ try {
39
+ if (await S({
40
+ path: { id: c },
41
+ body: { nickname: _.trim() }
42
+ }), x(n)) return;
43
+ e.success(m), g("closed"), v("");
44
+ } catch (r) {
45
+ if (x(n)) return;
46
+ if (t(r)) {
47
+ e.error(p), g("closed"), v("");
48
+ return;
49
+ }
50
+ g("errored");
51
+ }
52
+ }, [
53
+ C,
54
+ c,
55
+ y,
56
+ p,
57
+ _,
58
+ x,
59
+ d,
60
+ m,
61
+ S
62
+ ]), O = o(() => {
63
+ D();
64
+ }, [D]);
65
+ return {
66
+ editState: h,
67
+ draft: _,
68
+ isSaveDisabled: !C || h === "saving" || !a({
69
+ draft: _,
70
+ current: d
71
+ }),
72
+ onEditNickname: C ? w : void 0,
73
+ onDraftChange: T,
74
+ onSave: O,
75
+ onCancel: E
76
+ };
77
+ }
78
+ //#endregion
79
+ export { c as useEditCardNickname };
@@ -0,0 +1,219 @@
1
+ "use client";
2
+ "use client";
3
+ "use client";
4
+ "use client";
5
+ import { toast as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
6
+ import { EmbeddedToaster as t } from "../../../shared/ui/dist/lib/EmbeddedToaster.js";
7
+ import "../../../shared/ui/dist/index.js";
8
+ import { useAnalyticsTrack as n } from "../../../shared/feature/dist/lib/analytics/hooks.js";
9
+ import { WidgetProvider as r } from "../../../shared/feature/dist/lib/WidgetProvider/WidgetProvider.js";
10
+ import { useRefetchWidget as i, useWidgetConfig as a, useWidgetError as o } from "../../../shared/feature/dist/lib/WidgetProvider/hooks.js";
11
+ import { CardProgram as s } from "../../../shared/feature/dist/lib/card/cardProgram.js";
12
+ import "../../../shared/feature/dist/index.js";
13
+ import { resolveCardDetailsFeatureLabels as c } from "./index5.js";
14
+ import { CardDetailsWidgetAnalyticsEvent as l, WIDGET_NAME as u } from "./index2.js";
15
+ import { copyTextToClipboard as d, formatCardNumber as f, formatExpirationDate as p } from "./index3.js";
16
+ import { CardProgramValidity as m, resolveCanRevealCredentials as h, resolveCardDetailsPanelState as ee, resolveCardDetailsPresentation as te, resolveCardDetailsRevealState as ne, resolveCardProgramValidity as re } from "./index4.js";
17
+ import { activateCardPanelTestIds as ie, cardDetailsPanelTestIds as ae } from "./index6.js";
18
+ import { useCreditCardDetailsQuery as oe } from "../../data-access/dist/index6.js";
19
+ import { useDebitCardCredentialsQuery as se } from "../../data-access/dist/index7.js";
20
+ import { useDebitCardDetailsQuery as ce } from "../../data-access/dist/index8.js";
21
+ import "../../data-access/dist/index.js";
22
+ import { CardDetailsPanel as le } from "../../ui/dist/lib/CardDetailsPanel/CardDetailsPanel.js";
23
+ import { ActivateCardPanel as g } from "../../ui/dist/lib/ActivateCardPanel/ActivateCardPanel.js";
24
+ import "../../ui/dist/index.js";
25
+ import { useActivateCard as ue } from "./index9.js";
26
+ import { useCardLock as _ } from "./index11.js";
27
+ import { useEditCardNickname as de } from "./index12.js";
28
+ import { useCallback as v, useEffect as y, useMemo as b, useState as x } from "react";
29
+ import { Fragment as fe, jsx as S, jsxs as pe } from "react/jsx-runtime";
30
+ //#region ../../libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index13.js
31
+ function C({ cardId: r, cardProgram: u, onClose: C, labels: w, activateLabels: T, featureLabels: E, bankLogoSrc: D, bankLogoAlt: O }) {
32
+ let k = n(), A = o(), j = i(), { initResponse: M } = a();
33
+ y(() => {
34
+ k(l.Mounted);
35
+ }, [k]);
36
+ let N = b(() => c(E), [E]), P = re(u), F = u === s.Credit, I = u === s.Debit, L = oe({
37
+ cardId: r,
38
+ enabled: F
39
+ }), R = ce({
40
+ cardId: r,
41
+ enabled: I
42
+ }), { data: z, isError: me, isNotFound: he, refetch: B } = F ? L : R, V = ee({
43
+ programValidity: P,
44
+ isNotFound: he,
45
+ isError: !!A || me,
46
+ hasCard: !!z
47
+ });
48
+ y(() => {
49
+ if (P === m.Supported) return;
50
+ let e = `"${s.Credit}" or "${s.Debit}"`;
51
+ console.error(P === m.Missing ? `[CardDetailsWidget] cardProgram is required and was not set. Pass ${e} — it selects which card program to read, so there is no default. No card was fetched.` : `[CardDetailsWidget] cardProgram must be ${e}, received ${JSON.stringify(u)}. No card was fetched.`);
52
+ }, [u, P]);
53
+ let [ge, H] = x(), U = ge === r;
54
+ y(() => {
55
+ H(void 0);
56
+ }, [r]);
57
+ let W = h({
58
+ panelState: V,
59
+ cardProgram: u,
60
+ cardStatus: z?.cardStatus
61
+ });
62
+ y(() => {
63
+ U && !W && H(void 0);
64
+ }, [U, W]);
65
+ let G = se({
66
+ cardId: r,
67
+ enabled: W && U
68
+ }), K = ne({
69
+ isRevealRequested: U,
70
+ isError: G.isError,
71
+ hasCredentials: !!G.data
72
+ }), q = b(() => V === "loaded" && z ? te({
73
+ card: z,
74
+ cardProgram: u,
75
+ labels: N
76
+ }) : void 0, [
77
+ z,
78
+ u,
79
+ N,
80
+ V
81
+ ]), _e = v(async (t) => {
82
+ await d(t) && (e.success(N.copySuccessToast), k(l.ValueCopied));
83
+ }, [N.copySuccessToast, k]), J = V === "loaded" ? z : void 0, Y = ue({
84
+ cardId: r,
85
+ cardProgram: u,
86
+ card: J,
87
+ scopes: M?.scopes,
88
+ conflictToast: N.activationConflictToast
89
+ }), X = _({
90
+ cardId: r,
91
+ cardProgram: u,
92
+ card: J,
93
+ scopes: M?.scopes,
94
+ conflictToast: N.lockConflictToast
95
+ }), Z = de({
96
+ cardId: r,
97
+ cardProgram: u,
98
+ card: J,
99
+ nickname: q?.nickname,
100
+ scopes: M?.scopes,
101
+ conflictToast: N.nicknameConflictToast,
102
+ successToast: N.nicknameUpdatedToast
103
+ }), { refetch: Q } = G, ve = v(() => {
104
+ if (U) {
105
+ Q();
106
+ return;
107
+ }
108
+ H(r);
109
+ }, [
110
+ r,
111
+ U,
112
+ Q
113
+ ]), ye = v(() => {
114
+ H(void 0);
115
+ }, []), be = v(() => {
116
+ H(void 0), C?.();
117
+ }, [C]), xe = b(() => G.isForbidden ? {
118
+ ...w,
119
+ credentials: {
120
+ ...w?.credentials,
121
+ errorDescription: N.revealNotPermittedDescription
122
+ }
123
+ } : w, [
124
+ G.isForbidden,
125
+ w,
126
+ N.revealNotPermittedDescription
127
+ ]), $ = b(() => {
128
+ if (!(K !== "revealed" || !G.data)) return {
129
+ cardNumber: f(G.data.pan),
130
+ expirationDate: p(G.data.expirationDate),
131
+ securityCode: G.data.cvv
132
+ };
133
+ }, [G.data, K]), Se = v(() => {
134
+ if (A) {
135
+ j();
136
+ return;
137
+ }
138
+ B();
139
+ }, [
140
+ B,
141
+ j,
142
+ A
143
+ ]);
144
+ return /* @__PURE__ */ pe(fe, { children: [/* @__PURE__ */ S(t, {}), Y.isOpen ? /* @__PURE__ */ S(g, {
145
+ testIds: ie,
146
+ labels: T,
147
+ state: Y.state,
148
+ values: Y.values,
149
+ errors: Y.errors,
150
+ isSubmitDisabled: Y.isSubmitDisabled,
151
+ onValuesChange: Y.onValuesChange,
152
+ onSubmit: Y.onSubmit,
153
+ onClose: Y.close,
154
+ bankLogoSrc: D,
155
+ bankLogoAlt: O,
156
+ cardholderName: q?.cardholderName,
157
+ maskedCardNumber: q?.maskedCardNumber,
158
+ programLabel: q?.programLabel
159
+ }) : /* @__PURE__ */ S(le, {
160
+ testIds: ae,
161
+ labels: xe,
162
+ state: V,
163
+ nickname: q?.nickname,
164
+ statusLabel: q?.statusLabel,
165
+ statusTone: q?.statusTone,
166
+ formFactorLabel: q?.formFactorLabel,
167
+ onClose: C ? be : void 0,
168
+ bankLogoSrc: D,
169
+ bankLogoAlt: O,
170
+ cardholderName: q?.cardholderName,
171
+ maskedCardNumber: q?.maskedCardNumber,
172
+ programLabel: q?.programLabel,
173
+ billingAddress: q?.billingAddress,
174
+ allowedCategories: q?.allowedCategories,
175
+ spendLimitLabels: q?.spendLimitLabels,
176
+ perTransactionMaxLabel: q?.perTransactionMaxLabel,
177
+ onCopy: _e,
178
+ onEditNickname: Z.onEditNickname,
179
+ nicknameEditState: Z.editState,
180
+ nicknameDraft: Z.draft,
181
+ onNicknameDraftChange: Z.onDraftChange,
182
+ onSaveNickname: Z.onSave,
183
+ onCancelNicknameEdit: Z.onCancel,
184
+ isNicknameSaveDisabled: Z.isSaveDisabled,
185
+ onActivate: Y.canActivate ? Y.open : void 0,
186
+ onViewCard: W ? ve : void 0,
187
+ onHideCard: W ? ye : void 0,
188
+ revealState: K,
189
+ revealedCardNumber: $?.cardNumber,
190
+ revealedExpirationDate: $?.expirationDate,
191
+ revealedSecurityCode: $?.securityCode,
192
+ isLocked: X.isLocked,
193
+ lockState: X.lockState,
194
+ onLockCard: X.onLockCard,
195
+ onUnlockCard: X.onUnlockCard,
196
+ onRetry: P === m.Supported ? Se : void 0
197
+ })] });
198
+ }
199
+ function w({ baseUrl: e, widgetToken: t, organizationId: n, configClient: i, gatewayRouting: a, linkComponent: o, implementation: s, uiFramework: c, errorFallback: l, onError: d, analytics: f, disclosuresAcceptance: p, providerLabels: m, ...h }) {
200
+ return /* @__PURE__ */ S(r, {
201
+ widgetName: u,
202
+ baseUrl: e,
203
+ widgetToken: t,
204
+ organizationId: n,
205
+ configClient: i,
206
+ gatewayRouting: a,
207
+ linkComponent: o,
208
+ implementation: s,
209
+ uiFramework: c,
210
+ errorFallback: l,
211
+ onError: d,
212
+ analytics: f,
213
+ disclosuresAcceptance: p,
214
+ providerLabels: m,
215
+ children: /* @__PURE__ */ S(C, { ...h })
216
+ });
217
+ }
218
+ //#endregion
219
+ export { w as CardDetailsWidget, w as default };
@@ -32,7 +32,23 @@ async function a(e) {
32
32
  return !1;
33
33
  }
34
34
  }
35
- function o({ amountLimit: t, currencyCode: n }) {
35
+ function o(e) {
36
+ return e.filter((e) => !!e?.trim());
37
+ }
38
+ function s(e) {
39
+ if (!e) return;
40
+ let t = o([
41
+ e.address1,
42
+ e.address2,
43
+ e.address3
44
+ ]).join(" "), n = o([e.state, e.postalCode]).join(" ");
45
+ return o([
46
+ t,
47
+ e.city,
48
+ n
49
+ ]).join(", ") || void 0;
50
+ }
51
+ function c({ amountLimit: t, currencyCode: n }) {
36
52
  let r = e({
37
53
  value: t,
38
54
  currencyCode: n
@@ -43,4 +59,4 @@ function o({ amountLimit: t, currencyCode: n }) {
43
59
  }).format(r);
44
60
  }
45
61
  //#endregion
46
- export { a as copyTextToClipboard, r as formatCardNumber, i as formatExpirationDate, o as formatVelocityControlAmount, n as maskCardNumber };
62
+ export { a as copyTextToClipboard, s as formatBillingAddress, r as formatCardNumber, i as formatExpirationDate, c as formatVelocityControlAmount, n as maskCardNumber };
@@ -1,53 +1,54 @@
1
1
  import { CardProgram as e } from "../../../shared/feature/dist/lib/card/cardProgram.js";
2
2
  import { CARD_STATUS_TONE as t } from "../../../shared/feature/dist/lib/card/cardPresentation.js";
3
3
  import "../../../shared/feature/dist/index.js";
4
- import { formatVelocityControlAmount as n, maskCardNumber as r } from "./index3.js";
4
+ import { formatBillingAddress as n, formatVelocityControlAmount as r, maskCardNumber as i } from "./index3.js";
5
5
  //#region ../../libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index4.js
6
- var i = {
6
+ var a = {
7
7
  Supported: "supported",
8
8
  Missing: "missing",
9
9
  Unsupported: "unsupported"
10
10
  };
11
- function a(t) {
12
- return t === e.Credit || t === e.Debit ? i.Supported : t == null ? i.Missing : i.Unsupported;
11
+ function o(t) {
12
+ return t === e.Credit || t === e.Debit ? a.Supported : t == null ? a.Missing : a.Unsupported;
13
13
  }
14
- function o({ programValidity: e, isNotFound: t, isError: n, hasCard: r }) {
15
- return e === i.Supported ? t ? "notFound" : r ? "loaded" : n ? "error" : "loading" : "error";
14
+ function s({ programValidity: e, isNotFound: t, isError: n, hasCard: r }) {
15
+ return e === a.Supported ? t ? "notFound" : r ? "loaded" : n ? "error" : "loading" : "error";
16
16
  }
17
- var s = "PENDING_ACTIVATION";
18
- function c({ panelState: t, cardProgram: n, cardStatus: r }) {
19
- return t !== "loaded" || n !== e.Debit || r === void 0 ? !1 : r !== s;
17
+ var c = "PENDING_ACTIVATION";
18
+ function l({ panelState: t, cardProgram: n, cardStatus: r }) {
19
+ return t !== "loaded" || n !== e.Debit || r === void 0 ? !1 : r !== c;
20
20
  }
21
- function l({ isRevealRequested: e, isError: t, hasCredentials: n }) {
21
+ function u({ isRevealRequested: e, isError: t, hasCredentials: n }) {
22
22
  return e ? t ? "errored" : n ? "revealed" : "revealing" : "hidden";
23
23
  }
24
- function u({ card: e, cardProgram: n, labels: i }) {
25
- let a = e.cardholderName.trim(), o = e.nickname?.trim();
24
+ function d({ card: e, cardProgram: r, labels: a }) {
25
+ let o = e.cardholderName.trim(), s = e.nickname?.trim();
26
26
  return {
27
- statusLabel: i.statusLabels[e.cardStatus],
27
+ statusLabel: a.statusLabels[e.cardStatus],
28
28
  statusTone: t[e.cardStatus],
29
- formFactorLabel: i.formFactorLabels[e.cardType],
30
- programLabel: i.programLabels[n],
31
- maskedCardNumber: r(e.lastFourDigits),
32
- cardholderName: a || void 0,
33
- nickname: o || void 0,
34
- allowedCategories: d(e.mccGroups),
35
- ...f(e.velocityControls, i)
29
+ formFactorLabel: a.formFactorLabels[e.cardType],
30
+ programLabel: a.programLabels[r],
31
+ maskedCardNumber: i(e.lastFourDigits),
32
+ cardholderName: o || void 0,
33
+ nickname: s || void 0,
34
+ billingAddress: n(e.billingAddress),
35
+ allowedCategories: f(e.mccGroups),
36
+ ...p(e.velocityControls, a)
36
37
  };
37
38
  }
38
- function d(e) {
39
+ function f(e) {
39
40
  let t = (e ?? []).filter((e) => e.active).map((e) => e.name);
40
41
  return t.length ? t : void 0;
41
42
  }
42
- function f(e, t) {
43
- let r = (e ?? []).filter((e) => e.active && !e.mcc && !e.mccGroup), i = r.filter((e) => e.velocityWindow !== "TRANSACTION").map((e) => {
44
- let r = n(e);
45
- return r ? `${r} / ${t.velocityWindowLabels[e.velocityWindow]}` : void 0;
46
- }).filter((e) => !!e), a = r.find((e) => e.velocityWindow === "TRANSACTION");
43
+ function p(e, t) {
44
+ let n = (e ?? []).filter((e) => e.active && !e.mcc && !e.mccGroup), i = n.filter((e) => e.velocityWindow !== "TRANSACTION").map((e) => {
45
+ let n = r(e);
46
+ return n ? `${n} / ${t.velocityWindowLabels[e.velocityWindow]}` : void 0;
47
+ }).filter((e) => !!e), a = n.find((e) => e.velocityWindow === "TRANSACTION");
47
48
  return {
48
49
  spendLimitLabels: i.length ? i : void 0,
49
- perTransactionMaxLabel: a ? n(a) : void 0
50
+ perTransactionMaxLabel: a ? r(a) : void 0
50
51
  };
51
52
  }
52
53
  //#endregion
53
- export { i as CardProgramValidity, c as resolveCanRevealCredentials, o as resolveCardDetailsPanelState, u as resolveCardDetailsPresentation, l as resolveCardDetailsRevealState, a as resolveCardProgramValidity };
54
+ export { a as CardProgramValidity, l as resolveCanRevealCredentials, s as resolveCardDetailsPanelState, d as resolveCardDetailsPresentation, u as resolveCardDetailsRevealState, o as resolveCardProgramValidity };
@@ -5,6 +5,9 @@ import "../../../shared/feature/dist/index.js";
5
5
  var r = {
6
6
  copySuccessToast: "Copied to clipboard",
7
7
  activationConflictToast: "This card is no longer awaiting activation.",
8
+ lockConflictToast: "This card's lock can no longer be changed.",
9
+ nicknameUpdatedToast: "Nickname updated",
10
+ nicknameConflictToast: "This card's nickname can no longer be changed.",
8
11
  revealNotPermittedDescription: "This card's details can't be shown for this session.",
9
12
  programLabels: {
10
13
  [e.Credit]: "Business credit",
@@ -1,22 +1,36 @@
1
- import { hasAnyScope as e } from "../../../shared/data-access/dist/lib/hasAnyScope.js";
2
- import { Scope as t } from "../../../shared/data-access/dist/lib/scopes.js";
3
- import "../../../shared/data-access/dist/index.js";
4
- import { CardProgram as n } from "../../../shared/feature/dist/lib/card/cardProgram.js";
5
- import "../../../shared/feature/dist/index.js";
6
1
  //#region ../../libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index6.js
7
- var r = {
8
- [n.Credit]: t.CreditCardActivateOrg,
9
- [n.Debit]: t.DebitCardActivateOrg
2
+ var e = {
3
+ panel: "card-details-widget-panel",
4
+ cardFace: "card-details-widget-card-face",
5
+ cardFaceLockedOverlay: "card-details-widget-card-face-locked-overlay",
6
+ credentialsFaceLockedOverlay: "card-details-widget-credentials-face-locked-overlay",
7
+ cardFaceFlip: "card-details-widget-card-face-flip",
8
+ credentialsFace: "card-details-widget-credentials-face",
9
+ loading: "card-details-widget-loading",
10
+ menuTrigger: "card-details-widget-menu-trigger",
11
+ closeButton: "card-details-widget-close-button",
12
+ activatePanel: "card-details-widget-activate-panel",
13
+ activateSuccess: "card-details-widget-activate-success"
14
+ }, t = {
15
+ root: e.cardFace,
16
+ lockedOverlay: e.cardFaceLockedOverlay
17
+ }, n = {
18
+ root: e.panel,
19
+ loading: e.loading,
20
+ header: {
21
+ menuTrigger: e.menuTrigger,
22
+ closeButton: e.closeButton
23
+ },
24
+ cardFace: t,
25
+ cardFaceFlip: { root: e.cardFaceFlip },
26
+ credentialsFace: {
27
+ root: e.credentialsFace,
28
+ lockedOverlay: e.credentialsFaceLockedOverlay
29
+ }
30
+ }, r = {
31
+ root: e.activatePanel,
32
+ cardFace: t,
33
+ successView: { root: e.activateSuccess }
10
34
  };
11
- function i({ card: t, cardProgram: n, scopes: i }) {
12
- if (!t || t.cardType !== "PHYSICAL" || t.cardStatus !== "PENDING_ACTIVATION") return !1;
13
- let a = r[n];
14
- return a ? e(new Set(i ?? []), [a]) : !1;
15
- }
16
- var a = 4;
17
- function o(e) {
18
- let t = e.replace(/\D/g, "");
19
- if (t.length === a) return `${t.slice(0, 2)}-${t.slice(2)}`;
20
- }
21
35
  //#endregion
22
- export { r as ACTIVATE_SCOPE_BY_PROGRAM, i as canActivateCard, o as toCardFaceExpirationDate };
36
+ export { r as activateCardPanelTestIds, n as cardDetailsPanelTestIds, e as cardDetailsWidgetTestIds };
@@ -1,107 +1,22 @@
1
- "use client";
2
- "use client";
3
- "use client";
4
- "use client";
5
- import { toast as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
6
- import { isApiConflictError as t } from "../../../shared/data-access/dist/lib/isApiConflictError.js";
7
- import { isApiUnprocessableError as n } from "../../../shared/data-access/dist/lib/isApiUnprocessableError.js";
1
+ import { hasAnyScope as e } from "../../../shared/data-access/dist/lib/hasAnyScope.js";
2
+ import { Scope as t } from "../../../shared/data-access/dist/lib/scopes.js";
8
3
  import "../../../shared/data-access/dist/index.js";
9
- import "../../../shared/ui/dist/index.js";
10
- import { CardProgram as r } from "../../../shared/feature/dist/lib/card/cardProgram.js";
4
+ import { CardProgram as n } from "../../../shared/feature/dist/lib/card/cardProgram.js";
11
5
  import "../../../shared/feature/dist/index.js";
12
- import { canActivateCard as i, toCardFaceExpirationDate as a } from "./index6.js";
13
- import { useActivateCreditCardMutation as o, useActivateDebitCardMutation as s } from "../../data-access/dist/index4.js";
14
- import { useVerifyDebitCardMutation as c } from "../../data-access/dist/index9.js";
15
- import "../../data-access/dist/index.js";
16
- import { ActivateCardFormError as l, EMPTY_ACTIVATE_CARD_FORM_VALUES as u, validateActivateCardForm as d } from "../../ui/dist/lib/ActivateCardPanel/validation.js";
17
- import "../../ui/dist/index.js";
18
- import { useCallback as f, useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
19
6
  //#region ../../libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index7.js
20
- function _({ cardId: _, cardProgram: v, card: y, scopes: b, conflictToast: x }) {
21
- let [S, C] = g(!1), [w, T] = g(u), [E, D] = g("idle"), [O, k] = g(!1), A = h(null), [j, M] = g(_);
22
- _ !== j && (M(_), A.current = null, C(!1), T(u), D("idle"), k(!1));
23
- let { mutateAsync: N } = c(), { mutateAsync: P } = o(), { mutateAsync: F } = s(), I = i({
24
- card: y,
25
- cardProgram: v,
26
- scopes: b
27
- }), L = m(() => d(w), [w]), R = m(() => ({
28
- ...L.errors,
29
- ...O ? { form: l.VerificationRejected } : {}
30
- }), [O, L.errors]), z = f(() => {
31
- C(!0);
32
- }, []), B = f(() => {
33
- C(!1), A.current = null, T(u), D("idle"), k(!1);
34
- }, []), V = f((e) => {
35
- T((t) => ({
36
- ...t,
37
- ...e
38
- }));
39
- }, []);
40
- p(() => {
41
- !S || I || E !== "succeeded" && E !== "submitting" && (e.error(x), B());
42
- }, [
43
- I,
44
- B,
45
- x,
46
- S,
47
- E
48
- ]);
49
- let H = f(async () => {
50
- if (!I || !d(w).isValid) return;
51
- let i = v === r.Credit, o = v === r.Debit;
52
- if (!i && !o) return;
53
- D("submitting"), k(!1), A.current = _;
54
- let s = () => A.current !== _;
55
- try {
56
- if (o) {
57
- let e = a(w.expirationDate);
58
- if (!e) {
59
- D("errored");
60
- return;
61
- }
62
- await N({
63
- path: { id: _ },
64
- body: {
65
- expirationDate: e,
66
- cvv: w.securityCode
67
- }
68
- });
69
- }
70
- if (s() || (i ? await P({ path: { id: _ } }) : await F({ path: { id: _ } }), s())) return;
71
- D("succeeded");
72
- } catch (r) {
73
- if (s()) return;
74
- if (t(r)) {
75
- e.error(x), B();
76
- return;
77
- }
78
- n(r) && k(!0), D("errored");
79
- }
80
- }, [
81
- P,
82
- F,
83
- I,
84
- _,
85
- v,
86
- B,
87
- x,
88
- w,
89
- N
90
- ]), U = f(() => {
91
- H();
92
- }, [H]);
93
- return {
94
- canActivate: I,
95
- isOpen: S,
96
- open: z,
97
- close: B,
98
- values: w,
99
- errors: R,
100
- state: E,
101
- isSubmitDisabled: !I || !L.isValid || E === "submitting",
102
- onValuesChange: V,
103
- onSubmit: U
104
- };
7
+ var r = {
8
+ [n.Credit]: t.CreditCardActivateOrg,
9
+ [n.Debit]: t.DebitCardActivateOrg
10
+ };
11
+ function i({ card: t, cardProgram: n, scopes: i }) {
12
+ if (!t || t.cardType !== "PHYSICAL" || t.cardStatus !== "PENDING_ACTIVATION") return !1;
13
+ let a = r[n];
14
+ return a ? e(new Set(i ?? []), [a]) : !1;
15
+ }
16
+ var a = 4;
17
+ function o(e) {
18
+ let t = e.replace(/\D/g, "");
19
+ if (t.length === a) return `${t.slice(0, 2)}-${t.slice(2)}`;
105
20
  }
106
21
  //#endregion
107
- export { _ as useActivateCard };
22
+ export { r as ACTIVATE_SCOPE_BY_PROGRAM, i as canActivateCard, o as toCardFaceExpirationDate };