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,37 +1,26 @@
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 _CustomerLoginFormQuery2 = _interopRequireDefault(require("../../__generated__/CustomerLoginFormQuery.graphql"));
9
- var _CustomerLoginFormLoginMutation2 = _interopRequireDefault(require("../../__generated__/CustomerLoginFormLoginMutation.graphql"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _reactRelay = require("react-relay");
12
- var _TextField = _interopRequireDefault(require("../TextField"));
13
- 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); }
14
- 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; }
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- const loginMutation = (_CustomerLoginFormLoginMutation2.default.hash && _CustomerLoginFormLoginMutation2.default.hash !== "975b639fac1e0d88e0f0c9c55acd8b9c" && console.error("The definition of 'CustomerLoginFormLoginMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _CustomerLoginFormLoginMutation2.default);
17
- const query = (_CustomerLoginFormQuery2.default.hash && _CustomerLoginFormQuery2.default.hash !== "f32c7b0b485a2b2a02ddf2cbc5b87a3c" && console.error("The definition of 'CustomerLoginFormQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _CustomerLoginFormQuery2.default);
3
+ import _CustomerLoginFormQuery from "../../__generated__/CustomerLoginFormQuery.graphql.js";
4
+ import _CustomerLoginFormLoginMutation from "../../__generated__/CustomerLoginFormLoginMutation.graphql.js";
5
+ import React, { useState } from 'react';
6
+ import { commitMutation, graphql, useLazyLoadQuery, useRelayEnvironment } from 'react-relay';
7
+ import TextField from '../TextField/index.js';
8
+ const loginMutation = (_CustomerLoginFormLoginMutation.hash && _CustomerLoginFormLoginMutation.hash !== "975b639fac1e0d88e0f0c9c55acd8b9c" && console.error("The definition of 'CustomerLoginFormLoginMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _CustomerLoginFormLoginMutation);
9
+ const query = (_CustomerLoginFormQuery.hash && _CustomerLoginFormQuery.hash !== "f32c7b0b485a2b2a02ddf2cbc5b87a3c" && console.error("The definition of 'CustomerLoginFormQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _CustomerLoginFormQuery);
18
10
  const DEFAULT_SUBMITTED_LABEL = '<p>Submitted!</p><p>Please check your email inbox for a link to log in.</p><p>If you don\u2019t receive an email, please contact us to retrieve your order information.</p>';
19
11
  const CustomerLoginForm = _ref => {
20
- var _data$viewer, _data$viewer$settings;
21
12
  let {
22
13
  submitLabel = 'Submit'
23
14
  } = _ref;
24
- const [email, setEmail] = (0, _react.useState)('');
25
- const [error, setError] = (0, _react.useState)(null);
26
- const [submitting, setSubmitting] = (0, _react.useState)(false);
27
- const [submitted, setSubmitted] = (0, _react.useState)(false);
28
- const environment = (0, _reactRelay.useRelayEnvironment)();
29
- const data = (0, _reactRelay.useLazyLoadQuery)(query, {});
30
- const submittedLabel = ((_data$viewer = data.viewer) === null || _data$viewer === void 0 ? void 0 : (_data$viewer$settings = _data$viewer.settings) === null || _data$viewer$settings === void 0 ? void 0 : _data$viewer$settings.customerLoginSubmittedLabel) || DEFAULT_SUBMITTED_LABEL;
15
+ const [email, setEmail] = useState('');
16
+ const [error, setError] = useState(null);
17
+ const [submitting, setSubmitting] = useState(false);
18
+ const [submitted, setSubmitted] = useState(false);
19
+ const environment = useRelayEnvironment();
31
20
  const handleSubmit = e => {
32
21
  e.preventDefault();
33
22
  setSubmitting(true);
34
- (0, _reactRelay.commitMutation)(environment, {
23
+ commitMutation(environment, {
35
24
  mutation: loginMutation,
36
25
  variables: {
37
26
  input: {
@@ -58,34 +47,44 @@ const CustomerLoginForm = _ref => {
58
47
  });
59
48
  };
60
49
  const disabled = !email;
61
- return /*#__PURE__*/_react.default.createElement("div", {
50
+ return /*#__PURE__*/React.createElement("div", {
62
51
  className: "login-form"
63
- }, error && /*#__PURE__*/_react.default.createElement("div", {
52
+ }, error && /*#__PURE__*/React.createElement("div", {
64
53
  className: "login-form__errors"
65
- }, error), submitted ? /*#__PURE__*/_react.default.createElement("div", {
66
- className: "login-form__submitted",
67
- dangerouslySetInnerHTML: {
68
- __html: submittedLabel
69
- }
70
- }) : /*#__PURE__*/_react.default.createElement("form", {
54
+ }, error), submitted ? /*#__PURE__*/React.createElement(SubmittedMessage, null) : /*#__PURE__*/React.createElement("form", {
71
55
  className: "login-form__form",
72
56
  onSubmit: handleSubmit
73
- }, /*#__PURE__*/_react.default.createElement("div", {
57
+ }, /*#__PURE__*/React.createElement("div", {
74
58
  className: "login-form__section"
75
- }, /*#__PURE__*/_react.default.createElement(_TextField.default, {
59
+ }, /*#__PURE__*/React.createElement(TextField, {
76
60
  label: "Email *",
77
61
  type: "email",
78
62
  value: email,
79
63
  onChange: value => setEmail(value),
80
64
  autocomplete: "email",
81
65
  placeholder: "Your email"
82
- })), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
66
+ })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
83
67
  className: "submit-button",
84
68
  type: "submit",
85
69
  disabled: submitting || disabled
86
- }, submitting ? 'Submitting...' : submitLabel, /*#__PURE__*/_react.default.createElement("span", {
70
+ }, submitting ? 'Submitting...' : submitLabel, /*#__PURE__*/React.createElement("span", {
87
71
  className: "submit-button__arrow"
88
72
  }, " \u2192")))));
89
73
  };
90
- var _default = CustomerLoginForm;
91
- exports.default = _default;
74
+
75
+ // The settings label is only shown after a submit, which can only happen in
76
+ // the browser — fetching it here (not in the form component) keeps the lazy
77
+ // query out of the SSR pass, where it has no session and, in multi-tenant
78
+ // setups, possibly no resolvable GraphQL URL.
79
+ function SubmittedMessage() {
80
+ var _data$viewer, _data$viewer$settings;
81
+ const data = useLazyLoadQuery(query, {});
82
+ const submittedLabel = ((_data$viewer = data.viewer) === null || _data$viewer === void 0 ? void 0 : (_data$viewer$settings = _data$viewer.settings) === null || _data$viewer$settings === void 0 ? void 0 : _data$viewer$settings.customerLoginSubmittedLabel) || DEFAULT_SUBMITTED_LABEL;
83
+ return /*#__PURE__*/React.createElement("div", {
84
+ className: "login-form__submitted",
85
+ dangerouslySetInnerHTML: {
86
+ __html: submittedLabel
87
+ }
88
+ });
89
+ }
90
+ export default CustomerLoginForm;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { FamilyList_node$key } from '__generated__/FamilyList_node.graphql';
2
+ import { FamilyList_node$key } from '__generated__/FamilyList_node.graphql.js';
3
3
  interface FamilyList_props {
4
4
  node: FamilyList_node$key;
5
5
  text?: string;
@@ -1,33 +1,26 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = FamilyList;
7
- var _FamilyList_node2 = _interopRequireDefault(require("../../__generated__/FamilyList_node.graphql"));
8
- var _react = _interopRequireDefault(require("react"));
9
- var _reactRelay = require("react-relay");
10
- var _FontStyle = _interopRequireDefault(require("../FontStyle"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import _FamilyList_node from "../../__generated__/FamilyList_node.graphql.js";
2
+ import React from 'react';
3
+ import { graphql, useFragment } from 'react-relay';
4
+ import FontStyle from '../FontStyle/index.js';
12
5
  const styleName = (normal, localized) => {
13
6
  if (normal === localized) return normal;
14
7
  return `${normal} ${localized}`;
15
8
  };
16
- function FamilyList(_ref) {
9
+ export default function FamilyList(_ref) {
17
10
  var _node$fontStyles;
18
11
  let {
19
12
  node: nodeKey,
20
13
  text
21
14
  } = _ref;
22
- const node = (0, _reactRelay.useFragment)((_FamilyList_node2.default.hash && _FamilyList_node2.default.hash !== "d52770ab2e7aaa83f392a5d80340f3ad" && console.error("The definition of 'FamilyList_node' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FamilyList_node2.default), nodeKey);
23
- return /*#__PURE__*/_react.default.createElement("ul", {
15
+ const node = useFragment((_FamilyList_node.hash && _FamilyList_node.hash !== "d52770ab2e7aaa83f392a5d80340f3ad" && console.error("The definition of 'FamilyList_node' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FamilyList_node), nodeKey);
16
+ return /*#__PURE__*/React.createElement("ul", {
24
17
  className: "font-family-block__list",
25
18
  style: {
26
19
  fontFamily: node.name
27
20
  }
28
21
  }, (_node$fontStyles = node.fontStyles) === null || _node$fontStyles === void 0 ? void 0 : _node$fontStyles.map((style, i) => {
29
22
  var _style$variableInstan, _style$variableInstan2;
30
- return /*#__PURE__*/_react.default.createElement(_FontStyle.default, {
23
+ return /*#__PURE__*/React.createElement(FontStyle, {
31
24
  fontStyle: style,
32
25
  Component: "li",
33
26
  key: i,
@@ -37,7 +30,7 @@ function FamilyList(_ref) {
37
30
  name,
38
31
  coordinates
39
32
  } = _ref2;
40
- return /*#__PURE__*/_react.default.createElement("span", {
33
+ return /*#__PURE__*/React.createElement("span", {
41
34
  key: name,
42
35
  style: {
43
36
  fontVariationSettings: coordinates.map(_ref3 => {
@@ -49,6 +42,6 @@ function FamilyList(_ref) {
49
42
  }).join(',')
50
43
  }
51
44
  }, name, ' ');
52
- }) : /*#__PURE__*/_react.default.createElement("span", null, text || styleName(style.name, style.name_localized), " "));
45
+ }) : /*#__PURE__*/React.createElement("span", null, text || styleName(style.name, style.name_localized), " "));
53
46
  }));
54
47
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Family_node$key } from '__generated__/Family_node.graphql';
2
+ import { Family_node$key } from '__generated__/Family_node.graphql.js';
3
3
  interface FamilyBase_props {
4
4
  node: Family_node$key;
5
5
  size?: string;
@@ -1,88 +1,79 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = Family;
7
- var _Family_node2 = _interopRequireDefault(require("../../__generated__/Family_node.graphql"));
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _reactRelay = require("react-relay");
10
- var _reactRedux = require("react-redux");
11
- var _SelectButton = _interopRequireDefault(require("../SelectButton"));
12
- var _SKUPrice = _interopRequireDefault(require("../SKUPrice"));
13
- var _Price = require("../Price");
14
- var _FamilyList = _interopRequireDefault(require("./FamilyList"));
15
- var _reducer = require("../../reducer");
16
- var _utils = require("../../utils");
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
- function Family(_ref) {
1
+ import _Family_node from "../../__generated__/Family_node.graphql.js";
2
+ import React, { Suspense, useState } from 'react';
3
+ import { graphql, useFragment } from 'react-relay';
4
+ import { useSelector } from 'react-redux';
5
+ import SelectButton from '../SelectButton/index.js';
6
+ import SKUPrice from '../SKUPrice/index.js';
7
+ import { PriceFormat } from '../Price/index.js';
8
+ import FamilyList from './FamilyList.js';
9
+ import { isSelected } from '../../reducer.js';
10
+ import { pluralize } from '../../utils.js';
11
+ export default function Family(_ref) {
21
12
  var _node$fontStyles, _node$fontStyles2, _node$families;
22
13
  let {
23
14
  node: nodeKey,
24
15
  size
25
16
  } = _ref;
26
- const node = (0, _reactRelay.useFragment)((_Family_node2.default.hash && _Family_node2.default.hash !== "5c49167e8bf2458ab72604ff960636b2" && console.error("The definition of 'Family_node' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Family_node2.default), nodeKey);
27
- const precartOpen = (0, _reactRedux.useSelector)(state => state.precartOpen);
28
- const selector = node.sku ? (0, _reducer.isSelected)(node.sku.id) : () => false;
29
- const selected = (0, _reactRedux.useSelector)(selector);
30
- const [buyButtonIsHovered, setBuyButtonIsHovered] = (0, _react.useState)(false);
17
+ const node = useFragment((_Family_node.hash && _Family_node.hash !== "5c49167e8bf2458ab72604ff960636b2" && console.error("The definition of 'Family_node' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Family_node), nodeKey);
18
+ const precartOpen = useSelector(state => state.precartOpen);
19
+ const selector = node.sku ? isSelected(node.sku.id) : () => false;
20
+ const selected = useSelector(selector);
21
+ const [buyButtonIsHovered, setBuyButtonIsHovered] = useState(false);
31
22
  const isSuperFamily = node.collectionType === 'superfamily';
32
- return /*#__PURE__*/_react.default.createElement("div", {
23
+ return /*#__PURE__*/React.createElement("div", {
33
24
  className: "select-button-hover-parent font-family-block",
34
25
  "data-size": size,
35
26
  "data-selected": selected,
36
27
  "data-buy-button-hovered": buyButtonIsHovered
37
- }, /*#__PURE__*/_react.default.createElement("div", {
28
+ }, /*#__PURE__*/React.createElement("div", {
38
29
  className: "font-family-block__wrapper"
39
- }, node.sku && /*#__PURE__*/_react.default.createElement("div", {
30
+ }, node.sku && /*#__PURE__*/React.createElement("div", {
40
31
  className: "font-family-block__select-button"
41
- }, /*#__PURE__*/_react.default.createElement(_SelectButton.default, {
32
+ }, /*#__PURE__*/React.createElement(SelectButton, {
42
33
  sku: node.sku,
43
34
  productId: node.sku.id,
44
35
  onMouseEnter: () => setBuyButtonIsHovered(true),
45
36
  onMouseLeave: () => setBuyButtonIsHovered(false),
46
37
  className: "font-family-block__select-button-element"
47
- }), precartOpen && !selected && /*#__PURE__*/_react.default.createElement("div", {
38
+ }), precartOpen && !selected && /*#__PURE__*/React.createElement("div", {
48
39
  className: "font-family-block__price"
49
- }, /*#__PURE__*/_react.default.createElement(_react.Suspense, {
40
+ }, /*#__PURE__*/React.createElement(Suspense, {
50
41
  fallback: null
51
- }, /*#__PURE__*/_react.default.createElement(_SKUPrice.default, {
42
+ }, /*#__PURE__*/React.createElement(SKUPrice, {
52
43
  sku: node.sku,
53
- format: _Price.PriceFormat.Truncated
54
- })))), /*#__PURE__*/_react.default.createElement("div", {
44
+ format: PriceFormat.Truncated
45
+ })))), /*#__PURE__*/React.createElement("div", {
55
46
  className: "font-family-block__label"
56
- }, /*#__PURE__*/_react.default.createElement("h3", {
47
+ }, /*#__PURE__*/React.createElement("h3", {
57
48
  className: "font-family-block__name"
58
- }, isSuperFamily ? `${node.name} Super family` : node.name), /*#__PURE__*/_react.default.createElement("span", {
49
+ }, isSuperFamily ? `${node.name} Super family` : node.name), /*#__PURE__*/React.createElement("span", {
59
50
  className: "font-family-block__separator"
60
- }), /*#__PURE__*/_react.default.createElement("p", {
51
+ }), /*#__PURE__*/React.createElement("p", {
61
52
  className: "font-family-block__count"
62
- }, (0, _utils.pluralize)(node.totalStyles ?? 0, node.isVariableFont ? 'font' : 'style')), node.isVariableFont ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
53
+ }, pluralize(node.totalStyles ?? 0, node.isVariableFont ? 'font' : 'style')), node.isVariableFont ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
63
54
  className: "font-family-block__separator"
64
- }), /*#__PURE__*/_react.default.createElement("p", {
55
+ }), /*#__PURE__*/React.createElement("p", {
65
56
  className: "font-family-block__count"
66
- }, (0, _utils.pluralize)(((_node$fontStyles = node.fontStyles) === null || _node$fontStyles === void 0 ? void 0 : _node$fontStyles.reduce((total, style) => {
57
+ }, pluralize(((_node$fontStyles = node.fontStyles) === null || _node$fontStyles === void 0 ? void 0 : _node$fontStyles.reduce((total, style) => {
67
58
  var _style$variableAxes;
68
59
  return total + (((_style$variableAxes = style.variableAxes) === null || _style$variableAxes === void 0 ? void 0 : _style$variableAxes.length) ?? 0);
69
- }, 0)) ?? 0, 'variable axis', 'variable axes')), /*#__PURE__*/_react.default.createElement("span", {
60
+ }, 0)) ?? 0, 'variable axis', 'variable axes')), /*#__PURE__*/React.createElement("span", {
70
61
  className: "font-family-block__separator"
71
- }), /*#__PURE__*/_react.default.createElement("p", {
62
+ }), /*#__PURE__*/React.createElement("p", {
72
63
  className: "font-family-block__count"
73
- }, (0, _utils.pluralize)(((_node$fontStyles2 = node.fontStyles) === null || _node$fontStyles2 === void 0 ? void 0 : _node$fontStyles2.reduce((total, style) => {
64
+ }, pluralize(((_node$fontStyles2 = node.fontStyles) === null || _node$fontStyles2 === void 0 ? void 0 : _node$fontStyles2.reduce((total, style) => {
74
65
  var _style$variableInstan;
75
66
  return total + (((_style$variableInstan = style.variableInstances) === null || _style$variableInstan === void 0 ? void 0 : _style$variableInstan.length) ?? 0);
76
- }, 0)) ?? 0, 'named instance'))) : null), /*#__PURE__*/_react.default.createElement("div", {
67
+ }, 0)) ?? 0, 'named instance'))) : null), /*#__PURE__*/React.createElement("div", {
77
68
  className: "font-family-block__lists"
78
69
  }, isSuperFamily ? (_node$families = node.families) === null || _node$families === void 0 ? void 0 : _node$families.map((family, index) => {
79
70
  var _family$featureStyle;
80
- return /*#__PURE__*/_react.default.createElement(_FamilyList.default, {
71
+ return /*#__PURE__*/React.createElement(FamilyList, {
81
72
  key: index,
82
73
  node: family,
83
74
  text: (_family$featureStyle = family.featureStyle) === null || _family$featureStyle === void 0 ? void 0 : _family$featureStyle.keyCharacters_localized
84
75
  });
85
- }) : /*#__PURE__*/_react.default.createElement(_FamilyList.default, {
76
+ }) : /*#__PURE__*/React.createElement(FamilyList, {
86
77
  node: node
87
78
  }))));
88
79
  }
@@ -1,55 +1,45 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _FontFamiliesQuery2 = _interopRequireDefault(require("../../__generated__/FontFamiliesQuery.graphql"));
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _reactRedux = require("react-redux");
10
- var _reactRelay = require("react-relay");
11
- var _productState = require("../Root/productState");
12
- var _Family = _interopRequireDefault(require("../Family"));
13
- var _useLicenseAndOrderVariables = require("../../hooks/useLicenseAndOrderVariables");
14
- 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); }
15
- 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; }
16
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import _FontFamiliesQuery from "../../__generated__/FontFamiliesQuery.graphql.js";
2
+ import React, { useEffect } from 'react';
3
+ import { useStore } from 'react-redux';
4
+ import { graphql, useRelayEnvironment, useLazyLoadQuery } from 'react-relay';
5
+ import { populateProductState } from '../Root/productState.js';
6
+ import Family from '../Family/index.js';
7
+ import { useLicenseAndOrderVariables } from '../../hooks/useLicenseAndOrderVariables.js';
17
8
  function FontFamilies(_ref) {
18
9
  var _node$families;
19
10
  let {
20
11
  collectionId
21
12
  } = _ref;
22
- const environment = (0, _reactRelay.useRelayEnvironment)();
23
- const store = (0, _reactRedux.useStore)();
24
- (0, _react.useEffect)(() => {
13
+ const environment = useRelayEnvironment();
14
+ const store = useStore();
15
+ useEffect(() => {
25
16
  // populate as soon as BuyButton mounts. this prepares the StoreModal
26
17
  // to be able to apply discounts as soon as the user clicks "BUY" on
27
18
  // a style. (this is necessary if the bundle price is <= single style price)
28
- (0, _productState.populateProductState)(store, environment, collectionId);
19
+ populateProductState(store, environment, collectionId);
29
20
  }, [collectionId, store, environment]);
30
21
  const {
31
22
  licenseOptionsSpecs,
32
23
  orderVariableSelections
33
- } = (0, _useLicenseAndOrderVariables.useLicenseAndOrderVariables)();
24
+ } = useLicenseAndOrderVariables();
34
25
  const {
35
26
  node
36
- } = (0, _reactRelay.useLazyLoadQuery)((_FontFamiliesQuery2.default.hash && _FontFamiliesQuery2.default.hash !== "18eba6b750d3f714b964af66ecfcfa3b" && console.error("The definition of 'FontFamiliesQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FontFamiliesQuery2.default), {
27
+ } = useLazyLoadQuery((_FontFamiliesQuery.hash && _FontFamiliesQuery.hash !== "18eba6b750d3f714b964af66ecfcfa3b" && console.error("The definition of 'FontFamiliesQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FontFamiliesQuery), {
37
28
  collectionId,
38
29
  licenseOptions: licenseOptionsSpecs,
39
30
  orderVariables: orderVariableSelections
40
31
  });
41
32
  if (!node) return null;
42
- return /*#__PURE__*/_react.default.createElement("div", {
33
+ return /*#__PURE__*/React.createElement("div", {
43
34
  className: "font-families"
44
- }, /*#__PURE__*/_react.default.createElement("div", {
35
+ }, /*#__PURE__*/React.createElement("div", {
45
36
  className: "font-families__items"
46
- }, /*#__PURE__*/_react.default.createElement(_Family.default, {
37
+ }, /*#__PURE__*/React.createElement(Family, {
47
38
  node: node,
48
39
  size: "wide"
49
- }), (_node$families = node.families) === null || _node$families === void 0 ? void 0 : _node$families.map((family, index) => /*#__PURE__*/_react.default.createElement(_Family.default, {
40
+ }), (_node$families = node.families) === null || _node$families === void 0 ? void 0 : _node$families.map((family, index) => /*#__PURE__*/React.createElement(Family, {
50
41
  key: index,
51
42
  node: family
52
43
  }))));
53
44
  }
54
- var _default = FontFamilies;
55
- exports.default = _default;
45
+ export default FontFamilies;
@@ -1,6 +1,6 @@
1
1
  import React, { type JSX } from 'react';
2
- import { VerticalMetrics } from '../useFontStyle';
3
- import { FontStyle_fontStyle$key } from '../../__generated__/FontStyle_fontStyle.graphql';
2
+ import { VerticalMetrics } from '../useFontStyle.js';
3
+ import { FontStyle_fontStyle$key } from '../../__generated__/FontStyle_fontStyle.graphql.js';
4
4
  interface FontStyleProps {
5
5
  fontStyle: FontStyle_fontStyle$key;
6
6
  Component?: 'div' | 'span' | 'li';
@@ -1,15 +1,8 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = FontStyle;
7
- var _FontStyle_fontStyle2 = _interopRequireDefault(require("../../__generated__/FontStyle_fontStyle.graphql"));
8
- var _react = _interopRequireDefault(require("react"));
9
- var _reactRelay = require("react-relay");
10
- var _useFontStyle = _interopRequireDefault(require("../useFontStyle"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- function FontStyle(_ref) {
1
+ import _FontStyle_fontStyle from "../../__generated__/FontStyle_fontStyle.graphql.js";
2
+ import React from 'react';
3
+ import { graphql, useFragment } from 'react-relay';
4
+ import useFontStyle from '../useFontStyle.js';
5
+ export default function FontStyle(_ref) {
13
6
  let {
14
7
  Component = 'div',
15
8
  fontStyle: fontStyleKey,
@@ -17,12 +10,12 @@ function FontStyle(_ref) {
17
10
  children,
18
11
  ...rest
19
12
  } = _ref;
20
- const fontStyle = (0, _reactRelay.useFragment)((_FontStyle_fontStyle2.default.hash && _FontStyle_fontStyle2.default.hash !== "7891603bea1a3e40f40297bf1697eb3c" && console.error("The definition of 'FontStyle_fontStyle' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FontStyle_fontStyle2.default), fontStyleKey);
13
+ const fontStyle = useFragment((_FontStyle_fontStyle.hash && _FontStyle_fontStyle.hash !== "7891603bea1a3e40f40297bf1697eb3c" && console.error("The definition of 'FontStyle_fontStyle' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FontStyle_fontStyle), fontStyleKey);
21
14
  const {
22
15
  style: fontStyleStyle,
23
16
  loaded,
24
17
  verticalMetrics
25
- } = (0, _useFontStyle.default)({
18
+ } = useFontStyle({
26
19
  fontStyle
27
20
  });
28
21
  const renderProps = {
@@ -32,7 +25,7 @@ function FontStyle(_ref) {
32
25
  ...style
33
26
  }
34
27
  };
35
- return /*#__PURE__*/_react.default.createElement(Component, renderProps, typeof children === 'function' ? children({
28
+ return /*#__PURE__*/React.createElement(Component, renderProps, typeof children === 'function' ? children({
36
29
  loaded,
37
30
  style: fontStyleStyle,
38
31
  verticalMetrics
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export default function FontdueAdminToolbar(): React.JSX.Element | null;
@@ -0,0 +1,146 @@
1
+ 'use client';
2
+
3
+ import _FontdueAdminToolbarTokenMutation from "../../__generated__/FontdueAdminToolbarTokenMutation.graphql.js";
4
+ import _FontdueAdminToolbarStaffQuery from "../../__generated__/FontdueAdminToolbarStaffQuery.graphql.js";
5
+ import React, { useEffect, useState } from 'react';
6
+ import { commitMutation, fetchQuery, graphql, useRelayEnvironment } from 'react-relay';
7
+ // Admin-only affordance for logged-in foundry staff: reveal unpublished
8
+ // ("hidden") fonts across the whole storefront. Storefront pages are
9
+ // server-rendered sessionless and cached, and the provider's own query is
10
+ // preloaded server-side without the session — so `adminUser` can't ride it.
11
+ // Staff presence is detected here, client-side, where the request carries
12
+ // the session; the public never sees this control.
13
+ //
14
+ // The reveal itself is not done here: entering preview brokers a short-lived
15
+ // admin token and hands it to the framework's preview route, which switches
16
+ // the whole app to a live, token-bearing render. Exiting clears it. Public
17
+ // renders never touch any of this and stay static and cached.
18
+ const staffQuery = (_FontdueAdminToolbarStaffQuery.hash && _FontdueAdminToolbarStaffQuery.hash !== "40c32a5790cc698bcac936bc2f27b7be" && console.error("The definition of 'FontdueAdminToolbarStaffQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FontdueAdminToolbarStaffQuery);
19
+
20
+ // createAdminToken mints a short-lived, stateless admin token from the staff
21
+ // session; it's handed to the preview route to enter draft mode.
22
+ const tokenMutation = (_FontdueAdminToolbarTokenMutation.hash && _FontdueAdminToolbarTokenMutation.hash !== "2b82f195747c86d50fd5884d76f3b709" && console.error("The definition of 'FontdueAdminToolbarTokenMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _FontdueAdminToolbarTokenMutation);
23
+
24
+ // Preview entry/exit route. Relative, so it hits the storefront's own origin.
25
+ // Today this is the Next adapter's draft-mode route; other adapters can wire
26
+ // the same contract (POST a token to enter, DELETE to exit).
27
+ const PREVIEW_ENDPOINT = '/api/preview';
28
+
29
+ // Readable twin of the httpOnly preview-token cookie, set by the preview
30
+ // route. Lets this client component tell preview is on; the token itself is
31
+ // only ever read server-side.
32
+ const PREVIEW_MARKER = 'fontdue_preview';
33
+ function hasPreviewCookie() {
34
+ return typeof document !== 'undefined' && document.cookie.split('; ').some(c => c === `${PREVIEW_MARKER}=1`);
35
+ }
36
+ export default function FontdueAdminToolbar() {
37
+ const environment = useRelayEnvironment();
38
+ const [staffName, setStaffName] = useState(null);
39
+ const [ready, setReady] = useState(false);
40
+ const [open, setOpen] = useState(false);
41
+ const [previewing, setPreviewing] = useState(false);
42
+ const [busy, setBusy] = useState(false);
43
+ const [error, setError] = useState(null);
44
+ useEffect(() => {
45
+ setPreviewing(hasPreviewCookie());
46
+ // network-only: the provider's preloaded query already wrote a sessionless
47
+ // `viewer` to the store, so we must go to the network (with the session)
48
+ // rather than read that cached, staff-blind copy.
49
+ const subscription = fetchQuery(environment, staffQuery, {}, {
50
+ fetchPolicy: 'network-only'
51
+ }).subscribe({
52
+ next: data => {
53
+ var _data$viewer;
54
+ const admin = (_data$viewer = data.viewer) === null || _data$viewer === void 0 ? void 0 : _data$viewer.adminUser;
55
+ if (admin) setStaffName(admin.name ?? 'admin');
56
+ },
57
+ error: () => setReady(true),
58
+ complete: () => setReady(true)
59
+ });
60
+ return () => subscription.unsubscribe();
61
+ }, [environment]);
62
+
63
+ // Hidden until we've confirmed a staff session. The public always lands here.
64
+ if (!ready || !staffName) return null;
65
+ async function startPreview(token) {
66
+ const res = await fetch(PREVIEW_ENDPOINT, {
67
+ method: 'POST',
68
+ headers: {
69
+ 'content-type': 'application/json'
70
+ },
71
+ body: JSON.stringify({
72
+ token
73
+ })
74
+ });
75
+ if (res.ok) {
76
+ window.location.reload();
77
+ } else {
78
+ setBusy(false);
79
+ setError('Could not start preview.');
80
+ }
81
+ }
82
+ function enterPreview() {
83
+ setBusy(true);
84
+ setError(null);
85
+ commitMutation(environment, {
86
+ mutation: tokenMutation,
87
+ variables: {},
88
+ onCompleted: (res, errors) => {
89
+ var _res$createAdminToken;
90
+ const token = (_res$createAdminToken = res.createAdminToken) === null || _res$createAdminToken === void 0 ? void 0 : _res$createAdminToken.token;
91
+ if (errors && errors.length > 0 || !token) {
92
+ setBusy(false);
93
+ setError('Could not start preview.');
94
+ return;
95
+ }
96
+ startPreview(token);
97
+ },
98
+ onError: () => {
99
+ setBusy(false);
100
+ setError('Could not start preview.');
101
+ }
102
+ });
103
+ }
104
+ async function exitPreview() {
105
+ setBusy(true);
106
+ setError(null);
107
+ await fetch(PREVIEW_ENDPOINT, {
108
+ method: 'DELETE'
109
+ });
110
+ window.location.reload();
111
+ }
112
+ return /*#__PURE__*/React.createElement("div", {
113
+ className: "fontdue-admin-toolbar",
114
+ "data-previewing": previewing,
115
+ "data-testid": "fontdue-admin-toolbar"
116
+ }, open && /*#__PURE__*/React.createElement("div", {
117
+ className: "fontdue-admin-toolbar__panel"
118
+ }, /*#__PURE__*/React.createElement("div", {
119
+ className: "fontdue-admin-toolbar__header"
120
+ }, /*#__PURE__*/React.createElement("span", {
121
+ className: "fontdue-admin-toolbar__title"
122
+ }, "Fontdue"), /*#__PURE__*/React.createElement("span", {
123
+ className: "fontdue-admin-toolbar__user"
124
+ }, staffName)), /*#__PURE__*/React.createElement("label", {
125
+ className: "fontdue-admin-toolbar__toggle"
126
+ }, /*#__PURE__*/React.createElement("input", {
127
+ type: "checkbox",
128
+ checked: previewing,
129
+ disabled: busy,
130
+ onChange: e => e.target.checked ? enterPreview() : exitPreview(),
131
+ "data-testid": "preview-toggle"
132
+ }), /*#__PURE__*/React.createElement("span", null, "Preview hidden fonts")), /*#__PURE__*/React.createElement("p", {
133
+ className: "fontdue-admin-toolbar__hint"
134
+ }, previewing ? 'Unpublished fonts are visible across the site — only to you.' : 'Reveal unpublished fonts everywhere, only for you.'), error && /*#__PURE__*/React.createElement("p", {
135
+ className: "fontdue-admin-toolbar__error"
136
+ }, error)), /*#__PURE__*/React.createElement("button", {
137
+ type: "button",
138
+ className: "fontdue-admin-toolbar__button",
139
+ onClick: () => setOpen(v => !v),
140
+ "aria-expanded": open,
141
+ "data-testid": "fontdue-admin-toolbar-button"
142
+ }, /*#__PURE__*/React.createElement("span", {
143
+ className: "fontdue-admin-toolbar__dot",
144
+ "aria-hidden": "true"
145
+ }), "Fontdue", previewing ? ' · previewing' : ''));
146
+ }
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { Store } from 'redux';
3
+ import { Config } from '../ConfigContext.js';
4
+ import { FontdueAction, FontdueState } from '../../reducer.js';
5
+ import { Components } from '../ComponentsContext.js';
6
+ export declare function EnsureFontdueContext({ children, config, }: {
7
+ children: React.ReactNode;
8
+ config?: Config;
9
+ }): React.JSX.Element;
10
+ export interface FontdueContextProvider_props {
11
+ children?: React.ReactNode;
12
+ url?: string;
13
+ stripeIntegration?: 'card-element' | 'dynamic';
14
+ config?: Config;
15
+ components?: Components;
16
+ store?: Store<FontdueState, FontdueAction>;
17
+ }
18
+ export default function FontdueContextProvider({ children, url, stripeIntegration, config, components, store, }: FontdueContextProvider_props): React.JSX.Element;