fontdue-js 2.28.0 → 3.0.0-alpha10

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 (499) hide show
  1. package/.babelrc.cjs +72 -0
  2. package/README.md +639 -93
  3. package/dist/__generated__/AddToCartBannerQuery.graphql.js +1 -8
  4. package/dist/__generated__/AddToCartBanner_item.graphql.js +1 -8
  5. package/dist/__generated__/AddToCartBanner_order.graphql.js +1 -8
  6. package/dist/__generated__/AddressFieldsRefetchQuery.graphql.js +1 -8
  7. package/dist/__generated__/AddressFields_viewer.graphql.js +3 -11
  8. package/dist/__generated__/BuyButtonIDQuery.graphql.js +1 -8
  9. package/dist/__generated__/BuyButtonSlugQuery.graphql.js +1 -8
  10. package/dist/__generated__/BuyButton_collection.graphql.js +1 -8
  11. package/dist/__generated__/CartButtonQuery.graphql.js +1 -8
  12. package/dist/__generated__/CartButton_order.graphql.js +1 -8
  13. package/dist/__generated__/CartItemAdditionalLicenses_licenses.graphql.js +1 -8
  14. package/dist/__generated__/CartItemAdditionalLicenses_orderItem.graphql.js +1 -8
  15. package/dist/__generated__/CartItemLicense_selection.graphql.js +1 -8
  16. package/dist/__generated__/CartItemProduct_product.graphql.js +1 -8
  17. package/dist/__generated__/CartItemVariable_selection.graphql.js +1 -8
  18. package/dist/__generated__/CartItemVariable_variable.graphql.js +1 -8
  19. package/dist/__generated__/CartItem_node.graphql.js +1 -8
  20. package/dist/__generated__/CartOrderCompleteOrderMutation.graphql.js +1 -8
  21. package/dist/__generated__/CartOrderRemoveDiscountMutation.graphql.js +1 -8
  22. package/dist/__generated__/CartOrderUpdateMutation.graphql.js +1 -8
  23. package/dist/__generated__/CartOrder_UpdateErrors.graphql.js +1 -8
  24. package/dist/__generated__/CartOrder_order.graphql.js +1 -8
  25. package/dist/__generated__/CartOrder_viewer.graphql.js +1 -8
  26. package/dist/__generated__/CartQuery.graphql.js +1 -8
  27. package/dist/__generated__/CartStateRemoveDiscountMutation.graphql.js +1 -8
  28. package/dist/__generated__/CartStateUpdateMutation.graphql.js +1 -8
  29. package/dist/__generated__/CartState_order.graphql.js +1 -8
  30. package/dist/__generated__/CartTotals_order.graphql.js +1 -8
  31. package/dist/__generated__/CharacterViewerIDQuery.graphql.js +1 -8
  32. package/dist/__generated__/CharacterViewerSlugQuery.graphql.js +1 -8
  33. package/dist/__generated__/CharacterViewerStyleRefetchQuery.graphql.js +1 -8
  34. package/dist/__generated__/CharacterViewer_collection.graphql.js +1 -8
  35. package/dist/__generated__/CharacterViewer_family.graphql.js +1 -8
  36. package/dist/__generated__/CharacterViewer_style.graphql.js +3 -11
  37. package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.js +1 -8
  38. package/dist/__generated__/CheckoutUpdateOrderMutation.graphql.js +1 -8
  39. package/dist/__generated__/Checkout_UpdateOrderErrors.graphql.js +1 -8
  40. package/dist/__generated__/Checkout_identity.graphql.js +1 -8
  41. package/dist/__generated__/Checkout_order.graphql.js +1 -8
  42. package/dist/__generated__/Checkout_viewer.graphql.js +1 -8
  43. package/dist/__generated__/CollectionAa_Query.graphql.js +1 -8
  44. package/dist/__generated__/CollectionAa_product.graphql.js +1 -8
  45. package/dist/__generated__/CouponCodeInputApplyCouponMutation.graphql.js +1 -8
  46. package/dist/__generated__/CouponText_coupon.graphql.js +1 -8
  47. package/dist/__generated__/CustomerLoginFormLoginMutation.graphql.js +1 -8
  48. package/dist/__generated__/CustomerLoginFormQuery.graphql.js +1 -8
  49. package/dist/__generated__/DownloadRefetchQuery.graphql.js +1 -8
  50. package/dist/__generated__/Download_order.graphql.js +1 -8
  51. package/dist/__generated__/FamilyList_node.graphql.js +1 -8
  52. package/dist/__generated__/Family_node.graphql.js +1 -8
  53. package/dist/__generated__/FontFamiliesQuery.graphql.js +1 -8
  54. package/dist/__generated__/FontStyle_fontStyle.graphql.js +1 -8
  55. package/dist/__generated__/FontdueAdminToolbarStaffQuery.graphql.d.ts +20 -0
  56. package/dist/__generated__/{TestModeBannerQuery.graphql.js → FontdueAdminToolbarStaffQuery.graphql.js} +11 -18
  57. package/dist/__generated__/FontdueAdminToolbarTokenMutation.graphql.d.ts +18 -0
  58. package/dist/__generated__/FontdueAdminToolbarTokenMutation.graphql.js +56 -0
  59. package/dist/__generated__/FontdueProviderQuery.graphql.d.ts +19 -0
  60. package/dist/__generated__/FontdueProviderQuery.graphql.js +140 -0
  61. package/dist/__generated__/IdentityBox_identity.graphql.js +1 -8
  62. package/dist/__generated__/License_node.graphql.js +1 -8
  63. package/dist/__generated__/NewsletterSignupQuery.graphql.js +1 -8
  64. package/dist/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +1 -8
  65. package/dist/__generated__/NodePasswordFormAccessNodeMutation.graphql.js +1 -8
  66. package/dist/__generated__/NodePasswordFormIDQuery.graphql.js +1 -8
  67. package/dist/__generated__/NodePasswordFormSlugQuery.graphql.js +1 -8
  68. package/dist/__generated__/OrderVariableSelectionReduxRefetchQuery.graphql.js +1 -8
  69. package/dist/__generated__/OrderVariableSelectionRedux_viewer.graphql.js +3 -11
  70. package/dist/__generated__/OrderVariableSelection_variables.graphql.js +1 -8
  71. package/dist/__generated__/PrecartAddToCartMutation.graphql.js +1 -8
  72. package/dist/__generated__/PrecartClearCartMutation.graphql.js +1 -8
  73. package/dist/__generated__/PrecartQuery.graphql.js +1 -8
  74. package/dist/__generated__/Precart_collection.graphql.js +1 -8
  75. package/dist/__generated__/Precart_license.graphql.js +1 -8
  76. package/dist/__generated__/Precart_viewer.graphql.js +1 -8
  77. package/dist/__generated__/PriceBarSectionRefetchQuery.graphql.js +1 -8
  78. package/dist/__generated__/PriceBarSection_node.graphql.js +3 -11
  79. package/dist/__generated__/PriceBar_node.graphql.js +1 -8
  80. package/dist/__generated__/Price_price.graphql.js +1 -8
  81. package/dist/__generated__/SKUPrice_sku.graphql.js +1 -8
  82. package/dist/__generated__/SelectButton_sku.graphql.js +1 -8
  83. package/dist/__generated__/ServerConfigProvider_viewer.graphql.d.ts +23 -0
  84. package/dist/__generated__/ServerConfigProvider_viewer.graphql.js +57 -0
  85. package/dist/__generated__/ShareCartCreateSnapshotMutation.graphql.js +1 -8
  86. package/dist/__generated__/SpecimenLinkQuery.graphql.js +1 -8
  87. package/dist/__generated__/StoreModalBundleButton_bundle.graphql.js +1 -8
  88. package/dist/__generated__/StoreModalCartQuery.graphql.js +1 -8
  89. package/dist/__generated__/StoreModalCheckoutQuery.graphql.js +1 -8
  90. package/dist/__generated__/StoreModalContainerQuery.graphql.js +1 -8
  91. package/dist/__generated__/StoreModalDownloadRefetchQuery.graphql.js +1 -8
  92. package/dist/__generated__/StoreModalDownload_order.graphql.js +1 -8
  93. package/dist/__generated__/StoreModalFamilyButton_collection.graphql.js +1 -8
  94. package/dist/__generated__/StoreModalFamily_collection.graphql.js +1 -8
  95. package/dist/__generated__/StoreModalIndexItem_fontCollection.graphql.js +1 -8
  96. package/dist/__generated__/StoreModalIndexQuery.graphql.js +1 -8
  97. package/dist/__generated__/StoreModalOrderVariableSelection_order.graphql.js +1 -8
  98. package/dist/__generated__/StoreModalOrderVariableSelection_viewer.graphql.js +1 -8
  99. package/dist/__generated__/StoreModalProductContent_collection.graphql.js +3 -11
  100. package/dist/__generated__/StoreModalProductLicenseSelection_collection.graphql.js +1 -8
  101. package/dist/__generated__/StoreModalProductLicense_license.graphql.js +1 -8
  102. package/dist/__generated__/StoreModalProductQuery.graphql.js +1 -8
  103. package/dist/__generated__/StoreModalProductRefetchQuery.graphql.js +1 -8
  104. package/dist/__generated__/StoreModalProductSummaryAddToCartMutation.graphql.js +1 -8
  105. package/dist/__generated__/StoreModalProductSummaryClearCartMutation.graphql.js +1 -8
  106. package/dist/__generated__/StoreModalProductSummaryRefetchQuery.graphql.js +1 -8
  107. package/dist/__generated__/StoreModalProductSummary_viewer.graphql.js +3 -11
  108. package/dist/__generated__/StoreModalReviewIdentity_identity.graphql.js +1 -8
  109. package/dist/__generated__/StoreModalStyleButton_fontStyle.graphql.js +1 -8
  110. package/dist/__generated__/StoreModalUnifiedCheckoutCompleteOrderMutation.graphql.js +1 -8
  111. package/dist/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js +1 -8
  112. package/dist/__generated__/StoreModalUnifiedCheckoutUpdateOrderMutation.graphql.js +1 -8
  113. package/dist/__generated__/StoreModalUnifiedCheckout_order.graphql.js +1 -8
  114. package/dist/__generated__/StoreModalUnifiedCheckout_viewer.graphql.js +1 -8
  115. package/dist/__generated__/StripeProviderCreateCheckoutSessionMutation.graphql.js +1 -8
  116. package/dist/__generated__/StripeProvider_viewer.graphql.js +1 -8
  117. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +1 -8
  118. package/dist/__generated__/TestFontsForm_Query.graphql.js +1 -8
  119. package/dist/__generated__/TestModeBanner_viewer.graphql.d.ts +19 -0
  120. package/dist/__generated__/TestModeBanner_viewer.graphql.js +36 -0
  121. package/dist/__generated__/ThemeConfig_viewer.graphql.d.ts +19 -0
  122. package/dist/__generated__/ThemeConfig_viewer.graphql.js +36 -0
  123. package/dist/__generated__/TypeTesterFamiliesQuery.graphql.js +1 -8
  124. package/dist/__generated__/TypeTesterFamiliesStylesQuery.graphql.js +1 -8
  125. package/dist/__generated__/TypeTesterFeaturesButton_fontStyle.graphql.js +1 -8
  126. package/dist/__generated__/TypeTesterFeatures_fontStyle.graphql.js +1 -8
  127. package/dist/__generated__/TypeTesterFloatingToolbar_testers.graphql.js +1 -8
  128. package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +1 -8
  129. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.js +1 -8
  130. package/dist/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.js +1 -8
  131. package/dist/__generated__/TypeTesterStyleSelectData_fontStyleData.graphql.js +1 -8
  132. package/dist/__generated__/TypeTesterToolbar_fontStyle.graphql.js +1 -8
  133. package/dist/__generated__/TypeTesterVariableAxes_fontStyle.graphql.js +1 -8
  134. package/dist/__generated__/TypeTester_fontStyle.graphql.js +1 -8
  135. package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.js +1 -8
  136. package/dist/__generated__/TypeTestersIDQuery.graphql.js +1 -8
  137. package/dist/__generated__/TypeTestersRefetchQuery.graphql.js +1 -8
  138. package/dist/__generated__/TypeTestersSlugQuery.graphql.js +1 -8
  139. package/dist/__generated__/TypeTesters_collection.graphql.js +3 -11
  140. package/dist/__generated__/VariableTableAmounts_option.graphql.js +1 -8
  141. package/dist/__generated__/VariableTableAmounts_variable.graphql.js +1 -8
  142. package/dist/__generated__/orderTrackingUpdateOrderTrackingMutation.graphql.js +1 -8
  143. package/dist/__generated__/productState_Query.graphql.js +1 -8
  144. package/dist/__generated__/productState_bundle.graphql.js +1 -8
  145. package/dist/__generated__/productState_collection.graphql.js +1 -8
  146. package/dist/__generated__/productState_collectionBundle.graphql.js +1 -8
  147. package/dist/__generated__/productState_node.graphql.js +1 -8
  148. package/dist/__generated__/productState_sku.graphql.js +1 -8
  149. package/dist/__generated__/useFeaturesData_fontStyle.graphql.js +1 -8
  150. package/dist/__generated__/useFontStyle_fontStyle.graphql.js +1 -8
  151. package/dist/__generated__/useTotalStyles_fontCollection.graphql.js +1 -8
  152. package/dist/__tests__/collectionBundleSelection.test.js +221 -222
  153. package/dist/__tests__/fontLoader.test.js +24 -26
  154. package/dist/__tests__/licenseExclusions.test.js +27 -30
  155. package/dist/__tests__/networkFetch.test.js +66 -0
  156. package/dist/__tests__/nextAdapter.test.js +447 -0
  157. package/dist/components/AddToCartBanner/index.js +19 -29
  158. package/dist/components/BuyButton/index.d.ts +29 -6
  159. package/dist/components/BuyButton/index.js +98 -57
  160. package/dist/components/BuyButton/index.server.d.ts +9 -2
  161. package/dist/components/BuyButton/index.server.js +20 -17
  162. package/dist/components/BuyingOptions/index.d.ts +9 -0
  163. package/dist/components/BuyingOptions/index.js +4 -12
  164. package/dist/components/Cart/AddressFields.d.ts +2 -2
  165. package/dist/components/Cart/AddressFields.js +25 -35
  166. package/dist/components/Cart/CartItem/CartItemAdditionalLicenses.d.ts +2 -2
  167. package/dist/components/Cart/CartItem/CartItemAdditionalLicenses.js +9 -16
  168. package/dist/components/Cart/CartItem/CartItemLicense.d.ts +2 -2
  169. package/dist/components/Cart/CartItem/CartItemLicense.js +15 -24
  170. package/dist/components/Cart/CartItem/CartItemProduct.d.ts +1 -1
  171. package/dist/components/Cart/CartItem/CartItemProduct.js +16 -23
  172. package/dist/components/Cart/CartItem/CartItemVariable.d.ts +3 -3
  173. package/dist/components/Cart/CartItem/CartItemVariable.js +16 -23
  174. package/dist/components/Cart/CartItem/VariableTextInput.js +13 -21
  175. package/dist/components/Cart/CartItem/index.d.ts +2 -2
  176. package/dist/components/Cart/CartItem/index.js +18 -27
  177. package/dist/components/Cart/CartOrder.d.ts +2 -2
  178. package/dist/components/Cart/CartOrder.js +102 -113
  179. package/dist/components/Cart/CartState.d.ts +3 -3
  180. package/dist/components/Cart/CartState.js +18 -25
  181. package/dist/components/Cart/CartTotals.d.ts +1 -1
  182. package/dist/components/Cart/CartTotals.js +31 -38
  183. package/dist/components/Cart/Checkout.d.ts +3 -3
  184. package/dist/components/Cart/Checkout.js +109 -118
  185. package/dist/components/Cart/CheckoutSteps.js +1 -8
  186. package/dist/components/Cart/CouponCodeInput.js +22 -32
  187. package/dist/components/Cart/CustomerFields.d.ts +1 -1
  188. package/dist/components/Cart/CustomerFields.js +21 -31
  189. package/dist/components/Cart/Download.d.ts +1 -1
  190. package/dist/components/Cart/Download.js +17 -27
  191. package/dist/components/Cart/EmptyCart.js +15 -23
  192. package/dist/components/Cart/IdentityBox.d.ts +1 -1
  193. package/dist/components/Cart/IdentityBox.js +12 -19
  194. package/dist/components/Cart/ShareCart.js +24 -32
  195. package/dist/components/Cart/index.js +13 -21
  196. package/dist/components/Cart/injectRelayEnvironment.js +5 -13
  197. package/dist/components/Cart/orderTracking.js +8 -15
  198. package/dist/components/Cart/types.d.ts +1 -1
  199. package/dist/components/Cart/types.js +1 -5
  200. package/dist/components/Cart/utils.js +2 -9
  201. package/dist/components/CartButton/index.d.ts +5 -8
  202. package/dist/components/CartButton/index.js +53 -62
  203. package/dist/components/CharacterViewer/StyleSelect.d.ts +1 -1
  204. package/dist/components/CharacterViewer/StyleSelect.js +10 -17
  205. package/dist/components/CharacterViewer/index.d.ts +29 -6
  206. package/dist/components/CharacterViewer/index.js +150 -102
  207. package/dist/components/CharacterViewer/index.server.d.ts +9 -2
  208. package/dist/components/CharacterViewer/index.server.js +21 -17
  209. package/dist/components/Checkbox/index.js +9 -19
  210. package/dist/components/CollectionAa/index.d.ts +1 -1
  211. package/dist/components/CollectionAa/index.js +12 -21
  212. package/dist/components/ComponentsContext.d.ts +1 -1
  213. package/dist/components/ComponentsContext.js +4 -10
  214. package/dist/components/ConfigContext.d.ts +13 -12
  215. package/dist/components/ConfigContext.js +29 -11
  216. package/dist/components/ConsentBanner/consent.js +6 -17
  217. package/dist/components/ConsentBanner/index.js +19 -29
  218. package/dist/components/CookieNotification/index.d.ts +13 -0
  219. package/dist/components/CookieNotification/index.js +23 -31
  220. package/dist/components/CorsErrorModal.js +13 -20
  221. package/dist/components/CouponText/index.d.ts +1 -1
  222. package/dist/components/CouponText/index.js +9 -18
  223. package/dist/components/CustomerLoginForm/index.js +37 -38
  224. package/dist/components/Family/FamilyList.d.ts +1 -1
  225. package/dist/components/Family/FamilyList.js +10 -17
  226. package/dist/components/Family/index.d.ts +1 -1
  227. package/dist/components/Family/index.js +37 -46
  228. package/dist/components/FontFamilies/index.js +18 -28
  229. package/dist/components/FontStyle/index.d.ts +2 -2
  230. package/dist/components/FontStyle/index.js +8 -15
  231. package/dist/components/FontdueAdminToolbar/index.d.ts +2 -0
  232. package/dist/components/FontdueAdminToolbar/index.js +146 -0
  233. package/dist/components/FontdueContextProvider/index.d.ts +18 -0
  234. package/dist/components/FontdueContextProvider/index.js +148 -0
  235. package/dist/components/FontdueProvider/index.d.ts +19 -3
  236. package/dist/components/FontdueProvider/index.js +75 -13
  237. package/dist/components/FontdueProvider/index.server.d.ts +6 -3
  238. package/dist/components/FontdueProvider/index.server.js +37 -21
  239. package/dist/components/Icons/Align.js +13 -22
  240. package/dist/components/Icons/ArrowDownRight.js +5 -13
  241. package/dist/components/Icons/ArrowLeft.js +5 -13
  242. package/dist/components/Icons/ArrowRight.js +5 -13
  243. package/dist/components/Icons/CarrotDown.js +5 -13
  244. package/dist/components/Icons/CarrotUp.js +5 -13
  245. package/dist/components/Icons/Cart.js +7 -15
  246. package/dist/components/Icons/CartNew.js +7 -15
  247. package/dist/components/Icons/Check.js +5 -13
  248. package/dist/components/Icons/Checkbox.js +5 -13
  249. package/dist/components/Icons/CheckboxChecked.js +5 -13
  250. package/dist/components/Icons/CheckboxCrossed.js +6 -14
  251. package/dist/components/Icons/CircledCheck.js +6 -14
  252. package/dist/components/Icons/CircledInfo.js +6 -14
  253. package/dist/components/Icons/CircledMinus.js +6 -14
  254. package/dist/components/Icons/ColorPicker.js +5 -13
  255. package/dist/components/Icons/CreditCard.js +6 -14
  256. package/dist/components/Icons/DownArrow.js +5 -13
  257. package/dist/components/Icons/DownloadFonts.js +8 -16
  258. package/dist/components/Icons/FrowningFace.js +8 -16
  259. package/dist/components/Icons/License.js +5 -13
  260. package/dist/components/Icons/Receipt.js +8 -16
  261. package/dist/components/Icons/User.js +5 -13
  262. package/dist/components/Icons/X.js +5 -13
  263. package/dist/components/Icons/index.d.ts +23 -23
  264. package/dist/components/Icons/index.js +23 -167
  265. package/dist/components/NewsletterSignup/NewsletterSignupElement.d.ts +1 -1
  266. package/dist/components/NewsletterSignup/NewsletterSignupElement.js +4 -11
  267. package/dist/components/NewsletterSignup/index.d.ts +11 -6
  268. package/dist/components/NewsletterSignup/index.js +75 -60
  269. package/dist/components/NewsletterSignup/index.server.d.ts +7 -2
  270. package/dist/components/NewsletterSignup/index.server.js +17 -14
  271. package/dist/components/NodePasswordForm/index.js +25 -33
  272. package/dist/components/OrderVariableSelection/OrderVariableSelectionRedux.d.ts +1 -1
  273. package/dist/components/OrderVariableSelection/OrderVariableSelectionRedux.js +18 -27
  274. package/dist/components/OrderVariableSelection/index.d.ts +1 -1
  275. package/dist/components/OrderVariableSelection/index.js +28 -36
  276. package/dist/components/Precart/License.d.ts +1 -1
  277. package/dist/components/Precart/License.js +22 -30
  278. package/dist/components/Precart/index.js +64 -74
  279. package/dist/components/Price/index.d.ts +1 -1
  280. package/dist/components/Price/index.js +10 -20
  281. package/dist/components/PriceBar/PriceBarSection.d.ts +1 -1
  282. package/dist/components/PriceBar/PriceBarSection.js +23 -33
  283. package/dist/components/PriceBar/index.d.ts +1 -1
  284. package/dist/components/PriceBar/index.js +13 -23
  285. package/dist/components/Root/index.d.ts +1 -1
  286. package/dist/components/Root/index.js +41 -51
  287. package/dist/components/Root/productState.d.ts +1 -1
  288. package/dist/components/Root/productState.js +20 -29
  289. package/dist/components/SKUPrice/index.d.ts +2 -2
  290. package/dist/components/SKUPrice/index.js +12 -20
  291. package/dist/components/Select/index.js +9 -17
  292. package/dist/components/SelectButton/index.d.ts +2 -2
  293. package/dist/components/SelectButton/index.js +20 -29
  294. package/dist/components/ServerConfigProvider/index.d.ts +4 -2
  295. package/dist/components/ServerConfigProvider/index.js +12 -20
  296. package/dist/components/SpecimenLink/index.js +12 -20
  297. package/dist/components/StickyNav/index.js +16 -26
  298. package/dist/components/StoreModal/StoreModalBundleButton.d.ts +1 -1
  299. package/dist/components/StoreModal/StoreModalBundleButton.js +16 -23
  300. package/dist/components/StoreModal/StoreModalCart.d.ts +1 -1
  301. package/dist/components/StoreModal/StoreModalCart.js +29 -38
  302. package/dist/components/StoreModal/StoreModalCheckout.js +9 -17
  303. package/dist/components/StoreModal/StoreModalCheckoutContext.d.ts +1 -1
  304. package/dist/components/StoreModal/StoreModalCheckoutContext.js +6 -12
  305. package/dist/components/StoreModal/StoreModalContainer.js +25 -35
  306. package/dist/components/StoreModal/StoreModalDownload.d.ts +1 -1
  307. package/dist/components/StoreModal/StoreModalDownload.js +14 -24
  308. package/dist/components/StoreModal/StoreModalFamily.d.ts +1 -1
  309. package/dist/components/StoreModal/StoreModalFamily.js +14 -23
  310. package/dist/components/StoreModal/StoreModalFamilyButton.d.ts +1 -1
  311. package/dist/components/StoreModal/StoreModalFamilyButton.js +23 -30
  312. package/dist/components/StoreModal/StoreModalIndex.d.ts +1 -1
  313. package/dist/components/StoreModal/StoreModalIndex.js +9 -17
  314. package/dist/components/StoreModal/StoreModalIndexItem.d.ts +1 -1
  315. package/dist/components/StoreModal/StoreModalIndexItem.js +20 -30
  316. package/dist/components/StoreModal/StoreModalLicenseeIsBillingSelection.js +8 -17
  317. package/dist/components/StoreModal/StoreModalLoader.js +6 -15
  318. package/dist/components/StoreModal/StoreModalOrderVariableSelection.d.ts +3 -3
  319. package/dist/components/StoreModal/StoreModalOrderVariableSelection.js +12 -21
  320. package/dist/components/StoreModal/StoreModalProduct.d.ts +1 -1
  321. package/dist/components/StoreModal/StoreModalProduct.js +55 -65
  322. package/dist/components/StoreModal/StoreModalReviewIdentity.d.ts +1 -1
  323. package/dist/components/StoreModal/StoreModalReviewIdentity.js +6 -15
  324. package/dist/components/StoreModal/StoreModalRouter.js +12 -22
  325. package/dist/components/StoreModal/StoreModalStyleButton.d.ts +1 -1
  326. package/dist/components/StoreModal/StoreModalStyleButton.js +20 -27
  327. package/dist/components/StoreModal/index.d.ts +5 -1
  328. package/dist/components/StoreModal/index.js +24 -20
  329. package/dist/components/StoreModal/routes.d.ts +4 -4
  330. package/dist/components/StoreModal/routes.js +18 -26
  331. package/dist/components/StoreModal/types.js +1 -5
  332. package/dist/components/StoreModalProductLicenseSelection/LicenseElement.js +12 -22
  333. package/dist/components/StoreModalProductLicenseSelection/LicenseVariableElement.js +7 -15
  334. package/dist/components/StoreModalProductLicenseSelection/LicenseVariableRadioElement.js +9 -19
  335. package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.d.ts +1 -1
  336. package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +19 -28
  337. package/dist/components/StoreModalProductLicenseSelection/index.d.ts +1 -1
  338. package/dist/components/StoreModalProductLicenseSelection/index.js +10 -17
  339. package/dist/components/StoreModalProductSummary/index.d.ts +1 -1
  340. package/dist/components/StoreModalProductSummary/index.js +45 -55
  341. package/dist/components/StripeLogo.js +4 -11
  342. package/dist/components/StripeProvider/index.d.ts +1 -1
  343. package/dist/components/StripeProvider/index.js +19 -29
  344. package/dist/components/Switch/index.js +1 -7
  345. package/dist/components/TestFontsForm/TestFontsFormElement.js +4 -12
  346. package/dist/components/TestFontsForm/index.d.ts +11 -4
  347. package/dist/components/TestFontsForm/index.js +80 -65
  348. package/dist/components/TestFontsForm/index.server.d.ts +7 -2
  349. package/dist/components/TestFontsForm/index.server.js +17 -14
  350. package/dist/components/TestModeBanner/index.d.ts +4 -1
  351. package/dist/components/TestModeBanner/index.js +13 -27
  352. package/dist/components/TextField/index.js +9 -17
  353. package/dist/components/ThemeConfig/index.d.ts +3 -5
  354. package/dist/components/ThemeConfig/index.js +12 -36
  355. package/dist/components/Tracking/index.js +11 -18
  356. package/dist/components/TypeTester/TypeTesterAlignButtons.d.ts +1 -1
  357. package/dist/components/TypeTester/TypeTesterAlignButtons.js +8 -16
  358. package/dist/components/TypeTester/TypeTesterBullet.d.ts +1 -1
  359. package/dist/components/TypeTester/TypeTesterBullet.js +4 -12
  360. package/dist/components/TypeTester/TypeTesterContent.d.ts +2 -2
  361. package/dist/components/TypeTester/TypeTesterContent.js +22 -21
  362. package/dist/components/TypeTester/TypeTesterContext.d.ts +2 -2
  363. package/dist/components/TypeTester/TypeTesterContext.js +10 -17
  364. package/dist/components/TypeTester/TypeTesterEditAll.js +10 -20
  365. package/dist/components/TypeTester/TypeTesterFamilies.d.ts +1 -1
  366. package/dist/components/TypeTester/TypeTesterFamilies.js +26 -37
  367. package/dist/components/TypeTester/TypeTesterFeatures.d.ts +1 -1
  368. package/dist/components/TypeTester/TypeTesterFeatures.js +28 -37
  369. package/dist/components/TypeTester/TypeTesterFeaturesButton.d.ts +1 -1
  370. package/dist/components/TypeTester/TypeTesterFeaturesButton.js +20 -30
  371. package/dist/components/TypeTester/TypeTesterFitter.d.ts +1 -1
  372. package/dist/components/TypeTester/TypeTesterFitter.js +5 -13
  373. package/dist/components/TypeTester/TypeTesterFloatingToolbar.d.ts +1 -1
  374. package/dist/components/TypeTester/TypeTesterFloatingToolbar.js +19 -28
  375. package/dist/components/TypeTester/TypeTesterInput.js +12 -22
  376. package/dist/components/TypeTester/TypeTesterSlider.js +7 -16
  377. package/dist/components/TypeTester/TypeTesterStandalone.d.ts +20 -6
  378. package/dist/components/TypeTester/TypeTesterStandalone.js +49 -39
  379. package/dist/components/TypeTester/TypeTesterStandalone.server.d.ts +6 -2
  380. package/dist/components/TypeTester/TypeTesterStandalone.server.js +20 -16
  381. package/dist/components/TypeTester/TypeTesterStandaloneElement.js +7 -16
  382. package/dist/components/TypeTester/TypeTesterState.d.ts +2 -2
  383. package/dist/components/TypeTester/TypeTesterState.js +6 -14
  384. package/dist/components/TypeTester/TypeTesterStyleSelect.d.ts +1 -1
  385. package/dist/components/TypeTester/TypeTesterStyleSelect.js +9 -17
  386. package/dist/components/TypeTester/TypeTesterStyleSelectData.d.ts +3 -3
  387. package/dist/components/TypeTester/TypeTesterStyleSelectData.js +31 -40
  388. package/dist/components/TypeTester/TypeTesterToolbar.d.ts +2 -2
  389. package/dist/components/TypeTester/TypeTesterToolbar.js +29 -39
  390. package/dist/components/TypeTester/TypeTesterVariableAxes.d.ts +1 -1
  391. package/dist/components/TypeTester/TypeTesterVariableAxes.js +16 -24
  392. package/dist/components/TypeTester/features.js +1 -8
  393. package/dist/components/TypeTester/index.d.ts +2 -2
  394. package/dist/components/TypeTester/index.js +45 -55
  395. package/dist/components/TypeTester/types.js +3 -11
  396. package/dist/components/TypeTester/useFeaturesData.d.ts +1 -1
  397. package/dist/components/TypeTester/useFeaturesData.js +7 -15
  398. package/dist/components/TypeTester/useTypeTesterStyler.d.ts +3 -3
  399. package/dist/components/TypeTester/useTypeTesterStyler.js +6 -13
  400. package/dist/components/TypeTesters/TypeTestersElement.js +4 -12
  401. package/dist/components/TypeTesters/index.d.ts +22 -5
  402. package/dist/components/TypeTesters/index.js +118 -71
  403. package/dist/components/TypeTesters/index.server.d.ts +7 -2
  404. package/dist/components/TypeTesters/index.server.js +20 -17
  405. package/dist/components/UrlContext.js +6 -12
  406. package/dist/components/VariableTableAmounts/index.d.ts +2 -2
  407. package/dist/components/VariableTableAmounts/index.js +9 -16
  408. package/dist/components/elements/Button/index.js +3 -11
  409. package/dist/components/elements/EmptyCart/index.js +10 -20
  410. package/dist/components/elements/StoreModalCartLayout/index.js +10 -18
  411. package/dist/components/elements/StoreModalContainer/StoreModalContainerContext.js +3 -9
  412. package/dist/components/elements/StoreModalContainer/index.js +17 -27
  413. package/dist/components/elements/StoreModalDownloadLayout/index.js +7 -15
  414. package/dist/components/elements/StoreModalFamily/index.js +8 -16
  415. package/dist/components/elements/StoreModalFamilyButton/index.d.ts +1 -1
  416. package/dist/components/elements/StoreModalFamilyButton/index.js +11 -20
  417. package/dist/components/elements/StoreModalIndexItem/index.js +9 -17
  418. package/dist/components/elements/StoreModalLicenseeIsBillingIdentityElement.js +20 -29
  419. package/dist/components/elements/StoreModalLoadingScreen/index.js +4 -12
  420. package/dist/components/elements/StoreModalPageContainer/index.js +5 -13
  421. package/dist/components/elements/StoreModalStyleButton/index.d.ts +1 -1
  422. package/dist/components/elements/StoreModalStyleButton/index.js +10 -18
  423. package/dist/components/elements/StoreModalUnifiedCheckout.d.ts +2 -2
  424. package/dist/components/elements/StoreModalUnifiedCheckout.js +114 -122
  425. package/dist/components/useConsent.js +4 -9
  426. package/dist/components/useFont.d.ts +1 -1
  427. package/dist/components/useFont.js +8 -15
  428. package/dist/components/useFontStyle.d.ts +1 -1
  429. package/dist/components/useFontStyle.js +12 -20
  430. package/dist/components/useInterval.js +5 -12
  431. package/dist/components/useTotalStyles.d.ts +1 -1
  432. package/dist/components/useTotalStyles.js +4 -12
  433. package/dist/corsError.js +4 -14
  434. package/dist/data/unicodeData.js +1 -1
  435. package/dist/fontLoader.js +3 -11
  436. package/dist/fontdue.css +127 -12
  437. package/dist/global-shim.d.ts +1 -0
  438. package/dist/global-shim.js +8 -0
  439. package/dist/hooks/useAutofit.js +11 -19
  440. package/dist/hooks/useLicenseAndOrderVariables.d.ts +2 -2
  441. package/dist/hooks/useLicenseAndOrderVariables.js +7 -12
  442. package/dist/hooks/useRefetchOnLicenseChanges.d.ts +1 -1
  443. package/dist/hooks/useRefetchOnLicenseChanges.js +7 -13
  444. package/dist/hooks/useResizeObserver.d.ts +11 -0
  445. package/dist/hooks/useResizeObserver.js +23 -0
  446. package/dist/hooks.js +9 -16
  447. package/dist/index.d.ts +1 -0
  448. package/dist/index.js +1 -0
  449. package/dist/loadFontdueProviderQuery.d.ts +3 -0
  450. package/dist/loadFontdueProviderQuery.js +10 -0
  451. package/dist/next/config.d.ts +41 -0
  452. package/dist/next/config.js +193 -0
  453. package/dist/next/image-loader.d.ts +7 -0
  454. package/dist/next/image-loader.js +39 -0
  455. package/dist/next/index.d.ts +2 -0
  456. package/dist/next/index.js +10 -0
  457. package/dist/next/revalidate.d.ts +1 -0
  458. package/dist/next/revalidate.js +37 -0
  459. package/dist/next/tenant.d.ts +26 -0
  460. package/dist/next/tenant.js +169 -0
  461. package/dist/react-ranger.d.js +0 -1
  462. package/dist/react-ranger.js +17 -24
  463. package/dist/reducer.d.ts +5 -5
  464. package/dist/reducer.js +15 -36
  465. package/dist/relay/environment.d.ts +1 -0
  466. package/dist/relay/environment.js +74 -34
  467. package/dist/relay/loadSerializableQuery.d.ts +3 -1
  468. package/dist/relay/loadSerializableQuery.js +4 -8
  469. package/dist/relay/serverConfig.d.ts +16 -0
  470. package/dist/relay/serverConfig.js +38 -0
  471. package/dist/relay/useSerializablePreloadedQuery.d.ts +3 -3
  472. package/dist/relay/useSerializablePreloadedQuery.js +26 -22
  473. package/dist/retryImport.js +1 -7
  474. package/dist/scripts/updateUnicodeData.js +0 -2
  475. package/dist/utils.d.ts +2 -2
  476. package/dist/utils.js +14 -36
  477. package/dist/vanilla/FontStyle.js +3 -11
  478. package/dist/vanilla/TruncatedMarkdown.js +2 -9
  479. package/dist/vite.d.ts +2 -0
  480. package/dist/vite.js +141 -0
  481. package/package.json +13 -9
  482. package/scripts/addJsExtensionsBabelPlugin.cjs +62 -0
  483. package/types/globals.d.ts +3 -0
  484. package/types/next-cache.d.ts +6 -0
  485. package/types/next-navigation.d.ts +6 -0
  486. package/vitest.config.ts +4 -0
  487. package/dist/__generated__/ServerConfigProviderQuery.graphql.d.ts +0 -24
  488. package/dist/__generated__/ServerConfigProviderQuery.graphql.js +0 -108
  489. package/dist/__generated__/TestModeBannerQuery.graphql.d.ts +0 -20
  490. package/dist/__generated__/ThemeConfigQuery.graphql.d.ts +0 -20
  491. package/dist/__generated__/ThemeConfigQuery.graphql.js +0 -87
  492. package/dist/components/CartButton/index.server.d.ts +0 -3
  493. package/dist/components/CartButton/index.server.js +0 -18
  494. package/dist/components/FontdueProvider/FontdueProviderClientComponent.d.ts +0 -14
  495. package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +0 -61
  496. package/dist/components/ThemeConfig/index.server.d.ts +0 -2
  497. package/dist/components/ThemeConfig/index.server.js +0 -17
  498. package/fontdue.css +0 -2733
  499. package/fontdue.css.map +0 -1
package/dist/vite.js ADDED
@@ -0,0 +1,141 @@
1
+ // Vite plugin that fixes the SSR-side CJS interop fontdue-js's deps need.
2
+ //
3
+ // fontdue-js itself is published as transpiled (not bundled) ESM. Its Relay
4
+ // + draft-js + fbjs deps still ship as CJS using `module.exports = require(…)`
5
+ // re-export shapes that Node's strict ESM-CJS interop (and Vite's dev SSR
6
+ // module-runner) can't named-import from. Without help, `import { graphql }
7
+ // from 'react-relay'` blows up at SSR time with `Named export 'graphql' not
8
+ // found` or `module is not defined`.
9
+ //
10
+ // `vite-plugin-cjs-interop` is the canonical fix for this — referenced by the
11
+ // Relay maintainers in https://github.com/facebook/relay/issues/4548. It
12
+ // rewrites named imports of the listed packages to read from `.default` after
13
+ // CJS load, which is what Node + Vite actually expose.
14
+ //
15
+ // Consumers wire it up like:
16
+ //
17
+ // // vite.config.ts
18
+ // import fontdueJs from 'fontdue-js/vite';
19
+ // export default defineConfig({ plugins: [fontdueJs()] });
20
+ //
21
+ // Returned shape is structurally a Vite Plugin (or array of plugins).
22
+ //
23
+ // @ts-ignore — vite-plugin-cjs-interop has no bundled types but exports
24
+ // cjsInterop at runtime.
25
+ import { cjsInterop } from 'vite-plugin-cjs-interop';
26
+ import { createRequire } from 'node:module';
27
+
28
+ // Packages whose imports cjsInterop should rewrite to default-import +
29
+ // destructure shape. Limit this to packages that genuinely ship as CJS-only
30
+ // with `module.exports = require('./lib')` shapes that defeat named-import
31
+ // resolution. React-redux is real ESM and must NOT be in this list — its
32
+ // ESM build has true named exports.
33
+ const CJS_DEPS = ['react-relay', 'relay-runtime', 'draft-js', 'fbjs'];
34
+
35
+ // Packages to pre-bundle for the browser via Vite's optimizer. Pre-bundling
36
+ // pulls a package's transitive deps into one esbuild output, which sidesteps
37
+ // the cjs-module-lexer trap when an ESM package (react-redux) imports a CJS
38
+ // transitive (use-sync-external-store). Without this, the browser dev path
39
+ // fails with "does not provide an export named useSyncExternalStoreWithSelector".
40
+ //
41
+ // `react-google-recaptcha` and `@stripe/react-stripe-js` are pulled into the
42
+ // StoreModal subtree (checkout flow). Both transitively import `prop-types`,
43
+ // whose `module.exports = require('./factoryWithTypeCheckers')(...)` shape
44
+ // hides exports behind a runtime call — cjs-module-lexer can't see them, so
45
+ // the optimizer's auto-generated wrapper omits a `default` export. Including
46
+ // the consumers + setting `needsInterop` on `prop-types` forces Vite to
47
+ // synthesize a default export so `import PropTypes from 'prop-types'` resolves.
48
+ const CLIENT_OPTIMIZE = [...CJS_DEPS, 'react-redux', 'react-google-recaptcha', '@stripe/react-stripe-js', 'prop-types',
49
+ // Transitive deps that Vite would otherwise discover late, after fontdue-js
50
+ // subpaths are first imported. Each late discovery triggers a re-optimize
51
+ // and a new browserHash for `react`, which produces the dual-React bug
52
+ // described above `getFontdueJsSubpaths`. Pinning them here keeps the
53
+ // initial scan complete.
54
+ '@sentry/react', '@stripe/stripe-js', 'react-error-boundary', 'redux'];
55
+ const NEEDS_INTEROP = ['prop-types'];
56
+
57
+ // Every public `fontdue-js/*` entry from package.json `exports`. Pre-including
58
+ // them in `optimizeDeps` forces Vite to scan them on the first dev startup
59
+ // instead of discovering them later when a route lazy-loads.
60
+ //
61
+ // Why this matters: when Vite finds a new dep mid-session it re-runs the
62
+ // optimizer, which mints a new `?v=` browserHash for every dep chunk. Chunks
63
+ // already loaded in the page keep their old `?v=` baked into their imports,
64
+ // so a freshly-fetched chunk that imports `react?v=NEW` ends up coexisting
65
+ // with the previously-loaded `react?v=OLD`. Two physical React modules in
66
+ // the same page → two `ReactCurrentDispatcher`s → `useContext` returns null
67
+ // → "Invalid hook call" on first navigation to an uncached route.
68
+ //
69
+ // Frameworks that lazy-load modules (RR7's route splitter, Astro's per-island
70
+ // hydration) make this near-certain unless the optimizer sees the full set
71
+ // up front. Vite's glob form (`fontdue-js/*`) walks the filesystem and gets
72
+ // confused by our `exports`-mapped layout (the dist files don't sit at the
73
+ // subpath names), so we read `exports` directly — that's the authoritative
74
+ // list.
75
+ function getFontdueJsSubpaths() {
76
+ const require = createRequire(import.meta.url);
77
+ const pkg = require('../package.json');
78
+ const out = [];
79
+ for (const key of Object.keys(pkg.exports ?? {})) {
80
+ if (!key.startsWith('./')) continue;
81
+ if (key.endsWith('.css')) continue;
82
+ // Build-config and server-only entrypoints never reach a browser bundle.
83
+ if (key === './vite') continue;
84
+ if (key === './next' || key.startsWith('./next/')) continue;
85
+ out.push(`fontdue-js/${key.slice(2)}`);
86
+ }
87
+ return out;
88
+ }
89
+ export default function fontdueJs() {
90
+ const fontdueSubpaths = getFontdueJsSubpaths();
91
+ return [cjsInterop({
92
+ dependencies: CJS_DEPS
93
+ }), {
94
+ name: 'fontdue-js',
95
+ config() {
96
+ return {
97
+ // Pre-bundle the CJS-shaped deps via esbuild for the client
98
+ // bundle. Without this, Astro dev's browser pass tries to
99
+ // ESM-import `Environment` from `relay-runtime` and fails —
100
+ // its `module.exports = require('./lib/index.js')` shape can't
101
+ // be statically analyzed for named exports.
102
+ optimizeDeps: {
103
+ include: [...fontdueSubpaths, ...CLIENT_OPTIMIZE],
104
+ needsInterop: [...NEEDS_INTEROP]
105
+ },
106
+ // fbjs (transitive via draft-js) references Node's `global` at
107
+ // module init. Browsers don't define it, so the pre-bundled chunk
108
+ // throws `ReferenceError: global is not defined`. Aliasing
109
+ // `global` to `globalThis` at compile time covers both browser
110
+ // and SSR paths.
111
+ define: {
112
+ global: 'globalThis'
113
+ }
114
+ };
115
+ },
116
+ // Apply `noExternal` to every server-side Vite environment so
117
+ // fontdue-js source flows through Vite's transform pipeline and
118
+ // cjsInterop can rewrite its imports of CJS-shaped Relay/draft-js/
119
+ // fbjs. The legacy `ssr.noExternal` only covered the default `ssr`
120
+ // environment, so Astro 6's separate `prerender` build externalized
121
+ // fontdue-js and `import { graphql } from 'react-relay'` ran against
122
+ // unrewritten CJS at prerender time.
123
+ //
124
+ // `config.consumer` would be the principled check, but at
125
+ // `configEnvironment` time Vite hasn't populated it yet (undefined
126
+ // for ssr/prerender/client alike). Match by name instead:
127
+ // - 'ssr': default Vite SSR env (plain Vite SSR, RR7)
128
+ // - 'prerender': Astro 6's static-prerender env
129
+ // The `consumer` fallback is kept as future-proofing if a framework
130
+ // ever names its server env something else but does populate consumer.
131
+ configEnvironment(name, config) {
132
+ if (name === 'ssr' || name === 'prerender' || config.consumer === 'server') {
133
+ return {
134
+ resolve: {
135
+ noExternal: ['fontdue-js']
136
+ }
137
+ };
138
+ }
139
+ }
140
+ }];
141
+ }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "fontdue-js",
3
- "version": "2.28.0",
3
+ "version": "3.0.0-alpha10",
4
+ "type": "module",
4
5
  "scripts": {
5
6
  "build": "npm run relay && run-p build-js build-css build-ts",
6
7
  "build-js": "babel src --out-dir dist --extensions .ts,.tsx,.js,.jsx",
@@ -21,12 +22,10 @@
21
22
  },
22
23
  "dependencies": {
23
24
  "@emotion/react": "^11.14.0",
24
- "@react-hook/resize-observer": "^2",
25
25
  "@react-hook/window-size": "^3.0.7",
26
26
  "@sentry/react": "^10.17.0",
27
27
  "@stripe/react-stripe-js": "^3.8.1",
28
28
  "@stripe/stripe-js": "^7.7.0",
29
- "classnames": "^2.2.5",
30
29
  "draft-js": "^0.11.7",
31
30
  "fast-deep-equal": "^2.0.1",
32
31
  "fontfaceobserver": "^2.0.13",
@@ -38,7 +37,8 @@
38
37
  "redux": "^5.0.0",
39
38
  "relay-runtime": "^20.0.0",
40
39
  "store": "^2.0.12",
41
- "uuid": "^8.3.2"
40
+ "uuid": "^8.3.2",
41
+ "vite-plugin-cjs-interop": "^3.3.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@babel/cli": "^7.15.7",
@@ -61,8 +61,9 @@
61
61
  "react": "^19.0.0",
62
62
  "react-dom": "^19.0.0",
63
63
  "relay-compiler": "^18.0.0",
64
- "sass": "^1.62",
64
+ "sass": "^1.99.0",
65
65
  "typescript": "^5.9",
66
+ "vite": "^8.0.10",
66
67
  "vitest": "^4.1.1"
67
68
  },
68
69
  "relay": {
@@ -80,15 +81,17 @@
80
81
  "@types/react": "19.0.0"
81
82
  },
82
83
  "exports": {
84
+ ".": "./dist/index.js",
85
+ "./next": "./dist/next/index.js",
86
+ "./next/config": "./dist/next/config.js",
87
+ "./next/revalidate": "./dist/next/revalidate.js",
88
+ "./next/image-loader": "./dist/next/image-loader.js",
83
89
  "./fontdue.css": "./dist/fontdue.css",
84
90
  "./BuyButton": {
85
91
  "react-server": "./dist/components/BuyButton/index.server.js",
86
92
  "default": "./dist/components/BuyButton/index.js"
87
93
  },
88
- "./CartButton": {
89
- "react-server": "./dist/components/CartButton/index.server.js",
90
- "default": "./dist/components/CartButton/index.js"
91
- },
94
+ "./CartButton": "./dist/components/CartButton/index.js",
92
95
  "./CharacterViewer": {
93
96
  "react-server": "./dist/components/CharacterViewer/index.server.js",
94
97
  "default": "./dist/components/CharacterViewer/index.js"
@@ -111,6 +114,7 @@
111
114
  "react-server": "./dist/components/TypeTester/TypeTesterStandalone.server.js",
112
115
  "default": "./dist/components/TypeTester/TypeTesterStandalone.js"
113
116
  },
117
+ "./vite": "./dist/vite.js",
114
118
  "./TypeTesters": {
115
119
  "react-server": "./dist/components/TypeTesters/index.server.js",
116
120
  "default": "./dist/components/TypeTesters/index.js"
@@ -0,0 +1,62 @@
1
+ // Babel plugin: rewrite extensionless relative imports to add `.js`. Mirrors
2
+ // the source codemod (scripts/addJsExtensionsToSource.mjs) for two cases the
3
+ // codemod can't touch:
4
+ // 1. src/__generated__/*.graphql.ts — emitted by relay-compiler, regenerated
5
+ // on every `npm run relay`, so any source-level edit would be reverted.
6
+ // 2. Imports synthesized by babel-plugin-relay from `graphql\`...\`` tags —
7
+ // these don't exist in source at all; they're inserted during the babel
8
+ // pass, after the codemod has already run.
9
+ //
10
+ // Order matters: this plugin must run after 'relay' so it sees those inserted
11
+ // imports. Babel runs plugins in array order, so list this plugin last.
12
+
13
+ const path = require('path');
14
+ const fs = require('fs');
15
+
16
+ const SOURCE_EXTS = ['.ts', '.tsx', '.js', '.jsx'];
17
+
18
+ function resolveSpecifier(filename, specifier) {
19
+ if (!specifier.startsWith('./') && !specifier.startsWith('../')) return null;
20
+ const baseDir = path.dirname(filename);
21
+ const abs = path.resolve(baseDir, specifier);
22
+ for (const ext of SOURCE_EXTS) {
23
+ if (fs.existsSync(abs + ext)) return specifier + '.js';
24
+ }
25
+ if (fs.existsSync(abs) && fs.statSync(abs).isDirectory()) {
26
+ for (const ext of SOURCE_EXTS) {
27
+ if (fs.existsSync(path.join(abs, 'index' + ext))) {
28
+ return specifier.replace(/\/$/, '') + '/index.js';
29
+ }
30
+ }
31
+ }
32
+ return null;
33
+ }
34
+
35
+ module.exports = function addJsExtensionsPlugin({ types: t }) {
36
+ function rewriteSource(node, filename) {
37
+ if (!node || !node.source || !filename) return;
38
+ const next = resolveSpecifier(filename, node.source.value);
39
+ if (next != null) node.source = t.stringLiteral(next);
40
+ }
41
+ return {
42
+ name: 'add-js-extensions',
43
+ visitor: {
44
+ ImportDeclaration(p, state) {
45
+ rewriteSource(p.node, state.filename);
46
+ },
47
+ ExportNamedDeclaration(p, state) {
48
+ rewriteSource(p.node, state.filename);
49
+ },
50
+ ExportAllDeclaration(p, state) {
51
+ rewriteSource(p.node, state.filename);
52
+ },
53
+ CallExpression(p, state) {
54
+ if (p.node.callee.type !== 'Import') return;
55
+ const arg = p.node.arguments[0];
56
+ if (!arg || arg.type !== 'StringLiteral') return;
57
+ const next = resolveSpecifier(state.filename, arg.value);
58
+ if (next != null) arg.value = next;
59
+ },
60
+ },
61
+ };
62
+ };
@@ -0,0 +1,3 @@
1
+ // Build-time injected by an inline babel plugin in .babelrc.cjs.
2
+ // Source of truth is `package.json#version`.
3
+ declare const __FONTDUE_JS_VERSION__: string;
@@ -0,0 +1,6 @@
1
+ // Minimal declaration so src/next/revalidate.ts type-checks without `next`
2
+ // installed (it's the host app's dependency; this package only ever runs the
3
+ // import inside a Next.js server).
4
+ declare module 'next/cache' {
5
+ export function revalidateTag(tag: string): void;
6
+ }
@@ -0,0 +1,6 @@
1
+ // Minimal declaration so src/next/tenant.ts type-checks without `next`
2
+ // installed (it's the host app's dependency; this package only ever runs the
3
+ // import inside a Next.js server).
4
+ declare module 'next/navigation' {
5
+ export function notFound(): never;
6
+ }
package/vitest.config.ts CHANGED
@@ -2,6 +2,10 @@ import { defineConfig } from 'vitest/config';
2
2
  import path from 'path';
3
3
 
4
4
  export default defineConfig({
5
+ // Stand-in for the babel define plugin that inlines the package version.
6
+ define: {
7
+ __FONTDUE_JS_VERSION__: JSON.stringify('0.0.0-test'),
8
+ },
5
9
  test: {
6
10
  alias: {
7
11
  '__generated__': path.resolve(__dirname, 'src/__generated__'),
@@ -1,24 +0,0 @@
1
- /**
2
- * @generated SignedSource<<e36d7651684826ea0cac76a464f23dcd>>
3
- * @lightSyntaxTransform
4
- * @nogrep
5
- */
6
- import { ConcreteRequest } from 'relay-runtime';
7
- export type ServerConfigProviderQuery$variables = Record<PropertyKey, never>;
8
- export type ServerConfigProviderQuery$data = {
9
- readonly viewer: {
10
- readonly fontdueConfig: {
11
- readonly tracking: {
12
- readonly consentMessage: string | null;
13
- readonly consentRequired: boolean;
14
- readonly enabled: boolean;
15
- } | null;
16
- } | null;
17
- };
18
- };
19
- export type ServerConfigProviderQuery = {
20
- response: ServerConfigProviderQuery$data;
21
- variables: ServerConfigProviderQuery$variables;
22
- };
23
- declare const node: ConcreteRequest;
24
- export default node;
@@ -1,108 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- /**
8
- * @generated SignedSource<<e36d7651684826ea0cac76a464f23dcd>>
9
- * @lightSyntaxTransform
10
- * @nogrep
11
- */
12
-
13
- /* tslint:disable */
14
- /* eslint-disable */
15
- // @ts-nocheck
16
-
17
- const node = function () {
18
- var v0 = {
19
- "alias": null,
20
- "args": null,
21
- "concreteType": "FontdueConfig",
22
- "kind": "LinkedField",
23
- "name": "fontdueConfig",
24
- "plural": false,
25
- "selections": [{
26
- "alias": null,
27
- "args": null,
28
- "concreteType": "FontdueTrackingConfig",
29
- "kind": "LinkedField",
30
- "name": "tracking",
31
- "plural": false,
32
- "selections": [{
33
- "alias": null,
34
- "args": null,
35
- "kind": "ScalarField",
36
- "name": "enabled",
37
- "storageKey": null
38
- }, {
39
- "alias": null,
40
- "args": null,
41
- "kind": "ScalarField",
42
- "name": "consentRequired",
43
- "storageKey": null
44
- }, {
45
- "alias": null,
46
- "args": null,
47
- "kind": "ScalarField",
48
- "name": "consentMessage",
49
- "storageKey": null
50
- }],
51
- "storageKey": null
52
- }],
53
- "storageKey": null
54
- };
55
- return {
56
- "fragment": {
57
- "argumentDefinitions": [],
58
- "kind": "Fragment",
59
- "metadata": null,
60
- "name": "ServerConfigProviderQuery",
61
- "selections": [{
62
- "alias": null,
63
- "args": null,
64
- "concreteType": "Viewer",
65
- "kind": "LinkedField",
66
- "name": "viewer",
67
- "plural": false,
68
- "selections": [v0 /*: any*/],
69
- "storageKey": null
70
- }],
71
- "type": "RootQueryType",
72
- "abstractKey": null
73
- },
74
- "kind": "Request",
75
- "operation": {
76
- "argumentDefinitions": [],
77
- "kind": "Operation",
78
- "name": "ServerConfigProviderQuery",
79
- "selections": [{
80
- "alias": null,
81
- "args": null,
82
- "concreteType": "Viewer",
83
- "kind": "LinkedField",
84
- "name": "viewer",
85
- "plural": false,
86
- "selections": [v0 /*: any*/, {
87
- "alias": null,
88
- "args": null,
89
- "kind": "ScalarField",
90
- "name": "id",
91
- "storageKey": null
92
- }],
93
- "storageKey": null
94
- }]
95
- },
96
- "params": {
97
- "cacheID": "46fad3541d5416ad34b29b1a4e707f19",
98
- "id": null,
99
- "metadata": {},
100
- "name": "ServerConfigProviderQuery",
101
- "operationKind": "query",
102
- "text": "query ServerConfigProviderQuery {\n viewer {\n fontdueConfig {\n tracking {\n enabled\n consentRequired\n consentMessage\n }\n }\n id\n }\n}\n"
103
- }
104
- };
105
- }();
106
- node.hash = "b20ad9bdada6a425ee660a8662a78840";
107
- var _default = node;
108
- exports.default = _default;
@@ -1,20 +0,0 @@
1
- /**
2
- * @generated SignedSource<<e395904ea5bda751df1ca67f9c74ac55>>
3
- * @lightSyntaxTransform
4
- * @nogrep
5
- */
6
- import { ConcreteRequest } from 'relay-runtime';
7
- export type TestModeBannerQuery$variables = Record<PropertyKey, never>;
8
- export type TestModeBannerQuery$data = {
9
- readonly viewer: {
10
- readonly testMode: {
11
- readonly isActive: boolean;
12
- };
13
- };
14
- };
15
- export type TestModeBannerQuery = {
16
- response: TestModeBannerQuery$data;
17
- variables: TestModeBannerQuery$variables;
18
- };
19
- declare const node: ConcreteRequest;
20
- export default node;
@@ -1,20 +0,0 @@
1
- /**
2
- * @generated SignedSource<<b292c0ac6583f7d2d7cd8979e5696b21>>
3
- * @lightSyntaxTransform
4
- * @nogrep
5
- */
6
- import { ConcreteRequest } from 'relay-runtime';
7
- export type ThemeConfigQuery$variables = Record<PropertyKey, never>;
8
- export type ThemeConfigQuery$data = {
9
- readonly viewer: {
10
- readonly themeConfig: {
11
- readonly customProperties: ReadonlyArray<string> | null;
12
- } | null;
13
- };
14
- };
15
- export type ThemeConfigQuery = {
16
- response: ThemeConfigQuery$data;
17
- variables: ThemeConfigQuery$variables;
18
- };
19
- declare const node: ConcreteRequest;
20
- export default node;
@@ -1,87 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- /**
8
- * @generated SignedSource<<b292c0ac6583f7d2d7cd8979e5696b21>>
9
- * @lightSyntaxTransform
10
- * @nogrep
11
- */
12
-
13
- /* tslint:disable */
14
- /* eslint-disable */
15
- // @ts-nocheck
16
-
17
- const node = function () {
18
- var v0 = {
19
- "alias": null,
20
- "args": null,
21
- "concreteType": "ThemeConfig",
22
- "kind": "LinkedField",
23
- "name": "themeConfig",
24
- "plural": false,
25
- "selections": [{
26
- "alias": null,
27
- "args": null,
28
- "kind": "ScalarField",
29
- "name": "customProperties",
30
- "storageKey": null
31
- }],
32
- "storageKey": null
33
- };
34
- return {
35
- "fragment": {
36
- "argumentDefinitions": [],
37
- "kind": "Fragment",
38
- "metadata": null,
39
- "name": "ThemeConfigQuery",
40
- "selections": [{
41
- "alias": null,
42
- "args": null,
43
- "concreteType": "Viewer",
44
- "kind": "LinkedField",
45
- "name": "viewer",
46
- "plural": false,
47
- "selections": [v0 /*: any*/],
48
- "storageKey": null
49
- }],
50
- "type": "RootQueryType",
51
- "abstractKey": null
52
- },
53
- "kind": "Request",
54
- "operation": {
55
- "argumentDefinitions": [],
56
- "kind": "Operation",
57
- "name": "ThemeConfigQuery",
58
- "selections": [{
59
- "alias": null,
60
- "args": null,
61
- "concreteType": "Viewer",
62
- "kind": "LinkedField",
63
- "name": "viewer",
64
- "plural": false,
65
- "selections": [v0 /*: any*/, {
66
- "alias": null,
67
- "args": null,
68
- "kind": "ScalarField",
69
- "name": "id",
70
- "storageKey": null
71
- }],
72
- "storageKey": null
73
- }]
74
- },
75
- "params": {
76
- "cacheID": "d1f54ccc72720516df3faf57461c20e1",
77
- "id": null,
78
- "metadata": {},
79
- "name": "ThemeConfigQuery",
80
- "operationKind": "query",
81
- "text": "query ThemeConfigQuery {\n viewer {\n themeConfig {\n customProperties\n }\n id\n }\n}\n"
82
- }
83
- };
84
- }();
85
- node.hash = "c259bee038c4d2ea14c758fba3381f57";
86
- var _default = node;
87
- exports.default = _default;
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- import { CartButton_props } from './index';
3
- export default function CartButton(props: CartButton_props): Promise<React.JSX.Element>;
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = CartButton;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _loadSerializableQuery = _interopRequireDefault(require("../../relay/loadSerializableQuery"));
9
- var _index = require("./index");
10
- var _CartButtonQuery = _interopRequireDefault(require("../../__generated__/CartButtonQuery.graphql"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
- async function CartButton(props) {
14
- const preloadedQuery = await (0, _loadSerializableQuery.default)(_CartButtonQuery.default, {});
15
- return /*#__PURE__*/_react.default.createElement(_index.CartButtonPreloadedQueryRenderer, _extends({
16
- preloadedQuery: preloadedQuery
17
- }, props));
18
- }
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import { Store } from 'redux';
3
- import { Config } from '../ConfigContext';
4
- import { FontdueAction, FontdueState } from '../../reducer';
5
- import { Components } from '../ComponentsContext';
6
- export interface FontdueProvider_props {
7
- children?: React.ReactNode;
8
- url?: string;
9
- stripeIntegration?: 'card-element' | 'dynamic';
10
- config?: Config;
11
- components?: Components;
12
- store?: Store<FontdueState, FontdueAction>;
13
- }
14
- export default function FontdueProviderClientComponent({ children, url, stripeIntegration, config, components, store, }: FontdueProvider_props): React.JSX.Element;