@stigg/react-sdk 5.25.0 → 5.27.0

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 (39) hide show
  1. package/dist/components/BooleanEntitlementGuard.d.ts +8 -0
  2. package/dist/components/MeteredEntitlementGuard.d.ts +8 -0
  3. package/dist/components/StiggProvider.d.ts +1 -1
  4. package/dist/hooks/index.d.ts +7 -0
  5. package/dist/hooks/useActiveSubscriptions.d.ts +6 -0
  6. package/dist/hooks/useBooleanEntitlement.d.ts +5 -0
  7. package/dist/hooks/useCustomerPortal.d.ts +6 -0
  8. package/dist/hooks/useFetch.d.ts +8 -0
  9. package/dist/hooks/useMeteredEntitlement.d.ts +6 -0
  10. package/dist/hooks/useNumericEntitlement.d.ts +6 -0
  11. package/dist/hooks/usePaywall.d.ts +6 -0
  12. package/dist/hooks/useStiggContext.d.ts +7 -0
  13. package/dist/index.d.ts +4 -1
  14. package/dist/react-sdk.cjs.development.js +432 -200
  15. package/dist/react-sdk.cjs.development.js.map +1 -1
  16. package/dist/react-sdk.cjs.production.min.js +1 -1
  17. package/dist/react-sdk.cjs.production.min.js.map +1 -1
  18. package/dist/react-sdk.esm.js +426 -202
  19. package/dist/react-sdk.esm.js.map +1 -1
  20. package/package.json +2 -2
  21. package/src/components/BooleanEntitlementGuard.tsx +22 -0
  22. package/src/components/MeteredEntitlementGuard.tsx +22 -0
  23. package/src/components/StiggProvider.tsx +4 -9
  24. package/src/components/checkout/hooks/useLoadCheckout.ts +1 -1
  25. package/src/components/checkout/hooks/usePreviewSubscription.ts +1 -1
  26. package/src/components/customerPortal/hooks/useCustomerPortal.ts +1 -1
  27. package/src/components/hooks/useWaitForCheckoutCompleted.ts +1 -1
  28. package/src/components/paywall/hooks/useLoadPaywallData.ts +1 -1
  29. package/src/hooks/index.ts +7 -0
  30. package/src/hooks/useActiveSubscriptions.ts +21 -0
  31. package/src/hooks/useBooleanEntitlement.ts +20 -0
  32. package/src/hooks/useCustomerPortal.ts +21 -0
  33. package/src/hooks/useFetch.ts +31 -0
  34. package/src/hooks/useMeteredEntitlement.ts +20 -0
  35. package/src/hooks/useNumericEntitlement.ts +20 -0
  36. package/src/hooks/usePaywall.ts +21 -0
  37. package/src/hooks/useStiggContext.ts +13 -0
  38. package/src/index.ts +12 -7
  39. package/src/theme/Theme.tsx +2 -1
@@ -3103,205 +3103,6 @@ var LoggerService = /*#__PURE__*/function () {
3103
3103
 
3104
3104
  var logger = /*#__PURE__*/new LoggerService();
3105
3105
 
3106
- var version = "5.25.0";
3107
- var name = "@stigg/react-sdk";
3108
-
3109
- var StiggContext = /*#__PURE__*/React__default.createContext(null);
3110
- StiggContext.displayName = 'StiggContext';
3111
- var DEFAULT_LOCALE = 'en-US';
3112
- var StiggProvider = function StiggProvider(_ref) {
3113
- var apiKey = _ref.apiKey,
3114
- baseUri = _ref.baseUri,
3115
- baseEdgeUri = _ref.baseEdgeUri,
3116
- enableEdge = _ref.enableEdge,
3117
- customerId = _ref.customerId,
3118
- customerToken = _ref.customerToken,
3119
- resourceId = _ref.resourceId,
3120
- theme = _ref.theme,
3121
- locale = _ref.locale,
3122
- cacheTtlMs = _ref.cacheTtlMs,
3123
- useEntitlementPolling = _ref.useEntitlementPolling,
3124
- entitlementPollingInterval = _ref.entitlementPollingInterval,
3125
- entitlementsFallback = _ref.entitlementsFallback,
3126
- stiggClient = _ref.stiggClient,
3127
- children = _ref.children,
3128
- _ref$clientName = _ref.clientName,
3129
- clientName = _ref$clientName === void 0 ? name : _ref$clientName,
3130
- _ref$clientVersion = _ref.clientVersion,
3131
- clientVersion = _ref$clientVersion === void 0 ? version : _ref$clientVersion;
3132
- var currentApiKey = React.useRef(apiKey);
3133
- var initializeParams = {
3134
- apiKey: apiKey,
3135
- customerId: customerId,
3136
- customerToken: customerToken,
3137
- resourceId: resourceId,
3138
- baseUri: baseUri,
3139
- baseEdgeUri: baseEdgeUri,
3140
- enableEdge: enableEdge,
3141
- entitlementsFallback: entitlementsFallback,
3142
- cacheTtlMs: cacheTtlMs,
3143
- useEntitlementPolling: useEntitlementPolling,
3144
- entitlementPollingInterval: entitlementPollingInterval,
3145
- clientName: clientName,
3146
- clientVersion: clientVersion
3147
- };
3148
-
3149
- var _useState = React.useState(function () {
3150
- return {
3151
- stigg: stiggClient != null ? stiggClient : Stigg__default.initialize(_extends({}, initializeParams, {
3152
- lazyLoad: true
3153
- })),
3154
- locale: locale || DEFAULT_LOCALE,
3155
- isInitialized: false,
3156
- theme: theme,
3157
- refreshData: function () {
3158
- var _refreshData = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
3159
- return runtime_1.wrap(function _callee$(_context) {
3160
- while (1) {
3161
- switch (_context.prev = _context.next) {
3162
- case 0:
3163
- setContext(function (ctx) {
3164
- return _extends({}, ctx, {
3165
- customerPortalUpdatedAt: new Date()
3166
- });
3167
- });
3168
- _context.next = 3;
3169
- return ctx.stigg.refresh();
3170
-
3171
- case 3:
3172
- case "end":
3173
- return _context.stop();
3174
- }
3175
- }
3176
- }, _callee);
3177
- }));
3178
-
3179
- function refreshData() {
3180
- return _refreshData.apply(this, arguments);
3181
- }
3182
-
3183
- return refreshData;
3184
- }()
3185
- };
3186
- }),
3187
- ctx = _useState[0],
3188
- setContext = _useState[1];
3189
-
3190
- React.useEffect(function () {
3191
- var isMounted = true;
3192
-
3193
- var safeSetContext = function safeSetContext(setContextFunc) {
3194
- if (isMounted) {
3195
- setContext(setContextFunc);
3196
- }
3197
- };
3198
-
3199
- var onEntitlementsUpdated = function onEntitlementsUpdated() {
3200
- return safeSetContext(function (ctx) {
3201
- return _extends({}, ctx, {
3202
- updatedAt: new Date()
3203
- });
3204
- });
3205
- };
3206
-
3207
- var setStiggInstance = function setStiggInstance(stigg) {
3208
- return safeSetContext(function (ctx) {
3209
- if (ctx.stigg) {
3210
- ctx.stigg.removeListener('entitlementsUpdated', onEntitlementsUpdated);
3211
- }
3212
-
3213
- stigg.addListener('entitlementsUpdated', onEntitlementsUpdated);
3214
- return _extends({}, ctx, {
3215
- stigg: stigg,
3216
- isInitialized: true,
3217
- updatedAt: new Date()
3218
- });
3219
- });
3220
- };
3221
-
3222
- var loadStiggClient = /*#__PURE__*/function () {
3223
- var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
3224
- var stiggClient;
3225
- return runtime_1.wrap(function _callee2$(_context2) {
3226
- while (1) {
3227
- switch (_context2.prev = _context2.next) {
3228
- case 0:
3229
- stiggClient = ctx.stigg;
3230
-
3231
- if (apiKey !== currentApiKey.current) {
3232
- logger.log('Updating stigg client', {
3233
- apiKey: apiKey
3234
- });
3235
- currentApiKey.current = apiKey;
3236
- stiggClient = Stigg__default.initialize(_extends({}, initializeParams));
3237
- safeSetContext(function (ctx) {
3238
- return _extends({}, ctx, {
3239
- isInitialized: false,
3240
- updatedAt: new Date()
3241
- });
3242
- });
3243
- }
3244
-
3245
- _context2.next = 4;
3246
- return stiggClient.waitForInitialization();
3247
-
3248
- case 4:
3249
- setStiggInstance(stiggClient);
3250
-
3251
- case 5:
3252
- case "end":
3253
- return _context2.stop();
3254
- }
3255
- }
3256
- }, _callee2);
3257
- }));
3258
-
3259
- return function loadStiggClient() {
3260
- return _ref2.apply(this, arguments);
3261
- };
3262
- }();
3263
-
3264
- void loadStiggClient();
3265
- return function () {
3266
- isMounted = false;
3267
- ctx.stigg.removeListener('entitlementsUpdated', onEntitlementsUpdated);
3268
- ctx.stigg.clearCustomer();
3269
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
3270
- }, [apiKey]);
3271
- React.useEffect(function () {
3272
- var stiggClient = ctx.stigg;
3273
-
3274
- if (customerId) {
3275
- void stiggClient.setCustomerId(customerId, customerToken, resourceId);
3276
- } else {
3277
- stiggClient.clearCustomer();
3278
- } // eslint-disable-next-line react-hooks/exhaustive-deps
3279
-
3280
- }, [customerId, customerToken, resourceId]);
3281
- React.useEffect(function () {
3282
- setContext(function (ctx) {
3283
- return _extends({}, ctx, {
3284
- theme: theme
3285
- });
3286
- });
3287
- }, [theme]);
3288
- return React__default.createElement(StiggContext.Provider, {
3289
- value: ctx
3290
- }, React__default.createElement(Skeleton$1.SkeletonTheme, {
3291
- baseColor: "#F5F6F9",
3292
- highlightColor: "#e5e6ea"
3293
- }, children));
3294
- };
3295
- var useStiggContext = function useStiggContext() {
3296
- var ctx = React.useContext(StiggContext);
3297
-
3298
- if (!ctx) {
3299
- throw new Error('Could not find Stigg context; You need to wrap your app in an <StiggProvider> component.');
3300
- }
3301
-
3302
- return ctx;
3303
- };
3304
-
3305
3106
  function computeBillingPeriods(plans, activeSubscriptions, preferredBillingPeriod) {
3306
3107
  var billingPeriods = plans.flatMap(function (x) {
3307
3108
  return x.pricePoints;
@@ -3620,6 +3421,211 @@ function mapPaywallData(paywall, showOnlyEligiblePlans) {
3620
3421
  };
3621
3422
  }
3622
3423
 
3424
+ var version = "5.27.0";
3425
+ var name = "@stigg/react-sdk";
3426
+
3427
+ var StiggContext = /*#__PURE__*/React__default.createContext(null);
3428
+ StiggContext.displayName = 'StiggContext';
3429
+ var DEFAULT_LOCALE = 'en-US';
3430
+ var StiggProvider = function StiggProvider(_ref) {
3431
+ var apiKey = _ref.apiKey,
3432
+ baseUri = _ref.baseUri,
3433
+ baseEdgeUri = _ref.baseEdgeUri,
3434
+ enableEdge = _ref.enableEdge,
3435
+ customerId = _ref.customerId,
3436
+ customerToken = _ref.customerToken,
3437
+ resourceId = _ref.resourceId,
3438
+ theme = _ref.theme,
3439
+ locale = _ref.locale,
3440
+ cacheTtlMs = _ref.cacheTtlMs,
3441
+ useEntitlementPolling = _ref.useEntitlementPolling,
3442
+ entitlementPollingInterval = _ref.entitlementPollingInterval,
3443
+ entitlementsFallback = _ref.entitlementsFallback,
3444
+ stiggClient = _ref.stiggClient,
3445
+ children = _ref.children,
3446
+ offline = _ref.offline,
3447
+ _ref$clientName = _ref.clientName,
3448
+ clientName = _ref$clientName === void 0 ? name : _ref$clientName,
3449
+ _ref$clientVersion = _ref.clientVersion,
3450
+ clientVersion = _ref$clientVersion === void 0 ? version : _ref$clientVersion;
3451
+ var currentApiKey = React.useRef(apiKey);
3452
+ var initializeParams = {
3453
+ apiKey: apiKey,
3454
+ customerId: customerId,
3455
+ customerToken: customerToken,
3456
+ resourceId: resourceId,
3457
+ baseUri: baseUri,
3458
+ baseEdgeUri: baseEdgeUri,
3459
+ enableEdge: enableEdge,
3460
+ entitlementsFallback: entitlementsFallback,
3461
+ cacheTtlMs: cacheTtlMs,
3462
+ useEntitlementPolling: useEntitlementPolling,
3463
+ entitlementPollingInterval: entitlementPollingInterval,
3464
+ clientName: clientName,
3465
+ clientVersion: clientVersion,
3466
+ offline: offline
3467
+ };
3468
+
3469
+ var _useState = React.useState(function () {
3470
+ return {
3471
+ stigg: stiggClient != null ? stiggClient : Stigg__default.initialize(_extends({}, initializeParams, {
3472
+ lazyLoad: true
3473
+ })),
3474
+ locale: locale || DEFAULT_LOCALE,
3475
+ isInitialized: false,
3476
+ theme: theme,
3477
+ refreshData: function () {
3478
+ var _refreshData = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
3479
+ return runtime_1.wrap(function _callee$(_context) {
3480
+ while (1) {
3481
+ switch (_context.prev = _context.next) {
3482
+ case 0:
3483
+ setContext(function (ctx) {
3484
+ return _extends({}, ctx, {
3485
+ customerPortalUpdatedAt: new Date()
3486
+ });
3487
+ });
3488
+ _context.next = 3;
3489
+ return ctx.stigg.refresh();
3490
+
3491
+ case 3:
3492
+ case "end":
3493
+ return _context.stop();
3494
+ }
3495
+ }
3496
+ }, _callee);
3497
+ }));
3498
+
3499
+ function refreshData() {
3500
+ return _refreshData.apply(this, arguments);
3501
+ }
3502
+
3503
+ return refreshData;
3504
+ }()
3505
+ };
3506
+ }),
3507
+ ctx = _useState[0],
3508
+ setContext = _useState[1];
3509
+
3510
+ React.useEffect(function () {
3511
+ var isMounted = true;
3512
+
3513
+ var safeSetContext = function safeSetContext(setContextFunc) {
3514
+ if (isMounted) {
3515
+ setContext(setContextFunc);
3516
+ }
3517
+ };
3518
+
3519
+ var onEntitlementsUpdated = function onEntitlementsUpdated() {
3520
+ return safeSetContext(function (ctx) {
3521
+ return _extends({}, ctx, {
3522
+ updatedAt: new Date()
3523
+ });
3524
+ });
3525
+ };
3526
+
3527
+ var setStiggInstance = function setStiggInstance(stigg) {
3528
+ return safeSetContext(function (ctx) {
3529
+ if (ctx.stigg) {
3530
+ ctx.stigg.removeListener('entitlementsUpdated', onEntitlementsUpdated);
3531
+ }
3532
+
3533
+ stigg.addListener('entitlementsUpdated', onEntitlementsUpdated);
3534
+ return _extends({}, ctx, {
3535
+ stigg: stigg,
3536
+ isInitialized: true,
3537
+ updatedAt: new Date()
3538
+ });
3539
+ });
3540
+ };
3541
+
3542
+ var loadStiggClient = /*#__PURE__*/function () {
3543
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
3544
+ var stiggClient;
3545
+ return runtime_1.wrap(function _callee2$(_context2) {
3546
+ while (1) {
3547
+ switch (_context2.prev = _context2.next) {
3548
+ case 0:
3549
+ stiggClient = ctx.stigg;
3550
+
3551
+ if (apiKey !== currentApiKey.current) {
3552
+ logger.log('Updating stigg client', {
3553
+ apiKey: apiKey
3554
+ });
3555
+ currentApiKey.current = apiKey;
3556
+ stiggClient = Stigg__default.initialize(_extends({}, initializeParams));
3557
+ safeSetContext(function (ctx) {
3558
+ return _extends({}, ctx, {
3559
+ isInitialized: false,
3560
+ updatedAt: new Date()
3561
+ });
3562
+ });
3563
+ }
3564
+
3565
+ _context2.next = 4;
3566
+ return stiggClient.waitForInitialization();
3567
+
3568
+ case 4:
3569
+ setStiggInstance(stiggClient);
3570
+
3571
+ case 5:
3572
+ case "end":
3573
+ return _context2.stop();
3574
+ }
3575
+ }
3576
+ }, _callee2);
3577
+ }));
3578
+
3579
+ return function loadStiggClient() {
3580
+ return _ref2.apply(this, arguments);
3581
+ };
3582
+ }();
3583
+
3584
+ void loadStiggClient();
3585
+ return function () {
3586
+ isMounted = false;
3587
+ ctx.stigg.removeListener('entitlementsUpdated', onEntitlementsUpdated);
3588
+ ctx.stigg.clearCustomer();
3589
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
3590
+ }, [apiKey]);
3591
+ React.useEffect(function () {
3592
+ var stiggClient = ctx.stigg;
3593
+
3594
+ if (customerId) {
3595
+ void stiggClient.setCustomerId(customerId, customerToken, resourceId);
3596
+ } else {
3597
+ stiggClient.clearCustomer();
3598
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
3599
+
3600
+ }, [customerId, customerToken, resourceId]);
3601
+ React.useEffect(function () {
3602
+ setContext(function (ctx) {
3603
+ return _extends({}, ctx, {
3604
+ theme: theme
3605
+ });
3606
+ });
3607
+ }, [theme]);
3608
+ return React__default.createElement(StiggContext.Provider, {
3609
+ value: ctx
3610
+ }, React__default.createElement(Skeleton$1.SkeletonTheme, {
3611
+ baseColor: "#F5F6F9",
3612
+ highlightColor: "#e5e6ea"
3613
+ }, children));
3614
+ };
3615
+
3616
+ function useStiggContext(options) {
3617
+ var _ref = options || {},
3618
+ optional = _ref.optional;
3619
+
3620
+ var ctx = React.useContext(StiggContext);
3621
+
3622
+ if (!ctx && !optional) {
3623
+ throw new Error('Could not find Stigg context; You need to wrap your app in an <StiggProvider> component.');
3624
+ }
3625
+
3626
+ return ctx;
3627
+ }
3628
+
3623
3629
  function useLoadPaywallData(_ref) {
3624
3630
  var productId = _ref.productId,
3625
3631
  resourceId = _ref.resourceId,
@@ -3889,7 +3895,7 @@ var CustomCssGlobal = /*#__PURE__*/_styled("div", {
3889
3895
  })(function (_ref) {
3890
3896
  var customCss = _ref.customCss;
3891
3897
  return customCss && react.css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteralLoose(["\n ", "\n "])), customCss);
3892
- }, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRoZW1lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTbUMiLCJmaWxlIjoiVGhlbWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyIGFzIFN0eWxlZFRoZW1lUHJvdmlkZXIgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IGNzcywgVGhlbWVQcm92aWRlciB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nO1xyXG5pbXBvcnQgeyBjcmVhdGVUaGVtZSwgVGhlbWVQcm92aWRlciBhcyBNdWlUaGVtZVByb3ZpZGVyLCBUSEVNRV9JRCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcclxuaW1wb3J0IHsgdXNlU3RpZ2dDb250ZXh0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9TdGlnZ1Byb3ZpZGVyJztcclxuaW1wb3J0IHsgRm9udHMgfSBmcm9tICcuL0ZvbnRzJztcclxuaW1wb3J0IHsgZ2V0UmVzb2x2ZWRUaGVtZSB9IGZyb20gJy4vZ2V0UmVzb2x2ZWRUaGVtZSc7XHJcbmNvbnN0IEN1c3RvbUNzc0dsb2JhbCA9IHN0eWxlZC5kaXYgYFxuICAkeyh7IGN1c3RvbUNzcyB9KSA9PiBjdXN0b21Dc3MgJiZcclxuICAgIGNzcyBgXG4gICAgICAke2N1c3RvbUNzc31cbiAgICBgfVxuYDtcclxuLypcclxuICBUaGlzIG1lcmdlIHRoZSB0aGVtZSBmcm9tIDMgcGxhY2VzOlxyXG4gIDEuIEV4dGVybmFsIHRoZW1lIHRoYXQgd2UgZ290IGZyb20gdGhlIHVzZXIgaW4gU3RpZ2dQcm92aWRlclxyXG4gIDIuIFJlbW90ZSB0aGVtZSBmcm9tIGFwaVxyXG4gIDMuIERlZmF1bHQgdGhlbWVcclxuKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZVN0aWdnVGhlbWUocmVtb3RlVGhlbWVPdmVycmlkZSkge1xyXG4gICAgY29uc3QgeyB0aGVtZTogZXh0ZXJuYWxUaGVtZSB9ID0gdXNlU3RpZ2dDb250ZXh0KCk7XHJcbiAgICBjb25zdCBtZXJnZWRUaGVtZSA9IG1lcmdlKHJlbW90ZVRoZW1lT3ZlcnJpZGUsIGV4dGVybmFsVGhlbWUpO1xyXG4gICAgY29uc3QgcmVzb2x2ZWRUaGVtZSA9IGdldFJlc29sdmVkVGhlbWUobWVyZ2VkVGhlbWUpO1xyXG4gICAgcmV0dXJuIHJlc29sdmVkVGhlbWU7XHJcbn1cclxuZnVuY3Rpb24gY3JlYXRlVHlwb2dyYXBoeVRoZW1lKHRoZW1lKSB7XHJcbiAgICBjb25zdCB7IHR5cG9ncmFwaHkgfSA9IHRoZW1lO1xyXG4gICAgY29uc3QgaHRtbEZvbnRTaXplID0gMTY7XHJcbiAgICBjb25zdCBjb2VmID0gTnVtYmVyKHR5cG9ncmFwaHkuYm9keS5mb250U2l6ZS5yZXBsYWNlKCdweCcsICcnKSkgLyAxNDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLy8gSGFjayB0byBmaXggdGhlbWluZyBpc3N1ZXNcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgcHhUb1JlbTogKHNpemUpID0+IGAkeyhzaXplIC8gaHRtbEZvbnRTaXplKSAqIGNvZWZ9cmVtYCxcclxuICAgICAgICBib2R5Rm9udEZhbWlseTogdHlwb2dyYXBoeS5mb250RmFtaWx5LFxyXG4gICAgICAgIGhlYWRpbmdGb250RmFtaWx5OiB0eXBvZ3JhcGh5LmZvbnRGYW1pbHksXHJcbiAgICAgICAgZm9udFNpemVzOiBbXHJcbiAgICAgICAgICAgIHR5cG9ncmFwaHkuaDEuZm9udFNpemUsXHJcbiAgICAgICAgICAgIHR5cG9ncmFwaHkuaDIuZm9udFNpemUsXHJcbiAgICAgICAgICAgIHR5cG9ncmFwaHkuaDMuZm9udFNpemUsXHJcbiAgICAgICAgICAgIHR5cG9ncmFwaHkuYm9keS5mb250U2l6ZSxcclxuICAgICAgICAgICAgJzEycHgnLFxyXG4gICAgICAgICAgICAnMTBweCcsXHJcbiAgICAgICAgXSxcclxuICAgIH07XHJcbn1cclxuY29uc3QgY3JlYXRlTXVpUGFsZXR0ZSA9ICh0aGVtZSkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBwcmltYXJ5OiB7XHJcbiAgICAgICAgICAgIG1haW46IHRoZW1lLnBhbGV0dGUucHJpbWFyeSxcclxuICAgICAgICB9LFxyXG4gICAgfTtcclxufTtcclxuZXhwb3J0IGNvbnN0IFNka1RoZW1lUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiwgY29tcG9uZW50VGhlbWUgfSkgPT4ge1xyXG4gICAgY29uc3QgdGhlbWUgPSB1c2VTdGlnZ1RoZW1lKGNvbXBvbmVudFRoZW1lKTtcclxuICAgIGNvbnN0IG11aVBhbGV0dGUgPSBjcmVhdGVNdWlQYWxldHRlKHRoZW1lKTtcclxuICAgIGNvbnN0IG1hdGVyaWFsVGhlbWUgPSBjcmVhdGVUaGVtZSh7IHBhbGV0dGU6IG11aVBhbGV0dGUsIHN0aWdnOiB0aGVtZSB9KTtcclxuICAgIHJldHVybiAoXHJcbiAgICAvLyBXZSBhcmUgdXNpbmcgc3R5bGVkLWNvbXBvbmVudHMgdGhlbWUgaGVyZSBvbmx5IGJlY2F1c2Ugd2UgYXJlIHVzaW5nIHN0eWxlZC10eXBvZ3JhcGh5XHJcbiAgICAvLyB3aGljaCBkZXBlbmRzIG9uIHN0eWxlZC1jb21wb25lbnRzIGZvciB0aGUgdHlwb2dyYXBoeSB0aGVtaW5nXHJcbiAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE11aVRoZW1lUHJvdmlkZXIsIHsgdGhlbWU6IHsgW1RIRU1FX0lEXTogbWF0ZXJpYWxUaGVtZSB9IH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZVByb3ZpZGVyLCB7IHRoZW1lOiB7IHN0aWdnOiB0aGVtZSB9IH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ3VzdG9tQ3NzR2xvYmFsLCB7IGN1c3RvbUNzczogdGhlbWUuY3VzdG9tQ3NzIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEZvbnRzLCB7IGV4dGVybmFsRm9udFVybDogdGhlbWUudHlwb2dyYXBoeS5mb250RmFtaWx5VXJsIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRUaGVtZVByb3ZpZGVyLCB7IHRoZW1lOiB7IHR5cG9ncmFwaHk6IGNyZWF0ZVR5cG9ncmFwaHlUaGVtZSh0aGVtZSkgfSB9LCBjaGlsZHJlbikpKSkpO1xyXG59O1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1UaGVtZS5qcy5tYXAiXX0= */"));
3898
+ }, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRoZW1lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTbUMiLCJmaWxlIjoiVGhlbWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyIGFzIFN0eWxlZFRoZW1lUHJvdmlkZXIgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IGNzcywgVGhlbWVQcm92aWRlciB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nO1xyXG5pbXBvcnQgeyBjcmVhdGVUaGVtZSwgVGhlbWVQcm92aWRlciBhcyBNdWlUaGVtZVByb3ZpZGVyLCBUSEVNRV9JRCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcclxuaW1wb3J0IHsgRm9udHMgfSBmcm9tICcuL0ZvbnRzJztcclxuaW1wb3J0IHsgZ2V0UmVzb2x2ZWRUaGVtZSB9IGZyb20gJy4vZ2V0UmVzb2x2ZWRUaGVtZSc7XHJcbmltcG9ydCB7IHVzZVN0aWdnQ29udGV4dCB9IGZyb20gJy4uL2hvb2tzL3VzZVN0aWdnQ29udGV4dCc7XHJcbmNvbnN0IEN1c3RvbUNzc0dsb2JhbCA9IHN0eWxlZC5kaXYgYFxuICAkeyh7IGN1c3RvbUNzcyB9KSA9PiBjdXN0b21Dc3MgJiZcclxuICAgIGNzcyBgXG4gICAgICAke2N1c3RvbUNzc31cbiAgICBgfVxuYDtcclxuLypcclxuICBUaGlzIG1lcmdlIHRoZSB0aGVtZSBmcm9tIDMgcGxhY2VzOlxyXG4gIDEuIEV4dGVybmFsIHRoZW1lIHRoYXQgd2UgZ290IGZyb20gdGhlIHVzZXIgaW4gU3RpZ2dQcm92aWRlclxyXG4gIDIuIFJlbW90ZSB0aGVtZSBmcm9tIGFwaVxyXG4gIDMuIERlZmF1bHQgdGhlbWVcclxuKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZVN0aWdnVGhlbWUocmVtb3RlVGhlbWVPdmVycmlkZSkge1xyXG4gICAgY29uc3QgeyB0aGVtZTogZXh0ZXJuYWxUaGVtZSB9ID0gdXNlU3RpZ2dDb250ZXh0KCk7XHJcbiAgICBjb25zdCBtZXJnZWRUaGVtZSA9IG1lcmdlKHJlbW90ZVRoZW1lT3ZlcnJpZGUsIGV4dGVybmFsVGhlbWUpO1xyXG4gICAgY29uc3QgcmVzb2x2ZWRUaGVtZSA9IGdldFJlc29sdmVkVGhlbWUobWVyZ2VkVGhlbWUpO1xyXG4gICAgcmV0dXJuIHJlc29sdmVkVGhlbWU7XHJcbn1cclxuZnVuY3Rpb24gY3JlYXRlVHlwb2dyYXBoeVRoZW1lKHRoZW1lKSB7XHJcbiAgICBjb25zdCB7IHR5cG9ncmFwaHkgfSA9IHRoZW1lO1xyXG4gICAgY29uc3QgaHRtbEZvbnRTaXplID0gMTY7XHJcbiAgICBjb25zdCBjb2VmID0gTnVtYmVyKHR5cG9ncmFwaHkuYm9keS5mb250U2l6ZS5yZXBsYWNlKCdweCcsICcnKSkgLyAxNDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLy8gSGFjayB0byBmaXggdGhlbWluZyBpc3N1ZXNcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgcHhUb1JlbTogKHNpemUpID0+IGAkeyhzaXplIC8gaHRtbEZvbnRTaXplKSAqIGNvZWZ9cmVtYCxcclxuICAgICAgICBib2R5Rm9udEZhbWlseTogdHlwb2dyYXBoeS5mb250RmFtaWx5LFxyXG4gICAgICAgIGhlYWRpbmdGb250RmFtaWx5OiB0eXBvZ3JhcGh5LmZvbnRGYW1pbHksXHJcbiAgICAgICAgZm9udFNpemVzOiBbXHJcbiAgICAgICAgICAgIHR5cG9ncmFwaHkuaDEuZm9udFNpemUsXHJcbiAgICAgICAgICAgIHR5cG9ncmFwaHkuaDIuZm9udFNpemUsXHJcbiAgICAgICAgICAgIHR5cG9ncmFwaHkuaDMuZm9udFNpemUsXHJcbiAgICAgICAgICAgIHR5cG9ncmFwaHkuYm9keS5mb250U2l6ZSxcclxuICAgICAgICAgICAgJzEycHgnLFxyXG4gICAgICAgICAgICAnMTBweCcsXHJcbiAgICAgICAgXSxcclxuICAgIH07XHJcbn1cclxuY29uc3QgY3JlYXRlTXVpUGFsZXR0ZSA9ICh0aGVtZSkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBwcmltYXJ5OiB7XHJcbiAgICAgICAgICAgIG1haW46IHRoZW1lLnBhbGV0dGUucHJpbWFyeSxcclxuICAgICAgICB9LFxyXG4gICAgfTtcclxufTtcclxuZXhwb3J0IGNvbnN0IFNka1RoZW1lUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiwgY29tcG9uZW50VGhlbWUgfSkgPT4ge1xyXG4gICAgY29uc3QgdGhlbWUgPSB1c2VTdGlnZ1RoZW1lKGNvbXBvbmVudFRoZW1lKTtcclxuICAgIGNvbnN0IG11aVBhbGV0dGUgPSBjcmVhdGVNdWlQYWxldHRlKHRoZW1lKTtcclxuICAgIGNvbnN0IG1hdGVyaWFsVGhlbWUgPSBjcmVhdGVUaGVtZSh7IHBhbGV0dGU6IG11aVBhbGV0dGUsIHN0aWdnOiB0aGVtZSB9KTtcclxuICAgIHJldHVybiAoXHJcbiAgICAvLyBXZSBhcmUgdXNpbmcgc3R5bGVkLWNvbXBvbmVudHMgdGhlbWUgaGVyZSBvbmx5IGJlY2F1c2Ugd2UgYXJlIHVzaW5nIHN0eWxlZC10eXBvZ3JhcGh5XHJcbiAgICAvLyB3aGljaCBkZXBlbmRzIG9uIHN0eWxlZC1jb21wb25lbnRzIGZvciB0aGUgdHlwb2dyYXBoeSB0aGVtaW5nXHJcbiAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE11aVRoZW1lUHJvdmlkZXIsIHsgdGhlbWU6IHsgW1RIRU1FX0lEXTogbWF0ZXJpYWxUaGVtZSB9IH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZVByb3ZpZGVyLCB7IHRoZW1lOiB7IHN0aWdnOiB0aGVtZSB9IH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ3VzdG9tQ3NzR2xvYmFsLCB7IGN1c3RvbUNzczogdGhlbWUuY3VzdG9tQ3NzIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEZvbnRzLCB7IGV4dGVybmFsRm9udFVybDogdGhlbWUudHlwb2dyYXBoeS5mb250RmFtaWx5VXJsIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRUaGVtZVByb3ZpZGVyLCB7IHRoZW1lOiB7IHR5cG9ncmFwaHk6IGNyZWF0ZVR5cG9ncmFwaHlUaGVtZSh0aGVtZSkgfSB9LCBjaGlsZHJlbikpKSkpO1xyXG59O1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1UaGVtZS5qcy5tYXAiXX0= */"));
3893
3899
  /*
3894
3900
  This merge the theme from 3 places:
3895
3901
  1. External theme that we got from the user in StiggProvider
@@ -14420,6 +14426,224 @@ var useWaitForCheckoutCompleted = function useWaitForCheckoutCompleted(_temp) {
14420
14426
  };
14421
14427
  };
14422
14428
 
14429
+ function useBooleanEntitlement(params) {
14430
+ var stiggContext = useStiggContext({
14431
+ optional: true
14432
+ });
14433
+ var stigg = stiggContext == null ? void 0 : stiggContext.stigg;
14434
+
14435
+ if (!stigg) {
14436
+ var _params$options;
14437
+
14438
+ return _extends({}, Stigg.BOOLEAN_DEFAULT_FALLBACK_ENTITLEMENT, (_params$options = params.options) == null ? void 0 : _params$options.fallback);
14439
+ }
14440
+
14441
+ return stigg.getBooleanEntitlement(params);
14442
+ }
14443
+
14444
+ function useNumericEntitlement(params) {
14445
+ var stiggContext = useStiggContext({
14446
+ optional: true
14447
+ });
14448
+ var stigg = stiggContext == null ? void 0 : stiggContext.stigg;
14449
+
14450
+ if (!stigg) {
14451
+ var _params$options;
14452
+
14453
+ return _extends({}, Stigg.NUMERIC_DEFAULT_FALLBACK_ENTITLEMENT, (_params$options = params.options) == null ? void 0 : _params$options.fallback);
14454
+ }
14455
+
14456
+ return stigg.getNumericEntitlement(params);
14457
+ }
14458
+
14459
+ function useMeteredEntitlement(params) {
14460
+ var stiggContext = useStiggContext({
14461
+ optional: true
14462
+ });
14463
+ var stigg = stiggContext == null ? void 0 : stiggContext.stigg;
14464
+
14465
+ if (!stigg) {
14466
+ var _params$options;
14467
+
14468
+ return _extends({}, Stigg.METERED_DEFAULT_FALLBACK_ENTITLEMENT, (_params$options = params.options) == null ? void 0 : _params$options.fallback);
14469
+ }
14470
+
14471
+ return stigg.getMeteredEntitlement(params);
14472
+ }
14473
+
14474
+ function useFetch(_ref) {
14475
+ var func = _ref.func;
14476
+
14477
+ var _useState = React.useState(false),
14478
+ isLoaded = _useState[0],
14479
+ setIsLoaded = _useState[1];
14480
+
14481
+ var _useState2 = React.useState(null),
14482
+ error = _useState2[0],
14483
+ setError = _useState2[1];
14484
+
14485
+ var _useState3 = React.useState(null),
14486
+ data = _useState3[0],
14487
+ setData = _useState3[1];
14488
+
14489
+ React.useEffect(function () {
14490
+ var fetchData = /*#__PURE__*/function () {
14491
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
14492
+ var result;
14493
+ return runtime_1.wrap(function _callee$(_context) {
14494
+ while (1) {
14495
+ switch (_context.prev = _context.next) {
14496
+ case 0:
14497
+ setIsLoaded(true);
14498
+ _context.prev = 1;
14499
+ _context.next = 4;
14500
+ return func();
14501
+
14502
+ case 4:
14503
+ result = _context.sent;
14504
+ setData(result);
14505
+ _context.next = 11;
14506
+ break;
14507
+
14508
+ case 8:
14509
+ _context.prev = 8;
14510
+ _context.t0 = _context["catch"](1);
14511
+ setError(_context.t0);
14512
+
14513
+ case 11:
14514
+ _context.prev = 11;
14515
+ setIsLoaded(false);
14516
+ return _context.finish(11);
14517
+
14518
+ case 14:
14519
+ case "end":
14520
+ return _context.stop();
14521
+ }
14522
+ }
14523
+ }, _callee, null, [[1, 8, 11, 14]]);
14524
+ }));
14525
+
14526
+ return function fetchData() {
14527
+ return _ref2.apply(this, arguments);
14528
+ };
14529
+ }();
14530
+
14531
+ void fetchData();
14532
+ }, [func]);
14533
+ return {
14534
+ isLoaded: isLoaded,
14535
+ error: error,
14536
+ data: data
14537
+ };
14538
+ }
14539
+
14540
+ function useActiveSubscriptions(params) {
14541
+ var stiggContext = useStiggContext({
14542
+ optional: true
14543
+ });
14544
+ var stigg = stiggContext == null ? void 0 : stiggContext.stigg;
14545
+ var func = React.useCallback(function () {
14546
+ return stigg ? stigg.getActiveSubscriptions(params) : Promise.resolve([]);
14547
+ }, [params, stigg]);
14548
+
14549
+ var _useFetch = useFetch({
14550
+ func: func
14551
+ }),
14552
+ data = _useFetch.data,
14553
+ error = _useFetch.error,
14554
+ isLoaded = _useFetch.isLoaded;
14555
+
14556
+ return React.useMemo(function () {
14557
+ return {
14558
+ activeSubscriptions: data,
14559
+ isLoaded: isLoaded,
14560
+ error: error
14561
+ };
14562
+ }, [data, error, isLoaded]);
14563
+ }
14564
+
14565
+ function usePaywall(params) {
14566
+ var stiggContext = useStiggContext({
14567
+ optional: true
14568
+ });
14569
+ var stigg = stiggContext == null ? void 0 : stiggContext.stigg;
14570
+ var func = React.useCallback(function () {
14571
+ return stigg ? stigg.getPaywall(params) : Promise.resolve(null);
14572
+ }, [params, stigg]);
14573
+
14574
+ var _useFetch = useFetch({
14575
+ func: func
14576
+ }),
14577
+ data = _useFetch.data,
14578
+ error = _useFetch.error,
14579
+ isLoaded = _useFetch.isLoaded;
14580
+
14581
+ return React.useMemo(function () {
14582
+ return {
14583
+ paywall: data,
14584
+ isLoaded: isLoaded,
14585
+ error: error
14586
+ };
14587
+ }, [data, error, isLoaded]);
14588
+ }
14589
+
14590
+ function useCustomerPortal$1(params) {
14591
+ var stiggContext = useStiggContext({
14592
+ optional: true
14593
+ });
14594
+ var stigg = stiggContext == null ? void 0 : stiggContext.stigg;
14595
+ var func = React.useCallback(function () {
14596
+ return stigg ? stigg.getCustomerPortal(params) : Promise.resolve(null);
14597
+ }, [params, stigg]);
14598
+
14599
+ var _useFetch = useFetch({
14600
+ func: func
14601
+ }),
14602
+ data = _useFetch.data,
14603
+ error = _useFetch.error,
14604
+ isLoaded = _useFetch.isLoaded;
14605
+
14606
+ return React.useMemo(function () {
14607
+ return {
14608
+ customerPortal: data,
14609
+ isLoaded: isLoaded,
14610
+ error: error
14611
+ };
14612
+ }, [data, error, isLoaded]);
14613
+ }
14614
+
14615
+ var _excluded$8 = ["noAccessComponent", "children"];
14616
+ function BooleanEntitlementGuard(_ref) {
14617
+ var noAccessComponent = _ref.noAccessComponent,
14618
+ children = _ref.children,
14619
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
14620
+
14621
+ var _useBooleanEntitlemen = useBooleanEntitlement(rest),
14622
+ hasAccess = _useBooleanEntitlemen.hasAccess;
14623
+
14624
+ if (!hasAccess) {
14625
+ return React__default.createElement(React__default.Fragment, null, noAccessComponent != null ? noAccessComponent : null);
14626
+ }
14627
+
14628
+ return children;
14629
+ }
14630
+
14631
+ var _excluded$9 = ["noAccessComponent", "children"];
14632
+ function MeteredEntitlementGuard(_ref) {
14633
+ var noAccessComponent = _ref.noAccessComponent,
14634
+ children = _ref.children,
14635
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
14636
+
14637
+ var _useMeteredEntitlemen = useMeteredEntitlement(rest),
14638
+ hasAccess = _useMeteredEntitlemen.hasAccess;
14639
+
14640
+ if (!hasAccess) {
14641
+ return React__default.createElement(React__default.Fragment, null, noAccessComponent != null ? noAccessComponent : null);
14642
+ }
14643
+
14644
+ return children;
14645
+ }
14646
+
14423
14647
  Object.keys(Stigg).forEach(function (k) {
14424
14648
  if (k !== 'default') Object.defineProperty(exports, k, {
14425
14649
  enumerable: true,
@@ -14429,17 +14653,25 @@ Object.keys(Stigg).forEach(function (k) {
14429
14653
  });
14430
14654
  });
14431
14655
  exports.AddonsList = AddonsList;
14656
+ exports.BooleanEntitlementGuard = BooleanEntitlementGuard;
14432
14657
  exports.Checkout = Checkout;
14433
14658
  exports.CustomerPortal = CustomerPortal;
14434
14659
  exports.CustomerPortalProvider = CustomerPortalProvider;
14435
14660
  exports.CustomerUsageData = CustomerUsageData;
14436
14661
  exports.InvoicesSection = InvoicesSection;
14662
+ exports.MeteredEntitlementGuard = MeteredEntitlementGuard;
14437
14663
  exports.PaymentDetailsSection = PaymentDetailsSection;
14438
14664
  exports.Paywall = PaywallContainer$1;
14439
14665
  exports.Promotions = Promotions;
14440
14666
  exports.StiggContext = StiggContext;
14441
14667
  exports.StiggProvider = StiggProvider;
14442
14668
  exports.SubscriptionsOverview = SubscriptionsOverview;
14669
+ exports.useActiveSubscriptions = useActiveSubscriptions;
14670
+ exports.useBooleanEntitlement = useBooleanEntitlement;
14671
+ exports.useCustomerPortal = useCustomerPortal$1;
14672
+ exports.useMeteredEntitlement = useMeteredEntitlement;
14673
+ exports.useNumericEntitlement = useNumericEntitlement;
14674
+ exports.usePaywall = usePaywall;
14443
14675
  exports.useStiggContext = useStiggContext;
14444
14676
  exports.useWaitForCheckoutCompleted = useWaitForCheckoutCompleted;
14445
14677
  //# sourceMappingURL=react-sdk.cjs.development.js.map