@monetize.software/sdk 3.0.0-alpha.7 → 3.0.0-alpha.9
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-BYquPomD.js → PaywallUI-BhQpWSWN.js} +871 -902
- package/dist/chunks/PaywallUI-BhQpWSWN.js.map +1 -0
- package/dist/chunks/PaywallUI-C7Wp2TiR.js +26 -0
- package/dist/chunks/PaywallUI-C7Wp2TiR.js.map +1 -0
- package/dist/chunks/ar-7cgIM-Vl.js +2 -0
- package/dist/chunks/ar-7cgIM-Vl.js.map +1 -0
- package/dist/chunks/{ar-nh4l4WDE.js → ar-B2Wg_IrC.js} +5 -4
- package/dist/chunks/ar-B2Wg_IrC.js.map +1 -0
- package/dist/chunks/{cs-2UYO2rWf.js → cs-BNo9Dx0Q.js} +3 -2
- package/dist/chunks/cs-BNo9Dx0Q.js.map +1 -0
- package/dist/chunks/cs-S05PC5AC.js +2 -0
- package/dist/chunks/cs-S05PC5AC.js.map +1 -0
- package/dist/chunks/da-Bi4zBG14.js +2 -0
- package/dist/chunks/da-Bi4zBG14.js.map +1 -0
- package/dist/chunks/{da-BD0O_HfV.js → da-Do9Lq6En.js} +3 -2
- package/dist/chunks/da-Do9Lq6En.js.map +1 -0
- package/dist/chunks/{de-BkCiXPsn.js → de-C8pDZNvx.js} +4 -2
- package/dist/chunks/de-C8pDZNvx.js.map +1 -0
- package/dist/chunks/de-nCDB6D2W.js +2 -0
- package/dist/chunks/de-nCDB6D2W.js.map +1 -0
- package/dist/chunks/el-BrKaa978.js +2 -0
- package/dist/chunks/el-BrKaa978.js.map +1 -0
- package/dist/chunks/{el-cIcxTp07.js → el-DzMNX-_P.js} +3 -2
- package/dist/chunks/el-DzMNX-_P.js.map +1 -0
- package/dist/chunks/es-B-Wtyzrl.js +2 -0
- package/dist/chunks/es-B-Wtyzrl.js.map +1 -0
- package/dist/chunks/{es-CJBC_jrV.js → es-YrKt-q4w.js} +4 -2
- package/dist/chunks/es-YrKt-q4w.js.map +1 -0
- package/dist/chunks/{fi-DyV7ynBf.js → fi-Bh44pwZ4.js} +3 -2
- package/dist/chunks/fi-Bh44pwZ4.js.map +1 -0
- package/dist/chunks/fi-D1SGXjnO.js +2 -0
- package/dist/chunks/fi-D1SGXjnO.js.map +1 -0
- package/dist/chunks/{fr-BLQ4AIu7.js → fr-Bc0pw4ws.js} +4 -2
- package/dist/chunks/fr-Bc0pw4ws.js.map +1 -0
- package/dist/chunks/fr-BhYf-iKk.js +2 -0
- package/dist/chunks/fr-BhYf-iKk.js.map +1 -0
- package/dist/chunks/he-BXAaFv6Y.js +2 -0
- package/dist/chunks/he-BXAaFv6Y.js.map +1 -0
- package/dist/chunks/{he-Bg-Bqi7r.js → he-Bfm-bhe3.js} +3 -2
- package/dist/chunks/he-Bfm-bhe3.js.map +1 -0
- package/dist/chunks/{hi-wQeE43oY.js → hi-D-O-B9Dn.js} +5 -4
- package/dist/chunks/hi-D-O-B9Dn.js.map +1 -0
- package/dist/chunks/hi-xblDO0O7.js +2 -0
- package/dist/chunks/hi-xblDO0O7.js.map +1 -0
- package/dist/chunks/{hu-D9qxzu0r.js → hu-CmIuAbLL.js} +3 -2
- package/dist/chunks/hu-CmIuAbLL.js.map +1 -0
- package/dist/chunks/hu-Wa46p0y4.js +2 -0
- package/dist/chunks/hu-Wa46p0y4.js.map +1 -0
- package/dist/chunks/id-CQEo5X94.js +2 -0
- package/dist/chunks/id-CQEo5X94.js.map +1 -0
- package/dist/chunks/{id-Rx_wYvqy.js → id-DN7IES-A.js} +3 -2
- package/dist/chunks/id-DN7IES-A.js.map +1 -0
- package/dist/chunks/it-8AYCm0xz.js +2 -0
- package/dist/chunks/it-8AYCm0xz.js.map +1 -0
- package/dist/chunks/{it-B1SRPZ3e.js → it-Cz5Nmqx5.js} +4 -2
- package/dist/chunks/it-Cz5Nmqx5.js.map +1 -0
- package/dist/chunks/{ja-DiItm8te.js → ja-BH9BlBh2.js} +4 -2
- package/dist/chunks/ja-BH9BlBh2.js.map +1 -0
- package/dist/chunks/ja-q-COVayn.js +2 -0
- package/dist/chunks/ja-q-COVayn.js.map +1 -0
- package/dist/chunks/ko-B6HRCscZ.js +2 -0
- package/dist/chunks/ko-B6HRCscZ.js.map +1 -0
- package/dist/chunks/{ko-CdGFWAKX.js → ko-CYV9QuYs.js} +4 -2
- package/dist/chunks/ko-CYV9QuYs.js.map +1 -0
- package/dist/chunks/{nl-CmZ3vEvj.js → nl-BvkB900D.js} +4 -2
- package/dist/chunks/nl-BvkB900D.js.map +1 -0
- package/dist/chunks/nl-CAd6_xlm.js +2 -0
- package/dist/chunks/nl-CAd6_xlm.js.map +1 -0
- package/dist/chunks/{no-BuxByZpq.js → no-3s9_ormb.js} +3 -2
- package/dist/chunks/no-3s9_ormb.js.map +1 -0
- package/dist/chunks/no-CAmz6bz6.js +2 -0
- package/dist/chunks/no-CAmz6bz6.js.map +1 -0
- package/dist/chunks/{pl-jZFCnDb8.js → pl-C9WTGQtb.js} +3 -2
- package/dist/chunks/pl-C9WTGQtb.js.map +1 -0
- package/dist/chunks/pl-DqUSTCaF.js +2 -0
- package/dist/chunks/pl-DqUSTCaF.js.map +1 -0
- package/dist/chunks/pt-8ARZnH0_.js +2 -0
- package/dist/chunks/pt-8ARZnH0_.js.map +1 -0
- package/dist/chunks/{pt-Cld7MwIW.js → pt-uFVUv_Op.js} +4 -2
- package/dist/chunks/pt-uFVUv_Op.js.map +1 -0
- package/dist/chunks/{ro-CuKDqj3C.js → ro-BrqQ8Au-.js} +3 -2
- package/dist/chunks/ro-BrqQ8Au-.js.map +1 -0
- package/dist/chunks/ro-D-NMbp2F.js +2 -0
- package/dist/chunks/ro-D-NMbp2F.js.map +1 -0
- package/dist/chunks/ru-8gbHPh0g.js +2 -0
- package/dist/chunks/ru-8gbHPh0g.js.map +1 -0
- package/dist/chunks/{ru-B7cjqJUm.js → ru-DK594dA8.js} +11 -2
- package/dist/chunks/ru-DK594dA8.js.map +1 -0
- package/dist/chunks/{sv-D9y-M1Fo.js → sv-CHNH8-mq.js} +3 -2
- package/dist/chunks/sv-CHNH8-mq.js.map +1 -0
- package/dist/chunks/sv-D8a8hmx9.js +2 -0
- package/dist/chunks/sv-D8a8hmx9.js.map +1 -0
- package/dist/chunks/th-DfjUK0Y7.js +2 -0
- package/dist/chunks/th-DfjUK0Y7.js.map +1 -0
- package/dist/chunks/{th-D9umBjEy.js → th-l24Pm5q-.js} +3 -2
- package/dist/chunks/th-l24Pm5q-.js.map +1 -0
- package/dist/chunks/{tr-BddMywiw.js → tr-ADpigSY5.js} +3 -2
- package/dist/chunks/tr-ADpigSY5.js.map +1 -0
- package/dist/chunks/tr-BdBpz4tL.js +2 -0
- package/dist/chunks/tr-BdBpz4tL.js.map +1 -0
- package/dist/chunks/{uk-Dbd31hFt.js → uk-CGqo4jek.js} +11 -2
- package/dist/chunks/uk-CGqo4jek.js.map +1 -0
- package/dist/chunks/uk-Cx1zv1ao.js +2 -0
- package/dist/chunks/uk-Cx1zv1ao.js.map +1 -0
- package/dist/chunks/{vi-Do3BMOdh.js → vi-Dk9bTu6f.js} +3 -2
- package/dist/chunks/vi-Dk9bTu6f.js.map +1 -0
- package/dist/chunks/vi-oe2dW21I.js +2 -0
- package/dist/chunks/vi-oe2dW21I.js.map +1 -0
- package/dist/chunks/zh-CwczPMPp.js +2 -0
- package/dist/chunks/zh-CwczPMPp.js.map +1 -0
- package/dist/chunks/{zh-gQSYLZI3.js → zh-LDkEV2D9.js} +3 -1
- package/dist/chunks/zh-LDkEV2D9.js.map +1 -0
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +21 -13
- package/dist/core.js +188 -168
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +52 -29
- package/dist/index.js +1 -1
- package/dist/ui.cjs +1 -1
- package/dist/ui.d.ts +52 -29
- package/dist/ui.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/PaywallUI-BYquPomD.js.map +0 -1
- package/dist/chunks/PaywallUI-Cl9sz_xA.js +0 -26
- package/dist/chunks/PaywallUI-Cl9sz_xA.js.map +0 -1
- package/dist/chunks/ar-BUQInJ5a.js +0 -2
- package/dist/chunks/ar-BUQInJ5a.js.map +0 -1
- package/dist/chunks/ar-nh4l4WDE.js.map +0 -1
- package/dist/chunks/cs-2UYO2rWf.js.map +0 -1
- package/dist/chunks/cs-i5K4KTFV.js +0 -2
- package/dist/chunks/cs-i5K4KTFV.js.map +0 -1
- package/dist/chunks/da-BD0O_HfV.js.map +0 -1
- package/dist/chunks/da-CZbhtVJO.js +0 -2
- package/dist/chunks/da-CZbhtVJO.js.map +0 -1
- package/dist/chunks/de-Bc-GoLgC.js +0 -2
- package/dist/chunks/de-Bc-GoLgC.js.map +0 -1
- package/dist/chunks/de-BkCiXPsn.js.map +0 -1
- package/dist/chunks/el-CcMEbl_F.js +0 -2
- package/dist/chunks/el-CcMEbl_F.js.map +0 -1
- package/dist/chunks/el-cIcxTp07.js.map +0 -1
- package/dist/chunks/es-BvYmomAz.js +0 -2
- package/dist/chunks/es-BvYmomAz.js.map +0 -1
- package/dist/chunks/es-CJBC_jrV.js.map +0 -1
- package/dist/chunks/fi-DyV7ynBf.js.map +0 -1
- package/dist/chunks/fi-aZR-qmZN.js +0 -2
- package/dist/chunks/fi-aZR-qmZN.js.map +0 -1
- package/dist/chunks/fr-BLQ4AIu7.js.map +0 -1
- package/dist/chunks/fr-BgbFAgHx.js +0 -2
- package/dist/chunks/fr-BgbFAgHx.js.map +0 -1
- package/dist/chunks/he-Bg-Bqi7r.js.map +0 -1
- package/dist/chunks/he-CQ4yCuja.js +0 -2
- package/dist/chunks/he-CQ4yCuja.js.map +0 -1
- package/dist/chunks/hi-DtUsj1c-.js +0 -2
- package/dist/chunks/hi-DtUsj1c-.js.map +0 -1
- package/dist/chunks/hi-wQeE43oY.js.map +0 -1
- package/dist/chunks/hu-D9qxzu0r.js.map +0 -1
- package/dist/chunks/hu-DXtscQ8_.js +0 -2
- package/dist/chunks/hu-DXtscQ8_.js.map +0 -1
- package/dist/chunks/id-BByOYpeo.js +0 -2
- package/dist/chunks/id-BByOYpeo.js.map +0 -1
- package/dist/chunks/id-Rx_wYvqy.js.map +0 -1
- package/dist/chunks/it-52Ip42pa.js +0 -2
- package/dist/chunks/it-52Ip42pa.js.map +0 -1
- package/dist/chunks/it-B1SRPZ3e.js.map +0 -1
- package/dist/chunks/ja-CMC3Parn.js +0 -2
- package/dist/chunks/ja-CMC3Parn.js.map +0 -1
- package/dist/chunks/ja-DiItm8te.js.map +0 -1
- package/dist/chunks/ko-3qY21q40.js +0 -2
- package/dist/chunks/ko-3qY21q40.js.map +0 -1
- package/dist/chunks/ko-CdGFWAKX.js.map +0 -1
- package/dist/chunks/nl-Borc5nw1.js +0 -2
- package/dist/chunks/nl-Borc5nw1.js.map +0 -1
- package/dist/chunks/nl-CmZ3vEvj.js.map +0 -1
- package/dist/chunks/no-BuxByZpq.js.map +0 -1
- package/dist/chunks/no-Do2iGedg.js +0 -2
- package/dist/chunks/no-Do2iGedg.js.map +0 -1
- package/dist/chunks/pl-jZFCnDb8.js.map +0 -1
- package/dist/chunks/pl-mRaky_7k.js +0 -2
- package/dist/chunks/pl-mRaky_7k.js.map +0 -1
- package/dist/chunks/pt-Cld7MwIW.js.map +0 -1
- package/dist/chunks/pt-DilDTXfs.js +0 -2
- package/dist/chunks/pt-DilDTXfs.js.map +0 -1
- package/dist/chunks/ro-CuKDqj3C.js.map +0 -1
- package/dist/chunks/ro-DF2uzPIB.js +0 -2
- package/dist/chunks/ro-DF2uzPIB.js.map +0 -1
- package/dist/chunks/ru-B7cjqJUm.js.map +0 -1
- package/dist/chunks/ru-YeaXnTO-.js +0 -2
- package/dist/chunks/ru-YeaXnTO-.js.map +0 -1
- package/dist/chunks/sv-2pHEvuSe.js +0 -2
- package/dist/chunks/sv-2pHEvuSe.js.map +0 -1
- package/dist/chunks/sv-D9y-M1Fo.js.map +0 -1
- package/dist/chunks/th-D9umBjEy.js.map +0 -1
- package/dist/chunks/th-u2QSDF0G.js +0 -2
- package/dist/chunks/th-u2QSDF0G.js.map +0 -1
- package/dist/chunks/tr-BddMywiw.js.map +0 -1
- package/dist/chunks/tr-Bhgm6_ti.js +0 -2
- package/dist/chunks/tr-Bhgm6_ti.js.map +0 -1
- package/dist/chunks/uk-7vwqsaVK.js +0 -2
- package/dist/chunks/uk-7vwqsaVK.js.map +0 -1
- package/dist/chunks/uk-Dbd31hFt.js.map +0 -1
- package/dist/chunks/vi-CJefLP_g.js +0 -2
- package/dist/chunks/vi-CJefLP_g.js.map +0 -1
- package/dist/chunks/vi-Do3BMOdh.js.map +0 -1
- package/dist/chunks/zh-D5C3BzYL.js +0 -2
- package/dist/chunks/zh-D5C3BzYL.js.map +0 -1
- package/dist/chunks/zh-gQSYLZI3.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-C7Wp2TiR.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
|
@@ -262,10 +262,8 @@ export declare class AuthClient {
|
|
|
262
262
|
* когда сервер начнёт возвращать challenge_required в риск-сценариях,
|
|
263
263
|
* SDK сможет передать proof-of-something обратно без breaking change.
|
|
264
264
|
*
|
|
265
|
-
* `
|
|
266
|
-
* нового anon-юзера). Используется в switch-account flow.
|
|
267
|
-
* остаётся `forceCaptcha`, хотя капчи там больше нет — менять имя ломает
|
|
268
|
-
* host-сигнатуру; смысл «принудительно новая anon-сессия» сохранён.
|
|
265
|
+
* `forceNewAnon: true` пропускает шаги 1-2 и сразу делает /signin (создаёт
|
|
266
|
+
* нового anon-юзера). Используется в switch-account flow.
|
|
269
267
|
*
|
|
270
268
|
* Параллельные вызовы дедуплицируются через `inflightAnonSignin` — два
|
|
271
269
|
* click'а на «Войти как гость» не создадут двух anon-юзеров (два /signup =
|
|
@@ -274,7 +272,7 @@ export declare class AuthClient {
|
|
|
274
272
|
signInAnonymously(input?: {
|
|
275
273
|
captchaToken?: string;
|
|
276
274
|
userMeta?: Record<string, string>;
|
|
277
|
-
|
|
275
|
+
forceNewAnon?: boolean;
|
|
278
276
|
}): Promise<AuthSession>;
|
|
279
277
|
/**
|
|
280
278
|
* Внутренний resume — пробует /auth/refresh с сохранённым anon refresh_token.
|
|
@@ -813,21 +811,31 @@ export declare class BillingClient {
|
|
|
813
811
|
* `/api/v1/paywall/[id]/user` без unstable_cache, потому что list для UI
|
|
814
812
|
* должен быть свежим после cancel-а.
|
|
815
813
|
*
|
|
816
|
-
* Auth
|
|
817
|
-
*
|
|
814
|
+
* Auth (два пути):
|
|
815
|
+
* - Bearer (через AuthClient) — user.id резолвится из сессии, identity
|
|
816
|
+
* в query игнорируется.
|
|
817
|
+
* - `apiKey` + `identity.email`/`identity.userId` — server-SDK путь для
|
|
818
|
+
* интеграций со своей авторизацией. Бэк проверяет, что identity линкована
|
|
819
|
+
* к этому пейволу (защита от cross-paywall lookup).
|
|
820
|
+
* Без auth и без apiKey+identity — `identity_required`.
|
|
818
821
|
*/
|
|
819
822
|
listPurchases(opts?: {
|
|
820
823
|
signal?: AbortSignal;
|
|
821
824
|
}): Promise<PaywallPurchaseDetailed[]>;
|
|
822
825
|
/**
|
|
823
|
-
* Отменить подписку. Бэк
|
|
824
|
-
*
|
|
825
|
-
*
|
|
826
|
+
* Отменить подписку. Бэк проверит, что subscription принадлежит юзеру
|
|
827
|
+
* (Bearer-путь — из сессии; apiKey-путь — из identity), и сделает cancel у
|
|
828
|
+
* acquiring'а (Stripe/Paddle/Chargebee/Overpay). По умолчанию cancel в
|
|
829
|
+
* конце текущего периода — юзер сохраняет access до renewal date'ы.
|
|
826
830
|
*
|
|
827
|
-
* `reason` обязательна (валидация на бэке).
|
|
828
|
-
* причин в host-UI, как в legacy customer portal'е.
|
|
831
|
+
* `reason` обязательна (валидация на бэке).
|
|
829
832
|
*
|
|
830
|
-
* Auth
|
|
833
|
+
* Auth (два пути):
|
|
834
|
+
* - Bearer (через AuthClient) — стандартный путь для UI customer-portal'a.
|
|
835
|
+
* - `apiKey` + `identity.email`/`identity.userId` — для self-service UI на
|
|
836
|
+
* бэке клиента со своей авторизацией. Бэк дополнительно фильтрует
|
|
837
|
+
* subscription по paywall_id, чтобы owner пейвола A не отменил подписку
|
|
838
|
+
* пейвола B.
|
|
831
839
|
*/
|
|
832
840
|
cancelSubscription(params: {
|
|
833
841
|
subscriptionId: string;
|
|
@@ -918,6 +926,10 @@ export declare interface BlockContext {
|
|
|
918
926
|
/** Текущая auth-session (snapshot из AuthClient). null = разлогинен. PaywallRoot
|
|
919
927
|
* подписан на onAuthChange и пробрасывает свежий snapshot сюда. */
|
|
920
928
|
authSession: AuthSession | null;
|
|
929
|
+
/** Стартовый mode для AuthPanel — переопределяет дефолт 'signin'.
|
|
930
|
+
* Выставляется AuthGate'ом когда host вызвал openSignup()/openSignin().
|
|
931
|
+
* Остальные блоки игнорируют. */
|
|
932
|
+
initialAuthMode?: 'signin' | 'signup';
|
|
921
933
|
}
|
|
922
934
|
|
|
923
935
|
export declare interface BlockProps<B extends LayoutBlock = LayoutBlock> {
|
|
@@ -1443,7 +1455,7 @@ export declare interface PaywallStateSnapshot {
|
|
|
1443
1455
|
/** Модалка отрендерена и видна. False — closed (или ещё не открывалась). */
|
|
1444
1456
|
open: boolean;
|
|
1445
1457
|
/** Что показывается в модалке. null когда `open=false`. */
|
|
1446
|
-
view: 'loading' | 'error' | 'layout' | 'auth' | '
|
|
1458
|
+
view: 'loading' | 'error' | 'layout' | 'auth' | 'support' | 'awaiting_payment' | 'popup_blocked' | 'purchased' | null;
|
|
1447
1459
|
/** Заполнено только когда `view === 'error'`. */
|
|
1448
1460
|
error: PaywallError | null;
|
|
1449
1461
|
}
|
|
@@ -1570,23 +1582,34 @@ export declare class PaywallUI {
|
|
|
1570
1582
|
*/
|
|
1571
1583
|
openAuth(opts?: OpenOptions): void;
|
|
1572
1584
|
/**
|
|
1573
|
-
*
|
|
1574
|
-
* `
|
|
1575
|
-
*
|
|
1576
|
-
*
|
|
1577
|
-
*
|
|
1578
|
-
*
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
*
|
|
1583
|
-
*
|
|
1585
|
+
* Шорткат над `openAuth()` — открывает модалку сразу на signin-форме.
|
|
1586
|
+
* Эквивалент `openAuth()` (signin — дефолт). Существует для симметрии с
|
|
1587
|
+
* `openSignup()` и читаемости host-кода:
|
|
1588
|
+
* - `paywall.openSignin()` — «вход в существующий аккаунт»
|
|
1589
|
+
* - `paywall.openSignup()` — «новая регистрация»
|
|
1590
|
+
* Без managed-auth — no-op.
|
|
1591
|
+
*/
|
|
1592
|
+
openSignin(opts?: OpenOptions): void;
|
|
1593
|
+
/**
|
|
1594
|
+
* Открывает модалку с auth-gate сразу в режиме регистрации (signup-mode
|
|
1595
|
+
* AuthPanel'а — email/password/repeat). Если в paywall layout админ
|
|
1596
|
+
* отключил allow_signup, AuthPanel игнорит mode и стартует с signin —
|
|
1597
|
+
* соблюдается admin-конфиг.
|
|
1598
|
+
* Без managed-auth — no-op.
|
|
1599
|
+
*/
|
|
1600
|
+
openSignup(opts?: OpenOptions): void;
|
|
1601
|
+
/**
|
|
1602
|
+
* Headless anonymous signin без открытия модалки. Внутри:
|
|
1603
|
+
* idempotent (если уже анон — instant return) → resume через сохранённый
|
|
1604
|
+
* refresh_token → fresh /auth/anonymous/signin. Дедуплицирует
|
|
1605
|
+
* параллельные вызовы внутри AuthClient'а.
|
|
1584
1606
|
*
|
|
1585
|
-
*
|
|
1586
|
-
*
|
|
1587
|
-
*
|
|
1607
|
+
* Удобно для host-кнопок типа «Continue as guest» — host сам управляет
|
|
1608
|
+
* loading-стейтом на своей кнопке, без полупустой модалки со спиннером.
|
|
1609
|
+
* Без managed-auth — резолвится rejected promise'ом (нет AuthClient'а
|
|
1610
|
+
* чтобы делать signin).
|
|
1588
1611
|
*/
|
|
1589
|
-
|
|
1612
|
+
signInAnonymously(): Promise<AuthSession>;
|
|
1590
1613
|
private openInternal;
|
|
1591
1614
|
/** Применить gates ПОСЛЕ того, как модалка уже смонтирована (mount-then-load
|
|
1592
1615
|
* путь). Если gate блокирует — close() + 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-BhQpWSWN.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-C7Wp2TiR.js");exports.PaywallUI=e.PaywallUI;exports.blockRegistry=e.blockRegistry;
|
|
2
2
|
//# sourceMappingURL=ui.cjs.map
|
package/dist/ui.d.ts
CHANGED
|
@@ -248,10 +248,8 @@ declare class AuthClient {
|
|
|
248
248
|
* когда сервер начнёт возвращать challenge_required в риск-сценариях,
|
|
249
249
|
* SDK сможет передать proof-of-something обратно без breaking change.
|
|
250
250
|
*
|
|
251
|
-
* `
|
|
252
|
-
* нового anon-юзера). Используется в switch-account flow.
|
|
253
|
-
* остаётся `forceCaptcha`, хотя капчи там больше нет — менять имя ломает
|
|
254
|
-
* host-сигнатуру; смысл «принудительно новая anon-сессия» сохранён.
|
|
251
|
+
* `forceNewAnon: true` пропускает шаги 1-2 и сразу делает /signin (создаёт
|
|
252
|
+
* нового anon-юзера). Используется в switch-account flow.
|
|
255
253
|
*
|
|
256
254
|
* Параллельные вызовы дедуплицируются через `inflightAnonSignin` — два
|
|
257
255
|
* click'а на «Войти как гость» не создадут двух anon-юзеров (два /signup =
|
|
@@ -260,7 +258,7 @@ declare class AuthClient {
|
|
|
260
258
|
signInAnonymously(input?: {
|
|
261
259
|
captchaToken?: string;
|
|
262
260
|
userMeta?: Record<string, string>;
|
|
263
|
-
|
|
261
|
+
forceNewAnon?: boolean;
|
|
264
262
|
}): Promise<AuthSession>;
|
|
265
263
|
/**
|
|
266
264
|
* Внутренний resume — пробует /auth/refresh с сохранённым anon refresh_token.
|
|
@@ -799,21 +797,31 @@ declare class BillingClient {
|
|
|
799
797
|
* `/api/v1/paywall/[id]/user` без unstable_cache, потому что list для UI
|
|
800
798
|
* должен быть свежим после cancel-а.
|
|
801
799
|
*
|
|
802
|
-
* Auth
|
|
803
|
-
*
|
|
800
|
+
* Auth (два пути):
|
|
801
|
+
* - Bearer (через AuthClient) — user.id резолвится из сессии, identity
|
|
802
|
+
* в query игнорируется.
|
|
803
|
+
* - `apiKey` + `identity.email`/`identity.userId` — server-SDK путь для
|
|
804
|
+
* интеграций со своей авторизацией. Бэк проверяет, что identity линкована
|
|
805
|
+
* к этому пейволу (защита от cross-paywall lookup).
|
|
806
|
+
* Без auth и без apiKey+identity — `identity_required`.
|
|
804
807
|
*/
|
|
805
808
|
listPurchases(opts?: {
|
|
806
809
|
signal?: AbortSignal;
|
|
807
810
|
}): Promise<PaywallPurchaseDetailed[]>;
|
|
808
811
|
/**
|
|
809
|
-
* Отменить подписку. Бэк
|
|
810
|
-
*
|
|
811
|
-
*
|
|
812
|
+
* Отменить подписку. Бэк проверит, что subscription принадлежит юзеру
|
|
813
|
+
* (Bearer-путь — из сессии; apiKey-путь — из identity), и сделает cancel у
|
|
814
|
+
* acquiring'а (Stripe/Paddle/Chargebee/Overpay). По умолчанию cancel в
|
|
815
|
+
* конце текущего периода — юзер сохраняет access до renewal date'ы.
|
|
812
816
|
*
|
|
813
|
-
* `reason` обязательна (валидация на бэке).
|
|
814
|
-
* причин в host-UI, как в legacy customer portal'е.
|
|
817
|
+
* `reason` обязательна (валидация на бэке).
|
|
815
818
|
*
|
|
816
|
-
* Auth
|
|
819
|
+
* Auth (два пути):
|
|
820
|
+
* - Bearer (через AuthClient) — стандартный путь для UI customer-portal'a.
|
|
821
|
+
* - `apiKey` + `identity.email`/`identity.userId` — для self-service UI на
|
|
822
|
+
* бэке клиента со своей авторизацией. Бэк дополнительно фильтрует
|
|
823
|
+
* subscription по paywall_id, чтобы owner пейвола A не отменил подписку
|
|
824
|
+
* пейвола B.
|
|
817
825
|
*/
|
|
818
826
|
cancelSubscription(params: {
|
|
819
827
|
subscriptionId: string;
|
|
@@ -904,6 +912,10 @@ export declare interface BlockContext {
|
|
|
904
912
|
/** Текущая auth-session (snapshot из AuthClient). null = разлогинен. PaywallRoot
|
|
905
913
|
* подписан на onAuthChange и пробрасывает свежий snapshot сюда. */
|
|
906
914
|
authSession: AuthSession | null;
|
|
915
|
+
/** Стартовый mode для AuthPanel — переопределяет дефолт 'signin'.
|
|
916
|
+
* Выставляется AuthGate'ом когда host вызвал openSignup()/openSignin().
|
|
917
|
+
* Остальные блоки игнорируют. */
|
|
918
|
+
initialAuthMode?: 'signin' | 'signup';
|
|
907
919
|
}
|
|
908
920
|
|
|
909
921
|
export declare interface BlockProps<B extends LayoutBlock = LayoutBlock> {
|
|
@@ -1382,7 +1394,7 @@ export declare interface PaywallStateSnapshot {
|
|
|
1382
1394
|
/** Модалка отрендерена и видна. False — closed (или ещё не открывалась). */
|
|
1383
1395
|
open: boolean;
|
|
1384
1396
|
/** Что показывается в модалке. null когда `open=false`. */
|
|
1385
|
-
view: 'loading' | 'error' | 'layout' | 'auth' | '
|
|
1397
|
+
view: 'loading' | 'error' | 'layout' | 'auth' | 'support' | 'awaiting_payment' | 'popup_blocked' | 'purchased' | null;
|
|
1386
1398
|
/** Заполнено только когда `view === 'error'`. */
|
|
1387
1399
|
error: PaywallError | null;
|
|
1388
1400
|
}
|
|
@@ -1509,23 +1521,34 @@ export declare class PaywallUI {
|
|
|
1509
1521
|
*/
|
|
1510
1522
|
openAuth(opts?: OpenOptions): void;
|
|
1511
1523
|
/**
|
|
1512
|
-
*
|
|
1513
|
-
* `
|
|
1514
|
-
*
|
|
1515
|
-
*
|
|
1516
|
-
*
|
|
1517
|
-
*
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
*
|
|
1522
|
-
*
|
|
1524
|
+
* Шорткат над `openAuth()` — открывает модалку сразу на signin-форме.
|
|
1525
|
+
* Эквивалент `openAuth()` (signin — дефолт). Существует для симметрии с
|
|
1526
|
+
* `openSignup()` и читаемости host-кода:
|
|
1527
|
+
* - `paywall.openSignin()` — «вход в существующий аккаунт»
|
|
1528
|
+
* - `paywall.openSignup()` — «новая регистрация»
|
|
1529
|
+
* Без managed-auth — no-op.
|
|
1530
|
+
*/
|
|
1531
|
+
openSignin(opts?: OpenOptions): void;
|
|
1532
|
+
/**
|
|
1533
|
+
* Открывает модалку с auth-gate сразу в режиме регистрации (signup-mode
|
|
1534
|
+
* AuthPanel'а — email/password/repeat). Если в paywall layout админ
|
|
1535
|
+
* отключил allow_signup, AuthPanel игнорит mode и стартует с signin —
|
|
1536
|
+
* соблюдается admin-конфиг.
|
|
1537
|
+
* Без managed-auth — no-op.
|
|
1538
|
+
*/
|
|
1539
|
+
openSignup(opts?: OpenOptions): void;
|
|
1540
|
+
/**
|
|
1541
|
+
* Headless anonymous signin без открытия модалки. Внутри:
|
|
1542
|
+
* idempotent (если уже анон — instant return) → resume через сохранённый
|
|
1543
|
+
* refresh_token → fresh /auth/anonymous/signin. Дедуплицирует
|
|
1544
|
+
* параллельные вызовы внутри AuthClient'а.
|
|
1523
1545
|
*
|
|
1524
|
-
*
|
|
1525
|
-
*
|
|
1526
|
-
*
|
|
1546
|
+
* Удобно для host-кнопок типа «Continue as guest» — host сам управляет
|
|
1547
|
+
* loading-стейтом на своей кнопке, без полупустой модалки со спиннером.
|
|
1548
|
+
* Без managed-auth — резолвится rejected promise'ом (нет AuthClient'а
|
|
1549
|
+
* чтобы делать signin).
|
|
1527
1550
|
*/
|
|
1528
|
-
|
|
1551
|
+
signInAnonymously(): Promise<AuthSession>;
|
|
1529
1552
|
private openInternal;
|
|
1530
1553
|
/** Применить gates ПОСЛЕ того, как модалка уже смонтирована (mount-then-load
|
|
1531
1554
|
* путь). Если gate блокирует — close() + emit. Если юзер уже сам закрыл
|
package/dist/ui.js
CHANGED
package/package.json
CHANGED