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

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 (533) 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/{CheckoutShared/appearance/adapters/stripe.d.ts → PaymentMethods/utils/stripeAppearance.d.ts} +2 -2
  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 +17 -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 +34 -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/{CheckoutShared/appearance/adapters/stripe.d.ts → PaymentMethods/utils/stripeAppearance.d.ts} +2 -2
  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 +17 -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 +34 -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/appearance.types.test.d.ts +0 -3
  419. package/dist/cjs/types/src/components/CheckoutShared/appearance/index.d.ts +0 -3
  420. package/dist/cjs/types/src/components/CheckoutShared/appearance/resolveAppearance.d.ts +0 -21
  421. package/dist/cjs/types/src/components/CheckoutShared/appearance/ruleGroups.d.ts +0 -17
  422. package/dist/cjs/types/src/components/CheckoutShared/appearance/rules.d.ts +0 -27
  423. package/dist/cjs/types/src/components/CheckoutShared/appearance/rulesToCss.d.ts +0 -5
  424. package/dist/cjs/types/src/components/CheckoutShared/appearance/types.d.ts +0 -144
  425. package/dist/cjs/types/src/components/CheckoutShared/appearance/variables.d.ts +0 -29
  426. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/DemoPayCardBox.d.ts +0 -6
  427. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/PaymentTile.d.ts +0 -10
  428. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/PluginTiles.d.ts +0 -4
  429. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/SavedPaymentMethodTiles.d.ts +0 -4
  430. package/dist/cjs/types/src/components/CheckoutShared/components/CheckoutForm/StripePaymentElement.d.ts +0 -8
  431. package/dist/cjs/types/src/components/CheckoutShared/components/controls/Button.d.ts +0 -24
  432. package/dist/cjs/types/src/components/CheckoutShared/components/controls/Select.d.ts +0 -17
  433. package/dist/cjs/types/src/components/CheckoutShared/components/controls/Select.rules.d.ts +0 -55
  434. package/dist/cjs/types/src/components/CheckoutShared/components/controls/Spinner.d.ts +0 -4
  435. package/dist/cjs/types/src/components/CheckoutShared/components/controls/TextInput.d.ts +0 -7
  436. package/dist/cjs/types/src/components/CheckoutShared/contexts/CheckoutPaymentMethodsContext.d.ts +0 -37
  437. package/dist/cjs/types/src/components/CheckoutShared/hooks/useNewPaymentMethod.d.ts +0 -10
  438. package/dist/cjs/types/src/components/CheckoutShared/hooks/useStripePaymentMethodId.d.ts +0 -9
  439. package/dist/cjs/types/src/components/CheckoutShared/utils/asPluginData.d.ts +0 -6
  440. package/dist/cjs/types/src/components/CheckoutShared/utils/validateDemoPayCard.d.ts +0 -5
  441. package/dist/cjs/types/src/components/CustomizedAntdComponents/Tag.d.ts +0 -37
  442. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/CreditCard.d.ts +0 -25
  443. package/dist/cjs/types/src/components/PaymentForm/DemoPay/CreditCard/index.d.ts +0 -1
  444. package/dist/cjs/types/src/components/PaymentForm/DemoPay/DemoPayForm.d.ts +0 -2
  445. package/dist/cjs/types/src/components/PaymentForm/DemoPay/demoPayUtils.d.ts +0 -21
  446. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/useApproveHold.d.ts +0 -16
  447. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/usePay.d.ts +0 -12
  448. package/dist/cjs/types/src/components/PaymentForm/DemoPay/hooks/useSave.d.ts +0 -9
  449. package/dist/cjs/types/src/components/PaymentForm/DemoPay/index.d.ts +0 -1
  450. package/dist/cjs/types/src/components/PaymentForm/Stripe/StripeForm.d.ts +0 -2
  451. package/dist/cjs/types/src/components/PaymentForm/Stripe/StripeFormProvider.d.ts +0 -4
  452. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/useApproveHold.d.ts +0 -16
  453. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/usePay.d.ts +0 -12
  454. package/dist/cjs/types/src/components/PaymentForm/Stripe/hooks/useSave.d.ts +0 -10
  455. package/dist/cjs/types/src/components/PaymentForm/Stripe/stripeLoader.d.ts +0 -12
  456. package/dist/cjs/types/src/components/PaymentForm/Stripe/stripeUtils.d.ts +0 -39
  457. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodDetails/components/Collapsible.d.ts +0 -7
  458. package/dist/cjs/types/src/components/PaymentForm/components/PaymentMethodDetails/components/PaymentMethodSelector.d.ts +0 -2
  459. package/dist/cjs/types/src/components/PaymentForm/context/PaymentMethodFormVisibilityContext.d.ts +0 -12
  460. package/dist/cjs/types/src/components/PaymentForm/context/SelectedPaymentPluginContext.d.ts +0 -6
  461. package/dist/cjs/types/src/components/PaymentForm/context/SelectedPluginProvider.d.ts +0 -16
  462. package/dist/cjs/types/src/components/PaymentForm/context/ShowPaymentDetailsContext.d.ts +0 -5
  463. package/dist/cjs/types/src/components/PaymentForm/fragments/StoredPaymentMethods_PaymentMethodsFragment.d.ts +0 -13
  464. package/dist/cjs/types/src/components/PaymentForm/hooks/useHasActiveSubscription.d.ts +0 -5
  465. package/dist/cjs/types/src/components/Quote/StyledModal.d.ts +0 -3
  466. package/dist/esm/types/src/UI/Tooltip.d.ts +0 -2
  467. package/dist/esm/types/src/components/Card.d.ts +0 -6
  468. package/dist/esm/types/src/components/Checkout/utils/storeNewPaymentMethod.d.ts +0 -8
  469. package/dist/esm/types/src/components/CheckoutShared/appearance/CheckoutAppearanceProvider.d.ts +0 -14
  470. package/dist/esm/types/src/components/CheckoutShared/appearance/appearance.types.test.d.ts +0 -3
  471. package/dist/esm/types/src/components/CheckoutShared/appearance/index.d.ts +0 -3
  472. package/dist/esm/types/src/components/CheckoutShared/appearance/resolveAppearance.d.ts +0 -21
  473. package/dist/esm/types/src/components/CheckoutShared/appearance/ruleGroups.d.ts +0 -17
  474. package/dist/esm/types/src/components/CheckoutShared/appearance/rules.d.ts +0 -27
  475. package/dist/esm/types/src/components/CheckoutShared/appearance/rulesToCss.d.ts +0 -5
  476. package/dist/esm/types/src/components/CheckoutShared/appearance/types.d.ts +0 -144
  477. package/dist/esm/types/src/components/CheckoutShared/appearance/variables.d.ts +0 -29
  478. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/DemoPayCardBox.d.ts +0 -6
  479. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/PaymentTile.d.ts +0 -10
  480. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/PluginTiles.d.ts +0 -4
  481. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/SavedPaymentMethodTiles.d.ts +0 -4
  482. package/dist/esm/types/src/components/CheckoutShared/components/CheckoutForm/StripePaymentElement.d.ts +0 -8
  483. package/dist/esm/types/src/components/CheckoutShared/components/controls/Button.d.ts +0 -24
  484. package/dist/esm/types/src/components/CheckoutShared/components/controls/Select.d.ts +0 -17
  485. package/dist/esm/types/src/components/CheckoutShared/components/controls/Select.rules.d.ts +0 -55
  486. package/dist/esm/types/src/components/CheckoutShared/components/controls/Spinner.d.ts +0 -4
  487. package/dist/esm/types/src/components/CheckoutShared/components/controls/TextInput.d.ts +0 -7
  488. package/dist/esm/types/src/components/CheckoutShared/contexts/CheckoutPaymentMethodsContext.d.ts +0 -37
  489. package/dist/esm/types/src/components/CheckoutShared/hooks/useNewPaymentMethod.d.ts +0 -10
  490. package/dist/esm/types/src/components/CheckoutShared/hooks/useStripePaymentMethodId.d.ts +0 -9
  491. package/dist/esm/types/src/components/CheckoutShared/utils/asPluginData.d.ts +0 -6
  492. package/dist/esm/types/src/components/CheckoutShared/utils/validateDemoPayCard.d.ts +0 -5
  493. package/dist/esm/types/src/components/CustomizedAntdComponents/Tag.d.ts +0 -37
  494. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/CreditCard.d.ts +0 -25
  495. package/dist/esm/types/src/components/PaymentForm/DemoPay/CreditCard/index.d.ts +0 -1
  496. package/dist/esm/types/src/components/PaymentForm/DemoPay/DemoPayForm.d.ts +0 -2
  497. package/dist/esm/types/src/components/PaymentForm/DemoPay/demoPayUtils.d.ts +0 -21
  498. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/useApproveHold.d.ts +0 -16
  499. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/usePay.d.ts +0 -12
  500. package/dist/esm/types/src/components/PaymentForm/DemoPay/hooks/useSave.d.ts +0 -9
  501. package/dist/esm/types/src/components/PaymentForm/DemoPay/index.d.ts +0 -1
  502. package/dist/esm/types/src/components/PaymentForm/Stripe/StripeForm.d.ts +0 -2
  503. package/dist/esm/types/src/components/PaymentForm/Stripe/StripeFormProvider.d.ts +0 -4
  504. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/useApproveHold.d.ts +0 -16
  505. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/usePay.d.ts +0 -12
  506. package/dist/esm/types/src/components/PaymentForm/Stripe/hooks/useSave.d.ts +0 -10
  507. package/dist/esm/types/src/components/PaymentForm/Stripe/stripeLoader.d.ts +0 -12
  508. package/dist/esm/types/src/components/PaymentForm/Stripe/stripeUtils.d.ts +0 -39
  509. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodDetails/components/Collapsible.d.ts +0 -7
  510. package/dist/esm/types/src/components/PaymentForm/components/PaymentMethodDetails/components/PaymentMethodSelector.d.ts +0 -2
  511. package/dist/esm/types/src/components/PaymentForm/context/PaymentMethodFormVisibilityContext.d.ts +0 -12
  512. package/dist/esm/types/src/components/PaymentForm/context/SelectedPaymentPluginContext.d.ts +0 -6
  513. package/dist/esm/types/src/components/PaymentForm/context/SelectedPluginProvider.d.ts +0 -16
  514. package/dist/esm/types/src/components/PaymentForm/context/ShowPaymentDetailsContext.d.ts +0 -5
  515. package/dist/esm/types/src/components/PaymentForm/fragments/StoredPaymentMethods_PaymentMethodsFragment.d.ts +0 -13
  516. package/dist/esm/types/src/components/PaymentForm/hooks/useHasActiveSubscription.d.ts +0 -5
  517. package/dist/esm/types/src/components/Quote/StyledModal.d.ts +0 -3
  518. /package/dist/cjs/types/src/components/{CheckoutShared/components/CheckoutForm → PaymentMethods/components}/CardBrandIcons.d.ts +0 -0
  519. /package/dist/cjs/types/src/components/{PaymentForm/DemoPay/CreditCard → PaymentMethods}/components/CardImage.d.ts +0 -0
  520. /package/dist/cjs/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayCardCvc.d.ts +0 -0
  521. /package/dist/cjs/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayCardNumber.d.ts +0 -0
  522. /package/dist/cjs/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayExpiry.d.ts +0 -0
  523. /package/dist/cjs/types/src/{components/CheckoutShared → ui}/appearance/scripts/dumpAppearance.d.ts +0 -0
  524. /package/dist/cjs/types/src/{UI → ui/components}/TruncatedText/TruncatedText.d.ts +0 -0
  525. /package/dist/cjs/types/src/{UI → ui/components}/TruncatedText/hooks/useIsTextTruncated.d.ts +0 -0
  526. /package/dist/esm/types/src/components/{CheckoutShared/components/CheckoutForm → PaymentMethods/components}/CardBrandIcons.d.ts +0 -0
  527. /package/dist/esm/types/src/components/{PaymentForm/DemoPay/CreditCard → PaymentMethods}/components/CardImage.d.ts +0 -0
  528. /package/dist/esm/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayCardCvc.d.ts +0 -0
  529. /package/dist/esm/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayCardNumber.d.ts +0 -0
  530. /package/dist/esm/types/src/components/{PaymentForm/DemoPay → PaymentMethods/components}/DemoPayExpiry.d.ts +0 -0
  531. /package/dist/esm/types/src/{components/CheckoutShared → ui}/appearance/scripts/dumpAppearance.d.ts +0 -0
  532. /package/dist/esm/types/src/{UI → ui/components}/TruncatedText/TruncatedText.d.ts +0 -0
  533. /package/dist/esm/types/src/{UI → ui/components}/TruncatedText/hooks/useIsTextTruncated.d.ts +0 -0
package/README.md CHANGED
@@ -148,115 +148,122 @@ For a more complete example in the codebase, see the `useSetQuoteQueryData` hook
148
148
 
149
149
  ### Styling components
150
150
 
151
- Signup and Checkout are styled through their `appearance` prop instead of the two layers below; see [Styling Signup and Checkout](#styling-signup-and-checkout).
151
+ `appearance` is the one styling API. Set it on `BunnyProvider` to restyle every component inside it, or on a component to restyle just that one: a component's `appearance` is merged over the provider's. `className` and `style` on a component position its root element (margins, width, a wrapper); they are not for changing how it looks.
152
152
 
153
- Components are styled through two complementary layers:
154
-
155
- 1. **Ant Design tokens** — for properties that drive antd primitives (Button, Input, Card, etc.). Set globally or per-component via `ConfigProvider`. See antd's [Customize Theme docs](https://ant.design/docs/react/customize-theme) for the full token reference.
156
- 2. **Bunny CSS classes** — custom surfaces (e.g. PlanPicker, PlanFeatures, PriceListCard) expose stable class names you can target with plain CSS.
157
-
158
- #### Antd tokens
153
+ **Requirements.** TypeScript 5 or newer to consume the package types: the public `.d.ts` references `gql.tada` types.
159
154
 
160
155
  ```tsx
161
- import { ConfigProvider } from 'antd';
156
+ import { BunnyProvider, Signup } from '@bunnyapp/components';
162
157
 
163
- <ConfigProvider
164
- theme={{
165
- token: { colorPrimary: '#9B59B6', borderRadius: 16 },
166
- components: {
167
- Button: { defaultBorderColor: '#FF8C00' },
158
+ <BunnyProvider
159
+ apiHost="https://your-subdomain.bunny.com"
160
+ token={token}
161
+ appearance={{
162
+ variables: {
163
+ colorPrimary: '#14532d',
164
+ colorBackgroundSecondary: '#f6f1e7',
165
+ fontFamily: '"Source Serif 4", Georgia, serif',
166
+ borderRadius: '0px',
167
+ },
168
+ rules: {
169
+ '.Label': { textTransform: 'uppercase', letterSpacing: '0.08em' },
170
+ '.Input:focus': { borderColor: '#14532d', boxShadow: '0 0 0 1px #14532d' },
168
171
  },
172
+ fonts: [{ cssSrc: 'https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;600&display=swap' }],
169
173
  }}
170
174
  >
171
- <Upgrade ... />
172
- </ConfigProvider>
175
+ {/* Same look as everything else, except this button. */}
176
+ <Signup priceListCode="..." appearance={{ rules: { '.Button': { backgroundColor: '#1c1917', padding: '14px 16px' } } }} />
177
+ </BunnyProvider>
173
178
  ```
174
179
 
175
- #### Bunny CSS classes
180
+ **How it resolves.** Each component starts from defaults built from your Bunny branding (the brand color is the default `colorPrimary`). The provider's `appearance` is applied over that, then the component's own. `variables` are spread, so a later one wins. `rules` are merged per selector and then per property: a component that sets `'.Button': { padding }` keeps the provider's `'.Button'` color. `fonts` are concatenated. An unset value (`undefined`, `null` or `''`) is ignored, so it never replaces a set one. `variables` feed the default rules, and your `rules` are applied after every default. The TypeScript types are the contract: a key they do not allow, or a value containing `{`, `}`, `;`, `<`, `@import` or `url(`, is ignored, with a console warning in development.
176
181
 
177
- No special API — just target the class with plain CSS. Defaults live in `src/styles/*-tokens.less`.
182
+ **Which rule wins.** A rule wins over every other rule at the same or lower specificity, and every rule, yours or ours, counts only its role and its state: `.Button`, `'.Summary .Button'` and our own restyled buttons weigh the same, and yours come later, so yours win. A state is a separate key: our `.Button:hover` beats your `.Button`, so when you restyle the button, set `.Button:hover` too. A scoped key beats your plain one (`'.Summary .Button'` over `.Button`), but not a state. A role drawn on top of `.Text` also counts `.Text`: `.Heading` beats `.Text`, whichever you wrote first.
178
183
 
179
- ```css
180
- .bunny-feature-group {
181
- background-color: #00E5FF;
182
- border-radius: 24px;
183
- }
184
+ **Use literal values.** Write real CSS values (`#14532d`, `12px`, `"Space Grotesk", sans-serif`), never `var(--my-token)`: variables and the shared rules are sent into the payment iframe, where your page's custom properties do not exist. Use a hex or `rgb()` color for `colorPrimary`, `colorSuccess` and `colorText`, as shades are computed from them (a color name reads as black there).
184
185
 
185
- .bunny-price-list-card-price-description {
186
- color: #E91E63;
187
- font-weight: 700;
188
- }
189
- ```
186
+ **What you can style.** The types, exported from the package as `Appearance`, `AppearanceVariables` and `AppearanceRules`, are the reference: every variable, selector (with its states) and allowed property is documented there with what it controls and its default. Hover `appearance` and its keys in your editor, or read `dist/index.d.ts`. Selectors come in two kinds:
190
187
 
191
- Currently exposed for the Upgrade component:
188
+ - **Roles** are kinds of element that appear across components, such as `.Text`, `.Heading`, `.Button`, `.Card` or `.TableRow`. `.Input`, `.Label`, `.Error` and `.Tab` are shared with the payment fields and take only the properties those accept; the others, Bunny-only, also take `background`, `opacity` and `fontVariantNumeric`. Most variants of a role (a heading's level, a tag's state colour) have no selector of their own: a rule for the role reaches every variant. The compact controls are the exception (`--compact`, below). `.Text` is all text: muted text, headings, amounts and overlines are each a `.Text` with their own role on top, so a `.Text` rule reaches them all, but a rule for their own role (ours included, such as a heading's size) beats it.
189
+ - **Regions** are the root of each component (`.Invoice`, `.Quote`, `.Upgrade`, and `.Invoices`, `.Quotes` and `.Transactions` for the lists) and the areas several screens share: `.Summary` and `.Form` in Signup and Checkout, and the panels of drawers and modals (`.Drawer`, `.Modal`). A region is styleable itself. An area inside one screen (Upgrade's plans, its feature comparison) is not a region: reach the roles in it through the component's root.
192
190
 
193
- - `.bunny-feature-group` — feature-list group surface
194
- - `.bunny-plan-features-feature-title-group` — group title text
195
- - `.bunny-plan-picker-grid-cell-divider` — divider between plan columns
196
- - `.bunny-plan-picker-price-list-cards` — price-list cards surface
197
- - `.bunny-plan-picker-checkout-bar` — checkout bar surface
198
- - `.bunny-price-list-card-price-description` — price description text
191
+ To style a role inside one region only, write the region, a space and the role: `'.Summary .Button': { backgroundColor: '#1c1917' }` restyles the button in the summary; `'.Invoices .Heading'` restyles only the invoices list's title, and `'.Upgrade .Heading'` the plan names. This works for Bunny-only roles and their states (`'.Summary .Button:hover'`); shared roles cannot be scoped, so the payment fields always match your own. These scoped keys have no hover documentation of their own in your editor: read the role's and the region's. Scoped keys are never sent to the payment fields.
199
192
 
200
- For a live example combining both layers, see the `PrideTheme` story in `Upgrade.stories.tsx`.
193
+ A state is a suffix on the selector: `--invalid` is a field that failed validation, `--selected` the one chosen of several (a payment method, a plan's card, a billing period), `--checked` a control switched on or ticked (a switch, a checkbox), `--alternate` every other table row, `--display` the one large amount of a screen, `--compact` the 32px variant of `.Input`, `.Button` and `.ButtonSecondary` (Bunny's own, never sent to the payment fields), and the others are CSS pseudo-classes (`:hover`, `:focus`, `:disabled`, `::placeholder`). A state rule only needs the properties that change. A selector that a component does not draw is ignored there, so one `appearance` on `BunnyProvider` can hold rules for every component.
201
194
 
202
- #### Styling Signup and Checkout
195
+ **Text on the primary color.** Text and icons on `colorPrimary` surfaces (the primary button's label, a ticked checkbox, the plan picker's ticks) take `variables.colorOnPrimary`, white by default; it does not follow `colorPrimary`. With a light `colorPrimary`, set `colorOnPrimary` to a dark color so they stay readable.
203
196
 
204
- Signup and Checkout render the same screen and are styled the same way: through the `appearance` prop. It is the only styling surface for this screen, and it is modelled on Stripe's Appearance API (same variable names, selector syntax and state suffixes).
197
+ **Sizing.** There is no `height` property. An input's height is its vertical padding + `lineHeight` + borders, because that is how hosted payment fields are sized (44px by default). Controls have a 1px border until `borderWidth` is set, and their padding gives up whatever the border takes, so the height stays. Raise the `.Input` padding to make Bunny's fields and the payment fields taller together; the primary button is sized the same way through `.Button` padding. The compact 32px inputs and buttons (a list's search box, the billing details' form, the quote's toolbar) keep their size under those rules: resize them with `.Input--compact`, `.Button--compact` and `.ButtonSecondary--compact`. `.Summary` and `.Form` are capped at `36rem` with `4rem` of padding (`1.5rem` on phones): change the padding with `padding`. Layout (widths, gaps) is not part of `appearance`: `maxWidth` and `minHeight` still work but are deprecated.
205
198
 
206
- ```tsx
207
- import { BunnyProvider, Signup } from '@bunnyapp/components';
199
+ **Fonts.** Set the font once, on `BunnyProvider`: `variables.fontFamily` is the font stack, and any web font in it goes in `fonts` (a stylesheet of `@font-face` rules, `{ cssSrc: 'https://...' }`, or a single file, `{ family, src, weight }`). The components load those fonts onto the page and into the payment fields (which render in an iframe), so your page needn't load them itself. The font reaches every component and the content you render inside `BunnyProvider`. System fonts need no entry. Leave `fontFamily` unset to inherit your page's font. Fonts are fixed once the payment form has mounted: changing `fonts` afterwards remounts the payment fields and clears anything typed into them, so set them once, up front.
208
200
 
209
- <BunnyProvider apiHost="https://your-subdomain.bunny.com" token={token}>
210
- <Signup
211
- priceListCode="..."
212
- appearance={{
213
- variables: {
214
- colorPrimary: '#14532d',
215
- colorBackgroundSummary: '#f6f1e7',
216
- fontFamily: '"Source Serif 4", Georgia, serif',
217
- borderRadius: '0px',
218
- },
219
- rules: {
220
- '.Label': { textTransform: 'uppercase', letterSpacing: '0.08em' },
221
- '.Input:focus': { borderColor: '#14532d', boxShadow: '0 0 0 1px #14532d' },
222
- '.Button': { backgroundColor: '#1c1917', padding: '14px 16px' },
223
- },
224
- fonts: [{ cssSrc: 'https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;600&display=swap' }],
225
- }}
226
- />
227
- </BunnyProvider>
228
- ```
201
+ #### Dark designs
229
202
 
230
- `<Checkout>` takes the same prop. `variables` feed the default rules; your `rules` are then merged over those defaults, selector by selector and property by property. The result styles Bunny's own fields and is handed to the payment provider's hosted fields (Stripe's Payment Element) as well, so the two always match. There is no runtime validation: the TypeScript types are the contract.
203
+ There is no dark mode switch. A dark look is a full set of variables: background, secondary background, text, secondary text, placeholder, border, and the primary and status colors, usually with a few rules for filled inputs. Setting only a dark `colorBackground` leaves text, borders and everything else you did not set on the light defaults. The `Midnight` stories (see [Appearance theme stories](#appearance-theme-stories)) are a complete example.
231
204
 
232
- The types, exported from the package, are the reference: every variable, selector (with its states) and allowed property is documented there with what it controls and its default. Hover `appearance` and its keys in your editor, or read `dist/index.d.ts`. Shared selectors (such as `.Input` and `.Tab`) also reach the payment fields; Bunny-only ones (such as `.Button`) can additionally size their element. `--invalid` is a field that failed validation and `--selected` the chosen payment method; the other suffixes are CSS pseudo-classes. A state rule only needs the properties that change.
205
+ #### Payment fields
233
206
 
234
- **Use literal values.** Write real CSS values (`#14532d`, `12px`, `"Space Grotesk", sans-serif`), never `var(--my-token)`: variables and the shared rules are sent into the payment iframe, where your page's custom properties do not exist. Use a plain color (hex or `rgb()`) for `colorPrimary` and `colorSuccess`, as shades are computed from them.
207
+ On Signup, Checkout and PaymentForm, the shared rules (`.Input` and its states, `.Label`, `.Error`, `.Tab` and its states) and the variables Stripe has too are handed to Stripe's Payment Element, so it is drawn like the form's own fields. The payment method tiles (saved payment methods, "New card" and, with more than one payment plugin, the plugins) are `.Tab`s too, so Stripe's tabs and ours match.
235
208
 
236
- **Sizing.** There is no `height` property. An input's height is its vertical padding + `lineHeight` + borders, because that is how hosted payment fields are sized (44px by default). Raise the `.Input` padding to make Bunny's fields and the payment fields taller together; the primary button is sized the same way through `.Button` padding. `.Summary` and `.Form` are capped at `36rem` with `4rem` of padding (`1.5rem` on phones): change these with `maxWidth` and `padding`.
209
+ #### Which components take `appearance`
237
210
 
238
- **Fonts.** The components never load a font: by default their text inherits your page's font. Hosted payment fields are the exception: they render in an iframe, which can be told your font's name but cannot see fonts loaded on your page. If your page uses a web font, declare it in `appearance.fonts` (a stylesheet of `@font-face` rules, `{ cssSrc: 'https://...' }`, or a single file, `{ family, src, weight }`) so the iframe loads it too; system fonts need no entry. To give this screen a different font from the rest of your page, set `variables.fontFamily`, declare the font in `fonts`, and load it on your page yourself. Fonts are fixed once the payment form has mounted: changing `fonts` afterwards remounts the payment fields and clears anything typed into them, so set them once, up front.
211
+ Every component takes it except PaymentForm, which follows the appearance of the provider, or of the component it sits in (Invoice, Quote, BillingDetails), and the deprecated MiniCreditCard, which keeps its old look.
239
212
 
240
- **Dark mode.** `<BunnyProvider darkMode>` picks the base: dark default variables and the payment provider's dark theme. `appearance` is applied on top, exactly as in light mode. For a dark design, set `darkMode` and override what you need; dark colors alone leave everything you did not override on the light defaults.
213
+ #### What antd still draws
241
214
 
242
- **Relation to `configProviderProps`.** `BunnyProvider`'s antd theme (your Bunny brand color) still supplies the variables' defaults, so a brand color or border radius set there reaches this screen without any `appearance`. Where both are set, `appearance` wins. The exception is antd's `fontFamily`, which does not reach this screen: text inherits your page's font unless you set `variables.fontFamily`.
215
+ Modals and drawers are Ant Design overlays whose panels are the `.Modal` and `.Drawer` regions, so `rules` reach them and the roles inside them (`'.Modal .Button'`). Their title is always a `.Text`; a rule for the title alone is not supported yet (`'.Modal .Text'` also reaches the content's text). The small confirmation bubble (cancelling a subscription) has no selector of its own, but its text and buttons are `.Text`, `.Button` and `.ButtonSecondary`, so those rules reach it. Tooltips, dropdowns and notifications are still Ant Design components with no selectors: they follow `appearance.variables` only (colors, font, radius) through a theme we derive from them, and `rules` do not reach them. `BunnyProvider`'s `configProviderProps` has been removed: set `appearance.variables` instead. A `ConfigProvider` of your own nested inside `BunnyProvider` no longer affects anything we draw.
243
216
 
244
- **Not covered yet.**
217
+ #### Content Security Policy
245
218
 
246
- - DemoPay's test card fields (shown when no real payment provider is configured) only partly follow `appearance`.
247
- - The pricing tooltip on tiered line items and the tags ("Paid", "Trial", an applied coupon) use antd's theme.
248
- - Every other component in the library is still styled through the two layers above.
219
+ Every `BunnyProvider` and every component given an `appearance` injects a `<style>` element, so your Content Security Policy must allow inline styles (`style-src 'unsafe-inline'`); a nonce strategy is not supported. Fonts listed in `fonts` also need their host allowed: `style-src` for a stylesheet (`cssSrc`) and `font-src` for the font files it (or a `src`) loads.
249
220
 
250
- **Migrating from the earlier styling hooks.** The `data-slot` attributes, the `.bunny-signup` / `.bunny-checkout` classes and the `--bunny-signup-bg` / `--bunny-checkout-bg` CSS variables were removed from this screen:
221
+ #### Migrating
251
222
 
252
223
  | Before | Now |
253
224
  | --- | --- |
254
- | `--bunny-signup-bg`, `--bunny-checkout-bg` | `variables.colorBackgroundSummary` |
225
+ | `<BunnyProvider darkMode>` | `appearance.variables` with a full dark set, such as the `Midnight` story's |
226
+ | `configProviderProps` (removed) | `appearance.variables` (`colorPrimary`, `borderRadius`, `fontFamily`, ...) |
227
+ | A `ConfigProvider` nested inside `BunnyProvider` | `appearance.variables` on the provider |
228
+ | `--bunny-signup-bg`, `--bunny-checkout-bg` | `variables.colorBackgroundSecondary` |
229
+ | `colorBackgroundSummary` | `variables.colorBackgroundSecondary` |
255
230
  | `[data-slot="signup-summary"]` / `[data-slot="checkout-summary"]` | the `.Summary` rule |
256
231
  | `[data-slot="signup-form"]` / `[data-slot="checkout-form"]` | the `.Form` rule |
257
- | `[data-slot="signup-root"]` / `[data-slot="checkout-root"]` | the component's `style` prop |
232
+ | `[data-slot="signup-root"]` / `[data-slot="checkout-root"]` | `variables.colorBackgroundSecondary` for the background; `className`/`style` only to position or size the root |
233
+ | `shadow` (Invoice) | `rules['.Document'].boxShadow` (or `'.Invoice .Document'` for the invoice alone) |
234
+ | `shadow` (Quote) | `rules['.Document'].boxShadow` (or `'.Quote .Document'` for the quote alone) |
235
+ | `[data-slot="billing-details-root"]`, `.bunny-billing-details`, `--bunny-billing-details-*` | the `.BillingDetails` rule (`backgroundColor`, `borderRadius`, `boxShadow`) |
236
+ | `displayOptions.shadow` (Invoices, Quotes, Transactions) | `rules['.Table'].boxShadow` |
237
+ | `--row-background`, `--row-background-alternate` | `.Table` (background) and `.TableRow--alternate` |
238
+ | `.InvoiceDocument` | `.Document` |
239
+ | `.ResourceTable` | `.Invoices`, `.Quotes`, `.Transactions` |
240
+ | `.TableTitle` | `'.Invoices .Heading'` (and `.Quotes`, `.Transactions`) |
241
+ | `.Subheading` | `.Heading` (scope it to a region to change one place) |
242
+ | `styles.gap` (Subscriptions) | `'.Subscriptions .Card': { marginBottom }` (added to the cards' spacing) |
243
+ | `styles.shadow` (Subscriptions) | `rules['.Subscriptions .Card'].boxShadow` |
244
+ | `styles.subscriptionProductNameStyle` (Subscriptions) | `'.Subscriptions .Heading'` |
245
+ | `shadow` (Upgrade) | `rules['.Upgrade .Card'].boxShadow` |
246
+ | `.bunny-plan-picker-price-list-cards` | `'.Upgrade .Card'` |
247
+ | `.bunny-price-list-card-price-description` | `'.Upgrade .TextSecondary'` |
248
+ | `.bunny-plan-picker-grid-cell-divider` | `variables.colorBorder` (the dividers take it) |
249
+ | `.bunny-feature-group` | `'.Upgrade .Card'` |
250
+ | `.bunny-plan-features-feature-title-group` | `'.Upgrade .Overline'` |
251
+ | `.bunny-plan-picker-checkout-bar` | `'.Upgrade .Card'` |
252
+ | `'.Button': { color }` for a light `colorPrimary` | `variables.colorOnPrimary` |
253
+ | The `AppearanceBlockStyle`, `AppearanceRuleStyle` and `RuleProperty` types | still exported, deprecated: use `AppearanceStyle` (Bunny-only selectors) and `AppearanceSharedStyle` (shared ones); `AppearanceFont` is no longer deprecated |
254
+
255
+ Props that changed outside styling:
258
256
 
259
- The other slots (summary header, receipt, quote document, footer, success panel) have no replacement selector; their colors, borders and fonts follow the variables.
257
+ | Before | Now |
258
+ | --- | --- |
259
+ | `<Signup defaultFormValues={...}>` | `<Signup form={{ defaultValues: ... }}>` |
260
+ | `<Signup requiredBillingDetails={...}>` | `<Signup form={{ requiredBillingDetails: ... }}>` |
261
+ | `<Signup paymentRequiredToAcceptQuote>` | removed |
262
+ | `<Signup documentTemplateId>` | removed from Signup (`Checkout` keeps `documentTemplateId`) |
263
+ | `onInvoiceLoaded` (Invoice) received an untyped invoice | it receives the exported `FormattedInvoice` type |
264
+ | `styles` (Subscriptions) | removed: see the `styles.*` rows above |
265
+
266
+ The other Signup and Checkout slots (summary header, receipt, footer, success panel) have no selector of their own: their text, dividers and buttons are roles (`'.Summary .Divider'`, `'.Form .TextSecondary'`), and the quote PDF's frame is `'.Summary .Document'`.
260
267
 
261
268
  Two complete themes built only with `appearance` are in Storybook: see [Appearance theme stories](#appearance-theme-stories).
262
269
 
@@ -326,19 +333,19 @@ Restart Storybook after changing it. Without the key, stories that take a paymen
326
333
 
327
334
  #### Writing a story
328
335
 
329
- Components need a `BunnyProvider` around them. Add it as a decorator in the file's `meta`, reading `darkMode` from the story's parameters:
336
+ Components need a `BunnyProvider` around them. Add it as a decorator in the file's `meta`:
330
337
 
331
338
  ```tsx
332
339
  import type { Meta, StoryObj } from '@storybook/react-vite';
333
340
  import BunnyProvider from '../BunnyProvider/BunnyProvider';
334
- import { DarkModeParams } from '../../storybook-utils';
341
+ import { midnightStory } from '@/ui/appearance/stories/themes';
335
342
  import Signup from './Signup';
336
343
 
337
344
  const meta: Meta<typeof Signup> = {
338
345
  component: Signup,
339
346
  decorators: [
340
- (Story, { parameters }) => (
341
- <BunnyProvider apiHost="https://your-subdomain.bunny.com" token="your-token-here" darkMode={parameters.darkMode}>
347
+ Story => (
348
+ <BunnyProvider apiHost="https://your-subdomain.bunny.com" token="your-token-here">
342
349
  <Story />
343
350
  </BunnyProvider>
344
351
  ),
@@ -354,10 +361,11 @@ export const Default: Story = {
354
361
  args: { priceListCode: 'your-price-list-code-here' },
355
362
  };
356
363
 
357
- // Dark mode: `DarkModeParams` sets `darkMode` for the decorator and a dark canvas.
358
- export const DarkMode: Story = {
359
- args: { ...Default.args },
360
- parameters: { ...DarkModeParams },
364
+ // A dark design is a variable set: `midnightStory` passes the Midnight theme as `appearance`,
365
+ // plus its page font and a dark canvas.
366
+ export const Midnight: Story = {
367
+ ...midnightStory,
368
+ args: { ...Default.args, ...midnightStory.args },
361
369
  };
362
370
 
363
371
  // Phone layout: renders the story in a 320px wide iframe.
@@ -367,13 +375,13 @@ export const Mobile: Story = {
367
375
  };
368
376
  ```
369
377
 
370
- Set the viewport through story-level `globals`, as above. The installed Storybook (10) ignores the older `parameters: { viewport: { defaultViewport: 'mobile1' } }` form, which leaves the story at full width, so components that switch layout on window width render their desktop layout. The available names are Storybook's default set (`mobile1`, `mobile2`, `tablet`, `desktop`); the Signup and Checkout stories share the value as `mobileGlobals` from `CheckoutShared/stories/themes.ts`.
378
+ Set the viewport through story-level `globals`, as above. The installed Storybook (10) ignores the older `parameters: { viewport: { defaultViewport: 'mobile1' } }` form, which leaves the story at full width, so components that switch layout on window width render their desktop layout. The available names are Storybook's default set (`mobile1`, `mobile2`, `tablet`, `desktop`); the stories share the value as `mobileGlobals` from `src/ui/appearance/stories/themes.ts`.
371
379
 
372
380
  The `autodocs` tag generates a docs page for the component from its props and stories.
373
381
 
374
382
  #### Appearance theme stories
375
383
 
376
- Signup and Checkout each have `Ledger` and `Midnight` stories (with `LedgerMobile` and `MidnightMobile`). The two themes are defined once in `src/components/CheckoutShared/stories/themes.ts` using only the public `appearance` prop, and look nothing like the default or each other. They are the check that the styling API works: after changing anything under `CheckoutShared/appearance/`, open both, with a Stripe key set, and confirm that Bunny's fields and Stripe's fields still match. Every Signup and Checkout story also exposes `appearance` as an editable control in the Controls panel.
384
+ Every component that takes `appearance` has `Ledger` and `Midnight` stories (Footer, Invoice, Quote, BillingDetails, Invoices, Quotes, Transactions, Signup and Checkout so far). There are no theme-plus-mobile variants: the plain `Mobile` story shows the phone layout. The two themes are defined once in `src/ui/appearance/stories/themes.ts` using only the public `appearance` prop, and look nothing like the default or each other. They are the check that the styling API works: after changing anything under `src/ui/appearance/`, open both, with a Stripe key set, and confirm that Bunny's fields and Stripe's fields still match. Every one of these stories also exposes `appearance` as an editable control in the Controls panel.
377
385
 
378
386
  #### Visual tests
379
387