fontdue-js 2.22.3 → 3.0.0-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc.cjs +72 -0
- package/CHANGELOG.md +4 -0
- package/dist/__generated__/AddToCartBannerQuery.graphql.js +1 -8
- package/dist/__generated__/AddToCartBanner_item.graphql.js +1 -8
- package/dist/__generated__/AddToCartBanner_order.graphql.js +1 -8
- package/dist/__generated__/AddressFieldsRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/AddressFields_viewer.graphql.js +3 -11
- package/dist/__generated__/BuyButtonIDQuery.graphql.js +1 -8
- package/dist/__generated__/BuyButtonSlugQuery.graphql.js +1 -8
- package/dist/__generated__/BuyButton_collection.graphql.js +1 -8
- package/dist/__generated__/CartButtonQuery.graphql.js +1 -8
- package/dist/__generated__/CartButton_order.graphql.js +1 -8
- package/dist/__generated__/CartItemAdditionalLicenses_licenses.graphql.js +1 -8
- package/dist/__generated__/CartItemAdditionalLicenses_orderItem.graphql.js +1 -8
- package/dist/__generated__/CartItemLicense_selection.graphql.js +1 -8
- package/dist/__generated__/CartItemProduct_product.graphql.js +1 -8
- package/dist/__generated__/CartItemVariable_selection.graphql.js +1 -8
- package/dist/__generated__/CartItemVariable_variable.graphql.js +1 -8
- package/dist/__generated__/CartItem_node.graphql.js +1 -8
- package/dist/__generated__/CartOrderCompleteOrderMutation.graphql.js +1 -8
- package/dist/__generated__/CartOrderRemoveDiscountMutation.graphql.js +1 -8
- package/dist/__generated__/CartOrderUpdateMutation.graphql.js +1 -8
- package/dist/__generated__/CartOrder_UpdateErrors.graphql.js +1 -8
- package/dist/__generated__/CartOrder_order.graphql.js +1 -8
- package/dist/__generated__/CartOrder_viewer.graphql.js +1 -8
- package/dist/__generated__/CartQuery.graphql.js +1 -8
- package/dist/__generated__/CartStateRemoveDiscountMutation.graphql.js +1 -8
- package/dist/__generated__/CartStateUpdateMutation.graphql.js +1 -8
- package/dist/__generated__/CartState_order.graphql.js +1 -8
- package/dist/__generated__/CartTotals_order.graphql.js +1 -8
- package/dist/__generated__/CharacterViewerIDQuery.graphql.js +1 -8
- package/dist/__generated__/CharacterViewerSlugQuery.graphql.js +1 -8
- package/dist/__generated__/CharacterViewerStyleRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/CharacterViewer_collection.graphql.js +1 -8
- package/dist/__generated__/CharacterViewer_family.graphql.js +1 -8
- package/dist/__generated__/CharacterViewer_style.graphql.js +3 -11
- package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.js +1 -8
- package/dist/__generated__/CheckoutUpdateOrderMutation.graphql.js +1 -8
- package/dist/__generated__/Checkout_UpdateOrderErrors.graphql.js +1 -8
- package/dist/__generated__/Checkout_identity.graphql.js +1 -8
- package/dist/__generated__/Checkout_order.graphql.js +1 -8
- package/dist/__generated__/Checkout_viewer.graphql.js +1 -8
- package/dist/__generated__/CollectionAa_Query.graphql.js +1 -8
- package/dist/__generated__/CollectionAa_product.graphql.js +1 -8
- package/dist/__generated__/CouponCodeInputApplyCouponMutation.graphql.js +1 -8
- package/dist/__generated__/CouponText_coupon.graphql.js +1 -8
- package/dist/__generated__/CustomerLoginFormLoginMutation.graphql.js +1 -8
- package/dist/__generated__/CustomerLoginFormQuery.graphql.js +1 -8
- package/dist/__generated__/DownloadRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/Download_order.graphql.js +1 -8
- package/dist/__generated__/FamilyList_node.graphql.js +1 -8
- package/dist/__generated__/Family_node.graphql.js +1 -8
- package/dist/__generated__/FontFamiliesQuery.graphql.js +1 -8
- package/dist/__generated__/FontStyle_fontStyle.graphql.js +1 -8
- package/dist/__generated__/IdentityBox_identity.graphql.js +1 -8
- package/dist/__generated__/License_node.graphql.js +1 -8
- package/dist/__generated__/NewsletterSignupQuery.graphql.js +1 -8
- package/dist/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +1 -8
- package/dist/__generated__/NodePasswordFormAccessNodeMutation.graphql.js +1 -8
- package/dist/__generated__/NodePasswordFormIDQuery.graphql.js +1 -8
- package/dist/__generated__/NodePasswordFormSlugQuery.graphql.js +1 -8
- package/dist/__generated__/OrderVariableSelectionReduxRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/OrderVariableSelectionRedux_viewer.graphql.js +3 -11
- package/dist/__generated__/OrderVariableSelection_variables.graphql.js +1 -8
- package/dist/__generated__/PrecartAddToCartMutation.graphql.js +1 -8
- package/dist/__generated__/PrecartClearCartMutation.graphql.js +1 -8
- package/dist/__generated__/PrecartQuery.graphql.js +1 -8
- package/dist/__generated__/Precart_collection.graphql.js +1 -8
- package/dist/__generated__/Precart_license.graphql.js +1 -8
- package/dist/__generated__/Precart_viewer.graphql.js +1 -8
- package/dist/__generated__/PriceBarSectionRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/PriceBarSection_node.graphql.js +3 -11
- package/dist/__generated__/PriceBar_node.graphql.js +1 -8
- package/dist/__generated__/Price_price.graphql.js +1 -8
- package/dist/__generated__/SKUPrice_sku.graphql.js +1 -8
- package/dist/__generated__/SelectButton_sku.graphql.js +1 -8
- package/dist/__generated__/ServerConfigProviderQuery.graphql.js +1 -8
- package/dist/__generated__/ShareCartCreateSnapshotMutation.graphql.js +1 -8
- package/dist/__generated__/SpecimenLinkQuery.graphql.js +1 -8
- package/dist/__generated__/StoreModalBundleButton_bundle.graphql.js +1 -8
- package/dist/__generated__/StoreModalCartQuery.graphql.js +1 -8
- package/dist/__generated__/StoreModalCheckoutQuery.graphql.js +1 -8
- package/dist/__generated__/StoreModalContainerQuery.graphql.js +1 -8
- package/dist/__generated__/StoreModalDownloadRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/StoreModalDownload_order.graphql.js +1 -8
- package/dist/__generated__/StoreModalFamilyButton_collection.graphql.js +1 -8
- package/dist/__generated__/StoreModalFamily_collection.graphql.js +1 -8
- package/dist/__generated__/StoreModalIndexItem_fontCollection.graphql.js +1 -8
- package/dist/__generated__/StoreModalIndexQuery.graphql.d.ts +1 -1
- package/dist/__generated__/StoreModalIndexQuery.graphql.js +6 -13
- package/dist/__generated__/StoreModalOrderVariableSelection_order.graphql.js +1 -8
- package/dist/__generated__/StoreModalOrderVariableSelection_viewer.graphql.js +1 -8
- package/dist/__generated__/StoreModalProductContent_collection.graphql.js +3 -11
- package/dist/__generated__/StoreModalProductLicenseSelection_collection.graphql.js +1 -8
- package/dist/__generated__/StoreModalProductLicense_license.graphql.js +1 -8
- package/dist/__generated__/StoreModalProductQuery.graphql.js +1 -8
- package/dist/__generated__/StoreModalProductRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/StoreModalProductSummaryAddToCartMutation.graphql.js +1 -8
- package/dist/__generated__/StoreModalProductSummaryClearCartMutation.graphql.js +1 -8
- package/dist/__generated__/StoreModalProductSummaryRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/StoreModalProductSummary_viewer.graphql.js +3 -11
- package/dist/__generated__/StoreModalReviewIdentity_identity.graphql.js +1 -8
- package/dist/__generated__/StoreModalStyleButton_fontStyle.graphql.js +1 -8
- package/dist/__generated__/StoreModalUnifiedCheckoutCompleteOrderMutation.graphql.js +1 -8
- package/dist/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js +1 -8
- package/dist/__generated__/StoreModalUnifiedCheckoutUpdateOrderMutation.graphql.js +1 -8
- package/dist/__generated__/StoreModalUnifiedCheckout_order.graphql.js +1 -8
- package/dist/__generated__/StoreModalUnifiedCheckout_viewer.graphql.js +1 -8
- package/dist/__generated__/StripeProviderCreateCheckoutSessionMutation.graphql.js +1 -8
- package/dist/__generated__/StripeProvider_viewer.graphql.js +1 -8
- package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +1 -8
- package/dist/__generated__/TestFontsForm_Query.graphql.js +1 -8
- package/dist/__generated__/TestModeBannerQuery.graphql.js +1 -8
- package/dist/__generated__/ThemeConfigQuery.graphql.js +1 -8
- package/dist/__generated__/TypeTesterFeaturesButton_fontStyle.graphql.js +1 -8
- package/dist/__generated__/TypeTesterFeatures_fontStyle.graphql.js +1 -8
- package/dist/__generated__/TypeTesterFloatingToolbar_testers.graphql.js +1 -8
- package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +1 -8
- package/dist/__generated__/TypeTesterStandaloneQuery.graphql.js +1 -8
- package/dist/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.js +1 -8
- package/dist/__generated__/TypeTesterStyleSelectData_fontStyleData.graphql.js +1 -8
- package/dist/__generated__/TypeTesterStyleSelectData_viewer.graphql.js +1 -8
- package/dist/__generated__/TypeTesterToolbar_fontStyle.graphql.js +1 -8
- package/dist/__generated__/TypeTesterVariableAxes_fontStyle.graphql.js +1 -8
- package/dist/__generated__/TypeTester_fontStyle.graphql.js +1 -8
- package/dist/__generated__/TypeTester_viewer.graphql.js +1 -8
- package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.js +1 -8
- package/dist/__generated__/TypeTestersIDQuery.graphql.js +1 -8
- package/dist/__generated__/TypeTestersRefetchQuery.graphql.js +1 -8
- package/dist/__generated__/TypeTestersSlugQuery.graphql.js +1 -8
- package/dist/__generated__/TypeTesters_collection.graphql.js +3 -11
- package/dist/__generated__/TypeTesters_viewer.graphql.js +1 -8
- package/dist/__generated__/VariableTableAmounts_option.graphql.js +1 -8
- package/dist/__generated__/VariableTableAmounts_variable.graphql.js +1 -8
- package/dist/__generated__/productState_Query.graphql.js +1 -8
- package/dist/__generated__/productState_bundle.graphql.js +1 -8
- package/dist/__generated__/productState_collection.graphql.js +1 -8
- package/dist/__generated__/productState_collectionBundle.graphql.js +1 -8
- package/dist/__generated__/productState_node.graphql.js +1 -8
- package/dist/__generated__/productState_sku.graphql.js +1 -8
- package/dist/__generated__/useFeaturesData_fontStyle.graphql.js +1 -8
- package/dist/__generated__/useFontStyle_fontStyle.graphql.js +1 -8
- package/dist/__generated__/useTotalStyles_fontCollection.graphql.js +1 -8
- package/dist/__tests__/collectionBundleSelection.test.js +221 -222
- package/dist/components/AddToCartBanner/index.js +19 -29
- package/dist/components/BuyButton/index.d.ts +3 -3
- package/dist/components/BuyButton/index.js +36 -46
- package/dist/components/BuyButton/index.server.d.ts +1 -1
- package/dist/components/BuyButton/index.server.js +10 -17
- package/dist/components/BuyingOptions/index.js +4 -12
- package/dist/components/Cart/AddressFields.d.ts +2 -2
- package/dist/components/Cart/AddressFields.js +25 -35
- package/dist/components/Cart/CartItem/CartItemAdditionalLicenses.d.ts +2 -2
- package/dist/components/Cart/CartItem/CartItemAdditionalLicenses.js +9 -16
- package/dist/components/Cart/CartItem/CartItemLicense.d.ts +2 -2
- package/dist/components/Cart/CartItem/CartItemLicense.js +15 -24
- package/dist/components/Cart/CartItem/CartItemProduct.d.ts +1 -1
- package/dist/components/Cart/CartItem/CartItemProduct.js +16 -23
- package/dist/components/Cart/CartItem/CartItemVariable.d.ts +3 -3
- package/dist/components/Cart/CartItem/CartItemVariable.js +16 -23
- package/dist/components/Cart/CartItem/VariableTextInput.js +13 -21
- package/dist/components/Cart/CartItem/index.d.ts +2 -2
- package/dist/components/Cart/CartItem/index.js +18 -27
- package/dist/components/Cart/CartOrder.d.ts +2 -2
- package/dist/components/Cart/CartOrder.js +99 -110
- package/dist/components/Cart/CartState.d.ts +3 -3
- package/dist/components/Cart/CartState.js +18 -25
- package/dist/components/Cart/CartTotals.d.ts +1 -1
- package/dist/components/Cart/CartTotals.js +31 -38
- package/dist/components/Cart/Checkout.d.ts +3 -3
- package/dist/components/Cart/Checkout.js +109 -118
- package/dist/components/Cart/CheckoutSteps.js +1 -8
- package/dist/components/Cart/CouponCodeInput.js +22 -32
- package/dist/components/Cart/CustomerFields.d.ts +1 -1
- package/dist/components/Cart/CustomerFields.js +21 -31
- package/dist/components/Cart/Download.d.ts +1 -1
- package/dist/components/Cart/Download.js +17 -27
- package/dist/components/Cart/EmptyCart.js +15 -23
- package/dist/components/Cart/IdentityBox.d.ts +1 -1
- package/dist/components/Cart/IdentityBox.js +12 -19
- package/dist/components/Cart/ShareCart.js +24 -32
- package/dist/components/Cart/index.js +13 -21
- package/dist/components/Cart/injectRelayEnvironment.js +5 -13
- package/dist/components/Cart/types.d.ts +1 -1
- package/dist/components/Cart/types.js +1 -5
- package/dist/components/Cart/utils.js +2 -9
- package/dist/components/CartButton/index.d.ts +2 -2
- package/dist/components/CartButton/index.js +29 -38
- package/dist/components/CartButton/index.server.d.ts +1 -1
- package/dist/components/CartButton/index.server.js +7 -14
- package/dist/components/CharacterViewer/StyleSelect.d.ts +1 -1
- package/dist/components/CharacterViewer/StyleSelect.js +10 -17
- package/dist/components/CharacterViewer/index.d.ts +3 -3
- package/dist/components/CharacterViewer/index.js +79 -89
- package/dist/components/CharacterViewer/index.server.d.ts +1 -1
- package/dist/components/CharacterViewer/index.server.js +10 -17
- package/dist/components/Checkbox/index.js +9 -19
- package/dist/components/CollectionAa/index.d.ts +1 -1
- package/dist/components/CollectionAa/index.js +12 -21
- package/dist/components/ComponentsContext.d.ts +1 -1
- package/dist/components/ComponentsContext.js +4 -10
- package/dist/components/ConfigContext.d.ts +12 -12
- package/dist/components/ConfigContext.js +4 -11
- package/dist/components/ConsentBanner/consent.js +6 -17
- package/dist/components/ConsentBanner/index.js +19 -29
- package/dist/components/CookieNotification/index.js +19 -27
- package/dist/components/CorsErrorModal.js +13 -20
- package/dist/components/CouponText/index.d.ts +1 -1
- package/dist/components/CouponText/index.js +9 -18
- package/dist/components/CustomerLoginForm/index.js +23 -32
- package/dist/components/Family/FamilyList.d.ts +1 -1
- package/dist/components/Family/FamilyList.js +10 -17
- package/dist/components/Family/index.d.ts +1 -1
- package/dist/components/Family/index.js +37 -46
- package/dist/components/FontFamilies/index.js +18 -28
- package/dist/components/FontStyle/index.d.ts +1 -1
- package/dist/components/FontStyle/index.js +8 -15
- package/dist/components/FontdueProvider/FontdueProviderClientComponent.d.ts +6 -4
- package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +48 -39
- package/dist/components/FontdueProvider/index.d.ts +2 -2
- package/dist/components/FontdueProvider/index.js +32 -15
- package/dist/components/FontdueProvider/index.server.d.ts +2 -2
- package/dist/components/FontdueProvider/index.server.js +24 -22
- package/dist/components/Icons/Align.js +13 -22
- package/dist/components/Icons/ArrowDownRight.js +5 -13
- package/dist/components/Icons/ArrowLeft.js +5 -13
- package/dist/components/Icons/ArrowRight.js +5 -13
- package/dist/components/Icons/CarrotDown.js +5 -13
- package/dist/components/Icons/CarrotUp.js +5 -13
- package/dist/components/Icons/Cart.js +7 -15
- package/dist/components/Icons/CartNew.js +7 -15
- package/dist/components/Icons/Check.js +5 -13
- package/dist/components/Icons/Checkbox.js +5 -13
- package/dist/components/Icons/CheckboxChecked.js +5 -13
- package/dist/components/Icons/CheckboxCrossed.js +6 -14
- package/dist/components/Icons/CircledCheck.js +6 -14
- package/dist/components/Icons/CircledInfo.js +6 -14
- package/dist/components/Icons/CircledMinus.js +6 -14
- package/dist/components/Icons/ColorPicker.js +5 -13
- package/dist/components/Icons/CreditCard.js +6 -14
- package/dist/components/Icons/DownArrow.js +5 -13
- package/dist/components/Icons/DownloadFonts.js +8 -16
- package/dist/components/Icons/FrowningFace.js +8 -16
- package/dist/components/Icons/License.js +5 -13
- package/dist/components/Icons/Receipt.js +8 -16
- package/dist/components/Icons/User.js +5 -13
- package/dist/components/Icons/X.js +5 -13
- package/dist/components/Icons/index.d.ts +23 -23
- package/dist/components/Icons/index.js +23 -167
- package/dist/components/NewsletterSignup/NewsletterSignupElement.d.ts +1 -1
- package/dist/components/NewsletterSignup/NewsletterSignupElement.js +4 -11
- package/dist/components/NewsletterSignup/index.d.ts +2 -2
- package/dist/components/NewsletterSignup/index.js +51 -60
- package/dist/components/NewsletterSignup/index.server.d.ts +1 -1
- package/dist/components/NewsletterSignup/index.server.js +7 -14
- package/dist/components/NodePasswordForm/index.js +25 -33
- package/dist/components/OrderVariableSelection/OrderVariableSelectionRedux.d.ts +1 -1
- package/dist/components/OrderVariableSelection/OrderVariableSelectionRedux.js +18 -27
- package/dist/components/OrderVariableSelection/index.d.ts +1 -1
- package/dist/components/OrderVariableSelection/index.js +28 -36
- package/dist/components/Precart/License.d.ts +1 -1
- package/dist/components/Precart/License.js +22 -30
- package/dist/components/Precart/index.js +64 -74
- package/dist/components/Price/index.d.ts +1 -1
- package/dist/components/Price/index.js +10 -20
- package/dist/components/PriceBar/PriceBarSection.d.ts +1 -1
- package/dist/components/PriceBar/PriceBarSection.js +23 -33
- package/dist/components/PriceBar/index.d.ts +1 -1
- package/dist/components/PriceBar/index.js +13 -23
- package/dist/components/Root/index.d.ts +1 -1
- package/dist/components/Root/index.js +41 -51
- package/dist/components/Root/productState.d.ts +1 -1
- package/dist/components/Root/productState.js +20 -29
- package/dist/components/SKUPrice/index.d.ts +2 -2
- package/dist/components/SKUPrice/index.js +12 -20
- package/dist/components/Select/index.js +9 -17
- package/dist/components/SelectButton/index.d.ts +2 -2
- package/dist/components/SelectButton/index.js +20 -29
- package/dist/components/ServerConfigProvider/index.d.ts +1 -1
- package/dist/components/ServerConfigProvider/index.js +9 -18
- package/dist/components/SpecimenLink/index.js +12 -20
- package/dist/components/StickyNav/index.js +16 -26
- package/dist/components/StoreModal/StoreModalBundleButton.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalBundleButton.js +16 -23
- package/dist/components/StoreModal/StoreModalCart.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalCart.js +29 -38
- package/dist/components/StoreModal/StoreModalCheckout.js +9 -17
- package/dist/components/StoreModal/StoreModalCheckoutContext.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalCheckoutContext.js +6 -12
- package/dist/components/StoreModal/StoreModalContainer.js +25 -35
- package/dist/components/StoreModal/StoreModalDownload.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalDownload.js +14 -24
- package/dist/components/StoreModal/StoreModalFamily.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalFamily.js +14 -23
- package/dist/components/StoreModal/StoreModalFamilyButton.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalFamilyButton.js +23 -30
- package/dist/components/StoreModal/StoreModalIndex.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalIndex.js +9 -17
- package/dist/components/StoreModal/StoreModalIndexItem.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalIndexItem.js +20 -30
- package/dist/components/StoreModal/StoreModalLicenseeIsBillingSelection.js +8 -17
- package/dist/components/StoreModal/StoreModalLoader.js +6 -15
- package/dist/components/StoreModal/StoreModalOrderVariableSelection.d.ts +3 -3
- package/dist/components/StoreModal/StoreModalOrderVariableSelection.js +12 -21
- package/dist/components/StoreModal/StoreModalProduct.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalProduct.js +51 -61
- package/dist/components/StoreModal/StoreModalReviewIdentity.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalReviewIdentity.js +6 -15
- package/dist/components/StoreModal/StoreModalRouter.js +12 -22
- package/dist/components/StoreModal/StoreModalStyleButton.d.ts +1 -1
- package/dist/components/StoreModal/StoreModalStyleButton.js +20 -27
- package/dist/components/StoreModal/index.js +10 -19
- package/dist/components/StoreModal/routes.d.ts +4 -4
- package/dist/components/StoreModal/routes.js +18 -26
- package/dist/components/StoreModal/types.js +1 -5
- package/dist/components/StoreModalProductLicenseSelection/LicenseElement.js +12 -22
- package/dist/components/StoreModalProductLicenseSelection/LicenseVariableElement.js +7 -15
- package/dist/components/StoreModalProductLicenseSelection/LicenseVariableRadioElement.js +9 -19
- package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.d.ts +1 -1
- package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +19 -28
- package/dist/components/StoreModalProductLicenseSelection/index.d.ts +1 -1
- package/dist/components/StoreModalProductLicenseSelection/index.js +10 -17
- package/dist/components/StoreModalProductSummary/index.d.ts +1 -1
- package/dist/components/StoreModalProductSummary/index.js +45 -55
- package/dist/components/StripeLogo.js +4 -11
- package/dist/components/StripeProvider/index.d.ts +1 -1
- package/dist/components/StripeProvider/index.js +19 -29
- package/dist/components/Switch/index.js +1 -7
- package/dist/components/TestFontsForm/TestFontsFormElement.js +4 -12
- package/dist/components/TestFontsForm/index.d.ts +2 -2
- package/dist/components/TestFontsForm/index.js +56 -65
- package/dist/components/TestFontsForm/index.server.d.ts +1 -1
- package/dist/components/TestFontsForm/index.server.js +7 -14
- package/dist/components/TestModeBanner/index.js +10 -16
- package/dist/components/TextField/index.js +9 -17
- package/dist/components/ThemeConfig/index.d.ts +2 -2
- package/dist/components/ThemeConfig/index.js +14 -20
- package/dist/components/ThemeConfig/index.server.js +7 -14
- package/dist/components/Tracking/index.js +11 -18
- package/dist/components/TypeTester/TypeTesterAlignButtons.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterAlignButtons.js +8 -16
- package/dist/components/TypeTester/TypeTesterBullet.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterBullet.js +4 -12
- package/dist/components/TypeTester/TypeTesterContent.d.ts +2 -2
- package/dist/components/TypeTester/TypeTesterContent.js +22 -21
- package/dist/components/TypeTester/TypeTesterContext.d.ts +2 -2
- package/dist/components/TypeTester/TypeTesterContext.js +10 -17
- package/dist/components/TypeTester/TypeTesterEditAll.js +10 -20
- package/dist/components/TypeTester/TypeTesterFeatures.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterFeatures.js +28 -37
- package/dist/components/TypeTester/TypeTesterFeaturesButton.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterFeaturesButton.js +20 -30
- package/dist/components/TypeTester/TypeTesterFitter.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterFitter.js +5 -13
- package/dist/components/TypeTester/TypeTesterFloatingToolbar.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterFloatingToolbar.js +19 -28
- package/dist/components/TypeTester/TypeTesterInput.js +12 -22
- package/dist/components/TypeTester/TypeTesterSlider.js +7 -16
- package/dist/components/TypeTester/TypeTesterStandalone.d.ts +3 -3
- package/dist/components/TypeTester/TypeTesterStandalone.js +31 -40
- package/dist/components/TypeTester/TypeTesterStandalone.preload.d.ts +3 -3
- package/dist/components/TypeTester/TypeTesterStandalone.preload.js +4 -4
- package/dist/components/TypeTester/TypeTesterStandalone.server.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterStandalone.server.js +7 -14
- package/dist/components/TypeTester/TypeTesterStandaloneElement.js +7 -16
- package/dist/components/TypeTester/TypeTesterState.d.ts +2 -2
- package/dist/components/TypeTester/TypeTesterState.js +6 -14
- package/dist/components/TypeTester/TypeTesterStyleSelect.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterStyleSelect.js +9 -17
- package/dist/components/TypeTester/TypeTesterStyleSelectData.d.ts +4 -4
- package/dist/components/TypeTester/TypeTesterStyleSelectData.js +21 -30
- package/dist/components/TypeTester/TypeTesterToolbar.d.ts +2 -2
- package/dist/components/TypeTester/TypeTesterToolbar.js +29 -39
- package/dist/components/TypeTester/TypeTesterVariableAxes.d.ts +1 -1
- package/dist/components/TypeTester/TypeTesterVariableAxes.js +16 -24
- package/dist/components/TypeTester/features.js +1 -8
- package/dist/components/TypeTester/index.d.ts +3 -3
- package/dist/components/TypeTester/index.js +45 -55
- package/dist/components/TypeTester/types.js +3 -11
- package/dist/components/TypeTester/useFeaturesData.d.ts +1 -1
- package/dist/components/TypeTester/useFeaturesData.js +7 -15
- package/dist/components/TypeTester/useTypeTesterStyler.d.ts +2 -2
- package/dist/components/TypeTester/useTypeTesterStyler.js +6 -13
- package/dist/components/TypeTesters/TypeTestersElement.js +4 -12
- package/dist/components/TypeTesters/index.d.ts +4 -4
- package/dist/components/TypeTesters/index.js +61 -70
- package/dist/components/TypeTesters/index.server.d.ts +1 -1
- package/dist/components/TypeTesters/index.server.js +10 -17
- package/dist/components/UrlContext.js +6 -12
- package/dist/components/VariableTableAmounts/index.d.ts +2 -2
- package/dist/components/VariableTableAmounts/index.js +9 -16
- package/dist/components/elements/Button/index.js +3 -11
- package/dist/components/elements/EmptyCart/index.js +9 -19
- package/dist/components/elements/StoreModalCartLayout/index.js +10 -18
- package/dist/components/elements/StoreModalContainer/StoreModalContainerContext.js +3 -9
- package/dist/components/elements/StoreModalContainer/index.js +17 -27
- package/dist/components/elements/StoreModalDownloadLayout/index.js +7 -15
- package/dist/components/elements/StoreModalFamily/index.js +8 -16
- package/dist/components/elements/StoreModalFamilyButton/index.d.ts +1 -1
- package/dist/components/elements/StoreModalFamilyButton/index.js +11 -20
- package/dist/components/elements/StoreModalIndexItem/index.js +9 -17
- package/dist/components/elements/StoreModalLicenseeIsBillingIdentityElement.js +16 -25
- package/dist/components/elements/StoreModalLoadingScreen/index.js +4 -12
- package/dist/components/elements/StoreModalPageContainer/index.js +5 -13
- package/dist/components/elements/StoreModalStyleButton/index.d.ts +1 -1
- package/dist/components/elements/StoreModalStyleButton/index.js +10 -18
- package/dist/components/elements/StoreModalUnifiedCheckout.d.ts +2 -2
- package/dist/components/elements/StoreModalUnifiedCheckout.js +107 -115
- package/dist/components/useConsent.js +4 -9
- package/dist/components/useFont.js +8 -15
- package/dist/components/useFontStyle.d.ts +1 -1
- package/dist/components/useFontStyle.js +12 -20
- package/dist/components/useInterval.js +5 -12
- package/dist/components/useTotalStyles.d.ts +1 -1
- package/dist/components/useTotalStyles.js +4 -12
- package/dist/corsError.js +4 -14
- package/dist/data/unicodeData.js +1 -1
- package/dist/fontLoader.js +2 -9
- package/dist/hooks/useAutofit.js +11 -19
- package/dist/hooks/useLicenseAndOrderVariables.d.ts +2 -2
- package/dist/hooks/useLicenseAndOrderVariables.js +7 -12
- package/dist/hooks/useRefetchOnLicenseChanges.d.ts +1 -1
- package/dist/hooks/useRefetchOnLicenseChanges.js +7 -13
- package/dist/hooks/useResizeObserver.d.ts +11 -0
- package/dist/hooks/useResizeObserver.js +23 -0
- package/dist/hooks.js +5 -12
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/react-ranger.d.js +0 -1
- package/dist/react-ranger.js +17 -24
- package/dist/reducer.d.ts +5 -5
- package/dist/reducer.js +15 -36
- package/dist/relay/environment.d.ts +1 -0
- package/dist/relay/environment.js +58 -33
- package/dist/relay/loadSerializableQuery.d.ts +5 -1
- package/dist/relay/loadSerializableQuery.js +4 -8
- package/dist/relay/useSerializablePreloadedQuery.d.ts +3 -3
- package/dist/relay/useSerializablePreloadedQuery.js +26 -22
- package/dist/retryImport.js +1 -7
- package/dist/scripts/updateUnicodeData.js +0 -2
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +14 -36
- package/dist/vanilla/FontStyle.js +3 -11
- package/dist/vanilla/TruncatedMarkdown.js +2 -9
- package/dist/vite.d.ts +1 -0
- package/dist/vite.js +74 -0
- package/package.json +7 -4
- package/scripts/addJsExtensionsBabelPlugin.cjs +62 -0
- package/types/font-face-set.d.ts +11 -0
- package/types/globals.d.ts +3 -0
- package/.nvmrc +0 -1
|
@@ -1,30 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.default = StoreModalUnifiedCheckout;
|
|
7
|
-
var _StoreModalUnifiedCheckoutCompleteOrderMutation2 = _interopRequireDefault(require("../../__generated__/StoreModalUnifiedCheckoutCompleteOrderMutation.graphql"));
|
|
8
|
-
var _StoreModalUnifiedCheckoutUpdateOrderMutation2 = _interopRequireDefault(require("../../__generated__/StoreModalUnifiedCheckoutUpdateOrderMutation.graphql"));
|
|
9
|
-
var _StoreModalUnifiedCheckoutUpdateCustomerMutation2 = _interopRequireDefault(require("../../__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql"));
|
|
10
|
-
var _StoreModalUnifiedCheckout_order2 = _interopRequireDefault(require("../../__generated__/StoreModalUnifiedCheckout_order.graphql"));
|
|
11
|
-
var _StoreModalUnifiedCheckout_viewer2 = _interopRequireDefault(require("../../__generated__/StoreModalUnifiedCheckout_viewer.graphql"));
|
|
12
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
var _reactGoogleRecaptcha = _interopRequireDefault(require("react-google-recaptcha"));
|
|
14
|
-
var Sentry = _interopRequireWildcard(require("@sentry/react"));
|
|
15
|
-
var _reactRelay = require("react-relay");
|
|
16
|
-
var _AddressFields = _interopRequireDefault(require("../Cart/AddressFields"));
|
|
17
|
-
var _CustomerFields = _interopRequireDefault(require("../Cart/CustomerFields"));
|
|
18
|
-
var _reactStripeJs = require("@stripe/react-stripe-js");
|
|
19
|
-
var _StoreModalLicenseeIsBillingIdentityElement = _interopRequireDefault(require("./StoreModalLicenseeIsBillingIdentityElement"));
|
|
20
|
-
var _reactRedux = require("react-redux");
|
|
21
|
-
var _StripeLogo = _interopRequireDefault(require("../StripeLogo"));
|
|
22
|
-
var _Icons = require("../Icons");
|
|
23
|
-
var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
|
|
24
|
-
var _Price = require("../Price");
|
|
25
|
-
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); }
|
|
26
|
-
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; }
|
|
27
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1
|
+
import _StoreModalUnifiedCheckoutCompleteOrderMutation from "../../__generated__/StoreModalUnifiedCheckoutCompleteOrderMutation.graphql.js";
|
|
2
|
+
import _StoreModalUnifiedCheckoutUpdateOrderMutation from "../../__generated__/StoreModalUnifiedCheckoutUpdateOrderMutation.graphql.js";
|
|
3
|
+
import _StoreModalUnifiedCheckoutUpdateCustomerMutation from "../../__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js";
|
|
4
|
+
import _StoreModalUnifiedCheckout_order from "../../__generated__/StoreModalUnifiedCheckout_order.graphql.js";
|
|
5
|
+
import _StoreModalUnifiedCheckout_viewer from "../../__generated__/StoreModalUnifiedCheckout_viewer.graphql.js";
|
|
28
6
|
/**
|
|
29
7
|
* StoreModalUnifiedCheckout
|
|
30
8
|
*
|
|
@@ -84,6 +62,20 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
84
62
|
* - Fontdue tax system: Collects billing info directly, auto-saves for tax calculation
|
|
85
63
|
*/
|
|
86
64
|
|
|
65
|
+
import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
66
|
+
import { ReCAPTCHA } from 'react-google-recaptcha';
|
|
67
|
+
import * as Sentry from '@sentry/react';
|
|
68
|
+
import { commitMutation, graphql, useFragment, useRelayEnvironment } from 'react-relay';
|
|
69
|
+
import AddressFields from '../Cart/AddressFields.js';
|
|
70
|
+
import CustomerFields from '../Cart/CustomerFields.js';
|
|
71
|
+
import { PaymentElement, useElements, useStripe } from '@stripe/react-stripe-js';
|
|
72
|
+
import StoreModalLicenseeIsBillingIdentityElement from './StoreModalLicenseeIsBillingIdentityElement.js';
|
|
73
|
+
import { useDispatch } from 'react-redux';
|
|
74
|
+
import StripeLogo from '../StripeLogo.js';
|
|
75
|
+
import { Check, X } from '../Icons/index.js';
|
|
76
|
+
import ConfigContext from '../ConfigContext.js';
|
|
77
|
+
import { Price } from '../Price/index.js';
|
|
78
|
+
|
|
87
79
|
/* const LICENSEE_REQUIRED_FIELDS = ['organization', 'country'] as (keyof Identity)[]; */
|
|
88
80
|
|
|
89
81
|
const IDENTITY_REQUIRED_FIELDS = ['name', 'email', 'country'];
|
|
@@ -131,8 +123,8 @@ function EditableSection(_ref) {
|
|
|
131
123
|
save
|
|
132
124
|
}
|
|
133
125
|
} = _ref;
|
|
134
|
-
const [submitting, setSubmitting] =
|
|
135
|
-
const handleSubmit =
|
|
126
|
+
const [submitting, setSubmitting] = useState(false);
|
|
127
|
+
const handleSubmit = useCallback(e => {
|
|
136
128
|
e.preventDefault();
|
|
137
129
|
setSubmitting(true);
|
|
138
130
|
onSubmit({
|
|
@@ -142,33 +134,33 @@ function EditableSection(_ref) {
|
|
|
142
134
|
onError: () => setSubmitting(false)
|
|
143
135
|
});
|
|
144
136
|
}, [setSubmitting, onSubmit]);
|
|
145
|
-
const handleCancel =
|
|
137
|
+
const handleCancel = useCallback(() => {
|
|
146
138
|
setSubmitting(false);
|
|
147
139
|
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
148
140
|
}, [setSubmitting, onCancel]);
|
|
149
|
-
return /*#__PURE__*/
|
|
141
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
150
142
|
className: "store-modal__cart__checkout-section",
|
|
151
143
|
"data-editing": editing,
|
|
152
144
|
"data-disabled": disabled
|
|
153
|
-
}, editing ? /*#__PURE__*/
|
|
145
|
+
}, editing ? /*#__PURE__*/React.createElement("form", {
|
|
154
146
|
onSubmit: handleSubmit
|
|
155
|
-
}, edit, /*#__PURE__*/
|
|
147
|
+
}, edit, /*#__PURE__*/React.createElement("div", {
|
|
156
148
|
className: "store-modal__cart__buttons"
|
|
157
|
-
}, cancelable ? /*#__PURE__*/
|
|
149
|
+
}, cancelable ? /*#__PURE__*/React.createElement("button", {
|
|
158
150
|
className: "store-modal__cart__button",
|
|
159
151
|
type: "button",
|
|
160
152
|
onClick: handleCancel
|
|
161
|
-
}, "Cancel") : null, /*#__PURE__*/
|
|
153
|
+
}, "Cancel") : null, /*#__PURE__*/React.createElement("button", {
|
|
162
154
|
className: "store-modal__cart__button",
|
|
163
155
|
type: "submit",
|
|
164
156
|
disabled: submitting || disableSubmit
|
|
165
|
-
}, submitting ? 'Submitting...' : save))) : /*#__PURE__*/
|
|
157
|
+
}, submitting ? 'Submitting...' : save))) : /*#__PURE__*/React.createElement(React.Fragment, null, show, /*#__PURE__*/React.createElement("button", {
|
|
166
158
|
type: "button",
|
|
167
159
|
className: "store-modal__cart__edit-button",
|
|
168
160
|
onClick: onEdit
|
|
169
161
|
}, "Change")));
|
|
170
162
|
}
|
|
171
|
-
function StoreModalUnifiedCheckout(_ref2) {
|
|
163
|
+
export default function StoreModalUnifiedCheckout(_ref2) {
|
|
172
164
|
var _order$orderVariableS, _viewer$settings, _viewer$settings2, _viewer$settings3, _viewer$settings4, _order$stripePaymentI, _viewer$settings5, _order$stripePaymentI2, _order$stripePaymentI3;
|
|
173
165
|
let {
|
|
174
166
|
order: orderKey,
|
|
@@ -176,8 +168,8 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
176
168
|
onScrollToTop,
|
|
177
169
|
onUpdateOrderVariableSelections
|
|
178
170
|
} = _ref2;
|
|
179
|
-
const viewer =
|
|
180
|
-
const order =
|
|
171
|
+
const viewer = useFragment((_StoreModalUnifiedCheckout_viewer.hash && _StoreModalUnifiedCheckout_viewer.hash !== "048ce405742611f6684cb5306d28478b" && console.error("The definition of 'StoreModalUnifiedCheckout_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalUnifiedCheckout_viewer), viewerKey);
|
|
172
|
+
const order = useFragment((_StoreModalUnifiedCheckout_order.hash && _StoreModalUnifiedCheckout_order.hash !== "7c5503876a562732ebaead9b2ae97180" && console.error("The definition of 'StoreModalUnifiedCheckout_order' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalUnifiedCheckout_order), orderKey);
|
|
181
173
|
|
|
182
174
|
// Check if order has a country-type order variable with a different country than detected
|
|
183
175
|
// This is important for order snapshot/quote functionality where a quote was created for
|
|
@@ -211,20 +203,20 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
211
203
|
...defaultIdentity,
|
|
212
204
|
country: getInitialCountry()
|
|
213
205
|
};
|
|
214
|
-
const [customer, setCustomer] =
|
|
206
|
+
const [customer, setCustomer] = useState((order === null || order === void 0 ? void 0 : order.customer) ?? {
|
|
215
207
|
name: null,
|
|
216
208
|
email: null,
|
|
217
209
|
newsletterOptIn: false
|
|
218
210
|
});
|
|
219
|
-
const [licenseeIdentity, setLicenseeIdentity] =
|
|
220
|
-
const [billingIdentity, setBillingIdentity] =
|
|
211
|
+
const [licenseeIdentity, setLicenseeIdentity] = useState(getIdentityFields(order === null || order === void 0 ? void 0 : order.licenseeIdentity) ?? initialIdentity);
|
|
212
|
+
const [billingIdentity, setBillingIdentity] = useState(getIdentityFields(order === null || order === void 0 ? void 0 : order.billingIdentity) ?? initialIdentity);
|
|
221
213
|
|
|
222
214
|
// Track if the Stripe Address Element reports as complete
|
|
223
215
|
// Start as true if order already has billing identity (page reload case)
|
|
224
|
-
const [billingAddressComplete, setBillingAddressComplete] =
|
|
216
|
+
const [billingAddressComplete, setBillingAddressComplete] = useState(!!(order !== null && order !== void 0 && order.billingIdentity));
|
|
225
217
|
|
|
226
218
|
// Track differences between local state and saved backend data
|
|
227
|
-
const billingIdentityDiff =
|
|
219
|
+
const billingIdentityDiff = useMemo(() => {
|
|
228
220
|
const savedIdentity = order === null || order === void 0 ? void 0 : order.billingIdentity;
|
|
229
221
|
if (!savedIdentity) return null;
|
|
230
222
|
|
|
@@ -255,11 +247,11 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
255
247
|
return Object.keys(differences).length > 0 ? differences : null;
|
|
256
248
|
}, [billingIdentity, order === null || order === void 0 ? void 0 : order.billingIdentity]);
|
|
257
249
|
const isBillingIdentitySaved = billingIdentityDiff === null && !!(order !== null && order !== void 0 && order.billingIdentity);
|
|
258
|
-
const handleCustomerChange =
|
|
250
|
+
const handleCustomerChange = useCallback(value => setCustomer(currentValue => ({
|
|
259
251
|
...currentValue,
|
|
260
252
|
...value
|
|
261
253
|
})), [setCustomer]);
|
|
262
|
-
const handleLicenseeChange =
|
|
254
|
+
const handleLicenseeChange = useCallback(value => {
|
|
263
255
|
setErrorsObject(currentValue => {
|
|
264
256
|
if (currentValue !== null && currentValue !== void 0 && currentValue.licenseeIdentity) {
|
|
265
257
|
const keys = Object.keys(value);
|
|
@@ -281,23 +273,23 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
281
273
|
...value
|
|
282
274
|
}));
|
|
283
275
|
}, [setLicenseeIdentity]);
|
|
284
|
-
const environment =
|
|
285
|
-
const [error, setError] =
|
|
286
|
-
const [errorsObject, setErrorsObject] =
|
|
287
|
-
const [customerErrorsObject, setCustomerErrorsObject] =
|
|
288
|
-
const [_submitting, setSubmitting] =
|
|
276
|
+
const environment = useRelayEnvironment();
|
|
277
|
+
const [error, setError] = useState(null);
|
|
278
|
+
const [errorsObject, setErrorsObject] = useState(null);
|
|
279
|
+
const [customerErrorsObject, setCustomerErrorsObject] = useState(null);
|
|
280
|
+
const [_submitting, setSubmitting] = useState(false);
|
|
289
281
|
/* const [licenseeRequiredFields, setLicenseeRequiredFields] = useState<
|
|
290
282
|
* (keyof Identity)[]
|
|
291
283
|
* >(LICENSEE_REQUIRED_FIELDS); */
|
|
292
|
-
const [acceptedEULA, setAcceptedEULA] =
|
|
284
|
+
const [acceptedEULA, setAcceptedEULA] = useState(false);
|
|
293
285
|
const {
|
|
294
286
|
form: config
|
|
295
|
-
} =
|
|
287
|
+
} = useContext(ConfigContext);
|
|
296
288
|
|
|
297
289
|
// reCAPTCHA state
|
|
298
|
-
const [recaptchaToken, setRecaptchaToken] =
|
|
299
|
-
const [pendingCustomerSubmit, setPendingCustomerSubmit] =
|
|
300
|
-
const recaptchaRef =
|
|
290
|
+
const [recaptchaToken, setRecaptchaToken] = useState(null);
|
|
291
|
+
const [pendingCustomerSubmit, setPendingCustomerSubmit] = useState(null);
|
|
292
|
+
const recaptchaRef = useRef(null);
|
|
301
293
|
const recaptchaEnabled = ((_viewer$settings = viewer.settings) === null || _viewer$settings === void 0 ? void 0 : _viewer$settings.recaptchaEnabled) ?? false;
|
|
302
294
|
const recaptchaSiteKey = (_viewer$settings2 = viewer.settings) === null || _viewer$settings2 === void 0 ? void 0 : _viewer$settings2.recaptchaSiteKey;
|
|
303
295
|
const onCompleted = (res, errors, onSuccess, onError) => {
|
|
@@ -326,17 +318,17 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
326
318
|
setError(error.message);
|
|
327
319
|
setSubmitting(false);
|
|
328
320
|
};
|
|
329
|
-
const updateCustomer =
|
|
330
|
-
|
|
331
|
-
mutation: (
|
|
321
|
+
const updateCustomer = useCallback((variables, onSuccess, onErrorCallback) => {
|
|
322
|
+
commitMutation(environment, {
|
|
323
|
+
mutation: (_StoreModalUnifiedCheckoutUpdateCustomerMutation.hash && _StoreModalUnifiedCheckoutUpdateCustomerMutation.hash !== "a41e423a93ba20f15ebbe826dd802514" && console.error("The definition of 'StoreModalUnifiedCheckoutUpdateCustomerMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalUnifiedCheckoutUpdateCustomerMutation),
|
|
332
324
|
variables,
|
|
333
325
|
onCompleted: (res, errors) => onCompleted(res, errors, onSuccess, onErrorCallback),
|
|
334
326
|
onError
|
|
335
327
|
});
|
|
336
328
|
}, [environment]);
|
|
337
|
-
const updateOrder =
|
|
338
|
-
|
|
339
|
-
mutation: (
|
|
329
|
+
const updateOrder = useCallback((variables, onSuccess, onError) => {
|
|
330
|
+
commitMutation(environment, {
|
|
331
|
+
mutation: (_StoreModalUnifiedCheckoutUpdateOrderMutation.hash && _StoreModalUnifiedCheckoutUpdateOrderMutation.hash !== "189cd7ac579c6898dca2f4b6e07861d1" && console.error("The definition of 'StoreModalUnifiedCheckoutUpdateOrderMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalUnifiedCheckoutUpdateOrderMutation),
|
|
340
332
|
variables,
|
|
341
333
|
onCompleted: (res, errors) => onCompleted(res, errors, onSuccess, onError),
|
|
342
334
|
onError
|
|
@@ -344,7 +336,7 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
344
336
|
}, [environment]);
|
|
345
337
|
|
|
346
338
|
// Update country order variable when licensee address country changes
|
|
347
|
-
|
|
339
|
+
useEffect(() => {
|
|
348
340
|
if (!licenseeIdentity.country || !order.orderVariableSelections) return;
|
|
349
341
|
|
|
350
342
|
// Find country-type order variable
|
|
@@ -374,7 +366,7 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
374
366
|
|
|
375
367
|
// When a country mismatch exists, force licenseeIsBillingIdentity to false
|
|
376
368
|
// This ensures we always collect licensee information for orders with mismatched country
|
|
377
|
-
|
|
369
|
+
useEffect(() => {
|
|
378
370
|
if (hasCountryMismatch && (order.licenseeIsBillingIdentity ?? true)) {
|
|
379
371
|
// Update order to force separate licensee collection
|
|
380
372
|
updateOrder({
|
|
@@ -387,7 +379,7 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
387
379
|
|
|
388
380
|
// Auto-save billing identity when complete (for fontdue tax system only)
|
|
389
381
|
// This ensures taxes are calculated before showing the payment element
|
|
390
|
-
|
|
382
|
+
useEffect(() => {
|
|
391
383
|
const taxSystem = viewer.settings.taxSystem;
|
|
392
384
|
const canUseEmbeddedCheckout = taxSystem === 'stripe';
|
|
393
385
|
|
|
@@ -413,10 +405,10 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
413
405
|
let initialEditingState = null;
|
|
414
406
|
// set initial state depending on if checkout is already in progress
|
|
415
407
|
if (!order.customer) initialEditingState = 'customer';
|
|
416
|
-
const [editing, setEditing] =
|
|
408
|
+
const [editing, setEditing] = useState(initialEditingState);
|
|
417
409
|
|
|
418
410
|
// Submit customer data with optional reCAPTCHA token
|
|
419
|
-
const submitCustomer =
|
|
411
|
+
const submitCustomer = useCallback((token, callbacks) => {
|
|
420
412
|
setPendingCustomerSubmit(null);
|
|
421
413
|
if (!billingIdentity.name && !billingIdentity.email) {
|
|
422
414
|
setBillingIdentity({
|
|
@@ -445,14 +437,14 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
445
437
|
setRecaptchaToken(null);
|
|
446
438
|
});
|
|
447
439
|
}, [customer, billingIdentity, updateCustomer]);
|
|
448
|
-
const handleRecaptchaChange =
|
|
440
|
+
const handleRecaptchaChange = useCallback(token => {
|
|
449
441
|
setRecaptchaToken(token);
|
|
450
442
|
// If we were waiting for a token to submit, do it now
|
|
451
443
|
if (token && pendingCustomerSubmit) {
|
|
452
444
|
submitCustomer(token, pendingCustomerSubmit.callbacks);
|
|
453
445
|
}
|
|
454
446
|
}, [pendingCustomerSubmit, submitCustomer]);
|
|
455
|
-
const handleRecaptchaExpired =
|
|
447
|
+
const handleRecaptchaExpired = useCallback(() => {
|
|
456
448
|
setRecaptchaToken(null);
|
|
457
449
|
}, []);
|
|
458
450
|
const handleCustomerSubmit = callbacks => {
|
|
@@ -467,14 +459,14 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
467
459
|
}
|
|
468
460
|
submitCustomer(recaptchaToken, callbacks);
|
|
469
461
|
};
|
|
470
|
-
const handleLicenseeIsBillingIdentityChange =
|
|
462
|
+
const handleLicenseeIsBillingIdentityChange = useCallback(value => {
|
|
471
463
|
updateOrder({
|
|
472
464
|
input: {
|
|
473
465
|
licenseeIsBillingIdentity: value
|
|
474
466
|
}
|
|
475
467
|
});
|
|
476
468
|
}, [updateOrder]);
|
|
477
|
-
const handleBillingChange =
|
|
469
|
+
const handleBillingChange = useCallback((value, complete) => {
|
|
478
470
|
setError(null);
|
|
479
471
|
setErrorsObject(currentValue => {
|
|
480
472
|
if (currentValue !== null && currentValue !== void 0 && currentValue.billingIdentity) {
|
|
@@ -503,16 +495,16 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
503
495
|
return newValue;
|
|
504
496
|
});
|
|
505
497
|
}, [order === null || order === void 0 ? void 0 : order.billingIdentity]);
|
|
506
|
-
const stripe =
|
|
507
|
-
const elements =
|
|
508
|
-
const [completing, setCompleting] =
|
|
509
|
-
const [checkingOut, setCheckingOut] =
|
|
510
|
-
const dispatch =
|
|
498
|
+
const stripe = useStripe();
|
|
499
|
+
const elements = useElements();
|
|
500
|
+
const [completing, setCompleting] = useState(false);
|
|
501
|
+
const [checkingOut, setCheckingOut] = useState(false);
|
|
502
|
+
const dispatch = useDispatch();
|
|
511
503
|
|
|
512
504
|
// When a country mismatch exists, always show licensee section (force collection)
|
|
513
505
|
// Otherwise, only show when user has selected "Your client" option
|
|
514
506
|
const showLicenseeSection = order.customer && (hasCountryMismatch || !(order.licenseeIsBillingIdentity ?? false));
|
|
515
|
-
const handleCheckout =
|
|
507
|
+
const handleCheckout = useCallback(async () => {
|
|
516
508
|
// Validate Stripe elements first
|
|
517
509
|
if (elements) {
|
|
518
510
|
const result = await elements.submit();
|
|
@@ -573,8 +565,8 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
573
565
|
const processPayment = () => {
|
|
574
566
|
var _billingIdentity$stre, _billingIdentity$stre2;
|
|
575
567
|
if (order.canCompleteWithCoupon) {
|
|
576
|
-
|
|
577
|
-
mutation: (
|
|
568
|
+
commitMutation(environment, {
|
|
569
|
+
mutation: (_StoreModalUnifiedCheckoutCompleteOrderMutation.hash && _StoreModalUnifiedCheckoutCompleteOrderMutation.hash !== "ea880419670573334e55529f454f8026" && console.error("The definition of 'StoreModalUnifiedCheckoutCompleteOrderMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalUnifiedCheckoutCompleteOrderMutation),
|
|
578
570
|
variables: {},
|
|
579
571
|
onCompleted: (_response, errors) => {
|
|
580
572
|
if (errors && errors.length > 0) {
|
|
@@ -643,7 +635,7 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
643
635
|
const zeroOrder = order.canCompleteWithCoupon;
|
|
644
636
|
const showPaymentSection = !canUseEmbeddedCheckout && order.customer;
|
|
645
637
|
const billingComplete = IDENTITY_REQUIRED_FIELDS.every(key => Boolean(billingIdentity[key]));
|
|
646
|
-
return /*#__PURE__*/
|
|
638
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EditableSection, {
|
|
647
639
|
editing: editing === 'customer',
|
|
648
640
|
disabled: false,
|
|
649
641
|
onEdit: () => setEditing('customer'),
|
|
@@ -651,84 +643,84 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
651
643
|
disableSubmit: false
|
|
652
644
|
}, {
|
|
653
645
|
save: canUseEmbeddedCheckout ? order.customer ? 'Save' : 'Continue' : 'Checkout',
|
|
654
|
-
show: /*#__PURE__*/
|
|
646
|
+
show: /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", {
|
|
655
647
|
className: "store-modal__cart__checkout-section-title"
|
|
656
|
-
}, "Contact information"), order.customer ? /*#__PURE__*/
|
|
657
|
-
edit: /*#__PURE__*/
|
|
648
|
+
}, "Contact information"), order.customer ? /*#__PURE__*/React.createElement(React.Fragment, null, order.customer.name, /*#__PURE__*/React.createElement("br", null), order.customer.email) : 'Loading...'),
|
|
649
|
+
edit: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h3", {
|
|
658
650
|
className: "store-modal__cart__checkout-section-title"
|
|
659
|
-
}, "Contact information"), /*#__PURE__*/
|
|
651
|
+
}, "Contact information"), /*#__PURE__*/React.createElement(CustomerFields, {
|
|
660
652
|
value: customer,
|
|
661
653
|
onChange: handleCustomerChange,
|
|
662
654
|
optInLabel: (_viewer$settings3 = viewer.settings) === null || _viewer$settings3 === void 0 ? void 0 : _viewer$settings3.newsletterOptInLabel,
|
|
663
655
|
errors: customerErrorsObject
|
|
664
|
-
}), recaptchaEnabled && recaptchaSiteKey && /*#__PURE__*/
|
|
656
|
+
}), recaptchaEnabled && recaptchaSiteKey && /*#__PURE__*/React.createElement(ReCAPTCHA, {
|
|
665
657
|
ref: recaptchaRef,
|
|
666
658
|
sitekey: recaptchaSiteKey,
|
|
667
659
|
size: "invisible",
|
|
668
660
|
onChange: handleRecaptchaChange,
|
|
669
661
|
onExpired: handleRecaptchaExpired
|
|
670
662
|
}))
|
|
671
|
-
}), order.customer && !hasCountryMismatch ? /*#__PURE__*/
|
|
663
|
+
}), order.customer && !hasCountryMismatch ? /*#__PURE__*/React.createElement(StoreModalLicenseeIsBillingIdentityElement, {
|
|
672
664
|
disabled: false,
|
|
673
665
|
value: order.licenseeIsBillingIdentity ?? false,
|
|
674
666
|
onChange: handleLicenseeIsBillingIdentityChange
|
|
675
667
|
}, {
|
|
676
|
-
label: /*#__PURE__*/
|
|
668
|
+
label: /*#__PURE__*/React.createElement("div", {
|
|
677
669
|
dangerouslySetInnerHTML: {
|
|
678
670
|
__html: ((_viewer$settings4 = viewer.settings) === null || _viewer$settings4 === void 0 ? void 0 : _viewer$settings4.storeModalSelectLicenseeLabel) ?? ''
|
|
679
671
|
}
|
|
680
672
|
})
|
|
681
|
-
}) : null, showLicenseeSection ? /*#__PURE__*/
|
|
673
|
+
}) : null, showLicenseeSection ? /*#__PURE__*/React.createElement("div", {
|
|
682
674
|
className: "store-modal__cart__checkout-section"
|
|
683
|
-
}, /*#__PURE__*/
|
|
675
|
+
}, /*#__PURE__*/React.createElement("h3", {
|
|
684
676
|
className: "store-modal__cart__checkout-section-title"
|
|
685
|
-
}, hasCountryMismatch ? 'Licensee information' : 'Licensee information (your client)'), /*#__PURE__*/
|
|
677
|
+
}, hasCountryMismatch ? 'Licensee information' : 'Licensee information (your client)'), /*#__PURE__*/React.createElement("div", {
|
|
686
678
|
className: "store-modal__cart__identity-fields"
|
|
687
|
-
}, /*#__PURE__*/
|
|
679
|
+
}, /*#__PURE__*/React.createElement(AddressFields, {
|
|
688
680
|
viewer: viewer,
|
|
689
681
|
value: licenseeIdentity,
|
|
690
682
|
onChange: handleLicenseeChange,
|
|
691
683
|
errorsObject: errorsObject === null || errorsObject === void 0 ? void 0 : errorsObject.licenseeIdentity,
|
|
692
684
|
identityType: "licensee"
|
|
693
|
-
}))) : null, showBillingSection ? /*#__PURE__*/
|
|
685
|
+
}))) : null, showBillingSection ? /*#__PURE__*/React.createElement("div", {
|
|
694
686
|
className: "store-modal__cart__checkout-section",
|
|
695
687
|
"data-disabled": !order.customer
|
|
696
|
-
}, /*#__PURE__*/
|
|
688
|
+
}, /*#__PURE__*/React.createElement("h3", {
|
|
697
689
|
className: "store-modal__cart__checkout-section-title"
|
|
698
|
-
}, "Billing information"), /*#__PURE__*/
|
|
690
|
+
}, "Billing information"), /*#__PURE__*/React.createElement("div", {
|
|
699
691
|
className: "store-modal__cart__identity-fields"
|
|
700
|
-
}, /*#__PURE__*/
|
|
692
|
+
}, /*#__PURE__*/React.createElement(AddressFields, {
|
|
701
693
|
viewer: viewer,
|
|
702
694
|
value: billingIdentity,
|
|
703
695
|
onChange: handleBillingChange,
|
|
704
696
|
errorsObject: errorsObject === null || errorsObject === void 0 ? void 0 : errorsObject.billingIdentity,
|
|
705
697
|
identityType: "billing"
|
|
706
|
-
}))) : null, showCheckoutButton ? /*#__PURE__*/
|
|
698
|
+
}))) : null, showCheckoutButton ? /*#__PURE__*/React.createElement("div", {
|
|
707
699
|
className: "store-modal__cart__checkout-section",
|
|
708
700
|
"data-disabled": false
|
|
709
|
-
}, /*#__PURE__*/
|
|
701
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
710
702
|
type: "button",
|
|
711
703
|
className: "store-modal__cart__button",
|
|
712
704
|
onClick: handleCheckout,
|
|
713
705
|
disabled: checkingOut
|
|
714
|
-
}, checkingOut ? 'Submitting...' : 'Checkout')) : null, showPaymentSection ? /*#__PURE__*/
|
|
706
|
+
}, checkingOut ? 'Submitting...' : 'Checkout')) : null, showPaymentSection ? /*#__PURE__*/React.createElement("div", {
|
|
715
707
|
className: "store-modal__cart__checkout-section",
|
|
716
708
|
"data-disabled": false
|
|
717
|
-
}, /*#__PURE__*/
|
|
709
|
+
}, /*#__PURE__*/React.createElement("form", {
|
|
718
710
|
onSubmit: handleComplete
|
|
719
|
-
}, !zeroOrder && ((_order$stripePaymentI = order.stripePaymentIntent) === null || _order$stripePaymentI === void 0 ? void 0 : _order$stripePaymentI.clientSecret) && /*#__PURE__*/
|
|
711
|
+
}, !zeroOrder && ((_order$stripePaymentI = order.stripePaymentIntent) === null || _order$stripePaymentI === void 0 ? void 0 : _order$stripePaymentI.clientSecret) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h3", {
|
|
720
712
|
className: "store-modal__cart__checkout-section-title"
|
|
721
|
-
}, "Payment information", /*#__PURE__*/
|
|
713
|
+
}, "Payment information", /*#__PURE__*/React.createElement("span", {
|
|
722
714
|
className: "store-modal__cart__checkout-section-subtitle"
|
|
723
|
-
}, /*#__PURE__*/
|
|
715
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
724
716
|
href: "https://stripe.com",
|
|
725
717
|
target: "_blank",
|
|
726
718
|
rel: "noopener"
|
|
727
|
-
}, "Powered by ", /*#__PURE__*/
|
|
719
|
+
}, "Powered by ", /*#__PURE__*/React.createElement(StripeLogo, null)))), /*#__PURE__*/React.createElement("div", {
|
|
728
720
|
className: "store-modal__cart__payment"
|
|
729
|
-
}, /*#__PURE__*/
|
|
730
|
-
fallback: /*#__PURE__*/
|
|
731
|
-
}, /*#__PURE__*/
|
|
721
|
+
}, /*#__PURE__*/React.createElement(Sentry.ErrorBoundary, {
|
|
722
|
+
fallback: /*#__PURE__*/React.createElement("div", null, "Something went wrong")
|
|
723
|
+
}, /*#__PURE__*/React.createElement(PaymentElement, {
|
|
732
724
|
options: {
|
|
733
725
|
layout: {
|
|
734
726
|
type: 'tabs',
|
|
@@ -737,30 +729,30 @@ function StoreModalUnifiedCheckout(_ref2) {
|
|
|
737
729
|
spacedAccordionItems: true
|
|
738
730
|
}
|
|
739
731
|
}
|
|
740
|
-
})))), error && /*#__PURE__*/
|
|
732
|
+
})))), error && /*#__PURE__*/React.createElement("div", {
|
|
741
733
|
className: "store-modal__cart__error"
|
|
742
|
-
}, error), /*#__PURE__*/
|
|
734
|
+
}, error), /*#__PURE__*/React.createElement("div", {
|
|
743
735
|
className: "store-modal__cart__agreement"
|
|
744
|
-
}, /*#__PURE__*/
|
|
736
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
745
737
|
className: "checkbox"
|
|
746
|
-
}, /*#__PURE__*/
|
|
738
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
747
739
|
type: "checkbox",
|
|
748
740
|
id: "eula-agreement",
|
|
749
741
|
checked: acceptedEULA,
|
|
750
742
|
onChange: event => setAcceptedEULA(event.target.checked)
|
|
751
|
-
}), /*#__PURE__*/
|
|
743
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
752
744
|
className: "checkbox__icon"
|
|
753
|
-
}, config.checkboxStyle === 'check' ? /*#__PURE__*/
|
|
745
|
+
}, config.checkboxStyle === 'check' ? /*#__PURE__*/React.createElement(Check, null) : /*#__PURE__*/React.createElement(X, null))), /*#__PURE__*/React.createElement("label", {
|
|
754
746
|
htmlFor: "eula-agreement"
|
|
755
|
-
}, /*#__PURE__*/
|
|
747
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
756
748
|
dangerouslySetInnerHTML: {
|
|
757
749
|
__html: ((_viewer$settings5 = viewer.settings) === null || _viewer$settings5 === void 0 ? void 0 : _viewer$settings5.eulaAgreementLabel) ?? ''
|
|
758
750
|
}
|
|
759
|
-
}))), /*#__PURE__*/
|
|
751
|
+
}))), /*#__PURE__*/React.createElement("button", {
|
|
760
752
|
type: "submit",
|
|
761
753
|
className: "store-modal__cart__button",
|
|
762
754
|
disabled: completing || !acceptedEULA
|
|
763
|
-
}, completing ? 'Submitting...' : zeroOrder ? 'Complete order' : /*#__PURE__*/
|
|
755
|
+
}, completing ? 'Submitting...' : zeroOrder ? 'Complete order' : /*#__PURE__*/React.createElement("span", null, "Pay", ' ', (_order$stripePaymentI2 = order.stripePaymentIntent) !== null && _order$stripePaymentI2 !== void 0 && _order$stripePaymentI2.amount && (_order$stripePaymentI3 = order.stripePaymentIntent) !== null && _order$stripePaymentI3 !== void 0 && _order$stripePaymentI3.currency ? /*#__PURE__*/React.createElement(Price, {
|
|
764
756
|
price: {
|
|
765
757
|
amount: order.stripePaymentIntent.amount,
|
|
766
758
|
currency: order.stripePaymentIntent.currency
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
'use client';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
});
|
|
7
|
-
exports.useConsent = useConsent;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _consent = require("./ConsentBanner/consent");
|
|
3
|
+
import { useSyncExternalStore } from 'react';
|
|
4
|
+
import { hasConsent } from './ConsentBanner/consent.js';
|
|
10
5
|
const CONSENT_EVENT = 'fontdue:consent';
|
|
11
6
|
function subscribe(callback) {
|
|
12
7
|
window.addEventListener(CONSENT_EVENT, callback);
|
|
@@ -21,6 +16,6 @@ function subscribe(callback) {
|
|
|
21
16
|
* @example
|
|
22
17
|
* const analyticsConsent = useConsent('analytics');
|
|
23
18
|
*/
|
|
24
|
-
function useConsent(category) {
|
|
25
|
-
return
|
|
19
|
+
export function useConsent(category) {
|
|
20
|
+
return useSyncExternalStore(subscribe, () => hasConsent(category), () => false);
|
|
26
21
|
}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _fontLoader = require("../fontLoader");
|
|
1
|
+
import { useState, useRef, useEffect } from 'react';
|
|
2
|
+
import { loadFont } from '../fontLoader.js';
|
|
9
3
|
const FALLBACK_FAMILY = 'Fallback';
|
|
10
4
|
|
|
11
5
|
/**
|
|
@@ -28,19 +22,19 @@ const useFont = _ref => {
|
|
|
28
22
|
fontWeight = 400,
|
|
29
23
|
fontStyle: fontStyleProp = 'normal'
|
|
30
24
|
} = _ref;
|
|
31
|
-
const [loaded, setLoaded] =
|
|
32
|
-
const mounted =
|
|
33
|
-
|
|
25
|
+
const [loaded, setLoaded] = useState(false);
|
|
26
|
+
const mounted = useRef(false);
|
|
27
|
+
useEffect(() => {
|
|
34
28
|
mounted.current = true;
|
|
35
29
|
return () => {
|
|
36
30
|
mounted.current = false;
|
|
37
31
|
};
|
|
38
32
|
}, []);
|
|
39
|
-
|
|
33
|
+
useEffect(() => {
|
|
40
34
|
if (!fontFamily) return;
|
|
41
35
|
if (webfontSources && webfontSources.length > 0) {
|
|
42
36
|
// Load directly via FontFace API
|
|
43
|
-
|
|
37
|
+
loadFont(fontFamily, webfontSources).then(() => {
|
|
44
38
|
if (mounted.current) setLoaded(true);
|
|
45
39
|
}).catch(console.error);
|
|
46
40
|
} else {
|
|
@@ -73,5 +67,4 @@ const useFont = _ref => {
|
|
|
73
67
|
loaded
|
|
74
68
|
};
|
|
75
69
|
};
|
|
76
|
-
|
|
77
|
-
exports.default = _default;
|
|
70
|
+
export default useFont;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { useFontStyle_fontStyle$key } from '../__generated__/useFontStyle_fontStyle.graphql';
|
|
2
|
+
import { useFontStyle_fontStyle$key } from '../__generated__/useFontStyle_fontStyle.graphql.js';
|
|
3
3
|
interface UseFontStyle_props {
|
|
4
4
|
fontStyle: useFontStyle_fontStyle$key | null | undefined;
|
|
5
5
|
}
|
|
@@ -1,43 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _useFontStyle_fontStyle2 = _interopRequireDefault(require("../__generated__/useFontStyle_fontStyle.graphql"));
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _reactRelay = require("react-relay");
|
|
10
|
-
var _fontLoader = require("../fontLoader");
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1
|
+
import _useFontStyle_fontStyle from "../__generated__/useFontStyle_fontStyle.graphql.js";
|
|
2
|
+
import { useState, useRef, useEffect } from 'react';
|
|
3
|
+
import { graphql, useFragment } from 'react-relay';
|
|
4
|
+
import { loadFont, isFontLoaded } from '../fontLoader.js';
|
|
12
5
|
const FALLBACK_FAMILY = 'Fallback';
|
|
13
6
|
const useFontStyle = _ref => {
|
|
14
7
|
let {
|
|
15
8
|
fontStyle: fontStyleKey
|
|
16
9
|
} = _ref;
|
|
17
|
-
const fontStyle =
|
|
10
|
+
const fontStyle = useFragment((_useFontStyle_fontStyle.hash && _useFontStyle_fontStyle.hash !== "cc36ae8da5627792c27e9d3ad2b07258" && console.error("The definition of 'useFontStyle_fontStyle' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _useFontStyle_fontStyle), fontStyleKey ?? null);
|
|
18
11
|
const fontFamily = fontStyle ? `${fontStyle.cssFamily} ${fontStyle.name}` : null;
|
|
19
12
|
const sources = fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.webfontSources;
|
|
20
13
|
const verticalMetrics = fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.verticalMetrics;
|
|
21
14
|
|
|
22
15
|
// Always initialize as false to avoid SSR/client hydration mismatch.
|
|
23
16
|
// The effect below will detect already-loaded fonts on mount.
|
|
24
|
-
const [loaded, setLoaded] =
|
|
25
|
-
const mounted =
|
|
26
|
-
|
|
17
|
+
const [loaded, setLoaded] = useState(false);
|
|
18
|
+
const mounted = useRef(false);
|
|
19
|
+
useEffect(() => {
|
|
27
20
|
mounted.current = true;
|
|
28
21
|
return () => {
|
|
29
22
|
mounted.current = false;
|
|
30
23
|
};
|
|
31
24
|
}, []);
|
|
32
|
-
|
|
25
|
+
useEffect(() => {
|
|
33
26
|
if (!fontFamily) return;
|
|
34
|
-
if (
|
|
27
|
+
if (isFontLoaded(fontFamily)) {
|
|
35
28
|
setLoaded(true);
|
|
36
29
|
return;
|
|
37
30
|
}
|
|
38
31
|
if (!sources || sources.length === 0) return;
|
|
39
32
|
setLoaded(false);
|
|
40
|
-
|
|
33
|
+
loadFont(fontFamily, sources, verticalMetrics).then(() => {
|
|
41
34
|
if (mounted.current) setLoaded(true);
|
|
42
35
|
}).catch(console.error);
|
|
43
36
|
}, [fontFamily]);
|
|
@@ -55,5 +48,4 @@ const useFontStyle = _ref => {
|
|
|
55
48
|
loaded
|
|
56
49
|
};
|
|
57
50
|
};
|
|
58
|
-
|
|
59
|
-
exports.default = _default;
|
|
51
|
+
export default useFontStyle;
|