@stigg/react-sdk 4.4.0-beta.9 → 4.4.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 (92) hide show
  1. package/dist/components/checkout/Checkout.d.ts +3 -2
  2. package/dist/components/checkout/CheckoutContainer.d.ts +4 -2
  3. package/dist/components/checkout/CheckoutProvider.d.ts +3 -2
  4. package/dist/components/checkout/components/DowngradeToFreeContainer.d.ts +3 -7
  5. package/dist/components/checkout/components/StyledArrow.d.ts +5 -0
  6. package/dist/components/checkout/hooks/useCheckoutModel.d.ts +2 -0
  7. package/dist/components/checkout/hooks/useLoadCheckout.d.ts +3 -1
  8. package/dist/components/checkout/hooks/usePreviewSubscription.d.ts +17 -8
  9. package/dist/components/checkout/progressBar/CheckoutProgressBar.style.d.ts +1 -1
  10. package/dist/components/checkout/promotionCode/AddPromotionCode.d.ts +2 -4
  11. package/dist/components/checkout/promotionCode/AddPromotionCodeButton.d.ts +2 -1
  12. package/dist/components/checkout/promotionCode/PromotionCodeSection.d.ts +6 -2
  13. package/dist/components/checkout/steps/plan/BillingPeriodPicker.d.ts +1 -1
  14. package/dist/components/checkout/steps/plan/CheckoutPlanStep.d.ts +2 -1
  15. package/dist/components/checkout/summary/CheckoutSummary.d.ts +1 -1
  16. package/dist/components/checkout/summary/components/CheckoutCaptions.d.ts +2 -2
  17. package/dist/components/checkout/summary/components/LineItems.d.ts +12 -8
  18. package/dist/components/checkout/textOverrides.d.ts +63 -20
  19. package/dist/components/checkout/theme.d.ts +0 -1
  20. package/dist/components/checkout/types.d.ts +7 -1
  21. package/dist/components/common/TiersSelectContainer.d.ts +1 -2
  22. package/dist/components/common/Typography.d.ts +2 -2
  23. package/dist/components/common/customIcons.d.ts +2 -0
  24. package/dist/components/customerPortal/subscriptionOverview/subscriptionView/SubscriptionView.style.d.ts +1 -1
  25. package/dist/components/paywall/PlanPrice.d.ts +1 -1
  26. package/dist/components/utils/currencyUtils.d.ts +2 -1
  27. package/dist/components/utils/getFeatureName.d.ts +1 -0
  28. package/dist/react-sdk.cjs.development.js +1030 -560
  29. package/dist/react-sdk.cjs.development.js.map +1 -1
  30. package/dist/react-sdk.cjs.production.min.js +1 -1
  31. package/dist/react-sdk.cjs.production.min.js.map +1 -1
  32. package/dist/react-sdk.esm.js +1051 -590
  33. package/dist/react-sdk.esm.js.map +1 -1
  34. package/dist/stories/mocks/checkout/consts.d.ts +11 -0
  35. package/dist/stories/mocks/checkout/mockCheckoutPreview.d.ts +2 -0
  36. package/dist/stories/mocks/checkout/mockCheckoutState.d.ts +2 -0
  37. package/dist/theme/getResolvedTheme.d.ts +1 -0
  38. package/dist/theme/types.d.ts +1 -0
  39. package/package.json +28 -20
  40. package/src/assets/coupon.svg +6 -0
  41. package/src/assets/pay-as-you-go-charge.svg +11 -0
  42. package/src/components/checkout/Checkout.tsx +5 -2
  43. package/src/components/checkout/CheckoutContainer.tsx +20 -13
  44. package/src/components/checkout/CheckoutProvider.tsx +5 -3
  45. package/src/components/checkout/components/DowngradeToFreeContainer.tsx +33 -36
  46. package/src/components/checkout/components/InputField.tsx +3 -0
  47. package/src/components/checkout/components/StyledArrow.tsx +9 -0
  48. package/src/components/checkout/hooks/useCheckoutModel.ts +12 -2
  49. package/src/components/checkout/hooks/useLoadCheckout.ts +10 -2
  50. package/src/components/checkout/hooks/usePreviewSubscription.ts +102 -50
  51. package/src/components/checkout/planHeader/PlanHeader.tsx +18 -25
  52. package/src/components/checkout/progressBar/CheckoutProgressBar.style.ts +10 -12
  53. package/src/components/checkout/progressBar/CheckoutProgressBar.tsx +6 -6
  54. package/src/components/checkout/promotionCode/AddPromotionCode.tsx +32 -9
  55. package/src/components/checkout/promotionCode/AddPromotionCodeButton.tsx +15 -11
  56. package/src/components/checkout/promotionCode/AppliedPromotionCode.tsx +4 -3
  57. package/src/components/checkout/promotionCode/PromotionCodeSection.tsx +21 -7
  58. package/src/components/checkout/steps/addons/CheckoutAddonsStep.style.tsx +0 -1
  59. package/src/components/checkout/steps/addons/CheckoutAddonsStep.tsx +4 -3
  60. package/src/components/checkout/steps/payment/PaymentMethods.style.ts +4 -1
  61. package/src/components/checkout/steps/payment/PaymentStep.tsx +0 -1
  62. package/src/components/checkout/steps/plan/BillingPeriodPicker.style.tsx +3 -2
  63. package/src/components/checkout/steps/plan/BillingPeriodPicker.tsx +5 -2
  64. package/src/components/checkout/steps/plan/CheckoutChargeList.tsx +35 -14
  65. package/src/components/checkout/steps/plan/CheckoutPlanStep.tsx +10 -5
  66. package/src/components/checkout/summary/CheckoutSuccess.tsx +1 -1
  67. package/src/components/checkout/summary/CheckoutSummary.tsx +143 -46
  68. package/src/components/checkout/summary/components/CheckoutCaptions.tsx +38 -15
  69. package/src/components/checkout/summary/components/LineItems.tsx +77 -28
  70. package/src/components/checkout/textOverrides.ts +107 -27
  71. package/src/components/checkout/theme.ts +0 -4
  72. package/src/components/checkout/types.ts +15 -1
  73. package/src/components/common/Icon.tsx +4 -6
  74. package/src/components/common/TiersSelectContainer.tsx +7 -8
  75. package/src/components/common/Typography.tsx +12 -3
  76. package/src/components/common/customIcons.ts +2 -0
  77. package/src/components/common/mapExternalTheme.ts +1 -2
  78. package/src/components/customerPortal/paywall/CustomerPortalPaywall.style.ts +4 -3
  79. package/src/components/paywall/PlanOfferingButton.tsx +6 -8
  80. package/src/components/paywall/PlanPrice.tsx +14 -17
  81. package/src/components/utils/currencyUtils.ts +4 -2
  82. package/src/components/utils/getFeatureName.ts +13 -5
  83. package/src/stories/Checkout.stories.tsx +37 -6
  84. package/src/stories/CustomerPortal.stories.tsx +2 -2
  85. package/src/stories/mocks/checkout/consts.ts +15 -0
  86. package/src/stories/mocks/checkout/mockCheckoutPreview.ts +138 -0
  87. package/src/stories/mocks/checkout/mockCheckoutState.ts +206 -0
  88. package/src/theme/Theme.tsx +10 -1
  89. package/src/theme/getResolvedTheme.ts +1 -0
  90. package/src/theme/types.ts +1 -0
  91. package/dist/components/checkout/planHeader/PlanHeader.style.d.ts +0 -25
  92. package/src/components/checkout/planHeader/PlanHeader.style.tsx +0 -23
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CheckoutProviderProps } from './CheckoutProvider';
3
3
  import { CheckoutContainerProps } from './CheckoutContainer';
4
- export declare type CheckoutProps = CheckoutProviderProps & CheckoutContainerProps;
5
- export declare const Checkout: ({ textOverrides, theme, resourceId, planId, preferredBillingPeriod, billingCountryCode, billableFeatures, billingInformation, ...containerProps }: CheckoutProps) => JSX.Element;
4
+ import { CheckoutMockProps } from './types';
5
+ export declare type CheckoutProps = CheckoutProviderProps & CheckoutContainerProps & CheckoutMockProps;
6
+ export declare const Checkout: ({ textOverrides, theme, resourceId, planId, preferredBillingPeriod, billingCountryCode, billableFeatures, billingInformation, onMockCheckoutState, ...containerProps }: CheckoutProps) => JSX.Element;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { ApplySubscription, BillingAddress, CheckoutStatePlan } from '@stigg/js-client-sdk';
2
+ import { BillingAddress, ApplySubscription, CheckoutStatePlan } from '@stigg/js-client-sdk';
3
+ import { MockCheckoutPreviewCallback } from './types';
3
4
  export declare type CheckoutResult = {
4
5
  success: boolean;
5
6
  errorMessage?: string;
@@ -23,5 +24,6 @@ export declare type CheckoutContainerProps = {
23
24
  }) => Promise<void>;
24
25
  disablePromotionCode?: boolean;
25
26
  disableSuccessAnimation?: boolean;
27
+ onMockCheckoutPreview?: MockCheckoutPreviewCallback;
26
28
  };
27
- export declare function CheckoutContainer({ onCheckout, onCheckoutCompleted, onChangePlan, onBillingAddressChange, disablePromotionCode, disableSuccessAnimation, }: CheckoutContainerProps): JSX.Element;
29
+ export declare function CheckoutContainer({ onCheckout, onCheckoutCompleted, onChangePlan, onBillingAddressChange, disablePromotionCode, disableSuccessAnimation, onMockCheckoutPreview, }: CheckoutContainerProps): JSX.Element;
@@ -5,7 +5,7 @@ import { AddonsStepState, PaymentStepState, PlanStepState, ProgressBarState, Wid
5
5
  import { CheckoutLocalization } from './textOverrides';
6
6
  import { CheckoutTheme } from './theme';
7
7
  import { StiggTheme } from '../../theme/types';
8
- import { BillingInformation } from './types';
8
+ import { BillingInformation, MockCheckoutStateCallback } from './types';
9
9
  export interface CheckoutContextState {
10
10
  checkout?: GetCheckoutStateResults | null;
11
11
  checkoutLocalization: CheckoutLocalization;
@@ -30,7 +30,8 @@ export declare type CheckoutProviderProps = {
30
30
  billingCountryCode?: string;
31
31
  billableFeatures?: BillableFeature[];
32
32
  billingInformation?: BillingInformation;
33
+ onMockCheckoutState?: MockCheckoutStateCallback;
33
34
  };
34
- export declare function CheckoutProvider({ children, textOverrides, theme, preferredBillingPeriod, billableFeatures, resourceId, planId, billingCountryCode, billingInformation, }: {
35
+ export declare function CheckoutProvider({ children, textOverrides, theme, preferredBillingPeriod, billableFeatures, resourceId, planId, billingCountryCode, billingInformation, onMockCheckoutState, }: {
35
36
  children: React.ReactNode;
36
37
  } & CheckoutProviderProps): JSX.Element;
@@ -1,7 +1,6 @@
1
1
  /// <reference types="@emotion/styled/macro" />
2
2
  import React from 'react';
3
3
  import { CheckoutStatePlan, Subscription } from '@stigg/js-client-sdk';
4
- import { Currency, BillingPeriod } from '@stigg/js-client-sdk';
5
4
  import { CheckoutLocalization } from '../textOverrides';
6
5
  import { CheckoutContainerProps } from '../CheckoutContainer';
7
6
  export declare const DowngradeToFreePlanBox: import("@emotion/styled/macro").StyledComponent<import("@mui/system").SystemProps<import("@mui/material").Theme> & {
@@ -14,13 +13,10 @@ export declare const DowngradeToFreePlanBox: import("@emotion/styled/macro").Sty
14
13
  }, "slot" | "title" | "translate" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & {
15
14
  theme?: import("@emotion/react").Theme | undefined;
16
15
  }, {}, {}>;
17
- export declare const DowngradeToFreeContent: ({ planName, totalPrice, billingPeriod, }: {
16
+ export declare const DowngradeToFreeContent: ({ headerText, planName, priceText, }: {
17
+ headerText: string;
18
18
  planName: string;
19
- totalPrice?: {
20
- amount: number;
21
- currency: Currency;
22
- } | undefined;
23
- billingPeriod?: BillingPeriod | undefined;
19
+ priceText: string;
24
20
  }) => JSX.Element;
25
21
  declare type DowngradeToFreePlanProps = {
26
22
  checkoutLocalization: CheckoutLocalization;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="@emotion/styled/macro" />
3
+ export declare const StyledArrowRightIcon: import("@emotion/styled/macro").StyledComponent<import("react").SVGProps<SVGElement> & {
4
+ theme?: import("@emotion/react").Theme | undefined;
5
+ }, {}, {}>;
@@ -1,10 +1,12 @@
1
1
  export declare type WidgetState = {
2
2
  readOnly?: boolean;
3
3
  isLoadingCheckoutData?: boolean;
4
+ isValid?: boolean;
4
5
  };
5
6
  export declare function useCheckoutModel(): {
6
7
  checkoutState: import("@stigg/js-client-sdk").GetCheckoutStateResults | null | undefined;
7
8
  widgetState: WidgetState;
8
9
  checkoutLocalization: import("..").CheckoutLocalization;
9
10
  setWidgetReadOnly: (readOnly: boolean) => void;
11
+ setIsValid: (isValid: boolean) => void;
10
12
  };
@@ -1,10 +1,12 @@
1
1
  import { GetCheckoutStateResults } from '@stigg/js-client-sdk';
2
+ import { MockCheckoutStateCallback } from '../types';
2
3
  declare type UseLoadCheckoutProps = {
3
4
  planId: string;
4
5
  resourceId?: string;
5
6
  billingCountryCode?: string;
7
+ onMockCheckoutState?: MockCheckoutStateCallback;
6
8
  };
7
- export declare function useLoadCheckout({ planId, resourceId, billingCountryCode }: UseLoadCheckoutProps): {
9
+ export declare function useLoadCheckout({ planId, resourceId, billingCountryCode, onMockCheckoutState }: UseLoadCheckoutProps): {
8
10
  checkout: GetCheckoutStateResults | null | undefined;
9
11
  isLoading: boolean;
10
12
  };
@@ -1,16 +1,25 @@
1
- import { SubscriptionPreview } from '@stigg/js-client-sdk';
2
- export declare const usePreviewSubscriptionAction: () => {
1
+ import { StiggClient, SubscriptionPreviewV2 } from '@stigg/js-client-sdk';
2
+ import { SubscriptionState } from './useSubscriptionModel';
3
+ import { MockCheckoutPreviewCallback } from '../types';
4
+ declare type UsePreviewSubscriptionProps = {
5
+ onMockCheckoutPreview?: MockCheckoutPreviewCallback;
6
+ };
7
+ export declare type PreviewSubscriptionProps = {
8
+ customerId?: string;
9
+ planId?: string;
10
+ resourceId?: string;
11
+ stigg: StiggClient;
12
+ } & SubscriptionState & UsePreviewSubscriptionProps;
13
+ export declare const usePreviewSubscriptionAction: ({ onMockCheckoutPreview }?: UsePreviewSubscriptionProps) => {
3
14
  previewSubscriptionAction: ({ promotionCode }?: {
4
15
  promotionCode?: string | null | undefined;
5
16
  }) => Promise<{
6
- subscriptionPreview: null;
7
- errorMessage?: undefined;
8
- } | {
9
- subscriptionPreview: SubscriptionPreview | null;
17
+ subscriptionPreview: SubscriptionPreviewV2 | null;
10
18
  errorMessage: string | null;
11
19
  }>;
12
20
  };
13
- export declare const usePreviewSubscription: () => {
14
- subscriptionPreview: SubscriptionPreview | null;
21
+ export declare const usePreviewSubscription: ({ onMockCheckoutPreview }?: UsePreviewSubscriptionProps) => {
22
+ subscriptionPreview: SubscriptionPreviewV2 | null;
15
23
  isFetchingSubscriptionPreview: boolean;
16
24
  };
25
+ export {};
@@ -44,5 +44,5 @@ export declare const StyledIcon: import("@emotion/styled/macro").StyledComponent
44
44
  theme?: import("@emotion/react").Theme | undefined;
45
45
  } & {
46
46
  $disabled?: boolean | undefined;
47
- $shouldStroke?: boolean | undefined;
47
+ $shouldFill?: boolean | undefined;
48
48
  }, {}, {}>;
@@ -1,5 +1,3 @@
1
1
  /// <reference types="react" />
2
- import { CheckoutLocalization } from '../textOverrides';
3
- export declare const AddPromotionCode: ({ checkoutLocalization }: {
4
- checkoutLocalization: CheckoutLocalization;
5
- }) => JSX.Element;
2
+ import { PromotionCodeSectionProps } from './PromotionCodeSection';
3
+ export declare const AddPromotionCode: ({ disabled, checkoutLocalization, onMockCheckoutPreview, }: PromotionCodeSectionProps) => JSX.Element;
@@ -3,5 +3,6 @@ import { CheckoutLocalization } from '../textOverrides';
3
3
  export declare type AddPromotionCodeButtonProps = {
4
4
  onAddClick: () => void;
5
5
  checkoutLocalization: CheckoutLocalization;
6
+ disabled: boolean;
6
7
  };
7
- export declare const AddPromotionCodeButton: ({ onAddClick, checkoutLocalization }: AddPromotionCodeButtonProps) => JSX.Element;
8
+ export declare const AddPromotionCodeButton: ({ onAddClick, checkoutLocalization, disabled }: AddPromotionCodeButtonProps) => JSX.Element;
@@ -1,5 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { CheckoutLocalization } from '../textOverrides';
3
- export declare const PromotionCodeSection: ({ checkoutLocalization }: {
3
+ import { MockCheckoutPreviewCallback } from '../types';
4
+ export declare type PromotionCodeSectionProps = {
5
+ disabled: boolean;
4
6
  checkoutLocalization: CheckoutLocalization;
5
- }) => JSX.Element;
7
+ onMockCheckoutPreview?: MockCheckoutPreviewCallback;
8
+ };
9
+ export declare const PromotionCodeSection: ({ disabled, checkoutLocalization, onMockCheckoutPreview, }: PromotionCodeSectionProps) => JSX.Element;
@@ -5,5 +5,5 @@ declare type BillingPeriodPickerProps = {
5
5
  plan?: Plan;
6
6
  checkoutLocalization: CheckoutLocalization;
7
7
  };
8
- export declare const BillingPeriodPicker: ({ plan, checkoutLocalization }: BillingPeriodPickerProps) => JSX.Element;
8
+ export declare function BillingPeriodPicker({ plan, checkoutLocalization }: BillingPeriodPickerProps): JSX.Element | null;
9
9
  export {};
@@ -1,2 +1,3 @@
1
1
  /// <reference types="react" />
2
- export declare const CheckoutPlanStep: () => JSX.Element;
2
+ import { CheckoutContainerProps } from '../../CheckoutContainer';
3
+ export declare const CheckoutPlanStep: ({ onChangePlan }: Pick<CheckoutContainerProps, 'onChangePlan'>) => JSX.Element;
@@ -13,6 +13,6 @@ export declare const SummaryCard: import("@emotion/styled/macro").StyledComponen
13
13
  }, "slot" | "title" | "ref" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & {
14
14
  theme?: import("@emotion/react").Theme | undefined;
15
15
  }, {}, {}>;
16
- export declare const CheckoutSummary: ({ onCheckout, onCheckoutCompleted, disablePromotionCode, disableSuccessAnimation, isFreeDowngrade, }: CheckoutContainerProps & {
16
+ export declare const CheckoutSummary: ({ onCheckout, onCheckoutCompleted, disablePromotionCode, disableSuccessAnimation, isFreeDowngrade, onMockCheckoutPreview, }: CheckoutContainerProps & {
17
17
  isFreeDowngrade: boolean;
18
18
  }) => JSX.Element;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { BillingPeriod, Plan, Subscription, SubscriptionPreview } from '@stigg/js-client-sdk';
2
+ import { BillingPeriod, Plan, Subscription, SubscriptionPreviewV2 } from '@stigg/js-client-sdk';
3
3
  import { CheckoutLocalization } from '../../textOverrides';
4
4
  export declare type CheckoutCaptionProps = {
5
- subscriptionPreview?: SubscriptionPreview | null;
5
+ subscriptionPreview?: SubscriptionPreviewV2 | null;
6
6
  isFetchingSubscriptionPreview: boolean;
7
7
  activeSubscription?: Subscription | null;
8
8
  plan?: Plan;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="@emotion/styled/macro" />
2
2
  import React from 'react';
3
- import { Price, SubscriptionPreview } from '@stigg/js-client-sdk';
3
+ import { Price, SubscriptionPreviewV2 } from '@stigg/js-client-sdk';
4
4
  import { CheckoutLocalization } from '../../textOverrides';
5
5
  export declare const LineItemContainer: import("@emotion/styled/macro").StyledComponent<{
6
6
  theme?: import("@emotion/react").Theme | undefined;
@@ -15,22 +15,26 @@ export declare const getPriceString: ({ amount, price, quantity }: {
15
15
  price: Price;
16
16
  quantity: number;
17
17
  }) => string;
18
- export declare const BilledPriceLineItem: ({ label, quantity, price }: {
18
+ export declare const BilledPriceLineItem: ({ checkoutLocalization, label, quantity, price, }: {
19
+ checkoutLocalization: CheckoutLocalization;
19
20
  label: string;
20
21
  quantity: number;
21
22
  price: Price;
22
23
  }) => JSX.Element;
23
- export declare const DiscountLineItem: ({ subscriptionPreview, isFetchingSubscriptionPreview, }: {
24
- subscriptionPreview: SubscriptionPreview | null;
24
+ export declare const FreeChargeLineItem: ({ label }: {
25
+ label: string;
26
+ }) => JSX.Element;
27
+ export declare const DiscountLineItem: ({ subscriptionPreview, isFetchingSubscriptionPreview, checkoutLocalization, }: {
28
+ subscriptionPreview: SubscriptionPreviewV2;
25
29
  isFetchingSubscriptionPreview: boolean;
30
+ checkoutLocalization: CheckoutLocalization;
26
31
  }) => JSX.Element | null;
27
32
  export declare const AppliedCreditsLineItem: ({ subscriptionPreview, isFetchingSubscriptionPreview, checkoutLocalization, }: {
28
- subscriptionPreview: SubscriptionPreview | null;
33
+ subscriptionPreview: SubscriptionPreviewV2 | null;
29
34
  isFetchingSubscriptionPreview: boolean;
30
35
  checkoutLocalization: CheckoutLocalization;
31
36
  }) => JSX.Element | null;
32
- export declare const TaxLineItem: ({ subscriptionPreview, isFetchingSubscriptionPreview, checkoutLocalization, }: {
33
- subscriptionPreview: SubscriptionPreview | null;
37
+ export declare const TaxLineItem: ({ tax, taxDetails, isFetchingSubscriptionPreview, checkoutLocalization, }: {
34
38
  isFetchingSubscriptionPreview: boolean;
35
39
  checkoutLocalization: CheckoutLocalization;
36
- }) => JSX.Element | null;
40
+ } & Pick<SubscriptionPreviewV2, "tax" | "taxDetails">) => JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { BillingPeriod, Plan, SubscriptionPreviewTaxDetails } from '@stigg/js-client-sdk';
1
+ import { BillingPeriod, Plan, SubscriptionPreviewDiscount, SubscriptionPreviewTaxDetails } from '@stigg/js-client-sdk';
2
2
  import { DeepPartial } from '../../types';
3
3
  export declare type CheckoutLocalization = {
4
4
  changePlan: string;
@@ -7,30 +7,73 @@ export declare type CheckoutLocalization = {
7
7
  newPaymentMethodText: string;
8
8
  newPaymentMethodCardTitle: string;
9
9
  newPaymentMethodBillingAddressTitle: string;
10
- baseChargeText: string | ((params: {
11
- billingPeriod: BillingPeriod;
12
- }) => string);
13
- totalText: string;
14
- subTotalText: string;
15
- addCouponCodeText: string;
16
- couponCodeTitle: string;
17
- addonsSectionTitle: string;
18
- changesWillApplyAtEndOfBillingPeriod: string | ((params: {
19
- billingPeriodEnd: Date;
20
- }) => string);
10
+ summary: {
11
+ title: string;
12
+ planName: (params: {
13
+ plan: Plan;
14
+ }) => string;
15
+ addCouponCodeText: string;
16
+ couponCodeTitle: string;
17
+ addonsSectionTitle: string;
18
+ discountsSectionTitle: string;
19
+ onlyPayAsYouGoText: string;
20
+ startsAtText: string;
21
+ proratedTotalDueText: string;
22
+ baseChargeText: string | ((params: {
23
+ billingPeriod: BillingPeriod;
24
+ }) => string);
25
+ totalText: string;
26
+ totalDueText: string;
27
+ totalBillingPeriodText: (params: {
28
+ billingPeriod: BillingPeriod;
29
+ }) => string;
30
+ discountText: (params: {
31
+ discountDetails: SubscriptionPreviewDiscount;
32
+ currency: string;
33
+ }) => string;
34
+ appliedCreditsTitle: string;
35
+ taxTitle: (params: {
36
+ taxDetails: SubscriptionPreviewTaxDetails;
37
+ }) => string;
38
+ checkoutSuccessText: string;
39
+ payAsYouGoTooltipText: string;
40
+ changesWillApplyAtEndOfBillingPeriod: string | ((params: {
41
+ billingPeriodEnd: Date;
42
+ }) => string);
43
+ creditsForUnusedTimeText: (params: {
44
+ credits: string;
45
+ }) => string;
46
+ };
21
47
  checkoutButton: {
22
48
  nextText: string;
49
+ noChangesText: string;
23
50
  updateText: string;
24
51
  downgradeToFreeText: string;
25
52
  upgradeText: string;
26
53
  };
27
- appliedCreditsTitle: string;
28
- taxTitle: (params: {
29
- taxDetails: SubscriptionPreviewTaxDetails;
30
- }) => string;
31
- downgradeToFreeAlertText: (params: {
32
- plan: Plan;
33
- }) => string;
34
- checkoutSuccessText: string;
54
+ downgradeToFree: {
55
+ alertText: (params: {
56
+ plan: Plan;
57
+ }) => string;
58
+ freePlanHeader: (params: {
59
+ plan: Plan;
60
+ }) => string;
61
+ freePlanName: (params: {
62
+ plan: Plan;
63
+ }) => string;
64
+ freePlanPriceText: (params: {
65
+ plan: Plan;
66
+ }) => string;
67
+ paidPlanHeader: (params: {
68
+ plan: Plan;
69
+ }) => string;
70
+ paidPlanName: (params: {
71
+ plan: Plan;
72
+ }) => string;
73
+ paidPlanPriceText: (params: {
74
+ plan: Plan;
75
+ billingPeriod?: BillingPeriod;
76
+ }) => string;
77
+ };
35
78
  };
36
79
  export declare function getResolvedCheckoutLocalize(localizeOverride?: DeepPartial<CheckoutLocalization>): CheckoutLocalization;
@@ -6,7 +6,6 @@ export declare type CheckoutTheme = {
6
6
  textColor: string;
7
7
  backgroundColor: string;
8
8
  borderColor: string;
9
- selectionColor: string;
10
9
  summaryBackgroundColor: string;
11
10
  };
12
11
  export declare function getResolvedCheckoutTheme(globalTheme: StiggTheme, themeOverride?: DeepPartial<CheckoutTheme>, _remoteConfiguration?: CheckoutConfiguration | null): CheckoutTheme;
@@ -1,7 +1,13 @@
1
- import { SubscriptionBillingInfo } from '@stigg/js-client-sdk';
1
+ import { GetCheckoutState, GetCheckoutStateResults, PreviewSubscription, SubscriptionBillingInfo, SubscriptionPreviewV2 } from '@stigg/js-client-sdk';
2
2
  export declare type BillingInformation = {
3
3
  taxDetails?: TaxDetailsInput;
4
4
  };
5
5
  export declare type TaxDetailsInput = {
6
6
  taxPercentage?: SubscriptionBillingInfo['taxPercentage'];
7
7
  };
8
+ export declare type MockCheckoutPreviewCallback = (params: PreviewSubscription) => SubscriptionPreviewV2;
9
+ export declare type MockCheckoutStateCallback = (params: GetCheckoutState) => GetCheckoutStateResults;
10
+ export declare type CheckoutMockProps = {
11
+ onMockCheckoutPreview?: MockCheckoutPreviewCallback;
12
+ onMockCheckoutState?: MockCheckoutStateCallback;
13
+ };
@@ -1,9 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { PriceTierFragment } from '@stigg/js-client-sdk';
3
- export declare function TiersSelectContainer({ componentId, tiers, tierUnits, selectedTier, handleTierChange, }: {
3
+ export declare function TiersSelectContainer({ componentId, tiers, selectedTier, handleTierChange, }: {
4
4
  componentId: string;
5
5
  tiers?: PriceTierFragment[] | null;
6
- tierUnits?: string;
7
6
  selectedTier?: PriceTierFragment;
8
7
  handleTierChange: (tier: PriceTierFragment) => void;
9
8
  }): JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import React, { CSSProperties } from 'react';
2
2
  import { TypeProps } from 'styled-typography';
3
- declare type Colors = 'primary' | 'primary.main' | 'secondary' | 'disabled' | 'white' | 'warning' | 'error';
3
+ declare type Colors = 'primary' | 'primary.main' | 'primary.main.light' | 'secondary' | 'disabled' | 'white' | 'warning' | 'error';
4
4
  export declare type TypographyProps = {
5
5
  children: React.ReactNode;
6
6
  variant?: 'h1' | 'h3' | 'h6' | 'body1' | 'caption';
@@ -15,7 +15,7 @@ export declare const Typography: React.ForwardRefExoticComponent<{
15
15
  children: React.ReactNode;
16
16
  variant?: "h1" | "h3" | "h6" | "body1" | "caption" | undefined;
17
17
  style?: CSSProperties | undefined;
18
- color?: "primary" | "primary.main" | "secondary" | "disabled" | "white" | "warning" | "error" | undefined;
18
+ color?: "primary" | "primary.main" | "primary.main.light" | "secondary" | "disabled" | "white" | "warning" | "error" | undefined;
19
19
  overrideColor?: string | undefined;
20
20
  className?: string | undefined;
21
21
  bold?: boolean | undefined;
@@ -17,3 +17,5 @@ export { default as OutlinedCheckedCircleDisabled } from '../../assets/outlined-
17
17
  export { default as ArrowForward } from '../../assets/arrow-forward.svg';
18
18
  export { default as Close } from '../../assets/close.svg';
19
19
  export { default as Check } from '../../assets/check.svg';
20
+ export { default as PayAsYouGoCharge } from '../../assets/pay-as-you-go-charge.svg';
21
+ export { default as Coupon } from '../../assets/coupon.svg';
@@ -2,5 +2,5 @@
2
2
  /// <reference types="@emotion/styled/macro" />
3
3
  export declare const SubscriptionViewLayout: import("@emotion/styled/macro").StyledComponent<{
4
4
  theme?: import("@emotion/react").Theme | undefined;
5
- as?: "symbol" | "object" | "big" | "link" | "small" | "sub" | "sup" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "blockquote" | "body" | "br" | "button" | "canvas" | "caption" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "embed" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "keygen" | "label" | "legend" | "li" | "main" | "map" | "mark" | "menu" | "menuitem" | "meta" | "meter" | "nav" | "noindex" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "slot" | "script" | "section" | "select" | "source" | "span" | "strong" | "style" | "summary" | "table" | "template" | "tbody" | "td" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr" | "webview" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "clipPath" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "filter" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "marker" | "mask" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "stop" | "switch" | "text" | "textPath" | "tspan" | "use" | "view" | import("react").ComponentClass<any, any> | import("react").FunctionComponent<any> | undefined;
5
+ as?: "symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | "caption" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "embed" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "keygen" | "label" | "legend" | "li" | "link" | "main" | "map" | "mark" | "menu" | "menuitem" | "meta" | "meter" | "nav" | "noindex" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "slot" | "script" | "section" | "select" | "small" | "source" | "span" | "strong" | "style" | "sub" | "summary" | "sup" | "table" | "template" | "tbody" | "td" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr" | "webview" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "clipPath" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "filter" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "marker" | "mask" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "stop" | "switch" | "text" | "textPath" | "tspan" | "use" | "view" | import("react").ComponentClass<any, any> | import("react").FunctionComponent<any> | undefined;
6
6
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
+ import { BillingPeriod, PriceTierFragment } from '@stigg/js-client-sdk';
2
3
  import { PaywallPlan } from './types';
3
4
  import { PaywallLocalization } from './paywallTextOverrides';
4
- import { BillingPeriod, PriceTierFragment } from '@stigg/js-client-sdk';
5
5
  export declare const PlanPrice: ({ showStartingAt, withUnitPriceRow, withStartingAtRow, withTiersRow, selectedTierByFeature, setSelectedTierByFeature, plan, billingPeriod, paywallLocale, locale, hasMonthlyPrice, hasAnnuallyPrice, }: {
6
6
  showStartingAt: boolean;
7
7
  withUnitPriceRow: boolean;
@@ -1,7 +1,8 @@
1
1
  import { Currency } from '@stigg/js-client-sdk';
2
- export declare const currencyPriceFormatter: ({ amount, currency, locale, maximumFractionDigits, }: {
2
+ export declare const currencyPriceFormatter: ({ amount, currency, locale, maximumFractionDigits, minimumFractionDigits, }: {
3
3
  amount: number;
4
4
  currency?: string | undefined;
5
5
  locale?: string | undefined;
6
6
  maximumFractionDigits?: number | undefined;
7
+ minimumFractionDigits?: number | undefined;
7
8
  }) => string;
@@ -1,2 +1,3 @@
1
1
  import { FeatureFragment } from '@stigg/api-client-js/src/generated/sdk';
2
2
  export declare function getFeatureDisplayName(feature: FeatureFragment): string;
3
+ export declare function getFeatureDisplayNameText(featureDisplayName: string, featureUnits: string | undefined | null, featureUnitsPlural: string | undefined | null): string;