@paypal/checkout-components 5.0.253-alpha.1 → 5.0.253-alpha.2

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 (39) hide show
  1. package/dist/button.js +1 -1
  2. package/package.json +2 -2
  3. package/src/funding/applepay/config.jsx +2 -1
  4. package/src/funding/applepay/template.jsx +3 -1
  5. package/src/funding/bancontact/config.jsx +2 -1
  6. package/src/funding/blik/config.jsx +2 -1
  7. package/src/funding/boleto/config.jsx +2 -1
  8. package/src/funding/card/amex/config.js +2 -1
  9. package/src/funding/card/config.jsx +2 -3
  10. package/src/funding/card/discover/config.js +2 -1
  11. package/src/funding/card/elo/config.js +2 -1
  12. package/src/funding/card/hiper/config.js +2 -1
  13. package/src/funding/card/jcb/config.js +2 -1
  14. package/src/funding/card/mastercard/config.js +2 -1
  15. package/src/funding/card/visa/config.js +2 -1
  16. package/src/funding/credit/config.jsx +7 -4
  17. package/src/funding/eps/config.jsx +2 -1
  18. package/src/funding/giropay/config.jsx +2 -1
  19. package/src/funding/ideal/config.jsx +2 -1
  20. package/src/funding/itau/config.jsx +2 -1
  21. package/src/funding/maxima/config.jsx +2 -1
  22. package/src/funding/mercadopago/config.jsx +2 -1
  23. package/src/funding/multibanco/config.jsx +2 -1
  24. package/src/funding/mybank/config.jsx +2 -1
  25. package/src/funding/oxxo/config.jsx +2 -1
  26. package/src/funding/p24/config.jsx +2 -1
  27. package/src/funding/paylater/config.jsx +2 -1
  28. package/src/funding/paypal/template.jsx +12 -13
  29. package/src/funding/payu/config.jsx +2 -1
  30. package/src/funding/satispay/config.jsx +2 -1
  31. package/src/funding/sepa/config.jsx +2 -1
  32. package/src/funding/sofort/config.jsx +2 -1
  33. package/src/funding/trustly/config.jsx +2 -1
  34. package/src/funding/venmo/config.jsx +3 -1
  35. package/src/funding/venmo/template.jsx +3 -2
  36. package/src/funding/verkkopankki/config.jsx +2 -1
  37. package/src/funding/wechatpay/config.jsx +2 -1
  38. package/src/funding/zimpler/config.jsx +2 -1
  39. package/src/lib/getLogoCDNExperiment.js +25 -0
@@ -9,6 +9,7 @@ import {
9
9
  BasicLabel
10
10
  } from '../common';
11
11
  import { Text, Space } from '../../ui/text';
12
+ import { enableLogoCDNExperiment } from '../../lib/getLogoCDNExperiment';
12
13
 
13
14
  import css from './style.scoped.scss';
14
15
 
@@ -17,7 +18,7 @@ export function AppLabel(opts : LabelOptions) : ChildType {
17
18
 
18
19
  const AppLogo : ChildType = (
19
20
  <Style css={ css }>
20
- <VenmoLogo logoColor={ logoColor } />
21
+ {enableLogoCDNExperiment(VenmoLogo, { logoColor })}
21
22
  <Text className={ [ 'app-label' ] }>
22
23
  App
23
24
  </Text>
@@ -38,7 +39,7 @@ export function Label(opts : LabelOptions) : ChildType {
38
39
  export function WalletLabel({ ...props } : WalletLabelOptions) : ChildType {
39
40
  const { instrument, logoColor } = props;
40
41
  let label;
41
- const logo = <VenmoLogo logoColor={ logoColor } />;
42
+ const logo = enableLogoCDNExperiment(VenmoLogo, { logoColor });
42
43
 
43
44
  if (instrument && instrument.label) {
44
45
  label = instrument.label;
@@ -7,6 +7,7 @@ import { Fragment, node } from '@krakenjs/jsx-pragmatic/src';
7
7
  import { BUTTON_LAYOUT } from '../../constants';
8
8
  import { DEFAULT_APM_FUNDING_CONFIG, type FundingSourceConfig, BasicLabel } from '../common';
9
9
  import { Text, Space } from '../../ui/text';
10
+ import { enableLogoCDNExperiment } from '../../lib/getLogoCDNExperiment';
10
11
 
11
12
  export function getVerkkopankkiConfig() : FundingSourceConfig {
12
13
  return {
@@ -20,7 +21,7 @@ export function getVerkkopankkiConfig() : FundingSourceConfig {
20
21
 
21
22
  shippingChange: false,
22
23
 
23
- Logo: ({ logoColor, optional }) => VerkkopankkiLogo({ logoColor, optional }),
24
+ Logo: ({ logoColor, optional }) => enableLogoCDNExperiment(VerkkopankkiLogo, { logoColor, optional }),
24
25
 
25
26
  Label: ({ logo, ...opts }) => {
26
27
  if (__WEB__) {
@@ -7,6 +7,7 @@ import { Fragment, node } from '@krakenjs/jsx-pragmatic/src';
7
7
  import { BUTTON_LAYOUT } from '../../constants';
8
8
  import { DEFAULT_APM_FUNDING_CONFIG, type FundingSourceConfig, BasicLabel } from '../common';
9
9
  import { Text, Space } from '../../ui/text';
10
+ import { enableLogoCDNExperiment } from '../../lib/getLogoCDNExperiment';
10
11
 
11
12
  export function getWechatpayConfig() : FundingSourceConfig {
12
13
  return {
@@ -18,7 +19,7 @@ export function getWechatpayConfig() : FundingSourceConfig {
18
19
  BUTTON_LAYOUT.VERTICAL
19
20
  ],
20
21
 
21
- Logo: ({ logoColor, optional }) => WechatpayLogo({ logoColor, optional }),
22
+ Logo: ({ logoColor, optional }) => enableLogoCDNExperiment(WechatpayLogo, { logoColor, optional }),
22
23
 
23
24
  Label: ({ logo, ...opts }) => {
24
25
  if (__WEB__) {
@@ -4,6 +4,7 @@
4
4
  import { ZimplerLogo } from '@paypal/sdk-logos/src';
5
5
 
6
6
  import { BUTTON_LAYOUT } from '../../constants';
7
+ import { enableLogoCDNExperiment } from '../../lib/getLogoCDNExperiment';
7
8
  import { DEFAULT_FUNDING_CONFIG, type FundingSourceConfig } from '../common';
8
9
 
9
10
  export function getZimplerConfig() : FundingSourceConfig {
@@ -16,6 +17,6 @@ export function getZimplerConfig() : FundingSourceConfig {
16
17
  BUTTON_LAYOUT.VERTICAL
17
18
  ],
18
19
 
19
- Logo: ({ logoColor, optional }) => ZimplerLogo({ logoColor, optional })
20
+ Logo: ({ logoColor, optional }) => enableLogoCDNExperiment(ZimplerLogo, { logoColor, optional })
20
21
  };
21
22
  }
@@ -0,0 +1,25 @@
1
+ /* @flow */
2
+
3
+ import { createExperiment } from "@paypal/sdk-client/src";
4
+ import type { Experiment } from "@krakenjs/belter/src";
5
+ import type { ChildType } from "@krakenjs/jsx-pragmatic/src";
6
+
7
+ export function getLogoCDNExperiment(): Experiment {
8
+ return createExperiment("enable_logo_cdn_experiment", 0);
9
+ }
10
+
11
+ export function enableLogoCDNExperiment<T>(
12
+ logo: (T) => ChildType,
13
+ logoOptions: T
14
+ ): ChildType {
15
+ // enable logo CDN experiment for first render only
16
+ if (__WEB__) {
17
+ const logoCDNExperiment = getLogoCDNExperiment();
18
+ const loadFromCDN = logoCDNExperiment.isEnabled();
19
+
20
+ return logo({ ...logoOptions, loadFromCDN });
21
+ }
22
+
23
+ // continue using inline svg for second render
24
+ return logo(logoOptions);
25
+ }