@monetize.software/sdk 3.0.0-alpha.10 → 3.0.0-alpha.12

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/core.d.ts CHANGED
@@ -1184,7 +1184,7 @@ export declare interface PaywallPrice {
1184
1184
  * идёт из `/user-state` и имеет минимум для access-gate'а), этот shape
1185
1185
  * включает цену/валюту/discount — чтобы host мог нарисовать список подписок
1186
1186
  * как в legacy customer portal'е. */
1187
- declare interface PaywallPurchaseDetailed {
1187
+ export declare interface PaywallPurchaseDetailed {
1188
1188
  id: string;
1189
1189
  status: string | null;
1190
1190
  cancel_at: string | null;
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-DQ1Jke8b.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.findApplicableOffer=e.findApplicableOffer;exports.generateVisitorId=e.generateVisitorId;exports.offerStartStorageKey=e.offerStartStorageKey;exports.readBrowserOfferStart=e.readBrowserOfferStart;exports.resolveOffer=e.resolveOffer;exports.PaywallUI=r.PaywallUI;exports.blockRegistry=r.blockRegistry;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./core.cjs"),r=require("./chunks/PaywallUI-CSgfmhHq.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.findApplicableOffer=e.findApplicableOffer;exports.generateVisitorId=e.generateVisitorId;exports.offerStartStorageKey=e.offerStartStorageKey;exports.readBrowserOfferStart=e.readBrowserOfferStart;exports.resolveOffer=e.resolveOffer;exports.PaywallUI=r.PaywallUI;exports.blockRegistry=r.blockRegistry;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -1380,7 +1380,7 @@ export declare interface PaywallPrice {
1380
1380
  * идёт из `/user-state` и имеет минимум для access-gate'а), этот shape
1381
1381
  * включает цену/валюту/discount — чтобы host мог нарисовать список подписок
1382
1382
  * как в legacy customer portal'е. */
1383
- declare interface PaywallPurchaseDetailed {
1383
+ export declare interface PaywallPurchaseDetailed {
1384
1384
  id: string;
1385
1385
  status: string | null;
1386
1386
  cancel_at: string | null;
@@ -1615,6 +1615,41 @@ export declare class PaywallUI {
1615
1615
  * Без managed-auth — no-op.
1616
1616
  */
1617
1617
  openSignup(opts?: OpenOptions): void;
1618
+ /**
1619
+ * Direct-checkout: открыть модалку и сразу перейти к /start-checkout по
1620
+ * конкретной цене, минуя layout с тарифами. Полезно когда host-приложение
1621
+ * рендерит pricing-карточки/таблицу собственным UI и хочет, чтобы клик по
1622
+ * «Buy / Get this plan» вёл прямо в платёжного провайдера, без второго
1623
+ * выбора плана в модалке SDK.
1624
+ *
1625
+ * Что переиспользуется из обычного `open()`-flow:
1626
+ * - `checkout_mode='preauth'` + managed-auth → auth-gate (форма signin'а),
1627
+ * после успеха auto-resume в createCheckout;
1628
+ * - popup_blocked / awaiting_payment / purchase_success views;
1629
+ * - UserWatcher polling после `checkout_started`;
1630
+ * - аналитика `checkout_started`/`purchase_completed`/`purchase_failed`.
1631
+ *
1632
+ * Что отличается от `open()`:
1633
+ * - layout с тарифами не показывается ни на один кадр (включая откат после
1634
+ * ошибки — модалка закрывается, эмитится `error`);
1635
+ * - already-paid сценарий (cached user, fresh bootstrap, preauth-resume,
1636
+ * 409 hasActivePurchase от бэка) — НЕ показывает restored success-view,
1637
+ * эмитит `purchase_completed{restored:true}` и закрывает/не открывает
1638
+ * модалку. Host сам решает как сообщить юзеру.
1639
+ *
1640
+ * Требования:
1641
+ * - `identity.email` должен быть выставлен (через `opts.identity`, либо
1642
+ * managed-auth, либо ранний `setIdentity`/`paywall.open({identity})`).
1643
+ * Без email бэк `/start-checkout` 400'нёт; SDK эмитнет `error`.
1644
+ * - В `checkout_mode='preauth'` без managed-auth — backend требует
1645
+ * email-юзера; убедись что `identity.email` явно задан.
1646
+ *
1647
+ * Без модалки/полностью headless (когда host рендерит свой checkout-UI и
1648
+ * хочет только URL) — используй `paywall.billing.createCheckout({priceId})`
1649
+ * напрямую, но тогда auth-gate / popup_blocked / awaiting_payment придётся
1650
+ * рисовать самостоятельно.
1651
+ */
1652
+ checkout(priceId: string, opts?: OpenOptions): void;
1618
1653
  /**
1619
1654
  * Headless anonymous signin без открытия модалки. Внутри:
1620
1655
  * idempotent (если уже анон — instant return) → resume через сохранённый
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ApiClient as t, ApiGatewayClient as a, AuthClient as i, BillingClient as o, EventTracker as l, PaywallError as f, QuotaExceededError as n, SDK_VERSION as s, STORAGE_KEYS as S, createStorage as E, ensureVisitorId as d, findApplicableOffer as p, generateVisitorId as c, offerStartStorageKey as g, readBrowserOfferStart as y, resolveOffer as A } from "./core.js";
2
- import { P as w, b as C } from "./chunks/PaywallUI-CQG9HCwo.js";
2
+ import { P as w, b as C } from "./chunks/PaywallUI-pb7JpLr6.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-DQ1Jke8b.js");exports.PaywallUI=e.PaywallUI;exports.blockRegistry=e.blockRegistry;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/PaywallUI-CSgfmhHq.js");exports.PaywallUI=e.PaywallUI;exports.blockRegistry=e.blockRegistry;
2
2
  //# sourceMappingURL=ui.cjs.map
package/dist/ui.d.ts CHANGED
@@ -1544,6 +1544,41 @@ export declare class PaywallUI {
1544
1544
  * Без managed-auth — no-op.
1545
1545
  */
1546
1546
  openSignup(opts?: OpenOptions): void;
1547
+ /**
1548
+ * Direct-checkout: открыть модалку и сразу перейти к /start-checkout по
1549
+ * конкретной цене, минуя layout с тарифами. Полезно когда host-приложение
1550
+ * рендерит pricing-карточки/таблицу собственным UI и хочет, чтобы клик по
1551
+ * «Buy / Get this plan» вёл прямо в платёжного провайдера, без второго
1552
+ * выбора плана в модалке SDK.
1553
+ *
1554
+ * Что переиспользуется из обычного `open()`-flow:
1555
+ * - `checkout_mode='preauth'` + managed-auth → auth-gate (форма signin'а),
1556
+ * после успеха auto-resume в createCheckout;
1557
+ * - popup_blocked / awaiting_payment / purchase_success views;
1558
+ * - UserWatcher polling после `checkout_started`;
1559
+ * - аналитика `checkout_started`/`purchase_completed`/`purchase_failed`.
1560
+ *
1561
+ * Что отличается от `open()`:
1562
+ * - layout с тарифами не показывается ни на один кадр (включая откат после
1563
+ * ошибки — модалка закрывается, эмитится `error`);
1564
+ * - already-paid сценарий (cached user, fresh bootstrap, preauth-resume,
1565
+ * 409 hasActivePurchase от бэка) — НЕ показывает restored success-view,
1566
+ * эмитит `purchase_completed{restored:true}` и закрывает/не открывает
1567
+ * модалку. Host сам решает как сообщить юзеру.
1568
+ *
1569
+ * Требования:
1570
+ * - `identity.email` должен быть выставлен (через `opts.identity`, либо
1571
+ * managed-auth, либо ранний `setIdentity`/`paywall.open({identity})`).
1572
+ * Без email бэк `/start-checkout` 400'нёт; SDK эмитнет `error`.
1573
+ * - В `checkout_mode='preauth'` без managed-auth — backend требует
1574
+ * email-юзера; убедись что `identity.email` явно задан.
1575
+ *
1576
+ * Без модалки/полностью headless (когда host рендерит свой checkout-UI и
1577
+ * хочет только URL) — используй `paywall.billing.createCheckout({priceId})`
1578
+ * напрямую, но тогда auth-gate / popup_blocked / awaiting_payment придётся
1579
+ * рисовать самостоятельно.
1580
+ */
1581
+ checkout(priceId: string, opts?: OpenOptions): void;
1547
1582
  /**
1548
1583
  * Headless anonymous signin без открытия модалки. Внутри:
1549
1584
  * idempotent (если уже анон — instant return) → resume через сохранённый
package/dist/ui.js CHANGED
@@ -1,4 +1,4 @@
1
- import { P as o, b as r } from "./chunks/PaywallUI-CQG9HCwo.js";
1
+ import { P as o, b as r } from "./chunks/PaywallUI-pb7JpLr6.js";
2
2
  export {
3
3
  o as PaywallUI,
4
4
  r as blockRegistry
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monetize.software/sdk",
3
- "version": "3.0.0-alpha.10",
3
+ "version": "3.0.0-alpha.12",
4
4
  "description": "Monetize SDK — bundled billing client and paywall render engine for web and Chrome extensions",
5
5
  "type": "module",
6
6
  "sideEffects": false,