@monetize.software/sdk 3.0.0-alpha.1 → 3.0.0-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/chunks/PaywallUI-BWU_1hsh.js +26 -0
- package/dist/chunks/PaywallUI-BWU_1hsh.js.map +1 -0
- package/dist/chunks/{PaywallUI-BHp9afFC.js → PaywallUI-C3W0eKDo.js} +273 -249
- package/dist/chunks/PaywallUI-C3W0eKDo.js.map +1 -0
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +30 -0
- package/dist/core.js +120 -74
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +51 -0
- package/dist/index.js +1 -1
- package/dist/ui.cjs +1 -1
- package/dist/ui.d.ts +51 -0
- package/dist/ui.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/PaywallUI-BHp9afFC.js.map +0 -1
- package/dist/chunks/PaywallUI-Dr-6q-HL.js +0 -26
- package/dist/chunks/PaywallUI-Dr-6q-HL.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./core.cjs"),r=require("./chunks/PaywallUI-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./core.cjs"),r=require("./chunks/PaywallUI-BWU_1hsh.js");exports.ApiClient=e.ApiClient;exports.ApiGatewayClient=e.ApiGatewayClient;exports.AuthClient=e.AuthClient;exports.BillingClient=e.BillingClient;exports.EventTracker=e.EventTracker;exports.PaywallError=e.PaywallError;exports.QuotaExceededError=e.QuotaExceededError;exports.SDK_VERSION=e.SDK_VERSION;exports.STORAGE_KEYS=e.STORAGE_KEYS;exports.createStorage=e.createStorage;exports.ensureVisitorId=e.ensureVisitorId;exports.generateVisitorId=e.generateVisitorId;exports.PaywallUI=r.PaywallUI;exports.blockRegistry=r.blockRegistry;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.ts
CHANGED
|
@@ -514,6 +514,8 @@ export declare class BillingClient {
|
|
|
514
514
|
private balancesStorageUnwatch;
|
|
515
515
|
private inflightBalances;
|
|
516
516
|
private balanceListeners;
|
|
517
|
+
private readonly previewMode;
|
|
518
|
+
private previewVersionCounter;
|
|
517
519
|
constructor(opts: BillingClientOptions);
|
|
518
520
|
/**
|
|
519
521
|
* Stable visitor_id (UUID v4). Первый вызов awaitит первичный резолв из
|
|
@@ -546,6 +548,24 @@ export declare class BillingClient {
|
|
|
546
548
|
* unsubscribe.
|
|
547
549
|
*/
|
|
548
550
|
onBootstrapChange(cb: (b: PaywallBootstrap) => void): () => void;
|
|
551
|
+
/**
|
|
552
|
+
* Заменить cachedBootstrap частичными или полными данными и эмитнуть всем
|
|
553
|
+
* подписчикам. Используется host'ом в preview-mode (редактор админки) для
|
|
554
|
+
* live-обновления открытой модалки без сетевого revalidate'а.
|
|
555
|
+
*
|
|
556
|
+
* Поведение:
|
|
557
|
+
* - Без `cachedBootstrap` ожидаются как минимум `settings` + `prices` —
|
|
558
|
+
* иначе PaywallRoot не сможет отрендерить тарифы и упадёт.
|
|
559
|
+
* - С существующим кешем партиал мёрджится поверх: `settings` глубокий мёрдж
|
|
560
|
+
* на 1 уровень (поля настроек), массивы `prices`/`offers` перезаписываются.
|
|
561
|
+
* - Каждый вызов бампит `version` ("preview:<n>"), чтобы applyBootstrap'овая
|
|
562
|
+
* проверка `versionChanged` всегда срабатывала и listener'ы дёргались.
|
|
563
|
+
* - Persist в storage НЕ делаем — preview не должен утекать в другие вкладки.
|
|
564
|
+
*
|
|
565
|
+
* В non-preview режиме метод доступен, но это редкий путь (например, для
|
|
566
|
+
* тестов host'а) — production-код должен полагаться на bootstrap() + revalidate.
|
|
567
|
+
*/
|
|
568
|
+
setBootstrap(partial: Partial<PaywallBootstrap>): void;
|
|
549
569
|
private fetchBootstrap;
|
|
550
570
|
private revalidateBootstrap;
|
|
551
571
|
private applyBootstrap;
|
|
@@ -817,6 +837,16 @@ export declare interface BillingClientOptions {
|
|
|
817
837
|
* через `setIdentity`, Bearer не отправляется.
|
|
818
838
|
*/
|
|
819
839
|
auth?: AuthClient;
|
|
840
|
+
/**
|
|
841
|
+
* Preview/editor-mode. Когда true:
|
|
842
|
+
* - `bootstrap()` НЕ ходит в сеть — отдаёт только `cachedBootstrap`, заданный
|
|
843
|
+
* через `setBootstrap()`. Без seed'а throw'ает (caller обязан засидить до open).
|
|
844
|
+
* - Storage.watch / persist отключены (preview редактора локален для текущей вкладки).
|
|
845
|
+
* - `setBootstrap(partial)` доступен как публичный setter — host'у разрешено
|
|
846
|
+
* мутировать кеш для live-обновления модалки в редакторе админки.
|
|
847
|
+
* Дефолт false — обычный production-режим.
|
|
848
|
+
*/
|
|
849
|
+
preview?: boolean;
|
|
820
850
|
}
|
|
821
851
|
|
|
822
852
|
export declare type BlockComponent<B extends LayoutBlock = LayoutBlock> = ComponentType<BlockProps<B>>;
|
|
@@ -1305,6 +1335,8 @@ export declare class PaywallUI {
|
|
|
1305
1335
|
private lastVisibility;
|
|
1306
1336
|
/** Поведение open() при холодном bootstrap'е. См. PaywallUIOptions.mountThenLoad. */
|
|
1307
1337
|
private mountThenLoad;
|
|
1338
|
+
/** Inline-режим (live-preview редактора). См. PaywallUIOptions.inline. */
|
|
1339
|
+
private inline;
|
|
1308
1340
|
/** Текущий snapshot UI state-machine. Обновляется PaywallRoot'ом через
|
|
1309
1341
|
* `onState` prop; при close сбрасывается обратно в CLOSED_STATE. */
|
|
1310
1342
|
private currentState;
|
|
@@ -1327,6 +1359,17 @@ export declare class PaywallUI {
|
|
|
1327
1359
|
* last-known user из кеша синхронно через microtask, если он есть.
|
|
1328
1360
|
*/
|
|
1329
1361
|
onUserChange(handler: PaywallEventHandler<'userChange'>): () => void;
|
|
1362
|
+
/**
|
|
1363
|
+
* Заменить cachedBootstrap живыми данными — для preview-режима в редакторе
|
|
1364
|
+
* админки. Если модалка открыта, PaywallRoot подписан на onBootstrapChange
|
|
1365
|
+
* и перерендерится мгновенно. До open() — затравка для bootstrap()-effect'а.
|
|
1366
|
+
*
|
|
1367
|
+
* См. {@link BillingClientOptions.preview} — обычно эту опцию ставят на
|
|
1368
|
+
* клиент, чтобы заодно отключить сетевой revalidate. setBootstrap технически
|
|
1369
|
+
* работает и в production-режиме, но конкуренция с revalidate'ом из сети
|
|
1370
|
+
* почти всегда нежелательна.
|
|
1371
|
+
*/
|
|
1372
|
+
setBootstrap(partial: Partial<PaywallBootstrap>): void;
|
|
1330
1373
|
on<E extends PaywallEvent>(event: E, handler: PaywallEventHandler<E>): () => void;
|
|
1331
1374
|
off<E extends PaywallEvent>(event: E, handler: PaywallEventHandler<E>): void;
|
|
1332
1375
|
private emit;
|
|
@@ -1518,6 +1561,14 @@ export declare interface PaywallUIOptions extends Omit<BillingClientOptions, 'au
|
|
|
1518
1561
|
* флеш на blocked-странах/устройствах хуже воспринимаемой латентности.
|
|
1519
1562
|
*/
|
|
1520
1563
|
mountThenLoad?: boolean;
|
|
1564
|
+
/**
|
|
1565
|
+
* Inline-режим для live-preview редактора админки. Host позиционируется
|
|
1566
|
+
* `absolute inset:0` внутри родителя (вместо fixed-viewport'а), overlay
|
|
1567
|
+
* Modal'а тоже становится absolute, body-scroll не лочится. ОБЯЗАТЕЛЬНО
|
|
1568
|
+
* передавать `host` (HTMLElement) с positioned parent'ом — иначе absolute
|
|
1569
|
+
* уйдёт к ближайшему positioned ancestor'у или к html. По умолчанию false.
|
|
1570
|
+
*/
|
|
1571
|
+
inline?: boolean;
|
|
1521
1572
|
}
|
|
1522
1573
|
|
|
1523
1574
|
export declare interface PaywallUser {
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiClient as t, ApiGatewayClient as a, AuthClient as i, BillingClient as l, EventTracker as o, PaywallError as n, QuotaExceededError as E, SDK_VERSION as s, STORAGE_KEYS as S, createStorage as c, ensureVisitorId as d, generateVisitorId as g } from "./core.js";
|
|
2
|
-
import { P as y, b as A } from "./chunks/PaywallUI-
|
|
2
|
+
import { P as y, b as A } from "./chunks/PaywallUI-C3W0eKDo.js";
|
|
3
3
|
export {
|
|
4
4
|
t as ApiClient,
|
|
5
5
|
a as ApiGatewayClient,
|
package/dist/ui.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/PaywallUI-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/PaywallUI-BWU_1hsh.js");exports.PaywallUI=e.PaywallUI;exports.blockRegistry=e.blockRegistry;
|
|
2
2
|
//# sourceMappingURL=ui.cjs.map
|
package/dist/ui.d.ts
CHANGED
|
@@ -500,6 +500,8 @@ declare class BillingClient {
|
|
|
500
500
|
private balancesStorageUnwatch;
|
|
501
501
|
private inflightBalances;
|
|
502
502
|
private balanceListeners;
|
|
503
|
+
private readonly previewMode;
|
|
504
|
+
private previewVersionCounter;
|
|
503
505
|
constructor(opts: BillingClientOptions);
|
|
504
506
|
/**
|
|
505
507
|
* Stable visitor_id (UUID v4). Первый вызов awaitит первичный резолв из
|
|
@@ -532,6 +534,24 @@ declare class BillingClient {
|
|
|
532
534
|
* unsubscribe.
|
|
533
535
|
*/
|
|
534
536
|
onBootstrapChange(cb: (b: PaywallBootstrap) => void): () => void;
|
|
537
|
+
/**
|
|
538
|
+
* Заменить cachedBootstrap частичными или полными данными и эмитнуть всем
|
|
539
|
+
* подписчикам. Используется host'ом в preview-mode (редактор админки) для
|
|
540
|
+
* live-обновления открытой модалки без сетевого revalidate'а.
|
|
541
|
+
*
|
|
542
|
+
* Поведение:
|
|
543
|
+
* - Без `cachedBootstrap` ожидаются как минимум `settings` + `prices` —
|
|
544
|
+
* иначе PaywallRoot не сможет отрендерить тарифы и упадёт.
|
|
545
|
+
* - С существующим кешем партиал мёрджится поверх: `settings` глубокий мёрдж
|
|
546
|
+
* на 1 уровень (поля настроек), массивы `prices`/`offers` перезаписываются.
|
|
547
|
+
* - Каждый вызов бампит `version` ("preview:<n>"), чтобы applyBootstrap'овая
|
|
548
|
+
* проверка `versionChanged` всегда срабатывала и listener'ы дёргались.
|
|
549
|
+
* - Persist в storage НЕ делаем — preview не должен утекать в другие вкладки.
|
|
550
|
+
*
|
|
551
|
+
* В non-preview режиме метод доступен, но это редкий путь (например, для
|
|
552
|
+
* тестов host'а) — production-код должен полагаться на bootstrap() + revalidate.
|
|
553
|
+
*/
|
|
554
|
+
setBootstrap(partial: Partial<PaywallBootstrap>): void;
|
|
535
555
|
private fetchBootstrap;
|
|
536
556
|
private revalidateBootstrap;
|
|
537
557
|
private applyBootstrap;
|
|
@@ -803,6 +823,16 @@ declare interface BillingClientOptions {
|
|
|
803
823
|
* через `setIdentity`, Bearer не отправляется.
|
|
804
824
|
*/
|
|
805
825
|
auth?: AuthClient;
|
|
826
|
+
/**
|
|
827
|
+
* Preview/editor-mode. Когда true:
|
|
828
|
+
* - `bootstrap()` НЕ ходит в сеть — отдаёт только `cachedBootstrap`, заданный
|
|
829
|
+
* через `setBootstrap()`. Без seed'а throw'ает (caller обязан засидить до open).
|
|
830
|
+
* - Storage.watch / persist отключены (preview редактора локален для текущей вкладки).
|
|
831
|
+
* - `setBootstrap(partial)` доступен как публичный setter — host'у разрешено
|
|
832
|
+
* мутировать кеш для live-обновления модалки в редакторе админки.
|
|
833
|
+
* Дефолт false — обычный production-режим.
|
|
834
|
+
*/
|
|
835
|
+
preview?: boolean;
|
|
806
836
|
}
|
|
807
837
|
|
|
808
838
|
export declare type BlockComponent<B extends LayoutBlock = LayoutBlock> = ComponentType<BlockProps<B>>;
|
|
@@ -1244,6 +1274,8 @@ export declare class PaywallUI {
|
|
|
1244
1274
|
private lastVisibility;
|
|
1245
1275
|
/** Поведение open() при холодном bootstrap'е. См. PaywallUIOptions.mountThenLoad. */
|
|
1246
1276
|
private mountThenLoad;
|
|
1277
|
+
/** Inline-режим (live-preview редактора). См. PaywallUIOptions.inline. */
|
|
1278
|
+
private inline;
|
|
1247
1279
|
/** Текущий snapshot UI state-machine. Обновляется PaywallRoot'ом через
|
|
1248
1280
|
* `onState` prop; при close сбрасывается обратно в CLOSED_STATE. */
|
|
1249
1281
|
private currentState;
|
|
@@ -1266,6 +1298,17 @@ export declare class PaywallUI {
|
|
|
1266
1298
|
* last-known user из кеша синхронно через microtask, если он есть.
|
|
1267
1299
|
*/
|
|
1268
1300
|
onUserChange(handler: PaywallEventHandler<'userChange'>): () => void;
|
|
1301
|
+
/**
|
|
1302
|
+
* Заменить cachedBootstrap живыми данными — для preview-режима в редакторе
|
|
1303
|
+
* админки. Если модалка открыта, PaywallRoot подписан на onBootstrapChange
|
|
1304
|
+
* и перерендерится мгновенно. До open() — затравка для bootstrap()-effect'а.
|
|
1305
|
+
*
|
|
1306
|
+
* См. {@link BillingClientOptions.preview} — обычно эту опцию ставят на
|
|
1307
|
+
* клиент, чтобы заодно отключить сетевой revalidate. setBootstrap технически
|
|
1308
|
+
* работает и в production-режиме, но конкуренция с revalidate'ом из сети
|
|
1309
|
+
* почти всегда нежелательна.
|
|
1310
|
+
*/
|
|
1311
|
+
setBootstrap(partial: Partial<PaywallBootstrap>): void;
|
|
1269
1312
|
on<E extends PaywallEvent>(event: E, handler: PaywallEventHandler<E>): () => void;
|
|
1270
1313
|
off<E extends PaywallEvent>(event: E, handler: PaywallEventHandler<E>): void;
|
|
1271
1314
|
private emit;
|
|
@@ -1457,6 +1500,14 @@ export declare interface PaywallUIOptions extends Omit<BillingClientOptions, 'au
|
|
|
1457
1500
|
* флеш на blocked-странах/устройствах хуже воспринимаемой латентности.
|
|
1458
1501
|
*/
|
|
1459
1502
|
mountThenLoad?: boolean;
|
|
1503
|
+
/**
|
|
1504
|
+
* Inline-режим для live-preview редактора админки. Host позиционируется
|
|
1505
|
+
* `absolute inset:0` внутри родителя (вместо fixed-viewport'а), overlay
|
|
1506
|
+
* Modal'а тоже становится absolute, body-scroll не лочится. ОБЯЗАТЕЛЬНО
|
|
1507
|
+
* передавать `host` (HTMLElement) с positioned parent'ом — иначе absolute
|
|
1508
|
+
* уйдёт к ближайшему positioned ancestor'у или к html. По умолчанию false.
|
|
1509
|
+
*/
|
|
1510
|
+
inline?: boolean;
|
|
1460
1511
|
}
|
|
1461
1512
|
|
|
1462
1513
|
declare interface PaywallUser {
|
package/dist/ui.js
CHANGED
package/package.json
CHANGED