udp-react-enterprise-component-library 26.5.0-beta.11 → 26.5.0-beta.13

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 (105) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/inquiry/InquiryContainer.d.ts.map +1 -1
  3. package/dist/inquiry/InquiryContainer.js +7 -2
  4. package/dist/inquiry/InquiryContainer.js.map +1 -1
  5. package/dist/inquiry/InquiryContainer.mjs +5 -2
  6. package/dist/inquiry/InquiryContainer.mjs.map +1 -1
  7. package/dist/utilities/form/paymentForm/BankAccountForm.d.ts +12 -29
  8. package/dist/utilities/form/paymentForm/BankAccountForm.d.ts.map +1 -1
  9. package/dist/utilities/form/paymentForm/BankAccountForm.js +64 -78
  10. package/dist/utilities/form/paymentForm/BankAccountForm.js.map +1 -1
  11. package/dist/utilities/form/paymentForm/BankAccountForm.mjs +77 -196
  12. package/dist/utilities/form/paymentForm/BankAccountForm.mjs.map +1 -1
  13. package/dist/utilities/form/paymentForm/CashForm.d.ts +1 -1
  14. package/dist/utilities/form/paymentForm/CashForm.d.ts.map +1 -1
  15. package/dist/utilities/form/paymentForm/CashForm.js +19 -51
  16. package/dist/utilities/form/paymentForm/CashForm.js.map +1 -1
  17. package/dist/utilities/form/paymentForm/CashForm.mjs +80 -119
  18. package/dist/utilities/form/paymentForm/CashForm.mjs.map +1 -1
  19. package/dist/utilities/form/paymentForm/CreditCardForm.d.ts +10 -21
  20. package/dist/utilities/form/paymentForm/CreditCardForm.d.ts.map +1 -1
  21. package/dist/utilities/form/paymentForm/CreditCardForm.js +81 -87
  22. package/dist/utilities/form/paymentForm/CreditCardForm.js.map +1 -1
  23. package/dist/utilities/form/paymentForm/CreditCardForm.mjs +84 -195
  24. package/dist/utilities/form/paymentForm/CreditCardForm.mjs.map +1 -1
  25. package/dist/utilities/form/paymentForm/CreditCardUtils.d.ts.map +1 -1
  26. package/dist/utilities/form/paymentForm/CreditCardUtils.js +5 -0
  27. package/dist/utilities/form/paymentForm/CreditCardUtils.js.map +1 -1
  28. package/dist/utilities/form/paymentForm/CreditCardUtils.mjs +1 -0
  29. package/dist/utilities/form/paymentForm/CreditCardUtils.mjs.map +1 -1
  30. package/dist/utilities/form/paymentForm/HostedPaymentError.d.ts +5 -16
  31. package/dist/utilities/form/paymentForm/HostedPaymentError.d.ts.map +1 -1
  32. package/dist/utilities/form/paymentForm/HostedPaymentError.js +6 -18
  33. package/dist/utilities/form/paymentForm/HostedPaymentError.js.map +1 -1
  34. package/dist/utilities/form/paymentForm/HostedPaymentError.mjs +18 -55
  35. package/dist/utilities/form/paymentForm/HostedPaymentError.mjs.map +1 -1
  36. package/dist/utilities/form/paymentForm/NewCreditCardForm.d.ts +12 -14
  37. package/dist/utilities/form/paymentForm/NewCreditCardForm.d.ts.map +1 -1
  38. package/dist/utilities/form/paymentForm/NewCreditCardForm.js +45 -58
  39. package/dist/utilities/form/paymentForm/NewCreditCardForm.js.map +1 -1
  40. package/dist/utilities/form/paymentForm/NewCreditCardForm.mjs +185 -262
  41. package/dist/utilities/form/paymentForm/NewCreditCardForm.mjs.map +1 -1
  42. package/dist/utilities/form/paymentForm/NewECheckForm.d.ts +9 -14
  43. package/dist/utilities/form/paymentForm/NewECheckForm.d.ts.map +1 -1
  44. package/dist/utilities/form/paymentForm/NewECheckForm.js +28 -68
  45. package/dist/utilities/form/paymentForm/NewECheckForm.js.map +1 -1
  46. package/dist/utilities/form/paymentForm/NewECheckForm.mjs +184 -227
  47. package/dist/utilities/form/paymentForm/NewECheckForm.mjs.map +1 -1
  48. package/dist/utilities/form/paymentForm/PaymentBankDetails.d.ts.map +1 -1
  49. package/dist/utilities/form/paymentForm/PaymentBankDetails.js +4 -2
  50. package/dist/utilities/form/paymentForm/PaymentBankDetails.js.map +1 -1
  51. package/dist/utilities/form/paymentForm/PaymentCardDetail.d.ts.map +1 -1
  52. package/dist/utilities/form/paymentForm/PaymentCardDetail.js +4 -2
  53. package/dist/utilities/form/paymentForm/PaymentCardDetail.js.map +1 -1
  54. package/dist/utilities/form/paymentForm/PaymentForm.d.ts +67 -3
  55. package/dist/utilities/form/paymentForm/PaymentForm.d.ts.map +1 -1
  56. package/dist/utilities/form/paymentForm/PaymentForm.js +265 -246
  57. package/dist/utilities/form/paymentForm/PaymentForm.js.map +1 -1
  58. package/dist/utilities/form/paymentForm/PaymentForm.mjs +275 -296
  59. package/dist/utilities/form/paymentForm/PaymentForm.mjs.map +1 -1
  60. package/dist/utilities/form/paymentForm/usePaymentContext.d.ts +22 -0
  61. package/dist/utilities/form/paymentForm/usePaymentContext.d.ts.map +1 -0
  62. package/dist/utilities/form/paymentForm/usePaymentContext.js +117 -0
  63. package/dist/utilities/form/paymentForm/usePaymentContext.js.map +1 -0
  64. package/dist/utilities/form/paymentForm/usePaymentContext.mjs +119 -0
  65. package/dist/utilities/form/paymentForm/usePaymentContext.mjs.map +1 -0
  66. package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.d.ts.map +1 -1
  67. package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.js +22 -28
  68. package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.js.map +1 -1
  69. package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.mjs +37 -32
  70. package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.mjs.map +1 -1
  71. package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.d.ts.map +1 -1
  72. package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.js +25 -27
  73. package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.js.map +1 -1
  74. package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.mjs +40 -38
  75. package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.mjs.map +1 -1
  76. package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.d.ts.map +1 -1
  77. package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.js +25 -32
  78. package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.js.map +1 -1
  79. package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.mjs +38 -43
  80. package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.mjs.map +1 -1
  81. package/package.json +6 -42
  82. package/dist/utilities/form/paymentForm/BankIcon.mjs +0 -56
  83. package/dist/utilities/form/paymentForm/BankIcon.mjs.map +0 -1
  84. package/dist/utilities/form/paymentForm/CashIcon.mjs +0 -55
  85. package/dist/utilities/form/paymentForm/CashIcon.mjs.map +0 -1
  86. package/dist/utilities/form/paymentForm/CheckIcon.mjs +0 -62
  87. package/dist/utilities/form/paymentForm/CheckIcon.mjs.map +0 -1
  88. package/dist/utilities/form/paymentForm/CreditCardIcon.mjs +0 -85
  89. package/dist/utilities/form/paymentForm/CreditCardIcon.mjs.map +0 -1
  90. package/dist/utilities/form/paymentForm/DisableOverlay.mjs +0 -44
  91. package/dist/utilities/form/paymentForm/DisableOverlay.mjs.map +0 -1
  92. package/dist/utilities/form/paymentForm/PaymentBankDetails.mjs +0 -161
  93. package/dist/utilities/form/paymentForm/PaymentBankDetails.mjs.map +0 -1
  94. package/dist/utilities/form/paymentForm/PaymentCard.d.ts +0 -13
  95. package/dist/utilities/form/paymentForm/PaymentCard.d.ts.map +0 -1
  96. package/dist/utilities/form/paymentForm/PaymentCard.js +0 -54
  97. package/dist/utilities/form/paymentForm/PaymentCard.js.map +0 -1
  98. package/dist/utilities/form/paymentForm/PaymentCard.mjs +0 -96
  99. package/dist/utilities/form/paymentForm/PaymentCard.mjs.map +0 -1
  100. package/dist/utilities/form/paymentForm/PaymentCardDetail.mjs +0 -284
  101. package/dist/utilities/form/paymentForm/PaymentCardDetail.mjs.map +0 -1
  102. package/dist/utilities/form/paymentForm/PaymentDropdown.mjs +0 -142
  103. package/dist/utilities/form/paymentForm/PaymentDropdown.mjs.map +0 -1
  104. package/dist/utilities/form/paymentForm/TabPanel.mjs +0 -74
  105. package/dist/utilities/form/paymentForm/TabPanel.mjs.map +0 -1
@@ -1,308 +1,231 @@
1
1
  import { c } from "../../../reactCompilerRuntime.mjs";
2
- import { Field } from "../Field.mjs";
3
- import { Typography } from "../../../UI/dataDisplay/typography/Typography.mjs";
4
- import { FluentTextField } from "../../../UI/inputs/textField/FluentTextField.mjs";
5
- import { FormControlLabel } from "../../../UI/utilityDisplay/FormControlLabel.mjs";
6
- import { FormControl } from "../../../UI/utilityDisplay/FormControl.mjs";
7
- import { Box } from "../../../UI/Box.mjs";
8
- import { FluentCheckbox } from "../../../UI/inputs/checkbox/FluentCheckbox.mjs";
9
- import { PaymentCard } from "./PaymentCard.mjs";
2
+ import { Field as Field$1 } from "../Field.mjs";
3
+ import { UdpCheckbox } from "../../../UI/fluent-web-components/UdpCheckbox.mjs";
4
+ import { UdpContainerQueryGrid } from "../../../UI/fluent-web-components/UdpContainerQueryGrid.mjs";
5
+ import { UdpFlexbox } from "../../../UI/fluent-web-components/UdpFlexbox.mjs";
6
+ import { UdpTextInput } from "../../../UI/fluent-web-components/UdpTextInput.mjs";
10
7
  import { formatCVC, formatCreditCardNumber, formatExpirationDate } from "./CreditCardUtils.mjs";
11
8
  import { CreditCardAdornment } from "./CreditCardAdornment.mjs";
12
- import React from "react";
9
+ import React, { useState } from "react";
10
+ import { Field } from "react-final-form";
13
11
  import { useTranslation } from "react-i18next";
14
12
  //#region src/utilities/form/paymentForm/NewCreditCardForm.tsx
13
+ const GRID_GAPS = { 0: "sm" };
15
14
  /**
16
- * NewCardForm component renders a form for entering new credit card details.
15
+ * Manual credit-card entry form. Used when the configured vendor doesn't have
16
+ * a hosted-payment page, or when the user selected "Other / use a different
17
+ * card" while saved methods were available.
17
18
  *
18
- * @param {Object} props - The properties object.
19
- * @param {boolean} props.isFormDisabled - Flag to disable the form fields.
20
- * @param {Record<string, string>} props.classes - CSS classes for styling the form controls.
21
- * @param {React.Dispatch<React.SetStateAction<string>>} props.setCreditCardNumberInput - Function to set the credit card number input value.
22
- *
23
- * @returns {JSX.Element} The rendered NewCardForm component.
19
+ * NOTE: This form collects raw PAN/CVV/expiry in our DOM. Retained for
20
+ * testing until hosted pages are provisioned for every supported vendor.
24
21
  */
25
22
  const NewCreditCardForm = (t0) => {
26
- const $ = c(74);
27
- const { isFormDisabled, classes, creditCardNumberInput, paymentDetails, setCreditCardNumberInput } = t0;
28
- let t1;
29
- if ($[0] !== paymentDetails) {
30
- t1 = paymentDetails || {};
31
- $[0] = paymentDetails;
32
- $[1] = t1;
33
- } else t1 = $[1];
34
- const { accountNumber } = t1;
23
+ const $ = c(50);
24
+ const { isFormDisabled, paymentDetails, allowSaveMethod: t1 } = t0;
25
+ const allowSaveMethod = t1 === void 0 ? true : t1;
26
+ const { accountNumber } = paymentDetails || {};
35
27
  const { t } = useTranslation();
36
- const t2 = classes.formControl;
28
+ const [creditCardNumberInput, setCreditCardNumberInput] = useState("");
29
+ const saveCardLabel = accountNumber ? t("Save this card to account {{accountNumber}}", { accountNumber }) : t("Save");
30
+ let t2;
31
+ if ($[0] !== t) {
32
+ t2 = t("Cardholder");
33
+ $[0] = t;
34
+ $[1] = t2;
35
+ } else t2 = $[1];
37
36
  let t3;
38
- if ($[2] !== t) {
39
- t3 = t("Cardholder");
40
- $[2] = t;
41
- $[3] = t3;
42
- } else t3 = $[3];
43
- let t4;
44
- if ($[4] !== isFormDisabled || $[5] !== t3) {
45
- t4 = {
46
- label: t3,
47
- variant: "outlined",
48
- size: "small",
49
- disabled: isFormDisabled,
50
- fullWidth: true
37
+ if ($[2] !== isFormDisabled || $[3] !== t2) {
38
+ t3 = {
39
+ label: t2,
40
+ autocomplete: "cc-name",
41
+ disabled: isFormDisabled
51
42
  };
52
- $[4] = isFormDisabled;
53
- $[5] = t3;
54
- $[6] = t4;
55
- } else t4 = $[6];
56
- const t5 = !isFormDisabled;
57
- let t6;
58
- if ($[7] !== t4 || $[8] !== t5) {
59
- t6 = /* @__PURE__ */ React.createElement(Field, {
60
- component: FluentTextField,
61
- ComponentProps: t4,
43
+ $[2] = isFormDisabled;
44
+ $[3] = t2;
45
+ $[4] = t3;
46
+ } else t3 = $[4];
47
+ const t4 = !isFormDisabled;
48
+ let t5;
49
+ if ($[5] !== t3 || $[6] !== t4) {
50
+ t5 = /* @__PURE__ */ React.createElement(Field$1, {
51
+ component: UdpTextInput,
52
+ ComponentProps: t3,
62
53
  name: "nameOnCard",
63
54
  initialValue: "",
64
- required: t5,
55
+ required: t4,
65
56
  onChange: _temp
66
57
  });
67
- $[7] = t4;
68
- $[8] = t5;
58
+ $[5] = t3;
59
+ $[6] = t4;
60
+ $[7] = t5;
61
+ } else t5 = $[7];
62
+ let t6;
63
+ if ($[8] !== isFormDisabled) {
64
+ t6 = (value) => !isFormDisabled && !value ? "Required" : void 0;
65
+ $[8] = isFormDisabled;
69
66
  $[9] = t6;
70
67
  } else t6 = $[9];
71
68
  let t7;
72
- if ($[10] !== classes.formControl || $[11] !== t6) {
73
- t7 = /* @__PURE__ */ React.createElement(FormControl, { className: t2 }, t6);
74
- $[10] = classes.formControl;
75
- $[11] = t6;
76
- $[12] = t7;
77
- } else t7 = $[12];
78
- const t8 = classes.cardNumber;
79
- let t9;
80
- if ($[13] !== t) {
81
- t9 = t("Card Number");
69
+ if ($[10] !== creditCardNumberInput || $[11] !== isFormDisabled || $[12] !== setCreditCardNumberInput || $[13] !== t) {
70
+ t7 = (t8) => {
71
+ const { input, meta } = t8;
72
+ return /* @__PURE__ */ React.createElement(UdpTextInput, {
73
+ label: t("Card Number"),
74
+ autocomplete: "cc-number",
75
+ value: String(input.value ?? ""),
76
+ error: meta.touched && meta.error ? meta.error : void 0,
77
+ onChange: (e) => {
78
+ input.onChange(e);
79
+ setCreditCardNumberInput(String(e.target.value ?? ""));
80
+ },
81
+ disabled: isFormDisabled,
82
+ required: !isFormDisabled
83
+ }, /* @__PURE__ */ React.createElement("div", { slot: "start" }, /* @__PURE__ */ React.createElement(CreditCardAdornment, { creditCardNumberInput })));
84
+ };
85
+ $[10] = creditCardNumberInput;
86
+ $[11] = isFormDisabled;
87
+ $[12] = setCreditCardNumberInput;
82
88
  $[13] = t;
83
- $[14] = t9;
84
- } else t9 = $[14];
89
+ $[14] = t7;
90
+ } else t7 = $[14];
91
+ let t8;
92
+ if ($[15] !== t6 || $[16] !== t7) {
93
+ t8 = /* @__PURE__ */ React.createElement(Field, {
94
+ name: "cardNumber",
95
+ initialValue: "",
96
+ format: formatCreditCardNumber,
97
+ validate: t6
98
+ }, t7);
99
+ $[15] = t6;
100
+ $[16] = t7;
101
+ $[17] = t8;
102
+ } else t8 = $[17];
103
+ let t9;
104
+ if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
105
+ t9 = {
106
+ 0: 1,
107
+ 320: 2
108
+ };
109
+ $[18] = t9;
110
+ } else t9 = $[18];
85
111
  let t10;
86
- if ($[15] !== creditCardNumberInput) {
87
- t10 = { startAdornment: /* @__PURE__ */ React.createElement(CreditCardAdornment, { creditCardNumberInput }) };
88
- $[15] = creditCardNumberInput;
89
- $[16] = t10;
90
- } else t10 = $[16];
112
+ if ($[19] !== t) {
113
+ t10 = t("Expiry Date");
114
+ $[19] = t;
115
+ $[20] = t10;
116
+ } else t10 = $[20];
91
117
  let t11;
92
- if ($[17] !== isFormDisabled || $[18] !== t10 || $[19] !== t9) {
118
+ if ($[21] !== isFormDisabled || $[22] !== t10) {
93
119
  t11 = {
94
- label: t9,
95
- variant: "outlined",
96
- size: "small",
97
- disabled: isFormDisabled,
98
- fullWidth: true,
99
- InputProps: t10
120
+ label: t10,
121
+ hint: "MM/YY",
122
+ autocomplete: "cc-exp",
123
+ disabled: isFormDisabled
100
124
  };
101
- $[17] = isFormDisabled;
102
- $[18] = t10;
103
- $[19] = t9;
104
- $[20] = t11;
105
- } else t11 = $[20];
125
+ $[21] = isFormDisabled;
126
+ $[22] = t10;
127
+ $[23] = t11;
128
+ } else t11 = $[23];
106
129
  const t12 = !isFormDisabled;
107
130
  let t13;
108
- if ($[21] !== setCreditCardNumberInput) {
109
- t13 = (e) => setCreditCardNumberInput(e.target.value);
110
- $[21] = setCreditCardNumberInput;
111
- $[22] = t13;
112
- } else t13 = $[22];
113
- let t14;
114
- if ($[23] !== t11 || $[24] !== t12 || $[25] !== t13) {
115
- t14 = /* @__PURE__ */ React.createElement(Field, {
116
- component: FluentTextField,
131
+ if ($[24] !== t11 || $[25] !== t12) {
132
+ t13 = /* @__PURE__ */ React.createElement(Field$1, {
133
+ component: UdpTextInput,
117
134
  ComponentProps: t11,
118
- name: "cardNumber",
119
- initialValue: "",
120
- required: t12,
121
- pattern: "\\d{16,22}",
122
- format: formatCreditCardNumber,
123
- onChange: t13
124
- });
125
- $[23] = t11;
126
- $[24] = t12;
127
- $[25] = t13;
128
- $[26] = t14;
129
- } else t14 = $[26];
130
- let t15;
131
- if ($[27] !== classes.cardNumber || $[28] !== t14) {
132
- t15 = /* @__PURE__ */ React.createElement(FormControl, { className: t8 }, t14);
133
- $[27] = classes.cardNumber;
134
- $[28] = t14;
135
- $[29] = t15;
136
- } else t15 = $[29];
137
- let t16;
138
- if ($[30] === Symbol.for("react.memo_cache_sentinel")) {
139
- t16 = { gap: "10px" };
140
- $[30] = t16;
141
- } else t16 = $[30];
142
- const t17 = classes.formControl;
143
- let t18;
144
- if ($[31] !== t) {
145
- t18 = t("Expiry Date");
146
- $[31] = t;
147
- $[32] = t18;
148
- } else t18 = $[32];
149
- let t19;
150
- if ($[33] !== isFormDisabled || $[34] !== t18) {
151
- t19 = {
152
- label: t18,
153
- variant: "outlined",
154
- margin: "normal",
155
- size: "small",
156
- width: "100%",
157
- disabled: isFormDisabled,
158
- fullWidth: true
159
- };
160
- $[33] = isFormDisabled;
161
- $[34] = t18;
162
- $[35] = t19;
163
- } else t19 = $[35];
164
- const t20 = t19;
165
- const t21 = !isFormDisabled;
166
- let t22;
167
- if ($[36] !== t20 || $[37] !== t21) {
168
- t22 = /* @__PURE__ */ React.createElement(Field, {
169
- component: FluentTextField,
170
- ComponentProps: t20,
171
135
  name: "expiryDate",
172
- helperText: "MM/YY",
173
136
  initialValue: "",
174
- required: t21,
175
- pattern: "\\d\\d/\\d\\d",
176
137
  format: formatExpirationDate,
138
+ required: t12,
177
139
  onChange: _temp2
178
140
  });
179
- $[36] = t20;
180
- $[37] = t21;
181
- $[38] = t22;
182
- } else t22 = $[38];
183
- let t23;
184
- if ($[39] !== classes.formControl || $[40] !== t22) {
185
- t23 = /* @__PURE__ */ React.createElement(FormControl, { className: t17 }, t22);
186
- $[39] = classes.formControl;
187
- $[40] = t22;
188
- $[41] = t23;
189
- } else t23 = $[41];
190
- const t24 = classes.formControl;
191
- let t25;
192
- if ($[42] !== isFormDisabled) {
193
- t25 = {
194
- label: "CVV",
195
- variant: "outlined",
196
- margin: "normal",
197
- size: "small",
198
- width: "100%",
199
- disabled: isFormDisabled,
200
- fullWidth: true
141
+ $[24] = t11;
142
+ $[25] = t12;
143
+ $[26] = t13;
144
+ } else t13 = $[26];
145
+ let t14;
146
+ if ($[27] !== t) {
147
+ t14 = t("CVV");
148
+ $[27] = t;
149
+ $[28] = t14;
150
+ } else t14 = $[28];
151
+ let t15;
152
+ if ($[29] !== t) {
153
+ t15 = t("3-digit code on back");
154
+ $[29] = t;
155
+ $[30] = t15;
156
+ } else t15 = $[30];
157
+ let t16;
158
+ if ($[31] !== isFormDisabled || $[32] !== t14 || $[33] !== t15) {
159
+ t16 = {
160
+ label: t14,
161
+ hint: t15,
162
+ autocomplete: "cc-csc",
163
+ disabled: isFormDisabled
201
164
  };
202
- $[42] = isFormDisabled;
203
- $[43] = t25;
204
- } else t25 = $[43];
205
- const t26 = t25;
206
- let t27;
207
- if ($[44] !== t) {
208
- t27 = t("3-digit code on back");
209
- $[44] = t;
210
- $[45] = t27;
211
- } else t27 = $[45];
212
- const t28 = !isFormDisabled;
213
- let t29;
214
- if ($[46] !== t26 || $[47] !== t27 || $[48] !== t28) {
215
- t29 = /* @__PURE__ */ React.createElement(Field, {
216
- component: FluentTextField,
217
- ComponentProps: t26,
165
+ $[31] = isFormDisabled;
166
+ $[32] = t14;
167
+ $[33] = t15;
168
+ $[34] = t16;
169
+ } else t16 = $[34];
170
+ const t17 = !isFormDisabled;
171
+ let t18;
172
+ if ($[35] !== t16 || $[36] !== t17) {
173
+ t18 = /* @__PURE__ */ React.createElement(Field$1, {
174
+ component: UdpTextInput,
175
+ ComponentProps: t16,
218
176
  name: "cvv",
219
- helperText: t27,
220
177
  initialValue: "",
221
- required: t28,
222
- pattern: "\\d{3,4}",
223
178
  format: formatCVC,
179
+ required: t17,
224
180
  onChange: _temp3
225
181
  });
226
- $[46] = t26;
227
- $[47] = t27;
228
- $[48] = t28;
229
- $[49] = t29;
230
- } else t29 = $[49];
231
- let t30;
232
- if ($[50] !== classes.formControl || $[51] !== t29) {
233
- t30 = /* @__PURE__ */ React.createElement(FormControl, { className: t24 }, t29);
234
- $[50] = classes.formControl;
235
- $[51] = t29;
236
- $[52] = t30;
237
- } else t30 = $[52];
238
- let t31;
239
- if ($[53] !== t23 || $[54] !== t30) {
240
- t31 = /* @__PURE__ */ React.createElement(Box, {
241
- display: "flex",
242
- flexDirection: "row",
243
- alignItems: "flex-start",
244
- padding: "0px",
245
- width: "100%",
246
- style: t16
247
- }, t23, t30);
248
- $[53] = t23;
249
- $[54] = t30;
250
- $[55] = t31;
251
- } else t31 = $[55];
252
- let t32;
253
- if ($[56] !== isFormDisabled) {
254
- t32 = /* @__PURE__ */ React.createElement(Field, {
255
- component: FluentCheckbox,
256
- name: "isSaveAsNewMethod",
182
+ $[35] = t16;
183
+ $[36] = t17;
184
+ $[37] = t18;
185
+ } else t18 = $[37];
186
+ let t19;
187
+ if ($[38] !== t13 || $[39] !== t18) {
188
+ t19 = /* @__PURE__ */ React.createElement(UdpContainerQueryGrid, {
189
+ columns: t9,
190
+ gaps: GRID_GAPS
191
+ }, t13, t18);
192
+ $[38] = t13;
193
+ $[39] = t18;
194
+ $[40] = t19;
195
+ } else t19 = $[40];
196
+ let t20;
197
+ if ($[41] !== allowSaveMethod || $[42] !== isFormDisabled || $[43] !== saveCardLabel) {
198
+ t20 = allowSaveMethod && /* @__PURE__ */ React.createElement(Field$1, {
199
+ component: UdpCheckbox,
257
200
  type: "checkbox",
201
+ name: "isSaveAsNewMethod",
202
+ ComponentProps: {
203
+ label: saveCardLabel,
204
+ disabled: isFormDisabled
205
+ },
258
206
  defaultValue: false,
259
- disabled: isFormDisabled,
260
207
  required: false,
261
208
  onChange: _temp4
262
209
  });
263
- $[56] = isFormDisabled;
264
- $[57] = t32;
265
- } else t32 = $[57];
266
- let t33;
267
- if ($[58] !== accountNumber || $[59] !== t) {
268
- t33 = accountNumber ? /* @__PURE__ */ React.createElement("span", null, t("Save this card to"), " ", /* @__PURE__ */ React.createElement("strong", null, " ", t("Account"), " ", accountNumber), " ", t("file")) : t("Save");
269
- $[58] = accountNumber;
270
- $[59] = t;
271
- $[60] = t33;
272
- } else t33 = $[60];
273
- let t34;
274
- if ($[61] !== t33) {
275
- t34 = /* @__PURE__ */ React.createElement(Typography, null, t33);
276
- $[61] = t33;
277
- $[62] = t34;
278
- } else t34 = $[62];
279
- let t35;
280
- if ($[63] !== t32 || $[64] !== t34) {
281
- t35 = /* @__PURE__ */ React.createElement(FormControlLabel, {
282
- control: t32,
283
- label: t34
284
- });
285
- $[63] = t32;
286
- $[64] = t34;
287
- $[65] = t35;
288
- } else t35 = $[65];
289
- let t36;
290
- if ($[66] !== classes.formControlCheck || $[67] !== t35) {
291
- t36 = /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControlCheck }, t35);
292
- $[66] = classes.formControlCheck;
293
- $[67] = t35;
294
- $[68] = t36;
295
- } else t36 = $[68];
296
- let t37;
297
- if ($[69] !== t15 || $[70] !== t31 || $[71] !== t36 || $[72] !== t7) {
298
- t37 = /* @__PURE__ */ React.createElement(PaymentCard, null, t7, t15, t31, t36);
299
- $[69] = t15;
300
- $[70] = t31;
301
- $[71] = t36;
302
- $[72] = t7;
303
- $[73] = t37;
304
- } else t37 = $[73];
305
- return t37;
210
+ $[41] = allowSaveMethod;
211
+ $[42] = isFormDisabled;
212
+ $[43] = saveCardLabel;
213
+ $[44] = t20;
214
+ } else t20 = $[44];
215
+ let t21;
216
+ if ($[45] !== t19 || $[46] !== t20 || $[47] !== t5 || $[48] !== t8) {
217
+ t21 = /* @__PURE__ */ React.createElement(UdpFlexbox, {
218
+ direction: "column",
219
+ gap: "sm",
220
+ wrap: "nowrap"
221
+ }, t5, t8, t19, t20);
222
+ $[45] = t19;
223
+ $[46] = t20;
224
+ $[47] = t5;
225
+ $[48] = t8;
226
+ $[49] = t21;
227
+ } else t21 = $[49];
228
+ return t21;
306
229
  };
307
230
  function _temp() {}
308
231
  function _temp2() {}
@@ -1 +1 @@
1
- {"version":3,"file":"NewCreditCardForm.mjs","names":["React","useTranslation","Box","Field","FluentCheckbox","FluentTextField","FormControl","FormControlLabel","Typography","PaymentCard","formatCreditCardNumber","formatCVC","formatExpirationDate","CreditCardAdornment","PaymentDetails","NewCreditCardForm","t0","$","_c","isFormDisabled","classes","creditCardNumberInput","paymentDetails","setCreditCardNumberInput","t1","accountNumber","t","t2","formControl","t3","t4","label","variant","size","disabled","fullWidth","t5","t6","ComponentType","_temp","t7","t8","cardNumber","t9","t10","startAdornment","t11","InputProps","t12","t13","e","target","value","t14","t15","t16","Symbol","for","gap","t17","t18","t19","margin","width","t20","t21","t22","_temp2","t23","t24","t25","t26","t27","t28","t29","_temp3","t30","t31","t32","_temp4","t33","t34","t35","t36","formControlCheck","t37"],"sources":["../../../../src/utilities/form/paymentForm/NewCreditCardForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Box } from '../../../UI/Box'; \nimport { Field } from '../Field'; \nimport { FluentCheckbox } from '../../../UI/inputs/checkbox/FluentCheckbox';\nimport { FluentTextField } from '../../../UI/inputs/textField/FluentTextField';\nimport { FormControl } from '../../../UI/utilityDisplay/FormControl';\nimport { FormControlLabel } from '../../../UI/utilityDisplay/FormControlLabel';\nimport { Typography } from '../../../UI/dataDisplay/typography/Typography';\nimport { PaymentCard } from './PaymentCard';\nimport {\n formatCreditCardNumber,\n formatCVC,\n formatExpirationDate\n} from './CreditCardUtils';\nimport { CreditCardAdornment } from './CreditCardAdornment';\nimport { PaymentDetails } from './AccountPayment.model';\n\n/**\n * NewCardForm component renders a form for entering new credit card details.\n *\n * @param {Object} props - The properties object.\n * @param {boolean} props.isFormDisabled - Flag to disable the form fields.\n * @param {Record<string, string>} props.classes - CSS classes for styling the form controls.\n * @param {React.Dispatch<React.SetStateAction<string>>} props.setCreditCardNumberInput - Function to set the credit card number input value.\n *\n * @returns {JSX.Element} The rendered NewCardForm component.\n */\nexport const NewCreditCardForm = ({\n isFormDisabled,\n classes,\n creditCardNumberInput,\n paymentDetails,\n setCreditCardNumberInput,\n}: {\n isFormDisabled: boolean;\n classes: Record<string, string>;\n creditCardNumberInput: string;\n paymentDetails: PaymentDetails;\n setCreditCardNumberInput: React.Dispatch<React.SetStateAction<string>>;\n}) => {\n\n const { accountNumber } = paymentDetails || {};\n const { t } = useTranslation();\n\n return (\n <PaymentCard>\n <FormControl className={classes.formControl}>\n <Field\n component={FluentTextField as React.ComponentType<any>}\n ComponentProps={{\n label: t(\"Cardholder\"),\n variant: \"outlined\",\n size: \"small\",\n disabled: isFormDisabled,\n fullWidth: true,\n }}\n name=\"nameOnCard\"\n initialValue=\"\"\n required={!isFormDisabled}\n onChange={() => { }}\n />\n </FormControl>\n\n <FormControl className={classes.cardNumber}>\n <Field\n component={FluentTextField as React.ComponentType<any>}\n ComponentProps={{\n label: t(\"Card Number\"),\n variant: \"outlined\",\n size: \"small\",\n disabled: isFormDisabled,\n fullWidth: true,\n InputProps: {\n startAdornment: <CreditCardAdornment creditCardNumberInput={creditCardNumberInput} />,\n },\n }}\n name=\"cardNumber\"\n initialValue=\"\"\n required={!isFormDisabled}\n pattern=\"\\d{16,22}\"\n format={formatCreditCardNumber}\n onChange={(e: any) => setCreditCardNumberInput(e.target.value)}\n />\n </FormControl>\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"flex-start\"\n padding=\"0px\"\n width=\"100%\"\n style={{ gap: '10px' }}\n >\n <FormControl className={classes.formControl}>\n <Field\n // @ts-ignore\n component={FluentTextField}\n ComponentProps={\n {\n label: t(\"Expiry Date\"),\n variant: \"outlined\",\n margin: \"normal\",\n size: \"small\",\n width: \"100%\",\n disabled: isFormDisabled,\n fullWidth: true\n } as any\n }\n name=\"expiryDate\"\n helperText=\"MM/YY\"\n initialValue={\"\"}\n required={!isFormDisabled}\n pattern=\"\\d\\d/\\d\\d\"\n format={formatExpirationDate}\n onChange={() => { }}\n />\n </FormControl>\n\n <FormControl className={classes.formControl}>\n <Field\n // @ts-ignore\n component={FluentTextField}\n ComponentProps={\n {\n label: \"CVV\",\n variant: \"outlined\",\n margin: \"normal\",\n size: \"small\",\n width: \"100%\",\n disabled: isFormDisabled,\n fullWidth: true\n } as any\n }\n name=\"cvv\"\n helperText={t(\"3-digit code on back\")}\n initialValue={\"\"}\n required={!isFormDisabled}\n pattern=\"\\d{3,4}\"\n format={formatCVC}\n onChange={() => { }}\n />\n </FormControl>\n </Box>\n\n {/* Save as new method Checkbox */}\n <FormControl className={classes.formControlCheck}>\n <FormControlLabel\n control={\n <Field\n component={FluentCheckbox}\n name=\"isSaveAsNewMethod\"\n type=\"checkbox\"\n defaultValue={false}\n // @ts-ignore\n disabled={isFormDisabled}\n required={false}\n onChange={() => { }}\n />\n }\n label={\n <Typography>\n {\n accountNumber ?\n <span>{t('Save this card to')} <strong> {t('Account')} {accountNumber}</strong> {t('file')}</span>\n :\n t('Save')\n }\n </Typography>\n } />\n </FormControl>\n </PaymentCard>\n );\n};"],"mappings":"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"}
1
+ {"version":3,"file":"NewCreditCardForm.mjs","names":["React","useState","useTranslation","Field","FinalField","UdpFlexbox","UdpContainerQueryGrid","UdpTextInput","UdpCheckbox","formatCreditCardNumber","formatCVC","formatExpirationDate","CreditCardAdornment","PaymentDetails","GRID_GAPS","breakpoint","NewCreditCardFormProps","isFormDisabled","paymentDetails","allowSaveMethod","NewCreditCardForm","t0","$","_c","t1","undefined","accountNumber","t","creditCardNumberInput","setCreditCardNumberInput","saveCardLabel","t2","t3","label","autocomplete","disabled","t4","t5","ComponentType","_temp","t6","value","t7","t8","input","meta","String","touched","error","e","onChange","target","t9","Symbol","for","0","320","t10","t11","hint","t12","t13","_temp2","t14","t15","t16","t17","t18","_temp3","t19","t20","_temp4","t21"],"sources":["../../../../src/utilities/form/paymentForm/NewCreditCardForm.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Field as FinalField } from 'react-final-form';\nimport { Field } from '../Field';\nimport { UdpFlexbox } from '../../../UI/fluent-web-components/UdpFlexbox';\nimport { UdpContainerQueryGrid } from '../../../UI/fluent-web-components/UdpContainerQueryGrid';\nimport { UdpTextInput } from '../../../UI/fluent-web-components/UdpTextInput';\nimport { UdpCheckbox } from '../../../UI/fluent-web-components/UdpCheckbox';\nimport {\n formatCreditCardNumber,\n formatCVC,\n formatExpirationDate,\n} from './CreditCardUtils';\nimport { CreditCardAdornment } from './CreditCardAdornment';\nimport { PaymentDetails } from './AccountPayment.model';\n\n// The UdpContainerQueryGrid wrapper types gaps as numeric-only, but the\n// underlying component also accepts spacing names (\"sm\"). Cast at the use\n// site rather than changing the shared wrapper (out of scope for V2).\nconst GRID_GAPS = { 0: 'sm' } as unknown as { [breakpoint: number]: number };\n\nexport interface NewCreditCardFormProps {\n isFormDisabled: boolean;\n paymentDetails: PaymentDetails;\n /** When false, hides the \"save this card\" checkbox (guest flows). */\n allowSaveMethod?: boolean;\n}\n\n/**\n * Manual credit-card entry form. Used when the configured vendor doesn't have\n * a hosted-payment page, or when the user selected \"Other / use a different\n * card\" while saved methods were available.\n *\n * NOTE: This form collects raw PAN/CVV/expiry in our DOM. Retained for\n * testing until hosted pages are provisioned for every supported vendor.\n */\nexport const NewCreditCardForm = ({\n isFormDisabled,\n paymentDetails,\n allowSaveMethod = true,\n}: NewCreditCardFormProps) => {\n const { accountNumber } = paymentDetails || {};\n const { t } = useTranslation();\n const [creditCardNumberInput, setCreditCardNumberInput] = useState('');\n\n const saveCardLabel = accountNumber\n ? t('Save this card to account {{accountNumber}}', { accountNumber })\n : t('Save');\n\n return (\n <UdpFlexbox direction=\"column\" gap=\"sm\" wrap=\"nowrap\">\n <Field\n component={UdpTextInput as React.ComponentType<any>}\n ComponentProps={{\n label: t('Cardholder'),\n autocomplete: 'cc-name',\n disabled: isFormDisabled,\n }}\n name=\"nameOnCard\"\n initialValue=\"\"\n required={!isFormDisabled}\n onChange={() => {}}\n />\n\n <FinalField\n name=\"cardNumber\"\n initialValue=\"\"\n format={formatCreditCardNumber}\n // Raw FinalField (the brand adornment needs the render prop), so the\n // required validation the Field wrapper would add is replicated here.\n validate={(value) => (!isFormDisabled && !value ? 'Required' : undefined)}\n >\n {({ input, meta }) => (\n <UdpTextInput\n label={t('Card Number')}\n autocomplete=\"cc-number\"\n value={String(input.value ?? '')}\n error={meta.touched && meta.error ? meta.error : undefined}\n onChange={(e) => {\n input.onChange(e);\n setCreditCardNumberInput(String(e.target.value ?? ''));\n }}\n disabled={isFormDisabled}\n required={!isFormDisabled}\n >\n <div slot=\"start\">\n <CreditCardAdornment creditCardNumberInput={creditCardNumberInput} />\n </div>\n </UdpTextInput>\n )}\n </FinalField>\n\n <UdpContainerQueryGrid columns={{ 0: 1, 320: 2 }} gaps={GRID_GAPS}>\n <Field\n component={UdpTextInput as React.ComponentType<any>}\n ComponentProps={{\n label: t('Expiry Date'),\n hint: 'MM/YY',\n autocomplete: 'cc-exp',\n disabled: isFormDisabled,\n }}\n name=\"expiryDate\"\n initialValue=\"\"\n format={formatExpirationDate}\n required={!isFormDisabled}\n onChange={() => {}}\n />\n\n <Field\n component={UdpTextInput as React.ComponentType<any>}\n ComponentProps={{\n label: t('CVV'),\n hint: t('3-digit code on back'),\n autocomplete: 'cc-csc',\n disabled: isFormDisabled,\n }}\n name=\"cvv\"\n initialValue=\"\"\n format={formatCVC}\n required={!isFormDisabled}\n onChange={() => {}}\n />\n </UdpContainerQueryGrid>\n\n {allowSaveMethod && (\n <Field\n component={UdpCheckbox as React.ComponentType<any>}\n type=\"checkbox\"\n name=\"isSaveAsNewMethod\"\n ComponentProps={{\n label: saveCardLabel,\n disabled: isFormDisabled,\n }}\n defaultValue={false}\n required={false}\n onChange={() => {}}\n />\n )}\n </UdpFlexbox>\n );\n};\n"],"mappings":"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"}
@@ -1,17 +1,12 @@
1
1
  import React from 'react';
2
- /**
3
- * NewCardForm component renders a form for entering new credit card details.
4
- *
5
- * @param {Object} props - The properties object.
6
- * @param {boolean} props.isFormDisabled - Flag to disable the form fields.
7
- * @param {Record<string, string>} props.classes - CSS classes for styling the form controls.
8
- * @param {React.Dispatch<React.SetStateAction<string>>} props.setCreditCardNumberInput - Function to set the credit card number input value.
9
- *
10
- * @returns {JSX.Element} The rendered NewCardForm component.
11
- */
12
- export declare const NewECheckForm: ({ isFormDisabled, classes, bankAccountTypes, }: {
2
+ export interface NewECheckFormProps {
13
3
  isFormDisabled: boolean;
14
- classes: Record<string, string>;
15
- bankAccountTypes?: any[];
16
- }) => React.JSX.Element;
4
+ bankAccountTypes?: {
5
+ name: string;
6
+ value: string;
7
+ }[];
8
+ /** When false, hides the "save" checkbox (guest flows). */
9
+ allowSaveMethod?: boolean;
10
+ }
11
+ export declare const NewECheckForm: ({ isFormDisabled, bankAccountTypes, allowSaveMethod, }: NewECheckFormProps) => React.JSX.Element;
17
12
  //# sourceMappingURL=NewECheckForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NewECheckForm.d.ts","sourceRoot":"","sources":["../../../../src/utilities/form/paymentForm/NewECheckForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa;;;;uBA2HzB,CAAC"}
1
+ {"version":3,"file":"NewECheckForm.d.ts","sourceRoot":"","sources":["../../../../src/utilities/form/paymentForm/NewECheckForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkB1B,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,mGAuFzB,CAAC"}