@stigg/react-sdk 7.7.0 → 7.7.1-beta.1

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 (532) hide show
  1. package/dist/index.d.ts +938 -2
  2. package/dist/react-sdk.cjs.js +712 -3440
  3. package/dist/react-sdk.esm.js +12310 -76762
  4. package/package.json +3 -15
  5. package/dist/react-sdk.cjs.js.map +0 -1
  6. package/dist/react-sdk.esm.js.map +0 -1
  7. package/dist/react-sdk.umd.js +0 -6234
  8. package/dist/react-sdk.umd.js.map +0 -1
  9. package/dist/src/assets/lottie/checkout-success.json.d.ts +0 -3
  10. package/dist/src/components/StiggProvider.d.ts +0 -36
  11. package/dist/src/components/checkout/Checkout.d.ts +0 -5
  12. package/dist/src/components/checkout/CheckoutContainer.d.ts +0 -14
  13. package/dist/src/components/checkout/CheckoutContainer.style.d.ts +0 -15
  14. package/dist/src/components/checkout/CheckoutProvider.d.ts +0 -43
  15. package/dist/src/components/checkout/components/Button.d.ts +0 -6
  16. package/dist/src/components/checkout/components/ChangePlanButton.d.ts +0 -7
  17. package/dist/src/components/checkout/components/ContentLoadingSkeleton.d.ts +0 -2
  18. package/dist/src/components/checkout/components/DowngradeToFreeContainer.d.ts +0 -21
  19. package/dist/src/components/checkout/components/InputField.d.ts +0 -6
  20. package/dist/src/components/checkout/components/Skeletons.style.d.ts +0 -27
  21. package/dist/src/components/checkout/components/StyledArrow.d.ts +0 -4
  22. package/dist/src/components/checkout/components/index.d.ts +0 -3
  23. package/dist/src/components/checkout/configurations/steps.d.ts +0 -1
  24. package/dist/src/components/checkout/configurations/textOverrides.d.ts +0 -82
  25. package/dist/src/components/checkout/configurations/theme.d.ts +0 -14
  26. package/dist/src/components/checkout/configurations/typography.d.ts +0 -7
  27. package/dist/src/components/checkout/formatting.d.ts +0 -2
  28. package/dist/src/components/checkout/hooks/index.d.ts +0 -8
  29. package/dist/src/components/checkout/hooks/useAddonsStepModel.d.ts +0 -20
  30. package/dist/src/components/checkout/hooks/useCheckoutModel.d.ts +0 -14
  31. package/dist/src/components/checkout/hooks/useCouponModel.d.ts +0 -7
  32. package/dist/src/components/checkout/hooks/useLoadCheckout.d.ts +0 -14
  33. package/dist/src/components/checkout/hooks/usePaymentStepModel.d.ts +0 -22
  34. package/dist/src/components/checkout/hooks/usePlanStepModel.d.ts +0 -23
  35. package/dist/src/components/checkout/hooks/usePreviewSubscription.d.ts +0 -25
  36. package/dist/src/components/checkout/hooks/useProgressBarModel.d.ts +0 -35
  37. package/dist/src/components/checkout/hooks/useSubscriptionModel.d.ts +0 -6
  38. package/dist/src/components/checkout/hooks/useSubscriptionState.d.ts +0 -2
  39. package/dist/src/components/checkout/index.d.ts +0 -8
  40. package/dist/src/components/checkout/planHeader/PlanHeader.d.ts +0 -6
  41. package/dist/src/components/checkout/planHeader/index.d.ts +0 -1
  42. package/dist/src/components/checkout/progressBar/CheckoutProgressBar.d.ts +0 -1
  43. package/dist/src/components/checkout/progressBar/CheckoutProgressBar.style.d.ts +0 -17
  44. package/dist/src/components/checkout/promotionCode/AddPromotionCode.d.ts +0 -2
  45. package/dist/src/components/checkout/promotionCode/AddPromotionCodeButton.d.ts +0 -7
  46. package/dist/src/components/checkout/promotionCode/AppliedPromotionCode.d.ts +0 -10
  47. package/dist/src/components/checkout/promotionCode/PromotionCodeSection.d.ts +0 -8
  48. package/dist/src/components/checkout/promotionCode/index.d.ts +0 -1
  49. package/dist/src/components/checkout/steps/addons/CheckoutAddonsStep.d.ts +0 -4
  50. package/dist/src/components/checkout/steps/addons/CheckoutAddonsStep.style.d.ts +0 -18
  51. package/dist/src/components/checkout/steps/addons/addon.utils.d.ts +0 -15
  52. package/dist/src/components/checkout/steps/addons/components/AddonInputContainer.d.ts +0 -15
  53. package/dist/src/components/checkout/steps/addons/components/AddonTextContainer.d.ts +0 -9
  54. package/dist/src/components/checkout/steps/addons/index.d.ts +0 -1
  55. package/dist/src/components/checkout/steps/payment/PaymentMethods.d.ts +0 -19
  56. package/dist/src/components/checkout/steps/payment/PaymentMethods.style.d.ts +0 -27
  57. package/dist/src/components/checkout/steps/payment/PaymentStep.d.ts +0 -2
  58. package/dist/src/components/checkout/steps/payment/index.d.ts +0 -1
  59. package/dist/src/components/checkout/steps/payment/stripe/StripePaymentForm.d.ts +0 -2
  60. package/dist/src/components/checkout/steps/payment/stripe/index.d.ts +0 -3
  61. package/dist/src/components/checkout/steps/payment/stripe/stripe.utils.d.ts +0 -33
  62. package/dist/src/components/checkout/steps/payment/stripe/useStripeIntegration.d.ts +0 -5
  63. package/dist/src/components/checkout/steps/payment/stripe/useSubmit.d.ts +0 -15
  64. package/dist/src/components/checkout/steps/payment/zuora/ZuoraPaymentForm.d.ts +0 -2
  65. package/dist/src/components/checkout/steps/payment/zuora/index.d.ts +0 -4
  66. package/dist/src/components/checkout/steps/payment/zuora/useZuoraIntegration.d.ts +0 -5
  67. package/dist/src/components/checkout/steps/payment/zuora/useZuoraSubmit.d.ts +0 -11
  68. package/dist/src/components/checkout/steps/payment/zuora/zuora.utils.d.ts +0 -34
  69. package/dist/src/components/checkout/steps/plan/BillingPeriodPicker.d.ts +0 -8
  70. package/dist/src/components/checkout/steps/plan/BillingPeriodPicker.style.d.ts +0 -28
  71. package/dist/src/components/checkout/steps/plan/CheckoutChargeList.d.ts +0 -22
  72. package/dist/src/components/checkout/steps/plan/CheckoutPlanStep.d.ts +0 -2
  73. package/dist/src/components/checkout/steps/plan/CheckoutPlanStep.style.d.ts +0 -6
  74. package/dist/src/components/checkout/steps/plan/index.d.ts +0 -1
  75. package/dist/src/components/checkout/summary/CheckoutSuccess.d.ts +0 -5
  76. package/dist/src/components/checkout/summary/CheckoutSummary.d.ts +0 -15
  77. package/dist/src/components/checkout/summary/CheckoutSummarySkeleton.d.ts +0 -3
  78. package/dist/src/components/checkout/summary/components/CheckoutCaptions.d.ts +0 -11
  79. package/dist/src/components/checkout/summary/components/GraduatedPriceBreakdown.d.ts +0 -6
  80. package/dist/src/components/checkout/summary/components/LineItems.d.ts +0 -37
  81. package/dist/src/components/checkout/summary/components/WithSkeleton.d.ts +0 -6
  82. package/dist/src/components/checkout/summary/components/getPriceBreakdownString.d.ts +0 -15
  83. package/dist/src/components/checkout/summary/index.d.ts +0 -2
  84. package/dist/src/components/checkout/types.d.ts +0 -86
  85. package/dist/src/components/common/CollapsableSectionIcon.d.ts +0 -6
  86. package/dist/src/components/common/Icon.d.ts +0 -14
  87. package/dist/src/components/common/InformationTooltip.d.ts +0 -11
  88. package/dist/src/components/common/LongText.d.ts +0 -17
  89. package/dist/src/components/common/PoweredByStigg.d.ts +0 -12
  90. package/dist/src/components/common/ProgressBar.d.ts +0 -6
  91. package/dist/src/components/common/StatusChip.d.ts +0 -16
  92. package/dist/src/components/common/TiersSelectContainer.d.ts +0 -12
  93. package/dist/src/components/common/Typography.d.ts +0 -15
  94. package/dist/src/components/common/VolumeBulkSelect.d.ts +0 -5
  95. package/dist/src/components/common/VolumePerUnitInput.d.ts +0 -5
  96. package/dist/src/components/common/chart/chartjs.helpers.d.ts +0 -2
  97. package/dist/src/components/common/chart/chartjs.plugins.d.ts +0 -1
  98. package/dist/src/components/common/chart/chartjs.theme.d.ts +0 -23
  99. package/dist/src/components/common/chart/chartjs.tooltip.plugin.d.ts +0 -38
  100. package/dist/src/components/common/customIcons.d.ts +0 -24
  101. package/dist/src/components/common/iconColor.d.ts +0 -4
  102. package/dist/src/components/common/mapExternalTheme.d.ts +0 -7
  103. package/dist/src/components/common/mediaQuery.d.ts +0 -12
  104. package/dist/src/components/common/table/DataRows.d.ts +0 -9
  105. package/dist/src/components/common/table/EmptyState.d.ts +0 -7
  106. package/dist/src/components/common/table/ErrorState.d.ts +0 -7
  107. package/dist/src/components/common/table/GenericTable.d.ts +0 -25
  108. package/dist/src/components/common/table/LoadingRows.d.ts +0 -8
  109. package/dist/src/components/common/table/index.d.ts +0 -6
  110. package/dist/src/components/common/table/types.d.ts +0 -27
  111. package/dist/src/components/credits/balance/CreditBalance.d.ts +0 -11
  112. package/dist/src/components/credits/balance/CreditBalanceValue.d.ts +0 -7
  113. package/dist/src/components/credits/creditUsageChart/CreditUsage.chartjs.d.ts +0 -12
  114. package/dist/src/components/credits/creditUsageChart/CreditUsageChart.d.ts +0 -8
  115. package/dist/src/components/credits/creditUsageChart/CreditUsageChartEmptyState.d.ts +0 -2
  116. package/dist/src/components/credits/creditUsageChart/CreditUsageChartErrorState.d.ts +0 -2
  117. package/dist/src/components/credits/creditUsageChart/CreditUsageChartHeader.d.ts +0 -12
  118. package/dist/src/components/credits/creditUsageChart/CreditUsageChartTooltip.d.ts +0 -19
  119. package/dist/src/components/credits/creditUsageChart/CreditUsageLegend.d.ts +0 -6
  120. package/dist/src/components/credits/creditUsageChart/types.d.ts +0 -4
  121. package/dist/src/components/credits/grants/CreditGrants.d.ts +0 -6
  122. package/dist/src/components/credits/grants/CreditGrantsTable.d.ts +0 -10
  123. package/dist/src/components/credits/grants/types.d.ts +0 -21
  124. package/dist/src/components/credits/grants/utils.d.ts +0 -5
  125. package/dist/src/components/credits/hooks/useCreditBalance.d.ts +0 -32
  126. package/dist/src/components/credits/hooks/useCreditGrants.d.ts +0 -6
  127. package/dist/src/components/credits/hooks/useCreditUsage.d.ts +0 -13
  128. package/dist/src/components/credits/index.d.ts +0 -12
  129. package/dist/src/components/credits/localization.d.ts +0 -22
  130. package/dist/src/components/credits/utilization/CreditUtilization.d.ts +0 -12
  131. package/dist/src/components/credits/utilization/CreditUtilizationValue.d.ts +0 -9
  132. package/dist/src/components/credits/utils/creditBalanceUtils.d.ts +0 -11
  133. package/dist/src/components/credits/utils/creditGrantUtils.d.ts +0 -3
  134. package/dist/src/components/customerPortal/CustomerPortal.d.ts +0 -20
  135. package/dist/src/components/customerPortal/CustomerPortal.style.d.ts +0 -9
  136. package/dist/src/components/customerPortal/CustomerPortalContainer.d.ts +0 -6
  137. package/dist/src/components/customerPortal/CustomerPortalContext.d.ts +0 -16
  138. package/dist/src/components/customerPortal/CustomerPortalHeader.d.ts +0 -4
  139. package/dist/src/components/customerPortal/CustomerPortalProvider.d.ts +0 -11
  140. package/dist/src/components/customerPortal/billing/InformationGrid.d.ts +0 -16
  141. package/dist/src/components/customerPortal/billing/InvoicesSection.d.ts +0 -2
  142. package/dist/src/components/customerPortal/billing/PaymentDetailsSection.d.ts +0 -3
  143. package/dist/src/components/customerPortal/common/ExternalLinkButton.d.ts +0 -7
  144. package/dist/src/components/customerPortal/common/SectionContainer.d.ts +0 -8
  145. package/dist/src/components/customerPortal/common/SectionHeader.d.ts +0 -7
  146. package/dist/src/components/customerPortal/common/SectionTitle.d.ts +0 -7
  147. package/dist/src/components/customerPortal/common/SkeletonButton.d.ts +0 -2
  148. package/dist/src/components/customerPortal/common/StyledButton.d.ts +0 -6
  149. package/dist/src/components/customerPortal/customerPortalTextOverrides.d.ts +0 -17
  150. package/dist/src/components/customerPortal/customerPortalTheme.d.ts +0 -14
  151. package/dist/src/components/customerPortal/hooks/useCustomerPortal.d.ts +0 -11
  152. package/dist/src/components/customerPortal/index.d.ts +0 -16
  153. package/dist/src/components/customerPortal/paywall/CustomerPortalPaywall.d.ts +0 -10
  154. package/dist/src/components/customerPortal/paywall/CustomerPortalPaywall.style.d.ts +0 -13
  155. package/dist/src/components/customerPortal/subscriptionOverview/ContactCustomerSupport.d.ts +0 -8
  156. package/dist/src/components/customerPortal/subscriptionOverview/SubscriptionOverviewLoader.d.ts +0 -2
  157. package/dist/src/components/customerPortal/subscriptionOverview/SubscriptionsOverview.d.ts +0 -13
  158. package/dist/src/components/customerPortal/subscriptionOverview/SubscriptionsOverviewHeader.d.ts +0 -9
  159. package/dist/src/components/customerPortal/subscriptionOverview/charges/ChargeItem.d.ts +0 -17
  160. package/dist/src/components/customerPortal/subscriptionOverview/charges/ChargeList.d.ts +0 -12
  161. package/dist/src/components/customerPortal/subscriptionOverview/subscriptionScheduledUpdates/SubscriptionScheduledUpdateRow.d.ts +0 -8
  162. package/dist/src/components/customerPortal/subscriptionOverview/subscriptionScheduledUpdates/SubscriptionScheduledUpdatesAlert.d.ts +0 -9
  163. package/dist/src/components/customerPortal/subscriptionOverview/subscriptionView/SubscriptionView.d.ts +0 -11
  164. package/dist/src/components/customerPortal/subscriptionOverview/subscriptionView/SubscriptionView.style.d.ts +0 -5
  165. package/dist/src/components/customerPortal/subscriptionOverview/subscriptionView/TrialPanel.d.ts +0 -7
  166. package/dist/src/components/customerPortal/subscriptionOverview/tabs/AddonsList.d.ts +0 -2
  167. package/dist/src/components/customerPortal/subscriptionOverview/tabs/Promotions.d.ts +0 -2
  168. package/dist/src/components/customerPortal/subscriptionOverview/tabs/SubscriptionTabs.d.ts +0 -11
  169. package/dist/src/components/customerPortal/subscriptionOverview/tabs/SubscriptionTabs.style.d.ts +0 -24
  170. package/dist/src/components/customerPortal/subscriptionOverview/types/customerPortal.types.d.ts +0 -3
  171. package/dist/src/components/customerPortal/subscriptionOverview/upcomingBilling/NextEstimatedBill.d.ts +0 -8
  172. package/dist/src/components/customerPortal/subscriptionOverview/upcomingBilling/NoUpcomingBilling.d.ts +0 -6
  173. package/dist/src/components/customerPortal/subscriptionOverview/upcomingBilling/UpcomingBilling.d.ts +0 -10
  174. package/dist/src/components/customerPortal/types.d.ts +0 -13
  175. package/dist/src/components/customerPortal/usage/CustomerUsageData.d.ts +0 -8
  176. package/dist/src/components/customerPortal/usage/CustomerUsageData.style.d.ts +0 -6
  177. package/dist/src/components/customerPortal/usage/featureUsage/EntitlementCTAButton.d.ts +0 -14
  178. package/dist/src/components/customerPortal/usage/featureUsage/FeatureUsage.d.ts +0 -13
  179. package/dist/src/components/customerPortal/usage/featureUsage/FeatureUsage.helper.d.ts +0 -5
  180. package/dist/src/components/customerPortal/usage/featureUsage/FeatureUsage.style.d.ts +0 -8
  181. package/dist/src/components/customerPortal/usage/featureUsage/FeatureUsageProgressBar.d.ts +0 -15
  182. package/dist/src/components/guards/BooleanEntitlementGuard.d.ts +0 -7
  183. package/dist/src/components/guards/EnumEntitlementGuard.d.ts +0 -7
  184. package/dist/src/components/guards/MeteredEntitlementGuard.d.ts +0 -7
  185. package/dist/src/components/guards/NumericEntitlementGuard.d.ts +0 -7
  186. package/dist/src/components/hooks/index.d.ts +0 -1
  187. package/dist/src/components/hooks/useChargeSort.d.ts +0 -3
  188. package/dist/src/components/hooks/useIsScreenWiderThan.d.ts +0 -2
  189. package/dist/src/components/hooks/useWaitForCheckoutCompleted.d.ts +0 -14
  190. package/dist/src/components/paywall/BillingPeriodPicker.d.ts +0 -7
  191. package/dist/src/components/paywall/EntitlementRow.d.ts +0 -20
  192. package/dist/src/components/paywall/Paywall.d.ts +0 -23
  193. package/dist/src/components/paywall/PaywallContainer.d.ts +0 -20
  194. package/dist/src/components/paywall/PaywallLoader.d.ts +0 -2
  195. package/dist/src/components/paywall/PlanCompatibleAddons.d.ts +0 -13
  196. package/dist/src/components/paywall/PlanEntitlements.d.ts +0 -8
  197. package/dist/src/components/paywall/PlanOffering.d.ts +0 -27
  198. package/dist/src/components/paywall/PlanOfferingButton.d.ts +0 -18
  199. package/dist/src/components/paywall/PlanPrice.d.ts +0 -17
  200. package/dist/src/components/paywall/hooks/useLoadPaywallData.d.ts +0 -12
  201. package/dist/src/components/paywall/index.d.ts +0 -5
  202. package/dist/src/components/paywall/paywallTextOverrides.d.ts +0 -81
  203. package/dist/src/components/paywall/types.d.ts +0 -58
  204. package/dist/src/components/paywall/utils/calculateTrialDaysLeft.d.ts +0 -1
  205. package/dist/src/components/paywall/utils/calculateUnitQuantityText.d.ts +0 -1
  206. package/dist/src/components/paywall/utils/computeDefaultBillingPeriod.d.ts +0 -5
  207. package/dist/src/components/paywall/utils/getPlansToDisplay.d.ts +0 -3
  208. package/dist/src/components/paywall/utils/hasPricePoints.d.ts +0 -4
  209. package/dist/src/components/paywall/utils/mapPaywallData.d.ts +0 -14
  210. package/dist/src/components/utils/calculateDiscountRate.d.ts +0 -3
  211. package/dist/src/components/utils/currencyUtils.d.ts +0 -9
  212. package/dist/src/components/utils/dateUtils.d.ts +0 -10
  213. package/dist/src/components/utils/fixtures/price.fixtures.d.ts +0 -7
  214. package/dist/src/components/utils/formatNumber.d.ts +0 -1
  215. package/dist/src/components/utils/getFeatureName.d.ts +0 -3
  216. package/dist/src/components/utils/getPaidPriceText.d.ts +0 -14
  217. package/dist/src/components/utils/getPlanPrice.d.ts +0 -9
  218. package/dist/src/components/utils/getSubscriptionScheduleUpdateTexts.d.ts +0 -22
  219. package/dist/src/components/utils/numberUtils.d.ts +0 -4
  220. package/dist/src/components/utils/onWheelBlur.d.ts +0 -2
  221. package/dist/src/components/utils/planPrices.d.ts +0 -4
  222. package/dist/src/components/utils/priceTierUtils.d.ts +0 -34
  223. package/dist/src/components/utils/priceUtils.d.ts +0 -2
  224. package/dist/src/hooks/index.d.ts +0 -8
  225. package/dist/src/hooks/useActiveSubscriptions.d.ts +0 -6
  226. package/dist/src/hooks/useBooleanEntitlement.d.ts +0 -5
  227. package/dist/src/hooks/useCustomerPortal.d.ts +0 -6
  228. package/dist/src/hooks/useEnumEntitlement.d.ts +0 -6
  229. package/dist/src/hooks/useFetch.d.ts +0 -8
  230. package/dist/src/hooks/useMeteredEntitlement.d.ts +0 -6
  231. package/dist/src/hooks/useNumericEntitlement.d.ts +0 -6
  232. package/dist/src/hooks/usePaywall.d.ts +0 -6
  233. package/dist/src/hooks/useStiggContext.d.ts +0 -7
  234. package/dist/src/index.d.ts +0 -26
  235. package/dist/src/services/logger.d.ts +0 -12
  236. package/dist/src/stories/CustomTheme.d.ts +0 -2
  237. package/dist/src/stories/baseArgs.d.ts +0 -11
  238. package/dist/src/stories/mocks/checkout/consts.d.ts +0 -11
  239. package/dist/src/stories/mocks/checkout/mockCheckoutPreview.d.ts +0 -2
  240. package/dist/src/stories/mocks/checkout/mockCheckoutState.d.ts +0 -2
  241. package/dist/src/theme/Fonts.d.ts +0 -3
  242. package/dist/src/theme/Theme.d.ts +0 -10
  243. package/dist/src/theme/getResolvedTheme.d.ts +0 -4
  244. package/dist/src/theme/types.d.ts +0 -83
  245. package/dist/src/types.d.ts +0 -16
  246. package/dist/src/utils/styledUtils.d.ts +0 -2
  247. package/dist/stripe.esm-BkoVJ3BR.js +0 -67
  248. package/dist/stripe.esm-BkoVJ3BR.js.map +0 -1
  249. package/dist/stripe.esm-XRG9pJRV.cjs +0 -2
  250. package/dist/stripe.esm-XRG9pJRV.cjs.map +0 -1
  251. package/src/assets/add.svg +0 -3
  252. package/src/assets/addons.svg +0 -12
  253. package/src/assets/arrow-forward.svg +0 -3
  254. package/src/assets/arrow-right.svg +0 -6
  255. package/src/assets/billing-info-customer.svg +0 -11
  256. package/src/assets/check-stigg.svg +0 -3
  257. package/src/assets/check.svg +0 -5
  258. package/src/assets/close.svg +0 -3
  259. package/src/assets/contact-support.svg +0 -13
  260. package/src/assets/coupon.svg +0 -6
  261. package/src/assets/credit-card.svg +0 -10
  262. package/src/assets/dollar-coin.svg +0 -13
  263. package/src/assets/edit-icon.svg +0 -3
  264. package/src/assets/entitlement-check.svg +0 -3
  265. package/src/assets/lottie/checkout-success.json +0 -1
  266. package/src/assets/mini-schedule.svg +0 -3
  267. package/src/assets/outlined-checked-circle-disabled.svg +0 -6
  268. package/src/assets/outlined-checked-circle.svg +0 -6
  269. package/src/assets/outlined-circle.svg +0 -3
  270. package/src/assets/pay-as-you-go-charge.svg +0 -11
  271. package/src/assets/payment-method.svg +0 -4
  272. package/src/assets/plus-icon.svg +0 -6
  273. package/src/assets/powered-by-stigg.svg +0 -13
  274. package/src/assets/promotions.svg +0 -13
  275. package/src/assets/remove.svg +0 -3
  276. package/src/assets/restore.svg +0 -3
  277. package/src/assets/sand-clock.svg +0 -4
  278. package/src/assets/schedule-box.svg +0 -9
  279. package/src/assets/schedule.svg +0 -3
  280. package/src/assets/subscription-renews-icon.svg +0 -14
  281. package/src/assets/trash.svg +0 -8
  282. package/src/components/StiggProvider.tsx +0 -170
  283. package/src/components/checkout/Checkout.tsx +0 -37
  284. package/src/components/checkout/CheckoutContainer.style.ts +0 -51
  285. package/src/components/checkout/CheckoutContainer.tsx +0 -193
  286. package/src/components/checkout/CheckoutProvider.tsx +0 -181
  287. package/src/components/checkout/components/Button.tsx +0 -35
  288. package/src/components/checkout/components/ChangePlanButton.tsx +0 -30
  289. package/src/components/checkout/components/ContentLoadingSkeleton.tsx +0 -41
  290. package/src/components/checkout/components/DowngradeToFreeContainer.tsx +0 -115
  291. package/src/components/checkout/components/InputField.tsx +0 -26
  292. package/src/components/checkout/components/Skeletons.style.ts +0 -30
  293. package/src/components/checkout/components/StyledArrow.tsx +0 -9
  294. package/src/components/checkout/components/index.ts +0 -3
  295. package/src/components/checkout/configurations/steps.ts +0 -1
  296. package/src/components/checkout/configurations/textOverrides.ts +0 -150
  297. package/src/components/checkout/configurations/theme.ts +0 -46
  298. package/src/components/checkout/configurations/typography.ts +0 -30
  299. package/src/components/checkout/formatting.ts +0 -12
  300. package/src/components/checkout/hooks/index.ts +0 -8
  301. package/src/components/checkout/hooks/useAddonsStepModel.ts +0 -92
  302. package/src/components/checkout/hooks/useCheckoutModel.ts +0 -53
  303. package/src/components/checkout/hooks/useCouponModel.ts +0 -28
  304. package/src/components/checkout/hooks/useLoadCheckout.ts +0 -48
  305. package/src/components/checkout/hooks/usePaymentStepModel.ts +0 -68
  306. package/src/components/checkout/hooks/usePlanStepModel.ts +0 -184
  307. package/src/components/checkout/hooks/usePreviewSubscription.ts +0 -165
  308. package/src/components/checkout/hooks/useProgressBarModel.ts +0 -211
  309. package/src/components/checkout/hooks/useSubscriptionModel.ts +0 -22
  310. package/src/components/checkout/hooks/useSubscriptionState.ts +0 -26
  311. package/src/components/checkout/index.ts +0 -8
  312. package/src/components/checkout/planHeader/PlanHeader.tsx +0 -41
  313. package/src/components/checkout/planHeader/index.ts +0 -1
  314. package/src/components/checkout/progressBar/CheckoutProgressBar.style.ts +0 -35
  315. package/src/components/checkout/progressBar/CheckoutProgressBar.tsx +0 -82
  316. package/src/components/checkout/promotionCode/AddPromotionCode.tsx +0 -107
  317. package/src/components/checkout/promotionCode/AddPromotionCodeButton.tsx +0 -43
  318. package/src/components/checkout/promotionCode/AppliedPromotionCode.tsx +0 -49
  319. package/src/components/checkout/promotionCode/PromotionCodeSection.tsx +0 -40
  320. package/src/components/checkout/promotionCode/index.ts +0 -1
  321. package/src/components/checkout/steps/addons/CheckoutAddonsStep.style.tsx +0 -34
  322. package/src/components/checkout/steps/addons/CheckoutAddonsStep.tsx +0 -144
  323. package/src/components/checkout/steps/addons/addon.utils.ts +0 -67
  324. package/src/components/checkout/steps/addons/components/AddonInputContainer.tsx +0 -84
  325. package/src/components/checkout/steps/addons/components/AddonTextContainer.tsx +0 -45
  326. package/src/components/checkout/steps/addons/index.ts +0 -1
  327. package/src/components/checkout/steps/payment/PaymentMethods.style.ts +0 -36
  328. package/src/components/checkout/steps/payment/PaymentMethods.tsx +0 -106
  329. package/src/components/checkout/steps/payment/PaymentStep.tsx +0 -63
  330. package/src/components/checkout/steps/payment/index.ts +0 -1
  331. package/src/components/checkout/steps/payment/stripe/StripePaymentForm.tsx +0 -79
  332. package/src/components/checkout/steps/payment/stripe/index.ts +0 -3
  333. package/src/components/checkout/steps/payment/stripe/stripe.utils.ts +0 -122
  334. package/src/components/checkout/steps/payment/stripe/useStripeIntegration.ts +0 -33
  335. package/src/components/checkout/steps/payment/stripe/useSubmit.ts +0 -135
  336. package/src/components/checkout/steps/payment/zuora/ZuoraPaymentForm.tsx +0 -128
  337. package/src/components/checkout/steps/payment/zuora/index.ts +0 -9
  338. package/src/components/checkout/steps/payment/zuora/useZuoraIntegration.ts +0 -56
  339. package/src/components/checkout/steps/payment/zuora/useZuoraSubmit.ts +0 -125
  340. package/src/components/checkout/steps/payment/zuora/zuora.utils.ts +0 -72
  341. package/src/components/checkout/steps/plan/BillingPeriodPicker.style.tsx +0 -69
  342. package/src/components/checkout/steps/plan/BillingPeriodPicker.tsx +0 -86
  343. package/src/components/checkout/steps/plan/CheckoutChargeList.tsx +0 -223
  344. package/src/components/checkout/steps/plan/CheckoutPlanStep.style.tsx +0 -6
  345. package/src/components/checkout/steps/plan/CheckoutPlanStep.tsx +0 -31
  346. package/src/components/checkout/steps/plan/index.ts +0 -1
  347. package/src/components/checkout/summary/CheckoutSuccess.tsx +0 -82
  348. package/src/components/checkout/summary/CheckoutSummary.tsx +0 -458
  349. package/src/components/checkout/summary/CheckoutSummarySkeleton.tsx +0 -38
  350. package/src/components/checkout/summary/components/CheckoutCaptions.tsx +0 -145
  351. package/src/components/checkout/summary/components/GraduatedPriceBreakdown.tsx +0 -70
  352. package/src/components/checkout/summary/components/LineItems.tsx +0 -275
  353. package/src/components/checkout/summary/components/WithSkeleton.tsx +0 -16
  354. package/src/components/checkout/summary/components/getPriceBreakdownString.ts +0 -66
  355. package/src/components/checkout/summary/index.ts +0 -2
  356. package/src/components/checkout/types.ts +0 -82
  357. package/src/components/common/CollapsableSectionIcon.tsx +0 -9
  358. package/src/components/common/Icon.tsx +0 -61
  359. package/src/components/common/InformationTooltip.tsx +0 -28
  360. package/src/components/common/LongText.tsx +0 -100
  361. package/src/components/common/PoweredByStigg.tsx +0 -59
  362. package/src/components/common/ProgressBar.tsx +0 -41
  363. package/src/components/common/StatusChip.tsx +0 -29
  364. package/src/components/common/TiersSelectContainer.tsx +0 -39
  365. package/src/components/common/Typography.tsx +0 -117
  366. package/src/components/common/VolumeBulkSelect.tsx +0 -74
  367. package/src/components/common/VolumePerUnitInput.tsx +0 -42
  368. package/src/components/common/chart/chartjs.helpers.ts +0 -17
  369. package/src/components/common/chart/chartjs.plugins.ts +0 -34
  370. package/src/components/common/chart/chartjs.theme.ts +0 -41
  371. package/src/components/common/chart/chartjs.tooltip.plugin.tsx +0 -224
  372. package/src/components/common/customIcons.ts +0 -24
  373. package/src/components/common/iconColor.ts +0 -15
  374. package/src/components/common/mapExternalTheme.ts +0 -147
  375. package/src/components/common/mediaQuery.ts +0 -19
  376. package/src/components/common/table/DataRows.tsx +0 -33
  377. package/src/components/common/table/EmptyState.tsx +0 -19
  378. package/src/components/common/table/ErrorState.tsx +0 -19
  379. package/src/components/common/table/GenericTable.tsx +0 -155
  380. package/src/components/common/table/LoadingRows.tsx +0 -33
  381. package/src/components/common/table/index.ts +0 -6
  382. package/src/components/common/table/types.ts +0 -30
  383. package/src/components/credits/balance/CreditBalance.tsx +0 -70
  384. package/src/components/credits/balance/CreditBalanceValue.tsx +0 -60
  385. package/src/components/credits/creditUsageChart/CreditUsage.chartjs.ts +0 -223
  386. package/src/components/credits/creditUsageChart/CreditUsageChart.tsx +0 -128
  387. package/src/components/credits/creditUsageChart/CreditUsageChartEmptyState.tsx +0 -29
  388. package/src/components/credits/creditUsageChart/CreditUsageChartErrorState.tsx +0 -19
  389. package/src/components/credits/creditUsageChart/CreditUsageChartHeader.tsx +0 -104
  390. package/src/components/credits/creditUsageChart/CreditUsageChartTooltip.tsx +0 -93
  391. package/src/components/credits/creditUsageChart/CreditUsageLegend.tsx +0 -141
  392. package/src/components/credits/creditUsageChart/types.ts +0 -4
  393. package/src/components/credits/grants/CreditGrants.tsx +0 -64
  394. package/src/components/credits/grants/CreditGrantsTable.tsx +0 -101
  395. package/src/components/credits/grants/types.ts +0 -38
  396. package/src/components/credits/grants/utils.ts +0 -25
  397. package/src/components/credits/hooks/useCreditBalance.ts +0 -75
  398. package/src/components/credits/hooks/useCreditGrants.ts +0 -40
  399. package/src/components/credits/hooks/useCreditUsage.ts +0 -50
  400. package/src/components/credits/index.ts +0 -15
  401. package/src/components/credits/localization.ts +0 -25
  402. package/src/components/credits/utilization/CreditUtilization.tsx +0 -74
  403. package/src/components/credits/utilization/CreditUtilizationValue.tsx +0 -113
  404. package/src/components/credits/utils/creditBalanceUtils.ts +0 -31
  405. package/src/components/credits/utils/creditGrantUtils.ts +0 -27
  406. package/src/components/customerPortal/CustomerPortal.style.ts +0 -20
  407. package/src/components/customerPortal/CustomerPortal.tsx +0 -37
  408. package/src/components/customerPortal/CustomerPortalContainer.tsx +0 -77
  409. package/src/components/customerPortal/CustomerPortalContext.ts +0 -32
  410. package/src/components/customerPortal/CustomerPortalHeader.tsx +0 -18
  411. package/src/components/customerPortal/CustomerPortalProvider.tsx +0 -49
  412. package/src/components/customerPortal/billing/InformationGrid.tsx +0 -54
  413. package/src/components/customerPortal/billing/InvoicesSection.tsx +0 -41
  414. package/src/components/customerPortal/billing/PaymentDetailsSection.tsx +0 -140
  415. package/src/components/customerPortal/common/ExternalLinkButton.tsx +0 -34
  416. package/src/components/customerPortal/common/SectionContainer.tsx +0 -22
  417. package/src/components/customerPortal/common/SectionHeader.ts +0 -15
  418. package/src/components/customerPortal/common/SectionTitle.tsx +0 -23
  419. package/src/components/customerPortal/common/SkeletonButton.tsx +0 -5
  420. package/src/components/customerPortal/common/StyledButton.tsx +0 -13
  421. package/src/components/customerPortal/customerPortalTextOverrides.ts +0 -39
  422. package/src/components/customerPortal/customerPortalTheme.ts +0 -35
  423. package/src/components/customerPortal/hooks/useCustomerPortal.ts +0 -39
  424. package/src/components/customerPortal/index.ts +0 -16
  425. package/src/components/customerPortal/paywall/CustomerPortalPaywall.style.ts +0 -33
  426. package/src/components/customerPortal/paywall/CustomerPortalPaywall.tsx +0 -36
  427. package/src/components/customerPortal/subscriptionOverview/ContactCustomerSupport.tsx +0 -50
  428. package/src/components/customerPortal/subscriptionOverview/SubscriptionOverviewLoader.tsx +0 -28
  429. package/src/components/customerPortal/subscriptionOverview/SubscriptionsOverview.tsx +0 -106
  430. package/src/components/customerPortal/subscriptionOverview/SubscriptionsOverviewHeader.tsx +0 -48
  431. package/src/components/customerPortal/subscriptionOverview/charges/ChargeItem.tsx +0 -74
  432. package/src/components/customerPortal/subscriptionOverview/charges/ChargeList.tsx +0 -65
  433. package/src/components/customerPortal/subscriptionOverview/subscriptionScheduledUpdates/SubscriptionScheduledUpdateRow.tsx +0 -110
  434. package/src/components/customerPortal/subscriptionOverview/subscriptionScheduledUpdates/SubscriptionScheduledUpdatesAlert.tsx +0 -158
  435. package/src/components/customerPortal/subscriptionOverview/subscriptionView/SubscriptionView.style.ts +0 -6
  436. package/src/components/customerPortal/subscriptionOverview/subscriptionView/SubscriptionView.tsx +0 -37
  437. package/src/components/customerPortal/subscriptionOverview/subscriptionView/TrialPanel.tsx +0 -58
  438. package/src/components/customerPortal/subscriptionOverview/tabs/AddonsList.tsx +0 -28
  439. package/src/components/customerPortal/subscriptionOverview/tabs/Promotions.tsx +0 -62
  440. package/src/components/customerPortal/subscriptionOverview/tabs/SubscriptionTabs.style.tsx +0 -32
  441. package/src/components/customerPortal/subscriptionOverview/tabs/SubscriptionTabs.tsx +0 -100
  442. package/src/components/customerPortal/subscriptionOverview/types/customerPortal.types.ts +0 -4
  443. package/src/components/customerPortal/subscriptionOverview/upcomingBilling/NextEstimatedBill.tsx +0 -29
  444. package/src/components/customerPortal/subscriptionOverview/upcomingBilling/NoUpcomingBilling.tsx +0 -18
  445. package/src/components/customerPortal/subscriptionOverview/upcomingBilling/UpcomingBilling.tsx +0 -89
  446. package/src/components/customerPortal/types.ts +0 -20
  447. package/src/components/customerPortal/usage/CustomerUsageData.style.tsx +0 -22
  448. package/src/components/customerPortal/usage/CustomerUsageData.tsx +0 -124
  449. package/src/components/customerPortal/usage/featureUsage/EntitlementCTAButton.tsx +0 -62
  450. package/src/components/customerPortal/usage/featureUsage/FeatureUsage.helper.ts +0 -45
  451. package/src/components/customerPortal/usage/featureUsage/FeatureUsage.style.ts +0 -13
  452. package/src/components/customerPortal/usage/featureUsage/FeatureUsage.tsx +0 -96
  453. package/src/components/customerPortal/usage/featureUsage/FeatureUsageProgressBar.tsx +0 -56
  454. package/src/components/guards/BooleanEntitlementGuard.tsx +0 -21
  455. package/src/components/guards/EnumEntitlementGuard.tsx +0 -17
  456. package/src/components/guards/MeteredEntitlementGuard.tsx +0 -21
  457. package/src/components/guards/NumericEntitlementGuard.tsx +0 -21
  458. package/src/components/hooks/index.ts +0 -1
  459. package/src/components/hooks/useChargeSort.ts +0 -17
  460. package/src/components/hooks/useIsScreenWiderThan.ts +0 -6
  461. package/src/components/hooks/useWaitForCheckoutCompleted.ts +0 -65
  462. package/src/components/paywall/BillingPeriodPicker.tsx +0 -90
  463. package/src/components/paywall/EntitlementRow.tsx +0 -127
  464. package/src/components/paywall/Paywall.tsx +0 -189
  465. package/src/components/paywall/PaywallContainer.tsx +0 -119
  466. package/src/components/paywall/PaywallLoader.tsx +0 -96
  467. package/src/components/paywall/PlanCompatibleAddons.tsx +0 -127
  468. package/src/components/paywall/PlanEntitlements.tsx +0 -75
  469. package/src/components/paywall/PlanOffering.tsx +0 -256
  470. package/src/components/paywall/PlanOfferingButton.tsx +0 -232
  471. package/src/components/paywall/PlanPrice.tsx +0 -154
  472. package/src/components/paywall/hooks/useLoadPaywallData.ts +0 -75
  473. package/src/components/paywall/index.ts +0 -5
  474. package/src/components/paywall/paywallTextOverrides.ts +0 -79
  475. package/src/components/paywall/types.ts +0 -80
  476. package/src/components/paywall/utils/calculateTrialDaysLeft.ts +0 -5
  477. package/src/components/paywall/utils/calculateUnitQuantityText.ts +0 -23
  478. package/src/components/paywall/utils/computeDefaultBillingPeriod.ts +0 -36
  479. package/src/components/paywall/utils/getPlansToDisplay.ts +0 -13
  480. package/src/components/paywall/utils/hasPricePoints.ts +0 -10
  481. package/src/components/paywall/utils/mapPaywallData.ts +0 -126
  482. package/src/components/utils/calculateDiscountRate.ts +0 -49
  483. package/src/components/utils/currencyUtils.ts +0 -38
  484. package/src/components/utils/dateUtils.ts +0 -17
  485. package/src/components/utils/fixtures/price.fixtures.ts +0 -42
  486. package/src/components/utils/formatNumber.ts +0 -5
  487. package/src/components/utils/getFeatureName.ts +0 -26
  488. package/src/components/utils/getPaidPriceText.ts +0 -77
  489. package/src/components/utils/getPlanPrice.ts +0 -62
  490. package/src/components/utils/getSubscriptionScheduleUpdateTexts.tsx +0 -88
  491. package/src/components/utils/numberUtils.ts +0 -6
  492. package/src/components/utils/onWheelBlur.ts +0 -3
  493. package/src/components/utils/planPrices.ts +0 -10
  494. package/src/components/utils/priceTierUtils.spec.ts +0 -84
  495. package/src/components/utils/priceTierUtils.ts +0 -250
  496. package/src/components/utils/priceUtils.ts +0 -11
  497. package/src/custom.d.ts +0 -6
  498. package/src/hooks/index.ts +0 -8
  499. package/src/hooks/useActiveSubscriptions.ts +0 -21
  500. package/src/hooks/useBooleanEntitlement.ts +0 -20
  501. package/src/hooks/useCustomerPortal.ts +0 -21
  502. package/src/hooks/useEnumEntitlement.ts +0 -20
  503. package/src/hooks/useFetch.ts +0 -32
  504. package/src/hooks/useMeteredEntitlement.ts +0 -20
  505. package/src/hooks/useNumericEntitlement.ts +0 -20
  506. package/src/hooks/usePaywall.ts +0 -21
  507. package/src/hooks/useStiggContext.ts +0 -13
  508. package/src/index.ts +0 -103
  509. package/src/services/logger.ts +0 -22
  510. package/src/stories/Checkout.stories.tsx +0 -123
  511. package/src/stories/CreditBalance.stories.tsx +0 -248
  512. package/src/stories/CreditGrants.stories.tsx +0 -210
  513. package/src/stories/CreditUsageChart.stories.tsx +0 -347
  514. package/src/stories/CreditUtilization.stories.tsx +0 -287
  515. package/src/stories/CustomTheme.ts +0 -57
  516. package/src/stories/CustomerPortal.stories.tsx +0 -265
  517. package/src/stories/GenericTable.stories.tsx +0 -263
  518. package/src/stories/Paywall.stories.tsx +0 -147
  519. package/src/stories/ProgressBar.stories.tsx +0 -103
  520. package/src/stories/StatusChip.stories.tsx +0 -154
  521. package/src/stories/baseArgs.ts +0 -10
  522. package/src/stories/mocks/checkout/consts.ts +0 -15
  523. package/src/stories/mocks/checkout/mockCheckoutPreview.ts +0 -152
  524. package/src/stories/mocks/checkout/mockCheckoutState.ts +0 -212
  525. package/src/styles.css +0 -46
  526. package/src/theme/Fonts.tsx +0 -80
  527. package/src/theme/Theme.tsx +0 -64
  528. package/src/theme/emotion.d.ts +0 -17
  529. package/src/theme/getResolvedTheme.ts +0 -135
  530. package/src/theme/types.ts +0 -85
  531. package/src/types.ts +0 -22
  532. package/src/utils/styledUtils.ts +0 -64
@@ -1,6 +0,0 @@
1
- export { GenericTable, StyledTableCell, ClickableRow, CellContent } from './GenericTable';
2
- export { LoadingRows } from './LoadingRows';
3
- export { DataRows } from './DataRows';
4
- export { ErrorState } from './ErrorState';
5
- export { EmptyState } from './EmptyState';
6
- export type { HeadCell, GenericTableProps, TableAlignment, PixelWidth } from './types';
@@ -1,30 +0,0 @@
1
- import { ReactNode } from 'react';
2
-
3
- export type TableAlignment = 'left' | 'center' | 'right';
4
- export type PixelWidth = `${number}px`;
5
-
6
- export interface HeadCell<T> {
7
- id: string;
8
- alignment?: TableAlignment;
9
- label: string;
10
- width?: PixelWidth;
11
- maxWidth?: PixelWidth;
12
- minWidth?: PixelWidth;
13
- disableClick?: boolean;
14
- visible?: boolean;
15
- render: (item: T) => ReactNode;
16
- }
17
-
18
- export interface GenericTableProps<T> {
19
- data: T[];
20
- headCells: Array<HeadCell<T>>;
21
- isLoading?: boolean;
22
- error?: Error | null;
23
- emptyMessage?: ReactNode;
24
- loadingMessage?: string;
25
- errorMessage?: ReactNode;
26
- onRowClick?: (item: T) => void;
27
- className?: string;
28
- skeletonRows?: number;
29
- hideLastRowBorder?: boolean;
30
- }
@@ -1,70 +0,0 @@
1
- import styled from '@utils/style';
2
- import { GetCreditBalanceParams } from '../hooks/useCreditBalance';
3
- import { useStiggContext } from '../../../hooks';
4
- import { SdkThemeProvider } from '../../../theme/Theme';
5
- import { Typography } from '../../common/Typography';
6
- import { CreditBalanceValue } from './CreditBalanceValue';
7
- import { CREDIT_WIDGET_DEFAULT_LOCALIZATION } from '../localization';
8
- import { CustomerPortalContext, useCheckContextExists } from '@/components/customerPortal';
9
-
10
- const CreditBalanceContainer = styled.div`
11
- display: flex;
12
- flex-direction: column;
13
- gap: 8px;
14
- width: 100%;
15
- `;
16
-
17
- const CreditBalanceCard = styled.div`
18
- display: flex;
19
- flex-direction: column;
20
- gap: 8px;
21
- padding: 16px;
22
- border-radius: 8px;
23
- border: 1px solid ${({ theme }) => theme.stigg?.palette?.outlinedBorder};
24
- background-color: ${({ theme }) => theme?.stigg?.palette?.backgroundPaper};
25
- `;
26
-
27
- export type CreditBalanceProps = GetCreditBalanceParams & {
28
- localization?: CreditBalanceLocalization;
29
- decimalPlaces?: number | null;
30
- showUnits?: boolean;
31
- showSymbol?: boolean;
32
- };
33
-
34
- export type CreditBalanceLocalization = {
35
- title: string;
36
- };
37
-
38
- export function CreditBalance({
39
- currencyId,
40
- localization,
41
- decimalPlaces,
42
- showUnits = true,
43
- showSymbol = false,
44
- }: CreditBalanceProps) {
45
- const hasCustomerPortalContext = useCheckContextExists(CustomerPortalContext);
46
- const stiggContext = useStiggContext({ optional: true });
47
- const theme = stiggContext?.theme;
48
- const title = localization?.title ?? CREDIT_WIDGET_DEFAULT_LOCALIZATION.title;
49
-
50
- const component = (
51
- <CreditBalanceContainer className="stigg-credit-balance-container">
52
- <CreditBalanceCard className="stigg-credit-balance-card">
53
- <Typography variant="h6" color="primary" className="stigg-credit-balance-title">
54
- {title}
55
- </Typography>
56
- <CreditBalanceValue
57
- currencyId={currencyId}
58
- decimalPlaces={decimalPlaces}
59
- showUnits={showUnits}
60
- showSymbol={showSymbol}
61
- />
62
- </CreditBalanceCard>
63
- </CreditBalanceContainer>
64
- );
65
-
66
- if (hasCustomerPortalContext) {
67
- return component;
68
- }
69
- return <SdkThemeProvider componentTheme={theme}>{component}</SdkThemeProvider>;
70
- }
@@ -1,60 +0,0 @@
1
- import styled from '@utils/style';
2
- import Skeleton from 'react-loading-skeleton';
3
- import { Typography } from '../../common/Typography';
4
- import { useCreditBalance } from '../hooks/useCreditBalance';
5
- import { formatValue, formatCreditSuffix } from '../utils/creditBalanceUtils';
6
-
7
- const CreditBalanceValueContainer = styled.div`
8
- display: flex;
9
- flex-direction: row;
10
- gap: 4px;
11
- align-items: baseline;
12
- `;
13
-
14
- export function CreditBalanceValue({
15
- currencyId,
16
- decimalPlaces = null,
17
- showUnits = true,
18
- showSymbol = false,
19
- }: {
20
- currencyId: string;
21
- decimalPlaces?: number | null;
22
- showUnits?: boolean;
23
- showSymbol?: boolean;
24
- }) {
25
- const { balance, isLoading, error } = useCreditBalance({
26
- currencyId,
27
- });
28
-
29
- if (error) {
30
- return (
31
- <Typography variant="body1" color="error" className="stigg-credit-balance-value-error">
32
- {error.message || 'Failed to load balance'}
33
- </Typography>
34
- );
35
- }
36
-
37
- if (isLoading) {
38
- return <Skeleton width={120} height={24} className="stigg-credit-balance-value-loading" />;
39
- }
40
-
41
- if (balance) {
42
- const suffix = formatCreditSuffix(balance, showUnits, showSymbol);
43
- return (
44
- <CreditBalanceValueContainer>
45
- <Typography variant="h3" color="primary" bold className="stigg-credit-balance-value-amount">
46
- {formatValue(balance.currentBalance, decimalPlaces)}
47
- </Typography>
48
- <Typography variant="caption" color="secondary" className="stigg-credit-balance-value-suffix">
49
- {suffix}
50
- </Typography>
51
- </CreditBalanceValueContainer>
52
- );
53
- }
54
-
55
- return (
56
- <Typography variant="body1" color="disabled" className="stigg-credit-balance-value-no-balance">
57
- No balance data available
58
- </Typography>
59
- );
60
- }
@@ -1,223 +0,0 @@
1
- import { ChartData, ChartOptions, ChartType, Chart, TooltipModel } from 'chart.js';
2
- import { CreditUsageFragment, CreditUsageTimeRange } from '@stigg/js-client-sdk';
3
- import { getAxisColor, getAxisTickColor, getAxisTickFont, opacityColor } from '../../common/chart/chartjs.theme';
4
- import { StiggTheme } from '../../../theme/types';
5
- import { numberFormatter } from '../../utils/numberUtils';
6
-
7
- export type ExternalTooltipHandler<TType extends ChartType> = (context: {
8
- chart: Chart;
9
- tooltip: TooltipModel<TType>;
10
- }) => void;
11
-
12
- export function getFeatureColor(index: number): string {
13
- const materialColors = [
14
- // Primary spectrum (500 shades) - main colors
15
- '#4caf50', // green[500]
16
- '#2196f3', // blue[500]
17
- '#ff5722', // deepOrange[500]
18
- '#ff9800', // orange[500]
19
- '#e91e63', // pink[500]
20
- '#3f51b5', // indigo[500]
21
- '#00bcd4', // cyan[500]
22
-
23
- // Pastel spectrum (300 shades) - for 10+ features
24
- '#81c784', // green[300]
25
- '#64b5f6', // blue[300]
26
- '#ff8a65', // deepOrange[300]
27
- '#ffb74d', // orange[300]
28
- '#f06292', // pink[300]
29
- '#7986cb', // indigo[300]
30
- '#4dd0e1', // cyan[300]
31
-
32
- // Light spectrum (200 shades) - for 20+ features
33
- '#a5d6a7', // green[200]
34
- '#90caf9', // blue[200]
35
- '#ffab91', // deepOrange[200]
36
- '#ffcc80', // orange[200]
37
- '#f48fb1', // pink[200]
38
- '#9fa8da', // indigo[200]
39
- '#80deea', // cyan[200]
40
- ];
41
-
42
- return materialColors[index % materialColors.length];
43
- }
44
-
45
- function generateLabelsForTimeRange(timeRange?: CreditUsageTimeRange): string[] {
46
- const labels: string[] = [];
47
- const now = new Date();
48
-
49
- switch (timeRange) {
50
- case CreditUsageTimeRange.LastDay: {
51
- // Last 24 hours with hourly granularity (24 data points)
52
- // Start from 24 hours ago, rounded to the nearest hour
53
- const startHour = new Date(now);
54
- startHour.setHours(startHour.getHours() - 23);
55
- startHour.setMinutes(0, 0, 0); // Round to start of hour
56
-
57
- for (let i = 0; i < 24; i++) {
58
- const date = new Date(startHour);
59
- date.setHours(date.getHours() + i);
60
- labels.push(date.toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit' }));
61
- }
62
- break;
63
- }
64
- case CreditUsageTimeRange.LastWeek: {
65
- // Last 7 days with daily granularity (7 data points)
66
- for (let i = 6; i >= 0; i--) {
67
- const date = new Date(now);
68
- date.setDate(date.getDate() - i);
69
- labels.push(date.toLocaleDateString('en-US', { month: 'short', day: '2-digit' }));
70
- }
71
- break;
72
- }
73
- case CreditUsageTimeRange.LastYear: {
74
- // Last 12 months with monthly granularity (12 data points)
75
- for (let i = 11; i >= 0; i--) {
76
- const date = new Date(now);
77
- date.setMonth(date.getMonth() - i);
78
- labels.push(date.toLocaleDateString('en-US', { month: 'short', year: '2-digit' }));
79
- }
80
- break;
81
- }
82
- case CreditUsageTimeRange.LastMonth:
83
- default: {
84
- // Last 30 days with daily granularity (30 data points)
85
- for (let i = 29; i >= 0; i--) {
86
- const date = new Date(now);
87
- date.setDate(date.getDate() - i);
88
- labels.push(date.toLocaleDateString('en-US', { month: 'short', day: '2-digit' }));
89
- }
90
- break;
91
- }
92
- }
93
-
94
- return labels;
95
- }
96
-
97
- function generateDateKeyForTimeRange(timestamp: Date, timeRange?: CreditUsageTimeRange): string {
98
- // For hourly data, we need to match the hour exactly, ignoring minutes
99
- // Backend returns data aggregated by hour, so we round to the nearest hour
100
- const roundedHour = new Date(timestamp);
101
- roundedHour.setMinutes(0, 0, 0); // Round to the start of the hour
102
- switch (timeRange) {
103
- case CreditUsageTimeRange.LastDay:
104
- return roundedHour.toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit' });
105
- case CreditUsageTimeRange.LastYear:
106
- return timestamp.toLocaleDateString('en-US', { month: 'short', year: '2-digit' });
107
- case CreditUsageTimeRange.LastWeek:
108
- case CreditUsageTimeRange.LastMonth:
109
- default:
110
- return timestamp.toLocaleDateString('en-US', { month: 'short', day: '2-digit' });
111
- }
112
- }
113
-
114
- function createChartOptions(theme: StiggTheme, tooltipHandler: ExternalTooltipHandler<'bar'>): ChartOptions<'bar'> {
115
- return {
116
- responsive: true,
117
- maintainAspectRatio: false,
118
- interaction: {
119
- mode: 'point',
120
- intersect: true,
121
- },
122
- elements: {
123
- bar: {
124
- borderRadius: 4,
125
- borderSkipped: 'bottom',
126
- },
127
- },
128
- plugins: {
129
- legend: {
130
- display: false,
131
- },
132
- tooltip: {
133
- enabled: false,
134
- external: tooltipHandler,
135
- },
136
- datalabels: {
137
- display: false,
138
- },
139
- },
140
- scales: {
141
- x: {
142
- type: 'category',
143
- stacked: true,
144
- ticks: {
145
- color: getAxisTickColor(theme),
146
- font: getAxisTickFont(theme),
147
- maxRotation: 45,
148
- maxTicksLimit: 15, // Show approximately every other day for 30-day view
149
- },
150
- grid: {
151
- color: getAxisColor(theme),
152
- drawOnChartArea: false,
153
- drawTicks: false,
154
- },
155
- },
156
- y: {
157
- type: 'linear',
158
- stacked: true,
159
- beginAtZero: true,
160
- ticks: {
161
- color: getAxisTickColor(theme),
162
- font: getAxisTickFont(theme),
163
- callback: (value) => numberFormatter(Number(value)),
164
- },
165
- grid: {
166
- color: opacityColor(getAxisColor(theme), 0.5),
167
- drawOnChartArea: true,
168
- drawTicks: false,
169
- borderDash: [5, 5],
170
- },
171
- },
172
- },
173
- };
174
- }
175
-
176
- export function computeChartData(
177
- creditUsageData: CreditUsageFragment | null,
178
- theme: StiggTheme,
179
- tooltipHandler: ExternalTooltipHandler<'bar'>,
180
- timeRange?: CreditUsageTimeRange,
181
- ): { data: ChartData<'bar'> | null; options: ChartOptions<'bar'> | null } {
182
- const labels = generateLabelsForTimeRange(timeRange);
183
-
184
- if (!creditUsageData || !creditUsageData.series || creditUsageData.series.length === 0) {
185
- return { data: null, options: null };
186
- }
187
-
188
- const datasets = creditUsageData.series
189
- .map((series, index) => {
190
- const featureName = series.featureName;
191
-
192
- const dataMap = new Map<string, number>();
193
- series.points.forEach((point) => {
194
- const dateKey = generateDateKeyForTimeRange(new Date(point.timestamp as string), timeRange);
195
- // Accumulate values for the same date instead of overwriting
196
- const existingValue = dataMap.get(dateKey) || 0;
197
- dataMap.set(dateKey, existingValue + point.value);
198
- });
199
-
200
- const data = labels.map((label) => dataMap.get(label) || 0);
201
-
202
- // Use original index for colors so they stay consistent with legend order
203
- const color = getFeatureColor(index);
204
-
205
- return {
206
- label: featureName,
207
- data,
208
- backgroundColor: opacityColor(color, 0.8),
209
- borderColor: color,
210
- borderWidth: 1,
211
- };
212
- })
213
- .reverse(); // Reverse so highest usage feature appears at top of stack
214
-
215
- const data: ChartData<'bar'> = {
216
- labels,
217
- datasets,
218
- };
219
-
220
- const options = createChartOptions(theme, tooltipHandler);
221
-
222
- return { data, options };
223
- }
@@ -1,128 +0,0 @@
1
- import '../../common/chart/chartjs.plugins';
2
- import { useMemo, useState } from 'react';
3
- import styled from '@utils/style';
4
- import { Bar } from 'react-chartjs-2';
5
- import { CreditUsageTimeRange } from '@stigg/js-client-sdk';
6
- import { SdkThemeProvider, useStiggTheme } from '../../../theme/Theme';
7
- import { useCreditUsage } from '../hooks/useCreditUsage';
8
- import { redrawBeforeFirstDrawPlugin } from '../../common/chart/chartjs.helpers';
9
- import { computeChartData } from './CreditUsage.chartjs';
10
- import { CreditUsageChartTooltip, useCreditUsageChartTooltip } from './CreditUsageChartTooltip';
11
- import { CreditUsageLegend } from './CreditUsageLegend';
12
- import Skeleton from 'react-loading-skeleton';
13
- import { CreditUsageChartEmptyState } from './CreditUsageChartEmptyState';
14
- import { CreditUsageChartErrorState } from './CreditUsageChartErrorState';
15
- import { CreditUsageChartHeader } from './CreditUsageChartHeader';
16
- import { CreditUsageChartLocalization } from './types';
17
- import { CREDIT_USAGE_CHART_DEFAULT_LOCALIZATION } from '../localization';
18
- import { PoweredByStigg } from '../../common/PoweredByStigg';
19
- import { useStiggContext } from '../../../hooks';
20
-
21
- const CreditUsageChartContainer = styled.div`
22
- display: flex;
23
- flex-direction: column;
24
- gap: 8px;
25
- `;
26
-
27
- const CreditUsageChartCard = styled.div`
28
- align-items: center;
29
- justify-content: center;
30
- min-height: 480px;
31
- display: flex;
32
- flex-direction: column;
33
- gap: 8px;
34
- padding: 16px;
35
- border-radius: 8px;
36
- border: 1px solid ${({ theme }) => theme?.stigg?.palette?.outlinedBorder || '#e0e0e0'};
37
- background-color: ${({ theme }) => theme?.stigg?.palette?.backgroundPaper || '#ffffff'};
38
- `;
39
-
40
- const ChartSkeleton = styled(Skeleton)`
41
- border-radius: 4px;
42
- height: 400px;
43
- width: 100%;
44
- `;
45
-
46
- export type CreditUsageChartProps = {
47
- currencyId: string;
48
- timeRange: CreditUsageTimeRange;
49
- localization?: Partial<CreditUsageChartLocalization>;
50
- };
51
-
52
- export function CreditUsageChart({ currencyId, timeRange, localization: customLocalization }: CreditUsageChartProps) {
53
- const theme = useStiggTheme();
54
- const stiggContext = useStiggContext({ optional: true });
55
- const stigg = stiggContext?.stigg;
56
- const localization = {
57
- ...CREDIT_USAGE_CHART_DEFAULT_LOCALIZATION,
58
- ...customLocalization,
59
- };
60
- const [selectedTimeRange, setSelectedTimeRange] = useState<CreditUsageTimeRange>(timeRange);
61
- const { creditUsage, isLoading, error } = useCreditUsage({
62
- currencyId,
63
- timeRange: selectedTimeRange,
64
- });
65
-
66
- const { tooltipInfo, tooltipHandler } = useCreditUsageChartTooltip();
67
-
68
- const { data: chartData, options } = useMemo(
69
- () => computeChartData(creditUsage || null, theme, tooltipHandler, selectedTimeRange),
70
- [creditUsage, theme, tooltipHandler, selectedTimeRange],
71
- );
72
-
73
- const totalCredits = useMemo(() => {
74
- return creditUsage?.series.reduce((acc, curr) => acc + curr.totalCredits, 0) || 0;
75
- }, [creditUsage]);
76
-
77
- const currencyUnit = creditUsage?.currency?.units?.plural;
78
-
79
- return (
80
- <SdkThemeProvider componentTheme={theme}>
81
- <CreditUsageChartContainer className="stigg-credit-usage-chart-container">
82
- <CreditUsageChartCard className="stigg-credit-usage-chart-card">
83
- <div style={{ width: '100%' }}>
84
- <CreditUsageChartHeader
85
- isLoading={isLoading}
86
- totalCredits={totalCredits}
87
- selectedTimeRange={selectedTimeRange}
88
- setSelectedTimeRange={setSelectedTimeRange}
89
- error={error}
90
- localization={localization}
91
- currencyUnit={currencyUnit}
92
- />
93
-
94
- <div style={{ display: 'flex', flexDirection: 'column', gap: 4 }}>
95
- <div style={{ height: '400px', position: 'relative' }}>
96
- {isLoading ? (
97
- <ChartSkeleton className="stigg-credit-usage-chart-skeleton" />
98
- ) : error ? (
99
- <CreditUsageChartErrorState />
100
- ) : creditUsage?.series.length === 0 ? (
101
- <CreditUsageChartEmptyState />
102
- ) : (
103
- <>
104
- <CreditUsageChartTooltip tooltipInfo={tooltipInfo} />
105
- <Bar
106
- className="stigg-credit-usage-chart-bar"
107
- data={chartData ?? { labels: [], datasets: [] }}
108
- options={options ?? {}}
109
- plugins={[redrawBeforeFirstDrawPlugin]}
110
- />
111
- </>
112
- )}
113
- </div>
114
- {!isLoading && <CreditUsageLegend creditUsageData={creditUsage} />}
115
- </div>
116
- </div>
117
- </CreditUsageChartCard>
118
- <PoweredByStigg
119
- source="credit_usage_chart"
120
- align="end"
121
- smallScreenAlign="end"
122
- style={{ marginTop: 0 }}
123
- showWatermark={stigg?.getShowWatermark()}
124
- />
125
- </CreditUsageChartContainer>
126
- </SdkThemeProvider>
127
- );
128
- }
@@ -1,29 +0,0 @@
1
- import styled from '@utils/style';
2
- import { Icon } from '../../common/Icon';
3
- import { Typography } from '../../common/Typography';
4
-
5
- const EmptyStateContainer = styled.div`
6
- display: flex;
7
- flex-direction: column;
8
- justify-content: center;
9
- align-items: center;
10
- height: 100%;
11
- `;
12
-
13
- const StyledIcon = styled(Icon)`
14
- svg {
15
- width: 32px;
16
- height: 32px;
17
- }
18
- `;
19
-
20
- export function CreditUsageChartEmptyState() {
21
- return (
22
- <EmptyStateContainer className="stigg-credit-usage-chart-empty-state">
23
- <StyledIcon icon="PayAsYouGoCharge" style={{ display: 'flex' }} />
24
- <Typography variant="body1" color="primary" bold>
25
- No Usage Recorded
26
- </Typography>
27
- </EmptyStateContainer>
28
- );
29
- }
@@ -1,19 +0,0 @@
1
- import styled from '@utils/style';
2
- import { Typography } from '../../common/Typography';
3
-
4
- const ErrorStateContainer = styled.div`
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
- height: 100%;
9
- `;
10
-
11
- export function CreditUsageChartErrorState() {
12
- return (
13
- <ErrorStateContainer className="stigg-credit-usage-chart-error-state">
14
- <Typography variant="body1" color="error">
15
- Failed to load credit usage
16
- </Typography>
17
- </ErrorStateContainer>
18
- );
19
- }
@@ -1,104 +0,0 @@
1
- import styled from '@utils/style';
2
- import { MenuItem, OutlinedInput, Select } from '@mui/material';
3
- import { CreditUsageTimeRange } from '@stigg/js-client-sdk';
4
- import { Skeleton } from '../../checkout/components/Skeletons.style';
5
- import { Typography } from '../../common/Typography';
6
- import { numberFormatter } from '../../utils/numberUtils';
7
- import { CreditUsageChartLocalization } from './types';
8
-
9
- const TIME_RANGE_OPTIONS = [
10
- { value: CreditUsageTimeRange.LastDay, label: 'Last 24 Hours' },
11
- { value: CreditUsageTimeRange.LastWeek, label: 'Last 7 Days' },
12
- { value: CreditUsageTimeRange.LastMonth, label: 'Last 30 Days' },
13
- { value: CreditUsageTimeRange.LastYear, label: 'Last 12 Months' },
14
- ];
15
-
16
- const TimeRangeSelect = styled(Select)`
17
- border-radius: 10px;
18
- height: 38px;
19
- min-width: 150px;
20
-
21
- &:hover .MuiOutlinedInput-notchedOutline {
22
- border-color: ${({ theme }) => theme.stigg.palette.outlinedBorder};
23
- }
24
- `;
25
-
26
- const TimeRangeInput = styled(OutlinedInput)`
27
- & .MuiInputBase-input {
28
- padding: 10px 12px;
29
- }
30
-
31
- &.Mui-focused .MuiOutlinedInput-notchedOutline {
32
- border-color: ${({ theme }) => theme.stigg.palette.primary} !important;
33
- }
34
- `;
35
-
36
- export type CreditUsageChartHeaderProps = {
37
- isLoading: boolean;
38
- totalCredits: number;
39
- selectedTimeRange: CreditUsageTimeRange;
40
- setSelectedTimeRange: (timeRange: CreditUsageTimeRange) => void;
41
- error: Error | null;
42
- localization: Partial<CreditUsageChartLocalization>;
43
- currencyUnit?: string;
44
- };
45
-
46
- export function CreditUsageChartHeader({
47
- isLoading,
48
- totalCredits,
49
- selectedTimeRange,
50
- setSelectedTimeRange,
51
- error,
52
- localization,
53
- currencyUnit,
54
- }: CreditUsageChartHeaderProps) {
55
- return (
56
- <div
57
- className="stigg-credit-usage-chart-header"
58
- style={{
59
- display: 'flex',
60
- flexDirection: 'row',
61
- marginBottom: 16,
62
- justifyContent: 'space-between',
63
- }}>
64
- <div style={{ display: 'flex', flexDirection: 'row', gap: 8, alignItems: 'center' }}>
65
- <Typography variant="h3" color="primary" className="stigg-credit-usage-chart-title">
66
- {localization.title}
67
- </Typography>
68
- {isLoading ? (
69
- <Skeleton width={100} height={24} />
70
- ) : (
71
- <>
72
- <Typography variant="h6" color="secondary" className="stigg-credit-usage-chart-total">
73
- |
74
- </Typography>
75
- <Typography variant="h6" color="secondary" className="stigg-credit-usage-chart-total">
76
- {localization.totalSpend}: {numberFormatter(totalCredits || 0)} {currencyUnit || ''}
77
- </Typography>
78
- </>
79
- )}
80
- </div>
81
-
82
- {!isLoading && !error && (
83
- <TimeRangeSelect
84
- className="stigg-credit-usage-chart-time-range-select"
85
- value={selectedTimeRange}
86
- input={<TimeRangeInput />}
87
- onChange={(e) => setSelectedTimeRange(e.target.value as CreditUsageTimeRange)}
88
- renderValue={(value) => (
89
- <Typography variant="body1" color="primary">
90
- {TIME_RANGE_OPTIONS.find((option) => option.value === value)?.label || ''}{' '}
91
- </Typography>
92
- )}>
93
- {TIME_RANGE_OPTIONS.map((option) => (
94
- <MenuItem key={option.value} value={option.value}>
95
- <Typography variant="body1" color="primary">
96
- {option.label}
97
- </Typography>
98
- </MenuItem>
99
- ))}
100
- </TimeRangeSelect>
101
- )}
102
- </div>
103
- );
104
- }