@monetize.software/sdk 3.0.0-alpha.0 → 3.0.0-alpha.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/README.md +35 -35
- package/dist/chunks/{PaywallUI-BHp9afFC.js → PaywallUI-CRTEPjJm.js} +21 -1
- package/dist/chunks/PaywallUI-CRTEPjJm.js.map +1 -0
- package/dist/chunks/{PaywallUI-Dr-6q-HL.js → PaywallUI-CbbcfXXZ.js} +3 -3
- package/dist/chunks/PaywallUI-CbbcfXXZ.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 +41 -0
- package/dist/index.js +1 -1
- package/dist/ui.cjs +1 -1
- package/dist/ui.d.ts +41 -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.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-CbbcfXXZ.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>>;
|
|
@@ -1327,6 +1357,17 @@ export declare class PaywallUI {
|
|
|
1327
1357
|
* last-known user из кеша синхронно через microtask, если он есть.
|
|
1328
1358
|
*/
|
|
1329
1359
|
onUserChange(handler: PaywallEventHandler<'userChange'>): () => void;
|
|
1360
|
+
/**
|
|
1361
|
+
* Заменить cachedBootstrap живыми данными — для preview-режима в редакторе
|
|
1362
|
+
* админки. Если модалка открыта, PaywallRoot подписан на onBootstrapChange
|
|
1363
|
+
* и перерендерится мгновенно. До open() — затравка для bootstrap()-effect'а.
|
|
1364
|
+
*
|
|
1365
|
+
* См. {@link BillingClientOptions.preview} — обычно эту опцию ставят на
|
|
1366
|
+
* клиент, чтобы заодно отключить сетевой revalidate. setBootstrap технически
|
|
1367
|
+
* работает и в production-режиме, но конкуренция с revalidate'ом из сети
|
|
1368
|
+
* почти всегда нежелательна.
|
|
1369
|
+
*/
|
|
1370
|
+
setBootstrap(partial: Partial<PaywallBootstrap>): void;
|
|
1330
1371
|
on<E extends PaywallEvent>(event: E, handler: PaywallEventHandler<E>): () => void;
|
|
1331
1372
|
off<E extends PaywallEvent>(event: E, handler: PaywallEventHandler<E>): void;
|
|
1332
1373
|
private emit;
|
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-CRTEPjJm.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-CbbcfXXZ.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>>;
|
|
@@ -1266,6 +1296,17 @@ export declare class PaywallUI {
|
|
|
1266
1296
|
* last-known user из кеша синхронно через microtask, если он есть.
|
|
1267
1297
|
*/
|
|
1268
1298
|
onUserChange(handler: PaywallEventHandler<'userChange'>): () => void;
|
|
1299
|
+
/**
|
|
1300
|
+
* Заменить cachedBootstrap живыми данными — для preview-режима в редакторе
|
|
1301
|
+
* админки. Если модалка открыта, PaywallRoot подписан на onBootstrapChange
|
|
1302
|
+
* и перерендерится мгновенно. До open() — затравка для bootstrap()-effect'а.
|
|
1303
|
+
*
|
|
1304
|
+
* См. {@link BillingClientOptions.preview} — обычно эту опцию ставят на
|
|
1305
|
+
* клиент, чтобы заодно отключить сетевой revalidate. setBootstrap технически
|
|
1306
|
+
* работает и в production-режиме, но конкуренция с revalidate'ом из сети
|
|
1307
|
+
* почти всегда нежелательна.
|
|
1308
|
+
*/
|
|
1309
|
+
setBootstrap(partial: Partial<PaywallBootstrap>): void;
|
|
1269
1310
|
on<E extends PaywallEvent>(event: E, handler: PaywallEventHandler<E>): () => void;
|
|
1270
1311
|
off<E extends PaywallEvent>(event: E, handler: PaywallEventHandler<E>): void;
|
|
1271
1312
|
private emit;
|
package/dist/ui.js
CHANGED
package/package.json
CHANGED