@virex-tech/paywallo-sdk 2.0.1 → 2.0.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.
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +49 -57
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +36 -44
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -530,8 +530,8 @@ interface EventContext {
|
|
|
530
530
|
* `lifecycle` (foreground/background/session), `onboarding`,
|
|
531
531
|
* `notification`, `custom`.
|
|
532
532
|
*
|
|
533
|
-
* Both priorities post to `/
|
|
534
|
-
* automatic fallback to `/
|
|
533
|
+
* Both priorities post to `/ingest/batch` (Phase 3.1 envelope) with
|
|
534
|
+
* automatic fallback to `/events/batch` when the V2 endpoint is
|
|
535
535
|
* absent (old server) or rejects the request. `OfflineQueue` handles
|
|
536
536
|
* network-failure durability for both queues via the `PostFn` injected by
|
|
537
537
|
* `ApiClient.postWithQueue`.
|
package/dist/index.d.ts
CHANGED
|
@@ -530,8 +530,8 @@ interface EventContext {
|
|
|
530
530
|
* `lifecycle` (foreground/background/session), `onboarding`,
|
|
531
531
|
* `notification`, `custom`.
|
|
532
532
|
*
|
|
533
|
-
* Both priorities post to `/
|
|
534
|
-
* automatic fallback to `/
|
|
533
|
+
* Both priorities post to `/ingest/batch` (Phase 3.1 envelope) with
|
|
534
|
+
* automatic fallback to `/events/batch` when the V2 endpoint is
|
|
535
535
|
* absent (old server) or rejects the request. `OfflineQueue` handles
|
|
536
536
|
* network-failure durability for both queues via the `PostFn` injected by
|
|
537
537
|
* `ApiClient.postWithQueue`.
|
package/dist/index.js
CHANGED
|
@@ -1555,7 +1555,7 @@ var init_QueueProcessor = __esm({
|
|
|
1555
1555
|
}
|
|
1556
1556
|
const allItems = offlineQueue.getQueue();
|
|
1557
1557
|
const eventItems = allItems.filter(
|
|
1558
|
-
(i) => (i.url.includes("/
|
|
1558
|
+
(i) => (i.url.includes("/events") || i.url.includes("/ingest")) && !i.url.includes("/batch")
|
|
1559
1559
|
);
|
|
1560
1560
|
const eventItemIds = new Set(eventItems.map((i) => i.id));
|
|
1561
1561
|
const { processed: batchProcessed, failed: batchFailed, retryIds } = await this.processEventBatches(eventItems);
|
|
@@ -1595,7 +1595,7 @@ var init_QueueProcessor = __esm({
|
|
|
1595
1595
|
const freshHeaders = this.config.getFreshHeaders?.() ?? {};
|
|
1596
1596
|
const headers = { ...persistedHeaders, ...freshHeaders };
|
|
1597
1597
|
this.log("Sending event batch", { size: batch.length, batchIndex: Math.floor(i / BATCH_SIZE) });
|
|
1598
|
-
const response = await this.httpClient.request("/
|
|
1598
|
+
const response = await this.httpClient.request("/sdk/events/batch", {
|
|
1599
1599
|
method: "POST",
|
|
1600
1600
|
body: { events: bodies },
|
|
1601
1601
|
headers,
|
|
@@ -4243,7 +4243,7 @@ var init_InstallTracker = __esm({
|
|
|
4243
4243
|
const baseUrl = apiClient.getBaseUrl();
|
|
4244
4244
|
const appKey = apiClient.getAppKey();
|
|
4245
4245
|
const referrer = await installReferrerManager.getReferrer();
|
|
4246
|
-
await fetch(`${baseUrl}/
|
|
4246
|
+
await fetch(`${baseUrl}/attribution/deferred-match/${appKey}`, {
|
|
4247
4247
|
method: "POST",
|
|
4248
4248
|
headers: { "Content-Type": "application/json", "X-App-Key": appKey },
|
|
4249
4249
|
body: JSON.stringify({
|
|
@@ -4509,17 +4509,13 @@ function getTimezone() {
|
|
|
4509
4509
|
}
|
|
4510
4510
|
}
|
|
4511
4511
|
function detectPlatform() {
|
|
4512
|
-
|
|
4513
|
-
const { Platform: Platform13 } = require("react-native");
|
|
4514
|
-
return Platform13.OS === "ios" ? "ios" : "android";
|
|
4515
|
-
} catch {
|
|
4516
|
-
return "android";
|
|
4517
|
-
}
|
|
4512
|
+
return import_react_native18.Platform.OS === "ios" ? "ios" : "android";
|
|
4518
4513
|
}
|
|
4519
|
-
var SEEN_MESSAGES_KEY, SEEN_TTL_MS, MAX_SEEN_SIZE, NotificationEventTracker;
|
|
4514
|
+
var import_react_native18, SEEN_MESSAGES_KEY, SEEN_TTL_MS, MAX_SEEN_SIZE, NotificationEventTracker;
|
|
4520
4515
|
var init_NotificationEventTracker = __esm({
|
|
4521
4516
|
"src/domains/notifications/NotificationEventTracker.ts"() {
|
|
4522
4517
|
"use strict";
|
|
4518
|
+
import_react_native18 = require("react-native");
|
|
4523
4519
|
SEEN_MESSAGES_KEY = "seen_messages";
|
|
4524
4520
|
SEEN_TTL_MS = 60 * 60 * 1e3;
|
|
4525
4521
|
MAX_SEEN_SIZE = 1e3;
|
|
@@ -4770,18 +4766,18 @@ function mapPermissionStatus(status) {
|
|
|
4770
4766
|
}
|
|
4771
4767
|
}
|
|
4772
4768
|
function getPlatform() {
|
|
4773
|
-
return
|
|
4769
|
+
return import_react_native19.Platform;
|
|
4774
4770
|
}
|
|
4775
4771
|
function needsAndroidRuntimePermission(platform) {
|
|
4776
4772
|
if (platform.OS !== "android") return false;
|
|
4777
4773
|
const v = typeof platform.Version === "string" ? parseInt(platform.Version, 10) : platform.Version ?? 0;
|
|
4778
4774
|
return Number.isFinite(v) && v >= ANDROID_TIRAMISU_API;
|
|
4779
4775
|
}
|
|
4780
|
-
var
|
|
4776
|
+
var import_react_native19, AUTH_STATUS, ANDROID_TIRAMISU_API, PermissionManager;
|
|
4781
4777
|
var init_PermissionManager = __esm({
|
|
4782
4778
|
"src/domains/notifications/PermissionManager.ts"() {
|
|
4783
4779
|
"use strict";
|
|
4784
|
-
|
|
4780
|
+
import_react_native19 = require("react-native");
|
|
4785
4781
|
AUTH_STATUS = {
|
|
4786
4782
|
NOT_DETERMINED: -1,
|
|
4787
4783
|
DENIED: 0,
|
|
@@ -4998,12 +4994,7 @@ function mapPermissionStatus2(status) {
|
|
|
4998
4994
|
}
|
|
4999
4995
|
}
|
|
5000
4996
|
function detectPlatform2() {
|
|
5001
|
-
|
|
5002
|
-
const { Platform: Platform13 } = require("react-native");
|
|
5003
|
-
return Platform13.OS === "ios" ? "ios" : "android";
|
|
5004
|
-
} catch {
|
|
5005
|
-
return "android";
|
|
5006
|
-
}
|
|
4997
|
+
return import_react_native20.Platform.OS === "ios" ? "ios" : "android";
|
|
5007
4998
|
}
|
|
5008
4999
|
async function getAppVersion() {
|
|
5009
5000
|
try {
|
|
@@ -5014,10 +5005,11 @@ async function getAppVersion() {
|
|
|
5014
5005
|
return "unknown";
|
|
5015
5006
|
}
|
|
5016
5007
|
}
|
|
5017
|
-
var AUTH_STATUS2, LOCALE_WHITELIST;
|
|
5008
|
+
var import_react_native20, AUTH_STATUS2, LOCALE_WHITELIST;
|
|
5018
5009
|
var init_utils = __esm({
|
|
5019
5010
|
"src/domains/notifications/utils.ts"() {
|
|
5020
5011
|
"use strict";
|
|
5012
|
+
import_react_native20 = require("react-native");
|
|
5021
5013
|
init_NotificationsError();
|
|
5022
5014
|
AUTH_STATUS2 = {
|
|
5023
5015
|
NOT_DETERMINED: -1,
|
|
@@ -5032,8 +5024,8 @@ var init_utils = __esm({
|
|
|
5032
5024
|
// src/core/version.ts
|
|
5033
5025
|
function resolveVersion() {
|
|
5034
5026
|
try {
|
|
5035
|
-
if ("2.0.
|
|
5036
|
-
return "2.0.
|
|
5027
|
+
if ("2.0.2") {
|
|
5028
|
+
return "2.0.2";
|
|
5037
5029
|
}
|
|
5038
5030
|
} catch {
|
|
5039
5031
|
}
|
|
@@ -5114,7 +5106,7 @@ var init_TokenRegistration = __esm({
|
|
|
5114
5106
|
init_utils();
|
|
5115
5107
|
init_version();
|
|
5116
5108
|
FCM_TOKEN_KEY = "@panel:push_token";
|
|
5117
|
-
TOKEN_ENDPOINT = "/
|
|
5109
|
+
TOKEN_ENDPOINT = "/push-tokens";
|
|
5118
5110
|
}
|
|
5119
5111
|
});
|
|
5120
5112
|
|
|
@@ -5759,7 +5751,7 @@ function deriveWebUrl(baseUrl) {
|
|
|
5759
5751
|
}
|
|
5760
5752
|
}
|
|
5761
5753
|
function buildConditionalFlagUrl(baseUrl, flagKey, context) {
|
|
5762
|
-
const url = new URL(`${baseUrl}/
|
|
5754
|
+
const url = new URL(`${baseUrl}/sdk/conditional-flags/${flagKey}`);
|
|
5763
5755
|
if (context.platform) url.searchParams.set("platform", context.platform);
|
|
5764
5756
|
if (context.appVersion) url.searchParams.set("appVersion", context.appVersion);
|
|
5765
5757
|
if (context.country) url.searchParams.set("country", context.country);
|
|
@@ -5815,7 +5807,7 @@ async function getVariant(deps, flagKey, distinctId) {
|
|
|
5815
5807
|
return persisted;
|
|
5816
5808
|
}
|
|
5817
5809
|
try {
|
|
5818
|
-
const res = await deps.get(`/
|
|
5810
|
+
const res = await deps.get(`/sdk/flags/${flagKey}?distinctId=${encodeURIComponent(distinctId)}`);
|
|
5819
5811
|
if (res.status === 404) {
|
|
5820
5812
|
const v = { variant: null };
|
|
5821
5813
|
deps.cache.setVariant(key, v, deps.cache.nullTTL);
|
|
@@ -5836,7 +5828,7 @@ async function getVariant(deps, flagKey, distinctId) {
|
|
|
5836
5828
|
async function evaluateFlags(deps, keys, distinctId) {
|
|
5837
5829
|
const query = keys.map(encodeURIComponent).join(",");
|
|
5838
5830
|
try {
|
|
5839
|
-
const res = await deps.httpClient.get(`/
|
|
5831
|
+
const res = await deps.httpClient.get(`/sdk/flags/evaluate?keys=${query}`, {
|
|
5840
5832
|
headers: { "X-App-Key": deps.appKey, "x-distinct-id": distinctId }
|
|
5841
5833
|
});
|
|
5842
5834
|
if (!res.ok || typeof res.data !== "object" || res.data === null || Array.isArray(res.data)) return {};
|
|
@@ -5887,7 +5879,7 @@ var init_ApiClientFlags = __esm({
|
|
|
5887
5879
|
// src/domains/iap/apiPurchaseMethods.ts
|
|
5888
5880
|
async function validatePurchase(client, appKey, platform, receipt, productId, transactionId, priceLocal, currency, country, distinctId, paywallPlacement, variantKey) {
|
|
5889
5881
|
const response = await client.post(
|
|
5890
|
-
`/purchases/validate`,
|
|
5882
|
+
`/sdk/purchases/validate`,
|
|
5891
5883
|
{
|
|
5892
5884
|
platform,
|
|
5893
5885
|
receipt,
|
|
@@ -5913,7 +5905,7 @@ async function validatePurchase(client, appKey, platform, receipt, productId, tr
|
|
|
5913
5905
|
return response.data;
|
|
5914
5906
|
}
|
|
5915
5907
|
async function getSubscriptionStatus(client, baseUrl, appKey, distinctId) {
|
|
5916
|
-
const url = new URL(`${baseUrl}/purchases/status`);
|
|
5908
|
+
const url = new URL(`${baseUrl}/sdk/purchases/status`);
|
|
5917
5909
|
url.searchParams.set("distinctId", distinctId);
|
|
5918
5910
|
const response = await client.get(url.toString());
|
|
5919
5911
|
if (!response.ok) {
|
|
@@ -5923,7 +5915,7 @@ async function getSubscriptionStatus(client, baseUrl, appKey, distinctId) {
|
|
|
5923
5915
|
}
|
|
5924
5916
|
async function getEmergencyPaywall(client) {
|
|
5925
5917
|
try {
|
|
5926
|
-
const response = await client.get("/
|
|
5918
|
+
const response = await client.get("/emergency-paywall");
|
|
5927
5919
|
if (response.status === 404) return { enabled: false };
|
|
5928
5920
|
return response.data;
|
|
5929
5921
|
} catch {
|
|
@@ -5931,7 +5923,7 @@ async function getEmergencyPaywall(client) {
|
|
|
5931
5923
|
}
|
|
5932
5924
|
}
|
|
5933
5925
|
async function getCampaignData(client, baseUrl, placement, distinctId, context) {
|
|
5934
|
-
const url = new URL(`${baseUrl}/
|
|
5926
|
+
const url = new URL(`${baseUrl}/sdk/campaigns/${placement}`);
|
|
5935
5927
|
url.searchParams.set("distinctId", distinctId);
|
|
5936
5928
|
if (context) url.searchParams.set("context", JSON.stringify(context));
|
|
5937
5929
|
const response = await client.get(url.toString());
|
|
@@ -6442,7 +6434,7 @@ function buildV2Envelope(events, providerContext) {
|
|
|
6442
6434
|
};
|
|
6443
6435
|
});
|
|
6444
6436
|
if (context.sdk_version === void 0) context.sdk_version = SDK_VERSION;
|
|
6445
|
-
if (context.platform === void 0) context.platform =
|
|
6437
|
+
if (context.platform === void 0) context.platform = import_react_native21.Platform.OS;
|
|
6446
6438
|
if (context.distinct_id === void 0 && events.length > 0) {
|
|
6447
6439
|
context.distinct_id = events[0].distinctId;
|
|
6448
6440
|
}
|
|
@@ -6479,12 +6471,12 @@ function splitPayloadAndContext(properties) {
|
|
|
6479
6471
|
}
|
|
6480
6472
|
return { payload, promoted };
|
|
6481
6473
|
}
|
|
6482
|
-
var import_zod2,
|
|
6474
|
+
var import_zod2, import_react_native21, v2EventSchema, v2ContextSchema, v2EnvelopeSchema, CONTEXT_KEY_ALIASES;
|
|
6483
6475
|
var init_eventEnvelopeV2 = __esm({
|
|
6484
6476
|
"src/core/eventEnvelopeV2.ts"() {
|
|
6485
6477
|
"use strict";
|
|
6486
6478
|
import_zod2 = require("zod");
|
|
6487
|
-
|
|
6479
|
+
import_react_native21 = require("react-native");
|
|
6488
6480
|
init_version();
|
|
6489
6481
|
init_uuid();
|
|
6490
6482
|
init_eventFamilies();
|
|
@@ -6530,19 +6522,19 @@ var init_eventEnvelopeV2 = __esm({
|
|
|
6530
6522
|
});
|
|
6531
6523
|
|
|
6532
6524
|
// src/core/EventBatcher.ts
|
|
6533
|
-
var
|
|
6525
|
+
var import_react_native22, BATCH_MAX_SIZE, BATCH_FLUSH_MS, EVENT_NAME_REGEX, V2_BATCH_ENDPOINT, V1_BATCH_ENDPOINT, V1_SINGLE_ENDPOINT, EventBatcher;
|
|
6534
6526
|
var init_EventBatcher = __esm({
|
|
6535
6527
|
"src/core/EventBatcher.ts"() {
|
|
6536
6528
|
"use strict";
|
|
6537
|
-
|
|
6529
|
+
import_react_native22 = require("react-native");
|
|
6538
6530
|
init_events();
|
|
6539
6531
|
init_eventEnvelopeV2();
|
|
6540
6532
|
BATCH_MAX_SIZE = 25;
|
|
6541
6533
|
BATCH_FLUSH_MS = 1e4;
|
|
6542
6534
|
EVENT_NAME_REGEX = /^(\$[a-zA-Z0-9_]+|[a-z][a-z0-9_]*)$/;
|
|
6543
|
-
V2_BATCH_ENDPOINT = "/
|
|
6544
|
-
V1_BATCH_ENDPOINT = "/
|
|
6545
|
-
V1_SINGLE_ENDPOINT = "/
|
|
6535
|
+
V2_BATCH_ENDPOINT = "/ingest/batch";
|
|
6536
|
+
V1_BATCH_ENDPOINT = "/sdk/events/batch";
|
|
6537
|
+
V1_SINGLE_ENDPOINT = "/sdk/events";
|
|
6546
6538
|
EventBatcher = class {
|
|
6547
6539
|
constructor(post, debug = false, contextProvider = null) {
|
|
6548
6540
|
this.criticalQueue = [];
|
|
@@ -6586,7 +6578,7 @@ var init_EventBatcher = __esm({
|
|
|
6586
6578
|
const event = {
|
|
6587
6579
|
eventName,
|
|
6588
6580
|
distinctId,
|
|
6589
|
-
properties: { ...properties, platform:
|
|
6581
|
+
properties: { ...properties, platform: import_react_native22.Platform.OS },
|
|
6590
6582
|
timestamp: timestamp ?? Date.now(),
|
|
6591
6583
|
environment: environment.toLowerCase()
|
|
6592
6584
|
};
|
|
@@ -6669,8 +6661,8 @@ var init_EventBatcher = __esm({
|
|
|
6669
6661
|
}
|
|
6670
6662
|
}
|
|
6671
6663
|
/**
|
|
6672
|
-
* POST the batch with V2 envelope semantics. Tries `/
|
|
6673
|
-
* first; on failure (404/network) falls back to `/
|
|
6664
|
+
* POST the batch with V2 envelope semantics. Tries `/ingest/batch`
|
|
6665
|
+
* first; on failure (404/network) falls back to `/events/batch`
|
|
6674
6666
|
* with the legacy per-event shape for retrocompat.
|
|
6675
6667
|
*
|
|
6676
6668
|
* After a single V2 failure we flip `v2Disabled` and stop trying V2 for
|
|
@@ -6700,7 +6692,7 @@ var init_EventBatcher = __esm({
|
|
|
6700
6692
|
this.v2Disabled = true;
|
|
6701
6693
|
if (this.debug) {
|
|
6702
6694
|
console.log(
|
|
6703
|
-
`[Paywallo EVENTS] V2 ingest unavailable, falling back to /
|
|
6695
|
+
`[Paywallo EVENTS] V2 ingest unavailable, falling back to /events/batch:`,
|
|
6704
6696
|
error
|
|
6705
6697
|
);
|
|
6706
6698
|
}
|
|
@@ -6753,11 +6745,11 @@ var init_ApiClientQueue = __esm({
|
|
|
6753
6745
|
});
|
|
6754
6746
|
|
|
6755
6747
|
// src/core/ApiClient.ts
|
|
6756
|
-
var
|
|
6748
|
+
var import_react_native23, ApiClient;
|
|
6757
6749
|
var init_ApiClient = __esm({
|
|
6758
6750
|
"src/core/ApiClient.ts"() {
|
|
6759
6751
|
"use strict";
|
|
6760
|
-
|
|
6752
|
+
import_react_native23 = require("react-native");
|
|
6761
6753
|
init_version();
|
|
6762
6754
|
init_apiUrlUtils();
|
|
6763
6755
|
init_ApiClientFlags();
|
|
@@ -6859,7 +6851,7 @@ var init_ApiClient = __esm({
|
|
|
6859
6851
|
buildSdkHeaders() {
|
|
6860
6852
|
return {
|
|
6861
6853
|
"x-sdk-version": SDK_VERSION,
|
|
6862
|
-
"x-sdk-platform":
|
|
6854
|
+
"x-sdk-platform": import_react_native23.Platform.OS,
|
|
6863
6855
|
"x-sdk-environment": this.environment
|
|
6864
6856
|
};
|
|
6865
6857
|
}
|
|
@@ -6884,12 +6876,12 @@ var init_ApiClient = __esm({
|
|
|
6884
6876
|
}
|
|
6885
6877
|
async reportError(errorType, message, context) {
|
|
6886
6878
|
try {
|
|
6887
|
-
await this.post("/
|
|
6879
|
+
await this.post("/sdk/errors", {
|
|
6888
6880
|
errorType,
|
|
6889
6881
|
message,
|
|
6890
6882
|
context,
|
|
6891
6883
|
sdkVersion: SDK_VERSION,
|
|
6892
|
-
platform:
|
|
6884
|
+
platform: import_react_native23.Platform.OS
|
|
6893
6885
|
}, true);
|
|
6894
6886
|
} catch (err) {
|
|
6895
6887
|
if (this.debug) console.log("[Paywallo:ApiClient] reportError failed", err);
|
|
@@ -6912,8 +6904,8 @@ var init_ApiClient = __esm({
|
|
|
6912
6904
|
isDebug: () => this.debug,
|
|
6913
6905
|
post: (path, body, skipRetry) => this.post(path, body, skipRetry)
|
|
6914
6906
|
},
|
|
6915
|
-
"/
|
|
6916
|
-
{ distinctId, properties: properties ?? {}, email, platform:
|
|
6907
|
+
"/identify",
|
|
6908
|
+
{ distinctId, properties: properties ?? {}, email, platform: import_react_native23.Platform.OS, ...deviceId && { deviceId } },
|
|
6917
6909
|
"identify"
|
|
6918
6910
|
);
|
|
6919
6911
|
}
|
|
@@ -6928,7 +6920,7 @@ var init_ApiClient = __esm({
|
|
|
6928
6920
|
const hit = this.cache.getPaywall(placement);
|
|
6929
6921
|
if (hit !== void 0) return hit;
|
|
6930
6922
|
try {
|
|
6931
|
-
const res = await this.get(`/
|
|
6923
|
+
const res = await this.get(`/sdk/paywalls/${placement}`);
|
|
6932
6924
|
if (res.status === 404) {
|
|
6933
6925
|
this.cache.setPaywall(placement, null, this.cache.nullTTL);
|
|
6934
6926
|
return null;
|
|
@@ -8379,7 +8371,7 @@ function useSubscription() {
|
|
|
8379
8371
|
|
|
8380
8372
|
// src/PaywalloProvider.tsx
|
|
8381
8373
|
var import_react21 = require("react");
|
|
8382
|
-
var
|
|
8374
|
+
var import_react_native24 = require("react-native");
|
|
8383
8375
|
init_paywall();
|
|
8384
8376
|
init_paywall();
|
|
8385
8377
|
init_paywall();
|
|
@@ -8898,8 +8890,8 @@ function PaywalloProvider({ children, config }) {
|
|
|
8898
8890
|
});
|
|
8899
8891
|
}, []);
|
|
8900
8892
|
const { showingPreloadedWebView, presentPreloadedWebView, resolvePreloadedPaywall, handlePreloadedWebViewReady: baseHandlePreloadedWebViewReady, handlePreloadedClose: baseHandlePreloadedClose, setShowingPreloadedWebView, presentedAtRef } = usePaywallPresenter(preloadedWebView, setPreloadedWebView);
|
|
8901
|
-
const SCREEN_HEIGHT = (0, import_react21.useMemo)(() =>
|
|
8902
|
-
const slideAnim = (0, import_react21.useRef)(new
|
|
8893
|
+
const SCREEN_HEIGHT = (0, import_react21.useMemo)(() => import_react_native24.Dimensions.get("window").height, []);
|
|
8894
|
+
const slideAnim = (0, import_react21.useRef)(new import_react_native24.Animated.Value(SCREEN_HEIGHT)).current;
|
|
8903
8895
|
const handlePreloadedWebViewReady = (0, import_react21.useCallback)(() => {
|
|
8904
8896
|
if (PaywalloClient.getConfig()?.debug) {
|
|
8905
8897
|
console.log(`[Paywallo WEBVIEW] loaded \u2014 placement: ${preloadedWebView?.placement}`);
|
|
@@ -8908,7 +8900,7 @@ function PaywalloProvider({ children, config }) {
|
|
|
8908
8900
|
}, [preloadedWebView?.placement, baseHandlePreloadedWebViewReady]);
|
|
8909
8901
|
const handlePreloadedClose = (0, import_react21.useCallback)(() => {
|
|
8910
8902
|
const placement = preloadedWebView?.placement;
|
|
8911
|
-
|
|
8903
|
+
import_react_native24.Animated.timing(slideAnim, { toValue: SCREEN_HEIGHT, duration: 200, easing: import_react_native24.Easing.in(import_react_native24.Easing.cubic), useNativeDriver: true }).start(() => {
|
|
8912
8904
|
baseHandlePreloadedClose();
|
|
8913
8905
|
if (placement) triggerRepreload(placement);
|
|
8914
8906
|
});
|
|
@@ -9157,7 +9149,7 @@ function PaywalloProvider({ children, config }) {
|
|
|
9157
9149
|
(0, import_react21.useLayoutEffect)(() => {
|
|
9158
9150
|
if (showingPreloadedWebView) {
|
|
9159
9151
|
slideAnim.setValue(SCREEN_HEIGHT);
|
|
9160
|
-
|
|
9152
|
+
import_react_native24.Animated.timing(slideAnim, { toValue: 0, duration: 200, easing: import_react_native24.Easing.out(import_react_native24.Easing.cubic), useNativeDriver: true }).start();
|
|
9161
9153
|
}
|
|
9162
9154
|
}, [showingPreloadedWebView, slideAnim, SCREEN_HEIGHT]);
|
|
9163
9155
|
const preloadStyle = [
|
|
@@ -9167,7 +9159,7 @@ function PaywalloProvider({ children, config }) {
|
|
|
9167
9159
|
];
|
|
9168
9160
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(PaywalloContext.Provider, { value: contextValue, children: [
|
|
9169
9161
|
children,
|
|
9170
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PaywallErrorBoundary, { children: !!preloadedWebView?.craftData && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
9162
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PaywallErrorBoundary, { children: !!preloadedWebView?.craftData && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native24.Animated.View, { style: preloadStyle, pointerEvents: showingPreloadedWebView ? "auto" : "none", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
9171
9163
|
PaywallWebView,
|
|
9172
9164
|
{
|
|
9173
9165
|
paywallId: preloadedWebView.paywallId,
|
|
@@ -9198,7 +9190,7 @@ function PaywalloProvider({ children, config }) {
|
|
|
9198
9190
|
) })
|
|
9199
9191
|
] });
|
|
9200
9192
|
}
|
|
9201
|
-
var styles3 =
|
|
9193
|
+
var styles3 = import_react_native24.StyleSheet.create({
|
|
9202
9194
|
preloadOverlay: { position: "absolute", top: 0, left: 0, right: 0, bottom: 0, backgroundColor: "#ffffff" },
|
|
9203
9195
|
hidden: { zIndex: -1, opacity: 0, width: 1, height: 1, overflow: "hidden" },
|
|
9204
9196
|
visible: { zIndex: 9999, opacity: 1 }
|