@economist/web-apple-pay 1.11.1 → 1.12.0
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/README.md +2 -1
- package/dist/index.js +13 -5
- package/dist/src/apple-pay-button.d.ts +6 -4
- package/dist/src/apple-pay-button.js +12 -5
- package/dist/src/apple-pay-button.stories.js +12 -5
- package/dist/src/apple-pay-modal.js +3 -1
- package/dist/src/apple-pay-modal.stories.js +12 -5
- package/dist/src/constants.d.ts +3 -1
- package/dist/src/constants.js +1 -0
- package/dist/src/index.js +13 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -127,6 +127,7 @@ Consumers should listen for this event and continue payment orchestration.
|
|
|
127
127
|
- `createIfEnabled(offer, country, entryPoint?)`: returns a configured button or `null`.
|
|
128
128
|
- `DUAL_OFFER_BANNER` (or omitted): always-on after offer exclusions — no homepage/Safari gate at `createIfEnabled` (device gating via `isApplePayAvailable` on mount); no banners Amplitude experiment / `$exposure`.
|
|
129
129
|
- `FREE_TRIAL_BANNER`: same always-on-after-exclusions gate as Dual; wallet impression `entry_point` is `free_trial_banner`.
|
|
130
|
+
- `FREE_TRIAL_POPUP`: same always-on-after-exclusions gate; no Amplitude `getVariant` / `$exposure`. Wallet impression `entry_point` is `free_trial_popup`.
|
|
130
131
|
- `PAYWALL`: experiment-gated via `apple-pay-express-checkout-on-paywalls` (`treatment` or QA URL).
|
|
131
132
|
- `REGWALL`: inert — always returns `null`.
|
|
132
133
|
- `ApplePayModal`: modal component class.
|
|
@@ -147,7 +148,7 @@ Check:
|
|
|
147
148
|
- `configureApplePay(...)` was called before rendering (with a valid `merchantId` and `walletApiBaseUrl`)
|
|
148
149
|
- device/browser supports Apple Pay (Safari on Apple device required — enforced by `isApplePayAvailable` on mount)
|
|
149
150
|
- for paywalls: Amplitude treatment (or `?FEATURE_APPLE_PAY_EXPRESS_CHECKOUT`) is satisfied, plus Safari/Apple placement eligibility
|
|
150
|
-
- for banners
|
|
151
|
+
- for banners / `FREE_TRIAL_POPUP`: consumer kill switch off (no homepage/Safari gate at `createIfEnabled`; not Amplitude-gated)
|
|
151
152
|
- offer variant is not excluded (`bundle`, `insider_print`)
|
|
152
153
|
|
|
153
154
|
### Logged-in checkbox copy looks wrong
|
package/dist/index.js
CHANGED
|
@@ -83,7 +83,9 @@ var apple_pay_modal_template_default = `<style>
|
|
|
83
83
|
left: 0;
|
|
84
84
|
width: 100%;
|
|
85
85
|
height: 100%;
|
|
86
|
-
|
|
86
|
+
/* Above acquisition DualOfferBanner (1000) and Engagement ribbon (96).
|
|
87
|
+
Was 97 for wall/ribbon hosts only; hosts without a ribbon clamp need this. */
|
|
88
|
+
z-index: 1100;
|
|
87
89
|
background: rgba(13, 13, 13, 0.7);
|
|
88
90
|
display: flex;
|
|
89
91
|
align-items: center;
|
|
@@ -1309,6 +1311,7 @@ var ApplePayEntryPoint = /* @__PURE__ */ ((ApplePayEntryPoint2) => {
|
|
|
1309
1311
|
ApplePayEntryPoint2["REGWALL"] = "article_regwall";
|
|
1310
1312
|
ApplePayEntryPoint2["DUAL_OFFER_BANNER"] = "dual_offer_banner";
|
|
1311
1313
|
ApplePayEntryPoint2["FREE_TRIAL_BANNER"] = "free_trial_banner";
|
|
1314
|
+
ApplePayEntryPoint2["FREE_TRIAL_POPUP"] = "free_trial_popup";
|
|
1312
1315
|
return ApplePayEntryPoint2;
|
|
1313
1316
|
})(ApplePayEntryPoint || {});
|
|
1314
1317
|
var APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY = "apple-pay-express-checkout-on-paywalls";
|
|
@@ -2001,6 +2004,9 @@ var ENTRY_POINT_CONFIG = {
|
|
|
2001
2004
|
["article_regwall" /* REGWALL */]: {
|
|
2002
2005
|
isEligible: () => true,
|
|
2003
2006
|
enabled: false
|
|
2007
|
+
},
|
|
2008
|
+
["free_trial_popup" /* FREE_TRIAL_POPUP */]: {
|
|
2009
|
+
isEligible: () => true
|
|
2004
2010
|
}
|
|
2005
2011
|
};
|
|
2006
2012
|
var FEATURE_APPLE_PAY_EXPRESS_CHECKOUT = "FEATURE_APPLE_PAY_EXPRESS_CHECKOUT";
|
|
@@ -2026,6 +2032,8 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2026
2032
|
* `$exposure`.
|
|
2027
2033
|
* - `FREE_TRIAL_BANNER`: same always-on-after-exclusions gate as Dual; distinct
|
|
2028
2034
|
* TEDL `entry_point` string (`free_trial_banner`) for wallet impression attribution.
|
|
2035
|
+
* - `FREE_TRIAL_POPUP`: same always-on-after-exclusions gate; no Amplitude
|
|
2036
|
+
* `getVariant` / `$exposure`. Distinct TEDL `entry_point` (`free_trial_popup`).
|
|
2029
2037
|
* - `PAYWALL`: experiment-gated via {@link APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY}
|
|
2030
2038
|
* (`treatment` or QA URL param). The host must set up
|
|
2031
2039
|
* `window.experimentIntegration` before calling for this entry point.
|
|
@@ -2033,14 +2041,14 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2033
2041
|
*
|
|
2034
2042
|
* **PAYWALL only — transition period:** the legacy
|
|
2035
2043
|
* `FEATURE_APPLE_PAY_EXPRESS_CHECKOUT` URL param can show the button without
|
|
2036
|
-
* treatment (and without inflating `$exposure`). For banners there is no
|
|
2044
|
+
* treatment (and without inflating `$exposure`). For banners / popup there is no
|
|
2037
2045
|
* experiment gate; `BYPASS_APPLE_PAY_CHECKS` only skips device checks in
|
|
2038
2046
|
* `isApplePayAvailable()` on mount.
|
|
2039
2047
|
*
|
|
2040
2048
|
* **Eligibility:**
|
|
2041
|
-
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` (or omitted):
|
|
2042
|
-
* this gate (homepage placement is host-owned; Safari/Apple
|
|
2043
|
-
* later by `isApplePayAvailable()` on mount)
|
|
2049
|
+
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` / `FREE_TRIAL_POPUP` (or omitted):
|
|
2050
|
+
* always eligible at this gate (homepage placement is host-owned; Safari/Apple
|
|
2051
|
+
* is enforced later by `isApplePayAvailable()` on mount)
|
|
2044
2052
|
* - `PAYWALL`: Safari/Apple device only (no homepage) — article paywalls
|
|
2045
2053
|
*
|
|
2046
2054
|
* @param offer - The offer to display in the Apple Pay flow.
|
|
@@ -13,6 +13,8 @@ export declare class ApplePayButton extends HTMLElement {
|
|
|
13
13
|
* `$exposure`.
|
|
14
14
|
* - `FREE_TRIAL_BANNER`: same always-on-after-exclusions gate as Dual; distinct
|
|
15
15
|
* TEDL `entry_point` string (`free_trial_banner`) for wallet impression attribution.
|
|
16
|
+
* - `FREE_TRIAL_POPUP`: same always-on-after-exclusions gate; no Amplitude
|
|
17
|
+
* `getVariant` / `$exposure`. Distinct TEDL `entry_point` (`free_trial_popup`).
|
|
16
18
|
* - `PAYWALL`: experiment-gated via {@link APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY}
|
|
17
19
|
* (`treatment` or QA URL param). The host must set up
|
|
18
20
|
* `window.experimentIntegration` before calling for this entry point.
|
|
@@ -20,14 +22,14 @@ export declare class ApplePayButton extends HTMLElement {
|
|
|
20
22
|
*
|
|
21
23
|
* **PAYWALL only — transition period:** the legacy
|
|
22
24
|
* `FEATURE_APPLE_PAY_EXPRESS_CHECKOUT` URL param can show the button without
|
|
23
|
-
* treatment (and without inflating `$exposure`). For banners there is no
|
|
25
|
+
* treatment (and without inflating `$exposure`). For banners / popup there is no
|
|
24
26
|
* experiment gate; `BYPASS_APPLE_PAY_CHECKS` only skips device checks in
|
|
25
27
|
* `isApplePayAvailable()` on mount.
|
|
26
28
|
*
|
|
27
29
|
* **Eligibility:**
|
|
28
|
-
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` (or omitted):
|
|
29
|
-
* this gate (homepage placement is host-owned; Safari/Apple
|
|
30
|
-
* later by `isApplePayAvailable()` on mount)
|
|
30
|
+
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` / `FREE_TRIAL_POPUP` (or omitted):
|
|
31
|
+
* always eligible at this gate (homepage placement is host-owned; Safari/Apple
|
|
32
|
+
* is enforced later by `isApplePayAvailable()` on mount)
|
|
31
33
|
* - `PAYWALL`: Safari/Apple device only (no homepage) — article paywalls
|
|
32
34
|
*
|
|
33
35
|
* @param offer - The offer to display in the Apple Pay flow.
|
|
@@ -83,7 +83,9 @@ var apple_pay_modal_template_default = `<style>
|
|
|
83
83
|
left: 0;
|
|
84
84
|
width: 100%;
|
|
85
85
|
height: 100%;
|
|
86
|
-
|
|
86
|
+
/* Above acquisition DualOfferBanner (1000) and Engagement ribbon (96).
|
|
87
|
+
Was 97 for wall/ribbon hosts only; hosts without a ribbon clamp need this. */
|
|
88
|
+
z-index: 1100;
|
|
87
89
|
background: rgba(13, 13, 13, 0.7);
|
|
88
90
|
display: flex;
|
|
89
91
|
align-items: center;
|
|
@@ -1989,6 +1991,9 @@ var ENTRY_POINT_CONFIG = {
|
|
|
1989
1991
|
["article_regwall" /* REGWALL */]: {
|
|
1990
1992
|
isEligible: () => true,
|
|
1991
1993
|
enabled: false
|
|
1994
|
+
},
|
|
1995
|
+
["free_trial_popup" /* FREE_TRIAL_POPUP */]: {
|
|
1996
|
+
isEligible: () => true
|
|
1992
1997
|
}
|
|
1993
1998
|
};
|
|
1994
1999
|
var FEATURE_APPLE_PAY_EXPRESS_CHECKOUT = "FEATURE_APPLE_PAY_EXPRESS_CHECKOUT";
|
|
@@ -2014,6 +2019,8 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2014
2019
|
* `$exposure`.
|
|
2015
2020
|
* - `FREE_TRIAL_BANNER`: same always-on-after-exclusions gate as Dual; distinct
|
|
2016
2021
|
* TEDL `entry_point` string (`free_trial_banner`) for wallet impression attribution.
|
|
2022
|
+
* - `FREE_TRIAL_POPUP`: same always-on-after-exclusions gate; no Amplitude
|
|
2023
|
+
* `getVariant` / `$exposure`. Distinct TEDL `entry_point` (`free_trial_popup`).
|
|
2017
2024
|
* - `PAYWALL`: experiment-gated via {@link APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY}
|
|
2018
2025
|
* (`treatment` or QA URL param). The host must set up
|
|
2019
2026
|
* `window.experimentIntegration` before calling for this entry point.
|
|
@@ -2021,14 +2028,14 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2021
2028
|
*
|
|
2022
2029
|
* **PAYWALL only — transition period:** the legacy
|
|
2023
2030
|
* `FEATURE_APPLE_PAY_EXPRESS_CHECKOUT` URL param can show the button without
|
|
2024
|
-
* treatment (and without inflating `$exposure`). For banners there is no
|
|
2031
|
+
* treatment (and without inflating `$exposure`). For banners / popup there is no
|
|
2025
2032
|
* experiment gate; `BYPASS_APPLE_PAY_CHECKS` only skips device checks in
|
|
2026
2033
|
* `isApplePayAvailable()` on mount.
|
|
2027
2034
|
*
|
|
2028
2035
|
* **Eligibility:**
|
|
2029
|
-
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` (or omitted):
|
|
2030
|
-
* this gate (homepage placement is host-owned; Safari/Apple
|
|
2031
|
-
* later by `isApplePayAvailable()` on mount)
|
|
2036
|
+
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` / `FREE_TRIAL_POPUP` (or omitted):
|
|
2037
|
+
* always eligible at this gate (homepage placement is host-owned; Safari/Apple
|
|
2038
|
+
* is enforced later by `isApplePayAvailable()` on mount)
|
|
2032
2039
|
* - `PAYWALL`: Safari/Apple device only (no homepage) — article paywalls
|
|
2033
2040
|
*
|
|
2034
2041
|
* @param offer - The offer to display in the Apple Pay flow.
|
|
@@ -83,7 +83,9 @@ var apple_pay_modal_template_default = `<style>
|
|
|
83
83
|
left: 0;
|
|
84
84
|
width: 100%;
|
|
85
85
|
height: 100%;
|
|
86
|
-
|
|
86
|
+
/* Above acquisition DualOfferBanner (1000) and Engagement ribbon (96).
|
|
87
|
+
Was 97 for wall/ribbon hosts only; hosts without a ribbon clamp need this. */
|
|
88
|
+
z-index: 1100;
|
|
87
89
|
background: rgba(13, 13, 13, 0.7);
|
|
88
90
|
display: flex;
|
|
89
91
|
align-items: center;
|
|
@@ -1997,6 +1999,9 @@ var ENTRY_POINT_CONFIG = {
|
|
|
1997
1999
|
["article_regwall" /* REGWALL */]: {
|
|
1998
2000
|
isEligible: () => true,
|
|
1999
2001
|
enabled: false
|
|
2002
|
+
},
|
|
2003
|
+
["free_trial_popup" /* FREE_TRIAL_POPUP */]: {
|
|
2004
|
+
isEligible: () => true
|
|
2000
2005
|
}
|
|
2001
2006
|
};
|
|
2002
2007
|
var FEATURE_APPLE_PAY_EXPRESS_CHECKOUT = "FEATURE_APPLE_PAY_EXPRESS_CHECKOUT";
|
|
@@ -2022,6 +2027,8 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2022
2027
|
* `$exposure`.
|
|
2023
2028
|
* - `FREE_TRIAL_BANNER`: same always-on-after-exclusions gate as Dual; distinct
|
|
2024
2029
|
* TEDL `entry_point` string (`free_trial_banner`) for wallet impression attribution.
|
|
2030
|
+
* - `FREE_TRIAL_POPUP`: same always-on-after-exclusions gate; no Amplitude
|
|
2031
|
+
* `getVariant` / `$exposure`. Distinct TEDL `entry_point` (`free_trial_popup`).
|
|
2025
2032
|
* - `PAYWALL`: experiment-gated via {@link APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY}
|
|
2026
2033
|
* (`treatment` or QA URL param). The host must set up
|
|
2027
2034
|
* `window.experimentIntegration` before calling for this entry point.
|
|
@@ -2029,14 +2036,14 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2029
2036
|
*
|
|
2030
2037
|
* **PAYWALL only — transition period:** the legacy
|
|
2031
2038
|
* `FEATURE_APPLE_PAY_EXPRESS_CHECKOUT` URL param can show the button without
|
|
2032
|
-
* treatment (and without inflating `$exposure`). For banners there is no
|
|
2039
|
+
* treatment (and without inflating `$exposure`). For banners / popup there is no
|
|
2033
2040
|
* experiment gate; `BYPASS_APPLE_PAY_CHECKS` only skips device checks in
|
|
2034
2041
|
* `isApplePayAvailable()` on mount.
|
|
2035
2042
|
*
|
|
2036
2043
|
* **Eligibility:**
|
|
2037
|
-
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` (or omitted):
|
|
2038
|
-
* this gate (homepage placement is host-owned; Safari/Apple
|
|
2039
|
-
* later by `isApplePayAvailable()` on mount)
|
|
2044
|
+
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` / `FREE_TRIAL_POPUP` (or omitted):
|
|
2045
|
+
* always eligible at this gate (homepage placement is host-owned; Safari/Apple
|
|
2046
|
+
* is enforced later by `isApplePayAvailable()` on mount)
|
|
2040
2047
|
* - `PAYWALL`: Safari/Apple device only (no homepage) — article paywalls
|
|
2041
2048
|
*
|
|
2042
2049
|
* @param offer - The offer to display in the Apple Pay flow.
|
|
@@ -83,7 +83,9 @@ var apple_pay_modal_template_default = `<style>
|
|
|
83
83
|
left: 0;
|
|
84
84
|
width: 100%;
|
|
85
85
|
height: 100%;
|
|
86
|
-
|
|
86
|
+
/* Above acquisition DualOfferBanner (1000) and Engagement ribbon (96).
|
|
87
|
+
Was 97 for wall/ribbon hosts only; hosts without a ribbon clamp need this. */
|
|
88
|
+
z-index: 1100;
|
|
87
89
|
background: rgba(13, 13, 13, 0.7);
|
|
88
90
|
display: flex;
|
|
89
91
|
align-items: center;
|
|
@@ -83,7 +83,9 @@ var apple_pay_modal_template_default = `<style>
|
|
|
83
83
|
left: 0;
|
|
84
84
|
width: 100%;
|
|
85
85
|
height: 100%;
|
|
86
|
-
|
|
86
|
+
/* Above acquisition DualOfferBanner (1000) and Engagement ribbon (96).
|
|
87
|
+
Was 97 for wall/ribbon hosts only; hosts without a ribbon clamp need this. */
|
|
88
|
+
z-index: 1100;
|
|
87
89
|
background: rgba(13, 13, 13, 0.7);
|
|
88
90
|
display: flex;
|
|
89
91
|
align-items: center;
|
|
@@ -1989,6 +1991,9 @@ var ENTRY_POINT_CONFIG = {
|
|
|
1989
1991
|
["article_regwall" /* REGWALL */]: {
|
|
1990
1992
|
isEligible: () => true,
|
|
1991
1993
|
enabled: false
|
|
1994
|
+
},
|
|
1995
|
+
["free_trial_popup" /* FREE_TRIAL_POPUP */]: {
|
|
1996
|
+
isEligible: () => true
|
|
1992
1997
|
}
|
|
1993
1998
|
};
|
|
1994
1999
|
var FEATURE_APPLE_PAY_EXPRESS_CHECKOUT = "FEATURE_APPLE_PAY_EXPRESS_CHECKOUT";
|
|
@@ -2014,6 +2019,8 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2014
2019
|
* `$exposure`.
|
|
2015
2020
|
* - `FREE_TRIAL_BANNER`: same always-on-after-exclusions gate as Dual; distinct
|
|
2016
2021
|
* TEDL `entry_point` string (`free_trial_banner`) for wallet impression attribution.
|
|
2022
|
+
* - `FREE_TRIAL_POPUP`: same always-on-after-exclusions gate; no Amplitude
|
|
2023
|
+
* `getVariant` / `$exposure`. Distinct TEDL `entry_point` (`free_trial_popup`).
|
|
2017
2024
|
* - `PAYWALL`: experiment-gated via {@link APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY}
|
|
2018
2025
|
* (`treatment` or QA URL param). The host must set up
|
|
2019
2026
|
* `window.experimentIntegration` before calling for this entry point.
|
|
@@ -2021,14 +2028,14 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2021
2028
|
*
|
|
2022
2029
|
* **PAYWALL only — transition period:** the legacy
|
|
2023
2030
|
* `FEATURE_APPLE_PAY_EXPRESS_CHECKOUT` URL param can show the button without
|
|
2024
|
-
* treatment (and without inflating `$exposure`). For banners there is no
|
|
2031
|
+
* treatment (and without inflating `$exposure`). For banners / popup there is no
|
|
2025
2032
|
* experiment gate; `BYPASS_APPLE_PAY_CHECKS` only skips device checks in
|
|
2026
2033
|
* `isApplePayAvailable()` on mount.
|
|
2027
2034
|
*
|
|
2028
2035
|
* **Eligibility:**
|
|
2029
|
-
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` (or omitted):
|
|
2030
|
-
* this gate (homepage placement is host-owned; Safari/Apple
|
|
2031
|
-
* later by `isApplePayAvailable()` on mount)
|
|
2036
|
+
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` / `FREE_TRIAL_POPUP` (or omitted):
|
|
2037
|
+
* always eligible at this gate (homepage placement is host-owned; Safari/Apple
|
|
2038
|
+
* is enforced later by `isApplePayAvailable()` on mount)
|
|
2032
2039
|
* - `PAYWALL`: Safari/Apple device only (no homepage) — article paywalls
|
|
2033
2040
|
*
|
|
2034
2041
|
* @param offer - The offer to display in the Apple Pay flow.
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ export declare enum ApplePayEntryPoint {
|
|
|
2
2
|
PAYWALL = "article_paywall",
|
|
3
3
|
REGWALL = "article_regwall",
|
|
4
4
|
DUAL_OFFER_BANNER = "dual_offer_banner",
|
|
5
|
-
FREE_TRIAL_BANNER = "free_trial_banner"
|
|
5
|
+
FREE_TRIAL_BANNER = "free_trial_banner",
|
|
6
|
+
/** Post-registration free-trial popup. Not Amplitude-gated. */
|
|
7
|
+
FREE_TRIAL_POPUP = "free_trial_popup"
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Amplitude experiment key for Apple Pay Express Checkout on article paywalls
|
package/dist/src/constants.js
CHANGED
|
@@ -4,6 +4,7 @@ var ApplePayEntryPoint = /* @__PURE__ */ ((ApplePayEntryPoint2) => {
|
|
|
4
4
|
ApplePayEntryPoint2["REGWALL"] = "article_regwall";
|
|
5
5
|
ApplePayEntryPoint2["DUAL_OFFER_BANNER"] = "dual_offer_banner";
|
|
6
6
|
ApplePayEntryPoint2["FREE_TRIAL_BANNER"] = "free_trial_banner";
|
|
7
|
+
ApplePayEntryPoint2["FREE_TRIAL_POPUP"] = "free_trial_popup";
|
|
7
8
|
return ApplePayEntryPoint2;
|
|
8
9
|
})(ApplePayEntryPoint || {});
|
|
9
10
|
var APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY = "apple-pay-express-checkout-on-paywalls";
|
package/dist/src/index.js
CHANGED
|
@@ -83,7 +83,9 @@ var apple_pay_modal_template_default = `<style>
|
|
|
83
83
|
left: 0;
|
|
84
84
|
width: 100%;
|
|
85
85
|
height: 100%;
|
|
86
|
-
|
|
86
|
+
/* Above acquisition DualOfferBanner (1000) and Engagement ribbon (96).
|
|
87
|
+
Was 97 for wall/ribbon hosts only; hosts without a ribbon clamp need this. */
|
|
88
|
+
z-index: 1100;
|
|
87
89
|
background: rgba(13, 13, 13, 0.7);
|
|
88
90
|
display: flex;
|
|
89
91
|
align-items: center;
|
|
@@ -1309,6 +1311,7 @@ var ApplePayEntryPoint = /* @__PURE__ */ ((ApplePayEntryPoint2) => {
|
|
|
1309
1311
|
ApplePayEntryPoint2["REGWALL"] = "article_regwall";
|
|
1310
1312
|
ApplePayEntryPoint2["DUAL_OFFER_BANNER"] = "dual_offer_banner";
|
|
1311
1313
|
ApplePayEntryPoint2["FREE_TRIAL_BANNER"] = "free_trial_banner";
|
|
1314
|
+
ApplePayEntryPoint2["FREE_TRIAL_POPUP"] = "free_trial_popup";
|
|
1312
1315
|
return ApplePayEntryPoint2;
|
|
1313
1316
|
})(ApplePayEntryPoint || {});
|
|
1314
1317
|
var APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY = "apple-pay-express-checkout-on-paywalls";
|
|
@@ -2001,6 +2004,9 @@ var ENTRY_POINT_CONFIG = {
|
|
|
2001
2004
|
["article_regwall" /* REGWALL */]: {
|
|
2002
2005
|
isEligible: () => true,
|
|
2003
2006
|
enabled: false
|
|
2007
|
+
},
|
|
2008
|
+
["free_trial_popup" /* FREE_TRIAL_POPUP */]: {
|
|
2009
|
+
isEligible: () => true
|
|
2004
2010
|
}
|
|
2005
2011
|
};
|
|
2006
2012
|
var FEATURE_APPLE_PAY_EXPRESS_CHECKOUT = "FEATURE_APPLE_PAY_EXPRESS_CHECKOUT";
|
|
@@ -2026,6 +2032,8 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2026
2032
|
* `$exposure`.
|
|
2027
2033
|
* - `FREE_TRIAL_BANNER`: same always-on-after-exclusions gate as Dual; distinct
|
|
2028
2034
|
* TEDL `entry_point` string (`free_trial_banner`) for wallet impression attribution.
|
|
2035
|
+
* - `FREE_TRIAL_POPUP`: same always-on-after-exclusions gate; no Amplitude
|
|
2036
|
+
* `getVariant` / `$exposure`. Distinct TEDL `entry_point` (`free_trial_popup`).
|
|
2029
2037
|
* - `PAYWALL`: experiment-gated via {@link APPLE_PAY_EXPRESS_PAYWALLS_EXPERIMENT_KEY}
|
|
2030
2038
|
* (`treatment` or QA URL param). The host must set up
|
|
2031
2039
|
* `window.experimentIntegration` before calling for this entry point.
|
|
@@ -2033,14 +2041,14 @@ var ApplePayButton = class _ApplePayButton extends HTMLElement {
|
|
|
2033
2041
|
*
|
|
2034
2042
|
* **PAYWALL only — transition period:** the legacy
|
|
2035
2043
|
* `FEATURE_APPLE_PAY_EXPRESS_CHECKOUT` URL param can show the button without
|
|
2036
|
-
* treatment (and without inflating `$exposure`). For banners there is no
|
|
2044
|
+
* treatment (and without inflating `$exposure`). For banners / popup there is no
|
|
2037
2045
|
* experiment gate; `BYPASS_APPLE_PAY_CHECKS` only skips device checks in
|
|
2038
2046
|
* `isApplePayAvailable()` on mount.
|
|
2039
2047
|
*
|
|
2040
2048
|
* **Eligibility:**
|
|
2041
|
-
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` (or omitted):
|
|
2042
|
-
* this gate (homepage placement is host-owned; Safari/Apple
|
|
2043
|
-
* later by `isApplePayAvailable()` on mount)
|
|
2049
|
+
* - `DUAL_OFFER_BANNER` / `FREE_TRIAL_BANNER` / `FREE_TRIAL_POPUP` (or omitted):
|
|
2050
|
+
* always eligible at this gate (homepage placement is host-owned; Safari/Apple
|
|
2051
|
+
* is enforced later by `isApplePayAvailable()` on mount)
|
|
2044
2052
|
* - `PAYWALL`: Safari/Apple device only (no homepage) — article paywalls
|
|
2045
2053
|
*
|
|
2046
2054
|
* @param offer - The offer to display in the Apple Pay flow.
|