@appfunnel-dev/sdk 2.0.0-canary.7 → 2.0.0-canary.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.
Files changed (47) hide show
  1. package/dist/{capabilities-7_hy5f5G.d.cts → capabilities-Dq22RCr_.d.cts} +67 -1
  2. package/dist/{capabilities-7_hy5f5G.d.ts → capabilities-Dq22RCr_.d.ts} +67 -1
  3. package/dist/{checkout-CMEdxpgo.d.cts → checkout-ClaO5IYV.d.ts} +17 -4
  4. package/dist/{checkout-D1NUPv4p.d.ts → checkout-DBp4bCpC.d.cts} +17 -4
  5. package/dist/{chunk-QMAZGLGV.cjs → chunk-7JLOF6CJ.cjs} +59 -7
  6. package/dist/chunk-7JLOF6CJ.cjs.map +1 -0
  7. package/dist/{chunk-CFFMZYPE.js → chunk-JAO6AA4R.js} +3 -3
  8. package/dist/{chunk-CFFMZYPE.js.map → chunk-JAO6AA4R.js.map} +1 -1
  9. package/dist/{chunk-TNLRQPVY.js → chunk-OXQBEKZ5.js} +55 -8
  10. package/dist/chunk-OXQBEKZ5.js.map +1 -0
  11. package/dist/{chunk-VAOR77NW.cjs → chunk-VV7TFC64.cjs} +7 -7
  12. package/dist/{chunk-VAOR77NW.cjs.map → chunk-VV7TFC64.cjs.map} +1 -1
  13. package/dist/{chunk-7YQLPPPG.js → chunk-VW2HVPR4.js} +7 -2
  14. package/dist/chunk-VW2HVPR4.js.map +1 -0
  15. package/dist/{chunk-BPOAWI4G.cjs → chunk-Y4YNJ2EX.cjs} +7 -2
  16. package/dist/chunk-Y4YNJ2EX.cjs.map +1 -0
  17. package/dist/driver-paddle.cjs +26 -24
  18. package/dist/driver-paddle.cjs.map +1 -1
  19. package/dist/driver-paddle.d.cts +2 -2
  20. package/dist/driver-paddle.d.ts +2 -2
  21. package/dist/driver-paddle.js +6 -4
  22. package/dist/driver-paddle.js.map +1 -1
  23. package/dist/driver-stripe.cjs +32 -26
  24. package/dist/driver-stripe.cjs.map +1 -1
  25. package/dist/driver-stripe.d.cts +2 -2
  26. package/dist/driver-stripe.d.ts +2 -2
  27. package/dist/driver-stripe.js +10 -4
  28. package/dist/driver-stripe.js.map +1 -1
  29. package/dist/index.cjs +88 -61
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +5 -5
  32. package/dist/index.d.ts +5 -5
  33. package/dist/index.js +20 -5
  34. package/dist/index.js.map +1 -1
  35. package/dist/{manifest-CMe8yVkr.d.cts → manifest-B3Tdab0M.d.cts} +64 -1
  36. package/dist/{manifest-CMe8yVkr.d.ts → manifest-B3Tdab0M.d.ts} +64 -1
  37. package/dist/manifest-entry.cjs +112 -31
  38. package/dist/manifest-entry.cjs.map +1 -1
  39. package/dist/manifest-entry.d.cts +9 -26
  40. package/dist/manifest-entry.d.ts +9 -26
  41. package/dist/manifest-entry.js +64 -3
  42. package/dist/manifest-entry.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/chunk-7YQLPPPG.js.map +0 -1
  45. package/dist/chunk-BPOAWI4G.cjs.map +0 -1
  46. package/dist/chunk-QMAZGLGV.cjs.map +0 -1
  47. package/dist/chunk-TNLRQPVY.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,13 +1,13 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ComponentType, ButtonHTMLAttributes } from 'react';
3
- import { V as VariableValue, a as VariableConfig, A as Acquisition, O as Offering, D as Direction, F as FunnelContext, R as RuntimeExperiment, b as FunnelSnapshot, c as FunnelDefinition, d as buildContext, e as OfferingInput, P as PageMeta, f as PageContext } from './manifest-CMe8yVkr.cjs';
4
- export { B as BrowserContext, g as BuildContextOptions, C as ClickIdContext, h as CompileInput, i as Condition, j as ConditionOp, k as DeviceContext, E as EdgeCondition, l as ExperimentArm, m as ExperimentResolution, n as FlowPage, o as FunnelLocales, p as FunnelManifest, G as Gate, I as IdentityContext, q as Interval, L as LocaleContext, M as ManifestEdge, r as ManifestPage, s as ManifestValidation, t as Money, u as OsContext, v as PageType, w as Predicate, x as ResolvedOffering, y as Route, S as SessionContext, z as SystemContext, U as UtmContext, H as assignVariant, J as bucketingSeed, K as buildAcquisition, N as buildCatalog, Q as compileManifest, T as currencyExponent, W as defineFunnel, X as definePage, Y as entryGuard, Z as evaluateCondition, _ as evaluateGate, $ as expectedPathLength, a0 as fnv1a, a1 as formatMoney, a2 as formatOffering, a3 as hashToUnit, a4 as isRtl, a5 as isVariantKey, a6 as nextPage, a7 as outgoingKeys, a8 as pageMeta, a9 as parseSlotKey, aa as pickByWeight, ab as resolveExperiments, ac as resolveLocale, ad as resolveOffering, ae as resolveRoute } from './manifest-CMe8yVkr.cjs';
3
+ import { V as VariableValue, a as VariableConfig, A as Acquisition, O as Offering, D as Direction, F as FunnelContext, R as RuntimeExperiment, b as FunnelSnapshot, c as FunnelDefinition, d as buildContext, e as OfferingInput, P as PageMeta, f as PageContext } from './manifest-B3Tdab0M.cjs';
4
+ export { B as BrowserContext, g as BuildContextOptions, C as ClickIdContext, h as CompileInput, i as Condition, j as ConditionOp, k as DeviceContext, E as EdgeCondition, l as ExperimentArm, m as ExperimentResolution, n as FlowPage, o as FunnelLocales, p as FunnelManifest, G as Gate, I as IdentityContext, q as Interval, L as LocaleContext, M as ManifestEdge, r as ManifestPage, s as ManifestValidation, t as Money, u as OsContext, v as PageType, w as Predicate, x as ResolvedOffering, y as Route, S as SessionContext, z as SystemContext, U as UtmContext, H as assignVariant, J as bucketingSeed, K as buildAcquisition, N as buildCatalog, Q as compileManifest, T as currencyExponent, W as defineFunnel, X as definePage, Y as entryGuard, Z as evaluateCondition, _ as evaluateGate, $ as expectedPathLength, a0 as fnv1a, a1 as formatMoney, a2 as formatOffering, a3 as hashToUnit, a4 as isRtl, a5 as isVariantKey, a6 as nextPage, a7 as outgoingKeys, a8 as pageMeta, a9 as parseSlotKey, aa as pickByWeight, ab as resolveExperiments, ac as resolveLocale, ad as resolveOffering, ae as resolveRoute } from './manifest-B3Tdab0M.cjs';
5
5
  import { NavSnapshot } from './protocol.cjs';
6
- import { a as CheckoutDriver, C as CheckoutDriverContext } from './checkout-CMEdxpgo.cjs';
7
- export { b as Checkout, c as CheckoutCallbacks, d as CheckoutHandle, e as CheckoutProps, f as CheckoutRequest, g as CheckoutResult, h as CheckoutResume, i as CheckoutStatus, F as FailureModalProps, j as FailureRoute, M as MockDriverOptions, O as OnFailedMap, U as Upsell, k as UpsellProps, l as UseCheckoutOptions, m as createMockDriver, n as driverWithEmail, u as useCheckout } from './checkout-CMEdxpgo.cjs';
6
+ import { a as CheckoutDriver, C as CheckoutDriverContext } from './checkout-DBp4bCpC.cjs';
7
+ export { b as Checkout, c as CheckoutCallbacks, d as CheckoutHandle, e as CheckoutProps, f as CheckoutRequest, g as CheckoutResult, h as CheckoutResume, i as CheckoutStatus, F as FailureModalProps, j as FailureRoute, M as MockDriverOptions, O as OnFailedMap, U as Upsell, k as UpsellProps, l as UseCheckoutOptions, m as createMockDriver, n as driverWithEmail, u as useCheckout } from './checkout-DBp4bCpC.cjs';
8
8
  import { ToasterProps } from 'sonner';
9
9
  export { ToasterProps, toast } from 'sonner';
10
- export { C as CheckoutError, a as CheckoutErrorCategory, b as CheckoutIntent, c as CheckoutProvider, d as CheckoutSurface, I as INLINE_SURFACES, O as OffSessionReliability, P as PROVIDER_PROFILES, e as ProviderProfile, S as SurfaceCapability, U as UpsellKind, V as ValidationResult, f as checkoutError, i as isInlineSurface, g as isMerchantOfRecord, h as isOrchestrator, s as surfacesFor, v as validateCheckout, j as validateUpsell } from './capabilities-7_hy5f5G.cjs';
10
+ export { C as CheckoutError, a as CheckoutErrorCategory, b as CheckoutIntent, c as CheckoutProvider, d as CheckoutSurface, D as DeviceClass, I as INLINE_SURFACES, O as OffSessionReliability, P as PROVIDER_PROFILES, e as ProviderProfile, S as SurfaceCapability, f as SurfacePreference, U as UpsellKind, V as ValidationResult, g as checkoutError, i as isInlineSurface, h as isMerchantOfRecord, j as isOrchestrator, k as isRenderableSurface, r as renderableSurfaces, l as resolveSurface, s as surfacesFor, v as validateCheckout, m as validateUpsell } from './capabilities-Dq22RCr_.cjs';
11
11
 
12
12
  declare class VariableStore {
13
13
  private state;
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ComponentType, ButtonHTMLAttributes } from 'react';
3
- import { V as VariableValue, a as VariableConfig, A as Acquisition, O as Offering, D as Direction, F as FunnelContext, R as RuntimeExperiment, b as FunnelSnapshot, c as FunnelDefinition, d as buildContext, e as OfferingInput, P as PageMeta, f as PageContext } from './manifest-CMe8yVkr.js';
4
- export { B as BrowserContext, g as BuildContextOptions, C as ClickIdContext, h as CompileInput, i as Condition, j as ConditionOp, k as DeviceContext, E as EdgeCondition, l as ExperimentArm, m as ExperimentResolution, n as FlowPage, o as FunnelLocales, p as FunnelManifest, G as Gate, I as IdentityContext, q as Interval, L as LocaleContext, M as ManifestEdge, r as ManifestPage, s as ManifestValidation, t as Money, u as OsContext, v as PageType, w as Predicate, x as ResolvedOffering, y as Route, S as SessionContext, z as SystemContext, U as UtmContext, H as assignVariant, J as bucketingSeed, K as buildAcquisition, N as buildCatalog, Q as compileManifest, T as currencyExponent, W as defineFunnel, X as definePage, Y as entryGuard, Z as evaluateCondition, _ as evaluateGate, $ as expectedPathLength, a0 as fnv1a, a1 as formatMoney, a2 as formatOffering, a3 as hashToUnit, a4 as isRtl, a5 as isVariantKey, a6 as nextPage, a7 as outgoingKeys, a8 as pageMeta, a9 as parseSlotKey, aa as pickByWeight, ab as resolveExperiments, ac as resolveLocale, ad as resolveOffering, ae as resolveRoute } from './manifest-CMe8yVkr.js';
3
+ import { V as VariableValue, a as VariableConfig, A as Acquisition, O as Offering, D as Direction, F as FunnelContext, R as RuntimeExperiment, b as FunnelSnapshot, c as FunnelDefinition, d as buildContext, e as OfferingInput, P as PageMeta, f as PageContext } from './manifest-B3Tdab0M.js';
4
+ export { B as BrowserContext, g as BuildContextOptions, C as ClickIdContext, h as CompileInput, i as Condition, j as ConditionOp, k as DeviceContext, E as EdgeCondition, l as ExperimentArm, m as ExperimentResolution, n as FlowPage, o as FunnelLocales, p as FunnelManifest, G as Gate, I as IdentityContext, q as Interval, L as LocaleContext, M as ManifestEdge, r as ManifestPage, s as ManifestValidation, t as Money, u as OsContext, v as PageType, w as Predicate, x as ResolvedOffering, y as Route, S as SessionContext, z as SystemContext, U as UtmContext, H as assignVariant, J as bucketingSeed, K as buildAcquisition, N as buildCatalog, Q as compileManifest, T as currencyExponent, W as defineFunnel, X as definePage, Y as entryGuard, Z as evaluateCondition, _ as evaluateGate, $ as expectedPathLength, a0 as fnv1a, a1 as formatMoney, a2 as formatOffering, a3 as hashToUnit, a4 as isRtl, a5 as isVariantKey, a6 as nextPage, a7 as outgoingKeys, a8 as pageMeta, a9 as parseSlotKey, aa as pickByWeight, ab as resolveExperiments, ac as resolveLocale, ad as resolveOffering, ae as resolveRoute } from './manifest-B3Tdab0M.js';
5
5
  import { NavSnapshot } from './protocol.js';
6
- import { a as CheckoutDriver, C as CheckoutDriverContext } from './checkout-D1NUPv4p.js';
7
- export { b as Checkout, c as CheckoutCallbacks, d as CheckoutHandle, e as CheckoutProps, f as CheckoutRequest, g as CheckoutResult, h as CheckoutResume, i as CheckoutStatus, F as FailureModalProps, j as FailureRoute, M as MockDriverOptions, O as OnFailedMap, U as Upsell, k as UpsellProps, l as UseCheckoutOptions, m as createMockDriver, n as driverWithEmail, u as useCheckout } from './checkout-D1NUPv4p.js';
6
+ import { a as CheckoutDriver, C as CheckoutDriverContext } from './checkout-ClaO5IYV.js';
7
+ export { b as Checkout, c as CheckoutCallbacks, d as CheckoutHandle, e as CheckoutProps, f as CheckoutRequest, g as CheckoutResult, h as CheckoutResume, i as CheckoutStatus, F as FailureModalProps, j as FailureRoute, M as MockDriverOptions, O as OnFailedMap, U as Upsell, k as UpsellProps, l as UseCheckoutOptions, m as createMockDriver, n as driverWithEmail, u as useCheckout } from './checkout-ClaO5IYV.js';
8
8
  import { ToasterProps } from 'sonner';
9
9
  export { ToasterProps, toast } from 'sonner';
10
- export { C as CheckoutError, a as CheckoutErrorCategory, b as CheckoutIntent, c as CheckoutProvider, d as CheckoutSurface, I as INLINE_SURFACES, O as OffSessionReliability, P as PROVIDER_PROFILES, e as ProviderProfile, S as SurfaceCapability, U as UpsellKind, V as ValidationResult, f as checkoutError, i as isInlineSurface, g as isMerchantOfRecord, h as isOrchestrator, s as surfacesFor, v as validateCheckout, j as validateUpsell } from './capabilities-7_hy5f5G.js';
10
+ export { C as CheckoutError, a as CheckoutErrorCategory, b as CheckoutIntent, c as CheckoutProvider, d as CheckoutSurface, D as DeviceClass, I as INLINE_SURFACES, O as OffSessionReliability, P as PROVIDER_PROFILES, e as ProviderProfile, S as SurfaceCapability, f as SurfacePreference, U as UpsellKind, V as ValidationResult, g as checkoutError, i as isInlineSurface, h as isMerchantOfRecord, j as isOrchestrator, k as isRenderableSurface, r as renderableSurfaces, l as resolveSurface, s as surfacesFor, v as validateCheckout, m as validateUpsell } from './capabilities-Dq22RCr_.js';
11
11
 
12
12
  declare class VariableStore {
13
13
  private state;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { isRtl, formatOffering, bucketingSeed, resolveExperiments, entryGuard, evaluateGate, expectedPathLength, nextPage, outgoingKeys, buildCatalog, resolveLocale } from './chunk-7YQLPPPG.js';
2
- export { assignVariant, bucketingSeed, buildCatalog, compileManifest, currencyExponent, defineFunnel, definePage, entryGuard, evaluateCondition, evaluateGate, expectedPathLength, fnv1a, formatMoney, formatOffering, hashToUnit, isRtl, isVariantKey, nextPage, outgoingKeys, pageMeta, parseSlotKey, pickByWeight, resolveExperiments, resolveLocale, resolveOffering, resolveRoute } from './chunk-7YQLPPPG.js';
1
+ import { isRtl, formatOffering, bucketingSeed, resolveExperiments, entryGuard, evaluateGate, expectedPathLength, nextPage, outgoingKeys, buildCatalog, resolveLocale } from './chunk-VW2HVPR4.js';
2
+ export { assignVariant, bucketingSeed, buildCatalog, compileManifest, currencyExponent, defineFunnel, definePage, entryGuard, evaluateCondition, evaluateGate, expectedPathLength, fnv1a, formatMoney, formatOffering, hashToUnit, isRtl, isVariantKey, nextPage, outgoingKeys, pageMeta, parseSlotKey, pickByWeight, resolveExperiments, resolveLocale, resolveOffering, resolveRoute } from './chunk-VW2HVPR4.js';
3
3
  import { AF_PROTOCOL } from './chunk-ZZJG4EYL.js';
4
- import { checkoutError, isInlineSurface, PROVIDER_PROFILES } from './chunk-TNLRQPVY.js';
5
- export { INLINE_SURFACES, PROVIDER_PROFILES, checkoutError, isInlineSurface, isMerchantOfRecord, isOrchestrator, surfacesFor, validateCheckout, validateUpsell } from './chunk-TNLRQPVY.js';
4
+ import { checkoutError, resolveSurface, isInlineSurface, PROVIDER_PROFILES } from './chunk-OXQBEKZ5.js';
5
+ export { INLINE_SURFACES, PROVIDER_PROFILES, checkoutError, isInlineSurface, isMerchantOfRecord, isOrchestrator, isRenderableSurface, renderableSurfaces, resolveSurface, surfacesFor, validateCheckout, validateUpsell } from './chunk-OXQBEKZ5.js';
6
6
  import './chunk-G3PMV62Z.js';
7
7
  import React, { createContext, createElement, useCallback, useContext, useMemo, lazy, useRef, useState, useEffect, useTransition, Suspense, Fragment, isValidElement, cloneElement, useReducer, useSyncExternalStore } from 'react';
8
8
  import ReactDOM, { createPortal } from 'react-dom';
@@ -1720,9 +1720,21 @@ function trigger(onClick, {
1720
1720
  children ?? "Continue"
1721
1721
  );
1722
1722
  }
1723
+ function detectDeviceClass() {
1724
+ if (typeof window === "undefined") return "desktop";
1725
+ const ua = navigator.userAgent?.toLowerCase() ?? "";
1726
+ if (/mobile|android(?!.*tablet)|iphone|ipod/.test(ua)) return "mobile";
1727
+ try {
1728
+ if (window.matchMedia?.("(pointer: coarse)").matches && window.innerWidth > 0 && window.innerWidth < 768) {
1729
+ return "mobile";
1730
+ }
1731
+ } catch {
1732
+ }
1733
+ return "desktop";
1734
+ }
1723
1735
  function Checkout({
1724
1736
  offering,
1725
- surface,
1737
+ surface: surfacePreference,
1726
1738
  asChild,
1727
1739
  children,
1728
1740
  className,
@@ -1730,6 +1742,9 @@ function Checkout({
1730
1742
  }) {
1731
1743
  const product = offering;
1732
1744
  const driver = useDriver();
1745
+ const [surface] = useState(
1746
+ () => resolveSurface(driver.provider, surfacePreference, detectDeviceClass())
1747
+ );
1733
1748
  const checkout = useCheckout(options);
1734
1749
  const intent = options.intent ?? "purchase";
1735
1750
  if (isInlineSurface(surface)) {