fontdue-js 2.22.0 → 2.22.1

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 (370) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/components/ConfigContext.d.ts +3 -0
  3. package/dist/components/ConfigContext.js +2 -1
  4. package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +2 -0
  5. package/dist/corsError.d.ts +1 -0
  6. package/dist/corsError.js +16 -9
  7. package/dist/global-shim.d.ts +1 -0
  8. package/dist/global-shim.js +8 -0
  9. package/dist/relay/environment.js +51 -42
  10. package/dist-cjs/__generated__/AddToCartBannerQuery.graphql.js +194 -0
  11. package/dist-cjs/__generated__/AddToCartBanner_item.graphql.js +107 -0
  12. package/dist-cjs/__generated__/AddToCartBanner_order.graphql.js +131 -0
  13. package/dist-cjs/__generated__/AddressFieldsRefetchQuery.graphql.js +170 -0
  14. package/dist-cjs/__generated__/AddressFields_viewer.graphql.js +125 -0
  15. package/dist-cjs/__generated__/BuyButtonIDQuery.graphql.js +121 -0
  16. package/dist-cjs/__generated__/BuyButtonSlugQuery.graphql.js +146 -0
  17. package/dist-cjs/__generated__/BuyButton_collection.graphql.js +56 -0
  18. package/dist-cjs/__generated__/CartButtonQuery.graphql.js +139 -0
  19. package/dist-cjs/__generated__/CartButton_order.graphql.js +71 -0
  20. package/dist-cjs/__generated__/CartItemAdditionalLicenses_licenses.graphql.js +42 -0
  21. package/dist-cjs/__generated__/CartItemAdditionalLicenses_orderItem.graphql.js +52 -0
  22. package/dist-cjs/__generated__/CartItemLicense_selection.graphql.js +80 -0
  23. package/dist-cjs/__generated__/CartItemProduct_product.graphql.js +113 -0
  24. package/dist-cjs/__generated__/CartItemVariable_selection.graphql.js +107 -0
  25. package/dist-cjs/__generated__/CartItemVariable_variable.graphql.js +58 -0
  26. package/dist-cjs/__generated__/CartItem_node.graphql.js +166 -0
  27. package/dist-cjs/__generated__/CartOrderCompleteOrderMutation.graphql.js +783 -0
  28. package/dist-cjs/__generated__/CartOrderRemoveDiscountMutation.graphql.js +760 -0
  29. package/dist-cjs/__generated__/CartOrderUpdateMutation.graphql.js +795 -0
  30. package/dist-cjs/__generated__/CartOrder_UpdateErrors.graphql.js +43 -0
  31. package/dist-cjs/__generated__/CartOrder_order.graphql.js +264 -0
  32. package/dist-cjs/__generated__/CartOrder_viewer.graphql.js +51 -0
  33. package/dist-cjs/__generated__/CartQuery.graphql.js +887 -0
  34. package/dist-cjs/__generated__/CartStateRemoveDiscountMutation.graphql.js +422 -0
  35. package/dist-cjs/__generated__/CartStateUpdateMutation.graphql.js +790 -0
  36. package/dist-cjs/__generated__/CartState_order.graphql.js +122 -0
  37. package/dist-cjs/__generated__/CartTotals_order.graphql.js +140 -0
  38. package/dist-cjs/__generated__/CharacterViewerIDQuery.graphql.js +332 -0
  39. package/dist-cjs/__generated__/CharacterViewerSlugQuery.graphql.js +362 -0
  40. package/dist-cjs/__generated__/CharacterViewerStyleRefetchQuery.graphql.js +226 -0
  41. package/dist-cjs/__generated__/CharacterViewer_collection.graphql.js +197 -0
  42. package/dist-cjs/__generated__/CharacterViewer_family.graphql.js +101 -0
  43. package/dist-cjs/__generated__/CharacterViewer_style.graphql.js +161 -0
  44. package/dist-cjs/__generated__/CheckoutUpdateCustomerMutation.graphql.js +770 -0
  45. package/dist-cjs/__generated__/CheckoutUpdateOrderMutation.graphql.js +811 -0
  46. package/dist-cjs/__generated__/Checkout_UpdateOrderErrors.graphql.js +97 -0
  47. package/dist-cjs/__generated__/Checkout_identity.graphql.js +94 -0
  48. package/dist-cjs/__generated__/Checkout_order.graphql.js +144 -0
  49. package/dist-cjs/__generated__/Checkout_viewer.graphql.js +74 -0
  50. package/dist-cjs/__generated__/CollectionAa_Query.graphql.js +192 -0
  51. package/dist-cjs/__generated__/CollectionAa_product.graphql.js +69 -0
  52. package/dist-cjs/__generated__/CouponCodeInputApplyCouponMutation.graphql.js +432 -0
  53. package/dist-cjs/__generated__/CouponText_coupon.graphql.js +73 -0
  54. package/dist-cjs/__generated__/CustomerLoginFormLoginMutation.graphql.js +72 -0
  55. package/dist-cjs/__generated__/CustomerLoginFormQuery.graphql.js +91 -0
  56. package/dist-cjs/__generated__/DownloadRefetchQuery.graphql.js +124 -0
  57. package/dist-cjs/__generated__/Download_order.graphql.js +61 -0
  58. package/dist-cjs/__generated__/FamilyList_node.graphql.js +96 -0
  59. package/dist-cjs/__generated__/Family_node.graphql.js +160 -0
  60. package/dist-cjs/__generated__/FontFamiliesQuery.graphql.js +368 -0
  61. package/dist-cjs/__generated__/FontStyle_fontStyle.graphql.js +32 -0
  62. package/dist-cjs/__generated__/IdentityBox_identity.graphql.js +52 -0
  63. package/dist-cjs/__generated__/License_node.graphql.js +97 -0
  64. package/dist-cjs/__generated__/NewsletterSignupQuery.graphql.js +110 -0
  65. package/dist-cjs/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +81 -0
  66. package/dist-cjs/__generated__/NodePasswordFormAccessNodeMutation.graphql.js +72 -0
  67. package/dist-cjs/__generated__/NodePasswordFormIDQuery.graphql.js +93 -0
  68. package/dist-cjs/__generated__/NodePasswordFormSlugQuery.graphql.js +115 -0
  69. package/dist-cjs/__generated__/OrderVariableSelectionReduxRefetchQuery.graphql.js +154 -0
  70. package/dist-cjs/__generated__/OrderVariableSelectionRedux_viewer.graphql.js +75 -0
  71. package/dist-cjs/__generated__/OrderVariableSelection_variables.graphql.js +107 -0
  72. package/dist-cjs/__generated__/PrecartAddToCartMutation.graphql.js +793 -0
  73. package/dist-cjs/__generated__/PrecartClearCartMutation.graphql.js +81 -0
  74. package/dist-cjs/__generated__/PrecartQuery.graphql.js +308 -0
  75. package/dist-cjs/__generated__/Precart_collection.graphql.js +81 -0
  76. package/dist-cjs/__generated__/Precart_license.graphql.js +67 -0
  77. package/dist-cjs/__generated__/Precart_viewer.graphql.js +161 -0
  78. package/dist-cjs/__generated__/PriceBarSectionRefetchQuery.graphql.js +184 -0
  79. package/dist-cjs/__generated__/PriceBarSection_node.graphql.js +121 -0
  80. package/dist-cjs/__generated__/PriceBar_node.graphql.js +60 -0
  81. package/dist-cjs/__generated__/Price_price.graphql.js +40 -0
  82. package/dist-cjs/__generated__/SKUPrice_sku.graphql.js +69 -0
  83. package/dist-cjs/__generated__/SelectButton_sku.graphql.js +54 -0
  84. package/{dist-bundle/chunks/index-o29NNufd.js → dist-cjs/__generated__/ServerConfigProviderQuery.graphql.js} +7 -30
  85. package/dist-cjs/__generated__/ShareCartCreateSnapshotMutation.graphql.js +84 -0
  86. package/dist-cjs/__generated__/SpecimenLinkQuery.graphql.js +120 -0
  87. package/dist-cjs/__generated__/StoreModalBundleButton_bundle.graphql.js +85 -0
  88. package/dist-cjs/__generated__/StoreModalCartQuery.graphql.js +1017 -0
  89. package/dist-cjs/__generated__/StoreModalCheckoutQuery.graphql.js +194 -0
  90. package/dist-cjs/__generated__/StoreModalContainerQuery.graphql.js +228 -0
  91. package/dist-cjs/__generated__/StoreModalDownloadRefetchQuery.graphql.js +102 -0
  92. package/dist-cjs/__generated__/StoreModalDownload_order.graphql.js +40 -0
  93. package/dist-cjs/__generated__/StoreModalFamilyButton_collection.graphql.js +135 -0
  94. package/dist-cjs/__generated__/StoreModalFamily_collection.graphql.js +130 -0
  95. package/dist-cjs/__generated__/StoreModalIndexItem_fontCollection.graphql.js +98 -0
  96. package/dist-cjs/__generated__/StoreModalIndexQuery.graphql.js +263 -0
  97. package/dist-cjs/__generated__/StoreModalOrderVariableSelection_order.graphql.js +98 -0
  98. package/dist-cjs/__generated__/StoreModalOrderVariableSelection_viewer.graphql.js +66 -0
  99. package/dist-cjs/__generated__/StoreModalProductContent_collection.graphql.js +92 -0
  100. package/dist-cjs/__generated__/StoreModalProductLicenseSelection_collection.graphql.js +47 -0
  101. package/dist-cjs/__generated__/StoreModalProductLicense_license.graphql.js +104 -0
  102. package/dist-cjs/__generated__/StoreModalProductQuery.graphql.js +702 -0
  103. package/dist-cjs/__generated__/StoreModalProductRefetchQuery.graphql.js +433 -0
  104. package/dist-cjs/__generated__/StoreModalProductSummaryAddToCartMutation.graphql.js +149 -0
  105. package/dist-cjs/__generated__/StoreModalProductSummaryClearCartMutation.graphql.js +81 -0
  106. package/dist-cjs/__generated__/StoreModalProductSummaryRefetchQuery.graphql.js +281 -0
  107. package/dist-cjs/__generated__/StoreModalProductSummary_viewer.graphql.js +243 -0
  108. package/dist-cjs/__generated__/StoreModalReviewIdentity_identity.graphql.js +52 -0
  109. package/dist-cjs/__generated__/StoreModalStyleButton_fontStyle.graphql.js +113 -0
  110. package/dist-cjs/__generated__/StoreModalUnifiedCheckoutCompleteOrderMutation.graphql.js +302 -0
  111. package/dist-cjs/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js +323 -0
  112. package/dist-cjs/__generated__/StoreModalUnifiedCheckoutUpdateOrderMutation.graphql.js +473 -0
  113. package/dist-cjs/__generated__/StoreModalUnifiedCheckout_order.graphql.js +237 -0
  114. package/dist-cjs/__generated__/StoreModalUnifiedCheckout_viewer.graphql.js +117 -0
  115. package/dist-cjs/__generated__/StripeProviderCreateCheckoutSessionMutation.graphql.js +105 -0
  116. package/dist-cjs/__generated__/StripeProvider_viewer.graphql.js +139 -0
  117. package/dist-cjs/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +770 -0
  118. package/dist-cjs/__generated__/TestFontsForm_Query.graphql.js +126 -0
  119. package/dist-cjs/__generated__/TestModeBannerQuery.graphql.js +87 -0
  120. package/dist-cjs/__generated__/ThemeConfigQuery.graphql.js +87 -0
  121. package/dist-cjs/__generated__/TypeTesterFeaturesButton_fontStyle.graphql.js +32 -0
  122. package/dist-cjs/__generated__/TypeTesterFeatures_fontStyle.graphql.js +36 -0
  123. package/dist-cjs/__generated__/TypeTesterFloatingToolbar_testers.graphql.js +53 -0
  124. package/dist-cjs/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +347 -0
  125. package/dist-cjs/__generated__/TypeTesterStandaloneQuery.graphql.js +450 -0
  126. package/dist-cjs/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.js +106 -0
  127. package/dist-cjs/__generated__/TypeTesterStyleSelectData_fontStyleData.graphql.js +88 -0
  128. package/dist-cjs/__generated__/TypeTesterStyleSelectData_viewer.graphql.js +166 -0
  129. package/dist-cjs/__generated__/TypeTesterToolbar_fontStyle.graphql.js +36 -0
  130. package/dist-cjs/__generated__/TypeTesterVariableAxes_fontStyle.graphql.js +61 -0
  131. package/dist-cjs/__generated__/TypeTester_fontStyle.graphql.js +106 -0
  132. package/dist-cjs/__generated__/TypeTester_viewer.graphql.js +40 -0
  133. package/dist-cjs/__generated__/TypeTestersChangedStylesQuery.graphql.js +347 -0
  134. package/dist-cjs/__generated__/TypeTestersIDQuery.graphql.js +637 -0
  135. package/dist-cjs/__generated__/TypeTestersRefetchQuery.graphql.js +554 -0
  136. package/dist-cjs/__generated__/TypeTestersSlugQuery.graphql.js +644 -0
  137. package/dist-cjs/__generated__/TypeTesters_collection.graphql.js +258 -0
  138. package/dist-cjs/__generated__/TypeTesters_viewer.graphql.js +40 -0
  139. package/dist-cjs/__generated__/VariableTableAmounts_option.graphql.js +34 -0
  140. package/dist-cjs/__generated__/VariableTableAmounts_variable.graphql.js +34 -0
  141. package/dist-cjs/__generated__/productState_Query.graphql.js +184 -0
  142. package/dist-cjs/__generated__/productState_bundle.graphql.js +79 -0
  143. package/dist-cjs/__generated__/productState_collection.graphql.js +90 -0
  144. package/dist-cjs/__generated__/productState_collectionBundle.graphql.js +88 -0
  145. package/dist-cjs/__generated__/productState_node.graphql.js +122 -0
  146. package/dist-cjs/__generated__/productState_sku.graphql.js +51 -0
  147. package/dist-cjs/__generated__/useFeaturesData_fontStyle.graphql.js +64 -0
  148. package/dist-cjs/__generated__/useFontStyle_fontStyle.graphql.js +94 -0
  149. package/dist-cjs/__generated__/useTotalStyles_fontCollection.graphql.js +57 -0
  150. package/dist-cjs/__tests__/collectionBundleSelection.test.js +1630 -0
  151. package/dist-cjs/components/AddToCartBanner/index.js +75 -0
  152. package/dist-cjs/components/BuyButton/index.js +124 -0
  153. package/dist-cjs/components/BuyButton/index.server.js +36 -0
  154. package/dist-cjs/components/BuyingOptions/index.js +23 -0
  155. package/dist-cjs/components/Cart/AddressFields.js +162 -0
  156. package/dist-cjs/components/Cart/CartItem/CartItemAdditionalLicenses.js +33 -0
  157. package/dist-cjs/components/Cart/CartItem/CartItemLicense.js +66 -0
  158. package/dist-cjs/components/Cart/CartItem/CartItemProduct.js +36 -0
  159. package/dist-cjs/components/Cart/CartItem/CartItemVariable.js +66 -0
  160. package/dist-cjs/components/Cart/CartItem/VariableTextInput.js +79 -0
  161. package/dist-cjs/components/Cart/CartItem/index.js +95 -0
  162. package/dist-cjs/components/Cart/CartOrder.js +314 -0
  163. package/dist-cjs/components/Cart/CartState.js +93 -0
  164. package/dist-cjs/components/Cart/CartTotals.js +97 -0
  165. package/dist-cjs/components/Cart/Checkout.js +473 -0
  166. package/dist-cjs/components/Cart/CheckoutSteps.js +15 -0
  167. package/dist-cjs/components/Cart/CouponCodeInput.js +90 -0
  168. package/dist-cjs/components/Cart/CustomerFields.js +80 -0
  169. package/dist-cjs/components/Cart/Download.js +62 -0
  170. package/dist-cjs/components/Cart/EmptyCart.js +42 -0
  171. package/dist-cjs/components/Cart/IdentityBox.js +37 -0
  172. package/dist-cjs/components/Cart/ShareCart.js +87 -0
  173. package/dist-cjs/components/Cart/index.js +36 -0
  174. package/dist-cjs/components/Cart/injectRelayEnvironment.js +21 -0
  175. package/dist-cjs/components/Cart/types.js +5 -0
  176. package/dist-cjs/components/Cart/utils.js +8 -0
  177. package/dist-cjs/components/CartButton/index.js +127 -0
  178. package/dist-cjs/components/CartButton/index.server.js +18 -0
  179. package/dist-cjs/components/CharacterViewer/StyleSelect.js +60 -0
  180. package/dist-cjs/components/CharacterViewer/index.js +441 -0
  181. package/dist-cjs/components/CharacterViewer/index.server.js +36 -0
  182. package/dist-cjs/components/Checkbox/index.js +27 -0
  183. package/dist-cjs/components/CollectionAa/index.js +38 -0
  184. package/dist-cjs/components/ComponentsContext.js +12 -0
  185. package/dist-cjs/components/ConfigContext.js +86 -0
  186. package/{dist-bundle/chunks/consent-DMvR5rEh.js → dist-cjs/components/ConsentBanner/consent.js} +12 -4
  187. package/dist-cjs/components/ConsentBanner/index.js +84 -0
  188. package/dist-cjs/components/CookieNotification/index.js +83 -0
  189. package/{dist-bundle/chunks/CorsErrorModal-C1g_-3Re.js → dist-cjs/components/CorsErrorModal.js} +19 -16
  190. package/dist-cjs/components/CouponText/index.js +38 -0
  191. package/dist-cjs/components/CustomerLoginForm/index.js +88 -0
  192. package/dist-cjs/components/Family/FamilyList.js +43 -0
  193. package/dist-cjs/components/Family/index.js +77 -0
  194. package/dist-cjs/components/FontFamilies/index.js +53 -0
  195. package/dist-cjs/components/FontStyle/index.js +37 -0
  196. package/dist-cjs/components/FontdueProvider/FontdueProviderClientComponent.js +74 -0
  197. package/dist-cjs/components/FontdueProvider/index.js +43 -0
  198. package/dist-cjs/components/FontdueProvider/index.server.js +35 -0
  199. package/dist-cjs/components/FontdueProvider/useAuxUIOwner.js +32 -0
  200. package/dist-cjs/components/Icons/Align.js +58 -0
  201. package/dist-cjs/components/Icons/ArrowDownRight.js +19 -0
  202. package/dist-cjs/components/Icons/ArrowLeft.js +22 -0
  203. package/dist-cjs/components/Icons/ArrowRight.js +19 -0
  204. package/dist-cjs/components/Icons/CarrotDown.js +19 -0
  205. package/dist-cjs/components/Icons/CarrotUp.js +19 -0
  206. package/dist-cjs/components/Icons/Cart.js +23 -0
  207. package/dist-cjs/components/Icons/CartNew.js +33 -0
  208. package/dist-cjs/components/Icons/Check.js +19 -0
  209. package/dist-cjs/components/Icons/Checkbox.js +24 -0
  210. package/dist-cjs/components/Icons/CheckboxChecked.js +24 -0
  211. package/dist-cjs/components/Icons/CheckboxCrossed.js +26 -0
  212. package/dist-cjs/components/Icons/CircledCheck.js +21 -0
  213. package/dist-cjs/components/Icons/CircledInfo.js +21 -0
  214. package/dist-cjs/components/Icons/CircledMinus.js +21 -0
  215. package/dist-cjs/components/Icons/ColorPicker.js +19 -0
  216. package/dist-cjs/components/Icons/CreditCard.js +21 -0
  217. package/dist-cjs/components/Icons/DownArrow.js +24 -0
  218. package/dist-cjs/components/Icons/DownloadFonts.js +25 -0
  219. package/dist-cjs/components/Icons/FrowningFace.js +25 -0
  220. package/dist-cjs/components/Icons/License.js +19 -0
  221. package/dist-cjs/components/Icons/Receipt.js +34 -0
  222. package/dist-cjs/components/Icons/User.js +19 -0
  223. package/dist-cjs/components/Icons/X.js +19 -0
  224. package/dist-cjs/components/Icons/index.js +167 -0
  225. package/dist-cjs/components/NewsletterSignup/NewsletterSignupElement.js +15 -0
  226. package/dist-cjs/components/NewsletterSignup/index.js +192 -0
  227. package/dist-cjs/components/NewsletterSignup/index.server.js +18 -0
  228. package/dist-cjs/components/NodePasswordForm/index.js +114 -0
  229. package/dist-cjs/components/OrderVariableSelection/OrderVariableSelectionRedux.js +66 -0
  230. package/dist-cjs/components/OrderVariableSelection/index.js +199 -0
  231. package/dist-cjs/components/Precart/License.js +70 -0
  232. package/dist-cjs/components/Precart/index.js +331 -0
  233. package/dist-cjs/components/Price/index.js +111 -0
  234. package/dist-cjs/components/PriceBar/PriceBarSection.js +61 -0
  235. package/dist-cjs/components/PriceBar/index.js +49 -0
  236. package/dist-cjs/components/Root/index.js +208 -0
  237. package/dist-cjs/components/Root/productState.js +143 -0
  238. package/dist-cjs/components/SKUPrice/index.js +46 -0
  239. package/dist-cjs/components/Select/index.js +36 -0
  240. package/dist-cjs/components/SelectButton/index.js +79 -0
  241. package/dist-cjs/components/ServerConfigProvider/index.js +39 -0
  242. package/dist-cjs/components/SpecimenLink/index.js +37 -0
  243. package/dist-cjs/components/StickyNav/index.js +80 -0
  244. package/dist-cjs/components/StoreModal/StoreModalBundleButton.js +47 -0
  245. package/dist-cjs/components/StoreModal/StoreModalCart.js +79 -0
  246. package/dist-cjs/components/StoreModal/StoreModalCheckout.js +24 -0
  247. package/dist-cjs/components/StoreModal/StoreModalCheckoutContext.js +14 -0
  248. package/dist-cjs/components/StoreModal/StoreModalContainer.js +117 -0
  249. package/dist-cjs/components/StoreModal/StoreModalDownload.js +38 -0
  250. package/dist-cjs/components/StoreModal/StoreModalFamily.js +58 -0
  251. package/dist-cjs/components/StoreModal/StoreModalFamilyButton.js +69 -0
  252. package/dist-cjs/components/StoreModal/StoreModalIndex.js +27 -0
  253. package/dist-cjs/components/StoreModal/StoreModalIndexItem.js +63 -0
  254. package/dist-cjs/components/StoreModal/StoreModalLicenseeIsBillingSelection.js +30 -0
  255. package/dist-cjs/components/StoreModal/StoreModalLoader.js +22 -0
  256. package/dist-cjs/components/StoreModal/StoreModalOrderVariableSelection.js +89 -0
  257. package/dist-cjs/components/StoreModal/StoreModalProduct.js +154 -0
  258. package/dist-cjs/components/StoreModal/StoreModalReviewIdentity.js +18 -0
  259. package/dist-cjs/components/StoreModal/StoreModalRouter.js +28 -0
  260. package/dist-cjs/components/StoreModal/StoreModalStyleButton.js +52 -0
  261. package/dist-cjs/components/StoreModal/index.js +39 -0
  262. package/dist-cjs/components/StoreModal/routes.js +51 -0
  263. package/dist-cjs/components/StoreModal/types.js +5 -0
  264. package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseElement.js +46 -0
  265. package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseVariableElement.js +35 -0
  266. package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseVariableRadioElement.js +47 -0
  267. package/dist-cjs/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +133 -0
  268. package/dist-cjs/components/StoreModalProductLicenseSelection/index.js +31 -0
  269. package/dist-cjs/components/StoreModalProductSummary/index.js +219 -0
  270. package/dist-cjs/components/StripeLogo.js +17 -0
  271. package/dist-cjs/components/StripeProvider/index.js +172 -0
  272. package/dist-cjs/components/Switch/index.js +7 -0
  273. package/dist-cjs/components/TestFontsForm/TestFontsFormElement.js +15 -0
  274. package/dist-cjs/components/TestFontsForm/index.js +208 -0
  275. package/dist-cjs/components/TestFontsForm/index.server.js +18 -0
  276. package/dist-cjs/components/TestModeBanner/index.js +34 -0
  277. package/dist-cjs/components/TextField/index.js +42 -0
  278. package/dist-cjs/components/ThemeConfig/index.js +41 -0
  279. package/dist-cjs/components/ThemeConfig/index.server.js +17 -0
  280. package/{dist-bundle/chunks/index-DsvF5W13.js → dist-cjs/components/Tracking/index.js} +19 -14
  281. package/dist-cjs/components/TypeTester/TypeTesterAlignButtons.js +34 -0
  282. package/dist-cjs/components/TypeTester/TypeTesterBullet.js +23 -0
  283. package/dist-cjs/components/TypeTester/TypeTesterContent.js +58 -0
  284. package/dist-cjs/components/TypeTester/TypeTesterContext.js +166 -0
  285. package/dist-cjs/components/TypeTester/TypeTesterEditAll.js +36 -0
  286. package/dist-cjs/components/TypeTester/TypeTesterFeatures.js +133 -0
  287. package/dist-cjs/components/TypeTester/TypeTesterFeaturesButton.js +82 -0
  288. package/dist-cjs/components/TypeTester/TypeTesterFitter.js +21 -0
  289. package/dist-cjs/components/TypeTester/TypeTesterFloatingToolbar.js +79 -0
  290. package/dist-cjs/components/TypeTester/TypeTesterInput.js +72 -0
  291. package/dist-cjs/components/TypeTester/TypeTesterSlider.js +76 -0
  292. package/dist-cjs/components/TypeTester/TypeTesterStandalone.js +137 -0
  293. package/dist-cjs/components/TypeTester/TypeTesterStandalone.preload.js +27 -0
  294. package/dist-cjs/components/TypeTester/TypeTesterStandalone.server.js +26 -0
  295. package/dist-cjs/components/TypeTester/TypeTesterStandaloneElement.js +65 -0
  296. package/dist-cjs/components/TypeTester/TypeTesterState.js +133 -0
  297. package/dist-cjs/components/TypeTester/TypeTesterStyleSelect.js +101 -0
  298. package/dist-cjs/components/TypeTester/TypeTesterStyleSelectData.js +102 -0
  299. package/dist-cjs/components/TypeTester/TypeTesterToolbar.js +94 -0
  300. package/dist-cjs/components/TypeTester/TypeTesterVariableAxes.js +65 -0
  301. package/dist-cjs/components/TypeTester/features.js +150 -0
  302. package/dist-cjs/components/TypeTester/index.js +169 -0
  303. package/dist-cjs/components/TypeTester/types.js +14 -0
  304. package/dist-cjs/components/TypeTester/useFeaturesData.js +36 -0
  305. package/dist-cjs/components/TypeTester/useTypeTesterStyler.js +83 -0
  306. package/dist-cjs/components/TypeTesters/TypeTestersElement.js +33 -0
  307. package/dist-cjs/components/TypeTesters/index.js +271 -0
  308. package/dist-cjs/components/TypeTesters/index.server.js +44 -0
  309. package/dist-cjs/components/UrlContext.js +16 -0
  310. package/dist-cjs/components/VariableTableAmounts/index.js +28 -0
  311. package/dist-cjs/components/elements/Button/index.js +21 -0
  312. package/dist-cjs/components/elements/EmptyCart/index.js +30 -0
  313. package/dist-cjs/components/elements/StoreModalCartLayout/index.js +38 -0
  314. package/dist-cjs/components/elements/StoreModalContainer/StoreModalContainerContext.js +11 -0
  315. package/dist-cjs/components/elements/StoreModalContainer/index.js +77 -0
  316. package/dist-cjs/components/elements/StoreModalDownloadLayout/index.js +25 -0
  317. package/dist-cjs/components/elements/StoreModalFamily/index.js +31 -0
  318. package/dist-cjs/components/elements/StoreModalFamilyButton/index.js +45 -0
  319. package/dist-cjs/components/elements/StoreModalIndexItem/index.js +35 -0
  320. package/dist-cjs/components/elements/StoreModalLicenseeIsBillingIdentityElement.js +59 -0
  321. package/dist-cjs/components/elements/StoreModalLoadingScreen/index.js +14 -0
  322. package/dist-cjs/components/elements/StoreModalPageContainer/index.js +22 -0
  323. package/dist-cjs/components/elements/StoreModalStyleButton/index.js +37 -0
  324. package/dist-cjs/components/elements/StoreModalUnifiedCheckout.js +753 -0
  325. package/dist-cjs/components/useConsent.js +26 -0
  326. package/dist-cjs/components/useFont.js +76 -0
  327. package/dist-cjs/components/useFontStyle.js +58 -0
  328. package/dist-cjs/components/useInterval.js +28 -0
  329. package/dist-cjs/components/useTotalStyles.js +26 -0
  330. package/{dist-bundle/index.js → dist-cjs/config.js} +8 -4
  331. package/dist-cjs/corsError.js +89 -0
  332. package/dist-cjs/data/unicodeData.js +1 -0
  333. package/dist-cjs/fontLoader.js +55 -0
  334. package/dist-cjs/global-shim.js +12 -0
  335. package/dist-cjs/hooks/useAutofit.js +114 -0
  336. package/dist-cjs/hooks/useLicenseAndOrderVariables.js +25 -0
  337. package/dist-cjs/hooks/useRefetchOnLicenseChanges.js +60 -0
  338. package/dist-cjs/hooks.js +18 -0
  339. package/dist-cjs/index.js +18 -0
  340. package/dist-cjs/package.json +1 -0
  341. package/dist-cjs/react-ranger.d.js +1 -0
  342. package/dist-cjs/react-ranger.js +301 -0
  343. package/dist-cjs/reducer.js +291 -0
  344. package/dist-cjs/relay/environment.js +148 -0
  345. package/{dist-bundle/TypeTester.preload.js → dist-cjs/relay/loadSerializableQuery.js} +8 -26
  346. package/dist-cjs/relay/useSerializablePreloadedQuery.js +52 -0
  347. package/dist-cjs/retryImport.js +24 -0
  348. package/dist-cjs/scripts/updateUnicodeData.js +49 -0
  349. package/dist-cjs/utils.js +107 -0
  350. package/dist-cjs/vanilla/FontStyle.js +58 -0
  351. package/dist-cjs/vanilla/TruncatedMarkdown.js +28 -0
  352. package/package.json +1 -1
  353. package/dist-bundle/FontdueProvider.js +0 -6
  354. package/dist-bundle/FontdueProvider.js.map +0 -1
  355. package/dist-bundle/TypeTester.js +0 -7
  356. package/dist-bundle/TypeTester.js.map +0 -1
  357. package/dist-bundle/TypeTester.preload.js.map +0 -1
  358. package/dist-bundle/chunks/ComponentsContext-CmkN9J4X.js +0 -20843
  359. package/dist-bundle/chunks/ComponentsContext-CmkN9J4X.js.map +0 -1
  360. package/dist-bundle/chunks/CorsErrorModal-C1g_-3Re.js.map +0 -1
  361. package/dist-bundle/chunks/TypeTesterStandalone-BMWuv8Ca.js +0 -27486
  362. package/dist-bundle/chunks/TypeTesterStandalone-BMWuv8Ca.js.map +0 -1
  363. package/dist-bundle/chunks/consent-DMvR5rEh.js.map +0 -1
  364. package/dist-bundle/chunks/index-BNSbxp7B.js +0 -78
  365. package/dist-bundle/chunks/index-BNSbxp7B.js.map +0 -1
  366. package/dist-bundle/chunks/index-C4ak9qTL.js +0 -423
  367. package/dist-bundle/chunks/index-C4ak9qTL.js.map +0 -1
  368. package/dist-bundle/chunks/index-DsvF5W13.js.map +0 -1
  369. package/dist-bundle/chunks/index-o29NNufd.js.map +0 -1
  370. package/dist-bundle/index.js.map +0 -1
@@ -0,0 +1,331 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _PrecartQuery2 = _interopRequireDefault(require("../../__generated__/PrecartQuery.graphql"));
8
+ var _PrecartAddToCartMutation2 = _interopRequireDefault(require("../../__generated__/PrecartAddToCartMutation.graphql"));
9
+ var _PrecartClearCartMutation2 = _interopRequireDefault(require("../../__generated__/PrecartClearCartMutation.graphql"));
10
+ var _Precart_collection2 = _interopRequireDefault(require("../../__generated__/Precart_collection.graphql"));
11
+ var _Precart_viewer2 = _interopRequireDefault(require("../../__generated__/Precart_viewer.graphql"));
12
+ var _Precart_license2 = _interopRequireDefault(require("../../__generated__/Precart_license.graphql"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _reactRelay = require("react-relay");
15
+ var _reactRedux = require("react-redux");
16
+ var _License = _interopRequireDefault(require("./License"));
17
+ var _Price = require("../Price");
18
+ var _utils = require("../../utils");
19
+ var _ComponentsContext = _interopRequireDefault(require("../ComponentsContext"));
20
+ 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); }
21
+ 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; }
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
+ 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); }
24
+ function skuName(sku) {
25
+ if (sku.product && 'name' in sku.product) return sku.product.name;
26
+ return null;
27
+ }
28
+ const countStyles = ({
29
+ precart
30
+ }) => {
31
+ if (!precart?.skus) return 0;
32
+ return precart.skus.reduce((acc, sku) => {
33
+ if (sku.product?.__typename === 'FontCollection' || sku.product?.__typename === 'Bundle') {
34
+ return acc + (sku.product?.totalStyles ?? 0);
35
+ }
36
+ return acc + 1;
37
+ }, 0);
38
+ };
39
+ const countStylesPrice = ({
40
+ precart
41
+ }) => {
42
+ if (!precart?.skus) return 0;
43
+ return precart.skus.reduce((acc, sku) => {
44
+ if (sku.product?.__typename === 'FontCollection' || sku.product?.__typename === 'Bundle') {
45
+ return acc + (sku.product?.totalStylesPrice?.amount ?? sku.price.amount);
46
+ }
47
+ return acc + sku.price.amount;
48
+ }, 0);
49
+ };
50
+ const calculateBundleDiscounts = viewer => {
51
+ const stylesPrice = countStylesPrice(viewer);
52
+ const subtotal = viewer.precart?.subtotal?.amount ?? 0;
53
+ return subtotal - stylesPrice;
54
+ };
55
+ const specFromLicense = license => {
56
+ let licenseOptionSpec = {
57
+ licenseId: license.id
58
+ };
59
+ if (license.variables) {
60
+ const options = license.variables.reduce((res, variable) => {
61
+ if (variable.options && variable.options.length > 0) {
62
+ res[variable.id] = variable.options[0].id;
63
+ } else {
64
+ // FIXME this is only necessary to submit the variable,
65
+ // since it's required to have a selection for every variable
66
+ res[variable.id] = null;
67
+ }
68
+ return res;
69
+ }, {});
70
+ licenseOptionSpec = {
71
+ ...licenseOptionSpec,
72
+ licenseOptions: options
73
+ };
74
+ }
75
+ return licenseOptionSpec;
76
+ };
77
+ _Precart_license2.default.hash && _Precart_license2.default.hash !== "0a642f10f28ca7d3857db23cf645895a" && console.error("The definition of 'Precart_license' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Precart_license2.default;
78
+ function Precart({
79
+ viewer: viewerKey,
80
+ collection: collectionKey,
81
+ isLoading
82
+ }) {
83
+ const viewer = (0, _reactRelay.useFragment)((_Precart_viewer2.default.hash && _Precart_viewer2.default.hash !== "fe66a5cdbee38cae7bfb11922f945fd5" && console.error("The definition of 'Precart_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Precart_viewer2.default), viewerKey);
84
+ const collection = (0, _reactRelay.useFragment)((_Precart_collection2.default.hash && _Precart_collection2.default.hash !== "dd2c3385a0fc5149dbfa230cfa5e3e99" && console.error("The definition of 'Precart_collection' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Precart_collection2.default), collectionKey);
85
+ const environment = (0, _reactRelay.useRelayEnvironment)();
86
+ const subtotal = viewer?.precart?.subtotal;
87
+ const precartOpen = (0, _reactRedux.useSelector)(state => state.precartOpen);
88
+ const licenseOptions = (0, _reactRedux.useSelector)(state => state.licenseOptions);
89
+ const selectedSkuIds = (0, _reactRedux.useSelector)(state => state.selectedSkuIds);
90
+ const dispatch = (0, _reactRedux.useDispatch)();
91
+ const onPrecartClose = () => dispatch({
92
+ type: 'CLOSE_PRECART'
93
+ });
94
+ const onUnselectSkuIds = () => dispatch({
95
+ type: 'UNSELECT_SKUS'
96
+ });
97
+ const [isConfirming, setIsConfirming] = (0, _react.useState)(false);
98
+ const [error, setError] = (0, _react.useState)(null);
99
+ const clearCart = (0, _react.useCallback)(() => {
100
+ const mutation = (_PrecartClearCartMutation2.default.hash && _PrecartClearCartMutation2.default.hash !== "af8f953028924bdc7866e645c2d0a903" && console.error("The definition of 'PrecartClearCartMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _PrecartClearCartMutation2.default);
101
+ (0, _reactRelay.commitMutation)(environment, {
102
+ mutation,
103
+ variables: {
104
+ input: {
105
+ orderItems: []
106
+ }
107
+ },
108
+ onCompleted: () => {
109
+ setError(null);
110
+ }
111
+ });
112
+ }, [environment]);
113
+ const onSelectLicense = (id, checked) => {
114
+ const license = collection?.licenses?.find(node => node.id === id);
115
+ if (!license) return;
116
+ const licenseOptionSpec = specFromLicense(license);
117
+ dispatch({
118
+ type: 'PRECART_TOGGLE_LICENSE',
119
+ licenseId: id,
120
+ checked,
121
+ licenseOptionSpec
122
+ });
123
+ };
124
+ const onSelectLicenseOption = (licenseId, variableId, optionId) => {
125
+ dispatch({
126
+ type: 'PRECART_SELECT_LICENSE_OPTION',
127
+ licenseId,
128
+ variableId,
129
+ optionId
130
+ });
131
+ };
132
+ const selectedItemsArray = () => Object.keys(selectedSkuIds).filter(id => selectedSkuIds[id] === true);
133
+ const licenseSelectionsArray = () => licenseOptions.reduce((res, {
134
+ licenseId,
135
+ licenseOptions
136
+ }) => {
137
+ const licenseVariableIds = Object.keys(licenseOptions);
138
+ if (licenseVariableIds.length > 0) {
139
+ return res.concat(licenseVariableIds.map(licenseVariableId => ({
140
+ licenseId,
141
+ licenseVariableId,
142
+ licenseOptionId: licenseOptions[licenseVariableId]
143
+ })));
144
+ }
145
+ return res.concat({
146
+ licenseId
147
+ });
148
+ }, []);
149
+ const addToCart = () => {
150
+ const variables = {
151
+ input: {
152
+ skuIds: selectedItemsArray(),
153
+ licenseSelections: licenseSelectionsArray()
154
+ }
155
+ };
156
+ const mutation = (_PrecartAddToCartMutation2.default.hash && _PrecartAddToCartMutation2.default.hash !== "c5ead46ecc07099bee68d4f4f1ecb5bf" && console.error("The definition of 'PrecartAddToCartMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _PrecartAddToCartMutation2.default);
157
+ (0, _reactRelay.commitMutation)(environment, {
158
+ mutation,
159
+ variables,
160
+ onError: err => {
161
+ console.error('Failed:', err);
162
+ setError(err.message || 'An error occurred');
163
+ },
164
+ onCompleted: (res, errors) => {
165
+ if (errors) {
166
+ console.error('Failed:', errors);
167
+ setError(errors[0]?.message || 'An error occurred');
168
+ } else {
169
+ setError(null);
170
+ onUnselectSkuIds();
171
+ }
172
+ }
173
+ });
174
+ };
175
+ const addToCartConfirmed = () => {
176
+ onPrecartClose();
177
+ addToCart();
178
+ deactivateConfirming();
179
+ };
180
+ const clearCartConfirming = () => {
181
+ onPrecartClose();
182
+ onUnselectSkuIds();
183
+ deactivateConfirming();
184
+ };
185
+ const backToBrowse = subtotal => {
186
+ if (subtotal?.amount && licenseOptions?.length > 0) {
187
+ return activateConfirming();
188
+ }
189
+ onUnselectSkuIds();
190
+ return onPrecartClose();
191
+ };
192
+ const activateConfirming = () => {
193
+ setIsConfirming(true);
194
+ };
195
+ const deactivateConfirming = () => {
196
+ setIsConfirming(false);
197
+ };
198
+ (0, _react.useEffect)(() => {
199
+ function setDataAttr() {
200
+ requestAnimationFrame(() => {
201
+ document.body.dataset.precartOpen = `${precartOpen}`;
202
+ });
203
+ }
204
+ setDataAttr();
205
+ }, [precartOpen]);
206
+ (0, _react.useEffect)(() => {
207
+ collection?.licenses?.filter(license => license.defaultSelected).map(specFromLicense).forEach(spec => dispatch({
208
+ type: 'PRECART_SELECT_LICENSE',
209
+ licenseOptionSpec: spec
210
+ }));
211
+ }, []);
212
+ function renderConfirmingModal(subtotal) {
213
+ if (!isConfirming) {
214
+ return null;
215
+ }
216
+ return /*#__PURE__*/_react.default.createElement("div", {
217
+ className: "pre-cart-confirm"
218
+ }, /*#__PURE__*/_react.default.createElement("h2", {
219
+ className: "pre-cart-confirm__header"
220
+ }, "Do you want to add your selection to your cart?"), /*#__PURE__*/_react.default.createElement("div", {
221
+ className: "pre-cart-confirm__buttons"
222
+ }, /*#__PURE__*/_react.default.createElement("button", {
223
+ type: "button",
224
+ className: "pre-cart-confirm__button",
225
+ "data-label": "confirm",
226
+ onClick: addToCartConfirmed
227
+ }, /*#__PURE__*/_react.default.createElement("div", null, "Add selection to cart:", /*#__PURE__*/_react.default.createElement("br", null), "(", viewer.precart?.skus?.map(skuName).join(', '), ")", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_Price.Price, {
228
+ price: subtotal
229
+ }), /*#__PURE__*/_react.default.createElement("span", {
230
+ className: "pre-cart-confirm__button__arrow"
231
+ }, " \u2192"))), /*#__PURE__*/_react.default.createElement("button", {
232
+ type: "button",
233
+ className: "pre-cart-confirm__button",
234
+ "data-label": "clear",
235
+ onClick: clearCartConfirming
236
+ }, "Clear selection")));
237
+ }
238
+ function renderPreCartBottom(subtotal) {
239
+ const licenseSelected = licenseOptions.length > 0;
240
+ if (!subtotal || subtotal.amount === 0) {
241
+ return null;
242
+ }
243
+ const bundleDiscounts = calculateBundleDiscounts(viewer);
244
+ return /*#__PURE__*/_react.default.createElement("div", {
245
+ className: "pre-cart__bottom"
246
+ }, /*#__PURE__*/_react.default.createElement("div", {
247
+ className: "pre-cart__section pre-cart__your-selection"
248
+ }, /*#__PURE__*/_react.default.createElement("h3", {
249
+ className: "pre-cart__your-selection__label"
250
+ }, "Your Selection"), /*#__PURE__*/_react.default.createElement("div", {
251
+ className: "pre-cart__your-selection__items"
252
+ }, /*#__PURE__*/_react.default.createElement("div", {
253
+ className: "pre-cart__your-selection__item"
254
+ }, /*#__PURE__*/_react.default.createElement("div", null, collection?.name, /*#__PURE__*/_react.default.createElement("br", null), (0, _utils.pluralize)(countStyles(viewer), 'font')), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Price.Price, {
255
+ price: {
256
+ amount: countStylesPrice(viewer),
257
+ currency: subtotal.currency
258
+ }
259
+ }))), bundleDiscounts < 0 && /*#__PURE__*/_react.default.createElement("div", {
260
+ className: "pre-cart__your-selection__item"
261
+ }, "Bundle discounts:", /*#__PURE__*/_react.default.createElement(_Price.Price, {
262
+ price: {
263
+ amount: bundleDiscounts,
264
+ currency: subtotal.currency
265
+ }
266
+ })))), licenseSelected ? /*#__PURE__*/_react.default.createElement(_ComponentsContext.default.Consumer, null, components => components.PrecartCta && /*#__PURE__*/_react.default.createElement(components.PrecartCta, {
267
+ onClick: addToCartConfirmed,
268
+ subtotal: subtotal
269
+ })) : /*#__PURE__*/_react.default.createElement("div", {
270
+ className: "pre-cart__cta",
271
+ "data-label": "select-license"
272
+ }, "Please select a license"));
273
+ }
274
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
275
+ className: "pre-cart",
276
+ "data-open": precartOpen,
277
+ "data-loading": isLoading
278
+ }, /*#__PURE__*/_react.default.createElement(_ComponentsContext.default.Consumer, null, components => components.PrecartTopBar && /*#__PURE__*/_react.default.createElement(components.PrecartTopBar, {
279
+ backToBrowse: () => backToBrowse(subtotal)
280
+ })), /*#__PURE__*/_react.default.createElement("div", {
281
+ className: "pre-cart__middle pre-cart__licenses"
282
+ }, /*#__PURE__*/_react.default.createElement("div", {
283
+ className: "pre-cart__section"
284
+ }, /*#__PURE__*/_react.default.createElement("ul", null, collection?.licenses?.map(license => /*#__PURE__*/_react.default.createElement("li", {
285
+ key: license.id
286
+ }, /*#__PURE__*/_react.default.createElement(_License.default, {
287
+ node: license,
288
+ selected: licenseOptions.some(({
289
+ licenseId
290
+ }) => licenseId === license.id),
291
+ onSelectLicense: onSelectLicense,
292
+ onSelectLicenseOption: onSelectLicenseOption
293
+ }))))), selectedItemsArray().length === 0 && /*#__PURE__*/_react.default.createElement("div", {
294
+ className: "pre-cart__section pre-cart__selection-empty"
295
+ }, /*#__PURE__*/_react.default.createElement("span", {
296
+ className: "pre-cart__selection-empty__arrow"
297
+ }, '\u25c0 '), "Start selecting fonts to add to your cart")), renderPreCartBottom(subtotal), error && /*#__PURE__*/_react.default.createElement("div", {
298
+ className: "pre-cart__error"
299
+ }, error, ' ', /*#__PURE__*/_react.default.createElement("button", {
300
+ type: "button",
301
+ onClick: clearCart,
302
+ className: "pre-cart__error-button"
303
+ }, "Empty cart and try again")), renderConfirmingModal(subtotal)));
304
+ }
305
+ function PrecartQueryRenderer({
306
+ collectionId,
307
+ ...rest
308
+ }) {
309
+ const selectedSkuIdsObject = (0, _reactRedux.useSelector)(state => state.selectedSkuIds);
310
+ const selectedSkuIds = Object.keys(selectedSkuIdsObject).filter(id => selectedSkuIdsObject[id] === true);
311
+ const deferredSelectedSkuIds = (0, _react.useDeferredValue)(selectedSkuIds);
312
+ const licenseOptions = (0, _reactRedux.useSelector)(state => state.licenseOptions);
313
+ const licenseOptionsSpecs = licenseOptions.map(spec => ({
314
+ licenseId: spec.licenseId,
315
+ licenseOptionIds: Object.values(spec.licenseOptions).filter(Boolean)
316
+ }));
317
+
318
+ // useDeferredValue allows us to show the stale data instead of falling back
319
+ // to the Suspense fallback in the parent, basically unmounting everything
320
+ const deferredLicenseOptionsSpecs = (0, _react.useDeferredValue)(licenseOptionsSpecs);
321
+ const data = (0, _reactRelay.useLazyLoadQuery)((_PrecartQuery2.default.hash && _PrecartQuery2.default.hash !== "517fbe407b2c13334c4101126038982d" && console.error("The definition of 'PrecartQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _PrecartQuery2.default), {
322
+ licenseOptionsSpecs: deferredLicenseOptionsSpecs,
323
+ selectedSkuIds: deferredSelectedSkuIds,
324
+ collectionId
325
+ });
326
+ return /*#__PURE__*/_react.default.createElement(Precart, _extends({}, data, rest, {
327
+ isLoading: licenseOptionsSpecs !== deferredLicenseOptionsSpecs || selectedSkuIds !== deferredSelectedSkuIds
328
+ }));
329
+ }
330
+ var _default = PrecartQueryRenderer;
331
+ exports.default = _default;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Price = Price;
7
+ exports.default = exports.PriceFormat = void 0;
8
+ var _Price_price2 = _interopRequireDefault(require("../../__generated__/Price_price.graphql"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _reactRelay = require("react-relay");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
+ let PriceFormat;
14
+ exports.PriceFormat = PriceFormat;
15
+ (function (PriceFormat) {
16
+ PriceFormat["Default"] = "default";
17
+ PriceFormat["Truncated"] = "truncated";
18
+ })(PriceFormat || (exports.PriceFormat = PriceFormat = {}));
19
+ const currencySymbols = {
20
+ USD: '$',
21
+ AUD: '$',
22
+ CAD: '$',
23
+ EUR: '€',
24
+ GBP: '£',
25
+ JPY: '¥',
26
+ INR: '₹',
27
+ BRL: 'R$',
28
+ CHF: 'CHF '
29
+ };
30
+ const formatMoney = (priceInCents, format, currency) => {
31
+ let value = priceInCents / 100;
32
+ let precision = format === PriceFormat.Truncated ? 0 : 2;
33
+ if (currency === 'JPY') {
34
+ // always show yen as "cents" without any fraction
35
+ value = priceInCents;
36
+ precision = 0;
37
+ }
38
+ try {
39
+ const formatter = new window.Intl.NumberFormat(window.navigator.language, {
40
+ style: 'currency',
41
+ currency,
42
+ currencyDisplay: 'symbol',
43
+ minimumFractionDigits: precision
44
+ });
45
+ return formatter.format(value);
46
+ } catch (e) {
47
+ // fallback for browsers without support for Intl.NumberFormat
48
+ const symbol = currencySymbols[currency] ?? '';
49
+ return `${symbol}${value.toFixed(precision)}`;
50
+ }
51
+ };
52
+ const calculateAmount = ({
53
+ amount,
54
+ invert,
55
+ subtractFrom,
56
+ multiplier
57
+ }) => {
58
+ let subtracted = amount;
59
+ if (subtractFrom) {
60
+ subtracted = subtractFrom - amount;
61
+ }
62
+ if (invert) {
63
+ return subtracted * -1 * multiplier;
64
+ }
65
+ return subtracted * multiplier;
66
+ };
67
+ function Price({
68
+ price,
69
+ format = PriceFormat.Default,
70
+ invert = false,
71
+ // multiply by -1
72
+ subtractFrom,
73
+ // amount to subtract from
74
+ multiplier = 1,
75
+ // multiply the result amount?
76
+ isLoading = false,
77
+ ...rest
78
+ }) {
79
+ let priceBeforeDiscount = null;
80
+ let priceFormatted = '-';
81
+ if (price) {
82
+ priceFormatted = formatMoney(calculateAmount({
83
+ amount: price.amount,
84
+ subtractFrom: subtractFrom?.amount,
85
+ invert,
86
+ multiplier
87
+ }), format, price.currency);
88
+ priceBeforeDiscount = formatMoney(calculateAmount({
89
+ amount: price.amount,
90
+ subtractFrom: subtractFrom?.amount,
91
+ invert,
92
+ multiplier: 1
93
+ }), format, price.currency);
94
+ }
95
+ return /*#__PURE__*/_react.default.createElement("span", _extends({
96
+ className: "price"
97
+ }, rest, {
98
+ "data-loading": isLoading
99
+ }), priceFormatted !== priceBeforeDiscount ? '+' : null, priceFormatted);
100
+ }
101
+ function RelayPrice({
102
+ price: priceKey,
103
+ ...rest
104
+ }) {
105
+ const price = (0, _reactRelay.useFragment)((_Price_price2.default.hash && _Price_price2.default.hash !== "7d3425945fe5f6df382005630e30ce86" && console.error("The definition of 'Price_price' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Price_price2.default), priceKey);
106
+ return /*#__PURE__*/_react.default.createElement(Price, _extends({
107
+ price: price
108
+ }, rest));
109
+ }
110
+ var _default = RelayPrice;
111
+ exports.default = _default;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _PriceBarSection_node2 = _interopRequireDefault(require("../../__generated__/PriceBarSection_node.graphql"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactRelay = require("react-relay");
10
+ var _reactRedux = require("react-redux");
11
+ var _Price = _interopRequireWildcard(require("../Price"));
12
+ var _SelectButton = _interopRequireDefault(require("../SelectButton"));
13
+ var _utils = require("../../utils");
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 }; }
17
+ function PriceBarSection({
18
+ node: nodeKey
19
+ }) {
20
+ const node = (0, _reactRelay.useFragment)((_PriceBarSection_node2.default.hash && _PriceBarSection_node2.default.hash !== "f7d785b4599958bb699c2a706ab763cc" && console.error("The definition of 'PriceBarSection_node' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _PriceBarSection_node2.default), nodeKey);
21
+ const selected = (0, _reactRedux.useSelector)((0, _utils.isSelected)(node.sku?.id ?? null));
22
+ const dispatch = (0, _reactRedux.useDispatch)();
23
+ const onSelectSkuId = (skuId, selected) => {
24
+ if (!skuId) return;
25
+ dispatch({
26
+ type: 'SELECT_SKU_ID',
27
+ skuId,
28
+ selected
29
+ });
30
+ };
31
+ return /*#__PURE__*/_react.default.createElement("div", {
32
+ className: "select-button-hover-parent select-button-click-parent price-bar-section",
33
+ "data-type": node.collectionType,
34
+ "data-selected": selected
35
+ }, /*#__PURE__*/_react.default.createElement("button", {
36
+ className: "price-bar-section__button",
37
+ type: "button",
38
+ onClick: () => onSelectSkuId(node.sku?.id, !selected)
39
+ }), /*#__PURE__*/_react.default.createElement("div", {
40
+ className: "price-bar-section__name"
41
+ }, /*#__PURE__*/_react.default.createElement("span", null, node.name, " ", node.collectionType), "\xA0", /*#__PURE__*/_react.default.createElement("span", {
42
+ className: "price-bar-section__name__styles"
43
+ }, "(", node.totalStyles, " styles)")), /*#__PURE__*/_react.default.createElement("div", {
44
+ className: "price-bar-section__price"
45
+ }, !selected && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
46
+ className: "price-bar-section__price__full"
47
+ }, /*#__PURE__*/_react.default.createElement(_Price.default, {
48
+ price: node.totalStylesPrice,
49
+ format: _Price.PriceFormat.Truncated
50
+ })), "\xA0", /*#__PURE__*/_react.default.createElement("div", null, node.sku && node.sku.priceWithLicenseOptions && /*#__PURE__*/_react.default.createElement(_Price.default, {
51
+ price: node.sku.priceWithLicenseOptions,
52
+ format: _Price.PriceFormat.Truncated
53
+ })))), node.sku && /*#__PURE__*/_react.default.createElement("div", {
54
+ className: "price-bar-section__select-button"
55
+ }, /*#__PURE__*/_react.default.createElement(_SelectButton.default, {
56
+ sku: node.sku,
57
+ productId: node.sku.id
58
+ })));
59
+ }
60
+ var _default = PriceBarSection;
61
+ exports.default = _default;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _PriceBar_node2 = _interopRequireDefault(require("../../__generated__/PriceBar_node.graphql"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactRelay = require("react-relay");
10
+ var _PriceBarSection = _interopRequireDefault(require("./PriceBarSection"));
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
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function PriceBar({
15
+ node: nodeKey
16
+ }) {
17
+ const node = (0, _reactRelay.useFragment)((_PriceBar_node2.default.hash && _PriceBar_node2.default.hash !== "60c5de3c786db43860478f1b0e00f3df" && console.error("The definition of 'PriceBar_node' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _PriceBar_node2.default), nodeKey);
18
+ const [visible, setVisible] = (0, _react.useState)(false);
19
+ const $pricebar = (0, _react.useRef)(null);
20
+ (0, _react.useEffect)(() => {
21
+ function onScroll() {
22
+ if (!$pricebar.current) return;
23
+ if ($pricebar.current.getBoundingClientRect().top === 0) {
24
+ return setVisible(true);
25
+ }
26
+ return setVisible(false);
27
+ }
28
+ window.addEventListener('scroll', onScroll);
29
+ window.addEventListener('resize', onScroll);
30
+ return () => {
31
+ window.removeEventListener('scroll', onScroll);
32
+ window.removeEventListener('resize', onScroll);
33
+ };
34
+ }, [setVisible, $pricebar]);
35
+ if (!node) return null;
36
+ return /*#__PURE__*/_react.default.createElement("div", {
37
+ className: "price-bar",
38
+ ref: $pricebar,
39
+ "data-visible": visible
40
+ }, /*#__PURE__*/_react.default.createElement("div", {
41
+ className: "price-bar__wrapper"
42
+ }, node.parent && /*#__PURE__*/_react.default.createElement(_PriceBarSection.default, {
43
+ node: node.parent
44
+ }), /*#__PURE__*/_react.default.createElement(_PriceBarSection.default, {
45
+ node: node
46
+ })));
47
+ }
48
+ var _default = PriceBar;
49
+ exports.default = _default;