tonder-web-sdk 1.16.1 → 1.16.3

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 (46) hide show
  1. package/.husky/pre-commit +4 -0
  2. package/.prettierignore +8 -0
  3. package/.prettierrc +10 -0
  4. package/README.md +113 -16
  5. package/eslint.config.mjs +15 -0
  6. package/package.json +20 -4
  7. package/src/classes/3dsHandler.js +58 -62
  8. package/src/classes/BaseInlineCheckout.js +12 -33
  9. package/src/classes/LiteInlineCheckout.js +5 -8
  10. package/src/classes/checkout.js +75 -71
  11. package/src/classes/globalLoader.js +9 -7
  12. package/src/classes/inlineCheckout.js +519 -321
  13. package/src/data/apmApi.js +8 -14
  14. package/src/data/businessApi.js +5 -8
  15. package/src/data/cardApi.js +5 -14
  16. package/src/data/checkoutApi.js +54 -54
  17. package/src/data/customerApi.js +1 -6
  18. package/src/data/index.js +15 -15
  19. package/src/data/openPayApi.js +7 -7
  20. package/src/data/skyflowApi.js +14 -16
  21. package/src/helpers/skyflow.js +132 -123
  22. package/src/helpers/styles.js +56 -27
  23. package/src/helpers/template-skeleton.js +1 -1
  24. package/src/helpers/template.js +971 -610
  25. package/src/helpers/utils.js +152 -58
  26. package/src/helpers/validations.js +34 -35
  27. package/src/index-dev.js +33 -11
  28. package/src/index.html +20 -12
  29. package/src/index.js +19 -13
  30. package/src/shared/catalog/commonLogosCatalog.js +7 -0
  31. package/src/shared/catalog/paymentMethodsCatalog.js +242 -243
  32. package/src/shared/constants/colors.js +15 -0
  33. package/src/shared/constants/displayMode.js +4 -0
  34. package/src/shared/constants/fieldPathNames.js +4 -0
  35. package/src/shared/constants/htmlTonderIds.js +18 -0
  36. package/src/shared/constants/messages.js +10 -9
  37. package/types/card.d.ts +17 -17
  38. package/types/checkout.d.ts +85 -87
  39. package/types/common.d.ts +4 -2
  40. package/types/customer.d.ts +10 -10
  41. package/types/index.d.ts +9 -11
  42. package/types/inlineCheckout.d.ts +81 -61
  43. package/types/liteInlineCheckout.d.ts +78 -83
  44. package/types/paymentMethod.d.ts +17 -17
  45. package/types/transaction.d.ts +94 -94
  46. package/v1/bundle.min.js +3 -3
@@ -1,472 +1,915 @@
1
1
  import "accordion-js/dist/accordion.min.css";
2
- import { getCardType } from "./utils";
3
- import {getPaymentMethodDetails} from "../shared/catalog/paymentMethodsCatalog";
2
+ import { getCardFormLabels, getCardType } from "./utils";
3
+ import { getPaymentMethodDetails } from "../shared/catalog/paymentMethodsCatalog";
4
+ import { getDefaultStyles } from "./styles";
5
+ import { COMMON_LOGOS } from "../shared/catalog/commonLogosCatalog";
6
+ import get from "lodash.get";
7
+ import { FIELD_PATH_NAMES } from "../shared/constants/fieldPathNames";
8
+ import { HTML_IDS } from "../shared/constants/htmlTonderIds";
9
+ import { DISPLAY_MODE } from "../shared/constants/displayMode";
10
+ import { COLORS } from "../shared/constants/colors";
4
11
 
5
- export const cardTemplate = (data) => `
6
- <div class="container-tonder">
7
- ${ data.customization?.saveCards?.showSaved ?
8
- `<div id="cardsListContainer" class="cards-list-container"></div>`
9
- :``
10
- }
11
- <div class="pay-new-card">
12
- <input checked id="new" class="card_selected" name="card_selected" type="radio"/>
13
- <label class="card-item-label-new" for="new">
14
- <img class="card-image" src="${getCardType("XXXX")}" />
15
- <div class="card-number">Pagar con tarjeta</div>
16
- </label>
17
- </div>
18
- <div id="global-loader" class="global-loader"></div>
19
- <div class="container-form">
20
- <div id="collectCardholderName" class="empty-div"></div>
21
- <div id="collectCardNumber" class="empty-div"></div>
22
- <div class="collect-row">
23
- <div id="collectExpirationMonth" class="empty-div"></div>
24
- <div id="collectExpirationYear" class="expiration-year"></div>
25
- <div id="collectCvv" class="empty-div"></div>
26
- </div>
27
- ${!!data.customization?.saveCards?.showSaveCardOption
28
- ? `
29
- <div class="checkbox" id="save-card-container">
30
- <input id="save-checkout-card" type="checkbox">
31
- <label for="save-checkout-card">
32
- Guardar tarjeta para futuros pagos
33
- </label>
12
+ export const containerCheckoutTemplate = data => {
13
+ const displayMode = data.customization?.displayMode || DISPLAY_MODE.light;
14
+ const renderPaymentButton = get(data, FIELD_PATH_NAMES.paymentButton, false);
15
+ document.documentElement.setAttribute("data-theme", displayMode);
16
+ return `
17
+ <div class="container-tonder" id="${HTML_IDS.tonderContainer}">
18
+ <div id="${HTML_IDS.globalLoader}" class="global-loader"></div>
34
19
  </div>
35
- `
36
- :``}
37
-
38
- <div id="msgError"></div>
39
- <div id="msgNotification"></div>
40
- </div>
41
- <div id="apmsListContainer" class="apms-list-container"></div>
42
- <div class="container-pay-button">
43
- <button id="tonderPayButton" class="pay-button hidden">Pagar</button>
44
- </div>
45
- </div>
46
-
47
- <style>
48
-
49
- .container-tonder {
50
- background-color: #F9F9F9;
51
- margin: 0 auto !important;
52
- padding: 0px;
53
- overflow: hidden;
54
- transition: max-height 0.5s ease-out;
55
- max-width: 600px;
56
- border: solid 1px #e3e3e3;
57
- position: relative;
58
- font-family: ${getFontFamily(data)};
59
- }
60
- .container-pay-button{
61
- padding: ${!!data['renderPaymentButton'] ? '30px 25px':''};
62
- }
63
-
64
- .container-form {
65
- padding: 25px 25px 0px 25px;
66
- }
67
-
68
- .collect-row {
69
- display: flex !important;
70
- justify-content: space-between !important;
71
- width: 100% !important;
72
- }
73
-
74
- .collect-row > :first-child {
75
- min-width: 120px; !important
76
- }
77
-
78
- .expiration-year {
79
- position: relative !important;
80
- padding-top: 25px !important;
81
- }
82
-
83
- .empty-div {
84
- position: relative;
85
- height: 80px !important;
86
- margin-top: 2px;
87
- margin-bottom: 4px;
88
- margin-left: 10px !important;
89
- margin-right: 10px !important;
90
- }
91
-
92
- .error-container {
93
- color: red !important;
94
- background-color: #FFDBDB !important;
95
- margin-bottom: 13px !important;
96
- font-size: 80% !important;
97
- padding: 8px 10px !important;
98
- border-radius: 10px !important;
99
- text-align: left !important;
100
- }
101
-
102
- .message-container{
103
- color: #3bc635 !important;
104
- background-color: #DAFCE4 !important;
105
- margin-bottom: 13px !important;
106
- font-size: 80% !important;
107
- padding: 8px 10px !important;
108
- border-radius: 10px !important;
109
- text-align: left !important;
110
- }
111
-
112
- .pay-button {
113
- font-size: 16px;
114
- font-weight: bold;
115
- min-height: 2.3rem;
116
- border-radius: 0.5rem;
117
- cursor: pointer;
118
- width: 100%;
119
- padding: 1rem;
120
- text-align: center;
121
- border: none;
122
- background-color: #000;
123
- color: #fff;
124
- margin-bottom: 0px;
125
- }
126
- .hidden{
127
- display: none;
128
- }
129
-
130
- .lds-dual-ring {
131
- display: inline-block;
132
- width: 14px;
133
- height: 14px;
134
- }
20
+ <style>
21
+ @import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
22
+ :root {
23
+ --tndr-gray-dark: ${COLORS.grayDark};
24
+ --tndr-gray-medium: ${COLORS.grayMedium};
25
+ --tndr-white: ${COLORS.white};
26
+ --tndr-black: ${COLORS.black};
27
+ --tndr-purple: ${COLORS.purple};
28
+ --tndr-border-light: ${COLORS.borderLight};
29
+ --tndr-border-dark: ${COLORS.borderDark};
30
+ --tndr-red-extra-light: ${COLORS.redExtraLight};
31
+ --tndr-red: ${COLORS.red};
32
+ --tndr-green-extra-light: ${COLORS.greenExtraLight};
33
+ --tndr-green: ${COLORS.green};
34
+ --tndr-border-medium: ${COLORS.borderMedium};
35
+ --tndr-gray-extra-light: ${COLORS.grayExtraLight};
36
+ }
37
+ .container-tonder {
38
+ background-color: var(--tndr-white);
39
+ margin: 0 auto !important;
40
+ padding: 0;
41
+ overflow: hidden;
42
+ transition: max-height 0.5s ease-out;
43
+ max-width: 600px;
44
+ border: solid 1px var(--tndr-border-light);
45
+ position: relative;
46
+ font-family: ${getFontFamily(data)};
47
+ border-radius: 11px;
48
+ }
49
+ .tndr-hide-text {
50
+ color: transparent;
51
+ font-size: 1px;
52
+ }
53
+ .card_selected {
54
+ background-color: #F5F5F5;
55
+ position: relative;
56
+ width: 25px;
57
+ height: 25px;
58
+ min-width: 25px;
59
+ appearance: none;
60
+ cursor: pointer;
61
+ border-radius: 100%;
62
+ border: 1px var(--tndr-black) solid;
63
+ color: var(--tndr-white);
64
+ transition-property: all;
65
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
66
+ transition-duration: 150ms;
67
+ margin: 0 3px 0 0;
68
+ }
69
+ .card_selected:focus {
70
+ outline: none;
71
+ }
72
+ .card_selected:before {
73
+ width: 10px;
74
+ height: 10px;
75
+ content: "";
76
+ position: absolute;
77
+ top: 50%;
78
+ left: 50%;
79
+ display: block;
80
+ transform: translate(-50%, -50%);
81
+ border-radius: 100%;
82
+ background-color: var(--tndr-white);
83
+ opacity: 0;
84
+ transition-property: opacity;
85
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
86
+ transition-duration: 150ms;
87
+ }
88
+
89
+ .card_selected:checked {
90
+ border: 1px var(--tndr-black) solid;
91
+ position: relative;
92
+ width: 25px;
93
+ height: 25px;
94
+ min-width: 25px;
95
+ appearance: none;
96
+ cursor: pointer;
97
+ border-radius: 100%;
98
+ color: var(--tndr-white);
99
+ background-color: var(--tndr-black);
100
+ transition-property: all;
101
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
102
+ transition-duration: 150ms;
103
+ }
104
+
105
+ .card_selected:checked:before {
106
+ content: "";
107
+ border: 0;
108
+ width: 9px;
109
+ height: 9px;
110
+ position: absolute;
111
+ top: 50%;
112
+ left: 50%;
113
+ display: block;
114
+ transform: translate(-50%, -50%);
115
+ border-radius: 100%;
116
+ background-color: var(--tndr-white);
117
+ opacity: 50;
118
+ transition-property: opacity;
119
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
120
+ transition-duration: 150ms;
121
+ }
122
+
123
+ .card_selected:hover:before {
124
+ width: 9px;
125
+ height: 9px;
126
+ content: "";
127
+ position: absolute;
128
+ top: 50%;
129
+ left: 50%;
130
+ display: block;
131
+ transform: translate(-50%, -50%);
132
+ border-radius: 100%;
133
+ background-color: var(--tndr-white);
134
+ transition-property: opacity;
135
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
136
+ transition-duration: 150ms;
137
+ opacity: 10;
138
+ }
139
+ .card-item-label,
140
+ .apm-item-label {
141
+ display: flex;
142
+ align-items: center;
143
+ color: var(--tndr-gray-medium);
144
+ gap: 12px;
145
+ margin-top: 10px;
146
+ margin-bottom: 10px;
147
+ width: 100%;
148
+ }
149
+ .ac {
150
+ background-color: transparent !important;
151
+ margin-bottom: 0 !important;
152
+ }
153
+ .ac-option-panel-container{
154
+ padding: ${renderPaymentButton ? "20px 30px 35px 30px" : "0px 30px 35px 30px"};
155
+ }
156
+ .pm-pay-button,
157
+ .card-pay-button{
158
+ display: block;
159
+ opacity: 0;
160
+ transform: translateY(10px);
161
+ transition: opacity 0.3s ease, transform 0.3s ease;
162
+ }
163
+ .error-container {
164
+ display: none;
165
+ color: var(--tndr-red) !important;
166
+ background-color: var(--tndr-red-extra-light) !important;
167
+ margin-bottom: 13px !important;
168
+ font-size: 14px !important;
169
+ padding: 10px 10px !important;
170
+ border-radius: 5px !important;
171
+ text-align: left !important;
172
+ align-items: center;
173
+ gap: 8px;
174
+ margin-top: 15px;
175
+ }
176
+
177
+ .message-container {
178
+ display: none;
179
+ color: var(--tndr-green) !important;
180
+ background-color: var(--tndr-green-extra-light) !important;
181
+ margin-bottom: 13px !important;
182
+ font-size: 14px !important;
183
+ padding: 10px 10px !important;
184
+ border-radius: 5px !important;
185
+ text-align: left !important;
186
+ align-items: center;
187
+ gap: 8px;
188
+ margin-top: ${renderPaymentButton ? "0px" : "15px"};
189
+ }
190
+ .error-container p,
191
+ .message-container p {
192
+ margin: 0;
193
+ }
194
+ .tndr-button {
195
+ font-size: 16px;
196
+ font-weight: 400;
197
+ min-height: 2.3rem;
198
+ border-radius: 5px;
199
+ cursor: pointer;
200
+ width: 100%;
201
+ padding: .5em 1em;
202
+ text-align: center;
203
+ border: none;
204
+ color: var(--tndr-white);
205
+ margin-bottom: 0;
206
+ font-family: "Inter", sans-serif;
207
+ }
208
+ .pay-button {
209
+ background-color: var(--tndr-black);
210
+ }
211
+ .cancel-button {
212
+ background-color: #e9e9e9;
213
+ color: var(--tndr-black);
214
+ }
215
+ .pay-button-text,
216
+ .cancel-button-text{
217
+ margin: .4em 0;
218
+ }
219
+ [data-theme="dark"] .container-tonder {
220
+ background-color: var(--tndr-gray-dark);
221
+ }
222
+ [data-theme="dark"] .card-item-label {
223
+ color: var(--tndr-white);
224
+ }
225
+ [data-theme="dark"] .apm-item-label {
226
+ color: var(--tndr-white);
227
+ }
228
+ [data-theme="dark"] .card-item-label-new {
229
+ color: var(--tndr-white);
230
+ }
231
+ [data-theme="dark"] .checkbox label {
232
+ color: var(--tndr-white);
233
+ }
234
+ [data-theme="dark"] .card_selected:checked {
235
+ background-color: var(--tndr-purple);
236
+ border: none;
237
+ }
238
+ [data-theme="dark"] .card_selected:checked:before {
239
+ background-color: var(--tndr-gray-dark);
240
+ }
241
+ [data-theme="dark"] .card_selected:hover:before {
242
+ background-color: var(--tndr-gray-dark);
243
+ }
244
+ [data-theme="dark"] .card_selected:before {
245
+ background-color: var(--tndr-gray-dark);
246
+ }
247
+ [data-theme="dark"] .card_selected {
248
+ background-color: #5C5C5C;
249
+ border: 1px var(--tndr-border-dark) solid;
250
+ }
251
+ [data-theme="dark"] .card-delete-button svg path {
252
+ fill: var(--tndr-white);
253
+ }
254
+ [data-theme="dark"] .pay-button {
255
+ background-color: var(--tndr-purple);
256
+ }
257
+ [data-theme="dark"] .cancel-button {
258
+ background-color: var(--tndr-gray-dark);
259
+ color: var(--tndr-white);
260
+ }
261
+ [data-theme="dark"] .tndr-footer-logos {
262
+ border: 1px solid var(--tndr-border-medium);
263
+ }
264
+ [data-theme="dark"] .tndr-footer .tndr-footer-secure p {
265
+ color: var(--tndr-gray-extra-light);
266
+ }
267
+ </style>
268
+ `;
269
+ };
135
270
 
136
- .lds-dual-ring:after {
137
- content: " ";
138
- display: block;
139
- width: 14px;
140
- height: 14px;
141
- border-radius: 50%;
142
- border: 6px solid #fff;
143
- border-color: #fff transparent #fff transparent;
144
- animation: lds-dual-ring 1.2s linear infinite;
145
- }
146
- @keyframes lds-dual-ring {
147
- 0% {
148
- transform: rotate(0deg);
149
- }
150
- 100% {
151
- transform: rotate(360deg);
152
- }
153
- }
271
+ export const cardTemplate = data => {
272
+ const displayMode = data.customization?.displayMode || DISPLAY_MODE.light;
273
+ const isDarkMode = displayMode === DISPLAY_MODE.dark;
274
+ const defaultStylesData = getDefaultStyles(isDarkMode);
275
+ const showPaymentButton = get(data, FIELD_PATH_NAMES.paymentButton, false);
276
+ const showCancelButton = get(data, FIELD_PATH_NAMES.cancelButton, false);
154
277
 
155
- .global-loader {
156
- position: absolute;
157
- top: 0;
158
- left: 0;
159
- width: 100%;
160
- height: 100%;
161
- z-index: 1;
162
- }
278
+ const existCardsOrPaymentMethods =
279
+ data.cardsData.length > 0 || data.paymentMethodsData.length > 0;
280
+ const paddingTopContainerForm = existCardsOrPaymentMethods ? "5px" : "30px";
281
+ const { cardLabel, cvvLabel, expiryDateLabel, nameLabel } = getCardFormLabels(
282
+ data.customStyles,
283
+ ).labels;
163
284
 
164
- @media screen and (max-width: 600px) {
165
- .payment_method_zplit {
166
- font-size: 16px !important;
285
+ return `
286
+ ${data?.customization?.saveCards?.showSaved ? `<div id="${data.collectorIds.cardsListContainer}" class="cards-list-container"></div>` : ``}
287
+ ${
288
+ existCardsOrPaymentMethods && data?.customization?.cardForm?.show
289
+ ? `
290
+ <div class="pay-new-card">
291
+ <input checked id="new" class="card_selected" name="card_selected" type="radio"/>
292
+ <label class="card-item-label-new" for="new">
293
+ <img class="card-image" src="${getCardType("XXXX", displayMode === DISPLAY_MODE.dark)}" alt="" />
294
+ <div class="card-number">Tarjeta</div>
295
+ </label>
296
+ </div>
297
+ `
298
+ : ``
299
+ }
300
+ ${
301
+ data?.customization?.cardForm?.show
302
+ ? `
303
+ <div class="container-form">
304
+ <div id="${data.collectorIds.holderName}" class="empty-div tndr-card-holder"></div>
305
+ <div id="${data.collectorIds.cardNumber}" class="empty-div tndr-card-number"></div>
306
+ <div class="collect-row">
307
+ <div class="containerExpirationDate">
308
+ <label class="tndr-form-label">${expiryDateLabel}</label>
309
+ <div class="containerExpirationDateInput">
310
+ <div id="${data.collectorIds.expirationMonth}" class="empty-div empty-div-date"></div>
311
+ <div id="${data.collectorIds.expirationYear}" class="empty-div empty-div-date"></div>
312
+ </div>
313
+ </div>
314
+ <div class="cvvContainerCard" id="cvvContainerCard">
315
+ <label class="tndr-form-label">${cvvLabel}</label>
316
+ <div id="${data.collectorIds.cvv}" class="empty-div card-collect-cvv empty-div-date">
317
+ <div class="tndr-simulate-input-cvv-container">
318
+ <div class="tndr-simulate-input-cvv">
319
+ ${
320
+ isDarkMode
321
+ ? `
322
+ <svg class="cvvIconCard" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="24" viewBox="0 0 78 52">
323
+ <image id="BBVA_136_2x" data-name="BBVA – 136@2x" width="78" height="52" xlink:href="data:image/png;base64,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"/>
324
+ </svg>
325
+ `
326
+ : `
327
+ <svg class="cvvIconCard" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="24" viewBox="0 0 270 178">
328
+ <defs>
329
+ <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
330
+ <stop offset="0" stop-color="#386bbf"/>
331
+ <stop offset="1" stop-color="#032ea3"/>
332
+ </linearGradient>
333
+ <linearGradient id="linear-gradient-2" x1="0.5" y1="0.115" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
334
+ <stop offset="0" stop-color="#1c1c1c"/>
335
+ <stop offset="1" stop-color="#151515"/>
336
+ </linearGradient>
337
+ </defs>
338
+ <g id="Grupo_3" data-name="Grupo 3" transform="translate(-69 -312)">
339
+ <g id="Grupo_2" data-name="Grupo 2">
340
+ <rect id="Rectángulo_58" data-name="Rectángulo 58" width="253" height="165" rx="25" transform="translate(69 312)" fill="url(#linear-gradient)"/>
341
+ <rect id="Rectángulo_61" data-name="Rectángulo 61" width="68" height="8" rx="4" transform="translate(86 437)" fill="#fff" opacity="0.877"/>
342
+ <rect id="Rectángulo_66" data-name="Rectángulo 66" width="253" height="24" transform="translate(69 347)" fill="url(#linear-gradient-2)"/>
343
+ <g id="Elipse_4" data-name="Elipse 4" transform="translate(221 374)" fill="#fff" stroke="#191919" stroke-width="1">
344
+ <ellipse cx="59" cy="58" rx="59" ry="58" stroke="none"/>
345
+ <ellipse cx="59" cy="58" rx="58.5" ry="57.5" fill="none"/>
346
+ </g>
347
+ </g>
348
+ <text id="_123" data-name="123" transform="translate(240 448)" font-size="45" font-family="Menlo-Regular, Menlo"><tspan x="0" y="0">123</tspan></text>
349
+ </g>
350
+ </svg>
351
+ `
352
+ }
353
+ <input tabindex="-1"/>
354
+ </div>
355
+ </div>
356
+ </div>
357
+ </div>
358
+ </div>
359
+ ${
360
+ !!data.customization?.saveCards?.showSaveCardOption
361
+ ? `
362
+ <div class="checkbox" id="save-card-container">
363
+ <input id="save-checkout-card" type="checkbox">
364
+ <label for="save-checkout-card">
365
+ Guardar tarjeta para futuros pagos
366
+ </label>
367
+ </div>
368
+ `
369
+ : ``
370
+ }
371
+ ${buttonAndMessagesTemplate({
372
+ ...data,
373
+ showPaymentButton,
374
+ showCancelButton,
375
+ classContainerButton: "container-pay-button",
376
+ classPayButton: "tndr-button pay-button hidden",
377
+ classCancelButton: "tndr-button cancel-button hidden",
378
+ tonderPayButtonId: data.collectorIds.tonderPayButton,
379
+ tonderCancelButtonId: data.collectorIds.tonderCancelButton,
380
+ msgErrorId: data.collectorIds.msgError,
381
+ msgErrorTextId: data.collectorIds.msgErrorText,
382
+ msgNotificationId: data.collectorIds.msgNotification,
383
+ msgNotificationTextId: data.collectorIds.msgNotificationText,
384
+ })}
385
+ </div>
386
+ `
387
+ : ``
388
+ }
389
+ ${
390
+ data?.customization?.paymentMethods?.show
391
+ ? `
392
+ <div id="${data.collectorIds.apmsListContainer}" class="apms-list-container"></div>
393
+ `
394
+ : ``
395
+ }
396
+ <div class="tndr-footer">
397
+ <div class="tndr-footer-secure">
398
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 33 33">
399
+ <image id="Material_Icon_Lock_1_" data-name="Material Icon Lock (1)" width="33" height="33" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAA5dJREFUeF7tnWFSwjAQRls4mHgZOpxCOQVTLqMejFbjEIep1mz7bXYzzccvRtkmvJfdpE2BtuHDlUDr2jobbyjAeRBQAAXICFwul8Nutzu0bfsUI8ZxPITnbdu+x7/dbrdzeH46nX7+JmvB51XFZ0Df969N07wsxROlBCElyyhWwFrwM6LOXdcFkcU9ihOgDH4KvDgRRQnIDD/KKEpCMQKM4H9LCPPD8Xh8LqEeFSHger2+xRWNIZQiMsFdgOXI/0OuuwRXAUvhh9IxjuNHADkMw3tcXk7PERZmk6sEbwHjgpIjBrVUbNd1bhzcGpZCCqN+zclUyIr9fv8izAax3AUDRvRSFwH3kvEm6CEMRiraKwtcBEhWPZpLRUl7X6tTWLZgQP16SbEChmF41rqGI804jywwFyCEoT4aJaVIU7o0G4oToFl6phAEpUhdfEqEuYAUhJwCUlmQs+05EcUJyDkZUkDTNKkMyFmHU/NPFRnQ9/2/Z7+5VyLe7U9LkXkJ8gbg3T4FOGcgBVAA54DHLOAcMKkJuRcBLEEsQSxBLEH/XKDZRAkKp/zhHk7hblTqepX7/+Ne9OM+tFanVCfh1LUWrU47H0f1iqmagErgq99dpyKgMviqEmABqSuMzuUia/MaEzYsoNLRr5YFsIDU9f2sQ9D54Br7B7CA1OVdZ0bZm0fLEAWAiigABIiGUwBKEIynABAgGk4BKEEwngJAgGg4BaAEwXgKAAGi4RSAEgTjKQAEiIZTAEoQjKcAECAaXquA89znhK33oWsTkNyPtd6fqElAEn4sJ5YSahEghm8tYfMCkF0ni82izQtAPjNmUYo2LwD5zJjFHRubF4C+wdxlCO1f8XvC6BukAPBUkyUoATD3COMk7C+gWVuGLG4aW9u3iLX4OeDeUZ6IzSWCQQmKTYslWKz/Y6dqyQCxBEv4oVO1Cfj+1tvw1ZV/XY5e8y3r4CKtPgEoMO346jJAGyB6PApACYLxFAACRMMpACUIxlMACBANpwCUIBhPASBANJwCUIJgPAWAANFwCkAJgvEUAAJEwykAJQjGuwuw2HUCGWULR24ai53S2BFb9WOb2ajYHli8STTXLVhAOLDhrpgt3kRryB0bahlwF1BjFsCjP7BTyYAKJajAVxVQkQQ1+OoCwgEff1bQ+uNCuSaIuA+d40eh1UpQrje/9eNSgLNhCqAAZwLOzTMDKMCZgHPzzAAKcCbg3PwnnbeGf25S3XwAAAAASUVORK5CYII="/>
400
+ </svg>
401
+ <p>Pagos seguros con Tonder</p>
402
+ </div>
403
+ <div class="tndr-footer-logos">
404
+ <img class="tndr-pci-logo" src="${COMMON_LOGOS.pci}" alt="pci"/>
405
+ <div class="tndr-footer-logos-divider"></div>
406
+ ${
407
+ isDarkMode
408
+ ? `
409
+ <img class="tndr-tonder-logo" src="${COMMON_LOGOS.tonderWhite}" alt="tonder"/>
410
+ `
411
+ : `
412
+ <img class="tndr-tonder-logo" src="${COMMON_LOGOS.tonderBlue}" alt="tonder"/>
413
+ `
414
+ }
415
+ </div>
416
+ </div>
417
+ <style>
418
+ .container-pay-button{
419
+ padding-top: ${!!showPaymentButton ? "25px" : ""};
420
+ }
421
+ .container-cancel-button{
422
+ padding-top: ${showCancelButton ? "10px" : "0"};
423
+ padding-bottom: 0;
424
+ }
425
+ .container-form {
426
+ padding: ${!!showPaymentButton ? `${paddingTopContainerForm} 30px 35px 30px` : `${paddingTopContainerForm} 30px 35px 30px`};
427
+ }
428
+
429
+ .collect-row {
430
+ display: flex;
431
+ flex-wrap: wrap;
432
+ justify-content: space-between;
167
433
  width: 100% !important;
434
+ gap: 16px;
168
435
  }
169
-
170
- .payment_method_zplit label img {
171
- display: none !important;
436
+
437
+ .collect-row > * {
438
+ flex: 1 1 calc(50% - 8px);
439
+ box-sizing: border-box;
440
+ }
441
+ .containerExpirationDate{
442
+ display: flex;
443
+ flex-direction: column;
444
+ align-items: flex-start;
445
+ justify-content: flex-end;
446
+ }
447
+ .tndr-form-label{
448
+ line-height: ${data?.customStyles?.labelStyles?.base?.lineHeight ? data?.customStyles?.labelStyles?.base?.lineHeight : "22px"};
449
+ color: ${data?.customStyles?.labelStyles?.base?.color ? data?.customStyles?.labelStyles?.base?.color : defaultStylesData.labelStyles.base.color};
450
+ font-size: ${data?.customStyles?.labelStyles?.base?.fontSize ? data?.customStyles?.labelStyles?.base?.fontSize : defaultStylesData.labelStyles.base.fontSize};
451
+ font-family: ${data?.customStyles?.labelStyles?.base?.fontFamily ? data?.customStyles?.labelStyles?.base?.fontFamily : defaultStylesData.labelStyles.base.fontFamily};
452
+ font-weight: ${data?.customStyles?.labelStyles?.base?.fontWeight ? data?.customStyles?.labelStyles?.base?.fontWeight : defaultStylesData.labelStyles.base.fontWeight};
453
+ text-align: ${data?.customStyles?.labelStyles?.base?.textAlign ? data?.customStyles?.labelStyles?.base?.textAlign : defaultStylesData.labelStyles.base.textAlign};
454
+ }
455
+
456
+ .containerExpirationDateInput{
457
+ display: flex;
458
+ align-items: center;
459
+ }
460
+ .expiration-year {
461
+ position: relative !important;
462
+ /*padding-top: 12px !important;*/
463
+ }
464
+ .empty-div {
465
+ position: relative;
466
+ margin-top: 2px;
467
+ margin-bottom: 4px;
468
+ }
469
+ .tndr-card-holder {
470
+ height: ${nameLabel === "" ? "60px" : "80px"};
471
+ }
472
+ .tndr-card-number {
473
+ height: ${cardLabel === "" ? "60px" : "80px"};
474
+ }
475
+ .empty-div-date {
476
+ height: 60px !important;
477
+ }
478
+ .card-collect-cvv{
479
+ width: 100%;
172
480
  }
173
- }
174
-
175
- .checkbox label {
176
- margin-left: 10px;
177
- font-size: 12px;
178
- font-weight: 500;
179
- color: #1D1D1D;
180
- }
181
-
182
- .checkbox {
183
- margin-top: 10px;
184
- margin-bottom: 20px;
185
- text-align: left;
186
- padding: 0 8px;
187
- }
188
-
189
- .cards-list-container {
190
- display: flex;
191
- flex-direction: column;
192
- padding: 0px;
193
- gap: 33% 20px;
194
- }
195
-
196
- .apms-list-container {
197
- display: flex;
198
- flex-direction: column;
199
- gap: 33% 20px;
200
- max-height: 300px;
201
- overflow-y: auto;
202
- }
203
- .pay-new-card {
204
- display: flex;
205
- justify-content: start;
206
- align-items: center;
207
- color: #1D1D1D;
208
- gap: 33% 15px;
209
- margin-top: 10px;
210
- margin-bottom: 10px;
211
- padding: 0px 30px;
212
- width: 100%;
213
- position: relative;
214
- }
215
-
216
- .pay-new-card .card-number {
217
- font-size: 16px;
218
- }
219
- .card-image {
220
- width: 39px;
221
- height: 24px;
222
- text-align: left;
223
- }
224
-
225
- .card-item-label-new {
226
- display: flex;
227
- justify-content: start;
228
- align-items: center;
229
- color: #1D1D1D;
230
- gap: 33% 20px;
231
- margin-top: 10px;
232
- margin-bottom: 10px;
233
- width: 100%;
234
- }
235
-
236
- .card_selected {
237
- position: relative;
238
- width: 16px;
239
- height: 16px;
240
- min-width: 16px;
241
- appearance: none;
242
- cursor: pointer;
243
- border-radius: 100%;
244
- border: 1px #bababa solid;
245
- color: #3bc635;
246
- transition-property: all;
247
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
248
- transition-duration: 150ms;
249
- }
250
-
251
- .card_selected:before {
252
- width: 8px;
253
- height: 8px;
254
- content: "";
255
- position: absolute;
256
- top: 50%;
257
- left: 50%;
258
- display: block;
259
- transform: translate(-50%, -50%);
260
- border-radius: 100%;
261
- background-color: #3bc635;
262
- opacity: 0;
263
- transition-property: opacity;
264
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
265
- transition-duration: 150ms;
266
- }
267
-
268
- .card_selected:checked {
269
- border: 1px #3bc635 solid;
270
- position: relative;
271
- width: 16px;
272
- height: 16px;
273
- min-width: 16px;
274
- appearance: none;
275
- cursor: pointer;
276
- border-radius: 100%;
277
- color: #3bc635;
278
- transition-property: all;
279
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
280
- transition-duration: 150ms;
281
- }
282
-
283
- .card_selected:checked:before {
284
- content: "";
285
- border: 1px #3bc635 solid;
286
- width: 8px;
287
- height: 8px;
288
- position: absolute;
289
- top: 50%;
290
- left: 50%;
291
- display: block;
292
- transform: translate(-50%, -50%);
293
- border-radius: 100%;
294
- background-color: #3bc635;
295
- opacity: 50;
296
- transition-property: opacity;
297
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
298
- transition-duration: 150ms;
299
- }
300
-
301
- .card_selected:hover:before {
302
- width: 8px;
303
- height: 8px;
304
- content: "";
305
- position: absolute;
306
- top: 50%;
307
- left: 50%;
308
- display: block;
309
- transform: translate(-50%, -50%);
310
- border-radius: 100%;
311
- background-color: #3bc635;
312
- transition-property: opacity;
313
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
314
- transition-duration: 150ms;
315
- opacity: 10;
316
- }
317
-
318
-
319
- .error-custom-inputs-tonder {
320
- background-color: white;
321
- position: absolute;
322
- left: 0px;
323
- bottom: -4px;
324
- width: 100%;
325
- font-size: 12px;
326
- color: red;
327
- }
328
-
329
- .expiration-year .error-custom-inputs-tonder {
330
- background-color: white;
331
- position: absolute;
332
- left: 0px;
333
- bottom: 3px;
334
- width: 100%;
335
- font-size: 12px;
336
- color: red;
337
- }
338
- </style>
339
- `
340
-
341
- export const cardItemsTemplate = (cards, data) => {
342
481
 
482
+ .hidden{
483
+ display: none;
484
+ }
485
+ .cvvContainerCard{
486
+ position: relative;
487
+ padding: 0;
488
+ display: flex;
489
+ flex-direction: column;
490
+ align-items: flex-start;
491
+ justify-content: flex-end;
492
+ }
493
+ .cvvIconCard {
494
+ position: absolute;
495
+ right: -12px;
496
+ top: 50%;
497
+ transform: translate(-50%, -50%);
498
+ }
499
+ .spinner-tndr {
500
+ width: 30px;
501
+ height: 30px;
502
+ border: 2px solid var(--tndr-white);
503
+ border-bottom-color: transparent;
504
+ border-radius: 50%;
505
+ display: inline-block;
506
+ box-sizing: border-box;
507
+ animation: spin-tndr 1s linear infinite;
508
+ }
509
+ .tndr-footer{
510
+ padding: 70px 20px 40px 20px;
511
+ display: flex;
512
+ flex-wrap: wrap;
513
+ align-items: center;
514
+ justify-content: center;
515
+ gap: 20px;
516
+ border-top: solid 1px var(--tndr-border-light);
517
+ }
518
+ .tndr-footer .tndr-footer-secure {
519
+ display: flex;
520
+ align-items: center;
521
+ gap: 5px;
522
+ text-align: start;
523
+ }
524
+ .tndr-footer .tndr-footer-secure p {
525
+ margin: 0;
526
+ color: #999999;
527
+ font-size: 14px;
528
+ }
529
+ .tndr-footer .tndr-footer-logos {
530
+ display: flex;
531
+ align-items: center;
532
+ border: 1px solid var(--tndr-border-medium);
533
+ border-radius: 30px;
534
+ font-weight: 400;
535
+ gap: 12px;
536
+ padding: 8px 12px;
537
+ }
538
+ .tndr-footer .tndr-footer-logos img {
539
+ width: 100%;
540
+ height: auto;
541
+ object-fit: contain;
542
+ }
543
+ .tndr-pci-logo {
544
+ max-width: 30px;
545
+ }
546
+ .tndr-tonder-logo {
547
+ max-width: 80px;
548
+ }
549
+ .tndr-footer-logos-divider{
550
+ width: .1px;
551
+ height: 24px;
552
+ background-color: #CCCCCC;
553
+ }
554
+ .tndr-simulate-input-cvv-container{
555
+ height: 100%;
556
+ width: 100%;
557
+ position: absolute;
558
+ pointer-events: none;
559
+
560
+ }
561
+ .tndr-simulate-input-cvv {
562
+ width: 100%;
563
+ pointer-events: none;
564
+ position: relative;
565
+ }
566
+ .tndr-simulate-input-cvv-container label{
567
+ line-height: ${data?.customStyles?.labelStyles?.base?.lineHeight ? data?.customStyles?.labelStyles?.base?.lineHeight : ""};
568
+ color: transparent;
569
+ font-size: ${data?.customStyles?.labelStyles?.base?.fontSize ? data?.customStyles?.labelStyles?.base?.fontSize : defaultStylesData.labelStyles.base.fontSize};
570
+ font-family: ${data?.customStyles?.labelStyles?.base?.fontFamily ? data?.customStyles?.labelStyles?.base?.fontFamily : defaultStylesData.labelStyles.base.fontFamily};
571
+ font-weight: ${data?.customStyles?.labelStyles?.base?.fontWeight ? data?.customStyles?.labelStyles?.base?.fontWeight : defaultStylesData.labelStyles.base.fontWeight};
572
+ text-align: ${data?.customStyles?.labelStyles?.base?.textAlign ? data?.customStyles?.labelStyles?.base?.textAlign : defaultStylesData.labelStyles.base.textAlign};
573
+ pointer-events: none;
574
+ }
575
+ .tndr-simulate-input-cvv input {
576
+ width: 100%;
577
+ margin: 0;
578
+ padding: 0;
579
+ border: 0;
580
+ min-height: 44px;
581
+ background-color: transparent;
582
+ pointer-events: none;
583
+ }
584
+
585
+
586
+ @keyframes spin-tndr {
587
+ 0% {
588
+ transform: rotate(0deg);
589
+ }
590
+ 100% {
591
+ transform: rotate(360deg);
592
+ }
593
+ }
594
+
595
+ .global-loader {
596
+ position: absolute;
597
+ top: 0;
598
+ left: 0;
599
+ width: 100%;
600
+ height: 100%;
601
+ z-index: 1;
602
+ }
603
+
604
+ @media screen and (max-width: 600px) {
605
+ .payment_method_zplit {
606
+ font-size: 16px !important;
607
+ width: 100% !important;
608
+ }
609
+
610
+ .payment_method_zplit label img {
611
+ display: none !important;
612
+ }
613
+ }
614
+
615
+ .checkbox label {
616
+ margin-left: 8px;
617
+ font-size: 14px;
618
+ font-weight: 600;
619
+ color: var(--tndr-gray-medium);
620
+ }
621
+
622
+ .checkbox {
623
+ margin-top: 10px;
624
+ margin-bottom: 10px;
625
+ text-align: left;
626
+ padding: 0;
627
+ display: flex;
628
+ align-items: center;
629
+ }
630
+
631
+ .checkbox input{
632
+ appearance: none;
633
+ margin: 0;
634
+ min-width: 20px;
635
+ border-radius: 3px;
636
+ width: 20px;
637
+ height: 20px;
638
+ border: 1px solid var(--tndr-border-light);
639
+ position: relative;
640
+ }
641
+
642
+ .checkbox input:checked {
643
+ background-color: var(--tndr-black);
644
+ }
645
+
646
+ .checkbox input:checked::after {
647
+ content: '';
648
+ position: absolute;
649
+ top: 2px;
650
+ left: 6px;
651
+ width: 4px;
652
+ height: 10px;
653
+ border: solid white;
654
+ border-width: 0 2px 2px 0;
655
+ transform: rotate(45deg);
656
+ }
657
+
658
+ .cards-list-container {
659
+ display: flex;
660
+ flex-direction: column;
661
+ padding: 0;
662
+ gap: 33% 20px;
663
+ }
664
+
665
+ .apms-list-container {
666
+ display: flex;
667
+ flex-direction: column;
668
+ gap: 33% 20px;
669
+ max-height: 300px;
670
+ overflow-y: auto;
671
+ }
672
+ .pay-new-card {
673
+ display: flex;
674
+ justify-content: start;
675
+ align-items: center;
676
+ color: var(--tndr-gray-medium);
677
+ gap: 12px;
678
+ margin-top: 5px;
679
+ padding: 5px 30px;
680
+ position: relative;
681
+ }
682
+
683
+ .pay-new-card .card-number {
684
+ font-size: 14px;
685
+ font-weight: 600;
686
+ }
687
+ .card-image {
688
+ width: 39px;
689
+ height: 24px;
690
+ text-align: left;
691
+ }
692
+
693
+ .card-item-label-new {
694
+ display: flex;
695
+ justify-content: start;
696
+ align-items: center;
697
+ color: var(--tndr-gray-medium);
698
+ gap: 12px;
699
+ margin-top: 10px;
700
+ margin-bottom: 10px;
701
+ width: 100%;
702
+ }
703
+
704
+ .error-custom-inputs-tonder {
705
+ background-color: white;
706
+ position: absolute;
707
+ left: 0;
708
+ bottom: -4px;
709
+ width: 100%;
710
+ font-size: 12px;
711
+ color: red;
712
+ }
713
+
714
+ .expiration-year .error-custom-inputs-tonder {
715
+ background-color: white;
716
+ position: absolute;
717
+ left: 0;
718
+ bottom: 3px;
719
+ width: 100%;
720
+ font-size: 12px;
721
+ color: red;
722
+ }
723
+ @media screen and (max-width: 450px) and (min-width: 364px) {
724
+ .tndr-footer-logos-divider{
725
+ width: 1px;
726
+ }
727
+ }
728
+
729
+ @media screen and (max-width: 363px) {
730
+ .tndr-footer-logos-divider{
731
+ width: 2px;
732
+ }
733
+ }
734
+ @media screen and (max-width: 768px) {
735
+ .tndr-pci-logo {
736
+ max-width: 25px;
737
+ }
738
+ .tndr-tonder-logo {
739
+ max-width: 60px;
740
+ }
741
+ .tndr-footer {
742
+ padding: 70px 0 40px 0;
743
+ }
744
+ }
745
+ @media screen and (max-width: 420px) {
746
+ .collect-row > * {
747
+ flex: 1 1 100%;
748
+ }
749
+ .collect-row {
750
+ gap: 0;
751
+ flex-direction: column;
752
+ }
753
+ }
754
+ </style>
755
+ `;
756
+ };
343
757
 
344
- const cardItemsHTML = cards.reduce((total, card) => {
758
+ export const cardItemsTemplate = data => {
759
+ const displayMode = data.customization?.displayMode || DISPLAY_MODE.light;
760
+ const isDarkMode = displayMode === DISPLAY_MODE.dark;
761
+ const showPaymentButton = get(data, FIELD_PATH_NAMES.paymentButton, false);
762
+ const showCancelButton = get(data, FIELD_PATH_NAMES.cancelButton, false);
763
+ const { cvvLabel } = getCardFormLabels(data.customStyles).labels;
764
+ console.log("cvvLabel", cvvLabel);
765
+ const cardItemsHTML = data.cards.reduce((total, card) => {
345
766
  return `${total}
346
- <div class="ac" id="card_container-${card.skyflow_id}">
767
+ <div class="ac ac-cards" id="option_container-${card.skyflow_id}">
347
768
  <div class="card-item" >
348
- <input id="${card.skyflow_id}" class="card_selected" name="card_selected" type="radio"/>
769
+ <input id="${card.skyflow_id}" class="cards card_selected" name="card_selected" type="radio"/>
349
770
  <label class="card-item-label" for="${card.skyflow_id}">
350
- <!-- <div class="ac-trigger">-->
351
- <img class="card-image" src="${getCardType(card.card_scheme)}" />
771
+ <div class="card-item-data">
772
+ <img class="card-image" src="${getCardType(card.card_scheme, displayMode === DISPLAY_MODE.dark)}" alt="" />
352
773
  <div class="card-number">${card.card_number}</div>
353
774
  <div class="card-expiration">Exp. ${card.expiration_month}/${card.expiration_year}</div>
354
- <!-- </div>-->
775
+ </div>
355
776
  <div class="card-delete-icon">
356
777
  <button id="delete_button_${card.skyflow_id}" class="card-delete-button">
357
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px">
358
- <path fill="currentColor" d="M292.309-140.001q-30.308 0-51.308-21t-21-51.308V-720h-40v-59.999H360v-35.384h240v35.384h179.999V-720h-40v507.691q0 30.308-21 51.308t-51.308 21H292.309ZM376.155-280h59.999v-360h-59.999v360Zm147.691 0h59.999v-360h-59.999v360Z"/>
778
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="18" viewBox="0 0 26.972 30.898">
779
+ <path id="Delete_Icon" data-name="Delete Icon" d="M165.057-809.1a3.218,3.218,0,0,1-2.381-1.008,3.336,3.336,0,0,1-.99-2.425V-834.85H160v-3.433h8.429V-840h10.114v1.717h8.429v3.433h-1.686v22.315a3.336,3.336,0,0,1-.99,2.425,3.218,3.218,0,0,1-2.381,1.008Zm3.371-6.866H171.8v-15.449h-3.371Zm6.743,0h3.371v-15.449h-3.371Z" transform="translate(-160 840)"/>
359
780
  </svg>
360
781
  </button>
361
782
  </div>
362
783
  </label>
363
784
  </div>
364
785
  <div class="ac-panel">
365
- <div class="ac-card-panel-container" id="acContainer${card.skyflow_id}">
786
+ <div class="ac-option-panel-container" id="acContainer${card.skyflow_id}">
366
787
  <div class="cvvContainer" id="cvvContainer${card.skyflow_id}">
367
- <div id="collectCvv${card.skyflow_id}" class="empty-div"></div>
368
- <svg class="cvvIcon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="24" viewBox="0 0 270 178">
369
- <defs>
370
- <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
371
- <stop offset="0" stop-color="#386bbf"/>
372
- <stop offset="1" stop-color="#032ea3"/>
373
- </linearGradient>
374
- <linearGradient id="linear-gradient-2" x1="0.5" y1="0.115" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
375
- <stop offset="0" stop-color="#1c1c1c"/>
376
- <stop offset="1" stop-color="#151515"/>
377
- </linearGradient>
378
- </defs>
379
- <g id="Grupo_3" data-name="Grupo 3" transform="translate(-69 -312)">
380
- <g id="Grupo_2" data-name="Grupo 2">
381
- <rect id="Rectángulo_58" data-name="Rectángulo 58" width="253" height="165" rx="25" transform="translate(69 312)" fill="url(#linear-gradient)"/>
382
- <rect id="Rectángulo_61" data-name="Rectángulo 61" width="68" height="8" rx="4" transform="translate(86 437)" fill="#fff" opacity="0.877"/>
383
- <rect id="Rectángulo_66" data-name="Rectángulo 66" width="253" height="24" transform="translate(69 347)" fill="url(#linear-gradient-2)"/>
384
- <g id="Elipse_4" data-name="Elipse 4" transform="translate(221 374)" fill="#fff" stroke="#191919" stroke-width="1">
385
- <ellipse cx="59" cy="58" rx="59" ry="58" stroke="none"/>
386
- <ellipse cx="59" cy="58" rx="58.5" ry="57.5" fill="none"/>
387
- </g>
388
- </g>
389
- <text id="_123" data-name="123" transform="translate(240 448)" font-size="45" font-family="Menlo-Regular, Menlo"><tspan x="0" y="0">123</tspan></text>
390
- </g>
391
- </svg>
788
+ <label class="tndr-form-label label-cvv-cards">${cvvLabel}</label>
789
+ <div id="${data.collectorIds.cvv}${card.skyflow_id}" class="empty-div">
790
+ <div class="tndr-simulate-input-cvv-container">
791
+ <div class="tndr-simulate-input-cvv">
792
+ ${
793
+ isDarkMode
794
+ ? `
795
+ <svg class="cvvIcon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="24" viewBox="0 0 78 52">
796
+ <image id="BBVA_136_2x" data-name="BBVA – 136@2x" width="78" height="52" xlink:href="data:image/png;base64,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"/>
797
+ </svg>
798
+ `
799
+ : `
800
+ <svg class="cvvIcon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="24" viewBox="0 0 270 178">
801
+ <defs>
802
+ <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
803
+ <stop offset="0" stop-color="#386bbf"/>
804
+ <stop offset="1" stop-color="#032ea3"/>
805
+ </linearGradient>
806
+ <linearGradient id="linear-gradient-2" x1="0.5" y1="0.115" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
807
+ <stop offset="0" stop-color="#1c1c1c"/>
808
+ <stop offset="1" stop-color="#151515"/>
809
+ </linearGradient>
810
+ </defs>
811
+ <g id="Grupo_3" data-name="Grupo 3" transform="translate(-69 -312)">
812
+ <g id="Grupo_2" data-name="Grupo 2">
813
+ <rect id="Rectángulo_58" data-name="Rectángulo 58" width="253" height="165" rx="25" transform="translate(69 312)" fill="url(#linear-gradient)"/>
814
+ <rect id="Rectángulo_61" data-name="Rectángulo 61" width="68" height="8" rx="4" transform="translate(86 437)" fill="#fff" opacity="0.877"/>
815
+ <rect id="Rectángulo_66" data-name="Rectángulo 66" width="253" height="24" transform="translate(69 347)" fill="url(#linear-gradient-2)"/>
816
+ <g id="Elipse_4" data-name="Elipse 4" transform="translate(221 374)" fill="#fff" stroke="#191919" stroke-width="1">
817
+ <ellipse cx="59" cy="58" rx="59" ry="58" stroke="none"/>
818
+ <ellipse cx="59" cy="58" rx="58.5" ry="57.5" fill="none"/>
819
+ </g>
820
+ </g>
821
+ <text id="_123" data-name="123" transform="translate(240 448)" font-size="45" font-family="Menlo-Regular, Menlo"><tspan x="0" y="0">123</tspan></text>
822
+ </g>
823
+ </svg>
824
+ `
825
+ }
826
+ <input tabindex="-1"/>
827
+ </div>
828
+ </div>
829
+ </div>
830
+
392
831
  </div>
393
- ${ data?.renderPaymentButton ?
394
- `<div class="container-card-pay-button">
395
- <button id="tonderPayButton${card.skyflow_id}" class="card-pay-button pay-button">Pagar</button>
396
- </div> `
397
- :``
398
- }
399
-
832
+ ${buttonAndMessagesTemplate({
833
+ ...data,
834
+ showPaymentButton,
835
+ showCancelButton,
836
+ classContainerButton: "container-pay-button",
837
+ classPayButton: "card-pay-button tndr-button pay-button",
838
+ classCancelButton: "card-pay-button tndr-button cancel-button",
839
+ tonderPayButtonId: `${data.collectorIds.tonderPayButton}${card.skyflow_id}`,
840
+ tonderCancelButtonId: `${data.collectorIds.tonderCancelButton}${card.skyflow_id}`,
841
+ msgErrorId: `${data.collectorIds.msgError}${card.skyflow_id}`,
842
+ msgErrorTextId: `${data.collectorIds.msgErrorText}${card.skyflow_id}`,
843
+ msgNotificationId: `${data.collectorIds.msgNotification}${card.skyflow_id}`,
844
+ msgNotificationTextId: `${data.collectorIds.msgNotificationText}${card.skyflow_id}`,
845
+ })}
846
+
400
847
  </div>
401
848
  </div>
402
- </div>`
403
-
849
+ </div>`;
404
850
  }, "");
405
851
  const cardItemStyle = `
406
852
  <style>
407
- .ac {
408
- background-color: transparent !important;
409
- margin-bottom: 0 !important;
410
- border-bottom: 1px solid #e2e8f0;
411
- }
412
- .ac-card-panel-container{
413
- padding: ${data?.renderPaymentButton ? '20px 32px 0px 32px':'20px 32px 20px 32px'};
853
+ .ac-cards{
854
+ border: none;
855
+ border-bottom: 1px solid var(--tndr-border-light);
414
856
  }
415
857
  .cvvContainer{
416
- max-width: 45%;
858
+ max-width: 50%;
417
859
  position: relative;
418
- padding: 0px 28px 0px 28px;
860
+ padding: 0 0 0 40px;
861
+ }
862
+ .label-cvv-cards {
863
+ opacity: 0;
419
864
  }
420
865
  .cvvIcon {
421
866
  position: absolute;
422
- right: 16%;
423
- top: 43%;
867
+ right: -12px;
868
+ top: 21px;
424
869
  opacity: 0;
425
- transform: translateY(10px);
870
+ transform: translate(-50%, 10px);
426
871
  transition: opacity 0.3s ease, transform 0.3s ease;
427
872
  }
428
- .cvvContainer.show .cvvIcon,
429
- .ac-card-panel-container.show .card-pay-button {
873
+ .cvvContainer.show .label-cvv-cards{
430
874
  opacity: 1;
431
- transform: translateY(0);
432
875
  transition-delay: 0.3s;
433
876
  }
434
- .container-card-pay-button{
435
- margin: 20px 0px;
877
+ .cvvContainer.show .cvvIcon {
878
+ opacity: 1;
879
+ transform: translate(-50%,-50%);
880
+ transition-delay: 0.3s;
436
881
  }
437
- .card-pay-button{
438
- display: block;
439
- opacity: 0;
440
- transform: translateY(10px);
441
- transition: opacity 0.3s ease, transform 0.3s ease;
882
+ .ac-option-panel-container.show .card-pay-button {
883
+ opacity: 1;
884
+ transform: translateY(0);
885
+ transition-delay: 0.3s;
442
886
  }
443
887
  .card-item-label {
888
+ justify-content: space-between;
889
+ }
890
+ .card-item-data{
444
891
  display: flex;
445
892
  justify-content: space-between;
446
893
  align-items: center;
447
- color: #1D1D1D;
448
- gap: 33% 20px;
449
- margin-top: 15px;
450
- margin-bottom: 15px;
451
- width: 100%;
894
+ gap: 12px;
452
895
  }
453
896
  .card-item {
454
897
  position: relative;
455
898
  display: flex;
456
899
  justify-content: start;
457
900
  align-items: center;
458
- gap: 33% 15px;
459
- padding: 0px 30px;
901
+ gap: 12px;
902
+ padding: 5px 30px;
460
903
  }
461
904
 
462
- .card-item .card-number {
463
- font-size: 16px;
905
+ .card-item .card-number,
906
+ .card-item .card-expiration {
907
+ font-size: 14px;
908
+ font-weight: 600;
464
909
  }
465
-
466
910
  .card-item .card-expiration {
467
- font-size: 16px;
911
+ margin-left: 2.5em;
468
912
  }
469
-
470
913
  .card-image {
471
914
  width: 39px;
472
915
  height: 24px;
@@ -475,154 +918,112 @@ export const cardItemsTemplate = (cards, data) => {
475
918
 
476
919
  .card-delete-button {
477
920
  background-color: transparent !important;
478
- color: #000000 !important;
921
+ color: var(--tndr-black);
479
922
  border: none;
923
+ padding: 0;
924
+ display: flex;
925
+ align-items: center;
480
926
  }
481
927
 
482
928
  .card-delete-button:hover {
483
929
  background-color: transparent !important;
484
930
  color: #D91C1C !important;
485
931
  }
486
- .card_selected {
487
- position: relative;
488
- width: 16px;
489
- min-width: 16px;
490
- height: 16px;
491
- appearance: none;
492
- cursor: pointer;
493
- border-radius: 100%;
494
- border: 1px #bababa solid;
495
- color: #3bc635;
496
- transition-property: all;
497
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
498
- transition-duration: 150ms;
499
- }
500
-
501
- .card_selected:before {
502
- width: 8px;
503
- height: 8px;
504
- content: "";
505
- position: absolute;
506
- top: 50%;
507
- left: 50%;
508
- display: block;
509
- transform: translate(-50%, -50%);
510
- border-radius: 100%;
511
- background-color: #3bc635;
512
- opacity: 0;
513
- transition-property: opacity;
514
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
515
- transition-duration: 150ms;
516
- }
517
-
518
- .card_selected:checked {
519
- border: 1px #3bc635 solid;
520
- position: relative;
521
- width: 16px;
522
- height: 16px;
523
- min-width: 16px;
524
- appearance: none;
525
- cursor: pointer;
526
- border-radius: 100%;
527
- color: #3bc635;
528
- transition-property: all;
529
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
530
- transition-duration: 150ms;
531
- }
532
932
 
533
- .card_selected:checked:before {
534
- content: "";
535
- border: 1px #3bc635 solid;
536
- width: 8px;
537
- height: 8px;
538
- position: absolute;
539
- top: 50%;
540
- left: 50%;
541
- display: block;
542
- transform: translate(-50%, -50%);
543
- border-radius: 100%;
544
- background-color: #3bc635;
545
- opacity: 50;
546
- transition-property: opacity;
547
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
548
- transition-duration: 150ms;
933
+ @media screen and (max-width: 768px) {
934
+ .cvvContainer {
935
+ max-width: 60%;
936
+ }
549
937
  }
550
-
551
- .card_selected:hover:before {
552
- width: 8px;
553
- height: 8px;
554
- content: "";
555
- position: absolute;
556
- top: 50%;
557
- left: 50%;
558
- display: block;
559
- transform: translate(-50%, -50%);
560
- border-radius: 100%;
561
- background-color: #3bc635;
562
- transition-property: opacity;
563
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
564
- transition-duration: 150ms;
565
- opacity: 10;
938
+
939
+ @media screen and (max-width: 480px) {
940
+ .cvvContainer {
941
+ max-width: 100%;
942
+ }
566
943
  }
567
-
568
944
  </style>
569
- `
570
- const cardItem = `
945
+ `;
946
+ return `
571
947
  <div class="accordion-container">
572
948
  ${cardItemsHTML}
573
949
  </div>
574
950
  ${cardItemStyle}
575
- `
576
- return cardItem;
577
- }
951
+ `;
952
+ };
578
953
 
579
- export const apmItemsTemplate = (apms) => {
954
+ export const apmItemsTemplate = data => {
955
+ const showPaymentButton = get(data, FIELD_PATH_NAMES.paymentButton, false);
956
+ const showCancelButton = get(data, FIELD_PATH_NAMES.cancelButton, false);
580
957
 
581
- const apmItemsHTML = apms.reduce((total, apm) => {
958
+ const apmItemsHTML = data.paymentMethods.reduce((total, apm) => {
582
959
  const apm_data = getPaymentMethodDetails(apm.payment_method);
583
960
  return `${total}
584
- <div class="apm-item" id="card_container-${apm.pk}">
585
- <input id="${apm.pk}" class="card_selected" name="card_selected" type="radio"/>
586
- <label class="apm-item-label" for="${apm.pk}">
587
-
588
- <div class="apm-image">
589
- <div class="apm-image-border"></div>
590
- <img src="${apm_data.icon}" />
591
- </div>
592
- <div class="apm-name">${apm_data.label}</div>
593
- </label>
594
- </div>`
961
+ <div class="ac ac-paymentMethods" id="option_container-${apm.pk}">
962
+ <div class="apm-item">
963
+ <input id="${apm.pk}" class="paymentMethods card_selected" name="card_selected" type="radio"/>
964
+ <label class="apm-item-label" for="${apm.pk}">
965
+
966
+ <div class="apm-image">
967
+ <div class="apm-image-border"></div>
968
+ <img src="${apm_data.icon}" alt="${apm_data.label}" />
969
+ </div>
970
+ <div class="apm-name">${apm_data.label}</div>
971
+ </label>
972
+ </div>
973
+ <div class="ac-panel">
974
+ <div class="ac-option-panel-container tndr-pm-item-container" id="acContainer${apm.pk}">
975
+ <div class="tndr-hide-text">accordion</div>
976
+ ${buttonAndMessagesTemplate({
977
+ ...data,
978
+ showPaymentButton,
979
+ showCancelButton,
980
+ classContainerButton: "container-pay-button",
981
+ classPayButton: "pm-pay-button tndr-button pay-button",
982
+ classCancelButton: "pm-pay-button tndr-button cancel-button",
983
+ tonderPayButtonId: `${data.collectorIds.tonderPayButton}${apm.pk}`,
984
+ tonderCancelButtonId: `${data.collectorIds.tonderCancelButton}${apm.pk}`,
985
+ msgErrorId: `${data.collectorIds.msgError}${apm.pk}`,
986
+ msgErrorTextId: `${data.collectorIds.msgErrorText}${apm.pk}`,
987
+ msgNotificationId: `${data.collectorIds.msgNotification}${apm.pk}`,
988
+ msgNotificationTextId: `${data.collectorIds.msgNotificationText}${apm.pk}`,
989
+ })}
990
+
991
+ </div>
992
+ </div>
993
+ </div>`;
595
994
  }, ``);
596
995
 
597
996
  const apmItemStyle = `
598
997
  <style>
998
+ .ac-option-panel-container{
999
+ padding-top: 10px;
1000
+ }
1001
+ .ac-paymentMethods{
1002
+ border: none;
1003
+ border-top: 1px solid var(--tndr-border-light);
1004
+ }
599
1005
  .apm-item-label {
600
- display: flex;
601
1006
  justify-content: flex-start;
602
- align-items: center;
603
- color: #1D1D1D;
604
- gap: 33% 10px;
605
- margin-top: 15px;
606
- margin-bottom: 15px;
607
- width: 100%;
608
1007
  }
609
-
610
1008
  .apm-item {
611
1009
  position: relative;
612
1010
  display: flex;
613
1011
  justify-content: start;
614
1012
  align-items: center;
615
- gap: 33% 15px;
616
- border-bottom: 1px solid #e2e8f0;
617
- padding: 0px 30px;
1013
+ gap: 22px;
1014
+ padding: 5px 30px;
618
1015
  }
619
-
620
- .apm-item:first-child {
621
- border-top: 1px solid #e2e8f0;
1016
+ .ac-option-panel-container.show .pm-pay-button {
1017
+ opacity: 1;
1018
+ transform: translateY(0);
1019
+ }
1020
+ .ac-option-panel-container.tndr-pm-item-container{
1021
+ padding-top: 0;
622
1022
  }
623
1023
 
624
1024
  .apm-item .apm-name {
625
- font-size: 16px;
1025
+ font-size: 14px;
1026
+ font-weight: 600;
626
1027
  }
627
1028
  .apm-image {
628
1029
  width: 30px;
@@ -645,99 +1046,59 @@ export const apmItemsTemplate = (apms) => {
645
1046
  width: 100%;
646
1047
  height: 97%;
647
1048
  }
1049
+ </style>
1050
+ `;
1051
+ return `
1052
+ <div class="accordion-container-apm">
1053
+ ${apmItemsHTML}
1054
+ </div>
1055
+ ${apmItemStyle}
1056
+ `;
1057
+ };
648
1058
 
649
- .card_selected {
650
- position: relative;
651
- width: 16px;
652
- min-width: 16px;
653
- height: 16px;
654
- appearance: none;
655
- cursor: pointer;
656
- border-radius: 100%;
657
- border: 1px #bababa solid;
658
- color: #3bc635;
659
- transition-property: all;
660
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
661
- transition-duration: 150ms;
662
- }
663
-
664
- .card_selected:before {
665
- width: 8px;
666
- height: 8px;
667
- content: "";
668
- position: absolute;
669
- top: 50%;
670
- left: 50%;
671
- display: block;
672
- transform: translate(-50%, -50%);
673
- border-radius: 100%;
674
- background-color: #3bc635;
675
- opacity: 0;
676
- transition-property: opacity;
677
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
678
- transition-duration: 150ms;
1059
+ const buttonAndMessagesTemplate = data => {
1060
+ return `
1061
+ ${
1062
+ data.showPaymentButton
1063
+ ? `
1064
+ <div class="${data.classContainerButton}">
1065
+ <button id="${data.tonderPayButtonId}" class="${data.classPayButton}">${data.customization?.paymentButton?.text}</button>
1066
+ </div>
1067
+ `
1068
+ : ``
679
1069
  }
680
-
681
- .card_selected:checked {
682
- border: 1px #3bc635 solid;
683
- position: relative;
684
- width: 16px;
685
- height: 16px;
686
- min-width: 16px;
687
- appearance: none;
688
- cursor: pointer;
689
- border-radius: 100%;
690
- color: #3bc635;
691
- transition-property: all;
692
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
693
- transition-duration: 150ms;
1070
+ ${
1071
+ data.showCancelButton
1072
+ ? `
1073
+ <div class="container-cancel-button">
1074
+ <button type="button" id="${data.tonderCancelButtonId}" class="${data.classCancelButton}">${data.customization?.cancelButton?.text}</button>
1075
+ </div>
1076
+ `
1077
+ : ``
694
1078
  }
695
-
696
- .card_selected:checked:before {
697
- content: "";
698
- border: 1px #3bc635 solid;
699
- width: 8px;
700
- height: 8px;
701
- position: absolute;
702
- top: 50%;
703
- left: 50%;
704
- display: block;
705
- transform: translate(-50%, -50%);
706
- border-radius: 100%;
707
- background-color: #3bc635;
708
- opacity: 50;
709
- transition-property: opacity;
710
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
711
- transition-duration: 150ms;
1079
+ ${
1080
+ data?.customization?.showMessages
1081
+ ? `
1082
+ <div id="${data.msgErrorId}" class="error-container">
1083
+ <svg xmlns="http://www.w3.org/2000/svg" width="18" height="17" viewBox="0 0 28.25 27.828">
1084
+ <path id="Cancel_Icon" data-name="Cancel Icon" d="M89.04-859.129l5.085-5.009,5.085,5.009,1.978-1.948L96.1-866.086l5.085-5.009-1.978-1.948-5.085,5.009-5.085-5.009L87.063-871.1l5.085,5.009-5.085,5.009Zm5.085,6.957a13.935,13.935,0,0,1-5.509-1.1,14.276,14.276,0,0,1-4.485-2.974,14.04,14.04,0,0,1-3.019-4.418A13.375,13.375,0,0,1,80-866.086a13.374,13.374,0,0,1,1.112-5.426,14.041,14.041,0,0,1,3.019-4.418,14.277,14.277,0,0,1,4.485-2.974,13.932,13.932,0,0,1,5.509-1.1,13.933,13.933,0,0,1,5.509,1.1,14.278,14.278,0,0,1,4.485,2.974,14.041,14.041,0,0,1,3.019,4.418,13.374,13.374,0,0,1,1.112,5.426,13.375,13.375,0,0,1-1.112,5.426,14.04,14.04,0,0,1-3.019,4.418,14.276,14.276,0,0,1-4.485,2.974A13.935,13.935,0,0,1,94.125-852.172Z" transform="translate(-80 880)" fill="#832828"/>
1085
+ </svg>
1086
+ <p id="${data.msgErrorTextId}"></p>
1087
+ </div>
1088
+ <div id="${data.msgNotificationId}" class="message-container">
1089
+ <svg xmlns="http://www.w3.org/2000/svg" width="18" height="17" viewBox="0 0 28.25 27.828">
1090
+ <path id="Check_Circle_Icon" data-name="Check Circle Icon" d="M92.147-859.686l9.958-9.809-1.977-1.948-7.981,7.861-4.026-3.965L86.144-865.6Zm1.978,7.513a13.935,13.935,0,0,1-5.509-1.1,14.278,14.278,0,0,1-4.485-2.974,14.041,14.041,0,0,1-3.019-4.418A13.374,13.374,0,0,1,80-866.086a13.374,13.374,0,0,1,1.112-5.426,14.041,14.041,0,0,1,3.019-4.418,14.278,14.278,0,0,1,4.485-2.974,13.935,13.935,0,0,1,5.509-1.1,13.935,13.935,0,0,1,5.509,1.1,14.278,14.278,0,0,1,4.485,2.974,14.041,14.041,0,0,1,3.019,4.418,13.374,13.374,0,0,1,1.112,5.426,13.374,13.374,0,0,1-1.112,5.426,14.041,14.041,0,0,1-3.019,4.418,14.278,14.278,0,0,1-4.485,2.974A13.935,13.935,0,0,1,94.125-852.172Z" transform="translate(-80 880)" fill="#28832c"/>
1091
+ </svg>
1092
+ <p id="${data.msgNotificationTextId}"></p>
1093
+ </div>
1094
+ `
1095
+ : ``
712
1096
  }
713
1097
 
714
- .card_selected:hover:before {
715
- width: 8px;
716
- height: 8px;
717
- content: "";
718
- position: absolute;
719
- top: 50%;
720
- left: 50%;
721
- display: block;
722
- transform: translate(-50%, -50%);
723
- border-radius: 100%;
724
- background-color: #3bc635;
725
- transition-property: opacity;
726
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
727
- transition-duration: 150ms;
728
- opacity: 10;
729
- }
730
-
731
- </style>
732
- `
733
- const apmItem = `
734
- ${apmItemsHTML}
735
- ${apmItemStyle}
736
- `
737
- return apmItem;
738
- }
1098
+ `;
1099
+ };
739
1100
 
740
- const getFontFamily = (data) => {
1101
+ const getFontFamily = data => {
741
1102
  const base = data?.customStyles?.labelStyles?.base;
742
1103
  return base?.fontFamily || '"Inter", sans-serif';
743
- };
1104
+ };