@stigg/react-sdk 7.7.1-beta.0 → 7.8.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.
- package/dist/index.d.ts +2 -935
- package/dist/react-sdk.cjs.js +3508 -716
- package/dist/react-sdk.cjs.js.map +1 -0
- package/dist/react-sdk.esm.js +76896 -10986
- package/dist/react-sdk.esm.js.map +1 -0
- package/dist/react-sdk.umd.js +6238 -0
- package/dist/react-sdk.umd.js.map +1 -0
- package/dist/src/assets/lottie/checkout-success.json.d.ts +3 -0
- package/dist/src/components/StiggProvider.d.ts +36 -0
- package/dist/src/components/checkout/Checkout.d.ts +5 -0
- package/dist/src/components/checkout/CheckoutContainer.d.ts +14 -0
- package/dist/src/components/checkout/CheckoutContainer.style.d.ts +15 -0
- package/dist/src/components/checkout/CheckoutProvider.d.ts +43 -0
- package/dist/src/components/checkout/components/Button.d.ts +6 -0
- package/dist/src/components/checkout/components/ChangePlanButton.d.ts +7 -0
- package/dist/src/components/checkout/components/ContentLoadingSkeleton.d.ts +2 -0
- package/dist/src/components/checkout/components/DowngradeToFreeContainer.d.ts +21 -0
- package/dist/src/components/checkout/components/InputField.d.ts +6 -0
- package/dist/src/components/checkout/components/Skeletons.style.d.ts +27 -0
- package/dist/src/components/checkout/components/StyledArrow.d.ts +4 -0
- package/dist/src/components/checkout/components/index.d.ts +3 -0
- package/dist/src/components/checkout/configurations/steps.d.ts +1 -0
- package/dist/src/components/checkout/configurations/textOverrides.d.ts +82 -0
- package/dist/src/components/checkout/configurations/theme.d.ts +14 -0
- package/dist/src/components/checkout/configurations/typography.d.ts +7 -0
- package/dist/src/components/checkout/formatting.d.ts +2 -0
- package/dist/src/components/checkout/hooks/index.d.ts +8 -0
- package/dist/src/components/checkout/hooks/useAddonsStepModel.d.ts +20 -0
- package/dist/src/components/checkout/hooks/useCheckoutModel.d.ts +14 -0
- package/dist/src/components/checkout/hooks/useCouponModel.d.ts +7 -0
- package/dist/src/components/checkout/hooks/useLoadCheckout.d.ts +14 -0
- package/dist/src/components/checkout/hooks/usePaymentStepModel.d.ts +22 -0
- package/dist/src/components/checkout/hooks/usePlanStepModel.d.ts +23 -0
- package/dist/src/components/checkout/hooks/usePreviewSubscription.d.ts +25 -0
- package/dist/src/components/checkout/hooks/useProgressBarModel.d.ts +35 -0
- package/dist/src/components/checkout/hooks/useSubscriptionModel.d.ts +6 -0
- package/dist/src/components/checkout/hooks/useSubscriptionState.d.ts +2 -0
- package/dist/src/components/checkout/index.d.ts +8 -0
- package/dist/src/components/checkout/planHeader/PlanHeader.d.ts +6 -0
- package/dist/src/components/checkout/planHeader/index.d.ts +1 -0
- package/dist/src/components/checkout/progressBar/CheckoutProgressBar.d.ts +1 -0
- package/dist/src/components/checkout/progressBar/CheckoutProgressBar.style.d.ts +17 -0
- package/dist/src/components/checkout/promotionCode/AddPromotionCode.d.ts +2 -0
- package/dist/src/components/checkout/promotionCode/AddPromotionCodeButton.d.ts +7 -0
- package/dist/src/components/checkout/promotionCode/AppliedPromotionCode.d.ts +10 -0
- package/dist/src/components/checkout/promotionCode/PromotionCodeSection.d.ts +8 -0
- package/dist/src/components/checkout/promotionCode/index.d.ts +1 -0
- package/dist/src/components/checkout/steps/addons/CheckoutAddonsStep.d.ts +4 -0
- package/dist/src/components/checkout/steps/addons/CheckoutAddonsStep.style.d.ts +18 -0
- package/dist/src/components/checkout/steps/addons/addon.utils.d.ts +15 -0
- package/dist/src/components/checkout/steps/addons/components/AddonInputContainer.d.ts +15 -0
- package/dist/src/components/checkout/steps/addons/components/AddonTextContainer.d.ts +9 -0
- package/dist/src/components/checkout/steps/addons/index.d.ts +1 -0
- package/dist/src/components/checkout/steps/payment/PaymentMethods.d.ts +19 -0
- package/dist/src/components/checkout/steps/payment/PaymentMethods.style.d.ts +27 -0
- package/dist/src/components/checkout/steps/payment/PaymentStep.d.ts +2 -0
- package/dist/src/components/checkout/steps/payment/index.d.ts +1 -0
- package/dist/src/components/checkout/steps/payment/stripe/StripePaymentForm.d.ts +2 -0
- package/dist/src/components/checkout/steps/payment/stripe/index.d.ts +3 -0
- package/dist/src/components/checkout/steps/payment/stripe/stripe.utils.d.ts +33 -0
- package/dist/src/components/checkout/steps/payment/stripe/useStripeIntegration.d.ts +5 -0
- package/dist/src/components/checkout/steps/payment/stripe/useSubmit.d.ts +15 -0
- package/dist/src/components/checkout/steps/payment/zuora/ZuoraPaymentForm.d.ts +2 -0
- package/dist/src/components/checkout/steps/payment/zuora/index.d.ts +4 -0
- package/dist/src/components/checkout/steps/payment/zuora/useZuoraIntegration.d.ts +5 -0
- package/dist/src/components/checkout/steps/payment/zuora/useZuoraSubmit.d.ts +11 -0
- package/dist/src/components/checkout/steps/payment/zuora/zuora.utils.d.ts +34 -0
- package/dist/src/components/checkout/steps/plan/BillingPeriodPicker.d.ts +8 -0
- package/dist/src/components/checkout/steps/plan/BillingPeriodPicker.style.d.ts +28 -0
- package/dist/src/components/checkout/steps/plan/CheckoutChargeList.d.ts +22 -0
- package/dist/src/components/checkout/steps/plan/CheckoutPlanStep.d.ts +2 -0
- package/dist/src/components/checkout/steps/plan/CheckoutPlanStep.style.d.ts +6 -0
- package/dist/src/components/checkout/steps/plan/index.d.ts +1 -0
- package/dist/src/components/checkout/summary/CheckoutSuccess.d.ts +5 -0
- package/dist/src/components/checkout/summary/CheckoutSummary.d.ts +15 -0
- package/dist/src/components/checkout/summary/CheckoutSummarySkeleton.d.ts +3 -0
- package/dist/src/components/checkout/summary/components/CheckoutCaptions.d.ts +11 -0
- package/dist/src/components/checkout/summary/components/GraduatedPriceBreakdown.d.ts +6 -0
- package/dist/src/components/checkout/summary/components/LineItems.d.ts +37 -0
- package/dist/src/components/checkout/summary/components/WithSkeleton.d.ts +6 -0
- package/dist/src/components/checkout/summary/components/getPriceBreakdownString.d.ts +15 -0
- package/dist/src/components/checkout/summary/index.d.ts +2 -0
- package/dist/src/components/checkout/types.d.ts +86 -0
- package/dist/src/components/common/CollapsableSectionIcon.d.ts +6 -0
- package/dist/src/components/common/Icon.d.ts +14 -0
- package/dist/src/components/common/InformationTooltip.d.ts +11 -0
- package/dist/src/components/common/LongText.d.ts +17 -0
- package/dist/src/components/common/PoweredByStigg.d.ts +12 -0
- package/dist/src/components/common/ProgressBar.d.ts +6 -0
- package/dist/src/components/common/StatusChip.d.ts +16 -0
- package/dist/src/components/common/TiersSelectContainer.d.ts +12 -0
- package/dist/src/components/common/Typography.d.ts +15 -0
- package/dist/src/components/common/VolumeBulkSelect.d.ts +5 -0
- package/dist/src/components/common/VolumePerUnitInput.d.ts +5 -0
- package/dist/src/components/common/chart/chartjs.helpers.d.ts +2 -0
- package/dist/src/components/common/chart/chartjs.plugins.d.ts +1 -0
- package/dist/src/components/common/chart/chartjs.theme.d.ts +23 -0
- package/dist/src/components/common/chart/chartjs.tooltip.plugin.d.ts +38 -0
- package/dist/src/components/common/customIcons.d.ts +24 -0
- package/dist/src/components/common/iconColor.d.ts +4 -0
- package/dist/src/components/common/mapExternalTheme.d.ts +7 -0
- package/dist/src/components/common/mediaQuery.d.ts +12 -0
- package/dist/src/components/common/table/DataRows.d.ts +9 -0
- package/dist/src/components/common/table/EmptyState.d.ts +7 -0
- package/dist/src/components/common/table/ErrorState.d.ts +7 -0
- package/dist/src/components/common/table/GenericTable.d.ts +25 -0
- package/dist/src/components/common/table/LoadingRows.d.ts +8 -0
- package/dist/src/components/common/table/index.d.ts +6 -0
- package/dist/src/components/common/table/types.d.ts +31 -0
- package/dist/src/components/credits/balance/CreditBalance.d.ts +11 -0
- package/dist/src/components/credits/balance/CreditBalanceValue.d.ts +7 -0
- package/dist/src/components/credits/creditUsageChart/CreditUsage.chartjs.d.ts +12 -0
- package/dist/src/components/credits/creditUsageChart/CreditUsageChart.d.ts +8 -0
- package/dist/src/components/credits/creditUsageChart/CreditUsageChartEmptyState.d.ts +2 -0
- package/dist/src/components/credits/creditUsageChart/CreditUsageChartErrorState.d.ts +2 -0
- package/dist/src/components/credits/creditUsageChart/CreditUsageChartHeader.d.ts +12 -0
- package/dist/src/components/credits/creditUsageChart/CreditUsageChartTooltip.d.ts +19 -0
- package/dist/src/components/credits/creditUsageChart/CreditUsageLegend.d.ts +6 -0
- package/dist/src/components/credits/creditUsageChart/types.d.ts +4 -0
- package/dist/src/components/credits/grants/CreditGrants.d.ts +6 -0
- package/dist/src/components/credits/grants/CreditGrantsTable.d.ts +14 -0
- package/dist/src/components/credits/grants/types.d.ts +23 -0
- package/dist/src/components/credits/grants/utils.d.ts +5 -0
- package/dist/src/components/credits/hooks/useCreditBalance.d.ts +32 -0
- package/dist/src/components/credits/hooks/useCreditGrants.d.ts +9 -0
- package/dist/src/components/credits/hooks/useCreditUsage.d.ts +13 -0
- package/dist/src/components/credits/index.d.ts +12 -0
- package/dist/src/components/credits/localization.d.ts +22 -0
- package/dist/src/components/credits/utilization/CreditUtilization.d.ts +12 -0
- package/dist/src/components/credits/utilization/CreditUtilizationValue.d.ts +9 -0
- package/dist/src/components/credits/utils/creditBalanceUtils.d.ts +11 -0
- package/dist/src/components/credits/utils/creditGrantUtils.d.ts +3 -0
- package/dist/src/components/customerPortal/CustomerPortal.d.ts +20 -0
- package/dist/src/components/customerPortal/CustomerPortal.style.d.ts +9 -0
- package/dist/src/components/customerPortal/CustomerPortalContainer.d.ts +6 -0
- package/dist/src/components/customerPortal/CustomerPortalContext.d.ts +16 -0
- package/dist/src/components/customerPortal/CustomerPortalHeader.d.ts +4 -0
- package/dist/src/components/customerPortal/CustomerPortalProvider.d.ts +11 -0
- package/dist/src/components/customerPortal/billing/InformationGrid.d.ts +16 -0
- package/dist/src/components/customerPortal/billing/InvoicesSection.d.ts +2 -0
- package/dist/src/components/customerPortal/billing/PaymentDetailsSection.d.ts +3 -0
- package/dist/src/components/customerPortal/common/ExternalLinkButton.d.ts +7 -0
- package/dist/src/components/customerPortal/common/SectionContainer.d.ts +8 -0
- package/dist/src/components/customerPortal/common/SectionHeader.d.ts +7 -0
- package/dist/src/components/customerPortal/common/SectionTitle.d.ts +7 -0
- package/dist/src/components/customerPortal/common/SkeletonButton.d.ts +2 -0
- package/dist/src/components/customerPortal/common/StyledButton.d.ts +6 -0
- package/dist/src/components/customerPortal/customerPortalTextOverrides.d.ts +17 -0
- package/dist/src/components/customerPortal/customerPortalTheme.d.ts +14 -0
- package/dist/src/components/customerPortal/hooks/useCustomerPortal.d.ts +11 -0
- package/dist/src/components/customerPortal/index.d.ts +16 -0
- package/dist/src/components/customerPortal/paywall/CustomerPortalPaywall.d.ts +10 -0
- package/dist/src/components/customerPortal/paywall/CustomerPortalPaywall.style.d.ts +13 -0
- package/dist/src/components/customerPortal/subscriptionOverview/ContactCustomerSupport.d.ts +8 -0
- package/dist/src/components/customerPortal/subscriptionOverview/SubscriptionOverviewLoader.d.ts +2 -0
- package/dist/src/components/customerPortal/subscriptionOverview/SubscriptionsOverview.d.ts +13 -0
- package/dist/src/components/customerPortal/subscriptionOverview/SubscriptionsOverviewHeader.d.ts +9 -0
- package/dist/src/components/customerPortal/subscriptionOverview/charges/ChargeItem.d.ts +17 -0
- package/dist/src/components/customerPortal/subscriptionOverview/charges/ChargeList.d.ts +12 -0
- package/dist/src/components/customerPortal/subscriptionOverview/subscriptionScheduledUpdates/SubscriptionScheduledUpdateRow.d.ts +8 -0
- package/dist/src/components/customerPortal/subscriptionOverview/subscriptionScheduledUpdates/SubscriptionScheduledUpdatesAlert.d.ts +9 -0
- package/dist/src/components/customerPortal/subscriptionOverview/subscriptionView/SubscriptionView.d.ts +11 -0
- package/dist/src/components/customerPortal/subscriptionOverview/subscriptionView/SubscriptionView.style.d.ts +5 -0
- package/dist/src/components/customerPortal/subscriptionOverview/subscriptionView/TrialPanel.d.ts +7 -0
- package/dist/src/components/customerPortal/subscriptionOverview/tabs/AddonsList.d.ts +2 -0
- package/dist/src/components/customerPortal/subscriptionOverview/tabs/Promotions.d.ts +2 -0
- package/dist/src/components/customerPortal/subscriptionOverview/tabs/SubscriptionTabs.d.ts +11 -0
- package/dist/src/components/customerPortal/subscriptionOverview/tabs/SubscriptionTabs.style.d.ts +24 -0
- package/dist/src/components/customerPortal/subscriptionOverview/types/customerPortal.types.d.ts +3 -0
- package/dist/src/components/customerPortal/subscriptionOverview/upcomingBilling/NextEstimatedBill.d.ts +8 -0
- package/dist/src/components/customerPortal/subscriptionOverview/upcomingBilling/NoUpcomingBilling.d.ts +6 -0
- package/dist/src/components/customerPortal/subscriptionOverview/upcomingBilling/UpcomingBilling.d.ts +10 -0
- package/dist/src/components/customerPortal/types.d.ts +13 -0
- package/dist/src/components/customerPortal/usage/CustomerUsageData.d.ts +8 -0
- package/dist/src/components/customerPortal/usage/CustomerUsageData.style.d.ts +6 -0
- package/dist/src/components/customerPortal/usage/featureUsage/EntitlementCTAButton.d.ts +14 -0
- package/dist/src/components/customerPortal/usage/featureUsage/FeatureUsage.d.ts +13 -0
- package/dist/src/components/customerPortal/usage/featureUsage/FeatureUsage.helper.d.ts +5 -0
- package/dist/src/components/customerPortal/usage/featureUsage/FeatureUsage.style.d.ts +8 -0
- package/dist/src/components/customerPortal/usage/featureUsage/FeatureUsageProgressBar.d.ts +15 -0
- package/dist/src/components/guards/BooleanEntitlementGuard.d.ts +7 -0
- package/dist/src/components/guards/EnumEntitlementGuard.d.ts +7 -0
- package/dist/src/components/guards/MeteredEntitlementGuard.d.ts +7 -0
- package/dist/src/components/guards/NumericEntitlementGuard.d.ts +7 -0
- package/dist/src/components/hooks/index.d.ts +1 -0
- package/dist/src/components/hooks/useChargeSort.d.ts +3 -0
- package/dist/src/components/hooks/useIsScreenWiderThan.d.ts +2 -0
- package/dist/src/components/hooks/usePagination.d.ts +6 -0
- package/dist/src/components/hooks/useWaitForCheckoutCompleted.d.ts +14 -0
- package/dist/src/components/paywall/BillingPeriodPicker.d.ts +7 -0
- package/dist/src/components/paywall/EntitlementRow.d.ts +20 -0
- package/dist/src/components/paywall/Paywall.d.ts +23 -0
- package/dist/src/components/paywall/PaywallContainer.d.ts +20 -0
- package/dist/src/components/paywall/PaywallLoader.d.ts +2 -0
- package/dist/src/components/paywall/PlanCompatibleAddons.d.ts +13 -0
- package/dist/src/components/paywall/PlanEntitlements.d.ts +8 -0
- package/dist/src/components/paywall/PlanOffering.d.ts +27 -0
- package/dist/src/components/paywall/PlanOfferingButton.d.ts +18 -0
- package/dist/src/components/paywall/PlanPrice.d.ts +17 -0
- package/dist/src/components/paywall/hooks/useLoadPaywallData.d.ts +12 -0
- package/dist/src/components/paywall/index.d.ts +5 -0
- package/dist/src/components/paywall/paywallTextOverrides.d.ts +81 -0
- package/dist/src/components/paywall/types.d.ts +58 -0
- package/dist/src/components/paywall/utils/calculateTrialDaysLeft.d.ts +1 -0
- package/dist/src/components/paywall/utils/calculateUnitQuantityText.d.ts +1 -0
- package/dist/src/components/paywall/utils/computeDefaultBillingPeriod.d.ts +5 -0
- package/dist/src/components/paywall/utils/getPlansToDisplay.d.ts +3 -0
- package/dist/src/components/paywall/utils/hasPricePoints.d.ts +4 -0
- package/dist/src/components/paywall/utils/mapPaywallData.d.ts +14 -0
- package/dist/src/components/utils/calculateDiscountRate.d.ts +3 -0
- package/dist/src/components/utils/currencyUtils.d.ts +9 -0
- package/dist/src/components/utils/dateUtils.d.ts +10 -0
- package/dist/src/components/utils/fixtures/price.fixtures.d.ts +7 -0
- package/dist/src/components/utils/formatNumber.d.ts +1 -0
- package/dist/src/components/utils/getFeatureName.d.ts +3 -0
- package/dist/src/components/utils/getPaidPriceText.d.ts +14 -0
- package/dist/src/components/utils/getPlanPrice.d.ts +9 -0
- package/dist/src/components/utils/getSubscriptionScheduleUpdateTexts.d.ts +22 -0
- package/dist/src/components/utils/numberUtils.d.ts +4 -0
- package/dist/src/components/utils/onWheelBlur.d.ts +2 -0
- package/dist/src/components/utils/planPrices.d.ts +4 -0
- package/dist/src/components/utils/priceTierUtils.d.ts +34 -0
- package/dist/src/components/utils/priceUtils.d.ts +2 -0
- package/dist/src/hooks/index.d.ts +8 -0
- package/dist/src/hooks/useActiveSubscriptions.d.ts +6 -0
- package/dist/src/hooks/useBooleanEntitlement.d.ts +5 -0
- package/dist/src/hooks/useCustomerPortal.d.ts +6 -0
- package/dist/src/hooks/useEnumEntitlement.d.ts +6 -0
- package/dist/src/hooks/useFetch.d.ts +8 -0
- package/dist/src/hooks/useMeteredEntitlement.d.ts +6 -0
- package/dist/src/hooks/useNumericEntitlement.d.ts +6 -0
- package/dist/src/hooks/usePaywall.d.ts +6 -0
- package/dist/src/hooks/useStiggContext.d.ts +7 -0
- package/dist/src/index.d.ts +26 -0
- package/dist/src/services/logger.d.ts +12 -0
- package/dist/src/stories/CustomTheme.d.ts +2 -0
- package/dist/src/stories/baseArgs.d.ts +11 -0
- package/dist/src/stories/mocks/checkout/consts.d.ts +11 -0
- package/dist/src/stories/mocks/checkout/mockCheckoutPreview.d.ts +2 -0
- package/dist/src/stories/mocks/checkout/mockCheckoutState.d.ts +2 -0
- package/dist/src/theme/Fonts.d.ts +3 -0
- package/dist/src/theme/Theme.d.ts +10 -0
- package/dist/src/theme/getResolvedTheme.d.ts +4 -0
- package/dist/src/theme/types.d.ts +83 -0
- package/dist/src/types.d.ts +16 -0
- package/dist/src/utils/styledUtils.d.ts +2 -0
- package/dist/stripe.esm-BkoVJ3BR.js +67 -0
- package/dist/stripe.esm-BkoVJ3BR.js.map +1 -0
- package/dist/stripe.esm-XRG9pJRV.cjs +2 -0
- package/dist/stripe.esm-XRG9pJRV.cjs.map +1 -0
- package/package.json +13 -2
- package/src/components/checkout/configurations/textOverrides.ts +1 -1
- package/src/components/checkout/steps/payment/stripe/useSubmit.ts +1 -1
- package/src/components/checkout/steps/payment/zuora/useZuoraIntegration.ts +1 -2
- package/src/components/checkout/steps/payment/zuora/useZuoraSubmit.ts +1 -1
- package/src/components/checkout/summary/CheckoutSummary.tsx +2 -2
- package/src/components/checkout/types.ts +6 -6
- package/src/components/common/table/GenericTable.tsx +63 -19
- package/src/components/common/table/types.ts +4 -0
- package/src/components/credits/grants/CreditGrants.tsx +22 -2
- package/src/components/credits/grants/CreditGrantsTable.tsx +13 -1
- package/src/components/credits/grants/types.ts +3 -1
- package/src/components/credits/grants/utils.ts +1 -1
- package/src/components/credits/hooks/useCreditGrants.ts +7 -2
- package/src/components/hooks/usePagination.ts +33 -0
- package/src/stories/CreditGrants.stories.tsx +4 -0
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import styled from '@utils/style';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Table,
|
|
4
|
+
TableBody,
|
|
5
|
+
TableCell,
|
|
6
|
+
TableContainer,
|
|
7
|
+
TableHead,
|
|
8
|
+
TableRow,
|
|
9
|
+
TablePagination,
|
|
10
|
+
Divider,
|
|
11
|
+
} from '@mui/material';
|
|
3
12
|
import { Typography } from '../Typography';
|
|
4
13
|
import { GenericTableProps, TableAlignment, PixelWidth, HeadCell } from './types';
|
|
5
14
|
import { LoadingRows } from './LoadingRows';
|
|
6
15
|
import { DataRows } from './DataRows';
|
|
7
16
|
import { ErrorState } from './ErrorState';
|
|
8
17
|
import { EmptyState } from './EmptyState';
|
|
18
|
+
import { formatNumber } from '../../utils/formatNumber';
|
|
9
19
|
|
|
10
20
|
const StyledTableContainer = styled(TableContainer)<{
|
|
11
21
|
$hasMinHeight?: boolean;
|
|
@@ -32,6 +42,10 @@ const StyledTable = styled(Table)`
|
|
|
32
42
|
width: 100%;
|
|
33
43
|
`;
|
|
34
44
|
|
|
45
|
+
const StyledDivider = styled(Divider)`
|
|
46
|
+
border-color: ${({ theme }) => theme.stigg.palette.outlinedBorder};
|
|
47
|
+
`;
|
|
48
|
+
|
|
35
49
|
export const StyledTableCell = styled(TableCell)<{
|
|
36
50
|
$alignment?: TableAlignment;
|
|
37
51
|
$width?: PixelWidth;
|
|
@@ -85,6 +99,10 @@ export const CellContent = styled.div<{ $alignment?: TableAlignment }>`
|
|
|
85
99
|
width: 100%;
|
|
86
100
|
`;
|
|
87
101
|
|
|
102
|
+
const StyledTablePagination = styled(TablePagination)`
|
|
103
|
+
color: ${({ theme }) => theme.stigg.palette.text.secondary};
|
|
104
|
+
`;
|
|
105
|
+
|
|
88
106
|
interface TableHeaderProps<T> {
|
|
89
107
|
visibleHeadCells: Array<HeadCell<T>>;
|
|
90
108
|
}
|
|
@@ -119,6 +137,10 @@ export function GenericTable<T>({
|
|
|
119
137
|
className,
|
|
120
138
|
skeletonRows = 3,
|
|
121
139
|
hideLastRowBorder = true,
|
|
140
|
+
pageSize,
|
|
141
|
+
pageNum,
|
|
142
|
+
totalCount,
|
|
143
|
+
onPageChange,
|
|
122
144
|
}: GenericTableProps<T>) {
|
|
123
145
|
const visibleHeadCells = headCells.filter((cell) => cell.visible !== false);
|
|
124
146
|
const hasErrorOrEmptyState = !!error || (!isLoading && data.length === 0);
|
|
@@ -130,25 +152,47 @@ export function GenericTable<T>({
|
|
|
130
152
|
) : !isLoading && data.length === 0 ? (
|
|
131
153
|
<EmptyState message={emptyMessage} className={`${className}-empty`} />
|
|
132
154
|
) : (
|
|
133
|
-
|
|
134
|
-
<
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
155
|
+
<>
|
|
156
|
+
<StyledTable>
|
|
157
|
+
<TableHeader visibleHeadCells={visibleHeadCells} />
|
|
158
|
+
<TableBody>
|
|
159
|
+
{isLoading ? (
|
|
160
|
+
<LoadingRows
|
|
161
|
+
skeletonRows={skeletonRows}
|
|
162
|
+
visibleHeadCells={visibleHeadCells}
|
|
163
|
+
hideLastRowBorder={hideLastRowBorder}
|
|
164
|
+
/>
|
|
165
|
+
) : (
|
|
166
|
+
<DataRows
|
|
167
|
+
data={data}
|
|
168
|
+
visibleHeadCells={visibleHeadCells}
|
|
169
|
+
onRowClick={onRowClick}
|
|
170
|
+
hideLastRowBorder={hideLastRowBorder}
|
|
171
|
+
/>
|
|
172
|
+
)}
|
|
173
|
+
</TableBody>
|
|
174
|
+
</StyledTable>
|
|
175
|
+
|
|
176
|
+
{!!data?.length && onPageChange && (
|
|
177
|
+
<>
|
|
178
|
+
<StyledDivider />
|
|
179
|
+
<StyledTablePagination
|
|
180
|
+
// @ts-ignore next-line
|
|
181
|
+
component="div"
|
|
182
|
+
rowsPerPage={pageSize ?? data.length}
|
|
183
|
+
rowsPerPageOptions={[pageSize ?? data.length]}
|
|
184
|
+
count={totalCount ?? data.length}
|
|
185
|
+
page={pageNum ?? 1}
|
|
186
|
+
onPageChange={onPageChange}
|
|
187
|
+
labelDisplayedRows={({ from, to, count }) =>
|
|
188
|
+
`${formatNumber(from)}-${formatNumber(to)} of ${
|
|
189
|
+
count !== -1 ? formatNumber(count) : `more than ${formatNumber(to)}`
|
|
190
|
+
}`
|
|
191
|
+
}
|
|
148
192
|
/>
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
193
|
+
</>
|
|
194
|
+
)}
|
|
195
|
+
</>
|
|
152
196
|
)}
|
|
153
197
|
</StyledTableContainer>
|
|
154
198
|
);
|
|
@@ -7,6 +7,11 @@ import { useCreditGrants } from '../hooks/useCreditGrants';
|
|
|
7
7
|
import { CREDIT_GRANTS_DEFAULT_LOCALIZATION } from '../localization';
|
|
8
8
|
import type { CreditGrantsLocalization } from './types';
|
|
9
9
|
import { CreditGrantsTable } from './CreditGrantsTable';
|
|
10
|
+
import { usePagination } from '../../hooks/usePagination';
|
|
11
|
+
import { CursorPaging } from '@stigg/js-client-sdk';
|
|
12
|
+
import { useState } from 'react';
|
|
13
|
+
|
|
14
|
+
const DEFAULT_PAGE_SIZE = 10;
|
|
10
15
|
|
|
11
16
|
const CreditGrantsContainer = styled.div`
|
|
12
17
|
display: flex;
|
|
@@ -25,7 +30,12 @@ export type CreditGrantsProps = GetCreditGrantsParams & {
|
|
|
25
30
|
decimalPlaces?: number | null;
|
|
26
31
|
};
|
|
27
32
|
|
|
28
|
-
export function CreditGrants({
|
|
33
|
+
export function CreditGrants({
|
|
34
|
+
currencyId,
|
|
35
|
+
localization: customLocalization,
|
|
36
|
+
decimalPlaces,
|
|
37
|
+
pageSize = DEFAULT_PAGE_SIZE,
|
|
38
|
+
}: CreditGrantsProps) {
|
|
29
39
|
const stiggContext = useStiggContext({ optional: true });
|
|
30
40
|
const stigg = stiggContext?.stigg;
|
|
31
41
|
const theme = stiggContext?.theme;
|
|
@@ -35,10 +45,16 @@ export function CreditGrants({ currencyId, localization: customLocalization, dec
|
|
|
35
45
|
...customLocalization,
|
|
36
46
|
};
|
|
37
47
|
|
|
38
|
-
const
|
|
48
|
+
const [cursor, setCursor] = useState<CursorPaging>({ first: pageSize });
|
|
49
|
+
|
|
50
|
+
const { creditGrants, isLoading, error, paging, totalCount } = useCreditGrants({
|
|
39
51
|
currencyId,
|
|
52
|
+
pageSize,
|
|
53
|
+
paging: cursor,
|
|
40
54
|
});
|
|
41
55
|
|
|
56
|
+
const { pageNumber, pageChangeFunc } = usePagination(paging, setCursor, pageSize);
|
|
57
|
+
|
|
42
58
|
return (
|
|
43
59
|
<SdkThemeProvider componentTheme={theme}>
|
|
44
60
|
<CreditGrantsContainer className="stigg-credit-grants-container">
|
|
@@ -49,6 +65,10 @@ export function CreditGrants({ currencyId, localization: customLocalization, dec
|
|
|
49
65
|
error={error}
|
|
50
66
|
localization={localization}
|
|
51
67
|
decimalPlaces={decimalPlaces}
|
|
68
|
+
pageSize={pageSize}
|
|
69
|
+
pageNum={pageNumber}
|
|
70
|
+
totalCount={totalCount}
|
|
71
|
+
onPageChange={pageChangeFunc}
|
|
52
72
|
/>
|
|
53
73
|
</CreditGrantsCard>
|
|
54
74
|
<PoweredByStigg
|
|
@@ -13,6 +13,10 @@ interface CreditGrantsTableProps {
|
|
|
13
13
|
error: Error | null;
|
|
14
14
|
localization: CreditGrantsLocalization;
|
|
15
15
|
decimalPlaces?: number | null;
|
|
16
|
+
pageSize?: number;
|
|
17
|
+
pageNum?: number;
|
|
18
|
+
totalCount?: number;
|
|
19
|
+
onPageChange?: (event: any, nextPage: number) => void;
|
|
16
20
|
}
|
|
17
21
|
|
|
18
22
|
// temporary type until status exists on the credit grant
|
|
@@ -26,6 +30,10 @@ export function CreditGrantsTable({
|
|
|
26
30
|
error,
|
|
27
31
|
localization,
|
|
28
32
|
decimalPlaces,
|
|
33
|
+
pageSize,
|
|
34
|
+
pageNum,
|
|
35
|
+
totalCount,
|
|
36
|
+
onPageChange,
|
|
29
37
|
}: CreditGrantsTableProps) {
|
|
30
38
|
const grantsWithStatus: CreditGrantWithStatus[] = creditGrants.map((grant) => ({
|
|
31
39
|
...grant,
|
|
@@ -95,7 +103,11 @@ export function CreditGrantsTable({
|
|
|
95
103
|
loadingMessage={localization.loadingState}
|
|
96
104
|
errorMessage={localization.errorState}
|
|
97
105
|
className="stigg-credit-grants-table"
|
|
98
|
-
skeletonRows={3}
|
|
106
|
+
skeletonRows={grantsWithStatus?.length || 3}
|
|
107
|
+
pageNum={pageNum}
|
|
108
|
+
pageSize={pageSize}
|
|
109
|
+
totalCount={totalCount}
|
|
110
|
+
onPageChange={onPageChange}
|
|
99
111
|
/>
|
|
100
112
|
);
|
|
101
113
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreditGrantFragment } from '@stigg/js-client-sdk';
|
|
1
|
+
import { CreditGrantFragment, CursorPaging } from '@stigg/js-client-sdk';
|
|
2
2
|
|
|
3
3
|
export type CreditGrant = Pick<
|
|
4
4
|
CreditGrantFragment,
|
|
@@ -22,6 +22,8 @@ export enum CreditGrantStatus {
|
|
|
22
22
|
|
|
23
23
|
export interface GetCreditGrantsParams {
|
|
24
24
|
currencyId?: string;
|
|
25
|
+
pageSize?: number;
|
|
26
|
+
paging?: CursorPaging;
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
// TODO: make sure all localization keys are used in the component
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StatusChipVariant } from '@/theme/types';
|
|
2
2
|
import { CreditGrantStatus } from './types';
|
|
3
|
-
import { CreditGrantType } from '
|
|
3
|
+
import { CreditGrantType } from '../../..';
|
|
4
4
|
|
|
5
5
|
export const mapCreditGrantStatusToVariant = (status: CreditGrantStatus): StatusChipVariant => {
|
|
6
6
|
switch (status) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useMemo, useCallback } from 'react';
|
|
2
|
+
import { PageInfoFragment } from '@stigg/js-client-sdk';
|
|
2
3
|
import { useStiggContext } from '../../../hooks/useStiggContext';
|
|
3
4
|
import { useFetch } from '../../../hooks/useFetch';
|
|
4
5
|
import { GetCreditGrantsParams } from '../grants/types';
|
|
@@ -8,6 +9,8 @@ export function useCreditGrants(params: GetCreditGrantsParams): {
|
|
|
8
9
|
creditGrants: CreditGrant[];
|
|
9
10
|
isLoading: boolean;
|
|
10
11
|
error: Error | null;
|
|
12
|
+
paging?: PageInfoFragment | null;
|
|
13
|
+
totalCount?: number;
|
|
11
14
|
} {
|
|
12
15
|
const stiggContext = useStiggContext();
|
|
13
16
|
const stigg = stiggContext?.stigg;
|
|
@@ -19,19 +22,21 @@ export function useCreditGrants(params: GetCreditGrantsParams): {
|
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
try {
|
|
22
|
-
return stigg.getCreditGrants({ currencyId: params.currencyId });
|
|
25
|
+
return stigg.getCreditGrants({ currencyId: params.currencyId, paging: params.paging });
|
|
23
26
|
} catch (error) {
|
|
24
27
|
console.error('Error fetching credit grants:', error);
|
|
25
28
|
throw error;
|
|
26
29
|
}
|
|
27
30
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28
|
-
}, [stigg, params.currencyId, updatedAt]);
|
|
31
|
+
}, [stigg, params.currencyId, params.paging, updatedAt]);
|
|
29
32
|
|
|
30
33
|
const { data, error, isLoading } = useFetch({ func });
|
|
31
34
|
|
|
32
35
|
return useMemo(
|
|
33
36
|
() => ({
|
|
34
37
|
creditGrants: data?.data || [],
|
|
38
|
+
paging: data?.pageInfo,
|
|
39
|
+
totalCount: data?.totalCount,
|
|
35
40
|
isLoading,
|
|
36
41
|
error,
|
|
37
42
|
}),
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { CursorPaging, PageInfoFragment } from '@stigg/js-client-sdk';
|
|
3
|
+
|
|
4
|
+
export const usePagination = (
|
|
5
|
+
pageInfo: PageInfoFragment | undefined | null,
|
|
6
|
+
setCursor: (paging: CursorPaging) => void,
|
|
7
|
+
pageSize: number,
|
|
8
|
+
) => {
|
|
9
|
+
const [lastVisitedPage, setLastVisitedPage] = useState(0);
|
|
10
|
+
const [pageNumber, setPageNumber] = useState(0);
|
|
11
|
+
|
|
12
|
+
const pageChangeFunc = (_: any, nextPage: number) => {
|
|
13
|
+
const newCursor: CursorPaging =
|
|
14
|
+
nextPage > pageNumber
|
|
15
|
+
? {
|
|
16
|
+
after: pageInfo?.endCursor as string,
|
|
17
|
+
first: pageSize,
|
|
18
|
+
}
|
|
19
|
+
: {
|
|
20
|
+
before: pageInfo?.startCursor as string,
|
|
21
|
+
last: pageSize,
|
|
22
|
+
};
|
|
23
|
+
setCursor(newCursor);
|
|
24
|
+
setLastVisitedPage(pageNumber);
|
|
25
|
+
setPageNumber(nextPage);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
pageNumber,
|
|
30
|
+
lastVisitedPage,
|
|
31
|
+
pageChangeFunc,
|
|
32
|
+
};
|
|
33
|
+
};
|