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
@@ -1,44 +1,20 @@
1
- "use strict";
2
1
  'use client';
3
2
 
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.ThemeConfigPreloadedQueryRenderer = ThemeConfigPreloadedQueryRenderer;
8
- exports.default = ThemeConfig;
9
- var _ThemeConfigQuery2 = _interopRequireDefault(require("../../__generated__/ThemeConfigQuery.graphql"));
10
- var _react = _interopRequireDefault(require("react"));
11
- var _reactRelay = require("react-relay");
12
- var _useSerializablePreloadedQuery = _interopRequireDefault(require("../../relay/useSerializablePreloadedQuery"));
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- // gets the custom properties entered by users in the admin panel,
15
- // which also includes default values. we put the defaults there instead of
16
- // every call to var() so that we have defaults all in one place
3
+ import _ThemeConfig_viewer from "../../__generated__/ThemeConfig_viewer.graphql.js";
4
+ import React from 'react';
5
+ import { graphql, useFragment } from 'react-relay';
6
+ const fragment = (_ThemeConfig_viewer.hash && _ThemeConfig_viewer.hash !== "191db4fda0651cd596efa7f91699f895" && console.error("The definition of 'ThemeConfig_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _ThemeConfig_viewer);
17
7
 
18
- function ThemeConfigComponent(_ref) {
19
- var _data$viewer$themeCon;
8
+ // Renders custom properties entered by tenant admins (with library defaults)
9
+ // as a single :root style block so var(...) lookups resolve everywhere.
10
+ export default function ThemeConfig(_ref) {
11
+ var _data$themeConfig;
20
12
  let {
21
- data
13
+ viewer
22
14
  } = _ref;
23
- const props = ((_data$viewer$themeCon = data.viewer.themeConfig) === null || _data$viewer$themeCon === void 0 ? void 0 : _data$viewer$themeCon.customProperties) ?? [];
24
- return /*#__PURE__*/_react.default.createElement("style", {
15
+ const data = useFragment(fragment, viewer);
16
+ const props = ((_data$themeConfig = data.themeConfig) === null || _data$themeConfig === void 0 ? void 0 : _data$themeConfig.customProperties) ?? [];
17
+ return /*#__PURE__*/React.createElement("style", {
25
18
  type: "text/css"
26
19
  }, `:root { ${props.join(';')} }`);
27
- }
28
- const query = (_ThemeConfigQuery2.default.hash && _ThemeConfigQuery2.default.hash !== "c259bee038c4d2ea14c758fba3381f57" && console.error("The definition of 'ThemeConfigQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _ThemeConfigQuery2.default);
29
- function ThemeConfigPreloadedQueryRenderer(_ref2) {
30
- let {
31
- preloadedQuery
32
- } = _ref2;
33
- const queryRef = (0, _useSerializablePreloadedQuery.default)(preloadedQuery);
34
- const data = (0, _reactRelay.usePreloadedQuery)(query, queryRef);
35
- return /*#__PURE__*/_react.default.createElement(ThemeConfigComponent, {
36
- data: data
37
- });
38
- }
39
- function ThemeConfig() {
40
- const data = (0, _reactRelay.useLazyLoadQuery)(query, {});
41
- return /*#__PURE__*/_react.default.createElement(ThemeConfigComponent, {
42
- data: data
43
- });
44
20
  }
@@ -1,15 +1,9 @@
1
- "use strict";
2
1
  'use client';
3
2
 
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = require("react");
9
- var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
10
- var _UrlContext = require("../UrlContext");
11
- var _consent = require("../ConsentBanner/consent");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
3
+ import { useContext, useEffect } from 'react';
4
+ import ConfigContext from '../ConfigContext.js';
5
+ import { useFontdueUrl } from '../UrlContext.js';
6
+ import { hasConsent, onConsent, setClientAnonymousId } from '../ConsentBanner/consent.js';
13
7
  function getCampaignDataFromUrl() {
14
8
  const urlParams = new URLSearchParams(window.location.search);
15
9
  const campaign = {};
@@ -86,20 +80,20 @@ async function sendPageView(baseUrl, anonymousId) {
86
80
  }
87
81
  }
88
82
  const Tracking = () => {
89
- const config = (0, _react.useContext)(_ConfigContext.default);
90
- const url = (0, _UrlContext.useFontdueUrl)();
91
- (0, _react.useEffect)(() => {
83
+ const config = useContext(ConfigContext);
84
+ const url = useFontdueUrl();
85
+ useEffect(() => {
92
86
  var _config$tracking$segm, _config$tracking$segm2;
93
87
  if (!config.tracking.enabled) return;
94
88
 
95
89
  // Generate client-side anonymous ID for cookieless tracking when consent is required
96
90
  const clientAnonymousId = config.tracking.consentRequired ? crypto.randomUUID() : undefined;
97
91
  if (clientAnonymousId) {
98
- (0, _consent.setClientAnonymousId)(clientAnonymousId);
92
+ setClientAnonymousId(clientAnonymousId);
99
93
  }
100
94
 
101
95
  // Only send the client ID when in cookieless mode (consent required but not yet granted)
102
- const analyticsConsent = (0, _consent.hasConsent)('analytics');
96
+ const analyticsConsent = hasConsent('analytics');
103
97
  const effectiveAnonymousId = clientAnonymousId && config.tracking.consentRequired && !analyticsConsent ? clientAnonymousId : undefined;
104
98
 
105
99
  // Send initial page view
@@ -130,7 +124,7 @@ const Tracking = () => {
130
124
  }
131
125
  };
132
126
  if (config.tracking.consentRequired) {
133
- consentCleanup = (0, _consent.onConsent)('analytics', fireSegmentPage);
127
+ consentCleanup = onConsent('analytics', fireSegmentPage);
134
128
  } else {
135
129
  fireSegmentPage();
136
130
  }
@@ -162,5 +156,4 @@ const Tracking = () => {
162
156
  }, []);
163
157
  return null;
164
158
  };
165
- var _default = Tracking;
166
- exports.default = _default;
159
+ export default Tracking;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Alignment } from './types';
2
+ import { Alignment } from './types.js';
3
3
  interface TypeTesterAlignButtons_props {
4
4
  alignment: Alignment;
5
5
  setAlignment: (value: Alignment) => void;
@@ -1,35 +1,27 @@
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
- var _Align = require("../Icons/Align");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import React from 'react';
2
+ import { AlignCenter, AlignLeft, AlignRight } from '../Icons/Align.js';
10
3
  const TypeTesterAlignButtons = _ref => {
11
4
  let {
12
5
  alignment,
13
6
  setAlignment
14
7
  } = _ref;
15
- return /*#__PURE__*/_react.default.createElement("div", {
8
+ return /*#__PURE__*/React.createElement("div", {
16
9
  className: "type-tester__align-buttons"
17
- }, /*#__PURE__*/_react.default.createElement("button", {
10
+ }, /*#__PURE__*/React.createElement("button", {
18
11
  type: "button",
19
12
  className: "type-tester__align-buttons__button",
20
13
  "data-active": alignment === 'left',
21
14
  onClick: () => setAlignment('left')
22
- }, /*#__PURE__*/_react.default.createElement(_Align.AlignLeft, null)), /*#__PURE__*/_react.default.createElement("button", {
15
+ }, /*#__PURE__*/React.createElement(AlignLeft, null)), /*#__PURE__*/React.createElement("button", {
23
16
  type: "button",
24
17
  className: "type-tester__align-buttons__button",
25
18
  "data-active": alignment === 'center',
26
19
  onClick: () => setAlignment('center')
27
- }, /*#__PURE__*/_react.default.createElement(_Align.AlignCenter, null)), /*#__PURE__*/_react.default.createElement("button", {
20
+ }, /*#__PURE__*/React.createElement(AlignCenter, null)), /*#__PURE__*/React.createElement("button", {
28
21
  type: "button",
29
22
  className: "type-tester__align-buttons__button",
30
23
  "data-active": alignment === 'right',
31
24
  onClick: () => setAlignment('right')
32
- }, /*#__PURE__*/_react.default.createElement(_Align.AlignRight, null)));
25
+ }, /*#__PURE__*/React.createElement(AlignRight, null)));
33
26
  };
34
- var _default = TypeTesterAlignButtons;
35
- exports.default = _default;
27
+ export default TypeTesterAlignButtons;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { TypeTesterConfig } from '.';
2
+ import { TypeTesterConfig } from './index.js';
3
3
  interface Bullet_props {
4
4
  checked: boolean;
5
5
  config: TypeTesterConfig;
@@ -1,11 +1,4 @@
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 }; }
1
+ import React from 'react';
9
2
  const Bullet = _ref => {
10
3
  let {
11
4
  checked,
@@ -16,9 +9,8 @@ const Bullet = _ref => {
16
9
  'data-checked': checked
17
10
  };
18
11
  if (config.bulletStyle === 'round') {
19
- return /*#__PURE__*/_react.default.createElement("span", props, checked ? '●' : '○');
12
+ return /*#__PURE__*/React.createElement("span", props, checked ? '●' : '○');
20
13
  }
21
- return /*#__PURE__*/_react.default.createElement("span", props, checked ? '■' : '□');
14
+ return /*#__PURE__*/React.createElement("span", props, checked ? '■' : '□');
22
15
  };
23
- var _default = Bullet;
24
- exports.default = _default;
16
+ export default Bullet;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { UseTypeTesterStylerProps } from './useTypeTesterStyler';
3
- import { Alignment, Content } from './types';
2
+ import { UseTypeTesterStylerProps } from './useTypeTesterStyler.js';
3
+ import { Alignment, Content } from './types.js';
4
4
  export interface TypeTesterContentRef {
5
5
  focus: () => void;
6
6
  }
@@ -1,17 +1,9 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _useTypeTesterStyler = _interopRequireDefault(require("./useTypeTesterStyler"));
9
- var _draftJs = require("draft-js");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- 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); }
12
- 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; }
13
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); }
14
- const TypeTesterContent = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
2
+ import "../../global-shim.js";
3
+ import React, { useEffect, useImperativeHandle, useRef, useState } from 'react';
4
+ import useTypeTesterStyler from './useTypeTesterStyler.js';
5
+ import { Editor } from 'draft-js';
6
+ const TypeTesterContent = /*#__PURE__*/React.forwardRef((_ref, ref) => {
15
7
  let {
16
8
  content,
17
9
  setContent,
@@ -20,21 +12,31 @@ const TypeTesterContent = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =>
20
12
  alignment,
21
13
  ...props
22
14
  } = _ref;
23
- const editorRef = (0, _react.useRef)(null);
24
- (0, _react.useImperativeHandle)(ref, () => ({
15
+ const editorRef = useRef(null);
16
+ useImperativeHandle(ref, () => ({
25
17
  focus: () => {
26
18
  var _editorRef$current;
27
19
  (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.focus();
28
20
  }
29
21
  }));
30
- const style = (0, _useTypeTesterStyler.default)({
22
+ const style = useTypeTesterStyler({
31
23
  ...props,
32
24
  content,
33
25
  alignment
34
26
  });
35
- return /*#__PURE__*/_react.default.createElement("div", _extends({}, style, {
27
+
28
+ // draft-js's Editor produces different DOM than plain text on server (just
29
+ // the content string) vs client (full DraftEditor-* subtree). Hydrating
30
+ // that mismatch causes React to discard the SSR subtree and client-render
31
+ // the whole tester from scratch — visible as an unmount/remount flash.
32
+ // Defer Editor mount until after hydration so the initial client render
33
+ // matches the SSR output exactly.
34
+ const [mounted, setMounted] = useState(false);
35
+ useEffect(() => setMounted(true), []);
36
+ const plainText = content.getCurrentContent().getPlainText();
37
+ return /*#__PURE__*/React.createElement("div", _extends({}, style, {
36
38
  className: "type-tester__text__container"
37
- }), /*#__PURE__*/_react.default.createElement(_draftJs.Editor, {
39
+ }), mounted ? /*#__PURE__*/React.createElement(Editor, {
38
40
  ref: editorRef,
39
41
  editorState: content,
40
42
  onChange: value => setContent(value),
@@ -44,7 +46,6 @@ const TypeTesterContent = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =>
44
46
  stripPastedStyles: true,
45
47
  textDirectionality: direction === 'rtl' ? 'RTL' : 'LTR',
46
48
  textAlignment: alignment
47
- }));
49
+ }) : plainText);
48
50
  });
49
- var _default = TypeTesterContent;
50
- exports.default = _default;
51
+ export default TypeTesterContent;
@@ -1,6 +1,6 @@
1
1
  import React, { Dispatch } from 'react';
2
- import { VariableSettings } from '../../utils';
3
- import { Content, Features, Size, Alignment, TypeTesterMode, Direction } from './types';
2
+ import { VariableSettings } from '../../utils.js';
3
+ import { Content, Features, Size, Alignment, TypeTesterMode, Direction } from './types.js';
4
4
  interface TypeTesterState {
5
5
  content: Content;
6
6
  contentEdited: boolean;
@@ -1,15 +1,9 @@
1
- "use strict";
1
+ 'use client';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.TypeTesterContext = void 0;
7
- var _draftJs = require("draft-js");
8
- var _react = _interopRequireWildcard(require("react"));
9
- 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); }
10
- 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; }
11
- const TypeTesterContext = /*#__PURE__*/(0, _react.createContext)({});
12
- exports.TypeTesterContext = TypeTesterContext;
3
+ import "../../global-shim.js";
4
+ import { ContentState, EditorState } from 'draft-js';
5
+ import React, { createContext, useReducer } from 'react';
6
+ export const TypeTesterContext = /*#__PURE__*/createContext({});
13
7
  const updateTester = (state, id, newState, propagate) => {
14
8
  const testers = state.testers;
15
9
  if (state.mode === 'local' || propagate === false) {
@@ -40,7 +34,7 @@ const updateTester = (state, id, newState, propagate) => {
40
34
  // the selection state seems to be globally tied to the browser selection,
41
35
  // so the cursor jumps to the other tester. we have to make a new
42
36
  // EditorState with a copy of the content
43
- content = _draftJs.EditorState.createWithContent(newState.content.getCurrentContent());
37
+ content = EditorState.createWithContent(newState.content.getCurrentContent());
44
38
  }
45
39
  }
46
40
  }
@@ -134,7 +128,7 @@ const TypeTesterContextComponent = _ref => {
134
128
  } = _ref;
135
129
  const testers = Object.keys(initialTestersState).reduce((acc, id) => {
136
130
  const initialState = initialTestersState[id];
137
- const content = _draftJs.EditorState.createWithContent(_draftJs.ContentState.createFromText(initialState.content ?? ''));
131
+ const content = EditorState.createWithContent(ContentState.createFromText(initialState.content ?? ''));
138
132
  acc[id] = {
139
133
  content,
140
134
  contentEdited: false,
@@ -151,17 +145,16 @@ const TypeTesterContextComponent = _ref => {
151
145
  };
152
146
  return acc;
153
147
  }, {});
154
- const [value, dispatch] = (0, _react.useReducer)(groupReducer, {
148
+ const [value, dispatch] = useReducer(groupReducer, {
155
149
  mode: defaultMode,
156
150
  globalFeaturesOpen: false,
157
151
  testers
158
152
  });
159
- return /*#__PURE__*/_react.default.createElement(TypeTesterContext.Provider, {
153
+ return /*#__PURE__*/React.createElement(TypeTesterContext.Provider, {
160
154
  value: {
161
155
  ...value,
162
156
  dispatch
163
157
  }
164
158
  }, children);
165
159
  };
166
- var _default = TypeTesterContextComponent;
167
- exports.default = _default;
160
+ export default TypeTesterContextComponent;
@@ -1,36 +1,26 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _TypeTesterContext = require("./TypeTesterContext");
9
- var _TypeTesterBullet = _interopRequireDefault(require("./TypeTesterBullet"));
10
- var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- 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); }
13
- 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; }
1
+ import React, { useContext } from 'react';
2
+ import { TypeTesterContext } from './TypeTesterContext.js';
3
+ import Bullet from './TypeTesterBullet.js';
4
+ import ConfigContext from '../ConfigContext.js';
14
5
  const TypeTesterEditAll = () => {
15
6
  const {
16
7
  typeTester: config
17
- } = (0, _react.useContext)(_ConfigContext.default);
8
+ } = useContext(ConfigContext);
18
9
  const {
19
10
  mode,
20
11
  dispatch
21
- } = (0, _react.useContext)(_TypeTesterContext.TypeTesterContext);
22
- return /*#__PURE__*/_react.default.createElement("button", {
12
+ } = useContext(TypeTesterContext);
13
+ return /*#__PURE__*/React.createElement("button", {
23
14
  className: "type-tester__edit-all",
24
15
  onClick: () => dispatch({
25
16
  type: 'TOGGLE_MODE'
26
17
  }),
27
18
  type: "button"
28
- }, /*#__PURE__*/_react.default.createElement(_TypeTesterBullet.default, {
19
+ }, /*#__PURE__*/React.createElement(Bullet, {
29
20
  checked: mode === 'group',
30
21
  config: config
31
- }), ' ', /*#__PURE__*/_react.default.createElement("span", {
22
+ }), ' ', /*#__PURE__*/React.createElement("span", {
32
23
  className: "type-tester__edit-all__text"
33
24
  }, "Affect all styles"));
34
25
  };
35
- var _default = TypeTesterEditAll;
36
- exports.default = _default;
26
+ export default TypeTesterEditAll;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { VariableInstance } from '../../utils';
2
+ import { VariableInstance } from '../../utils.js';
3
3
  export interface TypeTesterFamilyListItem {
4
4
  id: string;
5
5
  name: string;
@@ -1,64 +1,53 @@
1
- "use strict";
2
1
  'use client';
3
2
 
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = TypeTesterFamiliesProvider;
8
- exports.typeTesterFamiliesStylesQuery = exports.typeTesterFamiliesQuery = void 0;
9
- exports.useTypeTesterFamilies = useTypeTesterFamilies;
10
- var _TypeTesterFamiliesStylesQuery2 = _interopRequireDefault(require("../../__generated__/TypeTesterFamiliesStylesQuery.graphql"));
11
- var _TypeTesterFamiliesQuery2 = _interopRequireDefault(require("../../__generated__/TypeTesterFamiliesQuery.graphql"));
12
- var _react = _interopRequireWildcard(require("react"));
13
- var _reactRelay = require("react-relay");
14
- var _utils = require("../../utils");
15
- 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); }
16
- 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; }
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
3
+ import _TypeTesterFamiliesStylesQuery from "../../__generated__/TypeTesterFamiliesStylesQuery.graphql.js";
4
+ import _TypeTesterFamiliesQuery from "../../__generated__/TypeTesterFamiliesQuery.graphql.js";
5
+ import React, { createContext, useCallback, useContext, useRef, useState } from 'react';
6
+ import { fetchQuery, graphql, useRelayEnvironment } from 'react-relay';
7
+ import { notEmpty } from '../../utils.js';
8
+
18
9
  // A single, lightweight family-list entry for the type tester family switcher.
19
10
  // These are all cheap stored columns (plus the once-per-page language filter),
20
11
  // so this query never triggers per-style font-binary parsing.
21
12
 
22
13
  const noop = () => {};
23
- const TypeTesterFamiliesContext = /*#__PURE__*/(0, _react.createContext)({
14
+ const TypeTesterFamiliesContext = /*#__PURE__*/createContext({
24
15
  families: null,
25
16
  loadingFamilies: false,
26
17
  loadFamilies: noop,
27
18
  getFamilyStyles: () => undefined,
28
19
  loadFamilyStyles: noop
29
20
  });
30
- function useTypeTesterFamilies() {
31
- return (0, _react.useContext)(TypeTesterFamiliesContext);
21
+ export function useTypeTesterFamilies() {
22
+ return useContext(TypeTesterFamiliesContext);
32
23
  }
33
24
 
34
25
  // The family-switcher dropdown list. Cheap fields only; `featureStyle
35
26
  // { supportedLanguages }` resolves the language filter once per page (instead
36
27
  // of once per type tester) — see FD-685.
37
- const typeTesterFamiliesQuery = (_TypeTesterFamiliesQuery2.default.hash && _TypeTesterFamiliesQuery2.default.hash !== "cda53ca94a4951ee5ba29cc57281a002" && console.error("The definition of 'TypeTesterFamiliesQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _TypeTesterFamiliesQuery2.default);
28
+ export const typeTesterFamiliesQuery = (_TypeTesterFamiliesQuery.hash && _TypeTesterFamiliesQuery.hash !== "cda53ca94a4951ee5ba29cc57281a002" && console.error("The definition of 'TypeTesterFamiliesQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _TypeTesterFamiliesQuery);
38
29
 
39
30
  // The styles/instances for a single family, fetched lazily when that family is
40
31
  // opened or switched to. `variableInstances` font-binary parsing is therefore
41
32
  // scoped to one family rather than the whole library.
42
- exports.typeTesterFamiliesQuery = typeTesterFamiliesQuery;
43
- const typeTesterFamiliesStylesQuery = (_TypeTesterFamiliesStylesQuery2.default.hash && _TypeTesterFamiliesStylesQuery2.default.hash !== "feee079c690b83b56cfb01cb81f36dce" && console.error("The definition of 'TypeTesterFamiliesStylesQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _TypeTesterFamiliesStylesQuery2.default);
44
- exports.typeTesterFamiliesStylesQuery = typeTesterFamiliesStylesQuery;
45
- function TypeTesterFamiliesProvider(_ref) {
33
+ export const typeTesterFamiliesStylesQuery = (_TypeTesterFamiliesStylesQuery.hash && _TypeTesterFamiliesStylesQuery.hash !== "feee079c690b83b56cfb01cb81f36dce" && console.error("The definition of 'TypeTesterFamiliesStylesQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _TypeTesterFamiliesStylesQuery);
34
+ export default function TypeTesterFamiliesProvider(_ref) {
46
35
  let {
47
36
  children
48
37
  } = _ref;
49
- const environment = (0, _reactRelay.useRelayEnvironment)();
50
- const [families, setFamilies] = (0, _react.useState)(null);
51
- const [loadingFamilies, setLoadingFamilies] = (0, _react.useState)(false);
52
- const familiesRequested = (0, _react.useRef)(false);
53
- const [familyStyles, setFamilyStyles] = (0, _react.useState)(() => new Map());
54
- const familyStylesRequested = (0, _react.useRef)(new Set());
55
- const loadFamilies = (0, _react.useCallback)(() => {
38
+ const environment = useRelayEnvironment();
39
+ const [families, setFamilies] = useState(null);
40
+ const [loadingFamilies, setLoadingFamilies] = useState(false);
41
+ const familiesRequested = useRef(false);
42
+ const [familyStyles, setFamilyStyles] = useState(() => new Map());
43
+ const familyStylesRequested = useRef(new Set());
44
+ const loadFamilies = useCallback(() => {
56
45
  if (familiesRequested.current) return;
57
46
  familiesRequested.current = true;
58
47
  setLoadingFamilies(true);
59
- (0, _reactRelay.fetchQuery)(environment, typeTesterFamiliesQuery, {}).toPromise().then(data => {
48
+ fetchQuery(environment, typeTesterFamiliesQuery, {}).toPromise().then(data => {
60
49
  var _data$viewer, _data$viewer$families;
61
- const list = ((data === null || data === void 0 ? void 0 : (_data$viewer = data.viewer) === null || _data$viewer === void 0 ? void 0 : (_data$viewer$families = _data$viewer.families) === null || _data$viewer$families === void 0 ? void 0 : _data$viewer$families.edges) ?? []).map(edge => edge === null || edge === void 0 ? void 0 : edge.node).filter(_utils.notEmpty).map(node => ({
50
+ const list = ((data === null || data === void 0 ? void 0 : (_data$viewer = data.viewer) === null || _data$viewer === void 0 ? void 0 : (_data$viewer$families = _data$viewer.families) === null || _data$viewer$families === void 0 ? void 0 : _data$viewer$families.edges) ?? []).map(edge => edge === null || edge === void 0 ? void 0 : edge.node).filter(notEmpty).map(node => ({
62
51
  id: node.id,
63
52
  name: node.name,
64
53
  isVariableFont: node.isVariableFont,
@@ -72,14 +61,14 @@ function TypeTesterFamiliesProvider(_ref) {
72
61
  familiesRequested.current = false;
73
62
  }).finally(() => setLoadingFamilies(false));
74
63
  }, [environment]);
75
- const setEntry = (0, _react.useCallback)((familyId, entry) => {
64
+ const setEntry = useCallback((familyId, entry) => {
76
65
  setFamilyStyles(prev => {
77
66
  const next = new Map(prev);
78
67
  next.set(familyId, entry);
79
68
  return next;
80
69
  });
81
70
  }, []);
82
- const loadFamilyStyles = (0, _react.useCallback)(familyId => {
71
+ const loadFamilyStyles = useCallback(familyId => {
83
72
  if (!familyId || familyStylesRequested.current.has(familyId)) return;
84
73
  familyStylesRequested.current.add(familyId);
85
74
  setEntry(familyId, {
@@ -87,7 +76,7 @@ function TypeTesterFamiliesProvider(_ref) {
87
76
  isVariableFont: false,
88
77
  styles: null
89
78
  });
90
- (0, _reactRelay.fetchQuery)(environment, typeTesterFamiliesStylesQuery, {
79
+ fetchQuery(environment, typeTesterFamiliesStylesQuery, {
91
80
  familyId
92
81
  }).toPromise().then(data => {
93
82
  const node = data === null || data === void 0 ? void 0 : data.node;
@@ -115,8 +104,8 @@ function TypeTesterFamiliesProvider(_ref) {
115
104
  });
116
105
  });
117
106
  }, [environment, setEntry]);
118
- const getFamilyStyles = (0, _react.useCallback)(familyId => familyStyles.get(familyId), [familyStyles]);
119
- return /*#__PURE__*/_react.default.createElement(TypeTesterFamiliesContext.Provider, {
107
+ const getFamilyStyles = useCallback(familyId => familyStyles.get(familyId), [familyStyles]);
108
+ return /*#__PURE__*/React.createElement(TypeTesterFamiliesContext.Provider, {
120
109
  value: {
121
110
  families,
122
111
  loadingFamilies,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { TypeTesterFeatures_fontStyle$key } from '__generated__/TypeTesterFeatures_fontStyle.graphql';
2
+ import { TypeTesterFeatures_fontStyle$key } from '__generated__/TypeTesterFeatures_fontStyle.graphql.js';
3
3
  interface TypeTesterFeatures_props {
4
4
  id: string;
5
5
  fontStyle: TypeTesterFeatures_fontStyle$key;