@bunnyapp/components 1.8.0-beta.56 → 1.8.0-beta.58

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 (535) hide show
  1. package/README.md +92 -84
  2. package/dist/cjs/index.js +10 -203
  3. package/dist/cjs/types/src/components/BillingDetails/BillingDetails.d.ts +5 -2
  4. package/dist/cjs/types/src/components/BillingDetails/BillingDetails.rules.d.ts +85 -0
  5. package/dist/cjs/types/src/components/BillingDetails/BillingDetails.stories.d.ts +2 -2
  6. package/dist/cjs/types/src/components/BunnyProvider/BunnyProvider.d.ts +4 -5
  7. package/dist/cjs/types/src/components/Checkout/Checkout.stories.d.ts +1 -3
  8. package/dist/cjs/types/src/components/Checkout/index.d.ts +1 -1
  9. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/PaymentFields.d.ts +3 -2
  10. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutRoot.d.ts +5 -5
  11. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutScreen.d.ts +2 -2
  12. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutScreen.rules.d.ts +24 -51
  13. package/dist/cjs/types/src/components/CheckoutShared/utils/billingDetails.d.ts +6 -0
  14. package/dist/cjs/types/src/components/DrawerHeader.d.ts +2 -3
  15. package/dist/cjs/types/src/components/Error.d.ts +1 -0
  16. package/dist/cjs/types/src/components/Footer/BunnyFooterIcon.d.ts +1 -3
  17. package/dist/cjs/types/src/components/Footer/Footer.d.ts +6 -1
  18. package/dist/cjs/types/src/components/Footer/Footer.rules.d.ts +25 -0
  19. package/dist/cjs/types/src/components/Footer/Footer.stories.d.ts +9 -0
  20. package/dist/cjs/types/src/components/Invoice/Invoice.d.ts +7 -1
  21. package/dist/cjs/types/src/components/Invoice/Invoice.rules.d.ts +52 -0
  22. package/dist/cjs/types/src/components/Invoice/Invoice.stories.d.ts +2 -3
  23. package/dist/cjs/types/src/components/PaymentForm/PaymentForm.d.ts +6 -3
  24. package/dist/cjs/types/src/components/PaymentForm/PaymentForm.stories.d.ts +49 -0
  25. package/dist/cjs/types/src/components/PaymentForm/components/CouponEditor.d.ts +3 -4
  26. package/dist/cjs/types/src/components/PaymentForm/{DemoPay/CreditCard → components}/MiniCreditCard.d.ts +6 -0
  27. package/dist/cjs/types/src/components/PaymentForm/components/Pay.d.ts +6 -0
  28. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodDetails/PaymentMethodDetails.d.ts +7 -1
  29. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodDetails/components/Cancel.d.ts +2 -1
  30. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodDetails/components/Save.d.ts +1 -0
  31. package/dist/cjs/types/src/components/PaymentForm/components/StoredPaymentMethods.d.ts +7 -1
  32. package/dist/cjs/types/src/components/PaymentForm/context/CallbacksContext.d.ts +3 -1
  33. package/dist/cjs/types/src/components/PaymentForm/context/PaymentFormMethodsProvider.d.ts +32 -0
  34. package/dist/cjs/types/src/components/PaymentForm/fragments/PaymentForm_PaymentMethodsFragment.d.ts +1 -1
  35. package/dist/cjs/types/src/components/PaymentForm/hooks/usePay.d.ts +8 -7
  36. package/dist/cjs/types/src/components/PaymentForm/hooks/usePaymentHold.d.ts +6 -7
  37. package/dist/cjs/types/src/components/PaymentForm/hooks/useSave.d.ts +7 -9
  38. package/dist/cjs/types/src/components/PaymentMethods/components/DemoPayCardBox.d.ts +6 -0
  39. package/dist/cjs/types/src/components/{CheckoutShared/components/CheckoutForm → PaymentMethods/components}/DemoPayCardBox.rules.d.ts +20 -4
  40. package/dist/cjs/types/src/components/PaymentMethods/components/NewPaymentMethodFields.d.ts +10 -0
  41. package/dist/cjs/types/src/components/PaymentMethods/components/PaymentTile.d.ts +23 -0
  42. package/dist/cjs/types/src/components/{CheckoutShared/components/CheckoutForm → PaymentMethods/components}/PaymentTile.rules.d.ts +14 -10
  43. package/dist/cjs/types/src/components/PaymentMethods/components/PaymentTileGroup.d.ts +18 -0
  44. package/dist/cjs/types/src/components/PaymentMethods/components/PluginTiles.d.ts +6 -0
  45. package/dist/cjs/types/src/components/PaymentMethods/components/SavedPaymentMethodTiles.d.ts +15 -0
  46. package/dist/cjs/types/src/components/{CheckoutShared/components/CheckoutStripeElements.d.ts → PaymentMethods/components/StripeElements.d.ts} +4 -3
  47. package/dist/cjs/types/src/components/PaymentMethods/components/StripePaymentElement.d.ts +16 -0
  48. package/dist/cjs/types/src/components/PaymentMethods/constants/demoPayInputStyle.d.ts +6 -0
  49. package/dist/{esm/types/src/components/PaymentForm/DemoPay/DemoPayFormProvider.d.ts → cjs/types/src/components/PaymentMethods/contexts/DemoPayCardDetailsContext.d.ts} +2 -2
  50. package/dist/cjs/types/src/components/PaymentMethods/contexts/PaymentMethodsContext.d.ts +41 -0
  51. package/dist/cjs/types/src/components/{CheckoutShared → PaymentMethods}/graphql/fragments/SavedPaymentMethodTiles_PaymentMethodFragment.d.ts +2 -0
  52. package/dist/cjs/types/src/components/PaymentMethods/hooks/useLoadStripe.d.ts +4 -0
  53. package/dist/cjs/types/src/components/PaymentMethods/hooks/useNewPaymentMethod.d.ts +16 -0
  54. package/dist/cjs/types/src/components/PaymentMethods/hooks/useStripePaymentMethodId.d.ts +27 -0
  55. package/dist/cjs/types/src/components/PaymentMethods/utils/demoPayCard.d.ts +12 -0
  56. package/dist/cjs/types/src/components/PaymentMethods/utils/paymentPlugins.d.ts +9 -0
  57. package/dist/cjs/types/src/components/PaymentMethods/utils/storeNewPaymentMethod.d.ts +14 -0
  58. package/dist/cjs/types/src/components/PaymentMethods/utils/stripeAppearance.d.ts +12 -0
  59. package/dist/cjs/types/src/components/Quote/Quote.d.ts +7 -1
  60. package/dist/cjs/types/src/components/Quote/Quote.rules.d.ts +54 -0
  61. package/dist/cjs/types/src/components/Quote/Quote.stories.d.ts +2 -4
  62. package/dist/cjs/types/src/components/Quote/queries/getFormattedQuote.d.ts +1 -1
  63. package/dist/cjs/types/src/components/QuoteProvider/fragments/quoteFragment.d.ts +1 -1
  64. package/dist/cjs/types/src/components/QuoteProvider/hooks/useQuoteCreate.d.ts +1 -1
  65. package/dist/cjs/types/src/components/Signup/Signup.stories.d.ts +0 -3
  66. package/dist/cjs/types/src/components/Subscriptions/AddonSubscriptionCards.d.ts +1 -1
  67. package/dist/cjs/types/src/components/Subscriptions/CheckIcon.d.ts +2 -2
  68. package/dist/cjs/types/src/components/Subscriptions/Subscriptions.d.ts +6 -6
  69. package/dist/cjs/types/src/components/Subscriptions/Subscriptions.rules.d.ts +67 -0
  70. package/dist/cjs/types/src/components/Subscriptions/Subscriptions.stories.d.ts +2 -4
  71. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/PriceListCardDesktop.d.ts +1 -1
  72. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardButton.d.ts +3 -1
  73. package/dist/cjs/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardPrice.d.ts +3 -1
  74. package/dist/cjs/types/src/components/Subscriptions/Upgrade/Upgrade.d.ts +6 -2
  75. package/dist/cjs/types/src/components/Subscriptions/Upgrade/Upgrade.rules.d.ts +99 -0
  76. package/dist/cjs/types/src/components/Subscriptions/Upgrade/Upgrade.stories.d.ts +3 -4
  77. package/dist/cjs/types/src/components/Subscriptions/context/subscriptionPropsContext.d.ts +0 -4
  78. package/dist/cjs/types/src/components/Subscriptions/context/upgradingSubscriptionContext.d.ts +2 -2
  79. package/dist/cjs/types/src/components/Subscriptions/fragments/Subscriptions_SubscriptionFragment.d.ts +1 -1
  80. package/dist/cjs/types/src/components/Subscriptions/fragments/UpgradingSubscriptionContext_SubscriptionFragment.d.ts +1 -1
  81. package/dist/cjs/types/src/components/Subscriptions/quantityChangeDrawer/utils/utils.d.ts +2 -2
  82. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/SubscriptionChargeUnitPrice.d.ts +1 -1
  83. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/SubscriptionsList.d.ts +1 -1
  84. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/subscriptionCardDesktop/SubscriptionCardColumnHeaders.d.ts +3 -7
  85. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/SubscriptionCardHeader.d.ts +1 -1
  86. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/components/SubscriptionCardActions.d.ts +1 -1
  87. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/components/SubscriptionStatusText.d.ts +2 -2
  88. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/subscriptionUtils.d.ts +1 -1
  89. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/utils/canSubscriptionUpgradeFromTrial.d.ts +1 -1
  90. package/dist/cjs/types/src/components/Subscriptions/subscriptionsList/utils/canSubscriptionUpgradeFromTrialExpired.d.ts +1 -1
  91. package/dist/cjs/types/src/components/Subscriptions/tagConsts.d.ts +2 -1
  92. package/dist/cjs/types/src/components/Subscriptions/tieredDisplayDropdown/util.d.ts +1 -1
  93. package/dist/cjs/types/src/components/UpgradeCheckout/UpgradeCheckout.rules.d.ts +17 -0
  94. package/dist/cjs/types/src/components/index.d.ts +4 -2
  95. package/dist/cjs/types/src/components/priceListPricing/PricingTooltip.d.ts +1 -1
  96. package/dist/cjs/types/src/components/priceListPricing/components/ChargePriceTiers.d.ts +1 -1
  97. package/dist/cjs/types/src/components/tables/InfiniteTable/InfiniteResourceTable.d.ts +6 -3
  98. package/dist/cjs/types/src/components/tables/InfiniteTable/InfiniteTable.d.ts +1 -4
  99. package/dist/cjs/types/src/components/tables/InfiniteTable/InfiniteTable.rules.d.ts +85 -0
  100. package/dist/cjs/types/src/components/tables/InfiniteTable/InfiniteTableGridCell.d.ts +8 -2
  101. package/dist/cjs/types/src/components/tables/InfiniteTable/types.d.ts +0 -3
  102. package/dist/cjs/types/src/components/tables/Invoices/Invoices.d.ts +5 -2
  103. package/dist/cjs/types/src/components/tables/Invoices/Invoices.stories.d.ts +10 -0
  104. package/dist/cjs/types/src/components/tables/Invoices/invoicesList/getInvoiceColumns.d.ts +1 -1
  105. package/dist/cjs/types/src/components/tables/Quotes/Quotes.d.ts +5 -2
  106. package/dist/cjs/types/src/components/tables/Quotes/Quotes.stories.d.ts +2 -4
  107. package/dist/cjs/types/src/components/tables/Quotes/quotesList/getQuoteColumns.d.ts +1 -1
  108. package/dist/cjs/types/src/components/tables/Transactions/Transactions.d.ts +5 -2
  109. package/dist/cjs/types/src/components/tables/Transactions/Transactions.stories.d.ts +2 -4
  110. package/dist/cjs/types/src/components/tables/Transactions/transactionsList/getTransactionColumns.d.ts +1 -1
  111. package/dist/cjs/types/src/contexts/InvoiceQuoteContext.d.ts +1 -3
  112. package/dist/cjs/types/src/hooks/useFocusFirstInput.d.ts +2 -3
  113. package/dist/cjs/types/src/hooks/usePaymentMethod.d.ts +0 -6
  114. package/dist/cjs/types/src/mocks/paymentFormHandlers.d.ts +6 -0
  115. package/dist/cjs/types/src/storybook-utils.d.ts +18 -7
  116. package/dist/cjs/types/src/types/CreditNote.d.ts +1 -1
  117. package/dist/cjs/types/src/types/Feature.d.ts +1 -1
  118. package/dist/cjs/types/src/types/FormattedInvoice.d.ts +1 -1
  119. package/dist/cjs/types/src/types/InvoiceItem.d.ts +1 -1
  120. package/dist/cjs/types/src/types/PriceList.d.ts +2 -2
  121. package/dist/cjs/types/src/types/PriceListCharge.d.ts +1 -1
  122. package/dist/cjs/types/src/types/Quote.d.ts +1 -1
  123. package/dist/cjs/types/src/types/QuoteChange.d.ts +1 -1
  124. package/dist/cjs/types/src/types/QuoteCharge.d.ts +2 -2
  125. package/dist/cjs/types/src/types/SubscriptionCharge.d.ts +1 -1
  126. package/dist/cjs/types/src/types/frontendTypes/TableColumn.d.ts +1 -1
  127. package/dist/cjs/types/src/types/scalarTypes.d.ts +3 -0
  128. package/dist/cjs/types/src/types/scalarTypes.types.test.d.ts +5 -0
  129. package/dist/cjs/types/src/ui/appearance/AppearanceProvider.d.ts +19 -0
  130. package/dist/cjs/types/src/ui/appearance/antdTheme.d.ts +9 -0
  131. package/dist/cjs/types/src/ui/appearance/appearance.types.test.d.ts +19 -0
  132. package/dist/cjs/types/src/ui/appearance/color.d.ts +28 -0
  133. package/dist/cjs/types/src/ui/appearance/deprecatedTypes.d.ts +7 -0
  134. package/dist/cjs/types/src/ui/appearance/index.d.ts +2 -0
  135. package/dist/cjs/types/src/ui/appearance/pageFonts.d.ts +3 -0
  136. package/dist/cjs/types/src/ui/appearance/resolveAppearance.d.ts +32 -0
  137. package/dist/cjs/types/src/ui/appearance/ruleGroups.d.ts +17 -0
  138. package/dist/cjs/types/src/ui/appearance/rules.d.ts +42 -0
  139. package/dist/cjs/types/src/ui/appearance/rulesToCss.d.ts +27 -0
  140. package/dist/cjs/types/src/ui/appearance/stories/TwoRoots.stories.d.ts +4 -0
  141. package/dist/{esm/types/src/components/CheckoutShared → cjs/types/src/ui/appearance}/stories/themes.d.ts +14 -9
  142. package/dist/cjs/types/src/ui/appearance/types.d.ts +531 -0
  143. package/dist/cjs/types/src/ui/appearance/variables.d.ts +59 -0
  144. package/dist/cjs/types/src/ui/components/Button/Button.d.ts +33 -0
  145. package/dist/{esm/types/src/components/CheckoutShared/components/controls → cjs/types/src/ui/components/Button}/Button.rules.d.ts +47 -19
  146. package/dist/cjs/types/src/ui/components/Button/Button.stories.d.ts +8 -0
  147. package/dist/cjs/types/src/ui/components/Card/Card.d.ts +14 -0
  148. package/dist/cjs/types/src/ui/components/Card/Card.rules.d.ts +32 -0
  149. package/dist/cjs/types/src/ui/components/Card/Card.stories.d.ts +8 -0
  150. package/dist/cjs/types/src/ui/components/Checkbox/Checkbox.d.ts +14 -0
  151. package/dist/cjs/types/src/ui/components/Checkbox/Checkbox.rules.d.ts +52 -0
  152. package/dist/cjs/types/src/ui/components/Checkbox/Checkbox.stories.d.ts +8 -0
  153. package/dist/cjs/types/src/ui/components/Divider/Divider.d.ts +11 -0
  154. package/dist/cjs/types/src/ui/components/Divider/Divider.rules.d.ts +23 -0
  155. package/dist/cjs/types/src/ui/components/Divider/Divider.stories.d.ts +8 -0
  156. package/dist/cjs/types/src/ui/components/Document/Document.d.ts +7 -0
  157. package/dist/cjs/types/src/ui/components/Document/Document.rules.d.ts +12 -0
  158. package/dist/cjs/types/src/ui/components/Document/Document.stories.d.ts +8 -0
  159. package/dist/cjs/types/src/ui/components/Drawer/Drawer.d.ts +9 -0
  160. package/dist/cjs/types/src/ui/components/Drawer/Drawer.rules.d.ts +28 -0
  161. package/dist/cjs/types/src/ui/components/Drawer/Drawer.stories.d.ts +11 -0
  162. package/dist/cjs/types/src/ui/components/Dropdown/Dropdown.d.ts +3 -0
  163. package/dist/{esm/types/src/components/CheckoutShared/components/CheckoutForm → cjs/types/src/ui/components/Field}/Field.d.ts +6 -5
  164. package/dist/{esm/types/src/components/CheckoutShared/components/CheckoutForm → cjs/types/src/ui/components/Field}/Field.rules.d.ts +7 -10
  165. package/dist/cjs/types/src/ui/components/Field/Field.stories.d.ts +8 -0
  166. package/dist/cjs/types/src/ui/components/Link/Link.d.ts +3 -0
  167. package/dist/cjs/types/src/ui/components/Link/Link.rules.d.ts +20 -0
  168. package/dist/cjs/types/src/ui/components/Link/Link.stories.d.ts +8 -0
  169. package/dist/cjs/types/src/ui/components/Modal/Modal.d.ts +8 -0
  170. package/dist/cjs/types/src/ui/components/Modal/Modal.rules.d.ts +23 -0
  171. package/dist/cjs/types/src/ui/components/Modal/Modal.stories.d.ts +11 -0
  172. package/dist/cjs/types/src/ui/components/Popconfirm/Popconfirm.d.ts +18 -0
  173. package/dist/cjs/types/src/ui/components/Popconfirm/Popconfirm.rules.d.ts +16 -0
  174. package/dist/cjs/types/src/ui/components/Segmented/Segmented.d.ts +16 -0
  175. package/dist/cjs/types/src/ui/components/Segmented/Segmented.rules.d.ts +46 -0
  176. package/dist/cjs/types/src/ui/components/Segmented/Segmented.stories.d.ts +8 -0
  177. package/dist/cjs/types/src/ui/components/Select/MultiSelect.d.ts +23 -0
  178. package/dist/cjs/types/src/ui/components/Select/Select.d.ts +22 -0
  179. package/dist/cjs/types/src/ui/components/Select/Select.rules.d.ts +115 -0
  180. package/dist/cjs/types/src/ui/components/Select/Select.stories.d.ts +18 -0
  181. package/dist/cjs/types/src/ui/components/Select/SelectMenu.d.ts +13 -0
  182. package/dist/cjs/types/src/ui/components/Select/useSelectMenu.d.ts +45 -0
  183. package/dist/cjs/types/src/ui/components/Skeleton/Skeleton.d.ts +8 -0
  184. package/dist/cjs/types/src/ui/components/Skeleton/Skeleton.rules.d.ts +15 -0
  185. package/dist/cjs/types/src/ui/components/Skeleton/Skeleton.stories.d.ts +8 -0
  186. package/dist/cjs/types/src/ui/components/Spinner/Spinner.d.ts +9 -0
  187. package/dist/cjs/types/src/ui/components/Spinner/Spinner.stories.d.ts +8 -0
  188. package/dist/cjs/types/src/ui/components/Switch/Switch.d.ts +12 -0
  189. package/dist/cjs/types/src/ui/components/Switch/Switch.rules.d.ts +66 -0
  190. package/dist/cjs/types/src/ui/components/Switch/Switch.stories.d.ts +8 -0
  191. package/dist/cjs/types/src/ui/components/Table/Table.d.ts +24 -0
  192. package/dist/cjs/types/src/ui/components/Table/Table.stories.d.ts +8 -0
  193. package/dist/cjs/types/src/ui/components/Tag/Tag.d.ts +12 -0
  194. package/dist/cjs/types/src/ui/components/Tag/Tag.rules.d.ts +49 -0
  195. package/dist/cjs/types/src/ui/components/Tag/Tag.stories.d.ts +8 -0
  196. package/dist/cjs/types/src/ui/components/Text/Text.d.ts +53 -0
  197. package/dist/cjs/types/src/ui/components/Text/Text.rules.d.ts +76 -0
  198. package/dist/cjs/types/src/ui/components/Text/Text.stories.d.ts +8 -0
  199. package/dist/cjs/types/src/ui/components/TextInput/TextInput.d.ts +13 -0
  200. package/dist/{esm/types/src/components/CheckoutShared/components/controls → cjs/types/src/ui/components/TextInput}/TextInput.rules.d.ts +4 -19
  201. package/dist/cjs/types/src/ui/components/TextInput/TextInput.stories.d.ts +8 -0
  202. package/dist/cjs/types/src/ui/components/Tooltip/Tooltip.d.ts +7 -0
  203. package/dist/cjs/types/src/ui/components/Tooltip/Tooltip.rules.d.ts +24 -0
  204. package/dist/cjs/types/src/utils/chargeUtils.d.ts +1 -1
  205. package/dist/cjs/types/src/utils/couponUtils.d.ts +1 -1
  206. package/dist/cjs/types/src/utils/priceListUtils/priceListPriceText.d.ts +1 -1
  207. package/dist/esm/index.js +10 -203
  208. package/dist/esm/types/src/components/BillingDetails/BillingDetails.d.ts +5 -2
  209. package/dist/esm/types/src/components/BillingDetails/BillingDetails.rules.d.ts +85 -0
  210. package/dist/esm/types/src/components/BillingDetails/BillingDetails.stories.d.ts +2 -2
  211. package/dist/esm/types/src/components/BunnyProvider/BunnyProvider.d.ts +4 -5
  212. package/dist/esm/types/src/components/Checkout/Checkout.stories.d.ts +1 -3
  213. package/dist/esm/types/src/components/Checkout/index.d.ts +1 -1
  214. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/PaymentFields.d.ts +3 -2
  215. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutRoot.d.ts +5 -5
  216. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutScreen.d.ts +2 -2
  217. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutScreen.rules.d.ts +24 -51
  218. package/dist/esm/types/src/components/CheckoutShared/utils/billingDetails.d.ts +6 -0
  219. package/dist/esm/types/src/components/DrawerHeader.d.ts +2 -3
  220. package/dist/esm/types/src/components/Error.d.ts +1 -0
  221. package/dist/esm/types/src/components/Footer/BunnyFooterIcon.d.ts +1 -3
  222. package/dist/esm/types/src/components/Footer/Footer.d.ts +6 -1
  223. package/dist/esm/types/src/components/Footer/Footer.rules.d.ts +25 -0
  224. package/dist/esm/types/src/components/Footer/Footer.stories.d.ts +9 -0
  225. package/dist/esm/types/src/components/Invoice/Invoice.d.ts +7 -1
  226. package/dist/esm/types/src/components/Invoice/Invoice.rules.d.ts +52 -0
  227. package/dist/esm/types/src/components/Invoice/Invoice.stories.d.ts +2 -3
  228. package/dist/esm/types/src/components/PaymentForm/PaymentForm.d.ts +6 -3
  229. package/dist/esm/types/src/components/PaymentForm/PaymentForm.stories.d.ts +49 -0
  230. package/dist/esm/types/src/components/PaymentForm/components/CouponEditor.d.ts +3 -4
  231. package/dist/esm/types/src/components/PaymentForm/{DemoPay/CreditCard → components}/MiniCreditCard.d.ts +6 -0
  232. package/dist/esm/types/src/components/PaymentForm/components/Pay.d.ts +6 -0
  233. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodDetails/PaymentMethodDetails.d.ts +7 -1
  234. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodDetails/components/Cancel.d.ts +2 -1
  235. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodDetails/components/Save.d.ts +1 -0
  236. package/dist/esm/types/src/components/PaymentForm/components/StoredPaymentMethods.d.ts +7 -1
  237. package/dist/esm/types/src/components/PaymentForm/context/CallbacksContext.d.ts +3 -1
  238. package/dist/esm/types/src/components/PaymentForm/context/PaymentFormMethodsProvider.d.ts +32 -0
  239. package/dist/esm/types/src/components/PaymentForm/fragments/PaymentForm_PaymentMethodsFragment.d.ts +1 -1
  240. package/dist/esm/types/src/components/PaymentForm/hooks/usePay.d.ts +8 -7
  241. package/dist/esm/types/src/components/PaymentForm/hooks/usePaymentHold.d.ts +6 -7
  242. package/dist/esm/types/src/components/PaymentForm/hooks/useSave.d.ts +7 -9
  243. package/dist/esm/types/src/components/PaymentMethods/components/DemoPayCardBox.d.ts +6 -0
  244. package/dist/esm/types/src/components/{CheckoutShared/components/CheckoutForm → PaymentMethods/components}/DemoPayCardBox.rules.d.ts +20 -4
  245. package/dist/esm/types/src/components/PaymentMethods/components/NewPaymentMethodFields.d.ts +10 -0
  246. package/dist/esm/types/src/components/PaymentMethods/components/PaymentTile.d.ts +23 -0
  247. package/dist/esm/types/src/components/{CheckoutShared/components/CheckoutForm → PaymentMethods/components}/PaymentTile.rules.d.ts +14 -10
  248. package/dist/esm/types/src/components/PaymentMethods/components/PaymentTileGroup.d.ts +18 -0
  249. package/dist/esm/types/src/components/PaymentMethods/components/PluginTiles.d.ts +6 -0
  250. package/dist/esm/types/src/components/PaymentMethods/components/SavedPaymentMethodTiles.d.ts +15 -0
  251. package/dist/esm/types/src/components/{CheckoutShared/components/CheckoutStripeElements.d.ts → PaymentMethods/components/StripeElements.d.ts} +4 -3
  252. package/dist/esm/types/src/components/PaymentMethods/components/StripePaymentElement.d.ts +16 -0
  253. package/dist/esm/types/src/components/PaymentMethods/constants/demoPayInputStyle.d.ts +6 -0
  254. package/dist/{cjs/types/src/components/PaymentForm/DemoPay/DemoPayFormProvider.d.ts → esm/types/src/components/PaymentMethods/contexts/DemoPayCardDetailsContext.d.ts} +2 -2
  255. package/dist/esm/types/src/components/PaymentMethods/contexts/PaymentMethodsContext.d.ts +41 -0
  256. package/dist/esm/types/src/components/{CheckoutShared → PaymentMethods}/graphql/fragments/SavedPaymentMethodTiles_PaymentMethodFragment.d.ts +2 -0
  257. package/dist/esm/types/src/components/PaymentMethods/hooks/useLoadStripe.d.ts +4 -0
  258. package/dist/esm/types/src/components/PaymentMethods/hooks/useNewPaymentMethod.d.ts +16 -0
  259. package/dist/esm/types/src/components/PaymentMethods/hooks/useStripePaymentMethodId.d.ts +27 -0
  260. package/dist/esm/types/src/components/PaymentMethods/utils/demoPayCard.d.ts +12 -0
  261. package/dist/esm/types/src/components/PaymentMethods/utils/paymentPlugins.d.ts +9 -0
  262. package/dist/esm/types/src/components/PaymentMethods/utils/storeNewPaymentMethod.d.ts +14 -0
  263. package/dist/esm/types/src/components/PaymentMethods/utils/stripeAppearance.d.ts +12 -0
  264. package/dist/esm/types/src/components/Quote/Quote.d.ts +7 -1
  265. package/dist/esm/types/src/components/Quote/Quote.rules.d.ts +54 -0
  266. package/dist/esm/types/src/components/Quote/Quote.stories.d.ts +2 -4
  267. package/dist/esm/types/src/components/Quote/queries/getFormattedQuote.d.ts +1 -1
  268. package/dist/esm/types/src/components/QuoteProvider/fragments/quoteFragment.d.ts +1 -1
  269. package/dist/esm/types/src/components/QuoteProvider/hooks/useQuoteCreate.d.ts +1 -1
  270. package/dist/esm/types/src/components/Signup/Signup.stories.d.ts +0 -3
  271. package/dist/esm/types/src/components/Subscriptions/AddonSubscriptionCards.d.ts +1 -1
  272. package/dist/esm/types/src/components/Subscriptions/CheckIcon.d.ts +2 -2
  273. package/dist/esm/types/src/components/Subscriptions/Subscriptions.d.ts +6 -6
  274. package/dist/esm/types/src/components/Subscriptions/Subscriptions.rules.d.ts +67 -0
  275. package/dist/esm/types/src/components/Subscriptions/Subscriptions.stories.d.ts +2 -4
  276. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/planPickerDesktop/priceListCardDesktop/PriceListCardDesktop.d.ts +1 -1
  277. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardButton.d.ts +3 -1
  278. package/dist/esm/types/src/components/Subscriptions/Upgrade/PlanPicker/priceListCard/PriceListCardPrice.d.ts +3 -1
  279. package/dist/esm/types/src/components/Subscriptions/Upgrade/Upgrade.d.ts +6 -2
  280. package/dist/esm/types/src/components/Subscriptions/Upgrade/Upgrade.rules.d.ts +99 -0
  281. package/dist/esm/types/src/components/Subscriptions/Upgrade/Upgrade.stories.d.ts +3 -4
  282. package/dist/esm/types/src/components/Subscriptions/context/subscriptionPropsContext.d.ts +0 -4
  283. package/dist/esm/types/src/components/Subscriptions/context/upgradingSubscriptionContext.d.ts +2 -2
  284. package/dist/esm/types/src/components/Subscriptions/fragments/Subscriptions_SubscriptionFragment.d.ts +1 -1
  285. package/dist/esm/types/src/components/Subscriptions/fragments/UpgradingSubscriptionContext_SubscriptionFragment.d.ts +1 -1
  286. package/dist/esm/types/src/components/Subscriptions/quantityChangeDrawer/utils/utils.d.ts +2 -2
  287. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/SubscriptionChargeUnitPrice.d.ts +1 -1
  288. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/SubscriptionsList.d.ts +1 -1
  289. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/subscriptionCardDesktop/SubscriptionCardColumnHeaders.d.ts +3 -7
  290. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/SubscriptionCardHeader.d.ts +1 -1
  291. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/components/SubscriptionCardActions.d.ts +1 -1
  292. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/subscriptionCardHeader/components/SubscriptionStatusText.d.ts +2 -2
  293. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/subscriptionUtils.d.ts +1 -1
  294. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/utils/canSubscriptionUpgradeFromTrial.d.ts +1 -1
  295. package/dist/esm/types/src/components/Subscriptions/subscriptionsList/utils/canSubscriptionUpgradeFromTrialExpired.d.ts +1 -1
  296. package/dist/esm/types/src/components/Subscriptions/tagConsts.d.ts +2 -1
  297. package/dist/esm/types/src/components/Subscriptions/tieredDisplayDropdown/util.d.ts +1 -1
  298. package/dist/esm/types/src/components/UpgradeCheckout/UpgradeCheckout.rules.d.ts +17 -0
  299. package/dist/esm/types/src/components/index.d.ts +4 -2
  300. package/dist/esm/types/src/components/priceListPricing/PricingTooltip.d.ts +1 -1
  301. package/dist/esm/types/src/components/priceListPricing/components/ChargePriceTiers.d.ts +1 -1
  302. package/dist/esm/types/src/components/tables/InfiniteTable/InfiniteResourceTable.d.ts +6 -3
  303. package/dist/esm/types/src/components/tables/InfiniteTable/InfiniteTable.d.ts +1 -4
  304. package/dist/esm/types/src/components/tables/InfiniteTable/InfiniteTable.rules.d.ts +85 -0
  305. package/dist/esm/types/src/components/tables/InfiniteTable/InfiniteTableGridCell.d.ts +8 -2
  306. package/dist/esm/types/src/components/tables/InfiniteTable/types.d.ts +0 -3
  307. package/dist/esm/types/src/components/tables/Invoices/Invoices.d.ts +5 -2
  308. package/dist/esm/types/src/components/tables/Invoices/Invoices.stories.d.ts +10 -0
  309. package/dist/esm/types/src/components/tables/Invoices/invoicesList/getInvoiceColumns.d.ts +1 -1
  310. package/dist/esm/types/src/components/tables/Quotes/Quotes.d.ts +5 -2
  311. package/dist/esm/types/src/components/tables/Quotes/Quotes.stories.d.ts +2 -4
  312. package/dist/esm/types/src/components/tables/Quotes/quotesList/getQuoteColumns.d.ts +1 -1
  313. package/dist/esm/types/src/components/tables/Transactions/Transactions.d.ts +5 -2
  314. package/dist/esm/types/src/components/tables/Transactions/Transactions.stories.d.ts +2 -4
  315. package/dist/esm/types/src/components/tables/Transactions/transactionsList/getTransactionColumns.d.ts +1 -1
  316. package/dist/esm/types/src/contexts/InvoiceQuoteContext.d.ts +1 -3
  317. package/dist/esm/types/src/hooks/useFocusFirstInput.d.ts +2 -3
  318. package/dist/esm/types/src/hooks/usePaymentMethod.d.ts +0 -6
  319. package/dist/esm/types/src/mocks/paymentFormHandlers.d.ts +6 -0
  320. package/dist/esm/types/src/storybook-utils.d.ts +18 -7
  321. package/dist/esm/types/src/types/CreditNote.d.ts +1 -1
  322. package/dist/esm/types/src/types/Feature.d.ts +1 -1
  323. package/dist/esm/types/src/types/FormattedInvoice.d.ts +1 -1
  324. package/dist/esm/types/src/types/InvoiceItem.d.ts +1 -1
  325. package/dist/esm/types/src/types/PriceList.d.ts +2 -2
  326. package/dist/esm/types/src/types/PriceListCharge.d.ts +1 -1
  327. package/dist/esm/types/src/types/Quote.d.ts +1 -1
  328. package/dist/esm/types/src/types/QuoteChange.d.ts +1 -1
  329. package/dist/esm/types/src/types/QuoteCharge.d.ts +2 -2
  330. package/dist/esm/types/src/types/SubscriptionCharge.d.ts +1 -1
  331. package/dist/esm/types/src/types/frontendTypes/TableColumn.d.ts +1 -1
  332. package/dist/esm/types/src/types/scalarTypes.d.ts +3 -0
  333. package/dist/esm/types/src/types/scalarTypes.types.test.d.ts +5 -0
  334. package/dist/esm/types/src/ui/appearance/AppearanceProvider.d.ts +19 -0
  335. package/dist/esm/types/src/ui/appearance/antdTheme.d.ts +9 -0
  336. package/dist/esm/types/src/ui/appearance/appearance.types.test.d.ts +19 -0
  337. package/dist/esm/types/src/ui/appearance/color.d.ts +28 -0
  338. package/dist/esm/types/src/ui/appearance/deprecatedTypes.d.ts +7 -0
  339. package/dist/esm/types/src/ui/appearance/index.d.ts +2 -0
  340. package/dist/esm/types/src/ui/appearance/pageFonts.d.ts +3 -0
  341. package/dist/esm/types/src/ui/appearance/resolveAppearance.d.ts +32 -0
  342. package/dist/esm/types/src/ui/appearance/ruleGroups.d.ts +17 -0
  343. package/dist/esm/types/src/ui/appearance/rules.d.ts +42 -0
  344. package/dist/esm/types/src/ui/appearance/rulesToCss.d.ts +27 -0
  345. package/dist/esm/types/src/ui/appearance/stories/TwoRoots.stories.d.ts +4 -0
  346. package/dist/{cjs/types/src/components/CheckoutShared → esm/types/src/ui/appearance}/stories/themes.d.ts +14 -9
  347. package/dist/esm/types/src/ui/appearance/types.d.ts +531 -0
  348. package/dist/esm/types/src/ui/appearance/variables.d.ts +59 -0
  349. package/dist/esm/types/src/ui/components/Button/Button.d.ts +33 -0
  350. package/dist/{cjs/types/src/components/CheckoutShared/components/controls → esm/types/src/ui/components/Button}/Button.rules.d.ts +47 -19
  351. package/dist/esm/types/src/ui/components/Button/Button.stories.d.ts +8 -0
  352. package/dist/esm/types/src/ui/components/Card/Card.d.ts +14 -0
  353. package/dist/esm/types/src/ui/components/Card/Card.rules.d.ts +32 -0
  354. package/dist/esm/types/src/ui/components/Card/Card.stories.d.ts +8 -0
  355. package/dist/esm/types/src/ui/components/Checkbox/Checkbox.d.ts +14 -0
  356. package/dist/esm/types/src/ui/components/Checkbox/Checkbox.rules.d.ts +52 -0
  357. package/dist/esm/types/src/ui/components/Checkbox/Checkbox.stories.d.ts +8 -0
  358. package/dist/esm/types/src/ui/components/Divider/Divider.d.ts +11 -0
  359. package/dist/esm/types/src/ui/components/Divider/Divider.rules.d.ts +23 -0
  360. package/dist/esm/types/src/ui/components/Divider/Divider.stories.d.ts +8 -0
  361. package/dist/esm/types/src/ui/components/Document/Document.d.ts +7 -0
  362. package/dist/esm/types/src/ui/components/Document/Document.rules.d.ts +12 -0
  363. package/dist/esm/types/src/ui/components/Document/Document.stories.d.ts +8 -0
  364. package/dist/esm/types/src/ui/components/Drawer/Drawer.d.ts +9 -0
  365. package/dist/esm/types/src/ui/components/Drawer/Drawer.rules.d.ts +28 -0
  366. package/dist/esm/types/src/ui/components/Drawer/Drawer.stories.d.ts +11 -0
  367. package/dist/esm/types/src/ui/components/Dropdown/Dropdown.d.ts +3 -0
  368. package/dist/{cjs/types/src/components/CheckoutShared/components/CheckoutForm → esm/types/src/ui/components/Field}/Field.d.ts +6 -5
  369. package/dist/{cjs/types/src/components/CheckoutShared/components/CheckoutForm → esm/types/src/ui/components/Field}/Field.rules.d.ts +7 -10
  370. package/dist/esm/types/src/ui/components/Field/Field.stories.d.ts +8 -0
  371. package/dist/esm/types/src/ui/components/Link/Link.d.ts +3 -0
  372. package/dist/esm/types/src/ui/components/Link/Link.rules.d.ts +20 -0
  373. package/dist/esm/types/src/ui/components/Link/Link.stories.d.ts +8 -0
  374. package/dist/esm/types/src/ui/components/Modal/Modal.d.ts +8 -0
  375. package/dist/esm/types/src/ui/components/Modal/Modal.rules.d.ts +23 -0
  376. package/dist/esm/types/src/ui/components/Modal/Modal.stories.d.ts +11 -0
  377. package/dist/esm/types/src/ui/components/Popconfirm/Popconfirm.d.ts +18 -0
  378. package/dist/esm/types/src/ui/components/Popconfirm/Popconfirm.rules.d.ts +16 -0
  379. package/dist/esm/types/src/ui/components/Segmented/Segmented.d.ts +16 -0
  380. package/dist/esm/types/src/ui/components/Segmented/Segmented.rules.d.ts +46 -0
  381. package/dist/esm/types/src/ui/components/Segmented/Segmented.stories.d.ts +8 -0
  382. package/dist/esm/types/src/ui/components/Select/MultiSelect.d.ts +23 -0
  383. package/dist/esm/types/src/ui/components/Select/Select.d.ts +22 -0
  384. package/dist/esm/types/src/ui/components/Select/Select.rules.d.ts +115 -0
  385. package/dist/esm/types/src/ui/components/Select/Select.stories.d.ts +18 -0
  386. package/dist/esm/types/src/ui/components/Select/SelectMenu.d.ts +13 -0
  387. package/dist/esm/types/src/ui/components/Select/useSelectMenu.d.ts +45 -0
  388. package/dist/esm/types/src/ui/components/Skeleton/Skeleton.d.ts +8 -0
  389. package/dist/esm/types/src/ui/components/Skeleton/Skeleton.rules.d.ts +15 -0
  390. package/dist/esm/types/src/ui/components/Skeleton/Skeleton.stories.d.ts +8 -0
  391. package/dist/esm/types/src/ui/components/Spinner/Spinner.d.ts +9 -0
  392. package/dist/esm/types/src/ui/components/Spinner/Spinner.stories.d.ts +8 -0
  393. package/dist/esm/types/src/ui/components/Switch/Switch.d.ts +12 -0
  394. package/dist/esm/types/src/ui/components/Switch/Switch.rules.d.ts +66 -0
  395. package/dist/esm/types/src/ui/components/Switch/Switch.stories.d.ts +8 -0
  396. package/dist/esm/types/src/ui/components/Table/Table.d.ts +24 -0
  397. package/dist/esm/types/src/ui/components/Table/Table.stories.d.ts +8 -0
  398. package/dist/esm/types/src/ui/components/Tag/Tag.d.ts +12 -0
  399. package/dist/esm/types/src/ui/components/Tag/Tag.rules.d.ts +49 -0
  400. package/dist/esm/types/src/ui/components/Tag/Tag.stories.d.ts +8 -0
  401. package/dist/esm/types/src/ui/components/Text/Text.d.ts +53 -0
  402. package/dist/esm/types/src/ui/components/Text/Text.rules.d.ts +76 -0
  403. package/dist/esm/types/src/ui/components/Text/Text.stories.d.ts +8 -0
  404. package/dist/esm/types/src/ui/components/TextInput/TextInput.d.ts +13 -0
  405. package/dist/{cjs/types/src/components/CheckoutShared/components/controls → esm/types/src/ui/components/TextInput}/TextInput.rules.d.ts +4 -19
  406. package/dist/esm/types/src/ui/components/TextInput/TextInput.stories.d.ts +8 -0
  407. package/dist/esm/types/src/ui/components/Tooltip/Tooltip.d.ts +7 -0
  408. package/dist/esm/types/src/ui/components/Tooltip/Tooltip.rules.d.ts +24 -0
  409. package/dist/esm/types/src/utils/chargeUtils.d.ts +1 -1
  410. package/dist/esm/types/src/utils/couponUtils.d.ts +1 -1
  411. package/dist/esm/types/src/utils/priceListUtils/priceListPriceText.d.ts +1 -1
  412. package/dist/index.d.ts +1948 -698
  413. package/package.json +6 -2
  414. package/dist/cjs/types/src/UI/Tooltip.d.ts +0 -2
  415. package/dist/cjs/types/src/components/Card.d.ts +0 -6
  416. package/dist/cjs/types/src/components/Checkout/utils/storeNewPaymentMethod.d.ts +0 -8
  417. package/dist/cjs/types/src/components/CheckoutShared/appearance/CheckoutAppearanceProvider.d.ts +0 -14
  418. package/dist/cjs/types/src/components/CheckoutShared/appearance/adapters/stripe.d.ts +0 -9
  419. package/dist/cjs/types/src/components/CheckoutShared/appearance/appearance.types.test.d.ts +0 -3
  420. package/dist/cjs/types/src/components/CheckoutShared/appearance/index.d.ts +0 -3
  421. package/dist/cjs/types/src/components/CheckoutShared/appearance/resolveAppearance.d.ts +0 -21
  422. package/dist/cjs/types/src/components/CheckoutShared/appearance/ruleGroups.d.ts +0 -17
  423. package/dist/cjs/types/src/components/CheckoutShared/appearance/rules.d.ts +0 -27
  424. package/dist/cjs/types/src/components/CheckoutShared/appearance/rulesToCss.d.ts +0 -5
  425. package/dist/cjs/types/src/components/CheckoutShared/appearance/types.d.ts +0 -144
  426. package/dist/cjs/types/src/components/CheckoutShared/appearance/variables.d.ts +0 -29
  427. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/DemoPayCardBox.d.ts +0 -6
  428. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/PaymentTile.d.ts +0 -10
  429. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/PluginTiles.d.ts +0 -4
  430. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/SavedPaymentMethodTiles.d.ts +0 -4
  431. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/StripePaymentElement.d.ts +0 -8
  432. package/dist/cjs/types/src/components/CheckoutShared/components/controls/Button.d.ts +0 -24
  433. package/dist/cjs/types/src/components/CheckoutShared/components/controls/Select.d.ts +0 -17
  434. package/dist/cjs/types/src/components/CheckoutShared/components/controls/Select.rules.d.ts +0 -55
  435. package/dist/cjs/types/src/components/CheckoutShared/components/controls/Spinner.d.ts +0 -4
  436. package/dist/cjs/types/src/components/CheckoutShared/components/controls/TextInput.d.ts +0 -7
  437. package/dist/cjs/types/src/components/CheckoutShared/contexts/CheckoutPaymentMethodsContext.d.ts +0 -37
  438. package/dist/cjs/types/src/components/CheckoutShared/hooks/useNewPaymentMethod.d.ts +0 -10
  439. package/dist/cjs/types/src/components/CheckoutShared/hooks/useStripePaymentMethodId.d.ts +0 -9
  440. package/dist/cjs/types/src/components/CheckoutShared/utils/asPluginData.d.ts +0 -6
  441. package/dist/cjs/types/src/components/CheckoutShared/utils/validateDemoPayCard.d.ts +0 -5
  442. package/dist/cjs/types/src/components/CustomizedAntdComponents/Tag.d.ts +0 -37
  443. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/CreditCard.d.ts +0 -25
  444. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/index.d.ts +0 -1
  445. package/dist/cjs/types/src/components/PaymentForm/DemoPay/DemoPayForm.d.ts +0 -2
  446. package/dist/cjs/types/src/components/PaymentForm/DemoPay/demoPayUtils.d.ts +0 -21
  447. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/useApproveHold.d.ts +0 -16
  448. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/usePay.d.ts +0 -12
  449. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/useSave.d.ts +0 -9
  450. package/dist/cjs/types/src/components/PaymentForm/DemoPay/index.d.ts +0 -1
  451. package/dist/cjs/types/src/components/PaymentForm/Stripe/StripeForm.d.ts +0 -2
  452. package/dist/cjs/types/src/components/PaymentForm/Stripe/StripeFormProvider.d.ts +0 -4
  453. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/useApproveHold.d.ts +0 -16
  454. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/usePay.d.ts +0 -12
  455. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/useSave.d.ts +0 -10
  456. package/dist/cjs/types/src/components/PaymentForm/Stripe/stripeLoader.d.ts +0 -12
  457. package/dist/cjs/types/src/components/PaymentForm/Stripe/stripeUtils.d.ts +0 -39
  458. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodDetails/components/Collapsible.d.ts +0 -7
  459. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodDetails/components/PaymentMethodSelector.d.ts +0 -2
  460. package/dist/cjs/types/src/components/PaymentForm/context/PaymentMethodFormVisibilityContext.d.ts +0 -12
  461. package/dist/cjs/types/src/components/PaymentForm/context/SelectedPaymentPluginContext.d.ts +0 -6
  462. package/dist/cjs/types/src/components/PaymentForm/context/SelectedPluginProvider.d.ts +0 -16
  463. package/dist/cjs/types/src/components/PaymentForm/context/ShowPaymentDetailsContext.d.ts +0 -5
  464. package/dist/cjs/types/src/components/PaymentForm/fragments/StoredPaymentMethods_PaymentMethodsFragment.d.ts +0 -13
  465. package/dist/cjs/types/src/components/PaymentForm/hooks/useHasActiveSubscription.d.ts +0 -5
  466. package/dist/cjs/types/src/components/Quote/StyledModal.d.ts +0 -3
  467. package/dist/esm/types/src/UI/Tooltip.d.ts +0 -2
  468. package/dist/esm/types/src/components/Card.d.ts +0 -6
  469. package/dist/esm/types/src/components/Checkout/utils/storeNewPaymentMethod.d.ts +0 -8
  470. package/dist/esm/types/src/components/CheckoutShared/appearance/CheckoutAppearanceProvider.d.ts +0 -14
  471. package/dist/esm/types/src/components/CheckoutShared/appearance/adapters/stripe.d.ts +0 -9
  472. package/dist/esm/types/src/components/CheckoutShared/appearance/appearance.types.test.d.ts +0 -3
  473. package/dist/esm/types/src/components/CheckoutShared/appearance/index.d.ts +0 -3
  474. package/dist/esm/types/src/components/CheckoutShared/appearance/resolveAppearance.d.ts +0 -21
  475. package/dist/esm/types/src/components/CheckoutShared/appearance/ruleGroups.d.ts +0 -17
  476. package/dist/esm/types/src/components/CheckoutShared/appearance/rules.d.ts +0 -27
  477. package/dist/esm/types/src/components/CheckoutShared/appearance/rulesToCss.d.ts +0 -5
  478. package/dist/esm/types/src/components/CheckoutShared/appearance/types.d.ts +0 -144
  479. package/dist/esm/types/src/components/CheckoutShared/appearance/variables.d.ts +0 -29
  480. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/DemoPayCardBox.d.ts +0 -6
  481. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/PaymentTile.d.ts +0 -10
  482. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/PluginTiles.d.ts +0 -4
  483. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/SavedPaymentMethodTiles.d.ts +0 -4
  484. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/StripePaymentElement.d.ts +0 -8
  485. package/dist/esm/types/src/components/CheckoutShared/components/controls/Button.d.ts +0 -24
  486. package/dist/esm/types/src/components/CheckoutShared/components/controls/Select.d.ts +0 -17
  487. package/dist/esm/types/src/components/CheckoutShared/components/controls/Select.rules.d.ts +0 -55
  488. package/dist/esm/types/src/components/CheckoutShared/components/controls/Spinner.d.ts +0 -4
  489. package/dist/esm/types/src/components/CheckoutShared/components/controls/TextInput.d.ts +0 -7
  490. package/dist/esm/types/src/components/CheckoutShared/contexts/CheckoutPaymentMethodsContext.d.ts +0 -37
  491. package/dist/esm/types/src/components/CheckoutShared/hooks/useNewPaymentMethod.d.ts +0 -10
  492. package/dist/esm/types/src/components/CheckoutShared/hooks/useStripePaymentMethodId.d.ts +0 -9
  493. package/dist/esm/types/src/components/CheckoutShared/utils/asPluginData.d.ts +0 -6
  494. package/dist/esm/types/src/components/CheckoutShared/utils/validateDemoPayCard.d.ts +0 -5
  495. package/dist/esm/types/src/components/CustomizedAntdComponents/Tag.d.ts +0 -37
  496. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/CreditCard.d.ts +0 -25
  497. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/index.d.ts +0 -1
  498. package/dist/esm/types/src/components/PaymentForm/DemoPay/DemoPayForm.d.ts +0 -2
  499. package/dist/esm/types/src/components/PaymentForm/DemoPay/demoPayUtils.d.ts +0 -21
  500. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/useApproveHold.d.ts +0 -16
  501. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/usePay.d.ts +0 -12
  502. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/useSave.d.ts +0 -9
  503. package/dist/esm/types/src/components/PaymentForm/DemoPay/index.d.ts +0 -1
  504. package/dist/esm/types/src/components/PaymentForm/Stripe/StripeForm.d.ts +0 -2
  505. package/dist/esm/types/src/components/PaymentForm/Stripe/StripeFormProvider.d.ts +0 -4
  506. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/useApproveHold.d.ts +0 -16
  507. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/usePay.d.ts +0 -12
  508. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/useSave.d.ts +0 -10
  509. package/dist/esm/types/src/components/PaymentForm/Stripe/stripeLoader.d.ts +0 -12
  510. package/dist/esm/types/src/components/PaymentForm/Stripe/stripeUtils.d.ts +0 -39
  511. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodDetails/components/Collapsible.d.ts +0 -7
  512. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodDetails/components/PaymentMethodSelector.d.ts +0 -2
  513. package/dist/esm/types/src/components/PaymentForm/context/PaymentMethodFormVisibilityContext.d.ts +0 -12
  514. package/dist/esm/types/src/components/PaymentForm/context/SelectedPaymentPluginContext.d.ts +0 -6
  515. package/dist/esm/types/src/components/PaymentForm/context/SelectedPluginProvider.d.ts +0 -16
  516. package/dist/esm/types/src/components/PaymentForm/context/ShowPaymentDetailsContext.d.ts +0 -5
  517. package/dist/esm/types/src/components/PaymentForm/fragments/StoredPaymentMethods_PaymentMethodsFragment.d.ts +0 -13
  518. package/dist/esm/types/src/components/PaymentForm/hooks/useHasActiveSubscription.d.ts +0 -5
  519. package/dist/esm/types/src/components/Quote/StyledModal.d.ts +0 -3
  520. /package/dist/cjs/types/src/components/{CheckoutShared/components/CheckoutForm → PaymentMethods/components}/CardBrandIcons.d.ts +0 -0
  521. /package/dist/cjs/types/src/components/{PaymentForm/DemoPay/CreditCard → PaymentMethods}/components/CardImage.d.ts +0 -0
  522. /package/dist/cjs/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayCardCvc.d.ts +0 -0
  523. /package/dist/cjs/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayCardNumber.d.ts +0 -0
  524. /package/dist/cjs/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayExpiry.d.ts +0 -0
  525. /package/dist/cjs/types/src/{components/CheckoutShared → ui}/appearance/scripts/dumpAppearance.d.ts +0 -0
  526. /package/dist/cjs/types/src/{UI → ui/components}/TruncatedText/TruncatedText.d.ts +0 -0
  527. /package/dist/cjs/types/src/{UI → ui/components}/TruncatedText/hooks/useIsTextTruncated.d.ts +0 -0
  528. /package/dist/esm/types/src/components/{CheckoutShared/components/CheckoutForm → PaymentMethods/components}/CardBrandIcons.d.ts +0 -0
  529. /package/dist/esm/types/src/components/{PaymentForm/DemoPay/CreditCard → PaymentMethods}/components/CardImage.d.ts +0 -0
  530. /package/dist/esm/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayCardCvc.d.ts +0 -0
  531. /package/dist/esm/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayCardNumber.d.ts +0 -0
  532. /package/dist/esm/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayExpiry.d.ts +0 -0
  533. /package/dist/esm/types/src/{components/CheckoutShared → ui}/appearance/scripts/dumpAppearance.d.ts +0 -0
  534. /package/dist/esm/types/src/{UI → ui/components}/TruncatedText/TruncatedText.d.ts +0 -0
  535. /package/dist/esm/types/src/{UI → ui/components}/TruncatedText/hooks/useIsTextTruncated.d.ts +0 -0
package/dist/index.d.ts CHANGED
@@ -1,15 +1,1352 @@
1
1
  import * as react from 'react';
2
- import react__default, { ReactNode, ComponentProps } from 'react';
3
- import Invoice$1 from '@/types/Invoice';
2
+ import react__default, { CSSProperties, ReactNode, ComponentProps } from 'react';
4
3
  import * as gql_tada from 'gql.tada';
5
4
  import { ResultOf, FragmentOf } from 'gql.tada';
6
- import FormattedInvoice from '@/types/FormattedInvoice';
7
- import { Quote as Quote$1 } from '@/types/Quote';
8
5
  import { QueryClient } from '@tanstack/react-query';
9
- import { ThemeConfig } from 'antd';
10
- import { Transaction } from '@/types/Transaction';
11
6
 
12
- type ShadowType = "shadow-none" | "shadow-sm" | "shadow-md" | "shadow-lg" | "shadow-xl";
7
+ type PriceTier = {
8
+ starts: number;
9
+ price: number;
10
+ };
11
+
12
+ type QuoteChangeKind$1 = 'ACTIVATE' | 'ADJUSTMENT' | 'COUPON' | 'CREDIT' | 'DISCOUNT' | 'FREE_PERIOD_DISCOUNT' | 'PERCENTAGE_DISCOUNT' | 'PRICE_UPDATE' | 'QUANTITY_UPDATE' | 'REINSTATE' | 'RENEW' | 'SUBSCRIBE' | 'UNSUBSCRIBE' | 'UPDATE';
13
+ type ChargeType = 'ONE_TIME' | 'RECURRING' | 'USAGE';
14
+ type BillingPeriod = 'ANNUAL' | 'MONTHLY' | 'ONCE' | 'QUARTERLY' | 'SEMI_ANNUAL';
15
+
16
+ type PlanFeature = {
17
+ code: string;
18
+ description?: string;
19
+ feature: Feature;
20
+ id: string;
21
+ name: string;
22
+ featureId: string;
23
+ value?: string;
24
+ planId?: string;
25
+ };
26
+
27
+ declare enum PriceAdjustmentAction {
28
+ NO_CHANGE = "NO_CHANGE",
29
+ PERCENTAGE = "PERCENTAGE",
30
+ CATALOG = "CATALOG"
31
+ }
32
+
33
+ declare enum PriceAdjustmentTiming {
34
+ AT_RENEWAL = "AT_RENEWAL",
35
+ JANUARY = "JANUARY",
36
+ FEBRUARY = "FEBRUARY",
37
+ MARCH = "MARCH",
38
+ APRIL = "APRIL",
39
+ MAY = "MAY",
40
+ JUNE = "JUNE",
41
+ JULY = "JULY",
42
+ AUGUST = "AUGUST",
43
+ SEPTEMBER = "SEPTEMBER",
44
+ OCTOBER = "OCTOBER",
45
+ NOVEMBER = "NOVEMBER",
46
+ DECEMBER = "DECEMBER"
47
+ }
48
+
49
+ type Currency = {
50
+ id: string;
51
+ enabled: boolean;
52
+ priority: number;
53
+ name: string;
54
+ isoCode: string;
55
+ isoNumeric: string;
56
+ symbol: string;
57
+ symbolFirst: boolean;
58
+ };
59
+
60
+ type PriceListChargeTier = {
61
+ starts: number;
62
+ ends: number;
63
+ price: number;
64
+ };
65
+
66
+ declare enum UsageCalculationType {
67
+ SUM = "SUM",
68
+ MAX = "MAX",
69
+ LAST = "LAST"
70
+ }
71
+ declare enum PricingModel {
72
+ FLAT = "FLAT",
73
+ TIERED = "TIERED",
74
+ VOLUME = "VOLUME",
75
+ BANDS = "BANDS"
76
+ }
77
+ type PriceListCharge = {
78
+ id: string;
79
+ priceListId: string;
80
+ name: string;
81
+ selfServiceQuantity?: boolean;
82
+ specificInvoiceLineText?: string;
83
+ chargeType?: ChargeType;
84
+ pricingModel?: PricingModel;
85
+ billingPeriod?: BillingPeriod;
86
+ quantityMin?: number;
87
+ quantityMax?: number;
88
+ price?: Number;
89
+ priceDecimals?: number;
90
+ priceDescription?: string;
91
+ basePrice: number;
92
+ featureId?: string;
93
+ accountingCode?: string;
94
+ taxCode?: string;
95
+ createdAt: string;
96
+ updatedAt: string;
97
+ recognitionPeriod?: number;
98
+ priceListChargeTiers?: PriceListChargeTier[];
99
+ priceList?: PriceList;
100
+ plan?: Plan;
101
+ feature?: Feature;
102
+ usageCalculationType?: UsageCalculationType;
103
+ description?: string;
104
+ featureAddon?: boolean;
105
+ };
106
+
107
+ type AccountType = {
108
+ id: string;
109
+ name: string;
110
+ created_at: string;
111
+ updated_at: string;
112
+ };
113
+
114
+ type Role = {
115
+ id: string;
116
+ name: string;
117
+ scopes?: string[];
118
+ };
119
+
120
+ type UserProfile = {
121
+ title?: string;
122
+ phone?: string;
123
+ timezone?: string;
124
+ tabnameIsSubdomain?: boolean;
125
+ };
126
+
127
+ interface User {
128
+ id: string;
129
+ uuid?: string;
130
+ managerUserId?: string;
131
+ fullName: string;
132
+ firstName: string;
133
+ lastName?: string;
134
+ email?: string;
135
+ title?: string;
136
+ createdAt: string;
137
+ updatedAt: string;
138
+ lastLogin?: string;
139
+ managerUser?: User;
140
+ subordinates?: User[];
141
+ roleId?: string;
142
+ groupId?: string;
143
+ imageUrl: string;
144
+ enabled?: boolean;
145
+ allowLoginViaEmailLink?: boolean;
146
+ role?: Role;
147
+ profile?: UserProfile;
148
+ }
149
+
150
+ interface ApprovalRule {
151
+ id?: string;
152
+ name?: string;
153
+ active?: boolean;
154
+ fromDate?: string;
155
+ toDate?: string;
156
+ approverId?: string;
157
+ approver?: Approver;
158
+ totalQuoteAmount?: number;
159
+ totalQuoteAmountEnabled: boolean;
160
+ overallQuoteDiscount?: number;
161
+ overallQuoteDiscountEnabled: boolean;
162
+ }
163
+
164
+ interface Approver {
165
+ id: string;
166
+ name?: string;
167
+ userId: string;
168
+ user?: User;
169
+ approvalRules?: ApprovalRule[];
170
+ }
171
+
172
+ type ApprovalDecision = {
173
+ id?: string;
174
+ approvalRequestId: string;
175
+ approvalRequest: ApprovalRequest;
176
+ approverId: string;
177
+ approver: Approver;
178
+ notes?: string;
179
+ state: ApprovalRequestState;
180
+ };
181
+
182
+ type ApprovalRequestState = "PENDING" | "APPROVED" | "REJECTED";
183
+ type ApprovalRequest = {
184
+ approvers: Approver[];
185
+ approvalDecisions: ApprovalDecision[];
186
+ id?: string;
187
+ quoteId: string;
188
+ quote: Quote$1;
189
+ state: ApprovalRequestState;
190
+ totalApprovers: number;
191
+ totalApprovals: number;
192
+ totalRejections: number;
193
+ triggeredApprovalRules: ApprovalRule[];
194
+ };
195
+
196
+ type Campaign = {
197
+ id: string;
198
+ name?: string;
199
+ code?: string;
200
+ ownerUserId?: string;
201
+ startDate?: string;
202
+ endDate?: string;
203
+ owner?: User;
204
+ leadCount: number;
205
+ contactCount: number;
206
+ };
207
+
208
+ type Contact = {
209
+ id: string;
210
+ code?: string;
211
+ accountId?: string;
212
+ firstName: string;
213
+ lastName?: string;
214
+ fullName: string;
215
+ salutation?: string;
216
+ title?: string;
217
+ phone?: string;
218
+ mobile?: string;
219
+ email?: string;
220
+ mailingStreet?: string;
221
+ mailingCity?: string;
222
+ mailingZip?: string;
223
+ mailingState?: string;
224
+ mailingCountry?: string;
225
+ portalAccess?: boolean;
226
+ createdAt: string;
227
+ updatedAt?: string;
228
+ description?: string;
229
+ account?: Account;
230
+ campaigns: Campaign[];
231
+ };
232
+
233
+ type AmountByTier = {
234
+ id: string;
235
+ tier: {
236
+ starts: number;
237
+ ends: number | null;
238
+ price: number;
239
+ };
240
+ quantity: number;
241
+ amount: number;
242
+ };
243
+ type AmountByPeriod$1 = {
244
+ amount: number;
245
+ endDate: string;
246
+ id: string;
247
+ name: string;
248
+ startDate: string;
249
+ amountsByTier: AmountByTier[];
250
+ prorationRate: number;
251
+ quantity: number;
252
+ };
253
+ type FormattedLine = {
254
+ amount: number;
255
+ amountsByPeriod: AmountByPeriod$1[];
256
+ billingPeriodEnd: string;
257
+ billingPeriodStart: string;
258
+ chargeType: string;
259
+ discount: number;
260
+ frequency: string;
261
+ isRamp?: boolean;
262
+ lineText?: string;
263
+ periods: number | string;
264
+ planName: string;
265
+ position: number;
266
+ price: number;
267
+ priceDecimals: number;
268
+ priceListChargeId: string;
269
+ priceListChargeName?: string;
270
+ priceListId: string;
271
+ pricingModel: PricingModel;
272
+ productName: string;
273
+ prorationRate: number;
274
+ quantity?: number;
275
+ showProductNameOnLineItem: boolean;
276
+ taxCode?: string;
277
+ trialEndDate?: string;
278
+ unitOfMeasure: string;
279
+ vatCode?: string;
280
+ };
281
+
282
+ type PeriodAmount = {
283
+ id: string;
284
+ name: string;
285
+ amount: number;
286
+ startDate: string;
287
+ endDate: string;
288
+ amountsByTier: Array<Record<string, any>>;
289
+ };
290
+
291
+ type Interval = {
292
+ intervalStart: string;
293
+ intervalUsage: number;
294
+ };
295
+ type DataEntry = {
296
+ periodStart: string;
297
+ periodEnd: string;
298
+ intervals: Interval[];
299
+ intervalsTotal: number;
300
+ };
301
+ type SubscriptionCharge$1 = {
302
+ id: string;
303
+ name: string;
304
+ amount: number;
305
+ currentPeriodPriceByTiers: any | null;
306
+ };
307
+ type Feature$1 = {
308
+ id: string;
309
+ name: string;
310
+ };
311
+ declare enum DataInterval {
312
+ DAILY = "DAILY",
313
+ MONTHLY = "MONTHLY",
314
+ QUARTERLY = "QUARTERLY",
315
+ SEMIANNUALLY = "SEMIANNUALLY",
316
+ YEARLY = "YEARLY"
317
+ }
318
+ type FeatureUsage = {
319
+ subscriptionCharge?: SubscriptionCharge$1;
320
+ feature: Feature$1;
321
+ periodRange: string;
322
+ dataInterval: DataInterval;
323
+ data: DataEntry[];
324
+ };
325
+
326
+ type SubscriptionCharge = {
327
+ account: Account;
328
+ amount: number;
329
+ billingPeriod: BillingPeriod;
330
+ chargeType: ChargeType;
331
+ createdAt: string;
332
+ currency: Currency;
333
+ discount?: number;
334
+ discountedPrice: string;
335
+ endDate: string;
336
+ expired: boolean;
337
+ feature?: Feature;
338
+ id: string;
339
+ invoiceLineText: string;
340
+ isAmendment: boolean;
341
+ isRamp?: boolean;
342
+ kind: QuoteChangeKind$1;
343
+ name: string;
344
+ periodPrice: number;
345
+ price: string;
346
+ priceDecimals: number;
347
+ priceList: PriceList;
348
+ priceListCharge?: PriceListCharge;
349
+ priceListChargeId: string;
350
+ priceListId: string;
351
+ priceTiers: PriceTier[];
352
+ pricingModel: PricingModel;
353
+ prorationRate?: number;
354
+ quantity: number;
355
+ quantityMax?: number;
356
+ quantityMin?: number;
357
+ selfServiceQuantity?: boolean;
358
+ startDate: string;
359
+ tieredAveragePrice?: number;
360
+ trial: boolean;
361
+ updatedAt: string;
362
+ histogram?: FeatureUsage;
363
+ };
364
+
365
+ declare enum SubscriptionState {
366
+ ACTIVE = "ACTIVE",
367
+ TRIAL = "TRIAL",
368
+ PENDING = "PENDING",
369
+ EXPIRED = "EXPIRED",
370
+ CANCELED = "CANCELED",
371
+ TRIAL_EXPIRED = "TRIAL_EXPIRED"
372
+ }
373
+
374
+ type Subscription = {
375
+ account: Account;
376
+ accountId: string;
377
+ cancellationDate?: string;
378
+ charges: SubscriptionCharge[];
379
+ currentCharges?: SubscriptionCharge[];
380
+ chargeReport?: SubscriptionCharge[];
381
+ createdAt: string;
382
+ currencyId: string;
383
+ endDate: string;
384
+ evergreen: Boolean;
385
+ id: string;
386
+ name: string;
387
+ period: string;
388
+ plan: Plan;
389
+ priceList: PriceList;
390
+ product: Product;
391
+ provisioningRequired: Boolean;
392
+ startDate: string;
393
+ state: SubscriptionState;
394
+ tenant: Tenant;
395
+ trialEndDate: string;
396
+ daysLeftInTrial?: number;
397
+ trialExpirationAction: TrialExpirationAction;
398
+ trialPeriod: string;
399
+ trialStartDate: string;
400
+ updatedAt: string;
401
+ addonSubscriptions?: Subscription[];
402
+ };
403
+
404
+ type QuoteChange = {
405
+ charges: QuoteCharge[];
406
+ currencyId: string;
407
+ endDate?: string;
408
+ id: string;
409
+ kind: QuoteChangeKind$1;
410
+ name: string;
411
+ priceList: PriceList;
412
+ priceListId?: string;
413
+ quote: Quote$1;
414
+ quoteId: string;
415
+ startDate?: string;
416
+ subscription?: Subscription;
417
+ subscriptionId?: string;
418
+ };
419
+
420
+ type FormattedQuote = {
421
+ object: any;
422
+ acceptedAt: string;
423
+ acceptedByName: string;
424
+ acceptedByTitle: string;
425
+ amount: number;
426
+ amountsByPeriod: PeriodAmount[];
427
+ billingCity: string;
428
+ billingCountry: string;
429
+ billingState: string;
430
+ billingStreet: string;
431
+ billingZip: string;
432
+ contactEmail: string;
433
+ contactName: string;
434
+ currency: string;
435
+ customerBillingCity: string;
436
+ customerBillingCountry: string;
437
+ customerBillingState: string;
438
+ customerBillingStreet: string;
439
+ customerBillingZip: string;
440
+ customerName: string;
441
+ discount: number;
442
+ discountValue: number;
443
+ expiresAt: string;
444
+ formattedLines: FormattedLine[];
445
+ html: string;
446
+ id: string;
447
+ name: string;
448
+ netPaymentDays: number;
449
+ number: string;
450
+ poNumberRequired: boolean;
451
+ quote: Quote$1;
452
+ quoteChanges: QuoteChange[];
453
+ salesContactEmail: string;
454
+ sharedAt: string;
455
+ state: 'DRAFT' | 'SHARED' | 'VIEWED' | 'ACCEPTED' | 'APPLIED';
456
+ subtotal: number;
457
+ taxAmount: number;
458
+ taxNumberLabel: string;
459
+ taxNumberRequired: boolean;
460
+ vendorName: string;
461
+ approvalRequest: ApprovalRequest;
462
+ };
463
+
464
+ type DisputeReason = {
465
+ id?: number;
466
+ name?: string;
467
+ description?: string;
468
+ };
469
+
470
+ declare enum TaxTypeType {
471
+ GENERIC = "GENERIC",
472
+ VAT = "VAT",
473
+ GST = "GST",
474
+ EIN = "EIN"
475
+ }
476
+ type Entity = {
477
+ id: string;
478
+ name: string | null;
479
+ billingStreet: string | null;
480
+ billingCity: string | null;
481
+ billingState: string | null;
482
+ billingZip: string | null;
483
+ billingCountry: string | null;
484
+ createdAt: string;
485
+ updatedAt: string;
486
+ phone: string | null;
487
+ fax: string | null;
488
+ website: string | null;
489
+ quoteNumberSeq: number | null;
490
+ quoteNumberPrefix: string | null;
491
+ invoiceNumberSeq: number | null;
492
+ invoiceNumberPrefix: string | null;
493
+ brandColor: string | null;
494
+ accentColor: string | null;
495
+ emailTemplate: string;
496
+ emailSenderName: string | null;
497
+ termsUrl: string | null;
498
+ privacyUrl: string | null;
499
+ refundPolicyUrl: string | null;
500
+ customerServiceEmail: string | null;
501
+ taxType: TaxTypeType | null;
502
+ taxId: string | null;
503
+ timezone: string | null;
504
+ quotesImageUrl: string;
505
+ invoicesImageUrl: string;
506
+ topNavImageUrl: string;
507
+ abbreviation: string;
508
+ baseCurrencyId: string;
509
+ };
510
+
511
+ type CreditNoteItem = {
512
+ id: string;
513
+ amount: number;
514
+ currencyId: string;
515
+ invoiceItem?: InvoiceItem;
516
+ invoiceItemId?: string;
517
+ lineText?: string;
518
+ position?: number;
519
+ price: number;
520
+ priceDecimals: number;
521
+ priceTiers?: PriceTier[];
522
+ quantity?: number;
523
+ subtotal: number;
524
+ taxAmount?: number;
525
+ taxCode?: string;
526
+ vatCode?: string;
527
+ };
528
+
529
+ type InvoiceConnection = {
530
+ nodes: Invoice$1[];
531
+ totalCount?: number;
532
+ };
533
+
534
+ declare enum CreditNoteState {
535
+ PREPARING = "PREPARING",
536
+ DRAFT = "DRAFT",
537
+ READY = "READY",
538
+ PARTIALLY_APPLIED = "PARTIALLY_APPLIED",
539
+ APPLIED = "APPLIED"
540
+ }
541
+
542
+ type CreditNoteKind = 'REFUND' | 'WRITE_OFF';
543
+ type CreditNote = {
544
+ account: Account;
545
+ accountId: string;
546
+ amount: number;
547
+ amountApplied: number;
548
+ amountUnapplied: number;
549
+ appliedToInvoices?: InvoiceConnection;
550
+ createdAt: string;
551
+ created_at: string;
552
+ creditNoteItems?: CreditNoteItem[];
553
+ creditedInvoice?: Invoice$1;
554
+ creditedInvoiceId?: string;
555
+ currency: string;
556
+ currencyId: string;
557
+ description: string;
558
+ disputeReason?: DisputeReason;
559
+ disputeReasonId?: string;
560
+ entity: Entity;
561
+ entityId: string;
562
+ id: string;
563
+ invoice?: Invoice$1;
564
+ invoiceId?: string;
565
+ isCredit: boolean;
566
+ isLegacy: boolean;
567
+ issuedAt?: string;
568
+ kind: CreditNoteKind;
569
+ notes?: string;
570
+ number?: string;
571
+ operations: string[];
572
+ state: CreditNoteState;
573
+ subtotal: number;
574
+ taxAmount: number;
575
+ updatedAt: string;
576
+ uuid: string;
577
+ warrenId: string;
578
+ };
579
+
580
+ type PaymentApplication = {
581
+ id: number;
582
+ paymentId?: number;
583
+ invoiceId?: number;
584
+ amount?: number;
585
+ account?: Account;
586
+ invoice?: Invoice$1;
587
+ createdAt?: string;
588
+ updatedAt?: string;
589
+ };
590
+
591
+ type PayableItem = {
592
+ uuid: string;
593
+ amount: number;
594
+ subtotal: number;
595
+ taxAmount: number;
596
+ quantity: number;
597
+ frequency?: string;
598
+ startDate: Date;
599
+ endDate: Date;
600
+ };
601
+
602
+ interface Payable {
603
+ id?: string;
604
+ payableId: string;
605
+ uuid: string;
606
+ number: string;
607
+ currencyId: string;
608
+ currency: Currency;
609
+ amount: number;
610
+ amountDue: number;
611
+ smallUnitAmountDue: number;
612
+ state: string;
613
+ items?: Array<PayableItem>;
614
+ }
615
+
616
+ declare enum TransactionState {
617
+ not_due = "not_due",
618
+ due = "due",
619
+ unpaid = "unpaid",
620
+ paid = "paid",
621
+ voided = "voided",
622
+ ready = "ready",
623
+ failed = "failed",
624
+ preparing = "preparing",
625
+ unapplied = "unapplied",
626
+ partially_applied = "partially_applied",
627
+ applied = "applied"
628
+ }
629
+
630
+ type State$2 = "APPLIED" | "UNAPPLIED" | "PARTIALLY_APPLIED";
631
+ type Payment = {
632
+ id: string;
633
+ currencyId: string;
634
+ memo: string;
635
+ description: string;
636
+ state: State$2;
637
+ amount: number;
638
+ receivedAt: string;
639
+ createdAt: string;
640
+ updatedAt: string;
641
+ transactionRecord: Transaction;
642
+ account: Account;
643
+ accountId: number;
644
+ invoices: Invoice$1[];
645
+ amountUnapplied: number;
646
+ };
647
+
648
+ declare enum TransactionKind {
649
+ INVOICE = "INVOICE",
650
+ PAYMENT = "PAYMENT",
651
+ REFUND = "REFUND",
652
+ WRITE_OFF = "WRITE_OFF"
653
+ }
654
+ type Transaction = {
655
+ account: Account;
656
+ accountId: string;
657
+ amount: number;
658
+ createdAt: string;
659
+ currencyId: string;
660
+ description: string;
661
+ id: string;
662
+ invoice?: Invoice$1;
663
+ kind: TransactionKind;
664
+ payment?: Payment;
665
+ state: TransactionState;
666
+ transactionable: Payment | Invoice$1;
667
+ transactionableId: string;
668
+ creditNote?: CreditNote;
669
+ };
670
+
671
+ type State$1 = 'NOT_DUE' | 'DUE' | 'UNPAID' | 'PAID' | 'VOIDED' | 'READY' | 'FAILED' | 'PREPARING';
672
+ type Invoice$1 = {
673
+ account: Account;
674
+ accountId: string;
675
+ amount: number;
676
+ amountDue: number;
677
+ amountPaid: number;
678
+ baseCurrencyId: string;
679
+ couponApplied: boolean;
680
+ createdAt: string;
681
+ creditItem?: InvoiceItem;
682
+ creditNote?: CreditNote;
683
+ creditNotes?: CreditNote[];
684
+ credits?: number;
685
+ currency?: Currency;
686
+ currencyId: string;
687
+ description: string;
688
+ dueAt?: string;
689
+ entity: Entity;
690
+ hasPaymentMethod?: boolean;
691
+ id: string;
692
+ invoiceId: string;
693
+ invoiceItems: InvoiceItem[];
694
+ isLegacy: boolean;
695
+ issuedAt?: string;
696
+ kind: string;
697
+ memo?: string;
698
+ mergedInvoices?: Invoice$1[];
699
+ mergedToInvoice?: Invoice$1;
700
+ netPaymentDays: number;
701
+ notes?: string;
702
+ number: string;
703
+ operations: string[];
704
+ paidAt?: string;
705
+ payableId: string;
706
+ paymentApplications?: PaymentApplication[];
707
+ poNumber?: string;
708
+ portalUrl: string;
709
+ printedState: string | null;
710
+ quote?: Quote$1;
711
+ quoteId?: string;
712
+ smallUnitAmountDue?: number;
713
+ state: State$1;
714
+ subtotal: number;
715
+ taxAmount: number;
716
+ transactionRecord: Transaction;
717
+ updatedAt: string;
718
+ url: string;
719
+ uuid: string;
720
+ } & Payable;
721
+
722
+ type QuoteDocument = {
723
+ id: string;
724
+ filename: string;
725
+ size: string;
726
+ date: string;
727
+ url: string;
728
+ };
729
+
730
+ type Type$1 = "INPUT" | "DATEPICKER" | "SWITCH" | "COMBO" | "TEXTAREA" | "DESCRIPTION";
731
+ type Format = 'SECRET' | 'HUMANIZE' | 'BOOLEAN' | 'DATE' | 'DATETIME' | 'PERCENTAGE' | 'NUMERIC' | 'CURRENCY';
732
+ type DynamicComponent = {
733
+ title: string;
734
+ type: Type$1;
735
+ format?: Format;
736
+ name: string;
737
+ column: string;
738
+ value?: string;
739
+ tooltip?: string;
740
+ };
741
+
742
+ type Kind$2 = "SECRET" | "STRING" | "NUMBER" | "BOOLEAN";
743
+ type PluginParameter = {
744
+ id: string;
745
+ name?: string;
746
+ shortName?: string;
747
+ pluginDefinition: PluginDefinition;
748
+ pluginDefinitionId: string;
749
+ kind?: Kind$2;
750
+ uuid?: string;
751
+ };
752
+
753
+ type PluginVendor = {
754
+ id: string;
755
+ name: string;
756
+ uuid: string;
757
+ };
758
+
759
+ type Type = "PAYMENT" | "OTHER" | "TAXATION" | "SIGNING";
760
+ type PluginDefinition = {
761
+ id: string;
762
+ name: string;
763
+ metadata: any;
764
+ shortName?: string;
765
+ logo?: string;
766
+ description?: string;
767
+ summary?: string;
768
+ userIsolation?: boolean;
769
+ platformName?: string;
770
+ pluginType?: Type;
771
+ pluginVendorId?: string;
772
+ pluginVendor?: PluginVendor;
773
+ pluginParameters?: PluginParameter[];
774
+ hidden?: boolean;
775
+ uuid?: string;
776
+ authType?: string;
777
+ helplink?: string;
778
+ };
779
+
780
+ type PluginActionMenuItem = {
781
+ label: string;
782
+ methodName: string;
783
+ relUrl?: string;
784
+ visible?: string;
785
+ };
786
+ type PluginStatus = "VALID" | "INVALID";
787
+ type PluginType = string;
788
+ type Plugin = {
789
+ actionMenu?: PluginActionMenuItem[];
790
+ authType?: string;
791
+ classes?: string[];
792
+ componentName?: string;
793
+ description?: string;
794
+ dynamicComponents: DynamicComponent[];
795
+ enabled?: boolean;
796
+ enabledOnlyForUser?: User;
797
+ enabledOnlyForUserId?: string;
798
+ entities?: Entity[];
799
+ entityIds?: string[];
800
+ entitySelectionEnabled?: boolean;
801
+ guid: string;
802
+ helplink?: string;
803
+ hidden?: boolean;
804
+ id: string;
805
+ logo?: string;
806
+ name: string;
807
+ pluginDefinition?: PluginDefinition;
808
+ pluginDefinitionId?: string;
809
+ pluginVendor?: PluginVendor;
810
+ pluginVendorId?: string;
811
+ status?: PluginStatus;
812
+ summary?: string;
813
+ type: PluginType;
814
+ userIsolation?: boolean;
815
+ uuid: string;
816
+ webhookUrl?: string;
817
+ };
818
+
819
+ type State = "UNKNOWN" | "SUCCESS" | "FAILED";
820
+ type PaymentType = "CARD" | "WIRE" | "OTHER" | "ACH";
821
+ type PaymentMethod = {
822
+ account?: Account;
823
+ accountId?: string;
824
+ createdAt?: string;
825
+ disabled?: boolean;
826
+ expirationDate?: string;
827
+ failureCode?: string;
828
+ id: string;
829
+ lastSuccess?: string;
830
+ metadata: {
831
+ description: string;
832
+ icon: string;
833
+ identifier: string;
834
+ issuer: string;
835
+ kind: string;
836
+ type: string;
837
+ };
838
+ isDefault?: boolean;
839
+ paymentType?: PaymentType;
840
+ plugin?: Plugin;
841
+ pluginId?: string;
842
+ state?: State;
843
+ updatedAt?: string;
844
+ };
845
+
846
+ interface PaymentHold {
847
+ id?: string;
848
+ expiresAt?: Date;
849
+ createdAt?: Date;
850
+ updatedAt?: Date;
851
+ quote?: Quote$1;
852
+ paymentMethod?: PaymentMethod;
853
+ }
854
+
855
+ type QuoteState = 'DRAFT' | 'SHARED' | 'VIEWED' | 'ACCEPTED' | 'IN_APPROVAL' | 'APPROVED' | 'REJECTED';
856
+ type AmountByPeriod = {
857
+ id?: string;
858
+ name?: string;
859
+ date?: string;
860
+ amount: number;
861
+ startDate: string;
862
+ };
863
+ type DateOption = {
864
+ end_date: string;
865
+ label: string;
866
+ };
867
+ type Quote$1 = {
868
+ acceptedByName?: string;
869
+ acceptedByTitle?: string;
870
+ account?: Account;
871
+ accountId: string;
872
+ amount: number;
873
+ amountDue: number;
874
+ amountsByPeriod: AmountByPeriod[];
875
+ applicationDate?: string;
876
+ applied: boolean;
877
+ approvalRequest: ApprovalRequest;
878
+ billingDay?: number;
879
+ contact?: Contact;
880
+ createdAt: string;
881
+ credits?: number;
882
+ currency?: Currency;
883
+ currencyId: string;
884
+ currentPaymentHold?: PaymentHold;
885
+ deal?: Deal;
886
+ dealId: string;
887
+ discount?: number;
888
+ discountValue: number;
889
+ documentTemplateId?: string;
890
+ documents: QuoteDocument[];
891
+ endDate: string;
892
+ endDateOptions?: DateOption[];
893
+ evergreen?: boolean;
894
+ expiresAt: string;
895
+ formattedQuote: FormattedQuote;
896
+ id: string;
897
+ invoiceUntil: string;
898
+ invoiceUntilOptions?: DateOption[];
899
+ isPendingApprovalRequest: boolean;
900
+ kind: QuoteChangeKind$1;
901
+ message?: string;
902
+ name?: string;
903
+ netPaymentDays?: number;
904
+ notes?: string;
905
+ owner?: User;
906
+ ownerUserId?: string;
907
+ payToAccept?: boolean;
908
+ payableId: string;
909
+ paymentHolds?: PaymentHold[];
910
+ periodAmount: number;
911
+ poNumber?: string;
912
+ quoteChanges: QuoteChange[];
913
+ requiresApproval: boolean;
914
+ smallUnitAmountDue?: number;
915
+ startDate: string;
916
+ state: QuoteState;
917
+ subtotal: number;
918
+ taxAmount: number;
919
+ triggeredApprovalRules?: ApprovalRule[];
920
+ updatedAt: string;
921
+ uuid: string;
922
+ } & Payable;
923
+
924
+ type Kind$1 = "OPEN" | "CLOSED_WON" | "CLOSED_LOST";
925
+ type DealStage = {
926
+ id: number;
927
+ position: number;
928
+ name?: string;
929
+ kind?: Kind$1;
930
+ probability?: string;
931
+ description?: string;
932
+ createdAt: string;
933
+ updatedAt: string;
934
+ };
935
+
936
+ type Kind = "NEW" | "EXISTING";
937
+ type Origin = "SALES" | "PORTAL" | "SIGNUP" | "OTHER";
938
+ type Deal = {
939
+ id: string;
940
+ code?: string;
941
+ accountId?: string;
942
+ currencyId?: string;
943
+ name: string;
944
+ ownerUserId?: string;
945
+ amount?: number;
946
+ createdAt: string;
947
+ updatedAt: string;
948
+ probability?: number;
949
+ description?: string;
950
+ closeDate?: string;
951
+ kind?: Kind;
952
+ dealStageId: string;
953
+ stageDescription?: string;
954
+ leadSourceId?: string;
955
+ contactId?: string;
956
+ notForRevenue?: boolean;
957
+ quoteDefaults?: Quote$1;
958
+ viaPortal?: boolean;
959
+ origin?: Origin;
960
+ account?: Account;
961
+ owner?: User;
962
+ contact?: Contact;
963
+ currency?: Currency;
964
+ dealStage: DealStage;
965
+ quotes?: Quote$1[];
966
+ };
967
+
968
+ type AccountBalance = {
969
+ id: Number;
970
+ balance: Number;
971
+ currencyId: string;
972
+ };
973
+
974
+ type PayingStatus = "CURRENT" | "PAST_DUE" | "SUSPENDED" | "INACTIVE";
975
+ type Account = {
976
+ id: string;
977
+ code?: string;
978
+ timezone?: string;
979
+ accountTypeId: string;
980
+ industryId?: string;
981
+ employees?: Number;
982
+ annualRevenue?: Number;
983
+ name: string;
984
+ billingStreet?: string;
985
+ billingCity?: string;
986
+ billingState?: string;
987
+ billingZip?: string;
988
+ billingCountry?: string;
989
+ billingContactId?: string;
990
+ shippingStreet?: string;
991
+ shippingCity?: string;
992
+ shippingState?: string;
993
+ shippingZip?: string;
994
+ shippingCountry?: string;
995
+ description?: string;
996
+ createdAt: string;
997
+ updatedAt: string;
998
+ phone?: string;
999
+ fax?: string;
1000
+ website?: string;
1001
+ currencyId?: string;
1002
+ taxNumber?: string;
1003
+ groupId?: string;
1004
+ billingDay?: Number;
1005
+ netPaymentDays?: Number;
1006
+ duns?: string;
1007
+ ownerUserId?: string;
1008
+ dealDefaults?: Deal;
1009
+ accountType: AccountType;
1010
+ currency?: Currency;
1011
+ contacts?: Contact[];
1012
+ deals?: Deal[];
1013
+ subscriptions?: Subscription[];
1014
+ owner?: User;
1015
+ transactions?: Transaction[];
1016
+ balances: AccountBalance[];
1017
+ billingContact?: Contact;
1018
+ entityUseCode?: string;
1019
+ addressValidated: boolean;
1020
+ arr?: number;
1021
+ mrr?: number;
1022
+ mur?: number;
1023
+ draftInvoices: boolean;
1024
+ emailsEnabled: boolean;
1025
+ entity?: Entity;
1026
+ entityId?: string;
1027
+ invoiceTemplateId?: string;
1028
+ invoices?: Invoice$1[];
1029
+ linkedinUrl?: string;
1030
+ newQuoteBuilder: boolean;
1031
+ payingStatus?: PayingStatus;
1032
+ secondaryBillingContactIds?: string[];
1033
+ secondaryBillingContacts?: Contact[];
1034
+ taxNumberValidated?: boolean;
1035
+ };
1036
+
1037
+ type TenantProvisioningState = "PENDING" | "STARTED" | "FAILED" | "COMPLETED";
1038
+ type TenantProvisioningChange = {
1039
+ id: string;
1040
+ state: TenantProvisioningState;
1041
+ change?: any;
1042
+ createdAt?: string;
1043
+ updatedAt?: string;
1044
+ tenant?: Tenant;
1045
+ features?: string;
1046
+ };
1047
+
1048
+ type Tenant = {
1049
+ id: Number;
1050
+ platformId: Number;
1051
+ name: string;
1052
+ code?: string;
1053
+ subdomain?: string;
1054
+ accountId: Number;
1055
+ account: Account;
1056
+ platform: Platform;
1057
+ provisioningRequired?: Boolean;
1058
+ provisioningState?: string;
1059
+ provisioningChanges?: TenantProvisioningChange[];
1060
+ latestProvisioningChangeId?: Number;
1061
+ latestProvisioningChange?: TenantProvisioningChange;
1062
+ };
1063
+
1064
+ type Platform = {
1065
+ id: string;
1066
+ name: string;
1067
+ code?: string;
1068
+ provisioningEnabled: boolean;
1069
+ webhookUrl?: string;
1070
+ webhookAuthToken?: string;
1071
+ webhookSigningKey?: string;
1072
+ tenants?: Tenant[];
1073
+ };
1074
+
1075
+ type ProductCategory = {
1076
+ id: Number;
1077
+ name: string | null;
1078
+ createdAt: string;
1079
+ updatedAt: string;
1080
+ plans: Plan[];
1081
+ };
1082
+
1083
+ type Product = {
1084
+ code?: string;
1085
+ description?: string;
1086
+ everythingInPlus?: boolean;
1087
+ features?: Feature[];
1088
+ id: string;
1089
+ internalNotes?: string;
1090
+ name: string;
1091
+ planDefaults?: Plan;
1092
+ plans?: Plan[];
1093
+ platform?: Platform;
1094
+ platformId?: Number;
1095
+ productCategory?: ProductCategory;
1096
+ productCategoryId?: Number;
1097
+ showProductNameOnLineItem?: Boolean;
1098
+ plansToDisplay?: number;
1099
+ };
1100
+
1101
+ type PeriodMonths = 0 | 1 | 3 | 6 | 12;
1102
+ type TrialExpirationAction = 'CANCEL' | 'ACTIVATE';
1103
+ type PriceList = {
1104
+ basePrice: number;
1105
+ charges: PriceListCharge[];
1106
+ code?: string;
1107
+ createdAt: string;
1108
+ currency?: Currency;
1109
+ currencyId: string;
1110
+ id: string;
1111
+ isVisible?: boolean;
1112
+ monthlyBasePrice: number;
1113
+ name: string;
1114
+ periodMonths: PeriodMonths;
1115
+ plan: Plan;
1116
+ planId: string;
1117
+ priceAdjustmentAction?: PriceAdjustmentAction;
1118
+ priceAdjustmentActionOptions?: string[];
1119
+ priceAdjustmentPercentage?: number;
1120
+ priceAdjustmentTiming?: PriceAdjustmentTiming;
1121
+ priceAdjustmentTimingOptions?: string[];
1122
+ priceDescription?: string;
1123
+ product: Product;
1124
+ productId?: string;
1125
+ renewalTermMonths?: number;
1126
+ showPriceAsMonthly?: boolean;
1127
+ sku?: string;
1128
+ trialAllowed: boolean;
1129
+ trialExpirationAction?: TrialExpirationAction;
1130
+ trialLengthDays?: number;
1131
+ updatedAt: string;
1132
+ addonPlans?: Plan[];
1133
+ deprecated?: boolean;
1134
+ };
1135
+
1136
+ declare enum PricingStyle {
1137
+ FREE = "FREE",
1138
+ PRICED = "PRICED",
1139
+ CONTACT_US = "CONTACT_US"
1140
+ }
1141
+ type Plan = {
1142
+ addon?: boolean;
1143
+ compatiblePlans?: Plan[];
1144
+ addonPlans?: Plan[];
1145
+ availableFrom?: string;
1146
+ availableTo?: string;
1147
+ basePrice?: number;
1148
+ code?: string;
1149
+ contactUsLabel?: string;
1150
+ contactUsUrl?: string;
1151
+ createdAt: string;
1152
+ description?: string;
1153
+ features?: Feature[];
1154
+ id: string;
1155
+ internalNotes?: string;
1156
+ isAvailableNow?: boolean;
1157
+ isVisible?: boolean;
1158
+ name: string;
1159
+ planFeatures?: PlanFeature[];
1160
+ position: number;
1161
+ priceLists: PriceList[];
1162
+ pricingDescription?: string;
1163
+ pricingStyle: PricingStyle;
1164
+ product: Product;
1165
+ productId: string;
1166
+ selfServiceBuy?: boolean;
1167
+ selfServiceCancel?: boolean;
1168
+ selfServiceRenew?: boolean;
1169
+ trialEndDate?: string;
1170
+ updatedAt: string;
1171
+ };
1172
+
1173
+ type FeatureKind = 'BOOLEAN' | 'VALUE' | 'MARKETING' | 'GROUP' | 'QUANTITY';
1174
+ type Feature = {
1175
+ id: string;
1176
+ productId?: string;
1177
+ name: string;
1178
+ kind?: FeatureKind;
1179
+ position: number;
1180
+ chargeType?: ChargeType;
1181
+ createdAt: string;
1182
+ updatedAt: string;
1183
+ code?: string;
1184
+ description?: string;
1185
+ isUnit?: boolean;
1186
+ isProvisioned?: boolean;
1187
+ isVisible?: boolean;
1188
+ plans?: Plan[];
1189
+ unitName?: string;
1190
+ };
1191
+
1192
+ type DiscountKind = "PERCENTAGE" | "AMOUNT";
1193
+ type Coupon = {
1194
+ id?: string;
1195
+ name?: string;
1196
+ couponCode?: string;
1197
+ description?: string;
1198
+ active?: boolean;
1199
+ discountKind?: DiscountKind;
1200
+ discountAmount?: number;
1201
+ discountPercentage?: number;
1202
+ currencyId?: string;
1203
+ redemptionsMax?: number;
1204
+ redemptionsCount?: number;
1205
+ redemptionEndDate?: string;
1206
+ planId?: string;
1207
+ createdAt?: string;
1208
+ updatedAt?: string;
1209
+ };
1210
+
1211
+ type QuoteCharge = {
1212
+ subtotal?: number;
1213
+ amountsByPeriod?: AmountByPeriod[];
1214
+ amount: number;
1215
+ billingPeriod?: BillingPeriod;
1216
+ billingPeriodAmounts?: {
1217
+ id: string;
1218
+ amount: number;
1219
+ prorationRate: number;
1220
+ }[];
1221
+ chargeType?: ChargeType;
1222
+ coupon?: Coupon;
1223
+ createdAt: string;
1224
+ currencyId: string;
1225
+ currentQuantity?: number;
1226
+ discount?: number;
1227
+ endDate: string;
1228
+ feature: Feature;
1229
+ id: string;
1230
+ invoiceLineText: string;
1231
+ name?: string;
1232
+ price: number;
1233
+ priceDecimals?: number;
1234
+ priceList?: PriceList;
1235
+ priceListCharge: PriceListCharge;
1236
+ priceTiers?: PriceTier[];
1237
+ pricingModel: PricingModel | null;
1238
+ prorationRate?: number;
1239
+ quantity: number;
1240
+ quantityMax?: number;
1241
+ quantityMin?: number;
1242
+ quoteChange: QuoteChange;
1243
+ startDate: string;
1244
+ subscriptionCharge?: SubscriptionCharge;
1245
+ tieredAveragePrice?: number;
1246
+ updatedAt: string;
1247
+ kind?: string;
1248
+ };
1249
+
1250
+ declare enum QuoteChangeKind {
1251
+ ADJUSTMENT = "ADJUSTMENT",
1252
+ COUPON = "COUPON",
1253
+ CREDIT = "CREDIT",
1254
+ DISCOUNT = "DISCOUNT",
1255
+ FREE_PERIOD_DISCOUNT = "FREE_PERIOD_DISCOUNT",
1256
+ PRICE_UPDATE = "PRICE_UPDATE",
1257
+ QUANTITY_UPDATE = "QUANTITY_UPDATE",
1258
+ REINSTATE = "REINSTATE",
1259
+ RENEW = "RENEW",
1260
+ SUBSCRIBE = "SUBSCRIBE",
1261
+ UNSUBSCRIBE = "UNSUBSCRIBE",
1262
+ UPDATE = "UPDATE",
1263
+ ACTIVATE = "ACTIVATE"
1264
+ }
1265
+
1266
+ type InvoiceItem = {
1267
+ id: string;
1268
+ amount: number;
1269
+ billingPeriodStart?: string;
1270
+ billingPeriodEnd?: string;
1271
+ charge: SubscriptionCharge | QuoteCharge;
1272
+ chargeType?: string;
1273
+ currencyId: string;
1274
+ discount?: number;
1275
+ frequency?: string;
1276
+ lineText?: string;
1277
+ position?: number;
1278
+ price: number;
1279
+ priceTiers?: PriceTier[];
1280
+ priceDecimals: number;
1281
+ priceListChargeName?: string;
1282
+ priceListName?: string;
1283
+ prorationRate?: number;
1284
+ quantity?: number;
1285
+ unitOfMeasure?: string;
1286
+ couponId?: string;
1287
+ isCoupon: boolean;
1288
+ comment?: string;
1289
+ creditNoteItem?: CreditNoteItem;
1290
+ creditedItem?: InvoiceItem;
1291
+ endDate?: string;
1292
+ invoice: Invoice$1;
1293
+ invoiceId: string;
1294
+ isCredit: boolean;
1295
+ kind?: QuoteChangeKind;
1296
+ startDate?: string;
1297
+ subtotal: number;
1298
+ taxAmount?: number;
1299
+ taxCode?: string;
1300
+ vatCode?: string;
1301
+ };
1302
+
1303
+ type FormattedInvoice = {
1304
+ amount: number;
1305
+ amountDue: number;
1306
+ amountPaid: number;
1307
+ billingCity?: string;
1308
+ billingCountry?: string;
1309
+ billingState?: string;
1310
+ billingStreet?: string;
1311
+ billingZip?: string;
1312
+ createdAt: string;
1313
+ credits?: number;
1314
+ currency: string;
1315
+ currencyId: string;
1316
+ currencySymbol: string;
1317
+ customerBillingCity?: string;
1318
+ customerBillingContact?: string;
1319
+ customerBillingCountry?: string;
1320
+ customerBillingState?: string;
1321
+ customerBillingStreet?: string;
1322
+ customerBillingZip?: string;
1323
+ customerName: string;
1324
+ dueAt?: string;
1325
+ formattedLines: InvoiceItem[];
1326
+ html: string;
1327
+ id: string;
1328
+ isLegacy?: boolean;
1329
+ messages?: {
1330
+ message: string;
1331
+ ids: string[];
1332
+ }[];
1333
+ netPaymentDays: number;
1334
+ number: string;
1335
+ poNumber?: string;
1336
+ printedState?: string;
1337
+ salesContactEmail?: string;
1338
+ smallUnitAmountDue?: number;
1339
+ state: State$1;
1340
+ subscriptionEndDate?: string;
1341
+ subscriptionStartDate?: string;
1342
+ subtotal: number;
1343
+ taxAmount?: number;
1344
+ taxId?: string;
1345
+ taxNumber?: string;
1346
+ taxType?: string;
1347
+ uuid: string;
1348
+ vendorName: string;
1349
+ };
13
1350
 
14
1351
  type InvoiceQuoteContextProps = {
15
1352
  id?: string | null | undefined;
@@ -18,7 +1355,6 @@ type InvoiceQuoteContextProps = {
18
1355
  onBackButtonClick?: () => void;
19
1356
  onInvoiceDownloadError?: () => void;
20
1357
  onPaymentSuccess?: (savePaymentMethod?: boolean) => void;
21
- shadow?: ShadowType;
22
1358
  className?: string;
23
1359
  hideDownloadButton?: boolean;
24
1360
  onInvoiceLoaded?: (formattedInvoice: FormattedInvoice) => void;
@@ -26,12 +1362,532 @@ type InvoiceQuoteContextProps = {
26
1362
  suppressQuoteUnavailableErrorNotification?: boolean;
27
1363
  };
28
1364
 
1365
+ /**
1366
+ * The values the default look is built from: set one when a change should carry through everything
1367
+ * built from it. The ones the payment provider's hosted fields have too are handed to them as they are.
1368
+ * Every variable is optional, and literal values only (no `var()`).
1369
+ */
1370
+ type AppearanceVariables = {
1371
+ /**
1372
+ * The primary button, text links, the selected payment method, focused borders, the loading spinner.
1373
+ * Its hover and pressed shades and the default focus ring are derived from it, so use a plain color.
1374
+ * @default your Bunny brand color
1375
+ */
1376
+ colorPrimary?: string;
1377
+ /**
1378
+ * The text and icon colour on `colorPrimary` surfaces: the primary button's label, a ticked checkbox's
1379
+ * tick, the plan picker's ticks. Set it when `colorPrimary` is light.
1380
+ * @default `'#fff'`
1381
+ */
1382
+ colorOnPrimary?: string;
1383
+ /**
1384
+ * The form column, inputs and payment method tiles.
1385
+ * @default `'#ffffff'`
1386
+ */
1387
+ colorBackground?: string;
1388
+ /**
1389
+ * Body text and input text. The other text and fill greys are fainter steps of it, so a plain color (hex,
1390
+ * `rgb()` or `hsl()`) keeps them in step.
1391
+ * @default `'rgba(0,0,0,0.88)'`
1392
+ */
1393
+ colorText?: string;
1394
+ /**
1395
+ * Muted text: the "Subscribe to" line, footer links, the back link; when set, also its arrow and the download icon.
1396
+ * @default `colorText`'s color at 65% opacity (`'rgba(0,0,0,0.65)'`)
1397
+ */
1398
+ colorTextSecondary?: string;
1399
+ /**
1400
+ * Placeholders, the empty country select and its chevron.
1401
+ * @default `colorText`'s color at 25% opacity (`'rgba(0,0,0,0.25)'`)
1402
+ */
1403
+ colorTextPlaceholder?: string;
1404
+ /**
1405
+ * Invalid field borders and error messages.
1406
+ * @default `'#ff4d4f'`
1407
+ */
1408
+ colorDanger?: string;
1409
+ /**
1410
+ * Discount amounts and the success check (its tint and strong shade are derived from it, so use a plain color).
1411
+ * @default `'#52c41a'`
1412
+ */
1413
+ colorSuccess?: string;
1414
+ /**
1415
+ * Warnings. Handed to the payment provider only when you set it.
1416
+ * @default `'#faad14'`
1417
+ */
1418
+ colorWarning?: string;
1419
+ /**
1420
+ * All text on the screen, the payment fields included. Set the font here once and list any web font in
1421
+ * `fonts`: it is loaded onto the page and into the payment fields. When set, content you render inside
1422
+ * `BunnyProvider` gets it too. Leave it unset to inherit your page's font.
1423
+ * @default `'inherit'` (your page's font)
1424
+ */
1425
+ fontFamily?: string;
1426
+ /**
1427
+ * Body, input and button text. On phones, input text is raised to 16px when this is a smaller `px` value.
1428
+ * @default `'14px'`
1429
+ */
1430
+ fontSizeBase?: string;
1431
+ /**
1432
+ * The smallest step of the text scale. Handed to the payment provider only when you set it.
1433
+ * @default `'11px'`
1434
+ */
1435
+ fontSizeXs?: string;
1436
+ /**
1437
+ * The text scale's step below `fontSizeBase`. Handed to the payment provider only when you set it.
1438
+ * @default `'12px'`
1439
+ */
1440
+ fontSizeSm?: string;
1441
+ /**
1442
+ * The text scale's step above `fontSizeBase`. Handed to the payment provider only when you set it.
1443
+ * @default `'16px'`
1444
+ */
1445
+ fontSizeLg?: string;
1446
+ /**
1447
+ * The text scale's largest step below page titles. Handed to the payment provider only when you set it.
1448
+ * @default `'20px'`
1449
+ */
1450
+ fontSizeXl?: string;
1451
+ /**
1452
+ * The weight of regular text. Handed to the payment provider only when you set it.
1453
+ * @default `'400'`
1454
+ */
1455
+ fontWeightNormal?: string;
1456
+ /**
1457
+ * The weight of emphasised text. Handed to the payment provider only when you set it.
1458
+ * @default `'500'`
1459
+ */
1460
+ fontWeightMedium?: string;
1461
+ /**
1462
+ * The weight of headings. Handed to the payment provider only when you set it.
1463
+ * @default `'600'`
1464
+ */
1465
+ fontWeightBold?: string;
1466
+ /**
1467
+ * Corner radius of controls. Cards keep 6px and tiles 8px until you set this, then your value applies
1468
+ * to them too.
1469
+ * @default `'4px'` for controls
1470
+ */
1471
+ borderRadius?: string;
1472
+ /**
1473
+ * Vertical space between form rows, ours and the payment fields'.
1474
+ * @default `'12px'`
1475
+ */
1476
+ gridRowSpacing?: string;
1477
+ /**
1478
+ * The ring around a focused input or payment method.
1479
+ * @default `0 0 0 2px` in a tint of `colorPrimary`
1480
+ * @example '0 0 0 3px rgba(20, 83, 45, 0.25)'
1481
+ */
1482
+ focusBoxShadow?: string;
1483
+ /**
1484
+ * The secondary surface colour: the Signup/Checkout summary, the drawer body, UpgradeCheckout, the
1485
+ * Subscriptions header band and the loading overlay.
1486
+ * @default `'#f8fafc'`
1487
+ */
1488
+ colorBackgroundSecondary?: string;
1489
+ /**
1490
+ * Borders of inputs, payment method tiles and secondary buttons. Also colours dividers and the details
1491
+ * list once set.
1492
+ * @default `'rgb(226 232 240)'`
1493
+ */
1494
+ colorBorder?: string;
1495
+ /**
1496
+ * Width of dividers, rings and borders. Controls (inputs, buttons, checkboxes, payment tabs) are 1px
1497
+ * until this is set, and keep their height (44px, 32px compact) whatever the width.
1498
+ * @default `'2px'`
1499
+ */
1500
+ borderWidth?: string;
1501
+ };
1502
+ type RuleProperty$1 = 'color' | 'backgroundColor' | 'border' | 'borderTop' | 'borderRight' | 'borderBottom' | 'borderLeft' | 'borderColor' | 'borderWidth' | 'borderStyle' | 'borderRadius' | 'boxShadow' | 'fontFamily' | 'fontSize' | 'fontWeight' | 'letterSpacing' | 'lineHeight' | 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft' | 'padding' | 'paddingTop' | 'paddingRight' | 'paddingBottom' | 'paddingLeft' | 'textTransform' | 'textDecoration' | 'transition' | 'outline' | 'outlineOffset';
1503
+ /** The style a selector shared with the payment provider's fields takes: the properties the provider accepts. */
1504
+ type AppearanceSharedStyle = Partial<Record<RuleProperty$1, string>>;
1505
+ /** The style a Bunny-only selector takes. */
1506
+ type AppearanceStyle = AppearanceSharedStyle & {
1507
+ background?: string;
1508
+ fontVariantNumeric?: string;
1509
+ opacity?: string;
1510
+ /** @deprecated Layout is not part of `appearance` and this will be removed: size the element around the component instead. */
1511
+ maxWidth?: string;
1512
+ /** @deprecated Layout is not part of `appearance` and this will be removed: size the element around the component instead. */
1513
+ minHeight?: string;
1514
+ };
1515
+ /**
1516
+ * One key per public selector: roles (with their states) and regions. Shared selectors take
1517
+ * `AppearanceSharedStyle`, Bunny-only ones `AppearanceStyle`.
1518
+ */
1519
+ type AppearanceSelectorRules = {
1520
+ /**
1521
+ * Text inputs and the country select, on Bunny's fields and the payment provider's alike. There is no
1522
+ * `height`: vertical padding + `lineHeight` + borders make it (44px by default), so raise the padding to grow both.
1523
+ * @default `11px 12px` padding (`12px` less the border), `20px` line, 1px (`borderWidth` when set) solid `colorBorder`
1524
+ */
1525
+ '.Input'?: AppearanceSharedStyle;
1526
+ /** A text input under the pointer. Forwarded to the payment provider. @default `colorPrimary`'s hover shade border */
1527
+ '.Input:hover'?: AppearanceSharedStyle;
1528
+ /**
1529
+ * A focused text input, and a multi-select's field while its text input has the focus. Forwarded to the
1530
+ * payment provider. @default `colorPrimary` border and `focusBoxShadow`
1531
+ */
1532
+ '.Input:focus'?: AppearanceSharedStyle;
1533
+ /**
1534
+ * A text input that failed validation. Forwarded to the payment provider. The default clears the focus ring:
1535
+ * set `boxShadow` to give it one.
1536
+ * @default `colorDanger` border, no shadow
1537
+ */
1538
+ '.Input--invalid'?: AppearanceSharedStyle;
1539
+ /**
1540
+ * A disabled text input or select, as while a form saves. Forwarded to the payment provider.
1541
+ * @default `colorTextDisabled` text on `colorBackgroundDisabled`
1542
+ */
1543
+ '.Input:disabled'?: AppearanceSharedStyle;
1544
+ /** Placeholder text. Forwarded to the payment provider. @default `colorTextPlaceholder` */
1545
+ '.Input::placeholder'?: AppearanceSharedStyle;
1546
+ /**
1547
+ * The compact variant: Bunny's 32px inputs and selects where 44px would be too heavy (the coupon row, a
1548
+ * list's search box, the billing details' form, the quote's forms). Weighs `.Input` plus the variant, so
1549
+ * your `.Input` padding leaves them compact: restyle them here. Bunny only: never handed to the payment
1550
+ * provider, whose fields have no compact size. Not scopable, like every `.Input` key.
1551
+ * @default `5px 12px` padding (`6px` less the border)
1552
+ */
1553
+ '.Input--compact'?: AppearanceSharedStyle;
1554
+ /**
1555
+ * Field labels, on Bunny's fields and the payment provider's alike.
1556
+ * @default 14px, weight 500, `colorText`, 6px below
1557
+ */
1558
+ '.Label'?: AppearanceSharedStyle;
1559
+ /**
1560
+ * Validation messages under a field, on Bunny's fields and the payment provider's alike.
1561
+ * @default 14px, `colorDanger`
1562
+ */
1563
+ '.Error'?: AppearanceSharedStyle;
1564
+ /**
1565
+ * Payment method tiles: Bunny's own and the payment provider's tabs. Bunny's are the payment plugins,
1566
+ * saved payment methods and "New card" in Signup, Checkout and the payment form (in a longer list they are
1567
+ * rows of the same role), and the saved payment methods listed in the billing details.
1568
+ * @default 1px (`borderWidth` when set) solid `colorBorder`, `colorBackground`, weight 500
1569
+ */
1570
+ '.Tab'?: AppearanceSharedStyle;
1571
+ /** A payment method tile under the pointer. Forwarded to the payment provider. @default `colorPrimary`'s hover shade border */
1572
+ '.Tab:hover'?: AppearanceSharedStyle;
1573
+ /** The chosen payment method. Forwarded to the payment provider (its `color` also tints Stripe's tab icon). @default `colorPrimary` border and text */
1574
+ '.Tab--selected'?: AppearanceSharedStyle;
1575
+ /** A focused payment method tile, selected or not. Forwarded to the payment provider. @default `focusBoxShadow` */
1576
+ '.Tab:focus'?: AppearanceSharedStyle;
1577
+ /**
1578
+ * The primary action (the pay button). Bunny only. Sized like `.Input`: change its height through `padding`.
1579
+ * @default filled with `colorPrimary`, `11px 16px` padding (`12px` less the border)
1580
+ */
1581
+ '.Button'?: AppearanceStyle;
1582
+ /** The primary button under the pointer. @default `colorPrimary`'s hover shade */
1583
+ '.Button:hover'?: AppearanceStyle;
1584
+ /** The primary button while pressed. @default `colorPrimary`'s pressed shade */
1585
+ '.Button:active'?: AppearanceStyle;
1586
+ /** The primary button when disabled. @default `rgba(113, 125, 148, 0.1)` fill */
1587
+ '.Button:disabled'?: AppearanceStyle;
1588
+ /**
1589
+ * The compact variant: 32px primary buttons beside compact inputs and in toolbars (the quote's, the coupon
1590
+ * row's Apply, a modal's actions). Weighs `.Button` plus the variant, so your `.Button` padding leaves them
1591
+ * compact: restyle them here. Bunny only.
1592
+ * @default `5px 12px` padding (`6px` less the border)
1593
+ */
1594
+ '.Button--compact'?: AppearanceStyle;
1595
+ /**
1596
+ * The summary column's content: header, amount, line items, totals. Bunny only. No default rule; the
1597
+ * content is capped at `36rem` with `4rem` padding (`1.5rem` on phones): change the padding with `padding`.
1598
+ */
1599
+ '.Summary'?: AppearanceStyle;
1600
+ /**
1601
+ * The form column's content: the form, or the confirmation after checkout. Bunny only. No default rule;
1602
+ * capped and padded like `.Summary`.
1603
+ */
1604
+ '.Form'?: AppearanceStyle;
1605
+ /**
1606
+ * Bordered secondary actions (Download, Fullscreen). A role of its own, not drawn on a `.Button`: a
1607
+ * `.Button` rule does not reach it. Bunny only. Sized like `.Button`.
1608
+ * @default 1px (`borderWidth` when set) solid `colorBorder`, `colorBackground`, `colorText`
1609
+ */
1610
+ '.ButtonSecondary'?: AppearanceStyle;
1611
+ /** A secondary button under the pointer. @default `colorPrimary`'s hover shade, border and text */
1612
+ '.ButtonSecondary:hover'?: AppearanceStyle;
1613
+ /** A disabled secondary button. @default `colorBorder` border, disabled fill and text */
1614
+ '.ButtonSecondary:disabled'?: AppearanceStyle;
1615
+ /** The compact variant of `.ButtonSecondary`, like `.Button--compact`. Bunny only. @default `5px 12px` padding (`6px` less the border) */
1616
+ '.ButtonSecondary--compact'?: AppearanceStyle;
1617
+ /**
1618
+ * All text: body text (table cells, line items, details), and under every other text role. A muted
1619
+ * text, a heading, an amount and an overline are each a `.Text` with their own role on top
1620
+ * (`.TextSecondary`, `.Heading`, `.Amount`, `.Overline`), so a `color` or `fontFamily` here reaches them
1621
+ * all. A rule for one of those roles, yours or ours, beats this one, so a heading keeps its size and
1622
+ * muted text its colour unless you set them on that role. Bunny only. Body text's sizes (a step down or
1623
+ * up the scale) and emphasis are internal variants this rule reaches too.
1624
+ * @default `colorText`, `fontSizeBase`, `fontWeightNormal`, `1.4` line
1625
+ */
1626
+ '.Text'?: AppearanceStyle;
1627
+ /**
1628
+ * Muted text: captions, hints, line item details. A `.Text` with this role on top. Bunny only. In the footer, the words
1629
+ * "Powered by" are one, inside a `.Link` whose colour and size they take.
1630
+ * @default `colorTextSecondary`
1631
+ */
1632
+ '.TextSecondary'?: AppearanceStyle;
1633
+ /**
1634
+ * Headings: a page's title, a section's, a card's or a table's. A `.Text` with this role on top, so it
1635
+ * takes `.Text`'s colour unless you set one here. Bunny only. The levels below the first
1636
+ * are internal variants (`fontSizeXl`, `fontSizeLg`), so a `fontSize` here resizes every level; scope it to a
1637
+ * region to change one place (`'.Invoice .Heading'`).
1638
+ * @default 30px, `fontWeightBold`, `1.27` line, no margin
1639
+ */
1640
+ '.Heading'?: AppearanceStyle;
1641
+ /** Prices and totals. A `.Text` with this role on top. Bunny only. @default tabular figures, `fontWeightMedium` */
1642
+ '.Amount'?: AppearanceStyle;
1643
+ /** The one large amount of a screen, such as what is due. Bunny only. @default 30px, `fontWeightBold`, `1.25` line */
1644
+ '.Amount--display'?: AppearanceStyle;
1645
+ /** Small upper-case labels over a group or a column. A `.Text` with this role on top. Bunny only. @default `fontSizeXs`, `fontWeightMedium`, `colorTextSecondary`, uppercase, the surrounding line height */
1646
+ '.Overline'?: AppearanceStyle;
1647
+ /** The line between sections. Bunny only. @default a 1px light hairline top border (your `colorBorder` when you set it), `16px 0` margin */
1648
+ '.Divider'?: AppearanceStyle;
1649
+ /**
1650
+ * Links: the footer's, and the buttons drawn as links ("Have a coupon code?", Cancel, Back, the table
1651
+ * pager, "Add new contact"). Bunny only.
1652
+ * @default `colorTextSecondary`, no underline; the buttons drawn as links are `colorPrimary` until you set a `color`
1653
+ */
1654
+ '.Link'?: AppearanceStyle;
1655
+ /** A link under the pointer. Bunny only. @default `colorText` (`colorPrimary`'s hover shade for the buttons drawn as links) */
1656
+ '.Link:hover'?: AppearanceStyle;
1657
+ /**
1658
+ * Tags: small pills labelling a state, such as an invoice's status or a saved payment method's `Default`
1659
+ * and `Failed`. Bunny only. A state's colour (green for paid, red for overdue, ...) is an internal variant,
1660
+ * so a `color` or `backgroundColor` here recolours every tag.
1661
+ * @default `0 10px` padding (20px tall), pill radius, `fontSizeSm`, `fontWeightMedium`, `colorText` on a
1662
+ * faint fill derived from `colorText`
1663
+ */
1664
+ '.Tag'?: AppearanceStyle;
1665
+ /** Toggle switches, off. Bunny only. @default pill, a quarter-strength fill derived from `colorText` */
1666
+ '.Switch'?: AppearanceStyle;
1667
+ /** Toggle switches, on. Bunny only. @default `colorPrimary` */
1668
+ '.Switch--checked'?: AppearanceStyle;
1669
+ /** Checkboxes (the box; the label is `.Text`), unticked. Bunny only. @default 1px (`borderWidth` when set) solid `colorBorder`, `borderRadius`, `colorBackground` */
1670
+ '.Checkbox'?: AppearanceStyle;
1671
+ /** Ticked checkboxes. Bunny only. @default `colorPrimary` fill and border, a `colorOnPrimary` tick */
1672
+ '.Checkbox--checked'?: AppearanceStyle;
1673
+ /**
1674
+ * A row of exclusive choices drawn as pills in a track, such as the billing period picker. The track.
1675
+ * Bunny only. @default a light grey (a faint fill derived from `colorText` when you set `colorText` or `colorBackground`), `6px` corners (your `borderRadius` when you set it), `4px` padding
1676
+ */
1677
+ '.Segmented'?: AppearanceStyle;
1678
+ /** One choice of a `.Segmented`. Bunny only. @default `0 7px` padding and a transparent 1px border (24px high), `fontSizeXs`, `fontWeightNormal`, `colorText`, no fill */
1679
+ '.SegmentedOption'?: AppearanceStyle;
1680
+ /** The chosen option of a `.Segmented`. Bunny only. @default `colorPrimary` fill, `colorOnPrimary` text */
1681
+ '.SegmentedOption--selected'?: AppearanceStyle;
1682
+ /** A `.SegmentedOption` under the pointer. Bunny only. @default `colorPrimaryHover` text */
1683
+ '.SegmentedOption:hover'?: AppearanceStyle;
1684
+ /** The chosen option under the pointer. Bunny only. @default `colorPrimaryHover` fill, `colorOnPrimary` text */
1685
+ '.SegmentedOption--selected:hover'?: AppearanceStyle;
1686
+ /** Stand-ins for content that is loading. Bunny only. @default `borderRadius`, a faint fill derived from `colorText` */
1687
+ '.Skeleton'?: AppearanceStyle;
1688
+ /**
1689
+ * Raised surfaces that group content. Bunny only.
1690
+ * @default `colorBackground`, `6px` (your `borderRadius` when you set it), the card shadow
1691
+ */
1692
+ '.Card'?: AppearanceStyle;
1693
+ /** A card under the pointer. Bunny only. No default: a clickable card shows a `colorPrimary` hover ring. */
1694
+ '.Card:hover'?: AppearanceStyle;
1695
+ /** The chosen card of a group, such as a plan. Bunny only. @default a `borderWidth` `colorPrimary` ring */
1696
+ '.Card--selected'?: AppearanceStyle;
1697
+ /**
1698
+ * The paper an invoice or a quote is drawn on. Bunny only. Set `boxShadow` here to change its shadow.
1699
+ * @default `colorBackground`, `6px` (your `borderRadius` when you set it), the card shadow, `16px 0` padding
1700
+ */
1701
+ '.Document'?: AppearanceStyle;
1702
+ /** A table's surface, on top of `.Card`. Set `boxShadow` here to change its shadow. Bunny only. No default rule. */
1703
+ '.Table'?: AppearanceStyle;
1704
+ /** A column header cell; drawn on top of `.TableCell`, so a `.TableCell` rule reaches it and a `.TableHeaderCell` rule wins. Bunny only. @default `colorText`, `fontWeightBold`, line height `1` */
1705
+ '.TableHeaderCell'?: AppearanceStyle;
1706
+ /** A row: its `backgroundColor` fills the row's cells. Bunny only. No default rule. */
1707
+ '.TableRow'?: AppearanceStyle;
1708
+ /** Every other row. Bunny only. @default a fainter fill derived from `colorText` */
1709
+ '.TableRow--alternate'?: AppearanceStyle;
1710
+ /** A cell, in the header and in the rows. Bunny only. @default `16px` padding, `fontSizeBase`, `colorText` */
1711
+ '.TableCell'?: AppearanceStyle;
1712
+ /**
1713
+ * The invoice: its `.Document` and the payment form (its `.Tab`s, `.Input`s and `.Button`). Bunny only. A
1714
+ * region: scope roles to it (`'.Invoice .Document'`).
1715
+ * @default `colorText`, `fontFamily`, `fontSizeBase`
1716
+ */
1717
+ '.Invoice'?: AppearanceStyle;
1718
+ /**
1719
+ * The footer: "Terms", "Privacy" and the "Powered by" Bunny link, all `.Link`s (small and muted here). The
1720
+ * words "Powered by" are a `.TextSecondary` (a `.Text` in the secondary role) that takes its link's colour
1721
+ * but keeps `.Text`'s size. Bunny only. A region: `'.Footer .Link'` restyles only its links.
1722
+ * @default `colorText`, `fontFamily`, `fontSizeBase`
1723
+ */
1724
+ '.Footer'?: AppearanceStyle;
1725
+ /**
1726
+ * The invoices list: its title (a `.Heading`), search bar (a compact `.Input`) and `.Table`. Bunny only. A
1727
+ * region: `'.Invoices .Heading'` restyles only the title (by default `fontSizeBase`, line height `1`). The
1728
+ * detail view a row opens is a `.Drawer` or `.Modal`, outside the region.
1729
+ * @default `colorText`, `fontFamily`, `fontSizeBase`
1730
+ */
1731
+ '.Invoices'?: AppearanceStyle;
1732
+ /** The quotes list, laid out like `.Invoices`. Bunny only. A region. @default `colorText`, `fontFamily`, `fontSizeBase` */
1733
+ '.Quotes'?: AppearanceStyle;
1734
+ /** The transactions list, laid out like `.Invoices`. Bunny only. A region. @default `colorText`, `fontFamily`, `fontSizeBase` */
1735
+ '.Transactions'?: AppearanceStyle;
1736
+ /**
1737
+ * The quote: its `.Document`, `.Heading`s, `.Text` and `.Button`s. Bunny only. A region: `'.Quote .Button'`
1738
+ * restyles only the quote's buttons. The accept and payment hold modals render outside it: style them
1739
+ * through `.Modal`.
1740
+ * @default `colorText`, `fontFamily`
1741
+ */
1742
+ '.Quote'?: AppearanceStyle;
1743
+ /**
1744
+ * The billing details: the company name (a `.Heading`), the form's `.Input`s and `.Button`s and the saved
1745
+ * payment methods (`.Tab`s with their `.Tag`s and a menu each), on one surface. Bunny only. A region: `'.BillingDetails .Button'` restyles only its buttons, and
1746
+ * `'.BillingDetails .Heading'` the company name (by default 18px, `fontWeightMedium`, line height `28px`).
1747
+ * @default `colorBackground`, `borderRadius`, the card shadow, `colorText`, `fontFamily`, `fontSizeBase`
1748
+ */
1749
+ '.BillingDetails'?: AppearanceStyle;
1750
+ /**
1751
+ * The subscriptions list: a `.Card` per subscription (its product a `.Heading`, its state a `.Tag`), the
1752
+ * "Show inactive" `.Checkbox` and the `.ButtonSecondary` above the list. Bunny only. A region: space the
1753
+ * cards with `'.Subscriptions .Card': { marginBottom }`.
1754
+ * @default `colorText`, `fontFamily`, `fontSizeBase`
1755
+ */
1756
+ '.Subscriptions'?: AppearanceStyle;
1757
+ /**
1758
+ * The plan picker: the billing period's `.Segmented`, the plans (a `.Card` each, the plan's name its
1759
+ * `.Heading` and its price an `.Amount--display`; on a desktop the plans are columns of one `.Card`),
1760
+ * the feature comparison (`.Card`s of rows of `.Text`, group titles as `.Overline`), the add-on plans
1761
+ * (`.Card`s) and the sticky checkout bar (a `.Card` with the total and the checkout `.Button`). Bunny only.
1762
+ * A region: `'.Upgrade .Heading'` restyles the plan names, `'.Upgrade .Card--selected'` the chosen plan.
1763
+ * @default `colorText`, `fontFamily`, `fontSizeBase`
1764
+ */
1765
+ '.Upgrade'?: AppearanceStyle;
1766
+ /**
1767
+ * A drawer's panel, such as the quantity editor or a list's detail view: its header (the title and the
1768
+ * close button) over the content (`.Text`, `.Divider`s, `.Button`s). The title is always a `.Text`; a rule
1769
+ * for the title alone is not supported yet (`'.Drawer .Text'` also reaches the content's text). Bunny only.
1770
+ * A region: `'.Drawer .Button'` restyles only the drawers' buttons. The content sits on
1771
+ * `colorBackgroundSecondary` under a hairline in the border colour.
1772
+ * @default `colorBackground`, `colorText`, `fontFamily`, `fontSizeBase`
1773
+ */
1774
+ '.Drawer'?: AppearanceStyle;
1775
+ /**
1776
+ * A modal's panel, such as accepting a quote, approving a payment hold (with the payment form) or adding a
1777
+ * contact: its title, the content and the `.Button`s under it. The title is always a strong `.Text`; a rule for the title alone is not supported
1778
+ * yet (`'.Modal .Text'` also reaches the content's text). Bunny only. A region: `'.Modal .Button'`
1779
+ * restyles only the modals' buttons.
1780
+ * @default `colorBackground`, `colorText`, `fontFamily`, `fontSizeBase`
1781
+ */
1782
+ '.Modal'?: AppearanceStyle;
1783
+ };
1784
+ /**
1785
+ * The regions: the root of each exported component and the areas several screens share (Signup's and
1786
+ * Checkout's `.Summary` and `.Form`, the `.Drawer` and `.Modal` panels), styleable themselves and the only
1787
+ * scopes a compound rule can name (`'.Summary .Button'`). An area inside one screen is not a region: it is
1788
+ * reached through the screen's root (`'.Upgrade .Heading'`). The engine reads this list; it is not
1789
+ * exported from the package.
1790
+ */
1791
+ declare const REGIONS: readonly [".Summary", ".Form", ".Invoice", ".Footer", ".Invoices", ".Quotes", ".Transactions", ".Quote", ".BillingDetails", ".Subscriptions", ".Upgrade", ".Drawer", ".Modal"];
1792
+ /** A region (see `REGIONS`). */
1793
+ type AppearanceRegion = (typeof REGIONS)[number];
1794
+ /** What a compound rule can be scoped to. Only regions: adding a scope later is non-breaking, removing one is not. */
1795
+ type AppearanceScope = AppearanceRegion;
1796
+ /** A state on a selector: a pseudo-class (`:hover`, `::placeholder`) or a state suffix (`--selected`). */
1797
+ type StateSuffix = `:${string}` | `--${string}`;
1798
+ /**
1799
+ * The roots of the shared selectors: with their states, handed to the payment provider's fields too.
1800
+ * Never scoped: a scoped shared rule would restyle our fields but not the payment provider's. The engine
1801
+ * reads this list; it is not exported from the package.
1802
+ */
1803
+ declare const SHARED_ROOTS: readonly [".Input", ".Label", ".Error", ".Tab"];
1804
+ /** A shared selector's root (see `SHARED_ROOTS`). */
1805
+ type SharedRoot = (typeof SHARED_ROOTS)[number];
1806
+ /** The selectors a region can scope: every Bunny-only role and its states, never a region or a key on a shared root. */
1807
+ type AppearanceScopable = Exclude<keyof AppearanceSelectorRules, AppearanceRegion | SharedRoot | `${SharedRoot}${StateSuffix}`>;
1808
+ /**
1809
+ * Scoped rules: a Bunny-only role inside one region, such as `'.Summary .Button'` or
1810
+ * `'.Summary .Button:hover'`. Bunny only: never forwarded to the payment provider. Inside the region
1811
+ * a scoped rule beats the plain role rule (`.Button`), yours or ours, but not a state: scope the state
1812
+ * too (`'.Summary .Button:hover'`). Outside the region it does nothing.
1813
+ * Takes `AppearanceStyle`. Scoped keys carry no hover documentation of their own: read the plain
1814
+ * role's and the region's.
1815
+ */
1816
+ type AppearanceScopedRules = {
1817
+ [K in keyof AppearanceSelectorRules as K extends AppearanceScopable ? `${AppearanceScope} ${K}` : never]?: AppearanceStyle;
1818
+ };
1819
+ /**
1820
+ * Selector → style override: every public selector (`AppearanceSelectorRules`) plus the scoped rules
1821
+ * (`AppearanceScopedRules`).
1822
+ */
1823
+ type AppearanceRules = AppearanceSelectorRules & AppearanceScopedRules;
1824
+ /**
1825
+ * A web font to use in `variables.fontFamily`: a stylesheet of `@font-face` rules, or one font file. It
1826
+ * is loaded onto the page and into the payment fields (which render in an iframe), so your page needn't
1827
+ * load it. System fonts need no entry.
1828
+ */
1829
+ type AppearanceFont = {
1830
+ /** URL of a stylesheet of `@font-face` rules, such as a Google Fonts link. */
1831
+ cssSrc: string;
1832
+ } | {
1833
+ /** The name to use in `fontFamily`. */
1834
+ family: string;
1835
+ /** The font file, as a CSS `src` value: `url(https://...)`. */
1836
+ src: string;
1837
+ /** CSS `font-weight`, such as `'400'` or `'400 700'`. */
1838
+ weight?: string;
1839
+ /** CSS `font-style`. */
1840
+ style?: 'normal' | 'italic' | 'oblique';
1841
+ /** CSS `font-display`. */
1842
+ display?: string;
1843
+ /** CSS `unicode-range`. */
1844
+ unicodeRange?: string;
1845
+ };
1846
+ /**
1847
+ * Restyles Bunny's components: `variables` feed the default rules, your `rules` are merged over them
1848
+ * selector by selector, and `fonts` are loaded onto the page and into the payment fields. Set it on `BunnyProvider` for every
1849
+ * component, or on a component to restyle that one on top. The payment provider's hosted fields (Stripe's
1850
+ * Payment Element) follow the shared rules too. See "Styling components" in the package README.
1851
+ * @example
1852
+ * <BunnyProvider
1853
+ * apiHost="..."
1854
+ * token={token}
1855
+ * appearance={{
1856
+ * variables: { colorPrimary: '#14532d', colorBackgroundSecondary: '#f6f1e7', borderRadius: '0px' },
1857
+ * rules: {
1858
+ * '.Label': { textTransform: 'uppercase', letterSpacing: '0.08em' },
1859
+ * '.Input:focus': { borderColor: '#14532d', boxShadow: '0 0 0 1px #14532d' },
1860
+ * '.Button': { backgroundColor: '#1c1917', padding: '14px 16px' },
1861
+ * },
1862
+ * fonts: [{ cssSrc: 'https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;600&display=swap' }],
1863
+ * }}
1864
+ * >
1865
+ * ...
1866
+ * </BunnyProvider>
1867
+ */
1868
+ type Appearance = {
1869
+ /** The values the default rules are built from. */
1870
+ variables?: AppearanceVariables;
1871
+ /** Per-selector overrides, merged over the defaults property by property. Literal values only. */
1872
+ rules?: AppearanceRules;
1873
+ /**
1874
+ * Web fonts for `variables.fontFamily`, loaded onto the page and into the payment fields. Set them once,
1875
+ * up front: changing them after the payment form mounts remounts it and clears what was typed.
1876
+ * @example [{ cssSrc: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap' }]
1877
+ */
1878
+ fonts?: AppearanceFont[];
1879
+ };
1880
+
29
1881
  type InvoiceProps = InvoiceQuoteContextProps & {
30
1882
  hidePaymentForm?: boolean;
31
1883
  onPaymentMethodSaved?: (paymentMethodId: string) => void;
32
1884
  onPaymentMethodRemoved?: (paymentMethodId: string) => void;
1885
+ /** A custom style to apply to the component */
1886
+ style?: CSSProperties;
1887
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
1888
+ appearance?: Appearance;
33
1889
  };
34
- declare function Invoice({ id, invoiceQuoteViewComponent, backButtonName, onBackButtonClick, onInvoiceDownloadError, onPaymentSuccess, shadow, className, hideDownloadButton, hidePaymentForm, onInvoiceLoaded, onPaymentMethodSaved, onPaymentMethodRemoved, }: InvoiceProps): react.JSX.Element;
1890
+ declare function Invoice({ id, invoiceQuoteViewComponent, backButtonName, onBackButtonClick, onInvoiceDownloadError, onPaymentSuccess, className, hideDownloadButton, hidePaymentForm, onInvoiceLoaded, onPaymentMethodSaved, onPaymentMethodRemoved, style, appearance, }: InvoiceProps): react.JSX.Element;
35
1891
 
36
1892
  declare global {
37
1893
  interface Window {
@@ -54,8 +1910,6 @@ type TableDisplayOptions<ColumnKey extends string> = {
54
1910
  className?: string;
55
1911
  /** A custom style to apply to the component */
56
1912
  style?: React.CSSProperties;
57
- /** Card shadow class */
58
- shadow?: ShadowType;
59
1913
  /** Whether to open the row detail in a modal instead of a drawer */
60
1914
  useModal?: boolean;
61
1915
  /** A custom class name to apply to the search bar */
@@ -83,7 +1937,7 @@ type InvoicesBehaviorOptions = TableBehaviorOptions & {
83
1937
  /** Whether to hide the payment form on invoices */
84
1938
  hidePaymentForm?: boolean;
85
1939
  };
86
- declare function Invoices({ invoiceComponent, onInvoiceClick, filter, sort, displayOptions, behaviorOptions, }: {
1940
+ declare function Invoices({ invoiceComponent, onInvoiceClick, filter, sort, appearance, displayOptions, behaviorOptions, }: {
87
1941
  /** A custom component to render instead of the default invoice component */
88
1942
  invoiceComponent?: react__default.ReactNode;
89
1943
  /** A function to call when an invoice is clicked */
@@ -94,6 +1948,8 @@ declare function Invoices({ invoiceComponent, onInvoiceClick, filter, sort, disp
94
1948
  filter?: string;
95
1949
  /** Sort clause applied server-side, e.g. `"createdAt DESC"` or `"amount ASC"`. */
96
1950
  sort?: string;
1951
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
1952
+ appearance?: Appearance;
97
1953
  displayOptions?: InvoicesDisplayOptions;
98
1954
  behaviorOptions?: InvoicesBehaviorOptions;
99
1955
  }): react__default.JSX.Element;
@@ -113,14 +1969,18 @@ type QuoteProps = InvoiceQuoteContextProps & {
113
1969
  onQuoteUnavailableError?: () => void;
114
1970
  suppressQuoteUnavailableErrorNotification?: boolean;
115
1971
  onQuoteLoaded?: (formattedQuote: ResultOf<typeof OnQuoteLoadedFragment>) => void;
1972
+ /** A custom style to apply to the component */
1973
+ style?: CSSProperties;
1974
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
1975
+ appearance?: Appearance;
116
1976
  };
117
- declare function Quote({ id, invoiceQuoteViewComponent, onInvoiceDownloadError, onPaymentSuccess, shadow, className, hideDownloadButton, onQuoteLoaded, onQuoteAccepted, onQuoteUnavailableError, suppressQuoteUnavailableErrorNotification, }: QuoteProps): react.JSX.Element;
1977
+ declare function Quote({ id, invoiceQuoteViewComponent, onInvoiceDownloadError, onPaymentSuccess, className, hideDownloadButton, onQuoteLoaded, onQuoteAccepted, onQuoteUnavailableError, suppressQuoteUnavailableErrorNotification, style, appearance, }: QuoteProps): react.JSX.Element;
118
1978
 
119
1979
  type QuoteColumnKey = 'date' | 'title' | 'state' | 'amount' | 'download' | 'accountName';
120
1980
 
121
1981
  type QuotesDisplayOptions = TableDisplayOptions<QuoteColumnKey>;
122
1982
  type QuotesBehaviorOptions = TableBehaviorOptions;
123
- declare function Quotes({ renderQuote, onQuoteClick, filter, sort, displayOptions, behaviorOptions, }: {
1983
+ declare function Quotes({ renderQuote, onQuoteClick, filter, sort, appearance, displayOptions, behaviorOptions, }: {
124
1984
  /** Render a custom quote component. Receives the quote as a parameter. */
125
1985
  renderQuote?: (quote: Quote$1) => React.ReactNode;
126
1986
  /** A function to call when a quote is clicked */
@@ -131,6 +1991,8 @@ declare function Quotes({ renderQuote, onQuoteClick, filter, sort, displayOption
131
1991
  filter?: string;
132
1992
  /** Sort clause applied server-side, e.g. `"createdAt DESC"` or `"amount ASC"`. */
133
1993
  sort?: string;
1994
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
1995
+ appearance?: Appearance;
134
1996
  displayOptions?: QuotesDisplayOptions;
135
1997
  behaviorOptions?: QuotesBehaviorOptions;
136
1998
  }): react.JSX.Element;
@@ -152,14 +2014,22 @@ type PayProps = {
152
2014
  disabled?: boolean;
153
2015
  onClickPrecondition?: () => boolean | Promise<boolean>;
154
2016
  };
2017
+ /**
2018
+ * Pays (or approves the payment hold) with the selected payment method. A saved method is used as it
2019
+ * is, without changing the account's default. A new one is stored first, in the same click, and
2020
+ * selected once the payment is through or declined, so a retry doesn't store it again. (Selecting it
2021
+ * earlier would close the new method form, and this button with it, mid-payment.)
2022
+ */
155
2023
  declare function Pay(props?: PayProps): react.JSX.Element;
156
2024
 
157
- declare function Cancel(): react.JSX.Element;
2025
+ /** Closes the new payment method form by going back to the default saved method. Only shown when there is one. */
2026
+ declare function Cancel(): react.JSX.Element | null;
158
2027
 
159
2028
  type SaveButtonTextOverride = {
160
2029
  text: string;
161
2030
  isProcessingText: string;
162
2031
  };
2032
+ /** Stores the payment method entered in the form, then closes the form again. */
163
2033
  declare function Save({ onClickPrecondition, buttonTextOverride, }: {
164
2034
  onClickPrecondition?: () => boolean | Promise<boolean>;
165
2035
  buttonTextOverride?: SaveButtonTextOverride;
@@ -168,7 +2038,13 @@ declare function Save({ onClickPrecondition, buttonTextOverride, }: {
168
2038
  type PaymentMethodDetailsProps = {
169
2039
  footer?: ReactNode;
170
2040
  };
171
- declare function PaymentMethodDetailsRoot(props?: PaymentMethodDetailsProps): react.JSX.Element;
2041
+ /**
2042
+ * The new payment method form: plugin tiles when there is more than one plugin, then the selected
2043
+ * plugin's fields, then `footer`, spaced like the rows of Checkout's form. It shows while a new method
2044
+ * is chosen, and straight away without saved methods. With saved methods and no saved method tiles on
2045
+ * screen to choose "New card" in, it shows "Add payment method" until then.
2046
+ */
2047
+ declare function PaymentMethodDetailsRoot(props?: PaymentMethodDetailsProps): react.JSX.Element | null;
172
2048
  declare const PaymentMethodDetails: typeof PaymentMethodDetailsRoot & {
173
2049
  Cancel: typeof Cancel;
174
2050
  Save: typeof Save;
@@ -177,11 +2053,17 @@ declare const PaymentMethodDetails: typeof PaymentMethodDetailsRoot & {
177
2053
  type StoredPaymentMethodsProps = {
178
2054
  className?: string;
179
2055
  };
180
- declare function StoredPaymentMethods(props?: StoredPaymentMethodsProps): react.JSX.Element;
2056
+ /**
2057
+ * The account's saved payment methods as tiles, then "New card", which opens the new payment method
2058
+ * form. When paying, a tile is the method to pay with (the default is preselected; choosing another
2059
+ * pays with it this once and leaves the default alone). When only saving (no invoice or quote), the
2060
+ * tiles are cards to manage. Either way each has a menu to remove it or make it the default.
2061
+ */
2062
+ declare function StoredPaymentMethods(props?: StoredPaymentMethodsProps): react.JSX.Element | null;
181
2063
 
182
2064
  declare const PaymentForm_PaymentMethodsFragment: gql_tada.TadaDocumentNode<{
183
2065
  [$tada.fragmentRefs]: {
184
- MiniCreditCard_PaymentMethodFragment: "PaymentMethod";
2066
+ SavedPaymentMethodTiles_PaymentMethodFragment: "PaymentMethod";
185
2067
  };
186
2068
  id: string;
187
2069
  plugin: {
@@ -193,6 +2075,8 @@ declare const PaymentForm_PaymentMethodsFragment: gql_tada.TadaDocumentNode<{
193
2075
  masked: true;
194
2076
  }>;
195
2077
 
2078
+ type PaymentMethodFragment = ResultOf<typeof PaymentForm_PaymentMethodsFragment>;
2079
+
196
2080
  declare const PaymentForm_QuoteFragment: gql_tada.TadaDocumentNode<{
197
2081
  id: string | null;
198
2082
  currencyId: string;
@@ -205,7 +2089,6 @@ declare const PaymentForm_QuoteFragment: gql_tada.TadaDocumentNode<{
205
2089
  masked: true;
206
2090
  }>;
207
2091
 
208
- type PaymentMethodFragment = ResultOf<typeof PaymentForm_PaymentMethodsFragment>;
209
2092
  declare const PaymentForm_InvoiceFragment: gql_tada.TadaDocumentNode<{
210
2093
  id: string | null;
211
2094
  currencyId: string;
@@ -239,10 +2122,14 @@ declare function PaymentFormRoot({ currencyId: accountCurrencyId, invoice: maske
239
2122
  type PaymentFormProps = ComponentProps<typeof PaymentFormRoot>;
240
2123
  type PaymentFormRenderState = {
241
2124
  hasPaymentMethods: boolean;
2125
+ /** The new payment method form is open: "New card" is chosen, or there is no saved method. */
242
2126
  isPaymentMethodDetailsOpen: boolean;
243
2127
  isPayableAvailable: boolean;
244
2128
  amountDue: number | undefined;
2129
+ /** Payment plugins with a payment form (Stripe, DemoPay); undefined until they have loaded. */
245
2130
  paymentPluginsCount: number | undefined;
2131
+ /** The saved payment method `Pay` will use, or undefined when a new one is entered. */
2132
+ selectedPaymentMethodId: string | undefined;
246
2133
  };
247
2134
  declare function PaymentFormInternal(props: PaymentFormProps & {
248
2135
  disablePayButton?: boolean;
@@ -255,666 +2142,6 @@ declare const PaymentForm: typeof PaymentFormInternal & {
255
2142
  NoPaymentPluginsAlert: typeof NoPaymentPluginsAlert;
256
2143
  };
257
2144
 
258
- /** What a rule source can read besides the variables. */
259
- type RuleContext = {
260
- isMobile: boolean;
261
- };
262
-
263
- /** Every variable, plus the shades the default rules need that customers don't set. */
264
- type VariablesAndShades = Required<AppearanceVariables> & {
265
- colorPrimaryHover: string;
266
- colorPrimaryActive: string;
267
- colorOnPrimary: string;
268
- colorTextDisabled: string;
269
- colorBackgroundDisabled: string;
270
- colorBorderSecondary: string;
271
- colorFill: string;
272
- colorDivider: string;
273
- colorSuccessBackground: string;
274
- colorSuccessStrong: string;
275
- boxShadowPane: string;
276
- boxShadowPaneStacked: string;
277
- };
278
- /** The variables and shades, plus values built from them that several rule sources share. */
279
- type ResolvedVariables = VariablesAndShades & {
280
- controlBorder: string;
281
- controlTransition: string;
282
- focusOutline: {
283
- outline: string;
284
- outlineOffset: string;
285
- };
286
- };
287
-
288
- declare function screenRules(v: ResolvedVariables, { isMobile }: RuleContext): {
289
- internal: {
290
- '.Screen': {
291
- backgroundColor: string;
292
- color: string;
293
- fontFamily: string;
294
- fontSize: string;
295
- lineHeight: string;
296
- };
297
- '.FormPane': {
298
- backgroundColor: string;
299
- boxShadow: string;
300
- };
301
- '.Overlay': {
302
- inset: string;
303
- zIndex: string;
304
- backgroundColor: string;
305
- };
306
- '.Overlay .Spinner': {
307
- color: string;
308
- };
309
- '.Text': {
310
- color: string;
311
- fontSize: string;
312
- };
313
- '.TextSecondary': {
314
- color: string;
315
- };
316
- '.TextSuccess': {
317
- color: string;
318
- };
319
- '.Heading': {
320
- margin: string;
321
- fontSize: string;
322
- fontWeight: string;
323
- lineHeight: string;
324
- };
325
- '.Separator': {
326
- color: string;
327
- };
328
- '.Divider': {
329
- margin: string;
330
- border: string;
331
- borderTop: string;
332
- };
333
- '.Link': {
334
- color: string;
335
- textDecoration: string;
336
- transition: string;
337
- };
338
- '.Link:hover': {
339
- color: string;
340
- };
341
- '.Link:focus-visible': {
342
- borderRadius: string;
343
- outline: string;
344
- outlineOffset: string;
345
- };
346
- '.BackLink': {
347
- width: string;
348
- height: string;
349
- marginLeft: string;
350
- borderRadius: string;
351
- color: string;
352
- transition: string;
353
- };
354
- '.BackLink:hover': {
355
- color: string;
356
- backgroundColor: string;
357
- };
358
- '.BackLink:focus-visible': {
359
- outline: string;
360
- outlineOffset: string;
361
- };
362
- '.Disclosure': {
363
- minHeight: string;
364
- border: string;
365
- borderRadius: string;
366
- background: string;
367
- color: string;
368
- font: string;
369
- };
370
- '.Disclosure:focus-visible': {
371
- outlineOffset: string;
372
- outline: string;
373
- };
374
- '.Details': {
375
- border: string;
376
- borderRadius: string;
377
- };
378
- '.Details > div + div': {
379
- borderTop: string;
380
- };
381
- '.SuccessIcon': {
382
- width: string;
383
- height: string;
384
- borderRadius: string;
385
- backgroundColor: string;
386
- color: string;
387
- };
388
- '.Document': {
389
- borderRadius: string;
390
- };
391
- '.Placeholder': {
392
- height: string;
393
- borderRadius: string;
394
- backgroundColor: string;
395
- };
396
- };
397
- shared: {};
398
- block: {
399
- /**
400
- * The summary column's content: header, amount, line items, totals. Bunny only. No default rule; the
401
- * content is capped at `36rem` with `4rem` padding (`1.5rem` on phones): change it with `maxWidth` and `padding`.
402
- */
403
- '.Summary': {};
404
- /**
405
- * The form column's content: the form, or the confirmation after checkout. Bunny only. No default rule;
406
- * capped and padded like `.Summary`.
407
- */
408
- '.Form': {};
409
- };
410
- };
411
-
412
- declare function demoPayCardBoxRules(v: ResolvedVariables): {
413
- internal: {
414
- '.InputGroup': {
415
- border: string;
416
- borderRadius: string;
417
- backgroundColor: string;
418
- overflow: string;
419
- transition: string;
420
- };
421
- '.InputGroup:has(.ant-input-status-error)': {
422
- borderColor: string;
423
- };
424
- '.InputGroup:hover': {
425
- borderColor: string;
426
- };
427
- '.InputGroup:focus-within': {
428
- borderColor: string;
429
- boxShadow: string;
430
- };
431
- '.InputGroup > * + *': {
432
- borderTop: string;
433
- };
434
- '.InputGroupRow > * + *': {
435
- borderLeft: string;
436
- };
437
- };
438
- shared: {};
439
- block: {};
440
- };
441
-
442
- declare function fieldRules(v: ResolvedVariables): {
443
- internal: {
444
- '.Fieldset': {
445
- minWidth: string;
446
- margin: string;
447
- padding: string;
448
- border: string;
449
- };
450
- '.Field': {
451
- marginBottom: string;
452
- };
453
- '.LabelBase': {
454
- display: string;
455
- width: string;
456
- lineHeight: string;
457
- };
458
- '.ErrorBase': {
459
- marginTop: string;
460
- lineHeight: string;
461
- };
462
- };
463
- shared: {
464
- /**
465
- * Field labels, on Bunny's fields and the payment provider's alike.
466
- * @default 14px, weight 500, `colorText`, 6px below
467
- */
468
- '.Label': {
469
- fontSize: string;
470
- fontWeight: string;
471
- color: string;
472
- marginBottom: string;
473
- };
474
- /**
475
- * Validation messages under a field, on Bunny's fields and the payment provider's alike.
476
- * @default 14px, `colorDanger`
477
- */
478
- '.Error': {
479
- fontSize: string;
480
- color: string;
481
- };
482
- };
483
- block: {};
484
- };
485
-
486
- declare function paymentTileRules(v: ResolvedVariables): {
487
- internal: {
488
- '.TabBase': {
489
- display: string;
490
- flexDirection: string;
491
- alignItems: string;
492
- gap: string;
493
- boxSizing: string;
494
- minHeight: string;
495
- padding: string;
496
- font: string;
497
- textAlign: string;
498
- outline: string;
499
- cursor: string;
500
- };
501
- '.TabBase:disabled': {
502
- opacity: string;
503
- cursor: string;
504
- };
505
- };
506
- shared: {
507
- /**
508
- * Payment method tiles: Bunny's own and the payment provider's tabs.
509
- * @default `borderWidth` solid `colorBorder`, `colorBackground`, weight 500
510
- */
511
- '.Tab': {
512
- border: string;
513
- borderRadius: string;
514
- backgroundColor: string;
515
- color: string;
516
- fontWeight: string;
517
- boxShadow: string;
518
- transition: string;
519
- };
520
- /** A payment method tile under the pointer. Forwarded to the payment provider. @default `colorPrimary`'s hover shade border */
521
- '.Tab:hover': {
522
- borderColor: string;
523
- color: string;
524
- };
525
- /** The chosen payment method. Forwarded to the payment provider (its `color` also tints Stripe's tab icon). @default `colorPrimary` border and text */
526
- '.Tab--selected': {
527
- borderColor: string;
528
- color: string;
529
- boxShadow: string;
530
- };
531
- /** A focused payment method tile, selected or not. Forwarded to the payment provider. @default `focusBoxShadow` */
532
- '.Tab:focus': {
533
- boxShadow: string;
534
- };
535
- };
536
- block: {};
537
- };
538
-
539
- declare function buttonRules(v: ResolvedVariables): {
540
- internal: {
541
- '.ButtonBase': {
542
- display: string;
543
- alignItems: string;
544
- justifyContent: string;
545
- gap: string;
546
- boxSizing: string;
547
- margin: string;
548
- padding: string;
549
- fontFamily: string;
550
- fontSize: string;
551
- lineHeight: string;
552
- textDecoration: string;
553
- cursor: string;
554
- transition: string;
555
- };
556
- '.ButtonBase:focus-visible': {
557
- outline: string;
558
- outlineOffset: string;
559
- };
560
- '.ButtonBase:disabled': {
561
- cursor: string;
562
- };
563
- '.ButtonBase--loading': {
564
- opacity: string;
565
- cursor: string;
566
- pointerEvents: string;
567
- };
568
- '.ButtonBase.Compact': {
569
- padding: string;
570
- };
571
- '.ButtonPlain': {
572
- border: string;
573
- borderRadius: string;
574
- backgroundColor: string;
575
- color: string;
576
- };
577
- '.ButtonPlain:hover': {
578
- borderColor: string;
579
- color: string;
580
- };
581
- '.ButtonPlain:disabled': {
582
- borderColor: string;
583
- backgroundColor: string;
584
- color: string;
585
- };
586
- '.ButtonLink': {
587
- minHeight: string;
588
- padding: string;
589
- border: string;
590
- background: string;
591
- color: string;
592
- };
593
- '.ButtonIcon': {
594
- width: string;
595
- height: string;
596
- marginRight: string;
597
- padding: string;
598
- border: string;
599
- borderRadius: string;
600
- background: string;
601
- color: string;
602
- };
603
- '.ButtonIcon:hover': {
604
- backgroundColor: string;
605
- };
606
- };
607
- shared: {};
608
- block: {
609
- /**
610
- * The primary action (the pay button). Bunny only. Sized like `.Input`: change its height through `padding`.
611
- * @default filled with `colorPrimary`, `10px 16px` padding
612
- */
613
- '.Button': {
614
- border: string;
615
- borderRadius: string;
616
- backgroundColor: string;
617
- color: string;
618
- };
619
- /** The primary button under the pointer. @default `colorPrimary`'s hover shade */
620
- '.Button:hover': {
621
- backgroundColor: string;
622
- };
623
- /** The primary button while pressed. @default `colorPrimary`'s pressed shade */
624
- '.Button:active': {
625
- backgroundColor: string;
626
- };
627
- /** The primary button when disabled. @default `rgba(113, 125, 148, 0.1)` fill */
628
- '.Button:disabled': {
629
- backgroundColor: string;
630
- color: string;
631
- };
632
- };
633
- };
634
-
635
- declare function selectRules(v: ResolvedVariables): {
636
- internal: {
637
- '.Input.Select': {
638
- paddingRight: string;
639
- backgroundImage: string;
640
- backgroundRepeat: string;
641
- backgroundPosition: string;
642
- cursor: string;
643
- };
644
- '.Menu': {
645
- position: string;
646
- zIndex: string;
647
- top: string;
648
- left: string;
649
- right: string;
650
- maxHeight: string;
651
- overflowY: string;
652
- margin: string;
653
- padding: string;
654
- listStyle: string;
655
- border: string;
656
- borderRadius: string;
657
- backgroundColor: string;
658
- boxShadow: string;
659
- };
660
- '.Menu[data-placement="top"]': {
661
- top: string;
662
- bottom: string;
663
- };
664
- '.Option': {
665
- padding: string;
666
- borderRadius: string;
667
- lineHeight: string;
668
- color: string;
669
- overflow: string;
670
- textOverflow: string;
671
- whiteSpace: string;
672
- cursor: string;
673
- };
674
- '.Option[data-active="true"]': {
675
- backgroundColor: string;
676
- };
677
- '.Option[aria-selected="true"]': {
678
- fontWeight: string;
679
- };
680
- '.MenuEmpty': {
681
- padding: string;
682
- lineHeight: string;
683
- color: string;
684
- };
685
- };
686
- shared: {};
687
- block: {};
688
- };
689
-
690
- declare function textInputRules(v: ResolvedVariables, { isMobile }: RuleContext): {
691
- internal: {
692
- '.InputBase': {
693
- display: string;
694
- boxSizing: string;
695
- width: string;
696
- margin: string;
697
- fontFamily: string;
698
- outline: string;
699
- appearance: string;
700
- };
701
- '.InputBase:disabled': {
702
- cursor: string;
703
- };
704
- '.Input.Compact': {
705
- padding: string;
706
- };
707
- };
708
- shared: {
709
- /**
710
- * Text inputs and the country select, on Bunny's fields and the payment provider's alike. There is no
711
- * `height`: vertical padding + `lineHeight` + borders make it (44px by default), so raise the padding to grow both.
712
- * @default `10px 12px` padding, `20px` line, `borderWidth` solid `colorBorder`
713
- */
714
- '.Input': {
715
- border: string;
716
- borderRadius: string;
717
- padding: string;
718
- fontSize: string;
719
- lineHeight: string;
720
- color: string;
721
- backgroundColor: string;
722
- boxShadow: string;
723
- transition: string;
724
- };
725
- /** A text input under the pointer. Forwarded to the payment provider. @default `colorPrimary`'s hover shade border */
726
- '.Input:hover': {
727
- borderColor: string;
728
- };
729
- /** A focused text input. Forwarded to the payment provider. @default `colorPrimary` border and `focusBoxShadow` */
730
- '.Input:focus': {
731
- borderColor: string;
732
- boxShadow: string;
733
- };
734
- /**
735
- * A text input that failed validation. Forwarded to the payment provider. The default clears the focus ring:
736
- * set `boxShadow` to give it one.
737
- * @default `colorDanger` border, no shadow
738
- */
739
- '.Input--invalid': {
740
- borderColor: string;
741
- boxShadow: string;
742
- };
743
- /** A disabled text input. Forwarded to the payment provider. */
744
- '.Input:disabled': {
745
- borderColor: string;
746
- color: string;
747
- backgroundColor: string;
748
- };
749
- /** Placeholder text. Forwarded to the payment provider. @default `colorTextPlaceholder` */
750
- '.Input::placeholder': {
751
- color: string;
752
- };
753
- };
754
- block: {};
755
- };
756
-
757
- /**
758
- * Every rule source. A selector belongs to one source (resolving throws in development otherwise), and
759
- * a rule that overrides another uses a compound selector (`.Input.Select`), so the order here doesn't
760
- * matter. Within a source, `internal` comes first, then `shared`, then `block`. The public types below
761
- * derive from this list. Sources are `function` declarations so the emitted `.d.ts` refers to them by
762
- * name and keeps their keys' JSDoc.
763
- */
764
- declare const RULE_SOURCES: readonly [typeof screenRules, typeof fieldRules, typeof textInputRules, typeof selectRules, typeof demoPayCardBoxRules, typeof paymentTileRules, typeof buttonRules];
765
- type Source = ReturnType<(typeof RULE_SOURCES)[number]>;
766
- type UnionToIntersection<U> = (U extends unknown ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
767
- type SharedGroups = UnionToIntersection<Source['shared']>;
768
- type BlockGroups = UnionToIntersection<Source['block']>;
769
- type AppearanceRules = {
770
- [K in keyof SharedGroups]?: AppearanceRuleStyle;
771
- } & {
772
- [K in keyof BlockGroups]?: AppearanceBlockStyle;
773
- };
774
-
775
- /**
776
- * The values the default look is built from: set one when a change should carry through everything
777
- * built from it. Names follow Stripe's Appearance API; the ones Stripe has too are handed to the
778
- * payment fields as they are. Every variable is optional, and literal values only (no `var()`).
779
- */
780
- type AppearanceVariables = {
781
- /**
782
- * The primary button, text links, the selected payment method, focused borders, the loading spinner.
783
- * Its hover and pressed shades and the default focus ring are derived from it, so use a plain color.
784
- * @default antd `colorPrimary` (your Bunny brand color)
785
- */
786
- colorPrimary?: string;
787
- /**
788
- * The form column, inputs and payment method tiles.
789
- * @default antd `colorBgContainer` (white; dark in dark mode)
790
- */
791
- colorBackground?: string;
792
- /**
793
- * Body text and input text.
794
- * @default antd `colorText`
795
- */
796
- colorText?: string;
797
- /**
798
- * Muted text: the "Subscribe to" line, footer links, the back arrow.
799
- * @default antd `colorTextSecondary`
800
- */
801
- colorTextSecondary?: string;
802
- /**
803
- * Placeholders, the empty country select and its chevron.
804
- * @default antd `colorTextPlaceholder`
805
- */
806
- colorTextPlaceholder?: string;
807
- /**
808
- * Invalid field borders and error messages.
809
- * @default antd `colorError`
810
- */
811
- colorDanger?: string;
812
- /**
813
- * Discount amounts and the success check (its tint and strong shade are derived from it, so use a plain color).
814
- * @default antd `colorSuccess`
815
- */
816
- colorSuccess?: string;
817
- /**
818
- * All text on the screen. The payment fields can't inherit your page's font: declare web fonts in `fonts`.
819
- * @default `'inherit'` (your page's font)
820
- */
821
- fontFamily?: string;
822
- /**
823
- * Body, input and button text. On phones, input text is raised to 16px when this is a smaller `px` value.
824
- * @default antd `fontSize` (`14px`)
825
- */
826
- fontSizeBase?: string;
827
- /**
828
- * Corners of inputs, payment method tiles and buttons.
829
- * @default antd `borderRadius` (`4px`)
830
- */
831
- borderRadius?: string;
832
- /**
833
- * Vertical space between form rows.
834
- * @default `'20px'`
835
- */
836
- gridRowSpacing?: string;
837
- /**
838
- * The ring around a focused input or payment method.
839
- * @default `0 0 0 2px` in a tint of `colorPrimary`
840
- * @example '0 0 0 3px rgba(20, 83, 45, 0.25)'
841
- */
842
- focusBoxShadow?: string;
843
- /**
844
- * The summary column and the loading overlay.
845
- * @default `'#f8fafc'` (dark mode: `'#121212'`)
846
- */
847
- colorBackgroundSummary?: string;
848
- /**
849
- * Borders of inputs, payment method tiles and secondary buttons; also dividers, when set.
850
- * @default antd `colorBorder`
851
- */
852
- colorBorder?: string;
853
- /**
854
- * Width of those borders and of the dividers.
855
- * @default `'2px'`
856
- */
857
- borderWidth?: string;
858
- };
859
- type RuleProperty = 'color' | 'backgroundColor' | 'border' | 'borderTop' | 'borderRight' | 'borderBottom' | 'borderLeft' | 'borderColor' | 'borderWidth' | 'borderStyle' | 'borderRadius' | 'boxShadow' | 'fontFamily' | 'fontSize' | 'fontWeight' | 'letterSpacing' | 'lineHeight' | 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft' | 'padding' | 'paddingTop' | 'paddingRight' | 'paddingBottom' | 'paddingLeft' | 'textTransform' | 'textDecoration' | 'transition' | 'outline' | 'outlineOffset';
860
- /** What a rule can set: the CSS properties (camelCase) a payment provider's hosted fields accept too. */
861
- type AppearanceRuleStyle = Partial<Record<RuleProperty, string>>;
862
- /** Rules for elements only we draw can also size them. */
863
- type AppearanceBlockStyle = AppearanceRuleStyle & Partial<Record<'background' | 'maxWidth' | 'minHeight' | 'opacity', string>>;
864
-
865
- /**
866
- * A font the payment provider's fields must load themselves (they render in an iframe and can't see
867
- * your page's fonts): a stylesheet of `@font-face` rules, or one font file. Your page loads its own copy.
868
- */
869
- type AppearanceFont = {
870
- /** URL of a stylesheet of `@font-face` rules, such as a Google Fonts link. */
871
- cssSrc: string;
872
- } | {
873
- /** The name to use in `fontFamily`. */
874
- family: string;
875
- /** The font file, as a CSS `src` value: `url(https://...)`. */
876
- src: string;
877
- /** CSS `font-weight`, such as `'400'` or `'400 700'`. */
878
- weight?: string;
879
- /** CSS `font-style`. */
880
- style?: 'normal' | 'italic' | 'oblique';
881
- /** CSS `font-display`. */
882
- display?: string;
883
- /** CSS `unicode-range`. */
884
- unicodeRange?: string;
885
- };
886
- /**
887
- * Restyles the Signup and Checkout screens, modelled on Stripe's Appearance API: `variables` feed the
888
- * default rules, your `rules` are merged over them selector by selector, and `fonts` are loaded by the
889
- * payment fields. The payment provider's fields follow the shared rules too. See "Styling Signup and
890
- * Checkout" in the package README.
891
- * @example
892
- * <Signup
893
- * priceListCode="..."
894
- * appearance={{
895
- * variables: { colorPrimary: '#14532d', colorBackgroundSummary: '#f6f1e7', borderRadius: '0px' },
896
- * rules: {
897
- * '.Label': { textTransform: 'uppercase', letterSpacing: '0.08em' },
898
- * '.Input:focus': { borderColor: '#14532d', boxShadow: '0 0 0 1px #14532d' },
899
- * '.Button': { backgroundColor: '#1c1917', padding: '14px 16px' },
900
- * },
901
- * fonts: [{ cssSrc: 'https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;600&display=swap' }],
902
- * }}
903
- * />
904
- */
905
- type Appearance = {
906
- /** The values the default rules are built from. */
907
- variables?: AppearanceVariables;
908
- /** Per-selector overrides, merged over the defaults property by property. Literal values only. */
909
- rules?: AppearanceRules;
910
- /**
911
- * Fonts the payment fields load in their iframe. Set them once, up front: changing them after the
912
- * payment form mounts remounts it and clears what was typed.
913
- * @example [{ cssSrc: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap' }]
914
- */
915
- fonts?: AppearanceFont[];
916
- };
917
-
918
2145
  /** Every value the checkout form can hold. Only `email` is shown by default. */
919
2146
  type CheckoutFormValues = {
920
2147
  email: string;
@@ -979,10 +2206,10 @@ type CheckoutFlowProps = {
979
2206
  /** A custom style to apply to the component */
980
2207
  style?: React.CSSProperties;
981
2208
  /**
982
- * Restyles the screen, modelled on Stripe's Appearance API: `variables` (colors, font, radius) feed the
983
- * default rules, `rules` override them per selector (`.Input`, `.Tab`, `.Button`, ...), and `fonts` are
984
- * loaded by the payment fields. The payment provider's fields follow it too. Signup and Checkout take
985
- * the same prop. See "Styling Signup and Checkout" in the package README.
2209
+ * Restyles this screen on top of `BunnyProvider`'s `appearance`: `variables` (colors, font, radius) feed the
2210
+ * default rules, `rules` override them per selector (`.Input`, `.Tab`, `.Button`, ...), and `fonts` are loaded
2211
+ * by the payment fields. The payment provider's fields follow it too. Signup and Checkout take the same prop.
2212
+ * See "Styling components" in the package README.
986
2213
  */
987
2214
  appearance?: Appearance;
988
2215
  /** Form configuration: default values, optional fields to show and disabled fields */
@@ -1004,9 +2231,15 @@ type CheckoutProps = CheckoutFlowProps & {
1004
2231
  /** Self-service checkout for an existing account: subscribes it to a price list in one click. Needs a portal session token. */
1005
2232
  declare function Checkout({ style, form, documentTemplateId, ...props }: CheckoutProps): react.JSX.Element;
1006
2233
 
1007
- declare function BunnyProvider({ children, darkMode, queryClient, apiHost, token, onTokenExpired, onUserUnavailable, onInvalidOrMissingAuthorization, suppressUserUnavailableErrorNotification, disableErrorNotifications, configProviderProps, }: {
2234
+ /** @deprecated Use `AppearanceStyle`. */
2235
+ type AppearanceBlockStyle = AppearanceStyle;
2236
+ /** @deprecated Use AppearanceSharedStyle. */
2237
+ type AppearanceRuleStyle = AppearanceSharedStyle;
2238
+ /** @deprecated Use `keyof AppearanceSharedStyle`. */
2239
+ type RuleProperty = RuleProperty$1;
2240
+
2241
+ declare function BunnyProvider({ children, queryClient, apiHost, token, onTokenExpired, onUserUnavailable, onInvalidOrMissingAuthorization, suppressUserUnavailableErrorNotification, disableErrorNotifications, appearance, }: {
1008
2242
  children: React.ReactNode;
1009
- darkMode?: boolean;
1010
2243
  queryClient?: QueryClient;
1011
2244
  apiHost: string;
1012
2245
  token?: string;
@@ -1015,7 +2248,8 @@ declare function BunnyProvider({ children, darkMode, queryClient, apiHost, token
1015
2248
  onInvalidOrMissingAuthorization?: () => void;
1016
2249
  suppressUserUnavailableErrorNotification?: boolean;
1017
2250
  disableErrorNotifications?: boolean;
1018
- configProviderProps?: ThemeConfig | undefined;
2251
+ /** Restyles every component rendered inside the provider; a component's own `appearance` is merged over it. See "Styling components" in the package README. */
2252
+ appearance?: Appearance;
1019
2253
  }): react.JSX.Element;
1020
2254
 
1021
2255
  type TransactionDateType = 'createdAt' | 'issuedAt' | 'dueAt';
@@ -1029,7 +2263,7 @@ type TransactionsBehaviorOptions = TableBehaviorOptions & {
1029
2263
  /** Whether to hide the payment form on invoices */
1030
2264
  hidePaymentForm?: boolean;
1031
2265
  };
1032
- declare function Transactions({ transactionComponent, onTransactionClick, filter, sort, displayOptions, behaviorOptions, }: {
2266
+ declare function Transactions({ transactionComponent, onTransactionClick, filter, sort, appearance, displayOptions, behaviorOptions, }: {
1033
2267
  /** A custom component to render instead of the default invoice component */
1034
2268
  transactionComponent?: react__default.ReactNode;
1035
2269
  /** A function to call when a transaction is clicked */
@@ -1040,21 +2274,22 @@ declare function Transactions({ transactionComponent, onTransactionClick, filter
1040
2274
  filter?: string;
1041
2275
  /** Sort clause applied server-side, e.g. `"createdAt DESC"` or `"amount ASC"`. */
1042
2276
  sort?: string;
2277
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
2278
+ appearance?: Appearance;
1043
2279
  displayOptions?: TransactionsDisplayOptions;
1044
2280
  behaviorOptions?: TransactionsBehaviorOptions;
1045
2281
  }): react__default.JSX.Element;
1046
2282
 
1047
- declare const SubscriptionsWrapper: ({ handlePortalErrors, companyName, isInPreviewMode, productId, className, styles: userStyles, noSubscriptionsComponent, showInactiveSubscriptions, showInactiveSubscriptionsToggle, onPaymentMethodSaved, onPaymentMethodRemoved, onSubscriptionUpgradeClick, }: {
2283
+ declare const SubscriptionsWrapper: ({ handlePortalErrors, companyName, isInPreviewMode, productId, className, style, appearance, noSubscriptionsComponent, showInactiveSubscriptions, showInactiveSubscriptionsToggle, onPaymentMethodSaved, onPaymentMethodRemoved, onSubscriptionUpgradeClick, }: {
1048
2284
  handlePortalErrors?: (errors: any) => void;
1049
2285
  companyName: string;
1050
2286
  isInPreviewMode?: boolean;
1051
2287
  productId?: string;
1052
2288
  className?: string;
1053
- styles?: {
1054
- gap?: number;
1055
- shadow?: "none" | "sm" | "md" | "lg";
1056
- subscriptionProductNameStyle?: React.CSSProperties;
1057
- };
2289
+ /** A custom style to apply to the component */
2290
+ style?: React.CSSProperties;
2291
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
2292
+ appearance?: Appearance;
1058
2293
  noSubscriptionsComponent?: React.ReactNode;
1059
2294
  showInactiveSubscriptions?: boolean;
1060
2295
  showInactiveSubscriptionsToggle?: boolean;
@@ -1063,7 +2298,7 @@ declare const SubscriptionsWrapper: ({ handlePortalErrors, companyName, isInPrev
1063
2298
  onSubscriptionUpgradeClick?: (subscriptionId: string) => void;
1064
2299
  }) => react.JSX.Element;
1065
2300
 
1066
- declare const UpgradeWrapper: ({ onChangePlanCancel, handlePortalErrors, onPaymentMethodSaved, onPaymentMethodRemoved, upgradingSubscriptionId, isInPreviewMode, productId, className, shadow, defaultBillingPeriod, }: {
2301
+ declare const UpgradeWrapper: ({ onChangePlanCancel, handlePortalErrors, onPaymentMethodSaved, onPaymentMethodRemoved, upgradingSubscriptionId, isInPreviewMode, productId, className, style, appearance, defaultBillingPeriod, }: {
1067
2302
  onChangePlanCancel?: () => void;
1068
2303
  handlePortalErrors?: (error: any) => void;
1069
2304
  onPaymentMethodSaved?: (paymentMethodId: string) => void;
@@ -1072,14 +2307,17 @@ declare const UpgradeWrapper: ({ onChangePlanCancel, handlePortalErrors, onPayme
1072
2307
  isInPreviewMode?: boolean;
1073
2308
  productId?: string | undefined;
1074
2309
  className?: string;
1075
- shadow?: "none" | "sm" | "md" | "lg";
2310
+ /** A custom style to apply to the component */
2311
+ style?: React.CSSProperties;
2312
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
2313
+ appearance?: Appearance;
1076
2314
  /**
1077
2315
  * If provided and the billing period is available, the billing period selector will default to this value.
1078
2316
  */
1079
2317
  defaultBillingPeriod?: "ONCE" | "MONTHLY" | "QUARTERLY" | "SEMI_ANNUAL" | "ANNUAL";
1080
2318
  }) => react.JSX.Element | null;
1081
2319
 
1082
- declare const BillingDetails: ({ countryListFilter, hideBillingDetailsForm, hidePaymentMethodForm, isUpgradeFromTrial, style, onSavePaymentMethod, onPaymentMethodRemoved, }: {
2320
+ declare const BillingDetails: ({ countryListFilter, hideBillingDetailsForm, hidePaymentMethodForm, isUpgradeFromTrial, style, className, appearance, onSavePaymentMethod, onPaymentMethodRemoved, }: {
1083
2321
  countryListFilter?: (country: {
1084
2322
  value: string;
1085
2323
  label: string;
@@ -1088,12 +2326,18 @@ declare const BillingDetails: ({ countryListFilter, hideBillingDetailsForm, hide
1088
2326
  hidePaymentMethodForm?: boolean;
1089
2327
  isUpgradeFromTrial?: boolean;
1090
2328
  style?: React.CSSProperties;
2329
+ className?: string;
2330
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
2331
+ appearance?: Appearance;
1091
2332
  onSavePaymentMethod?: (paymentMethodId: string) => void;
1092
2333
  onPaymentMethodRemoved?: (paymentMethodId: string) => void;
1093
2334
  }) => react.JSX.Element;
1094
2335
 
1095
- declare const Footer: ({ className }: {
2336
+ declare const Footer: ({ className, style, appearance, }: {
1096
2337
  className?: string;
2338
+ style?: CSSProperties;
2339
+ /** Restyles this component on top of `BunnyProvider`'s `appearance`. See "Styling components" in the package README. */
2340
+ appearance?: Appearance;
1097
2341
  }) => react.JSX.Element;
1098
2342
 
1099
2343
  declare const MiniCreditCard_PaymentMethodFragment: gql_tada.TadaDocumentNode<{
@@ -1114,6 +2358,12 @@ declare const MiniCreditCard_PaymentMethodFragment: gql_tada.TadaDocumentNode<{
1114
2358
  on: "PaymentMethod";
1115
2359
  masked: true;
1116
2360
  }>;
2361
+ /**
2362
+ * A saved payment method as one line: brand, last digits, `Default`/`Failed` tags and a menu.
2363
+ *
2364
+ * @deprecated PaymentForm no longer uses it: saved payment methods are its tiles now. It will be removed
2365
+ * in the next release.
2366
+ */
1117
2367
  declare function MiniCreditCard({ className, buttons, hideDropdownMenu, hideDefaultTag, onClickRemove, paymentMethod: maskedPaymentMethod, onClickSetDefault, id, }: {
1118
2368
  className?: string;
1119
2369
  buttons?: React.ReactNode;
@@ -1126,4 +2376,4 @@ declare function MiniCreditCard({ className, buttons, hideDropdownMenu, hideDefa
1126
2376
  }): react.JSX.Element;
1127
2377
 
1128
2378
  export { BillingDetails, BunnyProvider, Checkout, Footer, Invoice, Invoices, MiniCreditCard, PaymentForm, Quote, Quotes, Signup, SubscriptionsWrapper as Subscriptions, Transactions, UpgradeWrapper as Upgrade };
1129
- export type { Appearance, AppearanceBlockStyle, AppearanceFont, AppearanceRuleStyle, AppearanceRules, AppearanceVariables, CheckoutCallbacks, CheckoutDefaultValues, CheckoutDisabledFields, CheckoutFormOptions, CheckoutProps, RequiredBillingDetailsFlags, RuleProperty, SignupProps };
2379
+ export type { Appearance, AppearanceBlockStyle, AppearanceFont, AppearanceRuleStyle, AppearanceRules, AppearanceSharedStyle, AppearanceStyle, AppearanceVariables, CheckoutCallbacks, CheckoutDefaultValues, CheckoutDisabledFields, CheckoutFormOptions, CheckoutProps, FormattedInvoice, RequiredBillingDetailsFlags, RuleProperty, SignupProps };