@zonos/elements 1.0.17-alpha.0 → 1.0.17-alpha.1
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/collection/scripts/loadStripe.js +3 -3
- package/dist/collection/scripts/loadStripe.js.map +1 -1
- package/dist/collection/scripts/stripe.js +3 -3
- package/dist/collection/scripts/stripe.js.map +1 -1
- package/dist/collection/scripts/zonos.js +2 -2
- package/dist/collection/scripts/zonos.js.map +1 -1
- package/dist/scripts/loadStripe.js +6 -6
- package/dist/scripts/loadZonos.js +7 -7
- package/dist/scripts/stripe.js +5 -5
- package/dist/scripts/zonos.js +7 -7
- package/dist/types/scripts/loadStripe.d.ts +1 -1
- package/dist/types/scripts/stripe.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Execute our own script injection after a tick to give users time to do their
|
|
2
|
-
import { initStripe,
|
|
2
|
+
import { initStripe, zonosStripeLoadScript, } from "./stripe";
|
|
3
3
|
// own script injection.
|
|
4
|
-
const stripePromise = Promise.resolve().then(() =>
|
|
4
|
+
const stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
|
|
5
5
|
let loadCalled = false;
|
|
6
6
|
stripePromise.catch((err) => {
|
|
7
7
|
if (!loadCalled) {
|
|
@@ -9,7 +9,7 @@ stripePromise.catch((err) => {
|
|
|
9
9
|
console.warn(err);
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
export const
|
|
12
|
+
export const zonosLoadStripe = async (...args) => {
|
|
13
13
|
loadCalled = true;
|
|
14
14
|
const startTime = Date.now();
|
|
15
15
|
return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadStripe.js","sourceRoot":"","sources":["../../src/scripts/loadStripe.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,
|
|
1
|
+
{"version":3,"file":"loadStripe.js","sourceRoot":"","sources":["../../src/scripts/loadStripe.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,EAEL,UAAU,EACV,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,wBAAwB;AACxB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AAEhF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,aAAa,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;EACjC,IAAI,CAAC,UAAU,EAAE;IACf,sCAAsC;IACtC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;GACnB;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAe,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;EAC3D,UAAU,GAAG,IAAI,CAAC;EAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;EAE7B,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CACtC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CACzC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Execute our own script injection after a tick to give users time to do their\n\nimport {\n type LoadStripe,\n initStripe,\n zonosStripeLoadScript,\n} from 'src/scripts/stripe';\n\n// own script injection.\nconst stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));\n\nlet loadCalled = false;\n\nstripePromise.catch((err: Error) => {\n if (!loadCalled) {\n // eslint-disable-next-line no-console\n console.warn(err);\n }\n});\n\nexport const zonosLoadStripe: LoadStripe = async (...args) => {\n loadCalled = true;\n const startTime = Date.now();\n\n return stripePromise.then(maybeStripe =>\n initStripe(maybeStripe, args, startTime),\n );\n};\n"]}
|
|
@@ -4,7 +4,7 @@ import { logError } from "../components/utils/logging/logError";
|
|
|
4
4
|
const V3_URL = 'https://js.stripe.com/v3';
|
|
5
5
|
const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
6
6
|
const EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
7
|
-
export const
|
|
7
|
+
export const zonosStripeFindScript = () => {
|
|
8
8
|
const scripts = document.querySelectorAll(`script[src^="${V3_URL}"]`);
|
|
9
9
|
for (let i = 0; i < scripts.length; i++) {
|
|
10
10
|
const script = scripts[i];
|
|
@@ -31,7 +31,7 @@ export const injectScript = (params) => {
|
|
|
31
31
|
headBody.appendChild(script);
|
|
32
32
|
return script;
|
|
33
33
|
};
|
|
34
|
-
export const
|
|
34
|
+
export const zonosStripeLoadScript = (params) => {
|
|
35
35
|
// Ensure that we only attempt to load Stripe.js at most once
|
|
36
36
|
if (stripePromise !== null) {
|
|
37
37
|
return stripePromise;
|
|
@@ -51,7 +51,7 @@ export const loadScript = (params) => {
|
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
try {
|
|
54
|
-
let script =
|
|
54
|
+
let script = zonosStripeFindScript();
|
|
55
55
|
if (script && params) {
|
|
56
56
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
57
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/scripts/stripe.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iEAAiE;AAIjE,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEjE,MAAM,MAAM,GAAG,0BAA0B,CAAC;AAC1C,MAAM,YAAY,GAAG,2CAA2C,CAAC;AAEjE,MAAM,uBAAuB,GAC3B,kJAAkJ,CAAC;AAWrJ,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/scripts/stripe.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\n/** Loading stripe script extracted from stripe.js repository */\n\nimport type { Stripe, StripeConstructor } from '@stripe/stripe-js';\n\nimport { logError } from 'src/components/utils/logging/logError';\n\nconst V3_URL = 'https://js.stripe.com/v3';\nconst V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\n\nconst EXISTING_SCRIPT_MESSAGE =\n 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport interface LoadParams {\n advancedFraudSignals: boolean;\n}\n\nexport type LoadStripe = (\n ...args: Parameters<StripeConstructor>\n) => Promise<Stripe | null>;\n\nexport const zonosStripeFindScript = (): HTMLScriptElement | null => {\n const scripts = document.querySelectorAll<HTMLScriptElement>(\n `script[src^=\"${V3_URL}\"]`,\n );\n\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (!script) {\n continue;\n }\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nlet stripePromise: Promise<StripeConstructor | null> | null = null;\n\nexport const injectScript = (\n params: null | LoadParams,\n): HTMLScriptElement | null => {\n const queryString =\n params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n const script = document.createElement('script');\n script.src = `${V3_URL}${queryString}`;\n\n const headBody = document.head || document.body;\n\n if (!headBody) {\n logError(\n 'Expected document.body not to be null. Stripe.js requires a <body> element.',\n );\n\n return null;\n }\n\n headBody.appendChild(script);\n\n return script;\n};\n\nexport const zonosStripeLoadScript = (\n params: null | LoadParams,\n): Promise<StripeConstructor | null> => {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise((resolve, reject) => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n let script = zonosStripeFindScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script?.addEventListener('load', () => {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n\n script?.addEventListener('error', () => {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n\n return stripePromise;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst registerWrapper = (stripe: any, startTime: number): void => {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({ name: 'stripe-js', startTime });\n};\n\nexport const initStripe = (\n maybeStripe: StripeConstructor | null,\n args: Parameters<StripeConstructor>,\n startTime: number,\n): Stripe | null => {\n if (maybeStripe === null) {\n return null;\n }\n\n const stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const validateLoadParams = (params: {\n advancedFraudSignals: boolean;\n}): LoadParams | void => {\n const errorMessage = `invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ${JSON.stringify(params)}\n`;\n\n if (params === null || typeof params !== 'object') {\n logError(errorMessage);\n return;\n }\n\n if (\n Object.keys(params).length === 1 &&\n typeof params.advancedFraudSignals === 'boolean'\n ) {\n return params;\n }\n\n logError(errorMessage);\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var _a;
|
|
2
2
|
import { log } from "../components/utils/logging/log";
|
|
3
3
|
import { logError } from "../components/utils/logging/logError";
|
|
4
|
-
import {
|
|
4
|
+
import { zonosLoadStripe } from "./loadStripe";
|
|
5
5
|
const ZONOS_URL = process.env.NEXT_PUBLIC_ZONOS_CDN_URL;
|
|
6
6
|
const INTER_FONT_URL = 'https://rsms.me';
|
|
7
7
|
const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
|
|
@@ -62,7 +62,7 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
|
|
|
62
62
|
zonosController.addEventListener('stripeInitEvent', async (event) => {
|
|
63
63
|
const { detail } = event;
|
|
64
64
|
log('loading Stripe');
|
|
65
|
-
const stripe = await
|
|
65
|
+
const stripe = await zonosLoadStripe(detail.publishableKey);
|
|
66
66
|
if (!stripe) {
|
|
67
67
|
logError('API seems to be invalid or missing. Failed to load Stripe');
|
|
68
68
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zonos.js","sourceRoot":"","sources":["../../src/scripts/zonos.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Stripe } from '@stripe/stripe-js';\n\nimport type { AppearanceConfig } from 'src/components/store/zonosStore';\nimport { log } from 'src/components/utils/logging/log';\nimport { logError } from 'src/components/utils/logging/logError';\nimport { loadStripe } from 'src/scripts/loadStripe';\nimport type { CheckoutConfig, HelloConfig, NotificationInit } from 'src/types';\nimport type { OnlineStoreConfig } from 'src/types/online-store/OnlineStoreConfig';\n\nconst ZONOS_URL = process.env.NEXT_PUBLIC_ZONOS_CDN_URL;\n\nconst INTER_FONT_URL = 'https://rsms.me';\nconst INTER_FONT_REGEX = /^https:\\/\\/rsms\\.me\\/inter\\/inter\\.css(.*)$/;\n\nexport type CurrencyConverter = (\n convertAndFormat: (amount: number) => string,\n convert: (amount: number) => number,\n format: (amount: number) => string,\n selector?: string,\n) => void;\n\nexport type LoadZonosParamsConfig = {\n appearance?: Partial<AppearanceConfig>;\n checkoutSettings?: Partial<CheckoutConfig>;\n currencyConverter?: CurrencyConverter;\n helloSettings?: Partial<HelloConfig>;\n onlineStoreSettings?: Partial<OnlineStoreConfig>;\n};\n\nexport type LoadZonosParams = LoadZonosParamsConfig & {\n zonosApiKey: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport interface Zonos {\n /**\n * Toggle debug mode (add query param 'zonosDebug=1' to url)\n * @default false\n */\n debug?: boolean;\n // status of zonos initialization\n doneInit: boolean;\n /** Stripe instance */\n stripe: Stripe;\n zonosApiKey: string;\n displayCurrency: () => void;\n init: (params: LoadZonosParams) => Promise<void>;\n showNotification: (props: NotificationInit) => void;\n}\n\nexport abstract class Zonos {\n static zonosApiKey: string;\n static stripe: Stripe;\n static doneInit: boolean = false;\n // if query 'zonosDebug=1' param from url, debug mode is on\n static debug: boolean =\n !!window.location.search.match(/\\?.*(&*)zonosDebug=1/);\n\n static init = async ({\n appearance,\n checkoutSettings,\n currencyConverter,\n helloSettings,\n zonosApiKey,\n }: LoadZonosParams) => {\n if (Zonos.doneInit) {\n // do nothing if zonos is already initializeds\n return;\n }\n log('====== ZONOS DEBUG MODE: on ======');\n if (!zonosApiKey) {\n logError('Missing Zonos API key');\n return;\n }\n this.zonosApiKey = zonosApiKey;\n // eslint-disable-next-line no-console\n log('init zonos');\n\n // inject zonos cdn\n Zonos.injectZonosCdn();\n\n // inject css for zonos elements\n Zonos.injectZonosCss();\n\n // inject fonts for zonos elements\n Zonos.injectFonts();\n\n // init zonos controller\n Zonos.injectController({\n config: {\n appearance,\n checkoutSettings,\n currencyConverter,\n helloSettings,\n },\n zonosApiKey,\n });\n Zonos.doneInit = true;\n };\n\n static displayCurrency = () => {\n const zonosHello = document.querySelector('zonos-hello');\n if (zonosHello) {\n void zonosHello.displayCurrency();\n }\n };\n\n static showNotification = (notification: NotificationInit) => {\n const zonosController = document.querySelector('zonos-controller');\n void zonosController?.showNotification(notification);\n };\n\n private static injectController = ({\n config,\n zonosApiKey,\n }: {\n config: LoadZonosParamsConfig;\n zonosApiKey: string;\n }) => {\n if (document.querySelector('zonos-controller')) {\n return;\n }\n const zonosController = document.createElement('zonos-controller');\n zonosController.config = config;\n zonosController.zonosApiKey = zonosApiKey;\n\n zonosController.addEventListener('stripeInitEvent', async event => {\n const { detail } = event as CustomEvent<{\n publishableKey: string;\n }>;\n log('loading Stripe');\n const stripe = await loadStripe(detail.publishableKey);\n if (!stripe) {\n logError('API seems to be invalid or missing. Failed to load Stripe');\n return;\n }\n window.Zonos.stripe = stripe;\n void zonosController.initCheckoutElement(stripe);\n });\n\n document.body.appendChild(zonosController);\n // eslint-disable-next-line no-console\n log('Zonos controller injected!');\n };\n\n private static injectZonosCdn = () => {\n const findScript = () => {\n const scripts = document.querySelectorAll<HTMLScriptElement>(\n `script[src^=\"${ZONOS_URL}/dist/zonos-elements\"]`,\n );\n scripts.forEach(script => {\n if (script.src.indexOf('zonos-elements.js')) {\n return true;\n }\n });\n return false;\n };\n if (findScript()) {\n // eslint-disable-next-line no-console\n log('Zonos script already exists in the document', 'warn');\n return;\n }\n const headOrBody = document.head || document.body;\n // init zonos elements when the zonosKey is valid\n // inject esmodule cdn for zonos elements\n const zonosEsmCdn = document.createElement('script');\n zonosEsmCdn.type = 'module';\n zonosEsmCdn.src = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.esm.js`;\n headOrBody.appendChild(zonosEsmCdn);\n\n // inject non module cdn for zonos elements\n const zonosCdn = document.createElement('script');\n zonosCdn.noModule = true;\n zonosCdn.src = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.js`;\n headOrBody.appendChild(zonosCdn);\n // eslint-disable-next-line no-console\n log('Zonos cdn script injected!');\n };\n\n private static injectZonosCss = () => {\n const findStyleLink = () => {\n return !!document.querySelector<HTMLLinkElement>(\n `link[rel=\"stylesheet\"][href^=\"${ZONOS_URL}/dist/zonos-elements/zonos-elements.css\"]`,\n );\n };\n\n if (findStyleLink()) {\n // eslint-disable-next-line no-console\n log('Zonos style links already injected', 'warn');\n return;\n }\n\n const headOrBody = document.head || document.body;\n // inject css for zonos elements\n const zonosCssPreconnect = document.createElement('link');\n zonosCssPreconnect.rel = 'preconnect';\n zonosCssPreconnect.href = `${ZONOS_URL}/`;\n headOrBody.appendChild(zonosCssPreconnect);\n // inject css for zonos elements\n const zonosCss = document.createElement('link');\n zonosCss.rel = 'stylesheet';\n zonosCss.href = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.css`;\n headOrBody.appendChild(zonosCss);\n // eslint-disable-next-line no-console\n log('Zonos style css injected!');\n };\n\n private static injectFonts = () => {\n const findFont = () => {\n const links = document.querySelectorAll<HTMLLinkElement>(\n `link[rel=\"stylesheet\"][href^=\"${INTER_FONT_URL}\"]`,\n );\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n if (!link) {\n continue;\n }\n\n if (INTER_FONT_REGEX.test(link.href)) {\n continue;\n }\n\n return link;\n }\n\n return null;\n };\n\n if (findFont()) {\n // eslint-disable-next-line no-console\n log('Inter font already injected', 'warn');\n return;\n }\n\n const headOrBody = document.head || document.body;\n\n // inject css for zonos elements\n const fontPreconnect = document.createElement('link');\n fontPreconnect.rel = 'preconnect';\n fontPreconnect.href = INTER_FONT_URL;\n headOrBody.appendChild(fontPreconnect);\n // inject css for zonos elements\n const font = document.createElement('link');\n font.rel = 'stylesheet';\n font.href = `${INTER_FONT_URL}/inter/inter.css`;\n headOrBody.appendChild(font);\n // eslint-disable-next-line no-console\n log('Zonos font injected!');\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"zonos.js","sourceRoot":"","sources":["../../src/scripts/zonos.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Stripe } from '@stripe/stripe-js';\n\nimport type { AppearanceConfig } from 'src/components/store/zonosStore';\nimport { log } from 'src/components/utils/logging/log';\nimport { logError } from 'src/components/utils/logging/logError';\nimport { zonosLoadStripe } from 'src/scripts/loadStripe';\nimport type { CheckoutConfig, HelloConfig, NotificationInit } from 'src/types';\nimport type { OnlineStoreConfig } from 'src/types/online-store/OnlineStoreConfig';\n\nconst ZONOS_URL = process.env.NEXT_PUBLIC_ZONOS_CDN_URL;\n\nconst INTER_FONT_URL = 'https://rsms.me';\nconst INTER_FONT_REGEX = /^https:\\/\\/rsms\\.me\\/inter\\/inter\\.css(.*)$/;\n\nexport type CurrencyConverter = (\n convertAndFormat: (amount: number) => string,\n convert: (amount: number) => number,\n format: (amount: number) => string,\n selector?: string,\n) => void;\n\nexport type LoadZonosParamsConfig = {\n appearance?: Partial<AppearanceConfig>;\n checkoutSettings?: Partial<CheckoutConfig>;\n currencyConverter?: CurrencyConverter;\n helloSettings?: Partial<HelloConfig>;\n onlineStoreSettings?: Partial<OnlineStoreConfig>;\n};\n\nexport type LoadZonosParams = LoadZonosParamsConfig & {\n zonosApiKey: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport interface Zonos {\n /**\n * Toggle debug mode (add query param 'zonosDebug=1' to url)\n * @default false\n */\n debug?: boolean;\n // status of zonos initialization\n doneInit: boolean;\n /** Stripe instance */\n stripe: Stripe;\n zonosApiKey: string;\n displayCurrency: () => void;\n init: (params: LoadZonosParams) => Promise<void>;\n showNotification: (props: NotificationInit) => void;\n}\n\nexport abstract class Zonos {\n static zonosApiKey: string;\n static stripe: Stripe;\n static doneInit: boolean = false;\n // if query 'zonosDebug=1' param from url, debug mode is on\n static debug: boolean =\n !!window.location.search.match(/\\?.*(&*)zonosDebug=1/);\n\n static init = async ({\n appearance,\n checkoutSettings,\n currencyConverter,\n helloSettings,\n zonosApiKey,\n }: LoadZonosParams) => {\n if (Zonos.doneInit) {\n // do nothing if zonos is already initializeds\n return;\n }\n log('====== ZONOS DEBUG MODE: on ======');\n if (!zonosApiKey) {\n logError('Missing Zonos API key');\n return;\n }\n this.zonosApiKey = zonosApiKey;\n // eslint-disable-next-line no-console\n log('init zonos');\n\n // inject zonos cdn\n Zonos.injectZonosCdn();\n\n // inject css for zonos elements\n Zonos.injectZonosCss();\n\n // inject fonts for zonos elements\n Zonos.injectFonts();\n\n // init zonos controller\n Zonos.injectController({\n config: {\n appearance,\n checkoutSettings,\n currencyConverter,\n helloSettings,\n },\n zonosApiKey,\n });\n Zonos.doneInit = true;\n };\n\n static displayCurrency = () => {\n const zonosHello = document.querySelector('zonos-hello');\n if (zonosHello) {\n void zonosHello.displayCurrency();\n }\n };\n\n static showNotification = (notification: NotificationInit) => {\n const zonosController = document.querySelector('zonos-controller');\n void zonosController?.showNotification(notification);\n };\n\n private static injectController = ({\n config,\n zonosApiKey,\n }: {\n config: LoadZonosParamsConfig;\n zonosApiKey: string;\n }) => {\n if (document.querySelector('zonos-controller')) {\n return;\n }\n const zonosController = document.createElement('zonos-controller');\n zonosController.config = config;\n zonosController.zonosApiKey = zonosApiKey;\n\n zonosController.addEventListener('stripeInitEvent', async event => {\n const { detail } = event as CustomEvent<{\n publishableKey: string;\n }>;\n log('loading Stripe');\n const stripe = await zonosLoadStripe(detail.publishableKey);\n if (!stripe) {\n logError('API seems to be invalid or missing. Failed to load Stripe');\n return;\n }\n window.Zonos.stripe = stripe;\n void zonosController.initCheckoutElement(stripe);\n });\n\n document.body.appendChild(zonosController);\n // eslint-disable-next-line no-console\n log('Zonos controller injected!');\n };\n\n private static injectZonosCdn = () => {\n const findScript = () => {\n const scripts = document.querySelectorAll<HTMLScriptElement>(\n `script[src^=\"${ZONOS_URL}/dist/zonos-elements\"]`,\n );\n scripts.forEach(script => {\n if (script.src.indexOf('zonos-elements.js')) {\n return true;\n }\n });\n return false;\n };\n if (findScript()) {\n // eslint-disable-next-line no-console\n log('Zonos script already exists in the document', 'warn');\n return;\n }\n const headOrBody = document.head || document.body;\n // init zonos elements when the zonosKey is valid\n // inject esmodule cdn for zonos elements\n const zonosEsmCdn = document.createElement('script');\n zonosEsmCdn.type = 'module';\n zonosEsmCdn.src = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.esm.js`;\n headOrBody.appendChild(zonosEsmCdn);\n\n // inject non module cdn for zonos elements\n const zonosCdn = document.createElement('script');\n zonosCdn.noModule = true;\n zonosCdn.src = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.js`;\n headOrBody.appendChild(zonosCdn);\n // eslint-disable-next-line no-console\n log('Zonos cdn script injected!');\n };\n\n private static injectZonosCss = () => {\n const findStyleLink = () => {\n return !!document.querySelector<HTMLLinkElement>(\n `link[rel=\"stylesheet\"][href^=\"${ZONOS_URL}/dist/zonos-elements/zonos-elements.css\"]`,\n );\n };\n\n if (findStyleLink()) {\n // eslint-disable-next-line no-console\n log('Zonos style links already injected', 'warn');\n return;\n }\n\n const headOrBody = document.head || document.body;\n // inject css for zonos elements\n const zonosCssPreconnect = document.createElement('link');\n zonosCssPreconnect.rel = 'preconnect';\n zonosCssPreconnect.href = `${ZONOS_URL}/`;\n headOrBody.appendChild(zonosCssPreconnect);\n // inject css for zonos elements\n const zonosCss = document.createElement('link');\n zonosCss.rel = 'stylesheet';\n zonosCss.href = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.css`;\n headOrBody.appendChild(zonosCss);\n // eslint-disable-next-line no-console\n log('Zonos style css injected!');\n };\n\n private static injectFonts = () => {\n const findFont = () => {\n const links = document.querySelectorAll<HTMLLinkElement>(\n `link[rel=\"stylesheet\"][href^=\"${INTER_FONT_URL}\"]`,\n );\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n if (!link) {\n continue;\n }\n\n if (INTER_FONT_REGEX.test(link.href)) {\n continue;\n }\n\n return link;\n }\n\n return null;\n };\n\n if (findFont()) {\n // eslint-disable-next-line no-console\n log('Inter font already injected', 'warn');\n return;\n }\n\n const headOrBody = document.head || document.body;\n\n // inject css for zonos elements\n const fontPreconnect = document.createElement('link');\n fontPreconnect.rel = 'preconnect';\n fontPreconnect.href = INTER_FONT_URL;\n headOrBody.appendChild(fontPreconnect);\n // inject css for zonos elements\n const font = document.createElement('link');\n font.rel = 'stylesheet';\n font.href = `${INTER_FONT_URL}/inter/inter.css`;\n headOrBody.appendChild(font);\n // eslint-disable-next-line no-console\n log('Zonos font injected!');\n };\n}\n"]}
|
|
@@ -10,7 +10,7 @@ const logError = (message, ...rest) => {
|
|
|
10
10
|
const V3_URL = 'https://js.stripe.com/v3';
|
|
11
11
|
const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
12
12
|
const EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
13
|
-
const
|
|
13
|
+
const zonosStripeFindScript = () => {
|
|
14
14
|
const scripts = document.querySelectorAll(`script[src^="${V3_URL}"]`);
|
|
15
15
|
for (let i = 0; i < scripts.length; i++) {
|
|
16
16
|
const script = scripts[i];
|
|
@@ -37,7 +37,7 @@ const injectScript = (params) => {
|
|
|
37
37
|
headBody.appendChild(script);
|
|
38
38
|
return script;
|
|
39
39
|
};
|
|
40
|
-
const
|
|
40
|
+
const zonosStripeLoadScript = (params) => {
|
|
41
41
|
// Ensure that we only attempt to load Stripe.js at most once
|
|
42
42
|
if (stripePromise$1 !== null) {
|
|
43
43
|
return stripePromise$1;
|
|
@@ -57,7 +57,7 @@ const loadScript = (params) => {
|
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
59
|
try {
|
|
60
|
-
let script =
|
|
60
|
+
let script = zonosStripeFindScript();
|
|
61
61
|
if (script && params) {
|
|
62
62
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
63
63
|
}
|
|
@@ -101,7 +101,7 @@ const initStripe = (maybeStripe, args, startTime) => {
|
|
|
101
101
|
|
|
102
102
|
// Execute our own script injection after a tick to give users time to do their
|
|
103
103
|
// own script injection.
|
|
104
|
-
const stripePromise = Promise.resolve().then(() =>
|
|
104
|
+
const stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
|
|
105
105
|
let loadCalled = false;
|
|
106
106
|
stripePromise.catch((err) => {
|
|
107
107
|
if (!loadCalled) {
|
|
@@ -109,10 +109,10 @@ stripePromise.catch((err) => {
|
|
|
109
109
|
console.warn(err);
|
|
110
110
|
}
|
|
111
111
|
});
|
|
112
|
-
const
|
|
112
|
+
const zonosLoadStripe = async (...args) => {
|
|
113
113
|
loadCalled = true;
|
|
114
114
|
const startTime = Date.now();
|
|
115
115
|
return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
-
exports.
|
|
118
|
+
exports.zonosLoadStripe = zonosLoadStripe;
|
|
@@ -35,7 +35,7 @@ const logError = (message, ...rest) => {
|
|
|
35
35
|
const V3_URL = 'https://js.stripe.com/v3';
|
|
36
36
|
const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
37
37
|
const EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
38
|
-
const
|
|
38
|
+
const zonosStripeFindScript = () => {
|
|
39
39
|
const scripts = document.querySelectorAll(`script[src^="${V3_URL}"]`);
|
|
40
40
|
for (let i = 0; i < scripts.length; i++) {
|
|
41
41
|
const script = scripts[i];
|
|
@@ -62,7 +62,7 @@ const injectScript = (params) => {
|
|
|
62
62
|
headBody.appendChild(script);
|
|
63
63
|
return script;
|
|
64
64
|
};
|
|
65
|
-
const
|
|
65
|
+
const zonosStripeLoadScript = (params) => {
|
|
66
66
|
// Ensure that we only attempt to load Stripe.js at most once
|
|
67
67
|
if (stripePromise$1 !== null) {
|
|
68
68
|
return stripePromise$1;
|
|
@@ -82,7 +82,7 @@ const loadScript = (params) => {
|
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
84
|
try {
|
|
85
|
-
let script =
|
|
85
|
+
let script = zonosStripeFindScript();
|
|
86
86
|
if (script && params) {
|
|
87
87
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
88
88
|
}
|
|
@@ -126,7 +126,7 @@ const initStripe = (maybeStripe, args, startTime) => {
|
|
|
126
126
|
|
|
127
127
|
// Execute our own script injection after a tick to give users time to do their
|
|
128
128
|
// own script injection.
|
|
129
|
-
const stripePromise = Promise.resolve().then(() =>
|
|
129
|
+
const stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
|
|
130
130
|
let loadCalled = false;
|
|
131
131
|
stripePromise.catch((err) => {
|
|
132
132
|
if (!loadCalled) {
|
|
@@ -134,14 +134,14 @@ stripePromise.catch((err) => {
|
|
|
134
134
|
console.warn(err);
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
|
-
const
|
|
137
|
+
const zonosLoadStripe = async (...args) => {
|
|
138
138
|
loadCalled = true;
|
|
139
139
|
const startTime = Date.now();
|
|
140
140
|
return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
|
|
141
141
|
};
|
|
142
142
|
|
|
143
143
|
var _a;
|
|
144
|
-
const ZONOS_URL = "https://unpkg.com/@zonos/elements@1.0.17-alpha.
|
|
144
|
+
const ZONOS_URL = "https://unpkg.com/@zonos/elements@1.0.17-alpha.1";
|
|
145
145
|
const INTER_FONT_URL = 'https://rsms.me';
|
|
146
146
|
const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
|
|
147
147
|
class Zonos {
|
|
@@ -201,7 +201,7 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
|
|
|
201
201
|
zonosController.addEventListener('stripeInitEvent', async (event) => {
|
|
202
202
|
const { detail } = event;
|
|
203
203
|
log('loading Stripe');
|
|
204
|
-
const stripe = await
|
|
204
|
+
const stripe = await zonosLoadStripe(detail.publishableKey);
|
|
205
205
|
if (!stripe) {
|
|
206
206
|
logError('API seems to be invalid or missing. Failed to load Stripe');
|
|
207
207
|
return;
|
package/dist/scripts/stripe.js
CHANGED
|
@@ -10,7 +10,7 @@ const logError = (message, ...rest) => {
|
|
|
10
10
|
const V3_URL = 'https://js.stripe.com/v3';
|
|
11
11
|
const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
12
12
|
const EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
13
|
-
const
|
|
13
|
+
const zonosStripeFindScript = () => {
|
|
14
14
|
const scripts = document.querySelectorAll(`script[src^="${V3_URL}"]`);
|
|
15
15
|
for (let i = 0; i < scripts.length; i++) {
|
|
16
16
|
const script = scripts[i];
|
|
@@ -37,7 +37,7 @@ const injectScript = (params) => {
|
|
|
37
37
|
headBody.appendChild(script);
|
|
38
38
|
return script;
|
|
39
39
|
};
|
|
40
|
-
const
|
|
40
|
+
const zonosStripeLoadScript = (params) => {
|
|
41
41
|
// Ensure that we only attempt to load Stripe.js at most once
|
|
42
42
|
if (stripePromise !== null) {
|
|
43
43
|
return stripePromise;
|
|
@@ -57,7 +57,7 @@ const loadScript = (params) => {
|
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
59
|
try {
|
|
60
|
-
let script =
|
|
60
|
+
let script = zonosStripeFindScript();
|
|
61
61
|
if (script && params) {
|
|
62
62
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
63
63
|
}
|
|
@@ -119,8 +119,8 @@ but received
|
|
|
119
119
|
logError(errorMessage);
|
|
120
120
|
};
|
|
121
121
|
|
|
122
|
-
exports.findScript = findScript;
|
|
123
122
|
exports.initStripe = initStripe;
|
|
124
123
|
exports.injectScript = injectScript;
|
|
125
|
-
exports.loadScript = loadScript;
|
|
126
124
|
exports.validateLoadParams = validateLoadParams;
|
|
125
|
+
exports.zonosStripeFindScript = zonosStripeFindScript;
|
|
126
|
+
exports.zonosStripeLoadScript = zonosStripeLoadScript;
|
package/dist/scripts/zonos.js
CHANGED
|
@@ -35,7 +35,7 @@ const logError = (message, ...rest) => {
|
|
|
35
35
|
const V3_URL = 'https://js.stripe.com/v3';
|
|
36
36
|
const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
37
37
|
const EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
38
|
-
const
|
|
38
|
+
const zonosStripeFindScript = () => {
|
|
39
39
|
const scripts = document.querySelectorAll(`script[src^="${V3_URL}"]`);
|
|
40
40
|
for (let i = 0; i < scripts.length; i++) {
|
|
41
41
|
const script = scripts[i];
|
|
@@ -62,7 +62,7 @@ const injectScript = (params) => {
|
|
|
62
62
|
headBody.appendChild(script);
|
|
63
63
|
return script;
|
|
64
64
|
};
|
|
65
|
-
const
|
|
65
|
+
const zonosStripeLoadScript = (params) => {
|
|
66
66
|
// Ensure that we only attempt to load Stripe.js at most once
|
|
67
67
|
if (stripePromise$1 !== null) {
|
|
68
68
|
return stripePromise$1;
|
|
@@ -82,7 +82,7 @@ const loadScript = (params) => {
|
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
84
|
try {
|
|
85
|
-
let script =
|
|
85
|
+
let script = zonosStripeFindScript();
|
|
86
86
|
if (script && params) {
|
|
87
87
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
88
88
|
}
|
|
@@ -126,7 +126,7 @@ const initStripe = (maybeStripe, args, startTime) => {
|
|
|
126
126
|
|
|
127
127
|
// Execute our own script injection after a tick to give users time to do their
|
|
128
128
|
// own script injection.
|
|
129
|
-
const stripePromise = Promise.resolve().then(() =>
|
|
129
|
+
const stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
|
|
130
130
|
let loadCalled = false;
|
|
131
131
|
stripePromise.catch((err) => {
|
|
132
132
|
if (!loadCalled) {
|
|
@@ -134,14 +134,14 @@ stripePromise.catch((err) => {
|
|
|
134
134
|
console.warn(err);
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
|
-
const
|
|
137
|
+
const zonosLoadStripe = async (...args) => {
|
|
138
138
|
loadCalled = true;
|
|
139
139
|
const startTime = Date.now();
|
|
140
140
|
return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
|
|
141
141
|
};
|
|
142
142
|
|
|
143
143
|
var _a;
|
|
144
|
-
const ZONOS_URL = "https://unpkg.com/@zonos/elements@1.0.17-alpha.
|
|
144
|
+
const ZONOS_URL = "https://unpkg.com/@zonos/elements@1.0.17-alpha.1";
|
|
145
145
|
const INTER_FONT_URL = 'https://rsms.me';
|
|
146
146
|
const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
|
|
147
147
|
class Zonos {
|
|
@@ -201,7 +201,7 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
|
|
|
201
201
|
zonosController.addEventListener('stripeInitEvent', async (event) => {
|
|
202
202
|
const { detail } = event;
|
|
203
203
|
log('loading Stripe');
|
|
204
|
-
const stripe = await
|
|
204
|
+
const stripe = await zonosLoadStripe(detail.publishableKey);
|
|
205
205
|
if (!stripe) {
|
|
206
206
|
logError('API seems to be invalid or missing. Failed to load Stripe');
|
|
207
207
|
return;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type LoadStripe } from "./stripe";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const zonosLoadStripe: LoadStripe;
|
|
@@ -4,9 +4,9 @@ export interface LoadParams {
|
|
|
4
4
|
advancedFraudSignals: boolean;
|
|
5
5
|
}
|
|
6
6
|
export type LoadStripe = (...args: Parameters<StripeConstructor>) => Promise<Stripe | null>;
|
|
7
|
-
export declare const
|
|
7
|
+
export declare const zonosStripeFindScript: () => HTMLScriptElement | null;
|
|
8
8
|
export declare const injectScript: (params: null | LoadParams) => HTMLScriptElement | null;
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const zonosStripeLoadScript: (params: null | LoadParams) => Promise<StripeConstructor | null>;
|
|
10
10
|
export declare const initStripe: (maybeStripe: StripeConstructor | null, args: [publishableKey: string, options?: import("@stripe/stripe-js").StripeConstructorOptions | undefined], startTime: number) => Stripe | null;
|
|
11
11
|
export declare const validateLoadParams: (params: {
|
|
12
12
|
advancedFraudSignals: boolean;
|