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
@@ -0,0 +1,148 @@
1
+ 'use client';
2
+
3
+ import React, { Suspense, createContext, useContext, useRef } from 'react';
4
+ import { Provider } from 'react-redux';
5
+ import { RelayEnvironmentProvider } from 'react-relay';
6
+ import { useCurrentEnvironment } from '../../relay/environment.js';
7
+ import ConfigContext, { makeConfig, mergeConfig } from '../ConfigContext.js';
8
+ import { createDefaultStore } from '../../reducer.js';
9
+ import ComponentsContext from '../ComponentsContext.js';
10
+ import UrlContext from '../UrlContext.js';
11
+ import { setCorsModalEnabled } from '../../corsError.js';
12
+ import TypeTesterFamiliesProvider from '../TypeTester/TypeTesterFamilies.js';
13
+
14
+ // Marker context used by self-wrapping components to detect a parent
15
+ // FontdueContextProvider/FontdueProvider. When the marker is `true`, a
16
+ // self-wrapping component skips its inner FontdueContextProvider so the
17
+ // outer config/url/store/relay-env flow through. Internal — do not export
18
+ // from the package.
19
+ const FontdueContextMarker = /*#__PURE__*/createContext(false);
20
+
21
+ // Carries the *raw* (pre-`makeConfig`) config that established the current
22
+ // context. A nested override deep-merges onto this and re-resolves once, which
23
+ // preserves `makeConfig`'s cross-field normalization — better than merging onto
24
+ // the already-defaulted value. Internal — do not export from the package.
25
+ const RawConfigContext = /*#__PURE__*/createContext(undefined);
26
+
27
+ // Deep-merges `config` onto the inherited config and re-provides it to
28
+ // `children`, so a component can layer its own config (e.g. a per-tester
29
+ // `selectable: true`) on top of an outer `<FontdueProvider config={…}>` rather
30
+ // than replacing or ignoring it.
31
+ function ConfigOverride(_ref) {
32
+ let {
33
+ config,
34
+ children
35
+ } = _ref;
36
+ const parentConfig = useContext(RawConfigContext);
37
+ const merged = mergeConfig(parentConfig, config);
38
+ return /*#__PURE__*/React.createElement(RawConfigContext.Provider, {
39
+ value: merged
40
+ }, /*#__PURE__*/React.createElement(ConfigContext.Provider, {
41
+ value: makeConfig(merged)
42
+ }, children));
43
+ }
44
+
45
+ // Wraps `children` in `FontdueContextProvider` only when no parent
46
+ // FontdueContextProvider/FontdueProvider is present. Self-wrapping components
47
+ // (`<TypeTester>`, `<StoreModal>`, etc.) use this so they Just Work as
48
+ // standalone islands while staying lightweight inside an outer
49
+ // `<FontdueProvider>` tree.
50
+ //
51
+ // `config` is the component's own config. Standalone, it seeds the
52
+ // freshly-created `FontdueContextProvider` so a lone `<TypeTester config={{
53
+ // typeTester: { selectable: true } }} />` works without any provider. Inside an
54
+ // existing context, it deep-merges onto the inherited config — the component's
55
+ // keys win, everything else is inherited from the outer `<FontdueProvider>`.
56
+ export function EnsureFontdueContext(_ref2) {
57
+ let {
58
+ children,
59
+ config
60
+ } = _ref2;
61
+ const isInsideContext = useContext(FontdueContextMarker);
62
+ if (isInsideContext) {
63
+ return config ? /*#__PURE__*/React.createElement(ConfigOverride, {
64
+ config: config
65
+ }, children) : /*#__PURE__*/React.createElement(React.Fragment, null, children);
66
+ }
67
+ return /*#__PURE__*/React.createElement(FontdueContextProvider, {
68
+ config: config
69
+ }, children);
70
+ }
71
+ const IS_SERVER = typeof window === typeof undefined;
72
+
73
+ // === Multi-island state-sharing contract ===
74
+ //
75
+ // Frameworks that hydrate per-island (Astro, Vike, Qwik) mount one
76
+ // `FontdueContextProvider` per fontdue-js component on the page. Each island
77
+ // runs its own React reconciler and gets its own copy of every context, so
78
+ // state that lives inside the component tree is duplicated — adding to the
79
+ // cart in one island wouldn't update the CartButton in a different island.
80
+ //
81
+ // Any stateful client to be shared *across islands* (a Redux store, a Relay
82
+ // Environment, or any future cache) must be a module-level singleton on the
83
+ // client and per-render on the server. SSR has the opposite constraint: a
84
+ // client-shared singleton would leak state between concurrent requests.
85
+ //
86
+ // The pattern (see also `relay/environment.ts → useCurrentEnvironment`):
87
+ //
88
+ // let clientThing: Thing | null = null;
89
+ // function useSharedThing() {
90
+ // if (IS_SERVER) return createThing(); // per-render, no leakage
91
+ // if (clientThing == null) clientThing = createThing();
92
+ // return clientThing; // shared across islands
93
+ // }
94
+ //
95
+ // If you add a new context provider here that holds mutable client state,
96
+ // follow this pattern. If it's purely deriving from props (no state), a
97
+ // vanilla `Context.Provider` is fine — each island will compute the same
98
+ // value.
99
+ let clientStore = null;
100
+ function useSharedStore(providedStore, config) {
101
+ const ref = useRef(null);
102
+ if (providedStore) return providedStore;
103
+ if (IS_SERVER) {
104
+ if (ref.current == null) ref.current = createDefaultStore(config);
105
+ return ref.current;
106
+ }
107
+ if (clientStore == null) clientStore = createDefaultStore(config);
108
+ return clientStore;
109
+ }
110
+ // Lightweight wrapper that sets up Fontdue's React contexts (Relay env,
111
+ // Redux store, config, url, components) without rendering any aux UI.
112
+ // `*Preloaded` self-wrapping components use this so they can stand alone
113
+ // without claiming the page-level aux UI slot. Pages that need aux UI
114
+ // (theme/test-mode/consent/tracking) wrap with `FontdueProvider` instead.
115
+ export default function FontdueContextProvider(_ref3) {
116
+ let {
117
+ children,
118
+ url,
119
+ stripeIntegration,
120
+ config,
121
+ components,
122
+ store
123
+ } = _ref3;
124
+ const environment = useCurrentEnvironment({
125
+ url,
126
+ stripeIntegration
127
+ });
128
+ const configValue = makeConfig(config);
129
+ setCorsModalEnabled(configValue.corsErrorModal);
130
+ const sharedStore = useSharedStore(store, config);
131
+ return /*#__PURE__*/React.createElement(FontdueContextMarker.Provider, {
132
+ value: true
133
+ }, /*#__PURE__*/React.createElement(RelayEnvironmentProvider, {
134
+ environment: environment
135
+ }, /*#__PURE__*/React.createElement(Provider, {
136
+ store: sharedStore
137
+ }, /*#__PURE__*/React.createElement(Suspense, {
138
+ fallback: null
139
+ }, /*#__PURE__*/React.createElement(RawConfigContext.Provider, {
140
+ value: config
141
+ }, /*#__PURE__*/React.createElement(ConfigContext.Provider, {
142
+ value: configValue
143
+ }, /*#__PURE__*/React.createElement(UrlContext.Provider, {
144
+ value: url ?? (typeof process !== 'undefined' ? process.env.NEXT_PUBLIC_FONTDUE_URL : undefined) ?? ''
145
+ }, /*#__PURE__*/React.createElement(ComponentsContext.Provider, {
146
+ value: components ?? {}
147
+ }, /*#__PURE__*/React.createElement(TypeTesterFamiliesProvider, null, children)))))))));
148
+ }
@@ -1,5 +1,21 @@
1
1
  import React from 'react';
2
- import type { FontdueProvider_props } from './FontdueProviderClientComponent';
3
- declare const FontdueProvider: ({ children, ...rest }: FontdueProvider_props) => React.JSX.Element;
4
- export { FontdueProvider_props };
2
+ export { default as loadFontdueProviderQuery } from '../../loadFontdueProviderQuery.js';
3
+ import type { FontdueContextProvider_props } from '../FontdueContextProvider/index.js';
4
+ import { SerializablePreloadedQuery } from '../../relay/loadSerializableQuery.js';
5
+ import type { FontdueServerConfig } from '../../relay/serverConfig.js';
6
+ import { FontdueProviderQuery } from '../../__generated__/FontdueProviderQuery.graphql.js';
7
+ export declare const fontdueProviderQuery: import("react-relay").GraphQLTaggedNode;
8
+ export type FontdueProviderPreloadedQuery = SerializablePreloadedQuery<FontdueProviderQuery>;
9
+ export interface FontdueProvider_props extends FontdueContextProvider_props {
10
+ preloadedQuery?: FontdueProviderPreloadedQuery;
11
+ /**
12
+ * Per-render config for server-side fetches (url, headers, cacheTags).
13
+ * Only honoured by the React Server Components entrypoint, which writes it
14
+ * to the render-scoped config store and strips it before this client
15
+ * component — it may carry internal headers that must never reach the
16
+ * browser. Ignored when the client provider is used directly.
17
+ */
18
+ serverConfig?: FontdueServerConfig;
19
+ }
20
+ declare const FontdueProvider: ({ children, preloadedQuery, serverConfig: _serverConfig, ...rest }: FontdueProvider_props) => React.JSX.Element;
5
21
  export default FontdueProvider;
@@ -1,20 +1,82 @@
1
- "use strict";
1
+ 'use client';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _TestModeBanner = _interopRequireDefault(require("../TestModeBanner"));
9
- var _ThemeConfig = _interopRequireDefault(require("../ThemeConfig"));
10
- var _FontdueProviderClientComponent = _interopRequireDefault(require("./FontdueProviderClientComponent"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
3
+ import _FontdueProviderQuery from "../../__generated__/FontdueProviderQuery.graphql.js";
4
+ import React, { Suspense, lazy } from 'react';
5
+ export { default as loadFontdueProviderQuery } from '../../loadFontdueProviderQuery.js';
6
+ import { ErrorBoundary } from 'react-error-boundary';
7
+ import { graphql, useLazyLoadQuery, usePreloadedQuery } from 'react-relay';
8
+ import TestModeBanner from '../TestModeBanner/index.js';
9
+ import ThemeConfig from '../ThemeConfig/index.js';
10
+ import ServerConfigProvider from '../ServerConfigProvider/index.js';
11
+ import FontdueContextProvider from '../FontdueContextProvider/index.js';
12
+ import retryImport from '../../retryImport.js';
13
+ import useSerializablePreloadedQuery from '../../relay/useSerializablePreloadedQuery.js';
14
+ const ConsentBanner = /*#__PURE__*/lazy(() => retryImport(() => import('../ConsentBanner/index.js')));
15
+ const Tracking = /*#__PURE__*/lazy(() => retryImport(() => import('../Tracking/index.js')));
16
+ // Admin-only; self-gates to a staff session and renders nothing otherwise, so
17
+ // it's safe to mount for everyone. It detects staff client-side (storefront
18
+ // renders are sessionless), so it needs no fragment on the provider query.
19
+ // Lazy so it stays out of the provider's main chunk.
20
+ const FontdueAdminToolbar = /*#__PURE__*/lazy(() => retryImport(() => import('../FontdueAdminToolbar/index.js')));
21
+
22
+ // Single layout-level query that spreads every aux UI component's fragment.
23
+ // Components declare their own data needs via fragments — adding a new aux
24
+ // component is one fragment + one fragment spread, no duplicated selections.
25
+ export const fontdueProviderQuery = (_FontdueProviderQuery.hash && _FontdueProviderQuery.hash !== "5cbd582990daa28a99839c20abbc8bda" && console.error("The definition of 'FontdueProviderQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FontdueProviderQuery);
12
26
  const FontdueProvider = _ref => {
13
27
  let {
14
28
  children,
29
+ preloadedQuery,
30
+ serverConfig: _serverConfig,
15
31
  ...rest
16
32
  } = _ref;
17
- return /*#__PURE__*/_react.default.createElement(_FontdueProviderClientComponent.default, rest, /*#__PURE__*/_react.default.createElement(_TestModeBanner.default, null), /*#__PURE__*/_react.default.createElement(_ThemeConfig.default, null), children);
33
+ return /*#__PURE__*/React.createElement(FontdueContextProvider, rest, /*#__PURE__*/React.createElement(ErrorBoundary, {
34
+ fallback: null
35
+ }, /*#__PURE__*/React.createElement(Suspense, {
36
+ fallback: null
37
+ }, preloadedQuery ? /*#__PURE__*/React.createElement(AuxUIPreloaded, {
38
+ preloadedQuery: preloadedQuery,
39
+ codeConfig: rest.config
40
+ }) : /*#__PURE__*/React.createElement(AuxUILazy, {
41
+ codeConfig: rest.config
42
+ }))), children);
18
43
  };
19
- var _default = FontdueProvider;
20
- exports.default = _default;
44
+ function AuxUIPreloaded(_ref2) {
45
+ let {
46
+ preloadedQuery,
47
+ codeConfig
48
+ } = _ref2;
49
+ const queryRef = useSerializablePreloadedQuery(preloadedQuery, undefined, fontdueProviderQuery);
50
+ const data = usePreloadedQuery(fontdueProviderQuery, queryRef);
51
+ return /*#__PURE__*/React.createElement(AuxUI, {
52
+ viewer: data.viewer,
53
+ codeConfig: codeConfig
54
+ });
55
+ }
56
+ function AuxUILazy(_ref3) {
57
+ let {
58
+ codeConfig
59
+ } = _ref3;
60
+ const data = useLazyLoadQuery(fontdueProviderQuery, {});
61
+ return /*#__PURE__*/React.createElement(AuxUI, {
62
+ viewer: data.viewer,
63
+ codeConfig: codeConfig
64
+ });
65
+ }
66
+ function AuxUI(_ref4) {
67
+ let {
68
+ viewer,
69
+ codeConfig
70
+ } = _ref4;
71
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ThemeConfig, {
72
+ viewer: viewer
73
+ }), /*#__PURE__*/React.createElement(TestModeBanner, {
74
+ viewer: viewer
75
+ }), /*#__PURE__*/React.createElement(ServerConfigProvider, {
76
+ viewer: viewer,
77
+ codeConfig: codeConfig
78
+ }, /*#__PURE__*/React.createElement(Suspense, {
79
+ fallback: null
80
+ }, /*#__PURE__*/React.createElement(ConsentBanner, null), /*#__PURE__*/React.createElement(Tracking, null), /*#__PURE__*/React.createElement(FontdueAdminToolbar, null))));
81
+ }
82
+ export default FontdueProvider;
@@ -1,4 +1,7 @@
1
1
  import React from 'react';
2
- import { FontdueProvider_props } from './FontdueProviderClientComponent';
3
- export { FontdueProvider_props } from './FontdueProviderClientComponent';
4
- export default function FontdueProvider({ children, ...rest }: FontdueProvider_props): Promise<React.JSX.Element>;
2
+ import type { FontdueProvider_props } from './index.js';
3
+ export type { FontdueProvider_props } from './index.js';
4
+ export type { FontdueProviderPreloadedQuery } from '../../loadFontdueProviderQuery.js';
5
+ export type { FontdueServerConfig } from '../../relay/serverConfig.js';
6
+ export declare function loadFontdueProviderQuery(): never;
7
+ export default function FontdueProviderServer({ preloadedQuery, serverConfig, ...rest }: FontdueProvider_props): Promise<React.JSX.Element>;
@@ -1,26 +1,42 @@
1
- "use strict";
1
+ 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); }
2
+ import React from 'react';
3
+ import FontdueProvider from './index.js';
4
+ import loadFontdueProviderQueryImpl from '../../loadFontdueProviderQuery.js';
5
+ import { setFontdueServerConfig } from '../../relay/serverConfig.js';
6
+ // Stub for the RSC export condition. The default `<FontdueProvider>` server
7
+ // entrypoint (this file) awaits the query for consumers, so RSC users should
8
+ // never call it manually. Re-exporting a throwing stub makes the mistake
9
+ // obvious — without it, importing `loadFontdueProviderQuery` from
10
+ // `'fontdue-js/FontdueProvider'` in a server component would fail at build
11
+ // time with the unhelpful `Named export 'loadFontdueProviderQuery' not found`.
12
+ export function loadFontdueProviderQuery() {
13
+ throw new Error("loadFontdueProviderQuery isn't needed in React Server Components — " + 'the <FontdueProvider> server entrypoint awaits its query automatically. ' + 'Drop the manual call.');
14
+ }
2
15
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "FontdueProvider_props", {
7
- enumerable: true,
8
- get: function () {
9
- return _FontdueProviderClientComponent.FontdueProvider_props;
10
- }
11
- });
12
- exports.default = FontdueProvider;
13
- var _react = _interopRequireDefault(require("react"));
14
- var _TestModeBanner = _interopRequireDefault(require("../TestModeBanner"));
15
- var _index = _interopRequireDefault(require("../ThemeConfig/index.server"));
16
- var _FontdueProviderClientComponent = _interopRequireWildcard(require("./FontdueProviderClientComponent"));
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
- async function FontdueProvider(_ref) {
16
+ // RSC entry. When no preloadedQuery is passed, fetch one server-side so the
17
+ // Next.js App Router path stays "drop the provider in your layout, done."
18
+ //
19
+ // `serverConfig` (and, as a shorthand, the `url` prop) is written to the
20
+ // per-render server config store before anything fetches, so every Fontdue
21
+ // server component below the provider — and the provider's own query —
22
+ // fetches against it. It is intentionally NOT forwarded to the client
23
+ // component: it can carry internal headers (e.g. proxy auth) that must not
24
+ // be serialized into the RSC payload. Note a soft navigation re-renders only
25
+ // the page segment, not a layout-hosted provider — pages that contain
26
+ // Fontdue components should call setFontdueServerConfig themselves.
27
+ export default async function FontdueProviderServer(_ref) {
21
28
  let {
22
- children,
29
+ preloadedQuery,
30
+ serverConfig,
23
31
  ...rest
24
32
  } = _ref;
25
- return /*#__PURE__*/_react.default.createElement(_FontdueProviderClientComponent.default, rest, /*#__PURE__*/_react.default.createElement(_TestModeBanner.default, null), /*#__PURE__*/_react.default.createElement(_index.default, null), children);
33
+ if (serverConfig || rest.url) {
34
+ setFontdueServerConfig(serverConfig ?? {
35
+ url: rest.url
36
+ });
37
+ }
38
+ const resolved = preloadedQuery ?? (await loadFontdueProviderQueryImpl());
39
+ return /*#__PURE__*/React.createElement(FontdueProvider, _extends({}, rest, {
40
+ preloadedQuery: resolved
41
+ }));
26
42
  }
@@ -1,56 +1,47 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.AlignCenter = AlignCenter;
7
- exports.AlignLeft = AlignLeft;
8
- exports.AlignRight = AlignRight;
9
- var _react = _interopRequireDefault(require("react"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function AlignCenter() {
12
- return /*#__PURE__*/_react.default.createElement("span", {
1
+ import React from 'react';
2
+ export function AlignCenter() {
3
+ return /*#__PURE__*/React.createElement("span", {
13
4
  className: "icon",
14
5
  "data-label": "AlignCenter"
15
- }, /*#__PURE__*/_react.default.createElement("svg", {
6
+ }, /*#__PURE__*/React.createElement("svg", {
16
7
  xmlns: "http://www.w3.org/2000/svg",
17
8
  width: "18",
18
9
  height: "13",
19
10
  fill: "none",
20
11
  viewBox: "0 0 18 13"
21
- }, /*#__PURE__*/_react.default.createElement("path", {
12
+ }, /*#__PURE__*/React.createElement("path", {
22
13
  fillRule: "evenodd",
23
14
  d: "M0 4h18v1H0V4zM2 0h14.078v1H2V0zM2.067 8H16v1H2.067V8zM3 12h12.079v1H3v-1z",
24
15
  clipRule: "evenodd"
25
16
  })));
26
17
  }
27
- function AlignLeft() {
28
- return /*#__PURE__*/_react.default.createElement("span", {
18
+ export function AlignLeft() {
19
+ return /*#__PURE__*/React.createElement("span", {
29
20
  className: "icon",
30
21
  "data-label": "AlignLeft"
31
- }, /*#__PURE__*/_react.default.createElement("svg", {
22
+ }, /*#__PURE__*/React.createElement("svg", {
32
23
  xmlns: "http://www.w3.org/2000/svg",
33
24
  width: "19",
34
25
  height: "13",
35
26
  fill: "none",
36
27
  viewBox: "0 0 19 13"
37
- }, /*#__PURE__*/_react.default.createElement("path", {
28
+ }, /*#__PURE__*/React.createElement("path", {
38
29
  fillRule: "evenodd",
39
30
  d: "M0 0h14.079v1H0V0zM0 4h18.078v1H0V4zM0 8h16.078v1H0V8zM0 12h14.079v1H0v-1z",
40
31
  clipRule: "evenodd"
41
32
  })));
42
33
  }
43
- function AlignRight() {
44
- return /*#__PURE__*/_react.default.createElement("span", {
34
+ export function AlignRight() {
35
+ return /*#__PURE__*/React.createElement("span", {
45
36
  className: "icon",
46
37
  "data-label": "AlignRight"
47
- }, /*#__PURE__*/_react.default.createElement("svg", {
38
+ }, /*#__PURE__*/React.createElement("svg", {
48
39
  xmlns: "http://www.w3.org/2000/svg",
49
40
  width: "19",
50
41
  height: "13",
51
42
  fill: "none",
52
43
  viewBox: "0 0 19 13"
53
- }, /*#__PURE__*/_react.default.createElement("path", {
44
+ }, /*#__PURE__*/React.createElement("path", {
54
45
  fillRule: "evenodd",
55
46
  d: "M3 0h15v1H3V0zM3.47 12H18v1H3.47v-1zM.067 4H18v1H.067V4zM2.067 8H18v1H2.067V8z",
56
47
  clipRule: "evenodd"
@@ -1,19 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const ArrowDownRight = () => /*#__PURE__*/_react.default.createElement("span", {
1
+ import React from 'react';
2
+ const ArrowDownRight = () => /*#__PURE__*/React.createElement("span", {
10
3
  className: "icon",
11
4
  "data-label": "ArrowDownRight"
12
- }, /*#__PURE__*/_react.default.createElement("svg", {
5
+ }, /*#__PURE__*/React.createElement("svg", {
13
6
  viewBox: "0 0 14.357 10.205",
14
7
  xmlns: "http://www.w3.org/2000/svg"
15
- }, /*#__PURE__*/_react.default.createElement("path", {
8
+ }, /*#__PURE__*/React.createElement("path", {
16
9
  d: "m9.819 1.128-.707.707 3.331 3.332h-11.443v-5.167h-1v6.167h12.443l-3.331 3.331.707.707 4.538-4.538z"
17
10
  })));
18
- var _default = ArrowDownRight;
19
- exports.default = _default;
11
+ export default ArrowDownRight;
@@ -1,22 +1,14 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const ArrowLeft = () => /*#__PURE__*/_react.default.createElement("span", {
1
+ import React from 'react';
2
+ const ArrowLeft = () => /*#__PURE__*/React.createElement("span", {
10
3
  className: "icon",
11
4
  "data-label": "ArrowLeft"
12
- }, /*#__PURE__*/_react.default.createElement("svg", {
5
+ }, /*#__PURE__*/React.createElement("svg", {
13
6
  xmlns: "http://www.w3.org/2000/svg",
14
7
  width: "23",
15
8
  height: "10",
16
9
  fill: "none",
17
10
  viewBox: "0 0 23 10"
18
- }, /*#__PURE__*/_react.default.createElement("path", {
11
+ }, /*#__PURE__*/React.createElement("path", {
19
12
  d: "M4.538 9.077l.707-.707-3.331-3.332h20.61v-1H1.914L5.245.707 4.538 0 0 4.538l4.538 4.539z"
20
13
  })));
21
- var _default = ArrowLeft;
22
- exports.default = _default;
14
+ export default ArrowLeft;
@@ -1,19 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const ArrowRight = () => /*#__PURE__*/_react.default.createElement("span", {
1
+ import React from 'react';
2
+ const ArrowRight = () => /*#__PURE__*/React.createElement("span", {
10
3
  className: "icon",
11
4
  "data-label": "ArrowRight"
12
- }, /*#__PURE__*/_react.default.createElement("svg", {
5
+ }, /*#__PURE__*/React.createElement("svg", {
13
6
  viewBox: "0 0 22.524 9.077",
14
7
  xmlns: "http://www.w3.org/2000/svg"
15
- }, /*#__PURE__*/_react.default.createElement("path", {
8
+ }, /*#__PURE__*/React.createElement("path", {
16
9
  d: "m17.986 0-.707.707 3.331 3.332h-20.61v1h20.61l-3.331 3.331.707.707 4.538-4.538z"
17
10
  })));
18
- var _default = ArrowRight;
19
- exports.default = _default;
11
+ export default ArrowRight;
@@ -1,19 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const CarrotDown = () => /*#__PURE__*/_react.default.createElement("span", {
1
+ import React from 'react';
2
+ const CarrotDown = () => /*#__PURE__*/React.createElement("span", {
10
3
  className: "icon",
11
4
  "data-label": "CarrotDown"
12
- }, /*#__PURE__*/_react.default.createElement("svg", {
5
+ }, /*#__PURE__*/React.createElement("svg", {
13
6
  viewBox: "0 0 16.207 8.811",
14
7
  xmlns: "http://www.w3.org/2000/svg"
15
- }, /*#__PURE__*/_react.default.createElement("path", {
8
+ }, /*#__PURE__*/React.createElement("path", {
16
9
  d: "m8.104 8.811-8.104-8.104.707-.707 7.397 7.396 7.396-7.396.707.707z"
17
10
  })));
18
- var _default = CarrotDown;
19
- exports.default = _default;
11
+ export default CarrotDown;
@@ -1,19 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const CarrotUp = () => /*#__PURE__*/_react.default.createElement("span", {
1
+ import React from 'react';
2
+ const CarrotUp = () => /*#__PURE__*/React.createElement("span", {
10
3
  className: "icon",
11
4
  "data-label": "CarrotUp"
12
- }, /*#__PURE__*/_react.default.createElement("svg", {
5
+ }, /*#__PURE__*/React.createElement("svg", {
13
6
  viewBox: "0 0 16.207 8.811",
14
7
  xmlns: "http://www.w3.org/2000/svg"
15
- }, /*#__PURE__*/_react.default.createElement("path", {
8
+ }, /*#__PURE__*/React.createElement("path", {
16
9
  d: "m15.5 8.811-7.396-7.397-7.397 7.397-.707-.707 8.104-8.104 8.103 8.104z"
17
10
  })));
18
- var _default = CarrotUp;
19
- exports.default = _default;
11
+ export default CarrotUp;
@@ -1,23 +1,15 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const Cart = () => /*#__PURE__*/_react.default.createElement("span", {
1
+ import React from 'react';
2
+ const Cart = () => /*#__PURE__*/React.createElement("span", {
10
3
  className: "icon",
11
4
  "data-label": "Cart"
12
- }, /*#__PURE__*/_react.default.createElement("svg", {
5
+ }, /*#__PURE__*/React.createElement("svg", {
13
6
  viewBox: "0 0 24.015 20",
14
7
  xmlns: "http://www.w3.org/2000/svg"
15
- }, /*#__PURE__*/_react.default.createElement("g", null, /*#__PURE__*/_react.default.createElement("path", {
8
+ }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
16
9
  d: "m20.737 14.16h-13.128l-2.092-13.16h-5.517v-1h6.371l.661 4.16h16.983zm-12.274-1h11.55l2.622-8h-15.444z"
17
- }), /*#__PURE__*/_react.default.createElement("path", {
10
+ }), /*#__PURE__*/React.createElement("path", {
18
11
  d: "m10.274 18.2a1.8 1.8 0 1 1 -1.8-1.8 1.8 1.8 0 0 1 1.8 1.8"
19
- }), /*#__PURE__*/_react.default.createElement("path", {
12
+ }), /*#__PURE__*/React.createElement("path", {
20
13
  d: "m21.425 18.2a1.8 1.8 0 1 1 -1.8-1.8 1.8 1.8 0 0 1 1.8 1.8"
21
14
  }))));
22
- var _default = Cart;
23
- exports.default = _default;
15
+ export default Cart;
@@ -1,33 +1,25 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const Cart = () => /*#__PURE__*/_react.default.createElement("span", {
1
+ import React from 'react';
2
+ const Cart = () => /*#__PURE__*/React.createElement("span", {
10
3
  className: "icon",
11
4
  "data-label": "Cart"
12
- }, /*#__PURE__*/_react.default.createElement("svg", {
5
+ }, /*#__PURE__*/React.createElement("svg", {
13
6
  xmlns: "http://www.w3.org/2000/svg",
14
7
  width: "22",
15
8
  height: "29",
16
9
  fill: "none",
17
10
  viewBox: "0 0 22 29"
18
- }, /*#__PURE__*/_react.default.createElement("path", {
11
+ }, /*#__PURE__*/React.createElement("path", {
19
12
  fillRule: "evenodd",
20
13
  d: "M18.636 8.545H1v14.728h17.636V8.545zM0 7.545v16.728h19.636V7.545H0z",
21
14
  clipRule: "evenodd"
22
- }), /*#__PURE__*/_react.default.createElement("path", {
15
+ }), /*#__PURE__*/React.createElement("path", {
23
16
  fillRule: "evenodd",
24
17
  d: "M4.59 5.727a5.227 5.227 0 0110.456 0v5.455h-1V5.727a4.227 4.227 0 00-8.455 0v5.455h-1V5.727z",
25
18
  clipRule: "evenodd"
26
- }), /*#__PURE__*/_react.default.createElement("circle", {
19
+ }), /*#__PURE__*/React.createElement("circle", {
27
20
  cx: "15",
28
21
  cy: "21.273",
29
22
  r: "7",
30
23
  "data-label": "Cart Active Indicator"
31
24
  })));
32
- var _default = Cart;
33
- exports.default = _default;
25
+ export default Cart;