@bunnyapp/components 1.6.0-beta.2 → 1.6.0-beta.21

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 (371) hide show
  1. package/README.md +113 -0
  2. package/dist/cjs/index.js +7038 -5690
  3. package/dist/cjs/types/src/components/BunnyProvider.d.ts +0 -2
  4. package/dist/cjs/types/src/components/Checkout/Checkout.d.ts +18 -3
  5. package/dist/cjs/types/src/components/Checkout/QuoteCheckout.d.ts +78 -4
  6. package/dist/cjs/types/src/components/Checkout/checkoutUtils.d.ts +4 -2
  7. package/dist/cjs/types/src/components/FeatureUsageGraph.d.ts +4 -3
  8. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/CreditCard.d.ts +17 -13
  9. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/MiniCreditCard.d.ts +27 -0
  10. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/components/CardImage.d.ts +14 -0
  11. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/index.d.ts +1 -1
  12. package/dist/cjs/types/src/components/PaymentForm/DemoPay/DemoPayForm.d.ts +1 -6
  13. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/useApproveHold.d.ts +1 -1
  14. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/usePay.d.ts +4 -4
  15. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/useSave.d.ts +7 -16
  16. package/dist/cjs/types/src/components/PaymentForm/PaymentForm.d.ts +5 -6
  17. package/dist/cjs/types/src/components/PaymentForm/Stripe/StripeForm.d.ts +1 -6
  18. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/useApproveHold.d.ts +1 -1
  19. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/usePay.d.ts +4 -4
  20. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/useSave.d.ts +4 -5
  21. package/dist/cjs/types/src/components/PaymentForm/Stripe/stripeUtils.d.ts +1 -1
  22. package/dist/cjs/types/src/components/PaymentForm/components/CheckoutFooter.d.ts +2 -0
  23. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodDetails.d.ts +2 -0
  24. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodFooter.d.ts +4 -0
  25. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodSelector.d.ts +2 -0
  26. package/dist/cjs/types/src/components/PaymentForm/context/CustomCheckoutFunctionContext.d.ts +5 -0
  27. package/dist/cjs/types/src/components/PaymentForm/context/OverrideTokenContext.d.ts +4 -0
  28. package/dist/cjs/types/src/components/PaymentForm/context/PaymentProvider.d.ts +32 -0
  29. package/dist/cjs/types/src/components/PaymentForm/context/SelectedPaymentPluginContext.d.ts +6 -0
  30. package/dist/cjs/types/src/components/PaymentForm/context/SelectedPluginProvider.d.ts +16 -0
  31. package/dist/cjs/types/src/components/PaymentForm/context/ShowPaymentDetailsContext.d.ts +5 -0
  32. package/dist/cjs/types/src/components/PaymentForm/fragments/PaymentForm_PaymentMethodsFragment.d.ts +10 -0
  33. package/dist/cjs/types/src/components/PaymentForm/hooks/useAutoSetDefaultPaymentMethod.d.ts +2 -5
  34. package/dist/cjs/types/src/components/PaymentForm/hooks/useHandlePayment.d.ts +25 -0
  35. package/dist/cjs/types/src/components/PaymentForm/hooks/usePayableCurrency.d.ts +6 -0
  36. package/dist/cjs/types/src/components/PaymentForm/hooks/usePaymentButtonText.d.ts +1 -0
  37. package/dist/cjs/types/src/components/PaymentForm/hooks/useRemovePaymentMethod.d.ts +2 -0
  38. package/dist/cjs/types/src/components/PaymentForm/hooks/useSetDefaultPaymentMethod.d.ts +5 -0
  39. package/dist/cjs/types/src/components/PaymentForm/types/PaymentType.d.ts +5 -0
  40. package/dist/cjs/types/src/components/Quote/Quote.d.ts +5 -1
  41. package/dist/cjs/types/src/components/QuoteProvider/QuoteProvider.d.ts +4 -0
  42. package/dist/{esm/types/src/components/QuoteProvider.d.ts → cjs/types/src/components/QuoteProvider/context/QuoteContext.d.ts} +4 -6
  43. package/dist/cjs/types/src/components/QuoteProvider/fragments/quoteFieldsFragment.d.ts +65 -0
  44. package/dist/cjs/types/src/components/QuoteProvider/fragments/quoteFragment.d.ts +46 -0
  45. package/dist/cjs/types/src/components/QuoteProvider/hooks/useFeatureQuantities.d.ts +12 -0
  46. package/dist/cjs/types/src/components/QuoteProvider/hooks/useQuoteCreate.d.ts +19 -0
  47. package/dist/{esm/types/src/hooks/quotes → cjs/types/src/components/QuoteProvider/hooks}/useQuoteQuantities.d.ts +4 -7
  48. package/dist/cjs/types/src/components/QuoteProvider/mutations/quoteChangeUpdate.d.ts +16 -0
  49. package/dist/cjs/types/src/components/QuoteProvider/queries/getQuote.d.ts +16 -0
  50. package/dist/cjs/types/src/components/QuoteProvider/utils/getQuantityFromQuoteChange.d.ts +11 -0
  51. package/dist/cjs/types/src/components/QuoteProvider/utils/quoteChangeCanBeEdited.d.ts +4 -0
  52. package/dist/cjs/types/src/components/Signup/PaymentForms.d.ts +3 -4
  53. package/dist/cjs/types/src/components/Subscriptions/Subscriptions.d.ts +1 -5
  54. package/dist/cjs/types/src/components/Subscriptions/SubscriptionsListContainer.d.ts +0 -4
  55. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/PlanPicker.d.ts +1 -2
  56. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/PriceListGrid.d.ts +3 -2
  57. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/checkoutBar/CheckoutBarInput.d.ts +2 -2
  58. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/checkoutBar/CheckoutPrice.d.ts +1 -1
  59. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/checkoutBar/PlanPickerCheckoutBar.d.ts +19 -0
  60. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/BillingPeriodSelector.d.ts +5 -4
  61. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/PriceListGridDesktop.d.ts +3 -2
  62. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/featureAddons/FeatureAddonRow.d.ts +33 -0
  63. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/featureAddons/FeatureAddons.d.ts +12 -3
  64. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/featureAddons/FeatureAddonsList.d.ts +26 -4
  65. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/planManagerUtils.d.ts +5 -2
  66. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/PriceListCardDesktop.d.ts +52 -0
  67. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/AddonPlans.d.ts +10 -0
  68. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/components/AddonPlanModal.d.ts +19 -0
  69. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/components/AddonPlanRow.d.ts +24 -0
  70. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/fragments/AddonPlans_PlanFragment.d.ts +18 -0
  71. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/queries/getAddonPlans.d.ts +13 -0
  72. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/util.d.ts +1 -1
  73. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerMobile/PriceListCardMobile.d.ts +19 -2
  74. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceDescription/PriceListCardPriceDescription.d.ts +23 -0
  75. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceDescription/utils/hasMultipleRecurringCharges.d.ts +12 -0
  76. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCard.d.ts +21 -4
  77. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardButton.d.ts +16 -3
  78. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardFeature.d.ts +1 -1
  79. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardPrice.d.ts +12 -3
  80. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardTitle.d.ts +2 -3
  81. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/priceListCardUtils.d.ts +1 -1
  82. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PreviewModeAdvisary.d.ts +1 -1
  83. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/QuantityChangeGridRow.d.ts +1 -6
  84. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/QuantityDrawer.d.ts +12 -0
  85. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/QuoteChangeSummarySection.d.ts +11 -6
  86. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/context/quoteIdContext.d.ts +5 -0
  87. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/fragments/QuantityDrawer_QuoteFragment.d.ts +14 -0
  88. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/hooks/useQuoteQueryData.d.ts +3 -0
  89. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/hooks/useSetQuoteQueryData.d.ts +5 -0
  90. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/mutations/quoteChargeCreate.d.ts +23 -0
  91. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/mutations/quoteChargeUpdate.d.ts +12 -0
  92. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/mutations/quoteSubscriptionUpdate.d.ts +22 -0
  93. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/quantityChangeDrawerDesktop/QuantityChangeDrawerDesktop.d.ts +1 -8
  94. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/{QuantityInput.d.ts → quantityInput/QuantityInput.d.ts} +3 -18
  95. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/quantityInput/fragments/QuantityInput_QuoteFragment.d.ts +27 -0
  96. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/utils/formatDateForApi.d.ts +2 -0
  97. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/{utils.d.ts → utils/utils.d.ts} +3 -11
  98. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/SubscriptionChargeTotal.d.ts +3 -3
  99. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/SubscriptionsNavigation.d.ts +1 -1
  100. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/components/SubscriptionCardActions.d.ts +21 -0
  101. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/queries/getPriceListChangeOptions.d.ts +9 -0
  102. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/subscriptionUtils.d.ts +0 -2
  103. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/utils/filterSubscriptionCharges.d.ts +2 -0
  104. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/utils/sortSubscriptionCharges.d.ts +2 -0
  105. package/dist/cjs/types/src/components/Subscriptions/tieredDisplayDropdown/TieredDisplayDropdown.d.ts +9 -0
  106. package/dist/cjs/types/src/components/Subscriptions/tieredDisplayDropdown/util.d.ts +9 -0
  107. package/dist/cjs/types/src/components/TaxationForm.d.ts +3 -3
  108. package/dist/cjs/types/src/components/Transactions/Transactions.d.ts +1 -1
  109. package/dist/cjs/types/src/components/priceListPricing/PricingTooltip.d.ts +43 -0
  110. package/dist/cjs/types/src/components/priceListPricing/components/ChargePriceTiers.d.ts +23 -0
  111. package/dist/cjs/types/src/components/priceListPricing/components/PriceTierPrice.d.ts +7 -0
  112. package/dist/cjs/types/src/components/priceListPricing/components/PriceTierRow.d.ts +13 -0
  113. package/dist/cjs/types/src/components/priceListPricing/misc/consts.d.ts +1 -0
  114. package/dist/cjs/types/src/components/priceListPricing/types/PriceTier.d.ts +4 -0
  115. package/dist/cjs/types/src/components/priceListPricing/utils/getPricingModelDescription.d.ts +2 -0
  116. package/dist/cjs/types/src/components/priceListPricing/utils/getPricingModelTitle.d.ts +2 -0
  117. package/dist/cjs/types/src/components/priceListPricing/utils/hasPriceTiers.d.ts +13 -0
  118. package/dist/cjs/types/src/components/priceListPricing/utils/priceListChargeUtil.ts/chargeHasPriceTiers.d.ts +12 -0
  119. package/dist/cjs/types/src/components/priceListPricing/utils/priceListChargeUtil.ts/getChargeBasePrice.d.ts +8 -0
  120. package/dist/cjs/types/src/components/priceListPricing/utils/priceListChargeUtil.ts/getFirstTierPrice.d.ts +7 -0
  121. package/dist/cjs/types/src/contexts/BrandContext.d.ts +11 -2
  122. package/dist/cjs/types/src/enums/SubscriptionState.d.ts +9 -0
  123. package/dist/cjs/types/src/graphql/QuoteRequests.d.ts +0 -5
  124. package/dist/cjs/types/src/graphql/mutations/quoteChargeDelete.d.ts +11 -2
  125. package/dist/cjs/types/src/graphql/queries/getBranding.d.ts +7 -2
  126. package/dist/cjs/types/src/graphql/queries/getCurrentUserData.d.ts +11 -7
  127. package/dist/cjs/types/src/graphql/queries/getFormattedQuote.d.ts +139 -1
  128. package/dist/cjs/types/src/graphql/queries/getPriceListChangeOptions.d.ts +4 -4
  129. package/dist/cjs/types/src/graphql/queries/getQuote.d.ts +29 -2
  130. package/dist/cjs/types/src/graphql-codegen/exportedScalarTypes.d.ts +6 -0
  131. package/dist/cjs/types/src/hooks/quotes/useSendAcceptQuote.d.ts +2 -1
  132. package/dist/cjs/types/src/hooks/useAllErrorFormats.d.ts +1 -0
  133. package/dist/cjs/types/src/hooks/useCreateQueryClient.d.ts +2 -0
  134. package/dist/cjs/types/src/hooks/useCurrentUserData.d.ts +11 -7
  135. package/dist/cjs/types/src/hooks/useIsMobile.d.ts +9 -0
  136. package/dist/cjs/types/src/hooks/usePaymentMethod.d.ts +47 -6
  137. package/dist/cjs/types/src/hooks/usePaymentPlugins.d.ts +13 -27
  138. package/dist/cjs/types/src/hooks/useToggleAddonQuoteChange.d.ts +1 -1
  139. package/dist/cjs/types/src/index.d.ts +2 -2
  140. package/dist/cjs/types/src/types/SubscriptionCharge.d.ts +39 -0
  141. package/dist/cjs/types/src/utils/QueryKeyFactory.d.ts +96 -0
  142. package/dist/cjs/types/src/utils/addonPlanUtils/addonPlanUtils.d.ts +5 -0
  143. package/dist/cjs/types/src/utils/addonPlanUtils/getAddonsForBillingPeriod.d.ts +8 -0
  144. package/dist/cjs/types/src/utils/addonPlanUtils/hasUnpurchasedAddonPricelists.d.ts +15 -0
  145. package/dist/cjs/types/src/utils/apiUtils/invokePlugin.d.ts +10 -0
  146. package/dist/cjs/types/src/utils/chargeUtils.d.ts +5 -2
  147. package/dist/cjs/types/src/utils/createStateContext.d.ts +11 -0
  148. package/dist/cjs/types/src/utils/createValueContext.d.ts +14 -0
  149. package/dist/cjs/types/src/utils/featureAddonUtils/featureAddonUtils.d.ts +20 -0
  150. package/dist/cjs/types/src/utils/featureAddonUtils/isAddonPurchased.d.ts +24 -0
  151. package/dist/cjs/types/src/utils/formatCurrency.d.ts +1 -0
  152. package/dist/cjs/types/src/utils/priceListUtils/doesPriceListHaveFlatFeeCharges.d.ts +12 -0
  153. package/dist/cjs/types/src/utils/priceListUtils/getPrice.d.ts +11 -0
  154. package/dist/cjs/types/src/utils/priceListUtils/priceDescription.d.ts +6 -0
  155. package/dist/cjs/types/src/utils/priceListUtils/priceListPriceText.d.ts +19 -0
  156. package/dist/cjs/types/src/utils/pricePickerUtils.d.ts +4 -4
  157. package/dist/esm/index.js +7140 -5792
  158. package/dist/esm/types/src/components/BunnyProvider.d.ts +0 -2
  159. package/dist/esm/types/src/components/Checkout/Checkout.d.ts +18 -3
  160. package/dist/esm/types/src/components/Checkout/QuoteCheckout.d.ts +78 -4
  161. package/dist/esm/types/src/components/Checkout/checkoutUtils.d.ts +4 -2
  162. package/dist/esm/types/src/components/FeatureUsageGraph.d.ts +4 -3
  163. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/CreditCard.d.ts +17 -13
  164. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/MiniCreditCard.d.ts +27 -0
  165. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/components/CardImage.d.ts +14 -0
  166. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/index.d.ts +1 -1
  167. package/dist/esm/types/src/components/PaymentForm/DemoPay/DemoPayForm.d.ts +1 -6
  168. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/useApproveHold.d.ts +1 -1
  169. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/usePay.d.ts +4 -4
  170. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/useSave.d.ts +7 -16
  171. package/dist/esm/types/src/components/PaymentForm/PaymentForm.d.ts +5 -6
  172. package/dist/esm/types/src/components/PaymentForm/Stripe/StripeForm.d.ts +1 -6
  173. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/useApproveHold.d.ts +1 -1
  174. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/usePay.d.ts +4 -4
  175. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/useSave.d.ts +4 -5
  176. package/dist/esm/types/src/components/PaymentForm/Stripe/stripeUtils.d.ts +1 -1
  177. package/dist/esm/types/src/components/PaymentForm/components/CheckoutFooter.d.ts +2 -0
  178. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodDetails.d.ts +2 -0
  179. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodFooter.d.ts +4 -0
  180. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodSelector.d.ts +2 -0
  181. package/dist/esm/types/src/components/PaymentForm/context/CustomCheckoutFunctionContext.d.ts +5 -0
  182. package/dist/esm/types/src/components/PaymentForm/context/OverrideTokenContext.d.ts +4 -0
  183. package/dist/esm/types/src/components/PaymentForm/context/PaymentProvider.d.ts +32 -0
  184. package/dist/esm/types/src/components/PaymentForm/context/SelectedPaymentPluginContext.d.ts +6 -0
  185. package/dist/esm/types/src/components/PaymentForm/context/SelectedPluginProvider.d.ts +16 -0
  186. package/dist/esm/types/src/components/PaymentForm/context/ShowPaymentDetailsContext.d.ts +5 -0
  187. package/dist/esm/types/src/components/PaymentForm/fragments/PaymentForm_PaymentMethodsFragment.d.ts +10 -0
  188. package/dist/esm/types/src/components/PaymentForm/hooks/useAutoSetDefaultPaymentMethod.d.ts +2 -5
  189. package/dist/esm/types/src/components/PaymentForm/hooks/useHandlePayment.d.ts +25 -0
  190. package/dist/esm/types/src/components/PaymentForm/hooks/usePayableCurrency.d.ts +6 -0
  191. package/dist/esm/types/src/components/PaymentForm/hooks/usePaymentButtonText.d.ts +1 -0
  192. package/dist/esm/types/src/components/PaymentForm/hooks/useRemovePaymentMethod.d.ts +2 -0
  193. package/dist/esm/types/src/components/PaymentForm/hooks/useSetDefaultPaymentMethod.d.ts +5 -0
  194. package/dist/esm/types/src/components/PaymentForm/types/PaymentType.d.ts +5 -0
  195. package/dist/esm/types/src/components/Quote/Quote.d.ts +5 -1
  196. package/dist/esm/types/src/components/QuoteProvider/QuoteProvider.d.ts +4 -0
  197. package/dist/{cjs/types/src/components/QuoteProvider.d.ts → esm/types/src/components/QuoteProvider/context/QuoteContext.d.ts} +4 -6
  198. package/dist/esm/types/src/components/QuoteProvider/fragments/quoteFieldsFragment.d.ts +65 -0
  199. package/dist/esm/types/src/components/QuoteProvider/fragments/quoteFragment.d.ts +46 -0
  200. package/dist/esm/types/src/components/QuoteProvider/hooks/useFeatureQuantities.d.ts +12 -0
  201. package/dist/esm/types/src/components/QuoteProvider/hooks/useQuoteCreate.d.ts +19 -0
  202. package/dist/{cjs/types/src/hooks/quotes → esm/types/src/components/QuoteProvider/hooks}/useQuoteQuantities.d.ts +4 -7
  203. package/dist/esm/types/src/components/QuoteProvider/mutations/quoteChangeUpdate.d.ts +16 -0
  204. package/dist/esm/types/src/components/QuoteProvider/queries/getQuote.d.ts +16 -0
  205. package/dist/esm/types/src/components/QuoteProvider/utils/getQuantityFromQuoteChange.d.ts +11 -0
  206. package/dist/esm/types/src/components/QuoteProvider/utils/quoteChangeCanBeEdited.d.ts +4 -0
  207. package/dist/esm/types/src/components/Signup/PaymentForms.d.ts +3 -4
  208. package/dist/esm/types/src/components/Subscriptions/Subscriptions.d.ts +1 -5
  209. package/dist/esm/types/src/components/Subscriptions/SubscriptionsListContainer.d.ts +0 -4
  210. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/PlanPicker.d.ts +1 -2
  211. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/PriceListGrid.d.ts +3 -2
  212. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/checkoutBar/CheckoutBarInput.d.ts +2 -2
  213. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/checkoutBar/CheckoutPrice.d.ts +1 -1
  214. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/checkoutBar/PlanPickerCheckoutBar.d.ts +19 -0
  215. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/BillingPeriodSelector.d.ts +5 -4
  216. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/PriceListGridDesktop.d.ts +3 -2
  217. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/featureAddons/FeatureAddonRow.d.ts +33 -0
  218. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/featureAddons/FeatureAddons.d.ts +12 -3
  219. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/featureAddons/FeatureAddonsList.d.ts +26 -4
  220. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/planManagerUtils.d.ts +5 -2
  221. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/PriceListCardDesktop.d.ts +52 -0
  222. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/AddonPlans.d.ts +10 -0
  223. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/components/AddonPlanModal.d.ts +19 -0
  224. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/components/AddonPlanRow.d.ts +24 -0
  225. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/fragments/AddonPlans_PlanFragment.d.ts +18 -0
  226. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/addonPlans/queries/getAddonPlans.d.ts +13 -0
  227. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/util.d.ts +1 -1
  228. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerMobile/PriceListCardMobile.d.ts +19 -2
  229. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceDescription/PriceListCardPriceDescription.d.ts +23 -0
  230. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceDescription/utils/hasMultipleRecurringCharges.d.ts +12 -0
  231. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCard.d.ts +21 -4
  232. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardButton.d.ts +16 -3
  233. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardFeature.d.ts +1 -1
  234. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardPrice.d.ts +12 -3
  235. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardTitle.d.ts +2 -3
  236. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/priceListCardUtils.d.ts +1 -1
  237. package/dist/esm/types/src/components/Subscriptions/Upgrade/PreviewModeAdvisary.d.ts +1 -1
  238. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/QuantityChangeGridRow.d.ts +1 -6
  239. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/QuantityDrawer.d.ts +12 -0
  240. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/QuoteChangeSummarySection.d.ts +11 -6
  241. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/context/quoteIdContext.d.ts +5 -0
  242. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/fragments/QuantityDrawer_QuoteFragment.d.ts +14 -0
  243. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/hooks/useQuoteQueryData.d.ts +3 -0
  244. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/hooks/useSetQuoteQueryData.d.ts +5 -0
  245. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/mutations/quoteChargeCreate.d.ts +23 -0
  246. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/mutations/quoteChargeUpdate.d.ts +12 -0
  247. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/mutations/quoteSubscriptionUpdate.d.ts +22 -0
  248. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/quantityChangeDrawerDesktop/QuantityChangeDrawerDesktop.d.ts +1 -8
  249. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/{QuantityInput.d.ts → quantityInput/QuantityInput.d.ts} +3 -18
  250. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/quantityInput/fragments/QuantityInput_QuoteFragment.d.ts +27 -0
  251. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/utils/formatDateForApi.d.ts +2 -0
  252. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/{utils.d.ts → utils/utils.d.ts} +3 -11
  253. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/SubscriptionChargeTotal.d.ts +3 -3
  254. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/SubscriptionsNavigation.d.ts +1 -1
  255. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/components/SubscriptionCardActions.d.ts +21 -0
  256. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/queries/getPriceListChangeOptions.d.ts +9 -0
  257. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/subscriptionUtils.d.ts +0 -2
  258. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/utils/filterSubscriptionCharges.d.ts +2 -0
  259. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/utils/sortSubscriptionCharges.d.ts +2 -0
  260. package/dist/esm/types/src/components/Subscriptions/tieredDisplayDropdown/TieredDisplayDropdown.d.ts +9 -0
  261. package/dist/esm/types/src/components/Subscriptions/tieredDisplayDropdown/util.d.ts +9 -0
  262. package/dist/esm/types/src/components/TaxationForm.d.ts +3 -3
  263. package/dist/esm/types/src/components/Transactions/Transactions.d.ts +1 -1
  264. package/dist/esm/types/src/components/priceListPricing/PricingTooltip.d.ts +43 -0
  265. package/dist/esm/types/src/components/priceListPricing/components/ChargePriceTiers.d.ts +23 -0
  266. package/dist/esm/types/src/components/priceListPricing/components/PriceTierPrice.d.ts +7 -0
  267. package/dist/esm/types/src/components/priceListPricing/components/PriceTierRow.d.ts +13 -0
  268. package/dist/esm/types/src/components/priceListPricing/misc/consts.d.ts +1 -0
  269. package/dist/esm/types/src/components/priceListPricing/types/PriceTier.d.ts +4 -0
  270. package/dist/esm/types/src/components/priceListPricing/utils/getPricingModelDescription.d.ts +2 -0
  271. package/dist/esm/types/src/components/priceListPricing/utils/getPricingModelTitle.d.ts +2 -0
  272. package/dist/esm/types/src/components/priceListPricing/utils/hasPriceTiers.d.ts +13 -0
  273. package/dist/esm/types/src/components/priceListPricing/utils/priceListChargeUtil.ts/chargeHasPriceTiers.d.ts +12 -0
  274. package/dist/esm/types/src/components/priceListPricing/utils/priceListChargeUtil.ts/getChargeBasePrice.d.ts +8 -0
  275. package/dist/esm/types/src/components/priceListPricing/utils/priceListChargeUtil.ts/getFirstTierPrice.d.ts +7 -0
  276. package/dist/esm/types/src/contexts/BrandContext.d.ts +11 -2
  277. package/dist/esm/types/src/enums/SubscriptionState.d.ts +9 -0
  278. package/dist/esm/types/src/graphql/QuoteRequests.d.ts +0 -5
  279. package/dist/esm/types/src/graphql/mutations/quoteChargeDelete.d.ts +11 -2
  280. package/dist/esm/types/src/graphql/queries/getBranding.d.ts +7 -2
  281. package/dist/esm/types/src/graphql/queries/getCurrentUserData.d.ts +11 -7
  282. package/dist/esm/types/src/graphql/queries/getFormattedQuote.d.ts +139 -1
  283. package/dist/esm/types/src/graphql/queries/getPriceListChangeOptions.d.ts +4 -4
  284. package/dist/esm/types/src/graphql/queries/getQuote.d.ts +29 -2
  285. package/dist/esm/types/src/graphql-codegen/exportedScalarTypes.d.ts +6 -0
  286. package/dist/esm/types/src/hooks/quotes/useSendAcceptQuote.d.ts +2 -1
  287. package/dist/esm/types/src/hooks/useAllErrorFormats.d.ts +1 -0
  288. package/dist/esm/types/src/hooks/useCreateQueryClient.d.ts +2 -0
  289. package/dist/esm/types/src/hooks/useCurrentUserData.d.ts +11 -7
  290. package/dist/esm/types/src/hooks/useIsMobile.d.ts +9 -0
  291. package/dist/esm/types/src/hooks/usePaymentMethod.d.ts +47 -6
  292. package/dist/esm/types/src/hooks/usePaymentPlugins.d.ts +13 -27
  293. package/dist/esm/types/src/hooks/useToggleAddonQuoteChange.d.ts +1 -1
  294. package/dist/esm/types/src/index.d.ts +2 -2
  295. package/dist/esm/types/src/types/SubscriptionCharge.d.ts +39 -0
  296. package/dist/esm/types/src/utils/QueryKeyFactory.d.ts +96 -0
  297. package/dist/esm/types/src/utils/addonPlanUtils/addonPlanUtils.d.ts +5 -0
  298. package/dist/esm/types/src/utils/addonPlanUtils/getAddonsForBillingPeriod.d.ts +8 -0
  299. package/dist/esm/types/src/utils/addonPlanUtils/hasUnpurchasedAddonPricelists.d.ts +15 -0
  300. package/dist/esm/types/src/utils/apiUtils/invokePlugin.d.ts +10 -0
  301. package/dist/esm/types/src/utils/chargeUtils.d.ts +5 -2
  302. package/dist/esm/types/src/utils/createStateContext.d.ts +11 -0
  303. package/dist/esm/types/src/utils/createValueContext.d.ts +14 -0
  304. package/dist/esm/types/src/utils/featureAddonUtils/featureAddonUtils.d.ts +20 -0
  305. package/dist/esm/types/src/utils/featureAddonUtils/isAddonPurchased.d.ts +24 -0
  306. package/dist/esm/types/src/utils/formatCurrency.d.ts +1 -0
  307. package/dist/esm/types/src/utils/priceListUtils/doesPriceListHaveFlatFeeCharges.d.ts +12 -0
  308. package/dist/esm/types/src/utils/priceListUtils/getPrice.d.ts +11 -0
  309. package/dist/esm/types/src/utils/priceListUtils/priceDescription.d.ts +6 -0
  310. package/dist/esm/types/src/utils/priceListUtils/priceListPriceText.d.ts +19 -0
  311. package/dist/esm/types/src/utils/pricePickerUtils.d.ts +4 -4
  312. package/dist/index.d.ts +30 -10
  313. package/package.json +2 -2
  314. package/dist/cjs/types/src/components/PaymentForm/CheckoutFooter.d.ts +0 -13
  315. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/LargCardIcon.d.ts +0 -2
  316. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/PlusIcon.d.ts +0 -4
  317. package/dist/cjs/types/src/components/PaymentForm/PaymentMethodDetails.d.ts +0 -7
  318. package/dist/cjs/types/src/components/PaymentForm/PaymentMethodSelector.d.ts +0 -7
  319. package/dist/cjs/types/src/components/PaymentForm/SavePaymentMethodFooter.d.ts +0 -6
  320. package/dist/cjs/types/src/components/PaymentForm/Stripe/PaymentMethodForm.d.ts +0 -7
  321. package/dist/cjs/types/src/components/PaymentForm/hooks/usePaymentMethodSelectorPlugin.d.ts +0 -10
  322. package/dist/cjs/types/src/components/PaymentForm/useRemovePaymentMethod.d.ts +0 -3
  323. package/dist/cjs/types/src/components/PaymentForm/useSetDefaultPaymentMethod.d.ts +0 -6
  324. package/dist/cjs/types/src/components/Subscriptions/QuantityDrawerContainer.d.ts +0 -15
  325. package/dist/cjs/types/src/components/Subscriptions/TieredDisplayDropdown.d.ts +0 -8
  326. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/PlanAddonsCard.d.ts +0 -10
  327. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/PriceListCardDesktop.d.ts +0 -15
  328. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardPriceDescription.d.ts +0 -13
  329. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/SubscriptionCardActions.d.ts +0 -9
  330. package/dist/cjs/types/src/contexts/PaymentContext.d.ts +0 -10
  331. package/dist/cjs/types/src/graphql/mutations/quoteChargeUpdate.d.ts +0 -13
  332. package/dist/cjs/types/src/graphql/queries/getAddonPlans.d.ts +0 -37
  333. package/dist/cjs/types/src/graphql/queries/getFeatureUsage.d.ts +0 -7
  334. package/dist/cjs/types/src/hooks/quotes/useQuoteCreate.d.ts +0 -9
  335. package/dist/cjs/types/src/hooks/usePriceListChangeOptions.d.ts +0 -9
  336. package/dist/cjs/types/src/utils/GraphQLClient.d.ts +0 -2
  337. package/dist/cjs/types/src/utils/addonPlanUtils.d.ts +0 -7
  338. package/dist/cjs/types/src/utils/featureAddonUtils.d.ts +0 -6
  339. package/dist/esm/types/src/components/PaymentForm/CheckoutFooter.d.ts +0 -13
  340. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/LargCardIcon.d.ts +0 -2
  341. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/PlusIcon.d.ts +0 -4
  342. package/dist/esm/types/src/components/PaymentForm/PaymentMethodDetails.d.ts +0 -7
  343. package/dist/esm/types/src/components/PaymentForm/PaymentMethodSelector.d.ts +0 -7
  344. package/dist/esm/types/src/components/PaymentForm/SavePaymentMethodFooter.d.ts +0 -6
  345. package/dist/esm/types/src/components/PaymentForm/Stripe/PaymentMethodForm.d.ts +0 -7
  346. package/dist/esm/types/src/components/PaymentForm/hooks/usePaymentMethodSelectorPlugin.d.ts +0 -10
  347. package/dist/esm/types/src/components/PaymentForm/useRemovePaymentMethod.d.ts +0 -3
  348. package/dist/esm/types/src/components/PaymentForm/useSetDefaultPaymentMethod.d.ts +0 -6
  349. package/dist/esm/types/src/components/Subscriptions/QuantityDrawerContainer.d.ts +0 -15
  350. package/dist/esm/types/src/components/Subscriptions/TieredDisplayDropdown.d.ts +0 -8
  351. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/PlanAddonsCard.d.ts +0 -10
  352. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/PriceListCardDesktop.d.ts +0 -15
  353. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardPriceDescription.d.ts +0 -13
  354. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/SubscriptionCardActions.d.ts +0 -9
  355. package/dist/esm/types/src/contexts/PaymentContext.d.ts +0 -10
  356. package/dist/esm/types/src/graphql/mutations/quoteChargeUpdate.d.ts +0 -13
  357. package/dist/esm/types/src/graphql/queries/getAddonPlans.d.ts +0 -37
  358. package/dist/esm/types/src/graphql/queries/getFeatureUsage.d.ts +0 -7
  359. package/dist/esm/types/src/hooks/quotes/useQuoteCreate.d.ts +0 -9
  360. package/dist/esm/types/src/hooks/usePriceListChangeOptions.d.ts +0 -9
  361. package/dist/esm/types/src/utils/GraphQLClient.d.ts +0 -2
  362. package/dist/esm/types/src/utils/addonPlanUtils.d.ts +0 -7
  363. package/dist/esm/types/src/utils/featureAddonUtils.d.ts +0 -6
  364. /package/dist/cjs/types/src/components/PaymentForm/{CouponEditor.d.ts → components/CouponEditor.d.ts} +0 -0
  365. /package/dist/cjs/types/src/components/PaymentForm/{PaymentFormTypes.d.ts → types/PaymentFormTypes.d.ts} +0 -0
  366. /package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/{SubscriptionCardHeader.d.ts → subscriptionCardHeader/SubscriptionCardHeader.d.ts} +0 -0
  367. /package/dist/cjs/types/src/utils/{apiUtils.d.ts → apiUtils/apiUtils.d.ts} +0 -0
  368. /package/dist/esm/types/src/components/PaymentForm/{CouponEditor.d.ts → components/CouponEditor.d.ts} +0 -0
  369. /package/dist/esm/types/src/components/PaymentForm/{PaymentFormTypes.d.ts → types/PaymentFormTypes.d.ts} +0 -0
  370. /package/dist/esm/types/src/components/Subscriptions/subscriptionsList/{SubscriptionCardHeader.d.ts → subscriptionCardHeader/SubscriptionCardHeader.d.ts} +0 -0
  371. /package/dist/esm/types/src/utils/{apiUtils.d.ts → apiUtils/apiUtils.d.ts} +0 -0
package/README.md CHANGED
@@ -30,6 +30,56 @@ Ensure all peer dependencies in the package.json are installed.
30
30
 
31
31
  To run the development server, run `npm run dev`.
32
32
 
33
+ ### Folder structure
34
+
35
+ Unfortunately, the current folder structure isn't perfect. The goal is to progressively (whenever making changes) to begin to follow a module oriented structure.
36
+
37
+ This folder structure is inspired by [Twenty's frontend development folder architecture](https://docs.twenty.com/developers/frontend-development/folder-architecture-front#ui).
38
+
39
+ **Structure**
40
+
41
+ By following this folder architecture convention, it's easier to find the files related to specific features and ensure that the components are scalable and maintainable.
42
+
43
+ ```
44
+ src/
45
+ └───modules
46
+ │ └───module1
47
+ │ │ └───submodule1
48
+ │ └───module2
49
+ │ └───components
50
+ │ │ └───display
51
+ │ │ └───inputs
52
+ │ │ │ └───buttons
53
+ │ │ └───...
54
+ └───...
55
+ ```
56
+
57
+ **Modules**
58
+
59
+ Each module represents a feature or a group of feature, comprising its specific components, states, and operational logic. They should all follow the structure below. You can nest modules within modules (referred to as submodules) and the same rules will apply.
60
+
61
+ ```
62
+ module1
63
+ ├── components/
64
+ │ └───stories/
65
+ │ ├── component1/
66
+ │ └── component2/
67
+ ├── constants/
68
+ ├── contexts/
69
+ ├── graphql/
70
+ │ ├── fragments/
71
+ │ ├── queries/
72
+ │ └── mutations/
73
+ ├── hooks/
74
+ ├── types/
75
+ └── utils/
76
+ └── ...
77
+ ```
78
+
79
+ **Interface and dependencies**
80
+
81
+ You can import other module code from any module except for components exported in the index.ts file in the components folder. This will keep its code easy to test and maintain.
82
+
33
83
  ### Using gql.tada for typed queries and mutations
34
84
 
35
85
  We use [gql.tada](https://gql-tada.0no.co/get-started/) to automatically derive types from GraphQL queries and mutations.
@@ -54,6 +104,69 @@ npm run codegen
54
104
  npx gql-tada doctor
55
105
  ```
56
106
 
107
+ ### Development best practices
108
+
109
+ **Updating the React Query cache with typed data**
110
+
111
+ Sometimes you want to update the React Query cache directly instead of running another query.
112
+ To keep this safe, you should make sure the data you write into the cache is **strongly typed** and matches what your components expect.
113
+ One simple pattern is to create small hooks that accept a GraphQL fragment, and use that fragment to type the data you store in the cache.
114
+
115
+ Below is a minimal, generic example using a `FruitFragment` and a `useSetFruitQueryData` hook:
116
+
117
+ ```typescript
118
+ const FruitFragment = graphql(`
119
+ fragment FruitFragment on Fruit {
120
+ id
121
+ name
122
+ }
123
+ `);
124
+
125
+ export const useSetFruitQueryData = () => {
126
+ const queryClient = useQueryClient();
127
+
128
+ const setFruitQueryData = (
129
+ fruitId: string,
130
+ maskedFruit: FragmentOf<typeof FruitFragment> | null
131
+ ) => {
132
+ queryClient.setQueryData(['fruit', fruitId], maskedFruit);
133
+ };
134
+
135
+ return { setFruitQueryData };
136
+ };
137
+ ```
138
+
139
+ Using this hook, the data you write to the cache is constrained by the `FragmentOf<typeof FruitFragment>` type:
140
+
141
+ ```typescript
142
+ const { setFruitQueryData } = useSetFruitQueryData();
143
+
144
+ setFruitQueryData('123', { id: '123', name: 'Apple' });
145
+ ```
146
+
147
+ For a more complete example in the codebase, see the `useSetQuoteQueryData` hook in the `quantityChangeDrawer` module.
148
+
149
+ ### Deprecating @bunnyapp/common
150
+
151
+ We are gradually deprecating `@bunnyapp/common` and moving types and enums locally to this repository. When something is moved from `@bunnyapp/common`, follow this pattern:
152
+
153
+ 1. **Create local definitions**:
154
+
155
+ - **Enums** → Create in `src/enums/` directory (e.g., `src/enums/SubscriptionState.ts`)
156
+ - **Types** → Create in `src/types/` directory (e.g., `src/types/billingDetails.ts`)
157
+
158
+ 2. **Update imports incrementally**: Only update the files that need the change. Other files can continue importing from `@bunnyapp/common` until they need to be updated.
159
+
160
+ 3. **Example pattern**:
161
+
162
+ ```typescript
163
+ // Before (from @bunnyapp/common)
164
+ import { SubscriptionState } from '@bunnyapp/common';
165
+
166
+ // After (local enum)
167
+ import SubscriptionState from '../enums/SubscriptionState';
168
+ ```
169
+
57
170
  ### Storybook stories
58
171
 
59
172
  To view the storybook stories, run `npx storybook dev`.