@paypal/checkout-components 5.0.252-alpha.2 → 5.0.252-alpha.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.
- package/dist/button.js +1 -1
- package/package.json +9 -3
- package/src/funding/applepay/config.jsx +2 -1
- package/src/funding/applepay/template.jsx +3 -1
- package/src/funding/bancontact/config.jsx +2 -1
- package/src/funding/blik/config.jsx +2 -1
- package/src/funding/boleto/config.jsx +2 -1
- package/src/funding/card/amex/config.js +2 -1
- package/src/funding/card/config.jsx +2 -3
- package/src/funding/card/discover/config.js +2 -1
- package/src/funding/card/elo/config.js +2 -1
- package/src/funding/card/hiper/config.js +2 -1
- package/src/funding/card/jcb/config.js +2 -1
- package/src/funding/card/mastercard/config.js +2 -1
- package/src/funding/card/visa/config.js +2 -1
- package/src/funding/credit/config.jsx +7 -4
- package/src/funding/eps/config.jsx +2 -1
- package/src/funding/giropay/config.jsx +2 -1
- package/src/funding/ideal/config.jsx +2 -11
- package/src/funding/itau/config.jsx +2 -1
- package/src/funding/maxima/config.jsx +2 -1
- package/src/funding/mercadopago/config.jsx +2 -1
- package/src/funding/multibanco/config.jsx +2 -1
- package/src/funding/mybank/config.jsx +2 -1
- package/src/funding/oxxo/config.jsx +2 -1
- package/src/funding/p24/config.jsx +2 -1
- package/src/funding/paylater/config.jsx +2 -1
- package/src/funding/paypal/template.jsx +12 -13
- package/src/funding/payu/config.jsx +2 -1
- package/src/funding/satispay/config.jsx +2 -1
- package/src/funding/sepa/config.jsx +2 -1
- package/src/funding/sofort/config.jsx +2 -1
- package/src/funding/trustly/config.jsx +2 -1
- package/src/funding/venmo/config.jsx +3 -1
- package/src/funding/venmo/template.jsx +3 -2
- package/src/funding/verkkopankki/config.jsx +2 -1
- package/src/funding/wechatpay/config.jsx +2 -1
- package/src/funding/zimpler/config.jsx +2 -1
- package/src/interface/card-fields.js +6 -0
- package/src/lib/getLogoCDNExperiment.js +15 -2
- package/src/zoid/buttons/prerender.jsx +0 -15
|
@@ -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 getTrustlyConfig() : FundingSourceConfig {
|
|
12
13
|
return {
|
|
@@ -20,7 +21,7 @@ export function getTrustlyConfig() : FundingSourceConfig {
|
|
|
20
21
|
BUTTON_LAYOUT.VERTICAL
|
|
21
22
|
],
|
|
22
23
|
|
|
23
|
-
Logo: ({ logoColor, optional }) => TrustlyLogo
|
|
24
|
+
Logo: ({ logoColor, optional }) => enableLogoCDNExperiment(TrustlyLogo, { logoColor, optional }),
|
|
24
25
|
|
|
25
26
|
Label: ({ logo, ...opts }) => {
|
|
26
27
|
if (__WEB__) {
|
|
@@ -6,9 +6,11 @@ import { PLATFORM } from '@paypal/sdk-constants/src';
|
|
|
6
6
|
|
|
7
7
|
import { BUTTON_COLOR, BUTTON_LAYOUT } from '../../constants';
|
|
8
8
|
import { DEFAULT_FUNDING_CONFIG, type FundingSourceConfig } from '../common';
|
|
9
|
+
import { enableLogoCDNExperiment } from '../../lib/getLogoCDNExperiment';
|
|
9
10
|
|
|
10
11
|
import { WalletLabel, Label, AppLabel } from './template';
|
|
11
12
|
|
|
13
|
+
|
|
12
14
|
export function getVenmoConfig() : FundingSourceConfig {
|
|
13
15
|
return {
|
|
14
16
|
...DEFAULT_FUNDING_CONFIG,
|
|
@@ -39,7 +41,7 @@ export function getVenmoConfig() : FundingSourceConfig {
|
|
|
39
41
|
return {};
|
|
40
42
|
},
|
|
41
43
|
|
|
42
|
-
Logo: ({ logoColor, optional }) => VenmoLogo
|
|
44
|
+
Logo: ({ logoColor, optional }) => enableLogoCDNExperiment(VenmoLogo, { logoColor, optional }),
|
|
43
45
|
|
|
44
46
|
Label: ({ ...props }) => {
|
|
45
47
|
if (props.experiment && props.experiment.enableVenmoAppLabel) {
|
|
@@ -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
|
-
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
20
|
+
Logo: ({ logoColor, optional }) => enableLogoCDNExperiment(ZimplerLogo, { logoColor, optional })
|
|
20
21
|
};
|
|
21
22
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* @flow */
|
|
2
2
|
|
|
3
|
+
import { destroy as zoidDestroy } from '@krakenjs/zoid/src';
|
|
4
|
+
|
|
3
5
|
import type { LazyExport } from '../types';
|
|
4
6
|
import { getCardFieldsComponent, type CardFieldsComponent } from '../zoid/card-fields/component';
|
|
5
7
|
import { protectedExport } from '../lib';
|
|
@@ -7,3 +9,7 @@ import { protectedExport } from '../lib';
|
|
|
7
9
|
export const CardFields : LazyExport<CardFieldsComponent> = {
|
|
8
10
|
__get__: () => protectedExport(getCardFieldsComponent())
|
|
9
11
|
};
|
|
12
|
+
|
|
13
|
+
export function destroy(err? : mixed) {
|
|
14
|
+
zoidDestroy(err);
|
|
15
|
+
}
|
|
@@ -2,11 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
import { createExperiment } from "@paypal/sdk-client/src";
|
|
4
4
|
import type { Experiment } from "@krakenjs/belter/src";
|
|
5
|
+
import type { ChildType } from "@krakenjs/jsx-pragmatic/src";
|
|
5
6
|
|
|
6
7
|
export function getLogoCDNExperiment(): Experiment {
|
|
7
8
|
return createExperiment("enable_logo_cdn", 100);
|
|
8
9
|
}
|
|
9
10
|
|
|
10
|
-
export function
|
|
11
|
-
|
|
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);
|
|
12
25
|
}
|
|
@@ -13,7 +13,6 @@ import { DEFAULT_POPUP_SIZE } from '../checkout';
|
|
|
13
13
|
import { EXPERIENCE } from '../../constants';
|
|
14
14
|
import { Buttons } from '../../ui';
|
|
15
15
|
import { type ButtonProps } from '../../ui/buttons/props';
|
|
16
|
-
import { getPrefetchCDNExperiment } from '../../lib/getLogoCDNExperiment';
|
|
17
16
|
|
|
18
17
|
type PrerenderedButtonsProps = {|
|
|
19
18
|
nonce : ?string,
|
|
@@ -25,22 +24,8 @@ type PrerenderedButtonsProps = {|
|
|
|
25
24
|
|}) => void
|
|
26
25
|
|};
|
|
27
26
|
|
|
28
|
-
function prefetchImage(src: string): void {
|
|
29
|
-
const link = document.createElement("link");
|
|
30
|
-
link.rel = "prefetch";
|
|
31
|
-
link.as = "image";
|
|
32
|
-
link.href = src;
|
|
33
|
-
document.head?.append(link);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
27
|
export function PrerenderedButtons({ nonce, onRenderCheckout, props } : PrerenderedButtonsProps) : ChildType {
|
|
37
28
|
let win;
|
|
38
|
-
|
|
39
|
-
if (getPrefetchCDNExperiment().isEnabled()) {
|
|
40
|
-
prefetchImage('https://www.paypalobjects.com/js-sdk-logos/2.1.1/ideal-default.svg'
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
29
|
const handleClick = (
|
|
45
30
|
// eslint-disable-next-line no-undef
|
|
46
31
|
event : SyntheticInputEvent<HTMLInputElement>,
|