@paypal/checkout-components 5.0.256-alpha.1 → 5.0.257

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 (184) hide show
  1. package/README.md +8 -0
  2. package/__sdk__.js +76 -76
  3. package/dist/button.js +1 -1
  4. package/globals.js +28 -30
  5. package/package.json +7 -5
  6. package/src/actions/save/index.js +17 -12
  7. package/src/constants/button.js +36 -36
  8. package/src/constants/class.js +32 -30
  9. package/src/constants/index.js +3 -3
  10. package/src/constants/misc.js +14 -12
  11. package/src/declarations.js +19 -19
  12. package/src/funding/applepay/config.jsx +51 -49
  13. package/src/funding/applepay/index.js +1 -1
  14. package/src/funding/applepay/style.scoped.scss +1 -1
  15. package/src/funding/applepay/template.jsx +16 -9
  16. package/src/funding/bancontact/config.jsx +48 -36
  17. package/src/funding/bancontact/index.js +1 -2
  18. package/src/funding/blik/config.jsx +48 -36
  19. package/src/funding/blik/index.js +1 -2
  20. package/src/funding/boleto/config.jsx +50 -38
  21. package/src/funding/boleto/index.js +1 -2
  22. package/src/funding/card/amex/config.js +9 -7
  23. package/src/funding/card/amex/index.js +1 -2
  24. package/src/funding/card/config.jsx +246 -178
  25. package/src/funding/card/discover/config.js +9 -6
  26. package/src/funding/card/discover/index.js +1 -2
  27. package/src/funding/card/elo/config.js +6 -6
  28. package/src/funding/card/elo/index.js +1 -2
  29. package/src/funding/card/hiper/config.js +9 -6
  30. package/src/funding/card/hiper/index.js +1 -2
  31. package/src/funding/card/index.js +1 -1
  32. package/src/funding/card/jcb/config.js +6 -6
  33. package/src/funding/card/jcb/index.js +1 -2
  34. package/src/funding/card/mastercard/config.js +9 -6
  35. package/src/funding/card/mastercard/index.js +1 -2
  36. package/src/funding/card/visa/config.js +9 -6
  37. package/src/funding/card/visa/index.js +1 -2
  38. package/src/funding/common.jsx +242 -216
  39. package/src/funding/config.js +212 -65
  40. package/src/funding/content.jsx +1946 -337
  41. package/src/funding/credit/config.jsx +74 -54
  42. package/src/funding/credit/index.js +1 -2
  43. package/src/funding/eps/config.jsx +45 -36
  44. package/src/funding/eps/index.js +1 -2
  45. package/src/funding/funding.js +193 -100
  46. package/src/funding/giropay/config.jsx +48 -37
  47. package/src/funding/giropay/index.js +1 -2
  48. package/src/funding/ideal/config.jsx +48 -36
  49. package/src/funding/ideal/index.js +1 -2
  50. package/src/funding/index.js +2 -2
  51. package/src/funding/itau/config.jsx +41 -40
  52. package/src/funding/itau/index.js +1 -1
  53. package/src/funding/maxima/config.jsx +25 -18
  54. package/src/funding/maxima/index.js +1 -2
  55. package/src/funding/mercadopago/config.jsx +48 -36
  56. package/src/funding/mercadopago/index.js +1 -2
  57. package/src/funding/multibanco/config.jsx +50 -38
  58. package/src/funding/multibanco/index.js +1 -2
  59. package/src/funding/mybank/config.jsx +48 -36
  60. package/src/funding/mybank/index.js +1 -2
  61. package/src/funding/oxxo/config.jsx +50 -38
  62. package/src/funding/oxxo/index.js +1 -2
  63. package/src/funding/p24/config.jsx +45 -36
  64. package/src/funding/p24/index.js +1 -2
  65. package/src/funding/paidy/config.jsx +50 -38
  66. package/src/funding/paidy/index.js +1 -1
  67. package/src/funding/paylater/config.jsx +118 -110
  68. package/src/funding/paylater/index.js +1 -2
  69. package/src/funding/paypal/config.jsx +43 -46
  70. package/src/funding/paypal/index.js +1 -2
  71. package/src/funding/paypal/style.scoped.scss +80 -74
  72. package/src/funding/paypal/template.jsx +450 -355
  73. package/src/funding/payu/config.jsx +50 -38
  74. package/src/funding/payu/index.js +1 -1
  75. package/src/funding/satispay/config.jsx +50 -38
  76. package/src/funding/satispay/index.js +1 -1
  77. package/src/funding/sepa/config.jsx +19 -12
  78. package/src/funding/sepa/index.js +1 -2
  79. package/src/funding/sofort/config.jsx +48 -36
  80. package/src/funding/sofort/index.js +1 -2
  81. package/src/funding/trustly/config.jsx +50 -38
  82. package/src/funding/trustly/index.js +1 -2
  83. package/src/funding/venmo/config.jsx +80 -74
  84. package/src/funding/venmo/index.js +1 -2
  85. package/src/funding/venmo/style.scoped.scss +30 -32
  86. package/src/funding/venmo/template.jsx +56 -56
  87. package/src/funding/verkkopankki/config.jsx +50 -38
  88. package/src/funding/verkkopankki/index.js +1 -1
  89. package/src/funding/wechatpay/config.jsx +48 -36
  90. package/src/funding/wechatpay/index.js +1 -2
  91. package/src/funding/zimpler/config.jsx +19 -12
  92. package/src/funding/zimpler/index.js +1 -2
  93. package/src/interface/actions.js +1 -1
  94. package/src/interface/button.js +60 -44
  95. package/src/interface/card-fields.js +11 -8
  96. package/src/interface/fields.js +7 -4
  97. package/src/interface/marks.js +4 -4
  98. package/src/interface/payment-fields.js +7 -4
  99. package/src/interface/wallet.js +4 -4
  100. package/src/lib/errors.js +7 -7
  101. package/src/lib/index.js +5 -5
  102. package/src/lib/isRTLLanguage.js +3 -3
  103. package/src/lib/perceived-latency-instrumentation.js +54 -36
  104. package/src/lib/security.js +21 -17
  105. package/src/lib/session.js +39 -35
  106. package/src/marks/component.jsx +114 -65
  107. package/src/marks/index.js +1 -2
  108. package/src/marks/template.jsx +79 -65
  109. package/src/types.js +48 -48
  110. package/src/ui/buttons/button.jsx +311 -249
  111. package/src/ui/buttons/buttonDesigns/control.jsx +3 -5
  112. package/src/ui/buttons/buttonDesigns/divideLogoAnimation.jsx +127 -99
  113. package/src/ui/buttons/buttonDesigns/index.js +78 -75
  114. package/src/ui/buttons/buttonDesigns/inlineLogoTextDesign.jsx +102 -82
  115. package/src/ui/buttons/buttonDesigns/script.jsx +24 -18
  116. package/src/ui/buttons/buttonDesigns/types.js +6 -7
  117. package/src/ui/buttons/buttons.jsx +318 -212
  118. package/src/ui/buttons/config.js +62 -59
  119. package/src/ui/buttons/content.jsx +304 -119
  120. package/src/ui/buttons/index.js +1 -1
  121. package/src/ui/buttons/menu-button/index.js +1 -1
  122. package/src/ui/buttons/menu-button/menu-button.jsx +29 -22
  123. package/src/ui/buttons/menu-button/menu-button.scoped.scss +16 -17
  124. package/src/ui/buttons/poweredBy.jsx +23 -23
  125. package/src/ui/buttons/props.js +677 -529
  126. package/src/ui/buttons/script.jsx +182 -160
  127. package/src/ui/buttons/spinner.jsx +4 -6
  128. package/src/ui/buttons/style.jsx +15 -14
  129. package/src/ui/buttons/styles/base.js +24 -16
  130. package/src/ui/buttons/styles/button.js +24 -22
  131. package/src/ui/buttons/styles/color.js +118 -118
  132. package/src/ui/buttons/styles/custom.js +30 -24
  133. package/src/ui/buttons/styles/index.js +1 -1
  134. package/src/ui/buttons/styles/labels.js +17 -13
  135. package/src/ui/buttons/styles/page.js +3 -3
  136. package/src/ui/buttons/styles/responsive.js +226 -118
  137. package/src/ui/buttons/tagline.jsx +53 -54
  138. package/src/ui/chevron.jsx +27 -16
  139. package/src/ui/index.js +3 -3
  140. package/src/ui/loading.jsx +25 -18
  141. package/src/ui/text/index.js +1 -1
  142. package/src/ui/text/style.scoped.scss +25 -26
  143. package/src/ui/text/text.jsx +42 -20
  144. package/src/ui/tracking.jsx +18 -11
  145. package/src/zoid/buttons/component.jsx +820 -677
  146. package/src/zoid/buttons/container.jsx +140 -107
  147. package/src/zoid/buttons/index.js +1 -1
  148. package/src/zoid/buttons/prerender.jsx +84 -64
  149. package/src/zoid/buttons/util.js +346 -254
  150. package/src/zoid/card-fields/component.jsx +581 -549
  151. package/src/zoid/card-fields/index.js +1 -1
  152. package/src/zoid/card-fields/prerender.jsx +20 -17
  153. package/src/zoid/card-form/component.js +155 -141
  154. package/src/zoid/card-form/index.js +1 -1
  155. package/src/zoid/checkout/component.jsx +314 -282
  156. package/src/zoid/checkout/config.js +2 -2
  157. package/src/zoid/checkout/content.js +190 -154
  158. package/src/zoid/checkout/hacks.js +31 -28
  159. package/src/zoid/checkout/index.js +2 -2
  160. package/src/zoid/checkout/props.js +27 -33
  161. package/src/zoid/installments/component.jsx +83 -70
  162. package/src/zoid/installments/index.js +1 -1
  163. package/src/zoid/installments/props.js +1 -1
  164. package/src/zoid/menu/component.jsx +53 -48
  165. package/src/zoid/menu/index.js +1 -1
  166. package/src/zoid/menu/props.js +1 -3
  167. package/src/zoid/modal/component.jsx +119 -106
  168. package/src/zoid/modal/index.js +1 -1
  169. package/src/zoid/modal/props.js +1 -3
  170. package/src/zoid/payment-fields/component.jsx +215 -191
  171. package/src/zoid/payment-fields/container.jsx +73 -64
  172. package/src/zoid/payment-fields/index.js +1 -1
  173. package/src/zoid/payment-fields/prerender.jsx +16 -14
  174. package/src/zoid/payment-fields/props.js +6 -6
  175. package/src/zoid/qr-code/component.jsx +131 -115
  176. package/src/zoid/qr-code/container.jsx +74 -68
  177. package/src/zoid/qr-code/index.js +1 -1
  178. package/src/zoid/qr-code/prerender.jsx +17 -12
  179. package/src/zoid/qr-code/types.js +2 -2
  180. package/src/zoid/wallet/component.jsx +298 -260
  181. package/src/zoid/wallet/container.jsx +73 -64
  182. package/src/zoid/wallet/index.js +1 -1
  183. package/src/zoid/wallet/prerender.jsx +14 -14
  184. package/src/zoid/wallet/props.js +4 -4
package/README.md CHANGED
@@ -123,3 +123,11 @@ Checks to make sure that the compiled & gzipped bundle doesn't exceed the recomm
123
123
  ## Releasing
124
124
 
125
125
  This package is published weekly, **Every Wednesday**. Please [view our Changelog](CHANGELOG.md) to stay updated with bug fixes and new features.
126
+
127
+ ## Logo Strategy with paypal-sdk-logos
128
+
129
+ Our usage of svg logos is optimized for performance. Here's how it works for the two-phased render for the Buttons component:
130
+
131
+ - First Render - Buttons are first rendered on the client-side inside an `<iframe>` tag using the code bundled inside the JS SDK script. This `<iframe>` tag has no src attribute at this point in the rendering life cycle. We leverage the `__WEB__` global variable to determine if we are rendering client-side or server-side. The `__WEB__` global variable will equal true when rendering client-side. To minimize the bundle size of the JS SDK script, we load these svg logos from the www.paypalobjects.com CDN as external images (ex: `<PayPalLogoExternalImage />`).
132
+
133
+ - Second Render - The second phase of rendering happens on the server-side. This `<iframe>` tag is fully rendered by setting the src attribute and making an http request to the server to populate the contents which are securely hosted by PayPal's servers on www.paypal.com. The same code in this repo is used to render the buttons on the server-side. To ensure there are no issues with the logos, we have decided to inline the svg code for this server-side render (ex: `<PayPalLogoInlineSVG />`). The `__WEB__` global variable is set to false to control what code executes during the server render.
package/__sdk__.js CHANGED
@@ -1,89 +1,89 @@
1
1
  /* @flow */
2
2
  /* eslint unicorn/filename-case: 0, import/unambiguous: 0, import/no-commonjs: 0 */
3
3
 
4
- const { FUNDING, CARD } = require('@paypal/sdk-constants');
4
+ const { FUNDING, CARD } = require("@paypal/sdk-constants");
5
5
 
6
- const globals = require('./globals');
6
+ const globals = require("./globals");
7
7
 
8
8
  const SMART_FUNDING_SOURCES = [
9
- FUNDING.PAYPAL,
10
- FUNDING.VENMO,
11
- FUNDING.ITAU,
12
- FUNDING.CREDIT,
13
- FUNDING.PAYLATER,
14
- FUNDING.APPLEPAY,
15
- FUNDING.IDEAL,
16
- FUNDING.SEPA,
17
- FUNDING.BANCONTACT,
18
- FUNDING.GIROPAY,
19
- FUNDING.EPS,
20
- FUNDING.SOFORT,
21
- FUNDING.MYBANK,
22
- FUNDING.BLIK,
23
- FUNDING.P24,
24
- FUNDING.ZIMPLER,
25
- FUNDING.WECHATPAY,
26
- FUNDING.PAYU,
27
- FUNDING.VERKKOPANKKI,
28
- FUNDING.TRUSTLY,
29
- FUNDING.OXXO,
30
- FUNDING.BOLETO,
31
- FUNDING.BOLETOBANCARIO,
32
- FUNDING.MULTIBANCO,
33
- FUNDING.MAXIMA,
34
- FUNDING.MERCADOPAGO,
35
- FUNDING.SATISPAY,
36
- FUNDING.PAIDY,
37
- FUNDING.CARD
9
+ FUNDING.PAYPAL,
10
+ FUNDING.VENMO,
11
+ FUNDING.ITAU,
12
+ FUNDING.CREDIT,
13
+ FUNDING.PAYLATER,
14
+ FUNDING.APPLEPAY,
15
+ FUNDING.IDEAL,
16
+ FUNDING.SEPA,
17
+ FUNDING.BANCONTACT,
18
+ FUNDING.GIROPAY,
19
+ FUNDING.EPS,
20
+ FUNDING.SOFORT,
21
+ FUNDING.MYBANK,
22
+ FUNDING.BLIK,
23
+ FUNDING.P24,
24
+ FUNDING.ZIMPLER,
25
+ FUNDING.WECHATPAY,
26
+ FUNDING.PAYU,
27
+ FUNDING.VERKKOPANKKI,
28
+ FUNDING.TRUSTLY,
29
+ FUNDING.OXXO,
30
+ FUNDING.BOLETO,
31
+ FUNDING.BOLETOBANCARIO,
32
+ FUNDING.MULTIBANCO,
33
+ FUNDING.MAXIMA,
34
+ FUNDING.MERCADOPAGO,
35
+ FUNDING.SATISPAY,
36
+ FUNDING.PAIDY,
37
+ FUNDING.CARD,
38
38
  ];
39
39
 
40
40
  const SMART_CARDS = [
41
- CARD.VISA,
42
- CARD.MASTERCARD,
43
- CARD.AMEX,
44
- CARD.DISCOVER,
45
- CARD.HIPER,
46
- CARD.ELO,
47
- CARD.JCB
41
+ CARD.VISA,
42
+ CARD.MASTERCARD,
43
+ CARD.AMEX,
44
+ CARD.DISCOVER,
45
+ CARD.HIPER,
46
+ CARD.ELO,
47
+ CARD.JCB,
48
48
  ];
49
49
 
50
50
  module.exports = {
51
- 'actions': {
52
- automatic: true,
53
- entry: './src/interface/actions',
54
- },
55
- 'buttons': {
56
- entry: './src/interface/button',
57
- setupHandler: 'setupButtons',
58
- globals,
59
- fundingSources: SMART_FUNDING_SOURCES,
60
- cards: SMART_CARDS
61
- },
62
- 'marks': {
63
- entry: './src/interface/marks',
64
- globals,
65
- fundingSources: SMART_FUNDING_SOURCES,
66
- cards: SMART_CARDS
67
- },
68
- 'wallet': {
69
- entry: './src/interface/wallet',
70
- globals
71
- },
72
- // @deprecated - renamed to payment-fields to be removed
73
- 'fields': {
74
- entry: './src/interface/fields',
75
- globals,
76
- fundingSources: SMART_FUNDING_SOURCES,
77
- cards: SMART_CARDS
78
- },
79
- 'payment-fields': {
80
- entry: './src/interface/payment-fields',
81
- globals,
82
- fundingSources: SMART_FUNDING_SOURCES,
83
- cards: SMART_CARDS
84
- },
85
- 'card-fields': {
86
- entry: './src/interface/card-fields',
87
- globals
88
- }
51
+ actions: {
52
+ automatic: true,
53
+ entry: "./src/interface/actions",
54
+ },
55
+ buttons: {
56
+ entry: "./src/interface/button",
57
+ setupHandler: "setupButtons",
58
+ globals,
59
+ fundingSources: SMART_FUNDING_SOURCES,
60
+ cards: SMART_CARDS,
61
+ },
62
+ marks: {
63
+ entry: "./src/interface/marks",
64
+ globals,
65
+ fundingSources: SMART_FUNDING_SOURCES,
66
+ cards: SMART_CARDS,
67
+ },
68
+ wallet: {
69
+ entry: "./src/interface/wallet",
70
+ globals,
71
+ },
72
+ // @deprecated - renamed to payment-fields to be removed
73
+ fields: {
74
+ entry: "./src/interface/fields",
75
+ globals,
76
+ fundingSources: SMART_FUNDING_SOURCES,
77
+ cards: SMART_CARDS,
78
+ },
79
+ "payment-fields": {
80
+ entry: "./src/interface/payment-fields",
81
+ globals,
82
+ fundingSources: SMART_FUNDING_SOURCES,
83
+ cards: SMART_CARDS,
84
+ },
85
+ "card-fields": {
86
+ entry: "./src/interface/card-fields",
87
+ globals,
88
+ },
89
89
  };