@stigg/react-sdk 5.12.0 → 5.13.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.
@@ -483,19 +483,19 @@ var PlanEntitlementsContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV
483
483
  } : {
484
484
  name: "budh8k",
485
485
  styles: "display:flex;flex-direction:column;gap:16px",
486
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBsYW5FbnRpdGxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUs2QyIsImZpbGUiOiJQbGFuRW50aXRsZW1lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJztcclxuaW1wb3J0IHsgV2lkZ2V0VHlwZSB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgRW50aXRsZW1lbnRSb3cgfSBmcm9tICcuL0VudGl0bGVtZW50Um93JztcclxuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uL2NvbW1vbi9UeXBvZ3JhcGh5JztcclxuY29uc3QgUGxhbkVudGl0bGVtZW50c0NvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7XG5gO1xyXG5mdW5jdGlvbiBnZXRUaXRsZShwbGFuLCBwYXl3YWxsTG9jYWxlKSB7XHJcbiAgICBpZiAocGF5d2FsbExvY2FsZS5lbnRpdGxlbWVudHNUaXRsZSkge1xyXG4gICAgICAgIHJldHVybiBwYXl3YWxsTG9jYWxlLmVudGl0bGVtZW50c1RpdGxlKHBsYW4pO1xyXG4gICAgfVxyXG4gICAgbGV0IHRpdGxlID0gYCR7cGxhbi5kaXNwbGF5TmFtZX0gaW5jbHVkZXNgO1xyXG4gICAgaWYgKHBsYW4uYmFzZVBsYW4pIHtcclxuICAgICAgICB0aXRsZSA9IGBFdmVyeXRoaW5nIGluICR7cGxhbi5iYXNlUGxhbi5kaXNwbGF5TmFtZX0sIHBsdXM6YDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aXRsZTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gUGxhbkVudGl0bGVtZW50cyh7IHBsYW4sIGJpbGxpbmdQZXJpb2QsIHBheXdhbGxMb2NhbGUsIH0pIHtcclxuICAgIGNvbnN0IHByaWNlcyA9IHBsYW4ucHJpY2VQb2ludHM/LmZpbHRlcigocHJpY2UpID0+IHByaWNlLmJpbGxpbmdQZXJpb2QgPT09IGJpbGxpbmdQZXJpb2QpO1xyXG4gICAgY29uc3QgdW5pdEJhc2VkRW50aXRsZW1lbnRzID0gcHJpY2VzPy5tYXAoKHByaWNlKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2hvdWxkUmVuZGVyVW5pdEJhc2VkRW50aXRsZW1lbnQgPSAocHJpY2U/Lm1pblVuaXRRdWFudGl0eSAmJiBwcmljZT8ubWluVW5pdFF1YW50aXR5ID4gMSkgfHwgcHJpY2U/Lm1heFVuaXRRdWFudGl0eTtcclxuICAgICAgICBpZiAoIXNob3VsZFJlbmRlclVuaXRCYXNlZEVudGl0bGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoRW50aXRsZW1lbnRSb3csIHsga2V5OiBgcHJpY2VVbml0RW50aXRsZW1lbnQtJHtwcmljZT8uZmVhdHVyZT8uZGlzcGxheU5hbWV9YCwgZmVhdHVyZTogcHJpY2U/LmZlYXR1cmUsIG1pblVuaXRRdWFudGl0eTogcHJpY2U/Lm1pblVuaXRRdWFudGl0eSwgbWF4VW5pdFF1YW50aXR5OiBwcmljZT8ubWF4VW5pdFF1YW50aXR5IH0pKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFBsYW5FbnRpdGxlbWVudHNDb250YWluZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLXBsYW4tZW50aXRsZW1lbnRzLWNvbnRhaW5lclwiIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IGNsYXNzTmFtZTogXCJzdGlnZy1wbGFuLWVudGl0bGVtZW50cy10aXRsZVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiwgdmFyaWFudDogXCJoNlwiLCBib2xkOiB0cnVlIH0sIGdldFRpdGxlKHBsYW4sIHBheXdhbGxMb2NhbGUpKSxcclxuICAgICAgICB1bml0QmFzZWRFbnRpdGxlbWVudHMsXHJcbiAgICAgICAgcGxhbi5lbnRpdGxlbWVudHNcclxuICAgICAgICAgICAgLmZpbHRlcigoZW50aXRsZW1lbnQpID0+ICEoZW50aXRsZW1lbnQuaGlkZGVuRnJvbVdpZGdldHMgfHwgW10pLmluY2x1ZGVzKFdpZGdldFR5cGUuUGF5d2FsbCkpXHJcbiAgICAgICAgICAgIC5tYXAoKGVudGl0bGVtZW50KSA9PiAoUmVhY3QuY3JlYXRlRWxlbWVudChFbnRpdGxlbWVudFJvdywgeyBrZXk6IGVudGl0bGVtZW50LmZlYXR1cmU/LmlkLCBkaXNwbGF5TmFtZU92ZXJyaWRlOiBlbnRpdGxlbWVudC5kaXNwbGF5TmFtZU92ZXJyaWRlLCBmZWF0dXJlOiBlbnRpdGxlbWVudC5mZWF0dXJlLCByZXNldFBlcmlvZDogZW50aXRsZW1lbnQucmVzZXRQZXJpb2QsIGhhc1VubGltaXRlZFVzYWdlOiBlbnRpdGxlbWVudC5oYXNVbmxpbWl0ZWRVc2FnZSwgdXNhZ2VMaW1pdDogZW50aXRsZW1lbnQudXNhZ2VMaW1pdCwgaXNDdXN0b206IGVudGl0bGVtZW50LmlzQ3VzdG9tIH0pKSkpKTtcclxufVxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1QbGFuRW50aXRsZW1lbnRzLmpzLm1hcCJdfQ== */",
486
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBsYW5FbnRpdGxlbWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUs2QyIsImZpbGUiOiJQbGFuRW50aXRsZW1lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJztcclxuaW1wb3J0IHsgV2lkZ2V0VHlwZSB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgRW50aXRsZW1lbnRSb3cgfSBmcm9tICcuL0VudGl0bGVtZW50Um93JztcclxuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uL2NvbW1vbi9UeXBvZ3JhcGh5JztcclxuY29uc3QgUGxhbkVudGl0bGVtZW50c0NvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7XG5gO1xyXG5mdW5jdGlvbiBnZXRUaXRsZShwbGFuLCBwYXl3YWxsTG9jYWxlLCBoYXNGZWF0dXJlcykge1xyXG4gICAgaWYgKHBheXdhbGxMb2NhbGUuZW50aXRsZW1lbnRzVGl0bGUpIHtcclxuICAgICAgICByZXR1cm4gcGF5d2FsbExvY2FsZS5lbnRpdGxlbWVudHNUaXRsZShwbGFuKTtcclxuICAgIH1cclxuICAgIGxldCB0aXRsZSA9IGhhc0ZlYXR1cmVzID8gYCR7cGxhbi5kaXNwbGF5TmFtZX0gaW5jbHVkZXNgIDogJyc7XHJcbiAgICBpZiAocGxhbi5iYXNlUGxhbikge1xyXG4gICAgICAgIHRpdGxlID0gYEV2ZXJ5dGhpbmcgaW4gJHtwbGFuLmJhc2VQbGFuLmRpc3BsYXlOYW1lfSR7aGFzRmVhdHVyZXMgPyAnLCBwbHVzOicgOiAnJ31gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRpdGxlO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBQbGFuRW50aXRsZW1lbnRzKHsgcGxhbiwgYmlsbGluZ1BlcmlvZCwgcGF5d2FsbExvY2FsZSwgfSkge1xyXG4gICAgY29uc3QgcHJpY2VzID0gcGxhbi5wcmljZVBvaW50cz8uZmlsdGVyKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gYmlsbGluZ1BlcmlvZCkgfHwgW107XHJcbiAgICBjb25zdCB1bml0QmFzZWRFbnRpdGxlbWVudHMgPSBwcmljZXNcclxuICAgICAgICAuZmlsdGVyKChwcmljZSkgPT4gKHByaWNlPy5taW5Vbml0UXVhbnRpdHkgJiYgcHJpY2U/Lm1pblVuaXRRdWFudGl0eSA+IDEpIHx8IHByaWNlPy5tYXhVbml0UXVhbnRpdHkpXHJcbiAgICAgICAgLm1hcCgocHJpY2UpID0+IHtcclxuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoRW50aXRsZW1lbnRSb3csIHsga2V5OiBgcHJpY2VVbml0RW50aXRsZW1lbnQtJHtwcmljZT8uZmVhdHVyZT8uZGlzcGxheU5hbWV9YCwgZmVhdHVyZTogcHJpY2U/LmZlYXR1cmUsIG1pblVuaXRRdWFudGl0eTogcHJpY2U/Lm1pblVuaXRRdWFudGl0eSwgbWF4VW5pdFF1YW50aXR5OiBwcmljZT8ubWF4VW5pdFF1YW50aXR5IH0pKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgdmlzaWJsZUVudGl0bGVtZW50cyA9IHBsYW4uZW50aXRsZW1lbnRzLmZpbHRlcigoZW50aXRsZW1lbnQpID0+ICEoZW50aXRsZW1lbnQuaGlkZGVuRnJvbVdpZGdldHMgfHwgW10pLmluY2x1ZGVzKFdpZGdldFR5cGUuUGF5d2FsbCkpO1xyXG4gICAgY29uc3QgaGFzRmVhdHVyZXMgPSB1bml0QmFzZWRFbnRpdGxlbWVudHMubGVuZ3RoID4gMCB8fCB2aXNpYmxlRW50aXRsZW1lbnRzLmxlbmd0aCA+IDA7XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGxhbkVudGl0bGVtZW50c0NvbnRhaW5lciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctcGxhbi1lbnRpdGxlbWVudHMtY29udGFpbmVyXCIgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgY2xhc3NOYW1lOiBcInN0aWdnLXBsYW4tZW50aXRsZW1lbnRzLXRpdGxlXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiLCB2YXJpYW50OiBcImg2XCIsIGJvbGQ6IHRydWUgfSwgZ2V0VGl0bGUocGxhbiwgcGF5d2FsbExvY2FsZSwgaGFzRmVhdHVyZXMpKSxcclxuICAgICAgICB1bml0QmFzZWRFbnRpdGxlbWVudHMsXHJcbiAgICAgICAgdmlzaWJsZUVudGl0bGVtZW50cy5tYXAoKGVudGl0bGVtZW50KSA9PiAoUmVhY3QuY3JlYXRlRWxlbWVudChFbnRpdGxlbWVudFJvdywgeyBrZXk6IGVudGl0bGVtZW50LmZlYXR1cmU/LmlkLCBkaXNwbGF5TmFtZU92ZXJyaWRlOiBlbnRpdGxlbWVudC5kaXNwbGF5TmFtZU92ZXJyaWRlLCBmZWF0dXJlOiBlbnRpdGxlbWVudC5mZWF0dXJlLCByZXNldFBlcmlvZDogZW50aXRsZW1lbnQucmVzZXRQZXJpb2QsIGhhc1VubGltaXRlZFVzYWdlOiBlbnRpdGxlbWVudC5oYXNVbmxpbWl0ZWRVc2FnZSwgdXNhZ2VMaW1pdDogZW50aXRsZW1lbnQudXNhZ2VMaW1pdCwgaXNDdXN0b206IGVudGl0bGVtZW50LmlzQ3VzdG9tIH0pKSkpKTtcclxufVxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1QbGFuRW50aXRsZW1lbnRzLmpzLm1hcCJdfQ== */",
487
487
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
488
488
  });
489
489
 
490
- function getTitle(plan, paywallLocale) {
490
+ function getTitle(plan, paywallLocale, hasFeatures) {
491
491
  if (paywallLocale.entitlementsTitle) {
492
492
  return paywallLocale.entitlementsTitle(plan);
493
493
  }
494
494
 
495
- var title = plan.displayName + " includes";
495
+ var title = hasFeatures ? plan.displayName + " includes" : '';
496
496
 
497
497
  if (plan.basePlan) {
498
- title = "Everything in " + plan.basePlan.displayName + ", plus:";
498
+ title = "Everything in " + plan.basePlan.displayName + (hasFeatures ? ', plus:' : '');
499
499
  }
500
500
 
501
501
  return title;
@@ -507,18 +507,14 @@ function PlanEntitlements(_ref) {
507
507
  var plan = _ref.plan,
508
508
  billingPeriod = _ref.billingPeriod,
509
509
  paywallLocale = _ref.paywallLocale;
510
- var prices = (_plan$pricePoints = plan.pricePoints) == null ? void 0 : _plan$pricePoints.filter(function (price) {
510
+ var prices = ((_plan$pricePoints = plan.pricePoints) == null ? void 0 : _plan$pricePoints.filter(function (price) {
511
511
  return price.billingPeriod === billingPeriod;
512
- });
513
- var unitBasedEntitlements = prices == null ? void 0 : prices.map(function (price) {
512
+ })) || [];
513
+ var unitBasedEntitlements = prices.filter(function (price) {
514
+ return (price == null ? void 0 : price.minUnitQuantity) && (price == null ? void 0 : price.minUnitQuantity) > 1 || (price == null ? void 0 : price.maxUnitQuantity);
515
+ }).map(function (price) {
514
516
  var _price$feature;
515
517
 
516
- var shouldRenderUnitBasedEntitlement = (price == null ? void 0 : price.minUnitQuantity) && (price == null ? void 0 : price.minUnitQuantity) > 1 || (price == null ? void 0 : price.maxUnitQuantity);
517
-
518
- if (!shouldRenderUnitBasedEntitlement) {
519
- return null;
520
- }
521
-
522
518
  return React__default.createElement(EntitlementRow, {
523
519
  key: "priceUnitEntitlement-" + (price == null ? void 0 : (_price$feature = price.feature) == null ? void 0 : _price$feature.displayName),
524
520
  feature: price == null ? void 0 : price.feature,
@@ -526,6 +522,10 @@ function PlanEntitlements(_ref) {
526
522
  maxUnitQuantity: price == null ? void 0 : price.maxUnitQuantity
527
523
  });
528
524
  });
525
+ var visibleEntitlements = plan.entitlements.filter(function (entitlement) {
526
+ return !(entitlement.hiddenFromWidgets || []).includes(WidgetType.Paywall);
527
+ });
528
+ var hasFeatures = unitBasedEntitlements.length > 0 || visibleEntitlements.length > 0;
529
529
  return React__default.createElement(PlanEntitlementsContainer, {
530
530
  className: "stigg-plan-entitlements-container"
531
531
  }, React__default.createElement(Typography, {
@@ -533,9 +533,7 @@ function PlanEntitlements(_ref) {
533
533
  color: "secondary",
534
534
  variant: "h6",
535
535
  bold: true
536
- }, getTitle(plan, paywallLocale)), unitBasedEntitlements, plan.entitlements.filter(function (entitlement) {
537
- return !(entitlement.hiddenFromWidgets || []).includes(WidgetType.Paywall);
538
- }).map(function (entitlement) {
536
+ }, getTitle(plan, paywallLocale, hasFeatures)), unitBasedEntitlements, visibleEntitlements.map(function (entitlement) {
539
537
  var _entitlement$feature;
540
538
 
541
539
  return React__default.createElement(EntitlementRow, {
@@ -1213,6 +1211,13 @@ var currencyPriceFormatter = function currencyPriceFormatter(_ref) {
1213
1211
  return formattedPrice;
1214
1212
  };
1215
1213
 
1214
+ function numberFormatter(number, _temp) {
1215
+ var _ref = _temp === void 0 ? {} : _temp,
1216
+ locale = _ref.locale;
1217
+
1218
+ return new Intl.NumberFormat(locale).format(number);
1219
+ }
1220
+
1216
1221
  function getPaidPriceText(_ref) {
1217
1222
  var planPrices = _ref.planPrices,
1218
1223
  paywallCalculatedPrice = _ref.paywallCalculatedPrice,
@@ -1246,15 +1251,15 @@ function getPaidPriceText(_ref) {
1246
1251
  }
1247
1252
 
1248
1253
  if (isSinglePrice) {
1249
- var _price$feature;
1254
+ var _price$feature, _price$feature2, _price$feature3;
1250
1255
 
1251
1256
  var price = planPrices[0];
1252
- var featureUnit = ((_price$feature = price.feature) == null ? void 0 : _price$feature.units) || '';
1257
+ var formattedUnits = price.blockSize && price.blockSize > 1 ? "for " + numberFormatter(price.blockSize) + " " + (((_price$feature = price.feature) == null ? void 0 : _price$feature.unitsPlural) || ((_price$feature2 = price.feature) == null ? void 0 : _price$feature2.units) || '') : "per " + (((_price$feature3 = price.feature) == null ? void 0 : _price$feature3.units) || '');
1253
1258
 
1254
1259
  if (price.pricingModel === BillingModel.PerUnit && !price.isTieredPrice) {
1255
- unit = shouldShowMonthlyPriceAmount ? "per " + featureUnit + " " + pricePeriod : "per " + featureUnit + " " + pricePeriod;
1260
+ unit = formattedUnits + " " + pricePeriod;
1256
1261
  } else if (price.pricingModel === BillingModel.UsageBased) {
1257
- unit = "per " + featureUnit;
1262
+ unit = "" + formattedUnits;
1258
1263
  }
1259
1264
  }
1260
1265
 
@@ -3230,7 +3235,7 @@ var LoggerService = /*#__PURE__*/function () {
3230
3235
 
3231
3236
  var logger = /*#__PURE__*/new LoggerService();
3232
3237
 
3233
- var version = "5.12.0";
3238
+ var version = "5.13.0";
3234
3239
  var name = "@stigg/react-sdk";
3235
3240
 
3236
3241
  var StiggContext = /*#__PURE__*/React__default.createContext(null);
@@ -12550,13 +12555,6 @@ function CheckoutCaptions(props) {
12550
12555
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(RemainingCreditsCaption, Object.assign({}, props)), React__default.createElement(ScheduledUpdatesCaption, Object.assign({}, props)), React__default.createElement(NextBillingCaption, Object.assign({}, props)));
12551
12556
  }
12552
12557
 
12553
- function numberFormatter(number, _temp) {
12554
- var _ref = _temp === void 0 ? {} : _temp,
12555
- locate = _ref.locate;
12556
-
12557
- return new Intl.NumberFormat(locate).format(number);
12558
- }
12559
-
12560
12558
  function formatPricePerUnit(_ref) {
12561
12559
  var quantity = _ref.quantity,
12562
12560
  totalAmount = _ref.totalAmount,