fontdue-js 2.22.3 → 3.0.0-alpha1

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 (451) hide show
  1. package/.babelrc.cjs +72 -0
  2. package/CHANGELOG.md +4 -0
  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__/IdentityBox_identity.graphql.js +1 -8
  56. package/dist/__generated__/License_node.graphql.js +1 -8
  57. package/dist/__generated__/NewsletterSignupQuery.graphql.js +1 -8
  58. package/dist/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +1 -8
  59. package/dist/__generated__/NodePasswordFormAccessNodeMutation.graphql.js +1 -8
  60. package/dist/__generated__/NodePasswordFormIDQuery.graphql.js +1 -8
  61. package/dist/__generated__/NodePasswordFormSlugQuery.graphql.js +1 -8
  62. package/dist/__generated__/OrderVariableSelectionReduxRefetchQuery.graphql.js +1 -8
  63. package/dist/__generated__/OrderVariableSelectionRedux_viewer.graphql.js +3 -11
  64. package/dist/__generated__/OrderVariableSelection_variables.graphql.js +1 -8
  65. package/dist/__generated__/PrecartAddToCartMutation.graphql.js +1 -8
  66. package/dist/__generated__/PrecartClearCartMutation.graphql.js +1 -8
  67. package/dist/__generated__/PrecartQuery.graphql.js +1 -8
  68. package/dist/__generated__/Precart_collection.graphql.js +1 -8
  69. package/dist/__generated__/Precart_license.graphql.js +1 -8
  70. package/dist/__generated__/Precart_viewer.graphql.js +1 -8
  71. package/dist/__generated__/PriceBarSectionRefetchQuery.graphql.js +1 -8
  72. package/dist/__generated__/PriceBarSection_node.graphql.js +3 -11
  73. package/dist/__generated__/PriceBar_node.graphql.js +1 -8
  74. package/dist/__generated__/Price_price.graphql.js +1 -8
  75. package/dist/__generated__/SKUPrice_sku.graphql.js +1 -8
  76. package/dist/__generated__/SelectButton_sku.graphql.js +1 -8
  77. package/dist/__generated__/ServerConfigProviderQuery.graphql.js +1 -8
  78. package/dist/__generated__/ShareCartCreateSnapshotMutation.graphql.js +1 -8
  79. package/dist/__generated__/SpecimenLinkQuery.graphql.js +1 -8
  80. package/dist/__generated__/StoreModalBundleButton_bundle.graphql.js +1 -8
  81. package/dist/__generated__/StoreModalCartQuery.graphql.js +1 -8
  82. package/dist/__generated__/StoreModalCheckoutQuery.graphql.js +1 -8
  83. package/dist/__generated__/StoreModalContainerQuery.graphql.js +1 -8
  84. package/dist/__generated__/StoreModalDownloadRefetchQuery.graphql.js +1 -8
  85. package/dist/__generated__/StoreModalDownload_order.graphql.js +1 -8
  86. package/dist/__generated__/StoreModalFamilyButton_collection.graphql.js +1 -8
  87. package/dist/__generated__/StoreModalFamily_collection.graphql.js +1 -8
  88. package/dist/__generated__/StoreModalIndexItem_fontCollection.graphql.js +1 -8
  89. package/dist/__generated__/StoreModalIndexQuery.graphql.d.ts +1 -1
  90. package/dist/__generated__/StoreModalIndexQuery.graphql.js +6 -13
  91. package/dist/__generated__/StoreModalOrderVariableSelection_order.graphql.js +1 -8
  92. package/dist/__generated__/StoreModalOrderVariableSelection_viewer.graphql.js +1 -8
  93. package/dist/__generated__/StoreModalProductContent_collection.graphql.js +3 -11
  94. package/dist/__generated__/StoreModalProductLicenseSelection_collection.graphql.js +1 -8
  95. package/dist/__generated__/StoreModalProductLicense_license.graphql.js +1 -8
  96. package/dist/__generated__/StoreModalProductQuery.graphql.js +1 -8
  97. package/dist/__generated__/StoreModalProductRefetchQuery.graphql.js +1 -8
  98. package/dist/__generated__/StoreModalProductSummaryAddToCartMutation.graphql.js +1 -8
  99. package/dist/__generated__/StoreModalProductSummaryClearCartMutation.graphql.js +1 -8
  100. package/dist/__generated__/StoreModalProductSummaryRefetchQuery.graphql.js +1 -8
  101. package/dist/__generated__/StoreModalProductSummary_viewer.graphql.js +3 -11
  102. package/dist/__generated__/StoreModalReviewIdentity_identity.graphql.js +1 -8
  103. package/dist/__generated__/StoreModalStyleButton_fontStyle.graphql.js +1 -8
  104. package/dist/__generated__/StoreModalUnifiedCheckoutCompleteOrderMutation.graphql.js +1 -8
  105. package/dist/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js +1 -8
  106. package/dist/__generated__/StoreModalUnifiedCheckoutUpdateOrderMutation.graphql.js +1 -8
  107. package/dist/__generated__/StoreModalUnifiedCheckout_order.graphql.js +1 -8
  108. package/dist/__generated__/StoreModalUnifiedCheckout_viewer.graphql.js +1 -8
  109. package/dist/__generated__/StripeProviderCreateCheckoutSessionMutation.graphql.js +1 -8
  110. package/dist/__generated__/StripeProvider_viewer.graphql.js +1 -8
  111. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +1 -8
  112. package/dist/__generated__/TestFontsForm_Query.graphql.js +1 -8
  113. package/dist/__generated__/TestModeBannerQuery.graphql.js +1 -8
  114. package/dist/__generated__/ThemeConfigQuery.graphql.js +1 -8
  115. package/dist/__generated__/TypeTesterFeaturesButton_fontStyle.graphql.js +1 -8
  116. package/dist/__generated__/TypeTesterFeatures_fontStyle.graphql.js +1 -8
  117. package/dist/__generated__/TypeTesterFloatingToolbar_testers.graphql.js +1 -8
  118. package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +1 -8
  119. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.js +1 -8
  120. package/dist/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.js +1 -8
  121. package/dist/__generated__/TypeTesterStyleSelectData_fontStyleData.graphql.js +1 -8
  122. package/dist/__generated__/TypeTesterStyleSelectData_viewer.graphql.js +1 -8
  123. package/dist/__generated__/TypeTesterToolbar_fontStyle.graphql.js +1 -8
  124. package/dist/__generated__/TypeTesterVariableAxes_fontStyle.graphql.js +1 -8
  125. package/dist/__generated__/TypeTester_fontStyle.graphql.js +1 -8
  126. package/dist/__generated__/TypeTester_viewer.graphql.js +1 -8
  127. package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.js +1 -8
  128. package/dist/__generated__/TypeTestersIDQuery.graphql.js +1 -8
  129. package/dist/__generated__/TypeTestersRefetchQuery.graphql.js +1 -8
  130. package/dist/__generated__/TypeTestersSlugQuery.graphql.js +1 -8
  131. package/dist/__generated__/TypeTesters_collection.graphql.js +3 -11
  132. package/dist/__generated__/TypeTesters_viewer.graphql.js +1 -8
  133. package/dist/__generated__/VariableTableAmounts_option.graphql.js +1 -8
  134. package/dist/__generated__/VariableTableAmounts_variable.graphql.js +1 -8
  135. package/dist/__generated__/productState_Query.graphql.js +1 -8
  136. package/dist/__generated__/productState_bundle.graphql.js +1 -8
  137. package/dist/__generated__/productState_collection.graphql.js +1 -8
  138. package/dist/__generated__/productState_collectionBundle.graphql.js +1 -8
  139. package/dist/__generated__/productState_node.graphql.js +1 -8
  140. package/dist/__generated__/productState_sku.graphql.js +1 -8
  141. package/dist/__generated__/useFeaturesData_fontStyle.graphql.js +1 -8
  142. package/dist/__generated__/useFontStyle_fontStyle.graphql.js +1 -8
  143. package/dist/__generated__/useTotalStyles_fontCollection.graphql.js +1 -8
  144. package/dist/__tests__/collectionBundleSelection.test.js +221 -222
  145. package/dist/components/AddToCartBanner/index.js +19 -29
  146. package/dist/components/BuyButton/index.d.ts +3 -3
  147. package/dist/components/BuyButton/index.js +36 -46
  148. package/dist/components/BuyButton/index.server.d.ts +1 -1
  149. package/dist/components/BuyButton/index.server.js +10 -17
  150. package/dist/components/BuyingOptions/index.js +4 -12
  151. package/dist/components/Cart/AddressFields.d.ts +2 -2
  152. package/dist/components/Cart/AddressFields.js +25 -35
  153. package/dist/components/Cart/CartItem/CartItemAdditionalLicenses.d.ts +2 -2
  154. package/dist/components/Cart/CartItem/CartItemAdditionalLicenses.js +9 -16
  155. package/dist/components/Cart/CartItem/CartItemLicense.d.ts +2 -2
  156. package/dist/components/Cart/CartItem/CartItemLicense.js +15 -24
  157. package/dist/components/Cart/CartItem/CartItemProduct.d.ts +1 -1
  158. package/dist/components/Cart/CartItem/CartItemProduct.js +16 -23
  159. package/dist/components/Cart/CartItem/CartItemVariable.d.ts +3 -3
  160. package/dist/components/Cart/CartItem/CartItemVariable.js +16 -23
  161. package/dist/components/Cart/CartItem/VariableTextInput.js +13 -21
  162. package/dist/components/Cart/CartItem/index.d.ts +2 -2
  163. package/dist/components/Cart/CartItem/index.js +18 -27
  164. package/dist/components/Cart/CartOrder.d.ts +2 -2
  165. package/dist/components/Cart/CartOrder.js +99 -110
  166. package/dist/components/Cart/CartState.d.ts +3 -3
  167. package/dist/components/Cart/CartState.js +18 -25
  168. package/dist/components/Cart/CartTotals.d.ts +1 -1
  169. package/dist/components/Cart/CartTotals.js +31 -38
  170. package/dist/components/Cart/Checkout.d.ts +3 -3
  171. package/dist/components/Cart/Checkout.js +109 -118
  172. package/dist/components/Cart/CheckoutSteps.js +1 -8
  173. package/dist/components/Cart/CouponCodeInput.js +22 -32
  174. package/dist/components/Cart/CustomerFields.d.ts +1 -1
  175. package/dist/components/Cart/CustomerFields.js +21 -31
  176. package/dist/components/Cart/Download.d.ts +1 -1
  177. package/dist/components/Cart/Download.js +17 -27
  178. package/dist/components/Cart/EmptyCart.js +15 -23
  179. package/dist/components/Cart/IdentityBox.d.ts +1 -1
  180. package/dist/components/Cart/IdentityBox.js +12 -19
  181. package/dist/components/Cart/ShareCart.js +24 -32
  182. package/dist/components/Cart/index.js +13 -21
  183. package/dist/components/Cart/injectRelayEnvironment.js +5 -13
  184. package/dist/components/Cart/types.d.ts +1 -1
  185. package/dist/components/Cart/types.js +1 -5
  186. package/dist/components/Cart/utils.js +2 -9
  187. package/dist/components/CartButton/index.d.ts +2 -2
  188. package/dist/components/CartButton/index.js +29 -38
  189. package/dist/components/CartButton/index.server.d.ts +1 -1
  190. package/dist/components/CartButton/index.server.js +7 -14
  191. package/dist/components/CharacterViewer/StyleSelect.d.ts +1 -1
  192. package/dist/components/CharacterViewer/StyleSelect.js +10 -17
  193. package/dist/components/CharacterViewer/index.d.ts +3 -3
  194. package/dist/components/CharacterViewer/index.js +79 -89
  195. package/dist/components/CharacterViewer/index.server.d.ts +1 -1
  196. package/dist/components/CharacterViewer/index.server.js +10 -17
  197. package/dist/components/Checkbox/index.js +9 -19
  198. package/dist/components/CollectionAa/index.d.ts +1 -1
  199. package/dist/components/CollectionAa/index.js +12 -21
  200. package/dist/components/ComponentsContext.d.ts +1 -1
  201. package/dist/components/ComponentsContext.js +4 -10
  202. package/dist/components/ConfigContext.d.ts +12 -12
  203. package/dist/components/ConfigContext.js +4 -11
  204. package/dist/components/ConsentBanner/consent.js +6 -17
  205. package/dist/components/ConsentBanner/index.js +19 -29
  206. package/dist/components/CookieNotification/index.js +19 -27
  207. package/dist/components/CorsErrorModal.js +13 -20
  208. package/dist/components/CouponText/index.d.ts +1 -1
  209. package/dist/components/CouponText/index.js +9 -18
  210. package/dist/components/CustomerLoginForm/index.js +23 -32
  211. package/dist/components/Family/FamilyList.d.ts +1 -1
  212. package/dist/components/Family/FamilyList.js +10 -17
  213. package/dist/components/Family/index.d.ts +1 -1
  214. package/dist/components/Family/index.js +37 -46
  215. package/dist/components/FontFamilies/index.js +18 -28
  216. package/dist/components/FontStyle/index.d.ts +1 -1
  217. package/dist/components/FontStyle/index.js +8 -15
  218. package/dist/components/FontdueProvider/FontdueProviderClientComponent.d.ts +6 -4
  219. package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +48 -39
  220. package/dist/components/FontdueProvider/index.d.ts +2 -2
  221. package/dist/components/FontdueProvider/index.js +32 -15
  222. package/dist/components/FontdueProvider/index.server.d.ts +2 -2
  223. package/dist/components/FontdueProvider/index.server.js +24 -22
  224. package/dist/components/Icons/Align.js +13 -22
  225. package/dist/components/Icons/ArrowDownRight.js +5 -13
  226. package/dist/components/Icons/ArrowLeft.js +5 -13
  227. package/dist/components/Icons/ArrowRight.js +5 -13
  228. package/dist/components/Icons/CarrotDown.js +5 -13
  229. package/dist/components/Icons/CarrotUp.js +5 -13
  230. package/dist/components/Icons/Cart.js +7 -15
  231. package/dist/components/Icons/CartNew.js +7 -15
  232. package/dist/components/Icons/Check.js +5 -13
  233. package/dist/components/Icons/Checkbox.js +5 -13
  234. package/dist/components/Icons/CheckboxChecked.js +5 -13
  235. package/dist/components/Icons/CheckboxCrossed.js +6 -14
  236. package/dist/components/Icons/CircledCheck.js +6 -14
  237. package/dist/components/Icons/CircledInfo.js +6 -14
  238. package/dist/components/Icons/CircledMinus.js +6 -14
  239. package/dist/components/Icons/ColorPicker.js +5 -13
  240. package/dist/components/Icons/CreditCard.js +6 -14
  241. package/dist/components/Icons/DownArrow.js +5 -13
  242. package/dist/components/Icons/DownloadFonts.js +8 -16
  243. package/dist/components/Icons/FrowningFace.js +8 -16
  244. package/dist/components/Icons/License.js +5 -13
  245. package/dist/components/Icons/Receipt.js +8 -16
  246. package/dist/components/Icons/User.js +5 -13
  247. package/dist/components/Icons/X.js +5 -13
  248. package/dist/components/Icons/index.d.ts +23 -23
  249. package/dist/components/Icons/index.js +23 -167
  250. package/dist/components/NewsletterSignup/NewsletterSignupElement.d.ts +1 -1
  251. package/dist/components/NewsletterSignup/NewsletterSignupElement.js +4 -11
  252. package/dist/components/NewsletterSignup/index.d.ts +2 -2
  253. package/dist/components/NewsletterSignup/index.js +51 -60
  254. package/dist/components/NewsletterSignup/index.server.d.ts +1 -1
  255. package/dist/components/NewsletterSignup/index.server.js +7 -14
  256. package/dist/components/NodePasswordForm/index.js +25 -33
  257. package/dist/components/OrderVariableSelection/OrderVariableSelectionRedux.d.ts +1 -1
  258. package/dist/components/OrderVariableSelection/OrderVariableSelectionRedux.js +18 -27
  259. package/dist/components/OrderVariableSelection/index.d.ts +1 -1
  260. package/dist/components/OrderVariableSelection/index.js +28 -36
  261. package/dist/components/Precart/License.d.ts +1 -1
  262. package/dist/components/Precart/License.js +22 -30
  263. package/dist/components/Precart/index.js +64 -74
  264. package/dist/components/Price/index.d.ts +1 -1
  265. package/dist/components/Price/index.js +10 -20
  266. package/dist/components/PriceBar/PriceBarSection.d.ts +1 -1
  267. package/dist/components/PriceBar/PriceBarSection.js +23 -33
  268. package/dist/components/PriceBar/index.d.ts +1 -1
  269. package/dist/components/PriceBar/index.js +13 -23
  270. package/dist/components/Root/index.d.ts +1 -1
  271. package/dist/components/Root/index.js +41 -51
  272. package/dist/components/Root/productState.d.ts +1 -1
  273. package/dist/components/Root/productState.js +20 -29
  274. package/dist/components/SKUPrice/index.d.ts +2 -2
  275. package/dist/components/SKUPrice/index.js +12 -20
  276. package/dist/components/Select/index.js +9 -17
  277. package/dist/components/SelectButton/index.d.ts +2 -2
  278. package/dist/components/SelectButton/index.js +20 -29
  279. package/dist/components/ServerConfigProvider/index.d.ts +1 -1
  280. package/dist/components/ServerConfigProvider/index.js +9 -18
  281. package/dist/components/SpecimenLink/index.js +12 -20
  282. package/dist/components/StickyNav/index.js +16 -26
  283. package/dist/components/StoreModal/StoreModalBundleButton.d.ts +1 -1
  284. package/dist/components/StoreModal/StoreModalBundleButton.js +16 -23
  285. package/dist/components/StoreModal/StoreModalCart.d.ts +1 -1
  286. package/dist/components/StoreModal/StoreModalCart.js +29 -38
  287. package/dist/components/StoreModal/StoreModalCheckout.js +9 -17
  288. package/dist/components/StoreModal/StoreModalCheckoutContext.d.ts +1 -1
  289. package/dist/components/StoreModal/StoreModalCheckoutContext.js +6 -12
  290. package/dist/components/StoreModal/StoreModalContainer.js +25 -35
  291. package/dist/components/StoreModal/StoreModalDownload.d.ts +1 -1
  292. package/dist/components/StoreModal/StoreModalDownload.js +14 -24
  293. package/dist/components/StoreModal/StoreModalFamily.d.ts +1 -1
  294. package/dist/components/StoreModal/StoreModalFamily.js +14 -23
  295. package/dist/components/StoreModal/StoreModalFamilyButton.d.ts +1 -1
  296. package/dist/components/StoreModal/StoreModalFamilyButton.js +23 -30
  297. package/dist/components/StoreModal/StoreModalIndex.d.ts +1 -1
  298. package/dist/components/StoreModal/StoreModalIndex.js +9 -17
  299. package/dist/components/StoreModal/StoreModalIndexItem.d.ts +1 -1
  300. package/dist/components/StoreModal/StoreModalIndexItem.js +20 -30
  301. package/dist/components/StoreModal/StoreModalLicenseeIsBillingSelection.js +8 -17
  302. package/dist/components/StoreModal/StoreModalLoader.js +6 -15
  303. package/dist/components/StoreModal/StoreModalOrderVariableSelection.d.ts +3 -3
  304. package/dist/components/StoreModal/StoreModalOrderVariableSelection.js +12 -21
  305. package/dist/components/StoreModal/StoreModalProduct.d.ts +1 -1
  306. package/dist/components/StoreModal/StoreModalProduct.js +51 -61
  307. package/dist/components/StoreModal/StoreModalReviewIdentity.d.ts +1 -1
  308. package/dist/components/StoreModal/StoreModalReviewIdentity.js +6 -15
  309. package/dist/components/StoreModal/StoreModalRouter.js +12 -22
  310. package/dist/components/StoreModal/StoreModalStyleButton.d.ts +1 -1
  311. package/dist/components/StoreModal/StoreModalStyleButton.js +20 -27
  312. package/dist/components/StoreModal/index.js +10 -19
  313. package/dist/components/StoreModal/routes.d.ts +4 -4
  314. package/dist/components/StoreModal/routes.js +18 -26
  315. package/dist/components/StoreModal/types.js +1 -5
  316. package/dist/components/StoreModalProductLicenseSelection/LicenseElement.js +12 -22
  317. package/dist/components/StoreModalProductLicenseSelection/LicenseVariableElement.js +7 -15
  318. package/dist/components/StoreModalProductLicenseSelection/LicenseVariableRadioElement.js +9 -19
  319. package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.d.ts +1 -1
  320. package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +19 -28
  321. package/dist/components/StoreModalProductLicenseSelection/index.d.ts +1 -1
  322. package/dist/components/StoreModalProductLicenseSelection/index.js +10 -17
  323. package/dist/components/StoreModalProductSummary/index.d.ts +1 -1
  324. package/dist/components/StoreModalProductSummary/index.js +45 -55
  325. package/dist/components/StripeLogo.js +4 -11
  326. package/dist/components/StripeProvider/index.d.ts +1 -1
  327. package/dist/components/StripeProvider/index.js +19 -29
  328. package/dist/components/Switch/index.js +1 -7
  329. package/dist/components/TestFontsForm/TestFontsFormElement.js +4 -12
  330. package/dist/components/TestFontsForm/index.d.ts +2 -2
  331. package/dist/components/TestFontsForm/index.js +56 -65
  332. package/dist/components/TestFontsForm/index.server.d.ts +1 -1
  333. package/dist/components/TestFontsForm/index.server.js +7 -14
  334. package/dist/components/TestModeBanner/index.js +10 -16
  335. package/dist/components/TextField/index.js +9 -17
  336. package/dist/components/ThemeConfig/index.d.ts +2 -2
  337. package/dist/components/ThemeConfig/index.js +14 -20
  338. package/dist/components/ThemeConfig/index.server.js +7 -14
  339. package/dist/components/Tracking/index.js +11 -18
  340. package/dist/components/TypeTester/TypeTesterAlignButtons.d.ts +1 -1
  341. package/dist/components/TypeTester/TypeTesterAlignButtons.js +8 -16
  342. package/dist/components/TypeTester/TypeTesterBullet.d.ts +1 -1
  343. package/dist/components/TypeTester/TypeTesterBullet.js +4 -12
  344. package/dist/components/TypeTester/TypeTesterContent.d.ts +2 -2
  345. package/dist/components/TypeTester/TypeTesterContent.js +22 -21
  346. package/dist/components/TypeTester/TypeTesterContext.d.ts +2 -2
  347. package/dist/components/TypeTester/TypeTesterContext.js +10 -17
  348. package/dist/components/TypeTester/TypeTesterEditAll.js +10 -20
  349. package/dist/components/TypeTester/TypeTesterFeatures.d.ts +1 -1
  350. package/dist/components/TypeTester/TypeTesterFeatures.js +28 -37
  351. package/dist/components/TypeTester/TypeTesterFeaturesButton.d.ts +1 -1
  352. package/dist/components/TypeTester/TypeTesterFeaturesButton.js +20 -30
  353. package/dist/components/TypeTester/TypeTesterFitter.d.ts +1 -1
  354. package/dist/components/TypeTester/TypeTesterFitter.js +5 -13
  355. package/dist/components/TypeTester/TypeTesterFloatingToolbar.d.ts +1 -1
  356. package/dist/components/TypeTester/TypeTesterFloatingToolbar.js +19 -28
  357. package/dist/components/TypeTester/TypeTesterInput.js +12 -22
  358. package/dist/components/TypeTester/TypeTesterSlider.js +7 -16
  359. package/dist/components/TypeTester/TypeTesterStandalone.d.ts +3 -3
  360. package/dist/components/TypeTester/TypeTesterStandalone.js +31 -40
  361. package/dist/components/TypeTester/TypeTesterStandalone.preload.d.ts +3 -3
  362. package/dist/components/TypeTester/TypeTesterStandalone.preload.js +4 -4
  363. package/dist/components/TypeTester/TypeTesterStandalone.server.d.ts +1 -1
  364. package/dist/components/TypeTester/TypeTesterStandalone.server.js +7 -14
  365. package/dist/components/TypeTester/TypeTesterStandaloneElement.js +7 -16
  366. package/dist/components/TypeTester/TypeTesterState.d.ts +2 -2
  367. package/dist/components/TypeTester/TypeTesterState.js +6 -14
  368. package/dist/components/TypeTester/TypeTesterStyleSelect.d.ts +1 -1
  369. package/dist/components/TypeTester/TypeTesterStyleSelect.js +9 -17
  370. package/dist/components/TypeTester/TypeTesterStyleSelectData.d.ts +4 -4
  371. package/dist/components/TypeTester/TypeTesterStyleSelectData.js +21 -30
  372. package/dist/components/TypeTester/TypeTesterToolbar.d.ts +2 -2
  373. package/dist/components/TypeTester/TypeTesterToolbar.js +29 -39
  374. package/dist/components/TypeTester/TypeTesterVariableAxes.d.ts +1 -1
  375. package/dist/components/TypeTester/TypeTesterVariableAxes.js +16 -24
  376. package/dist/components/TypeTester/features.js +1 -8
  377. package/dist/components/TypeTester/index.d.ts +3 -3
  378. package/dist/components/TypeTester/index.js +45 -55
  379. package/dist/components/TypeTester/types.js +3 -11
  380. package/dist/components/TypeTester/useFeaturesData.d.ts +1 -1
  381. package/dist/components/TypeTester/useFeaturesData.js +7 -15
  382. package/dist/components/TypeTester/useTypeTesterStyler.d.ts +2 -2
  383. package/dist/components/TypeTester/useTypeTesterStyler.js +6 -13
  384. package/dist/components/TypeTesters/TypeTestersElement.js +4 -12
  385. package/dist/components/TypeTesters/index.d.ts +4 -4
  386. package/dist/components/TypeTesters/index.js +61 -70
  387. package/dist/components/TypeTesters/index.server.d.ts +1 -1
  388. package/dist/components/TypeTesters/index.server.js +10 -17
  389. package/dist/components/UrlContext.js +6 -12
  390. package/dist/components/VariableTableAmounts/index.d.ts +2 -2
  391. package/dist/components/VariableTableAmounts/index.js +9 -16
  392. package/dist/components/elements/Button/index.js +3 -11
  393. package/dist/components/elements/EmptyCart/index.js +9 -19
  394. package/dist/components/elements/StoreModalCartLayout/index.js +10 -18
  395. package/dist/components/elements/StoreModalContainer/StoreModalContainerContext.js +3 -9
  396. package/dist/components/elements/StoreModalContainer/index.js +17 -27
  397. package/dist/components/elements/StoreModalDownloadLayout/index.js +7 -15
  398. package/dist/components/elements/StoreModalFamily/index.js +8 -16
  399. package/dist/components/elements/StoreModalFamilyButton/index.d.ts +1 -1
  400. package/dist/components/elements/StoreModalFamilyButton/index.js +11 -20
  401. package/dist/components/elements/StoreModalIndexItem/index.js +9 -17
  402. package/dist/components/elements/StoreModalLicenseeIsBillingIdentityElement.js +16 -25
  403. package/dist/components/elements/StoreModalLoadingScreen/index.js +4 -12
  404. package/dist/components/elements/StoreModalPageContainer/index.js +5 -13
  405. package/dist/components/elements/StoreModalStyleButton/index.d.ts +1 -1
  406. package/dist/components/elements/StoreModalStyleButton/index.js +10 -18
  407. package/dist/components/elements/StoreModalUnifiedCheckout.d.ts +2 -2
  408. package/dist/components/elements/StoreModalUnifiedCheckout.js +107 -115
  409. package/dist/components/useConsent.js +4 -9
  410. package/dist/components/useFont.js +8 -15
  411. package/dist/components/useFontStyle.d.ts +1 -1
  412. package/dist/components/useFontStyle.js +12 -20
  413. package/dist/components/useInterval.js +5 -12
  414. package/dist/components/useTotalStyles.d.ts +1 -1
  415. package/dist/components/useTotalStyles.js +4 -12
  416. package/dist/corsError.js +4 -14
  417. package/dist/data/unicodeData.js +1 -1
  418. package/dist/fontLoader.js +2 -9
  419. package/dist/hooks/useAutofit.js +11 -19
  420. package/dist/hooks/useLicenseAndOrderVariables.d.ts +2 -2
  421. package/dist/hooks/useLicenseAndOrderVariables.js +7 -12
  422. package/dist/hooks/useRefetchOnLicenseChanges.d.ts +1 -1
  423. package/dist/hooks/useRefetchOnLicenseChanges.js +7 -13
  424. package/dist/hooks/useResizeObserver.d.ts +11 -0
  425. package/dist/hooks/useResizeObserver.js +23 -0
  426. package/dist/hooks.js +5 -12
  427. package/dist/index.d.ts +2 -2
  428. package/dist/index.js +1 -1
  429. package/dist/react-ranger.d.js +0 -1
  430. package/dist/react-ranger.js +17 -24
  431. package/dist/reducer.d.ts +5 -5
  432. package/dist/reducer.js +15 -36
  433. package/dist/relay/environment.d.ts +1 -0
  434. package/dist/relay/environment.js +58 -33
  435. package/dist/relay/loadSerializableQuery.d.ts +5 -1
  436. package/dist/relay/loadSerializableQuery.js +4 -8
  437. package/dist/relay/useSerializablePreloadedQuery.d.ts +3 -3
  438. package/dist/relay/useSerializablePreloadedQuery.js +26 -22
  439. package/dist/retryImport.js +1 -7
  440. package/dist/scripts/updateUnicodeData.js +0 -2
  441. package/dist/utils.d.ts +2 -2
  442. package/dist/utils.js +14 -36
  443. package/dist/vanilla/FontStyle.js +3 -11
  444. package/dist/vanilla/TruncatedMarkdown.js +2 -9
  445. package/dist/vite.d.ts +1 -0
  446. package/dist/vite.js +74 -0
  447. package/package.json +7 -4
  448. package/scripts/addJsExtensionsBabelPlugin.cjs +62 -0
  449. package/types/font-face-set.d.ts +11 -0
  450. package/types/globals.d.ts +3 -0
  451. package/.nvmrc +0 -1
@@ -1,10 +1,5 @@
1
- "use strict";
1
+ import { createNetworkFetch } from './environment.js';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = loadSerializableQuery;
7
- var _environment = require("./environment");
8
3
  /**
9
4
  * RELAY CACHE KEY NORMALIZATION
10
5
  *
@@ -45,9 +40,10 @@ var _environment = require("./environment");
45
40
  // Call into raw network fetch to get serializable GraphQL query response
46
41
  // This response will be sent to the client to "warm" the QueryResponseCache
47
42
  // to avoid the client fetches.
48
- async function loadSerializableQuery(query, variables) {
43
+ export default async function loadSerializableQuery(query, variables, options) {
49
44
  if (!('params' in query)) throw new Error('Params not found in query, is it a fragment instead of a query?');
50
- const response = await (0, _environment.networkFetch)(query.params, variables);
45
+ const fetcher = createNetworkFetch(options);
46
+ const response = await fetcher(query.params, variables);
51
47
  return {
52
48
  params: query.params,
53
49
  variables,
@@ -1,4 +1,4 @@
1
1
  import { PreloadedQuery, PreloadFetchPolicy } from "react-relay";
2
- import { OperationType } from "relay-runtime";
3
- import { SerializablePreloadedQuery } from "./loadSerializableQuery";
4
- export default function useSerializablePreloadedQuery<TQuery extends OperationType>(preloadQuery: SerializablePreloadedQuery<TQuery>, fetchPolicy?: PreloadFetchPolicy): PreloadedQuery<TQuery>;
2
+ import { GraphQLTaggedNode, OperationType } from "relay-runtime";
3
+ import { SerializablePreloadedQuery } from "./loadSerializableQuery.js";
4
+ export default function useSerializablePreloadedQuery<TQuery extends OperationType>(preloadQuery: SerializablePreloadedQuery<TQuery>, fetchPolicy?: PreloadFetchPolicy, query?: GraphQLTaggedNode): PreloadedQuery<TQuery>;
@@ -1,29 +1,33 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = useSerializablePreloadedQuery;
7
- var _react = require("react");
8
- var _reactRelay = require("react-relay");
9
- var _environment = require("./environment");
10
1
  // Convert preloaded query object (with raw GraphQL Response) into
11
2
  // Relay's PreloadedQuery.
12
3
 
13
- // This hook convert serializable preloaded query
14
- // into Relay's PreloadedQuery object.
15
- // It is also writes this serializable preloaded query
16
- // into QueryResponseCache, so we the network layer
17
- // can use these cache results when fetching data
18
- // in `usePreloadedQuery`.
19
- function useSerializablePreloadedQuery(
20
- //environment: IEnvironment,
21
- preloadQuery) {
4
+ import { useMemo } from "react";
5
+ import { useRelayEnvironment } from "react-relay";
6
+ import { createOperationDescriptor, getRequest } from "relay-runtime";
7
+ import { responseCache } from "./environment.js";
8
+ // This hook converts a serializable preloaded query into Relay's PreloadedQuery
9
+ // object. It primes Relay so that `usePreloadedQuery` resolves synchronously on
10
+ // both server and client:
11
+ // - On the client, it warms the QueryResponseCache so network-layer lookups hit.
12
+ // - When a `query` tagged node is provided, it also commits the response
13
+ // payload directly into the environment's Store via `commitPayload`. This is
14
+ // required for SSR frameworks (Astro, Vite SSR, etc.) whose non-streaming
15
+ // `renderToString` needs the data available synchronously during render.
16
+ export default function useSerializablePreloadedQuery(preloadQuery) {
22
17
  let fetchPolicy = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "store-or-network";
23
- (0, _react.useMemo)(() => {
18
+ let query = arguments.length > 2 ? arguments[2] : undefined;
19
+ const environment = useRelayEnvironment();
20
+ useMemo(() => {
24
21
  writePreloadedQueryToCache(preloadQuery);
25
- }, [preloadQuery]);
26
- const environment = (0, _reactRelay.useRelayEnvironment)();
22
+ if (query != null) {
23
+ const response = preloadQuery.response;
24
+ const singular = Array.isArray(response) ? response[0] : response;
25
+ if ((singular === null || singular === void 0 ? void 0 : singular.data) != null) {
26
+ const operation = createOperationDescriptor(getRequest(query), preloadQuery.variables);
27
+ environment.commitPayload(operation, singular.data);
28
+ }
29
+ }
30
+ }, [preloadQuery, environment, query]);
27
31
  return {
28
32
  environment,
29
33
  fetchKey: preloadQuery.params.id ?? preloadQuery.params.cacheID,
@@ -40,5 +44,5 @@ preloadQuery) {
40
44
  function writePreloadedQueryToCache(preloadedQueryObject) {
41
45
  // @ts-ignore
42
46
  const cacheKey = preloadedQueryObject.params.id ?? preloadedQueryObject.params.cacheID;
43
- _environment.responseCache === null || _environment.responseCache === void 0 ? void 0 : _environment.responseCache.set(cacheKey, preloadedQueryObject.variables, preloadedQueryObject.response);
47
+ responseCache === null || responseCache === void 0 ? void 0 : responseCache.set(cacheKey, preloadedQueryObject.variables, preloadedQueryObject.response);
44
48
  }
@@ -1,9 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = retryImport;
7
1
  /**
8
2
  * Wraps a dynamic import in retry logic.
9
3
  *
@@ -16,7 +10,7 @@ exports.default = retryImport;
16
10
  *
17
11
  * See: https://github.com/whatwg/html/issues/6768
18
12
  */
19
- function retryImport(load) {
13
+ export default function retryImport(load) {
20
14
  let retries = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
21
15
  let delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;
22
16
  return load().catch(error => {
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  const https = require('https');
4
2
  const fs = require('fs');
5
3
  const path = require('path');
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { CollectionStyleSkus } from './components/Root/productState';
2
- import type { FontdueState } from './reducer';
1
+ import { CollectionStyleSkus } from './components/Root/productState.js';
2
+ import type { FontdueState } from './reducer.js';
3
3
  export declare const pluralize: (count: number, singular: string, plural?: string) => string;
4
4
  export declare function notEmpty<TValue>(value: TValue | null | undefined): value is TValue;
5
5
  export declare function kebabToCamel(str: string): string;
package/dist/utils.js CHANGED
@@ -1,46 +1,32 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.compareVariableSettings = exports.collectionSkuIdsDifferences = exports.collTransitivelyContainsSkuId = exports.collContainsSkuId = void 0;
7
- exports.getFeatureGlyphs = getFeatureGlyphs;
8
- exports.isSelected = exports.inspect = void 0;
9
- exports.kebabToCamel = kebabToCamel;
10
- exports.notEmpty = notEmpty;
11
- exports.variableSettingsCSS = exports.variableInstanceSettings = exports.variableInstanceCSS = exports.pluralize = exports.parseCustomProperties = void 0;
12
- const pluralize = (count, singular, plural) => {
1
+ export const pluralize = (count, singular, plural) => {
13
2
  if (count === 1) return `1 ${singular}`;
14
3
  if (!plural) return `${count} ${singular}s`;
15
4
  return `${count}\xa0${plural}`;
16
5
  };
17
- exports.pluralize = pluralize;
18
- function notEmpty(value) {
6
+ export function notEmpty(value) {
19
7
  return value !== null && value !== undefined;
20
8
  }
21
- function kebabToCamel(str) {
9
+ export function kebabToCamel(str) {
22
10
  return str.replace(/-([a-z])/g, function (g) {
23
11
  return g[1].toUpperCase();
24
12
  });
25
13
  }
26
14
 
27
15
  // where coll is a member of `collectionStyleSkus`;
28
- const collContainsSkuId = (coll, skuIdOrStyleId) => {
16
+ export const collContainsSkuId = (coll, skuIdOrStyleId) => {
29
17
  if (!coll) return false;
30
18
  return coll.childrenSkuIds.indexOf(skuIdOrStyleId) >= 0 || coll.fontStyleSkuIds.indexOf(skuIdOrStyleId) >= 0 || coll.fontStyleIds.indexOf(skuIdOrStyleId) >= 0;
31
19
  };
32
20
 
33
21
  // Transitive containment check — walks the collection hierarchy to find
34
22
  // if a SKU is contained at any depth (e.g., collection bundle → family → bundle)
35
- exports.collContainsSkuId = collContainsSkuId;
36
- const collTransitivelyContainsSkuId = (collectionStyleSkus, collSkuId, skuIdOrStyleId) => {
23
+ export const collTransitivelyContainsSkuId = (collectionStyleSkus, collSkuId, skuIdOrStyleId) => {
37
24
  const coll = collectionStyleSkus[collSkuId];
38
25
  if (!coll) return false;
39
26
  if (collContainsSkuId(coll, skuIdOrStyleId)) return true;
40
27
  return coll.childrenSkuIds.some(childSkuId => collTransitivelyContainsSkuId(collectionStyleSkus, childSkuId, skuIdOrStyleId));
41
28
  };
42
- exports.collTransitivelyContainsSkuId = collTransitivelyContainsSkuId;
43
- const isSelected = skuIdOrStyleId => state => {
29
+ export const isSelected = skuIdOrStyleId => state => {
44
30
  if (!skuIdOrStyleId) return false;
45
31
  if (state.selectedSkuIds[skuIdOrStyleId] === true) return true;
46
32
  // get the collections that contain this skuId as a fontStyle or child
@@ -53,8 +39,7 @@ const isSelected = skuIdOrStyleId => state => {
53
39
  // find any collection ancestors that contain this skuId,
54
40
  // then for each collection, sum the price of selected skus,
55
41
  // and return the delta between the collection price and the sum.
56
- exports.isSelected = isSelected;
57
- const collectionSkuIdsDifferences = (state, skuId) => Object.keys(state.collectionStyleSkus).filter(collectionSkuId => {
42
+ export const collectionSkuIdsDifferences = (state, skuId) => Object.keys(state.collectionStyleSkus).filter(collectionSkuId => {
58
43
  return skuId === collectionSkuId || collTransitivelyContainsSkuId(state.collectionStyleSkus, collectionSkuId, skuId);
59
44
  }).reduce((acc, collectionSkuId) => {
60
45
  const selectedSkuIdsInColl = Object.keys(state.selectedSkuIds).filter(selectedSkuId => state.selectedSkuIds[selectedSkuId] === true && collTransitivelyContainsSkuId(state.collectionStyleSkus, collectionSkuId, selectedSkuId));
@@ -62,8 +47,7 @@ const collectionSkuIdsDifferences = (state, skuId) => Object.keys(state.collecti
62
47
  acc[collectionSkuId] = (state.skuPrices[collectionSkuId] ?? 0) - sumOfSelectedSkuIdsInColl;
63
48
  return acc;
64
49
  }, {});
65
- exports.collectionSkuIdsDifferences = collectionSkuIdsDifferences;
66
- const variableInstanceSettings = instance => instance === null || instance === void 0 ? void 0 : instance.coordinates.reduce((acc, _ref) => {
50
+ export const variableInstanceSettings = instance => instance === null || instance === void 0 ? void 0 : instance.coordinates.reduce((acc, _ref) => {
67
51
  let {
68
52
  axis,
69
53
  value
@@ -71,14 +55,11 @@ const variableInstanceSettings = instance => instance === null || instance === v
71
55
  acc[axis] = value;
72
56
  return acc;
73
57
  }, {});
74
- exports.variableInstanceSettings = variableInstanceSettings;
75
- const compareVariableSettings = (instance, settings) => instance.coordinates.every(coord => settings[coord.axis] === coord.value);
76
- exports.compareVariableSettings = compareVariableSettings;
77
- const variableSettingsCSS = variableSettings => ({
58
+ export const compareVariableSettings = (instance, settings) => instance.coordinates.every(coord => settings[coord.axis] === coord.value);
59
+ export const variableSettingsCSS = variableSettings => ({
78
60
  fontVariationSettings: Object.keys(variableSettings).map(axis => `'${axis}' ${variableSettings[axis]}`).join(',')
79
61
  });
80
- exports.variableSettingsCSS = variableSettingsCSS;
81
- const variableInstanceCSS = variableInstance => ({
62
+ export const variableInstanceCSS = variableInstance => ({
82
63
  fontVariationSettings: variableInstance.coordinates.map(_ref2 => {
83
64
  let {
84
65
  axis,
@@ -87,8 +68,7 @@ const variableInstanceCSS = variableInstance => ({
87
68
  return `'${axis}' ${value}`;
88
69
  }).join(',')
89
70
  });
90
- exports.variableInstanceCSS = variableInstanceCSS;
91
- const parseCustomProperties = props => {
71
+ export const parseCustomProperties = props => {
92
72
  if (!props) return {};
93
73
  return props.reduce((acc, prop) => {
94
74
  const [key, val] = prop.split(':');
@@ -96,13 +76,11 @@ const parseCustomProperties = props => {
96
76
  return acc;
97
77
  }, {});
98
78
  };
99
- exports.parseCustomProperties = parseCustomProperties;
100
- const inspect = value => {
79
+ export const inspect = value => {
101
80
  console.log(value);
102
81
  return value;
103
82
  };
104
- exports.inspect = inspect;
105
- function getFeatureGlyphs(supportedLanguages) {
83
+ export function getFeatureGlyphs(supportedLanguages) {
106
84
  if (supportedLanguages !== null && supportedLanguages !== void 0 && supportedLanguages.includes('en')) return 'Aa';
107
85
  if (supportedLanguages !== null && supportedLanguages !== void 0 && supportedLanguages.includes('ar')) return 'ت';
108
86
  if (supportedLanguages !== null && supportedLanguages !== void 0 && supportedLanguages.includes('gr')) return 'Αα';
@@ -1,11 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _fontfaceobserver = _interopRequireDefault(require("fontfaceobserver"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import FontFaceObserver from 'fontfaceobserver';
9
2
  const FALLBACK_FAMILY = 'Fallback';
10
3
  const setStyle = ($el, _ref) => {
11
4
  let {
@@ -38,7 +31,7 @@ class FontStyle {
38
31
  fontWeight: 'normal',
39
32
  fontStyle: 'normal'
40
33
  });
41
- const observer = new _fontfaceobserver.default(fontFamily, {
34
+ const observer = new FontFaceObserver(fontFamily, {
42
35
  weight: fontWeight,
43
36
  style: fontStyle
44
37
  });
@@ -56,5 +49,4 @@ class FontStyle {
56
49
  });
57
50
  }
58
51
  }
59
- var _default = FontStyle;
60
- exports.default = _default;
52
+ export default FontStyle;
@@ -1,9 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
1
  function insertAfter(newNode, referenceNode) {
8
2
  referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
9
3
  }
@@ -19,10 +13,9 @@ const init = $element => {
19
13
  expand($element);
20
14
  });
21
15
  };
22
- class TruncatedMarkdown {
16
+ export default class TruncatedMarkdown {
23
17
  constructor() {
24
18
  this.$elements = [...document.querySelectorAll('[data-truncated-rest-text]')];
25
19
  this.$elements.forEach(init);
26
20
  }
27
- }
28
- exports.default = TruncatedMarkdown;
21
+ }
package/dist/vite.d.ts ADDED
@@ -0,0 +1 @@
1
+ export default function fontdueJs(): unknown[];
package/dist/vite.js ADDED
@@ -0,0 +1,74 @@
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; we don't take a build-time `vite` dep on the user.
25
+ import { cjsInterop } from 'vite-plugin-cjs-interop';
26
+
27
+ // Packages whose imports cjsInterop should rewrite to default-import +
28
+ // destructure shape. Limit this to packages that genuinely ship as CJS-only
29
+ // with `module.exports = require('./lib')` shapes that defeat named-import
30
+ // resolution. React-redux is real ESM and must NOT be in this list — its
31
+ // ESM build has true named exports.
32
+ const CJS_DEPS = ['react-relay', 'relay-runtime', 'draft-js', 'fbjs'];
33
+
34
+ // Packages to pre-bundle for the browser via Vite's optimizer. Pre-bundling
35
+ // pulls a package's transitive deps into one esbuild output, which sidesteps
36
+ // the cjs-module-lexer trap when an ESM package (react-redux) imports a CJS
37
+ // transitive (use-sync-external-store). Without this, the browser dev path
38
+ // fails with "does not provide an export named useSyncExternalStoreWithSelector".
39
+ const CLIENT_OPTIMIZE = [...CJS_DEPS, 'react-redux'];
40
+ export default function fontdueJs() {
41
+ return [cjsInterop({
42
+ dependencies: CJS_DEPS
43
+ }), {
44
+ name: 'fontdue-js',
45
+ config() {
46
+ return {
47
+ // Pre-bundle the CJS-shaped deps via esbuild for the client
48
+ // bundle. Without this, Astro dev's browser pass tries to
49
+ // ESM-import `Environment` from `relay-runtime` and fails —
50
+ // its `module.exports = require('./lib/index.js')` shape can't
51
+ // be statically analyzed for named exports.
52
+ optimizeDeps: {
53
+ include: [...CLIENT_OPTIMIZE]
54
+ },
55
+ // fbjs (transitive via draft-js) references Node's `global` at
56
+ // module init. Browsers don't define it, so the pre-bundled chunk
57
+ // throws `ReferenceError: global is not defined`. Aliasing
58
+ // `global` to `globalThis` at compile time covers both browser
59
+ // and SSR paths.
60
+ define: {
61
+ global: 'globalThis'
62
+ },
63
+ ssr: {
64
+ // Run fontdue-js source through Vite's transform pipeline so
65
+ // cjsInterop sees its imports of CJS-shaped Relay/draft-js/fbjs
66
+ // and rewrites them. Otherwise Node externalizes fontdue-js and
67
+ // its `import { graphql } from 'react-relay'` fails — cjs-module-
68
+ // lexer can't extract names from `module.exports = require('./lib')`.
69
+ noExternal: ['fontdue-js']
70
+ }
71
+ };
72
+ }
73
+ }];
74
+ }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "fontdue-js",
3
- "version": "2.22.3",
3
+ "version": "3.0.0-alpha1",
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",
@@ -80,6 +80,7 @@
80
80
  "@types/react": "19.0.0"
81
81
  },
82
82
  "exports": {
83
+ ".": "./dist/index.js",
83
84
  "./fontdue.css": "./dist/fontdue.css",
84
85
  "./BuyButton": {
85
86
  "react-server": "./dist/components/BuyButton/index.server.js",
@@ -111,6 +112,8 @@
111
112
  "react-server": "./dist/components/TypeTester/TypeTesterStandalone.server.js",
112
113
  "default": "./dist/components/TypeTester/TypeTesterStandalone.js"
113
114
  },
115
+ "./TypeTester/preload": "./dist/components/TypeTester/TypeTesterStandalone.preload.js",
116
+ "./vite": "./dist/vite.js",
114
117
  "./TypeTesters": {
115
118
  "react-server": "./dist/components/TypeTesters/index.server.js",
116
119
  "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,11 @@
1
+ declare global {
2
+ interface FontFaceSet {
3
+ add(font: FontFace): FontFaceSet;
4
+ delete(font: FontFace): boolean;
5
+ clear(): void;
6
+ has(font: FontFace): boolean;
7
+ readonly size: number;
8
+ }
9
+ }
10
+
11
+ export {};
@@ -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;
package/.nvmrc DELETED
@@ -1 +0,0 @@
1
- v14.13.1