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.
- package/CHANGELOG.md +5 -0
- package/dist/components/ConfigContext.d.ts +3 -0
- package/dist/components/ConfigContext.js +2 -1
- package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +2 -0
- package/dist/corsError.d.ts +1 -0
- package/dist/corsError.js +16 -9
- package/dist/global-shim.d.ts +1 -0
- package/dist/global-shim.js +8 -0
- package/dist/relay/environment.js +51 -42
- package/dist-cjs/__generated__/AddToCartBannerQuery.graphql.js +194 -0
- package/dist-cjs/__generated__/AddToCartBanner_item.graphql.js +107 -0
- package/dist-cjs/__generated__/AddToCartBanner_order.graphql.js +131 -0
- package/dist-cjs/__generated__/AddressFieldsRefetchQuery.graphql.js +170 -0
- package/dist-cjs/__generated__/AddressFields_viewer.graphql.js +125 -0
- package/dist-cjs/__generated__/BuyButtonIDQuery.graphql.js +121 -0
- package/dist-cjs/__generated__/BuyButtonSlugQuery.graphql.js +146 -0
- package/dist-cjs/__generated__/BuyButton_collection.graphql.js +56 -0
- package/dist-cjs/__generated__/CartButtonQuery.graphql.js +139 -0
- package/dist-cjs/__generated__/CartButton_order.graphql.js +71 -0
- package/dist-cjs/__generated__/CartItemAdditionalLicenses_licenses.graphql.js +42 -0
- package/dist-cjs/__generated__/CartItemAdditionalLicenses_orderItem.graphql.js +52 -0
- package/dist-cjs/__generated__/CartItemLicense_selection.graphql.js +80 -0
- package/dist-cjs/__generated__/CartItemProduct_product.graphql.js +113 -0
- package/dist-cjs/__generated__/CartItemVariable_selection.graphql.js +107 -0
- package/dist-cjs/__generated__/CartItemVariable_variable.graphql.js +58 -0
- package/dist-cjs/__generated__/CartItem_node.graphql.js +166 -0
- package/dist-cjs/__generated__/CartOrderCompleteOrderMutation.graphql.js +783 -0
- package/dist-cjs/__generated__/CartOrderRemoveDiscountMutation.graphql.js +760 -0
- package/dist-cjs/__generated__/CartOrderUpdateMutation.graphql.js +795 -0
- package/dist-cjs/__generated__/CartOrder_UpdateErrors.graphql.js +43 -0
- package/dist-cjs/__generated__/CartOrder_order.graphql.js +264 -0
- package/dist-cjs/__generated__/CartOrder_viewer.graphql.js +51 -0
- package/dist-cjs/__generated__/CartQuery.graphql.js +887 -0
- package/dist-cjs/__generated__/CartStateRemoveDiscountMutation.graphql.js +422 -0
- package/dist-cjs/__generated__/CartStateUpdateMutation.graphql.js +790 -0
- package/dist-cjs/__generated__/CartState_order.graphql.js +122 -0
- package/dist-cjs/__generated__/CartTotals_order.graphql.js +140 -0
- package/dist-cjs/__generated__/CharacterViewerIDQuery.graphql.js +332 -0
- package/dist-cjs/__generated__/CharacterViewerSlugQuery.graphql.js +362 -0
- package/dist-cjs/__generated__/CharacterViewerStyleRefetchQuery.graphql.js +226 -0
- package/dist-cjs/__generated__/CharacterViewer_collection.graphql.js +197 -0
- package/dist-cjs/__generated__/CharacterViewer_family.graphql.js +101 -0
- package/dist-cjs/__generated__/CharacterViewer_style.graphql.js +161 -0
- package/dist-cjs/__generated__/CheckoutUpdateCustomerMutation.graphql.js +770 -0
- package/dist-cjs/__generated__/CheckoutUpdateOrderMutation.graphql.js +811 -0
- package/dist-cjs/__generated__/Checkout_UpdateOrderErrors.graphql.js +97 -0
- package/dist-cjs/__generated__/Checkout_identity.graphql.js +94 -0
- package/dist-cjs/__generated__/Checkout_order.graphql.js +144 -0
- package/dist-cjs/__generated__/Checkout_viewer.graphql.js +74 -0
- package/dist-cjs/__generated__/CollectionAa_Query.graphql.js +192 -0
- package/dist-cjs/__generated__/CollectionAa_product.graphql.js +69 -0
- package/dist-cjs/__generated__/CouponCodeInputApplyCouponMutation.graphql.js +432 -0
- package/dist-cjs/__generated__/CouponText_coupon.graphql.js +73 -0
- package/dist-cjs/__generated__/CustomerLoginFormLoginMutation.graphql.js +72 -0
- package/dist-cjs/__generated__/CustomerLoginFormQuery.graphql.js +91 -0
- package/dist-cjs/__generated__/DownloadRefetchQuery.graphql.js +124 -0
- package/dist-cjs/__generated__/Download_order.graphql.js +61 -0
- package/dist-cjs/__generated__/FamilyList_node.graphql.js +96 -0
- package/dist-cjs/__generated__/Family_node.graphql.js +160 -0
- package/dist-cjs/__generated__/FontFamiliesQuery.graphql.js +368 -0
- package/dist-cjs/__generated__/FontStyle_fontStyle.graphql.js +32 -0
- package/dist-cjs/__generated__/IdentityBox_identity.graphql.js +52 -0
- package/dist-cjs/__generated__/License_node.graphql.js +97 -0
- package/dist-cjs/__generated__/NewsletterSignupQuery.graphql.js +110 -0
- package/dist-cjs/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +81 -0
- package/dist-cjs/__generated__/NodePasswordFormAccessNodeMutation.graphql.js +72 -0
- package/dist-cjs/__generated__/NodePasswordFormIDQuery.graphql.js +93 -0
- package/dist-cjs/__generated__/NodePasswordFormSlugQuery.graphql.js +115 -0
- package/dist-cjs/__generated__/OrderVariableSelectionReduxRefetchQuery.graphql.js +154 -0
- package/dist-cjs/__generated__/OrderVariableSelectionRedux_viewer.graphql.js +75 -0
- package/dist-cjs/__generated__/OrderVariableSelection_variables.graphql.js +107 -0
- package/dist-cjs/__generated__/PrecartAddToCartMutation.graphql.js +793 -0
- package/dist-cjs/__generated__/PrecartClearCartMutation.graphql.js +81 -0
- package/dist-cjs/__generated__/PrecartQuery.graphql.js +308 -0
- package/dist-cjs/__generated__/Precart_collection.graphql.js +81 -0
- package/dist-cjs/__generated__/Precart_license.graphql.js +67 -0
- package/dist-cjs/__generated__/Precart_viewer.graphql.js +161 -0
- package/dist-cjs/__generated__/PriceBarSectionRefetchQuery.graphql.js +184 -0
- package/dist-cjs/__generated__/PriceBarSection_node.graphql.js +121 -0
- package/dist-cjs/__generated__/PriceBar_node.graphql.js +60 -0
- package/dist-cjs/__generated__/Price_price.graphql.js +40 -0
- package/dist-cjs/__generated__/SKUPrice_sku.graphql.js +69 -0
- package/dist-cjs/__generated__/SelectButton_sku.graphql.js +54 -0
- package/{dist-bundle/chunks/index-o29NNufd.js → dist-cjs/__generated__/ServerConfigProviderQuery.graphql.js} +7 -30
- package/dist-cjs/__generated__/ShareCartCreateSnapshotMutation.graphql.js +84 -0
- package/dist-cjs/__generated__/SpecimenLinkQuery.graphql.js +120 -0
- package/dist-cjs/__generated__/StoreModalBundleButton_bundle.graphql.js +85 -0
- package/dist-cjs/__generated__/StoreModalCartQuery.graphql.js +1017 -0
- package/dist-cjs/__generated__/StoreModalCheckoutQuery.graphql.js +194 -0
- package/dist-cjs/__generated__/StoreModalContainerQuery.graphql.js +228 -0
- package/dist-cjs/__generated__/StoreModalDownloadRefetchQuery.graphql.js +102 -0
- package/dist-cjs/__generated__/StoreModalDownload_order.graphql.js +40 -0
- package/dist-cjs/__generated__/StoreModalFamilyButton_collection.graphql.js +135 -0
- package/dist-cjs/__generated__/StoreModalFamily_collection.graphql.js +130 -0
- package/dist-cjs/__generated__/StoreModalIndexItem_fontCollection.graphql.js +98 -0
- package/dist-cjs/__generated__/StoreModalIndexQuery.graphql.js +263 -0
- package/dist-cjs/__generated__/StoreModalOrderVariableSelection_order.graphql.js +98 -0
- package/dist-cjs/__generated__/StoreModalOrderVariableSelection_viewer.graphql.js +66 -0
- package/dist-cjs/__generated__/StoreModalProductContent_collection.graphql.js +92 -0
- package/dist-cjs/__generated__/StoreModalProductLicenseSelection_collection.graphql.js +47 -0
- package/dist-cjs/__generated__/StoreModalProductLicense_license.graphql.js +104 -0
- package/dist-cjs/__generated__/StoreModalProductQuery.graphql.js +702 -0
- package/dist-cjs/__generated__/StoreModalProductRefetchQuery.graphql.js +433 -0
- package/dist-cjs/__generated__/StoreModalProductSummaryAddToCartMutation.graphql.js +149 -0
- package/dist-cjs/__generated__/StoreModalProductSummaryClearCartMutation.graphql.js +81 -0
- package/dist-cjs/__generated__/StoreModalProductSummaryRefetchQuery.graphql.js +281 -0
- package/dist-cjs/__generated__/StoreModalProductSummary_viewer.graphql.js +243 -0
- package/dist-cjs/__generated__/StoreModalReviewIdentity_identity.graphql.js +52 -0
- package/dist-cjs/__generated__/StoreModalStyleButton_fontStyle.graphql.js +113 -0
- package/dist-cjs/__generated__/StoreModalUnifiedCheckoutCompleteOrderMutation.graphql.js +302 -0
- package/dist-cjs/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js +323 -0
- package/dist-cjs/__generated__/StoreModalUnifiedCheckoutUpdateOrderMutation.graphql.js +473 -0
- package/dist-cjs/__generated__/StoreModalUnifiedCheckout_order.graphql.js +237 -0
- package/dist-cjs/__generated__/StoreModalUnifiedCheckout_viewer.graphql.js +117 -0
- package/dist-cjs/__generated__/StripeProviderCreateCheckoutSessionMutation.graphql.js +105 -0
- package/dist-cjs/__generated__/StripeProvider_viewer.graphql.js +139 -0
- package/dist-cjs/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +770 -0
- package/dist-cjs/__generated__/TestFontsForm_Query.graphql.js +126 -0
- package/dist-cjs/__generated__/TestModeBannerQuery.graphql.js +87 -0
- package/dist-cjs/__generated__/ThemeConfigQuery.graphql.js +87 -0
- package/dist-cjs/__generated__/TypeTesterFeaturesButton_fontStyle.graphql.js +32 -0
- package/dist-cjs/__generated__/TypeTesterFeatures_fontStyle.graphql.js +36 -0
- package/dist-cjs/__generated__/TypeTesterFloatingToolbar_testers.graphql.js +53 -0
- package/dist-cjs/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +347 -0
- package/dist-cjs/__generated__/TypeTesterStandaloneQuery.graphql.js +450 -0
- package/dist-cjs/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.js +106 -0
- package/dist-cjs/__generated__/TypeTesterStyleSelectData_fontStyleData.graphql.js +88 -0
- package/dist-cjs/__generated__/TypeTesterStyleSelectData_viewer.graphql.js +166 -0
- package/dist-cjs/__generated__/TypeTesterToolbar_fontStyle.graphql.js +36 -0
- package/dist-cjs/__generated__/TypeTesterVariableAxes_fontStyle.graphql.js +61 -0
- package/dist-cjs/__generated__/TypeTester_fontStyle.graphql.js +106 -0
- package/dist-cjs/__generated__/TypeTester_viewer.graphql.js +40 -0
- package/dist-cjs/__generated__/TypeTestersChangedStylesQuery.graphql.js +347 -0
- package/dist-cjs/__generated__/TypeTestersIDQuery.graphql.js +637 -0
- package/dist-cjs/__generated__/TypeTestersRefetchQuery.graphql.js +554 -0
- package/dist-cjs/__generated__/TypeTestersSlugQuery.graphql.js +644 -0
- package/dist-cjs/__generated__/TypeTesters_collection.graphql.js +258 -0
- package/dist-cjs/__generated__/TypeTesters_viewer.graphql.js +40 -0
- package/dist-cjs/__generated__/VariableTableAmounts_option.graphql.js +34 -0
- package/dist-cjs/__generated__/VariableTableAmounts_variable.graphql.js +34 -0
- package/dist-cjs/__generated__/productState_Query.graphql.js +184 -0
- package/dist-cjs/__generated__/productState_bundle.graphql.js +79 -0
- package/dist-cjs/__generated__/productState_collection.graphql.js +90 -0
- package/dist-cjs/__generated__/productState_collectionBundle.graphql.js +88 -0
- package/dist-cjs/__generated__/productState_node.graphql.js +122 -0
- package/dist-cjs/__generated__/productState_sku.graphql.js +51 -0
- package/dist-cjs/__generated__/useFeaturesData_fontStyle.graphql.js +64 -0
- package/dist-cjs/__generated__/useFontStyle_fontStyle.graphql.js +94 -0
- package/dist-cjs/__generated__/useTotalStyles_fontCollection.graphql.js +57 -0
- package/dist-cjs/__tests__/collectionBundleSelection.test.js +1630 -0
- package/dist-cjs/components/AddToCartBanner/index.js +75 -0
- package/dist-cjs/components/BuyButton/index.js +124 -0
- package/dist-cjs/components/BuyButton/index.server.js +36 -0
- package/dist-cjs/components/BuyingOptions/index.js +23 -0
- package/dist-cjs/components/Cart/AddressFields.js +162 -0
- package/dist-cjs/components/Cart/CartItem/CartItemAdditionalLicenses.js +33 -0
- package/dist-cjs/components/Cart/CartItem/CartItemLicense.js +66 -0
- package/dist-cjs/components/Cart/CartItem/CartItemProduct.js +36 -0
- package/dist-cjs/components/Cart/CartItem/CartItemVariable.js +66 -0
- package/dist-cjs/components/Cart/CartItem/VariableTextInput.js +79 -0
- package/dist-cjs/components/Cart/CartItem/index.js +95 -0
- package/dist-cjs/components/Cart/CartOrder.js +314 -0
- package/dist-cjs/components/Cart/CartState.js +93 -0
- package/dist-cjs/components/Cart/CartTotals.js +97 -0
- package/dist-cjs/components/Cart/Checkout.js +473 -0
- package/dist-cjs/components/Cart/CheckoutSteps.js +15 -0
- package/dist-cjs/components/Cart/CouponCodeInput.js +90 -0
- package/dist-cjs/components/Cart/CustomerFields.js +80 -0
- package/dist-cjs/components/Cart/Download.js +62 -0
- package/dist-cjs/components/Cart/EmptyCart.js +42 -0
- package/dist-cjs/components/Cart/IdentityBox.js +37 -0
- package/dist-cjs/components/Cart/ShareCart.js +87 -0
- package/dist-cjs/components/Cart/index.js +36 -0
- package/dist-cjs/components/Cart/injectRelayEnvironment.js +21 -0
- package/dist-cjs/components/Cart/types.js +5 -0
- package/dist-cjs/components/Cart/utils.js +8 -0
- package/dist-cjs/components/CartButton/index.js +127 -0
- package/dist-cjs/components/CartButton/index.server.js +18 -0
- package/dist-cjs/components/CharacterViewer/StyleSelect.js +60 -0
- package/dist-cjs/components/CharacterViewer/index.js +441 -0
- package/dist-cjs/components/CharacterViewer/index.server.js +36 -0
- package/dist-cjs/components/Checkbox/index.js +27 -0
- package/dist-cjs/components/CollectionAa/index.js +38 -0
- package/dist-cjs/components/ComponentsContext.js +12 -0
- package/dist-cjs/components/ConfigContext.js +86 -0
- package/{dist-bundle/chunks/consent-DMvR5rEh.js → dist-cjs/components/ConsentBanner/consent.js} +12 -4
- package/dist-cjs/components/ConsentBanner/index.js +84 -0
- package/dist-cjs/components/CookieNotification/index.js +83 -0
- package/{dist-bundle/chunks/CorsErrorModal-C1g_-3Re.js → dist-cjs/components/CorsErrorModal.js} +19 -16
- package/dist-cjs/components/CouponText/index.js +38 -0
- package/dist-cjs/components/CustomerLoginForm/index.js +88 -0
- package/dist-cjs/components/Family/FamilyList.js +43 -0
- package/dist-cjs/components/Family/index.js +77 -0
- package/dist-cjs/components/FontFamilies/index.js +53 -0
- package/dist-cjs/components/FontStyle/index.js +37 -0
- package/dist-cjs/components/FontdueProvider/FontdueProviderClientComponent.js +74 -0
- package/dist-cjs/components/FontdueProvider/index.js +43 -0
- package/dist-cjs/components/FontdueProvider/index.server.js +35 -0
- package/dist-cjs/components/FontdueProvider/useAuxUIOwner.js +32 -0
- package/dist-cjs/components/Icons/Align.js +58 -0
- package/dist-cjs/components/Icons/ArrowDownRight.js +19 -0
- package/dist-cjs/components/Icons/ArrowLeft.js +22 -0
- package/dist-cjs/components/Icons/ArrowRight.js +19 -0
- package/dist-cjs/components/Icons/CarrotDown.js +19 -0
- package/dist-cjs/components/Icons/CarrotUp.js +19 -0
- package/dist-cjs/components/Icons/Cart.js +23 -0
- package/dist-cjs/components/Icons/CartNew.js +33 -0
- package/dist-cjs/components/Icons/Check.js +19 -0
- package/dist-cjs/components/Icons/Checkbox.js +24 -0
- package/dist-cjs/components/Icons/CheckboxChecked.js +24 -0
- package/dist-cjs/components/Icons/CheckboxCrossed.js +26 -0
- package/dist-cjs/components/Icons/CircledCheck.js +21 -0
- package/dist-cjs/components/Icons/CircledInfo.js +21 -0
- package/dist-cjs/components/Icons/CircledMinus.js +21 -0
- package/dist-cjs/components/Icons/ColorPicker.js +19 -0
- package/dist-cjs/components/Icons/CreditCard.js +21 -0
- package/dist-cjs/components/Icons/DownArrow.js +24 -0
- package/dist-cjs/components/Icons/DownloadFonts.js +25 -0
- package/dist-cjs/components/Icons/FrowningFace.js +25 -0
- package/dist-cjs/components/Icons/License.js +19 -0
- package/dist-cjs/components/Icons/Receipt.js +34 -0
- package/dist-cjs/components/Icons/User.js +19 -0
- package/dist-cjs/components/Icons/X.js +19 -0
- package/dist-cjs/components/Icons/index.js +167 -0
- package/dist-cjs/components/NewsletterSignup/NewsletterSignupElement.js +15 -0
- package/dist-cjs/components/NewsletterSignup/index.js +192 -0
- package/dist-cjs/components/NewsletterSignup/index.server.js +18 -0
- package/dist-cjs/components/NodePasswordForm/index.js +114 -0
- package/dist-cjs/components/OrderVariableSelection/OrderVariableSelectionRedux.js +66 -0
- package/dist-cjs/components/OrderVariableSelection/index.js +199 -0
- package/dist-cjs/components/Precart/License.js +70 -0
- package/dist-cjs/components/Precart/index.js +331 -0
- package/dist-cjs/components/Price/index.js +111 -0
- package/dist-cjs/components/PriceBar/PriceBarSection.js +61 -0
- package/dist-cjs/components/PriceBar/index.js +49 -0
- package/dist-cjs/components/Root/index.js +208 -0
- package/dist-cjs/components/Root/productState.js +143 -0
- package/dist-cjs/components/SKUPrice/index.js +46 -0
- package/dist-cjs/components/Select/index.js +36 -0
- package/dist-cjs/components/SelectButton/index.js +79 -0
- package/dist-cjs/components/ServerConfigProvider/index.js +39 -0
- package/dist-cjs/components/SpecimenLink/index.js +37 -0
- package/dist-cjs/components/StickyNav/index.js +80 -0
- package/dist-cjs/components/StoreModal/StoreModalBundleButton.js +47 -0
- package/dist-cjs/components/StoreModal/StoreModalCart.js +79 -0
- package/dist-cjs/components/StoreModal/StoreModalCheckout.js +24 -0
- package/dist-cjs/components/StoreModal/StoreModalCheckoutContext.js +14 -0
- package/dist-cjs/components/StoreModal/StoreModalContainer.js +117 -0
- package/dist-cjs/components/StoreModal/StoreModalDownload.js +38 -0
- package/dist-cjs/components/StoreModal/StoreModalFamily.js +58 -0
- package/dist-cjs/components/StoreModal/StoreModalFamilyButton.js +69 -0
- package/dist-cjs/components/StoreModal/StoreModalIndex.js +27 -0
- package/dist-cjs/components/StoreModal/StoreModalIndexItem.js +63 -0
- package/dist-cjs/components/StoreModal/StoreModalLicenseeIsBillingSelection.js +30 -0
- package/dist-cjs/components/StoreModal/StoreModalLoader.js +22 -0
- package/dist-cjs/components/StoreModal/StoreModalOrderVariableSelection.js +89 -0
- package/dist-cjs/components/StoreModal/StoreModalProduct.js +154 -0
- package/dist-cjs/components/StoreModal/StoreModalReviewIdentity.js +18 -0
- package/dist-cjs/components/StoreModal/StoreModalRouter.js +28 -0
- package/dist-cjs/components/StoreModal/StoreModalStyleButton.js +52 -0
- package/dist-cjs/components/StoreModal/index.js +39 -0
- package/dist-cjs/components/StoreModal/routes.js +51 -0
- package/dist-cjs/components/StoreModal/types.js +5 -0
- package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseElement.js +46 -0
- package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseVariableElement.js +35 -0
- package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseVariableRadioElement.js +47 -0
- package/dist-cjs/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +133 -0
- package/dist-cjs/components/StoreModalProductLicenseSelection/index.js +31 -0
- package/dist-cjs/components/StoreModalProductSummary/index.js +219 -0
- package/dist-cjs/components/StripeLogo.js +17 -0
- package/dist-cjs/components/StripeProvider/index.js +172 -0
- package/dist-cjs/components/Switch/index.js +7 -0
- package/dist-cjs/components/TestFontsForm/TestFontsFormElement.js +15 -0
- package/dist-cjs/components/TestFontsForm/index.js +208 -0
- package/dist-cjs/components/TestFontsForm/index.server.js +18 -0
- package/dist-cjs/components/TestModeBanner/index.js +34 -0
- package/dist-cjs/components/TextField/index.js +42 -0
- package/dist-cjs/components/ThemeConfig/index.js +41 -0
- package/dist-cjs/components/ThemeConfig/index.server.js +17 -0
- package/{dist-bundle/chunks/index-DsvF5W13.js → dist-cjs/components/Tracking/index.js} +19 -14
- package/dist-cjs/components/TypeTester/TypeTesterAlignButtons.js +34 -0
- package/dist-cjs/components/TypeTester/TypeTesterBullet.js +23 -0
- package/dist-cjs/components/TypeTester/TypeTesterContent.js +58 -0
- package/dist-cjs/components/TypeTester/TypeTesterContext.js +166 -0
- package/dist-cjs/components/TypeTester/TypeTesterEditAll.js +36 -0
- package/dist-cjs/components/TypeTester/TypeTesterFeatures.js +133 -0
- package/dist-cjs/components/TypeTester/TypeTesterFeaturesButton.js +82 -0
- package/dist-cjs/components/TypeTester/TypeTesterFitter.js +21 -0
- package/dist-cjs/components/TypeTester/TypeTesterFloatingToolbar.js +79 -0
- package/dist-cjs/components/TypeTester/TypeTesterInput.js +72 -0
- package/dist-cjs/components/TypeTester/TypeTesterSlider.js +76 -0
- package/dist-cjs/components/TypeTester/TypeTesterStandalone.js +137 -0
- package/dist-cjs/components/TypeTester/TypeTesterStandalone.preload.js +27 -0
- package/dist-cjs/components/TypeTester/TypeTesterStandalone.server.js +26 -0
- package/dist-cjs/components/TypeTester/TypeTesterStandaloneElement.js +65 -0
- package/dist-cjs/components/TypeTester/TypeTesterState.js +133 -0
- package/dist-cjs/components/TypeTester/TypeTesterStyleSelect.js +101 -0
- package/dist-cjs/components/TypeTester/TypeTesterStyleSelectData.js +102 -0
- package/dist-cjs/components/TypeTester/TypeTesterToolbar.js +94 -0
- package/dist-cjs/components/TypeTester/TypeTesterVariableAxes.js +65 -0
- package/dist-cjs/components/TypeTester/features.js +150 -0
- package/dist-cjs/components/TypeTester/index.js +169 -0
- package/dist-cjs/components/TypeTester/types.js +14 -0
- package/dist-cjs/components/TypeTester/useFeaturesData.js +36 -0
- package/dist-cjs/components/TypeTester/useTypeTesterStyler.js +83 -0
- package/dist-cjs/components/TypeTesters/TypeTestersElement.js +33 -0
- package/dist-cjs/components/TypeTesters/index.js +271 -0
- package/dist-cjs/components/TypeTesters/index.server.js +44 -0
- package/dist-cjs/components/UrlContext.js +16 -0
- package/dist-cjs/components/VariableTableAmounts/index.js +28 -0
- package/dist-cjs/components/elements/Button/index.js +21 -0
- package/dist-cjs/components/elements/EmptyCart/index.js +30 -0
- package/dist-cjs/components/elements/StoreModalCartLayout/index.js +38 -0
- package/dist-cjs/components/elements/StoreModalContainer/StoreModalContainerContext.js +11 -0
- package/dist-cjs/components/elements/StoreModalContainer/index.js +77 -0
- package/dist-cjs/components/elements/StoreModalDownloadLayout/index.js +25 -0
- package/dist-cjs/components/elements/StoreModalFamily/index.js +31 -0
- package/dist-cjs/components/elements/StoreModalFamilyButton/index.js +45 -0
- package/dist-cjs/components/elements/StoreModalIndexItem/index.js +35 -0
- package/dist-cjs/components/elements/StoreModalLicenseeIsBillingIdentityElement.js +59 -0
- package/dist-cjs/components/elements/StoreModalLoadingScreen/index.js +14 -0
- package/dist-cjs/components/elements/StoreModalPageContainer/index.js +22 -0
- package/dist-cjs/components/elements/StoreModalStyleButton/index.js +37 -0
- package/dist-cjs/components/elements/StoreModalUnifiedCheckout.js +753 -0
- package/dist-cjs/components/useConsent.js +26 -0
- package/dist-cjs/components/useFont.js +76 -0
- package/dist-cjs/components/useFontStyle.js +58 -0
- package/dist-cjs/components/useInterval.js +28 -0
- package/dist-cjs/components/useTotalStyles.js +26 -0
- package/{dist-bundle/index.js → dist-cjs/config.js} +8 -4
- package/dist-cjs/corsError.js +89 -0
- package/dist-cjs/data/unicodeData.js +1 -0
- package/dist-cjs/fontLoader.js +55 -0
- package/dist-cjs/global-shim.js +12 -0
- package/dist-cjs/hooks/useAutofit.js +114 -0
- package/dist-cjs/hooks/useLicenseAndOrderVariables.js +25 -0
- package/dist-cjs/hooks/useRefetchOnLicenseChanges.js +60 -0
- package/dist-cjs/hooks.js +18 -0
- package/dist-cjs/index.js +18 -0
- package/dist-cjs/package.json +1 -0
- package/dist-cjs/react-ranger.d.js +1 -0
- package/dist-cjs/react-ranger.js +301 -0
- package/dist-cjs/reducer.js +291 -0
- package/dist-cjs/relay/environment.js +148 -0
- package/{dist-bundle/TypeTester.preload.js → dist-cjs/relay/loadSerializableQuery.js} +8 -26
- package/dist-cjs/relay/useSerializablePreloadedQuery.js +52 -0
- package/dist-cjs/retryImport.js +24 -0
- package/dist-cjs/scripts/updateUnicodeData.js +49 -0
- package/dist-cjs/utils.js +107 -0
- package/dist-cjs/vanilla/FontStyle.js +58 -0
- package/dist-cjs/vanilla/TruncatedMarkdown.js +28 -0
- package/package.json +1 -1
- package/dist-bundle/FontdueProvider.js +0 -6
- package/dist-bundle/FontdueProvider.js.map +0 -1
- package/dist-bundle/TypeTester.js +0 -7
- package/dist-bundle/TypeTester.js.map +0 -1
- package/dist-bundle/TypeTester.preload.js.map +0 -1
- package/dist-bundle/chunks/ComponentsContext-CmkN9J4X.js +0 -20843
- package/dist-bundle/chunks/ComponentsContext-CmkN9J4X.js.map +0 -1
- package/dist-bundle/chunks/CorsErrorModal-C1g_-3Re.js.map +0 -1
- package/dist-bundle/chunks/TypeTesterStandalone-BMWuv8Ca.js +0 -27486
- package/dist-bundle/chunks/TypeTesterStandalone-BMWuv8Ca.js.map +0 -1
- package/dist-bundle/chunks/consent-DMvR5rEh.js.map +0 -1
- package/dist-bundle/chunks/index-BNSbxp7B.js +0 -78
- package/dist-bundle/chunks/index-BNSbxp7B.js.map +0 -1
- package/dist-bundle/chunks/index-C4ak9qTL.js +0 -423
- package/dist-bundle/chunks/index-C4ak9qTL.js.map +0 -1
- package/dist-bundle/chunks/index-DsvF5W13.js.map +0 -1
- package/dist-bundle/chunks/index-o29NNufd.js.map +0 -1
- package/dist-bundle/index.js.map +0 -1
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = exports.TypeTesterContext = void 0;
|
|
8
|
+
var _draftJs = require("draft-js");
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
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); }
|
|
11
|
+
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; }
|
|
12
|
+
const TypeTesterContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
13
|
+
exports.TypeTesterContext = TypeTesterContext;
|
|
14
|
+
const updateTester = (state, id, newState, propagate) => {
|
|
15
|
+
const testers = state.testers;
|
|
16
|
+
if (state.mode === 'local' || propagate === false) {
|
|
17
|
+
return {
|
|
18
|
+
...state,
|
|
19
|
+
testers: {
|
|
20
|
+
...testers,
|
|
21
|
+
[id]: {
|
|
22
|
+
...testers[id],
|
|
23
|
+
...newState
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (state.mode === 'group') {
|
|
29
|
+
// affect all testers
|
|
30
|
+
const newTesters = Object.keys(testers).reduce((acc, tid) => {
|
|
31
|
+
let content = testers[tid].content;
|
|
32
|
+
if (newState.content) {
|
|
33
|
+
if (id === tid) {
|
|
34
|
+
// for the currently edited tester, we need to use the new content
|
|
35
|
+
// as-is to maintain the selection state
|
|
36
|
+
content = newState.content;
|
|
37
|
+
} else {
|
|
38
|
+
if (testers[id].content?.getCurrentContent() !== newState.content.getCurrentContent()) {
|
|
39
|
+
// but we can't use the `content` state as-is for other testers, because
|
|
40
|
+
// the selection state seems to be globally tied to the browser selection,
|
|
41
|
+
// so the cursor jumps to the other tester. we have to make a new
|
|
42
|
+
// EditorState with a copy of the content
|
|
43
|
+
content = _draftJs.EditorState.createWithContent(newState.content.getCurrentContent());
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
acc[tid] = {
|
|
48
|
+
...testers[tid],
|
|
49
|
+
...newState,
|
|
50
|
+
content
|
|
51
|
+
};
|
|
52
|
+
return acc;
|
|
53
|
+
}, {});
|
|
54
|
+
return {
|
|
55
|
+
...state,
|
|
56
|
+
testers: newTesters
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return state;
|
|
60
|
+
};
|
|
61
|
+
const groupReducer = (state, action) => {
|
|
62
|
+
const {
|
|
63
|
+
testers
|
|
64
|
+
} = state;
|
|
65
|
+
switch (action.type) {
|
|
66
|
+
case 'TOGGLE_MODE':
|
|
67
|
+
return {
|
|
68
|
+
...state,
|
|
69
|
+
mode: state.mode === 'group' ? 'local' : 'group'
|
|
70
|
+
};
|
|
71
|
+
case 'TOGGLE_GLOBAL_FEATURES_OPEN':
|
|
72
|
+
return {
|
|
73
|
+
...state,
|
|
74
|
+
globalFeaturesOpen: !state.globalFeaturesOpen
|
|
75
|
+
};
|
|
76
|
+
case 'SET_CONTENT':
|
|
77
|
+
return updateTester(state, action.id, {
|
|
78
|
+
content: action.value,
|
|
79
|
+
contentEdited: true
|
|
80
|
+
});
|
|
81
|
+
case 'SET_SIZE':
|
|
82
|
+
return updateTester(state, action.id, {
|
|
83
|
+
size: action.value
|
|
84
|
+
}, action.propagate);
|
|
85
|
+
case 'SET_LETTER_SPACING':
|
|
86
|
+
return updateTester(state, action.id, {
|
|
87
|
+
letterSpacing: action.value
|
|
88
|
+
});
|
|
89
|
+
case 'SET_FEATURES':
|
|
90
|
+
return updateTester(state, action.id, {
|
|
91
|
+
features: action.value
|
|
92
|
+
});
|
|
93
|
+
case 'SET_LINE_HEIGHT':
|
|
94
|
+
return updateTester(state, action.id, {
|
|
95
|
+
lineHeight: action.value
|
|
96
|
+
});
|
|
97
|
+
case 'SET_ALIGNMENT':
|
|
98
|
+
return updateTester(state, action.id, {
|
|
99
|
+
alignment: action.value
|
|
100
|
+
});
|
|
101
|
+
case 'SET_VARIABLE_SETTINGS':
|
|
102
|
+
return updateTester(state, action.id, {
|
|
103
|
+
variableSettings: action.value
|
|
104
|
+
});
|
|
105
|
+
case 'SET_FOCUSED':
|
|
106
|
+
return {
|
|
107
|
+
...state,
|
|
108
|
+
testers: {
|
|
109
|
+
...testers,
|
|
110
|
+
[action.id]: {
|
|
111
|
+
...testers[action.id],
|
|
112
|
+
focused: action.value
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
case 'SET_FEATURES_OPEN':
|
|
117
|
+
return {
|
|
118
|
+
...state,
|
|
119
|
+
testers: {
|
|
120
|
+
...testers,
|
|
121
|
+
[action.id]: {
|
|
122
|
+
...testers[action.id],
|
|
123
|
+
featuresOpen: action.value
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
const TypeTesterContextComponent = ({
|
|
130
|
+
children,
|
|
131
|
+
testers: initialTestersState,
|
|
132
|
+
defaultMode = 'group'
|
|
133
|
+
}) => {
|
|
134
|
+
const testers = Object.keys(initialTestersState).reduce((acc, id) => {
|
|
135
|
+
const initialState = initialTestersState[id];
|
|
136
|
+
const content = _draftJs.EditorState.createWithContent(_draftJs.ContentState.createFromText(initialState.content ?? ''));
|
|
137
|
+
acc[id] = {
|
|
138
|
+
content,
|
|
139
|
+
contentEdited: false,
|
|
140
|
+
size: initialState.size ?? 72,
|
|
141
|
+
letterSpacing: initialState.letterSpacing ?? 0,
|
|
142
|
+
lineHeight: initialState.lineHeight ?? 1,
|
|
143
|
+
autofit: initialState.autofit,
|
|
144
|
+
features: initialState.features ?? [],
|
|
145
|
+
featuresOpen: false,
|
|
146
|
+
focused: false,
|
|
147
|
+
alignment: initialState.alignment,
|
|
148
|
+
variableSettings: initialState.variableSettings,
|
|
149
|
+
direction: initialState.direction
|
|
150
|
+
};
|
|
151
|
+
return acc;
|
|
152
|
+
}, {});
|
|
153
|
+
const [value, dispatch] = (0, _react.useReducer)(groupReducer, {
|
|
154
|
+
mode: defaultMode,
|
|
155
|
+
globalFeaturesOpen: false,
|
|
156
|
+
testers
|
|
157
|
+
});
|
|
158
|
+
return /*#__PURE__*/_react.default.createElement(TypeTesterContext.Provider, {
|
|
159
|
+
value: {
|
|
160
|
+
...value,
|
|
161
|
+
dispatch
|
|
162
|
+
}
|
|
163
|
+
}, children);
|
|
164
|
+
};
|
|
165
|
+
var _default = TypeTesterContextComponent;
|
|
166
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _TypeTesterContext = require("./TypeTesterContext");
|
|
9
|
+
var _TypeTesterBullet = _interopRequireDefault(require("./TypeTesterBullet"));
|
|
10
|
+
var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
const TypeTesterEditAll = () => {
|
|
15
|
+
const {
|
|
16
|
+
typeTester: config
|
|
17
|
+
} = (0, _react.useContext)(_ConfigContext.default);
|
|
18
|
+
const {
|
|
19
|
+
mode,
|
|
20
|
+
dispatch
|
|
21
|
+
} = (0, _react.useContext)(_TypeTesterContext.TypeTesterContext);
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement("button", {
|
|
23
|
+
className: "type-tester__edit-all",
|
|
24
|
+
onClick: () => dispatch({
|
|
25
|
+
type: 'TOGGLE_MODE'
|
|
26
|
+
}),
|
|
27
|
+
type: "button"
|
|
28
|
+
}, /*#__PURE__*/_react.default.createElement(_TypeTesterBullet.default, {
|
|
29
|
+
checked: mode === 'group',
|
|
30
|
+
config: config
|
|
31
|
+
}), ' ', /*#__PURE__*/_react.default.createElement("span", {
|
|
32
|
+
className: "type-tester__edit-all__text"
|
|
33
|
+
}, "Affect all styles"));
|
|
34
|
+
};
|
|
35
|
+
var _default = TypeTesterEditAll;
|
|
36
|
+
exports.default = _default;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = TypeTesterFeatures;
|
|
7
|
+
var _TypeTesterFeatures_fontStyle2 = _interopRequireDefault(require("../../__generated__/TypeTesterFeatures_fontStyle.graphql"));
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactRelay = require("react-relay");
|
|
10
|
+
var _TypeTesterBullet = _interopRequireDefault(require("../TypeTester/TypeTesterBullet"));
|
|
11
|
+
var _TypeTesterState = _interopRequireDefault(require("./TypeTesterState"));
|
|
12
|
+
var _Checkbox = _interopRequireDefault(require("../Checkbox"));
|
|
13
|
+
var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
|
|
14
|
+
var _useFeaturesData = _interopRequireDefault(require("./useFeaturesData"));
|
|
15
|
+
var _TypeTesterVariableAxes = _interopRequireDefault(require("./TypeTesterVariableAxes"));
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
function useHeightAnimation(isOpen = false, duration = 350) {
|
|
20
|
+
const contentRef = (0, _react.useRef)(null);
|
|
21
|
+
const [height, setHeight] = (0, _react.useState)(isOpen ? 'auto' : 0);
|
|
22
|
+
const changed = (0, _react.useRef)(false);
|
|
23
|
+
(0, _react.useEffect)(() => {
|
|
24
|
+
const contentRect = contentRef.current?.getBoundingClientRect();
|
|
25
|
+
if (!contentRect) return;
|
|
26
|
+
if (changed.current === false) {
|
|
27
|
+
// don't run initially. couldn't think of a better solution
|
|
28
|
+
changed.current = true;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
setHeight(`${contentRect.height}px`);
|
|
32
|
+
const first = setTimeout(() => setHeight(isOpen ? `${contentRect.height}px` : 0));
|
|
33
|
+
const second = setTimeout(() => {
|
|
34
|
+
if (isOpen) {
|
|
35
|
+
setHeight('auto');
|
|
36
|
+
}
|
|
37
|
+
}, duration);
|
|
38
|
+
return () => {
|
|
39
|
+
clearTimeout(first);
|
|
40
|
+
clearTimeout(second);
|
|
41
|
+
};
|
|
42
|
+
}, [isOpen]);
|
|
43
|
+
return {
|
|
44
|
+
height,
|
|
45
|
+
contentRef
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const shouldIncludeFeature = (supportedFeatures, feature) => {
|
|
49
|
+
if (!supportedFeatures) return false;
|
|
50
|
+
return supportedFeatures.indexOf(feature) >= 0;
|
|
51
|
+
};
|
|
52
|
+
function TypeTesterFeatures({
|
|
53
|
+
id,
|
|
54
|
+
fontStyle: fontStyleKey,
|
|
55
|
+
features: showFeatures,
|
|
56
|
+
axes
|
|
57
|
+
}) {
|
|
58
|
+
const fontStyle = (0, _reactRelay.useFragment)((_TypeTesterFeatures_fontStyle2.default.hash && _TypeTesterFeatures_fontStyle2.default.hash !== "d0c693dadaa9ae68f5295f3fc69a7578" && console.error("The definition of 'TypeTesterFeatures_fontStyle' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _TypeTesterFeatures_fontStyle2.default), fontStyleKey);
|
|
59
|
+
const {
|
|
60
|
+
typeTester: config
|
|
61
|
+
} = (0, _react.useContext)(_ConfigContext.default);
|
|
62
|
+
const {
|
|
63
|
+
features: selectedFeatures,
|
|
64
|
+
toggleFeature,
|
|
65
|
+
featuresOpen
|
|
66
|
+
} = (0, _TypeTesterState.default)({
|
|
67
|
+
id
|
|
68
|
+
});
|
|
69
|
+
const selectionStyle = config.openTypeFeatures.selectionStyle;
|
|
70
|
+
const {
|
|
71
|
+
featureNames,
|
|
72
|
+
fontFeatures
|
|
73
|
+
} = (0, _useFeaturesData.default)({
|
|
74
|
+
fontStyle
|
|
75
|
+
});
|
|
76
|
+
const renderFeature = feature => {
|
|
77
|
+
const featureCode = typeof feature === 'string' ? feature : feature.code;
|
|
78
|
+
const featureName = typeof feature === 'string' ? featureNames[featureCode] : feature.name;
|
|
79
|
+
const checked = selectedFeatures.indexOf(featureCode) >= 0;
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement("button", {
|
|
81
|
+
key: featureCode,
|
|
82
|
+
className: "type-tester__features__button",
|
|
83
|
+
type: "button",
|
|
84
|
+
onClick: () => toggleFeature(featureCode)
|
|
85
|
+
}, selectionStyle === 'bullet' && /*#__PURE__*/_react.default.createElement(_TypeTesterBullet.default, {
|
|
86
|
+
checked: checked,
|
|
87
|
+
config: config
|
|
88
|
+
}), selectionStyle === 'checkbox' && /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
|
|
89
|
+
checked: checked,
|
|
90
|
+
readOnly: true
|
|
91
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
92
|
+
className: "type-tester__features__name"
|
|
93
|
+
}, featureName));
|
|
94
|
+
};
|
|
95
|
+
let featuresColumns;
|
|
96
|
+
if (config.openTypeFeatures?.columns?.length) {
|
|
97
|
+
featuresColumns = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, config.openTypeFeatures.columns.map((columnConfig, i) => /*#__PURE__*/_react.default.createElement("div", {
|
|
98
|
+
key: i,
|
|
99
|
+
"data-range": columnConfig.range,
|
|
100
|
+
className: "type-tester__features__column",
|
|
101
|
+
style: {
|
|
102
|
+
'--grid-range': columnConfig.range
|
|
103
|
+
}
|
|
104
|
+
}, columnConfig.features.filter(feature => shouldIncludeFeature(fontFeatures?.supportedFeatures, typeof feature === 'string' ? feature : feature.code)).map(renderFeature))));
|
|
105
|
+
} else {
|
|
106
|
+
const expanded = showFeatures?.includes('*') ? fontFeatures?.supportedFeatures ?? [] : (showFeatures ?? []).filter(feature => shouldIncludeFeature(fontFeatures?.supportedFeatures, feature));
|
|
107
|
+
featuresColumns = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, expanded.map(renderFeature));
|
|
108
|
+
}
|
|
109
|
+
const {
|
|
110
|
+
height: featuresHeight,
|
|
111
|
+
contentRef: featuresContentRef
|
|
112
|
+
} = useHeightAnimation(featuresOpen, 300);
|
|
113
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
114
|
+
className: "type-tester__features-container",
|
|
115
|
+
onMouseDown: e => e.preventDefault(),
|
|
116
|
+
"data-open": featuresOpen,
|
|
117
|
+
style: {
|
|
118
|
+
height: featuresHeight,
|
|
119
|
+
overflow: featuresHeight === 'auto' ? 'visible' : 'hidden',
|
|
120
|
+
transition: `height 300ms ease-out`
|
|
121
|
+
}
|
|
122
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
123
|
+
ref: featuresContentRef
|
|
124
|
+
}, axes ? /*#__PURE__*/_react.default.createElement(_TypeTesterVariableAxes.default, {
|
|
125
|
+
id: id,
|
|
126
|
+
axes: axes,
|
|
127
|
+
fontStyle: fontStyle
|
|
128
|
+
}) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
129
|
+
className: "type-tester__features",
|
|
130
|
+
"data-selection-style": selectionStyle,
|
|
131
|
+
"data-columns": config.openTypeFeatures?.columns?.length ? 'set' : 'auto'
|
|
132
|
+
}, featuresColumns)));
|
|
133
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _TypeTesterFeaturesButton_fontStyle2 = _interopRequireDefault(require("../../__generated__/TypeTesterFeaturesButton_fontStyle.graphql"));
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
|
|
10
|
+
var _CarrotDown = _interopRequireDefault(require("../Icons/CarrotDown"));
|
|
11
|
+
var _CarrotUp = _interopRequireDefault(require("../Icons/CarrotUp"));
|
|
12
|
+
var _Select = _interopRequireDefault(require("../Select"));
|
|
13
|
+
var _TypeTesterState = _interopRequireDefault(require("./TypeTesterState"));
|
|
14
|
+
var _useFeaturesData = _interopRequireDefault(require("./useFeaturesData"));
|
|
15
|
+
var _reactRelay = require("react-relay");
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
const TypeTesterFeaturesButton = ({
|
|
20
|
+
id,
|
|
21
|
+
fontStyle: fontStyleKey,
|
|
22
|
+
onNeedsRefocus,
|
|
23
|
+
features: showFeatures
|
|
24
|
+
}) => {
|
|
25
|
+
const {
|
|
26
|
+
typeTester: config
|
|
27
|
+
} = (0, _react.useContext)(_ConfigContext.default);
|
|
28
|
+
const {
|
|
29
|
+
featuresOpen,
|
|
30
|
+
toggleFeaturesOpen,
|
|
31
|
+
features,
|
|
32
|
+
setFeatures
|
|
33
|
+
} = (0, _TypeTesterState.default)({
|
|
34
|
+
id
|
|
35
|
+
});
|
|
36
|
+
const selectedFeature = features[0];
|
|
37
|
+
const fontStyle = (0, _reactRelay.useFragment)((_TypeTesterFeaturesButton_fontStyle2.default.hash && _TypeTesterFeaturesButton_fontStyle2.default.hash !== "bfda99c867db0b614314fc774911c4b0" && console.error("The definition of 'TypeTesterFeaturesButton_fontStyle' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _TypeTesterFeaturesButton_fontStyle2.default), fontStyleKey);
|
|
38
|
+
const {
|
|
39
|
+
featureNames,
|
|
40
|
+
fontFeatures
|
|
41
|
+
} = (0, _useFeaturesData.default)({
|
|
42
|
+
fontStyle
|
|
43
|
+
});
|
|
44
|
+
const effectiveFeatures = showFeatures?.includes('*') ? fontFeatures?.supportedFeatures ?? [] : showFeatures;
|
|
45
|
+
if (config.openTypeFeatures.interactionStyle === 'panel') {
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
47
|
+
className: "type-tester__features-button",
|
|
48
|
+
"data-features-open": featuresOpen,
|
|
49
|
+
"data-features-selected": features.length || 0
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
51
|
+
className: "type-tester__features-button__button",
|
|
52
|
+
type: "button",
|
|
53
|
+
onClick: () => toggleFeaturesOpen()
|
|
54
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
55
|
+
className: "type-tester__features-button__text"
|
|
56
|
+
}, config.openTypeFeatures.buttonLabel), ' ', featuresOpen ? /*#__PURE__*/_react.default.createElement(_CarrotUp.default, null) : /*#__PURE__*/_react.default.createElement(_CarrotDown.default, null)));
|
|
57
|
+
}
|
|
58
|
+
if (config.openTypeFeatures.interactionStyle === 'select') {
|
|
59
|
+
if (!effectiveFeatures || effectiveFeatures.length === 0) return null;
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
61
|
+
className: "type-tester__features-select"
|
|
62
|
+
}, /*#__PURE__*/_react.default.createElement(_Select.default, {
|
|
63
|
+
value: selectedFeature ?? '',
|
|
64
|
+
options: [{
|
|
65
|
+
value: '',
|
|
66
|
+
text: 'OT Features'
|
|
67
|
+
}].concat(effectiveFeatures.map(feature => ({
|
|
68
|
+
value: feature,
|
|
69
|
+
text: featureNames[feature]
|
|
70
|
+
}))),
|
|
71
|
+
onChange: e => {
|
|
72
|
+
setFeatures(e.target.value === '' ? [] : [e.target.value]);
|
|
73
|
+
onNeedsRefocus?.();
|
|
74
|
+
},
|
|
75
|
+
onClick: e => e.stopPropagation(),
|
|
76
|
+
onMouseDown: e => e.stopPropagation()
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
};
|
|
81
|
+
var _default = TypeTesterFeaturesButton;
|
|
82
|
+
exports.default = _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _useTypeTesterStyler = _interopRequireDefault(require("./useTypeTesterStyler"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
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); }
|
|
11
|
+
const TypeTesterFitter = ({
|
|
12
|
+
children,
|
|
13
|
+
...props
|
|
14
|
+
}) => {
|
|
15
|
+
const style = (0, _useTypeTesterStyler.default)(props);
|
|
16
|
+
return /*#__PURE__*/_react.default.createElement("div", _extends({
|
|
17
|
+
className: "type-tester__text__container"
|
|
18
|
+
}, style), children);
|
|
19
|
+
};
|
|
20
|
+
var _default = TypeTesterFitter;
|
|
21
|
+
exports.default = _default;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = TypeTesterFloatingToolbar;
|
|
7
|
+
var _TypeTesterFloatingToolbar_testers2 = _interopRequireDefault(require("../../__generated__/TypeTesterFloatingToolbar_testers.graphql"));
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactRelay = require("react-relay");
|
|
10
|
+
var _TypeTesterContext = require("./TypeTesterContext");
|
|
11
|
+
var _TypeTesterFeatures = _interopRequireDefault(require("./TypeTesterFeatures"));
|
|
12
|
+
var _TypeTesterToolbar = _interopRequireDefault(require("./TypeTesterToolbar"));
|
|
13
|
+
var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
|
|
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 TypeTesterFloatingToolbar({
|
|
18
|
+
testers: testersKey,
|
|
19
|
+
features,
|
|
20
|
+
axes,
|
|
21
|
+
onToolbarOpenClose
|
|
22
|
+
}) {
|
|
23
|
+
const testersData = (0, _reactRelay.useFragment)((_TypeTesterFloatingToolbar_testers2.default.hash && _TypeTesterFloatingToolbar_testers2.default.hash !== "5f037fca9e02cba8c202f17e08ff8db6" && console.error("The definition of 'TypeTesterFloatingToolbar_testers' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _TypeTesterFloatingToolbar_testers2.default), testersKey);
|
|
24
|
+
const {
|
|
25
|
+
testers
|
|
26
|
+
} = (0, _react.useContext)(_TypeTesterContext.TypeTesterContext);
|
|
27
|
+
const id = Object.keys(testers).find(id => testers[id].focused);
|
|
28
|
+
const [open, setOpen] = (0, _react.useState)(false);
|
|
29
|
+
|
|
30
|
+
// when focus is lost, we lose the latest id, but we don't want to immediately
|
|
31
|
+
// un-render the toolbar for that id because there's a transition to hide the
|
|
32
|
+
// toolbar. so this keeps the tools rendered with the last non-null id
|
|
33
|
+
const [activeId, setActiveId] = (0, _react.useState)(id);
|
|
34
|
+
(0, _react.useEffect)(() => {
|
|
35
|
+
if (id) {
|
|
36
|
+
setActiveId(id);
|
|
37
|
+
setOpen(true); // always open if we get a new id
|
|
38
|
+
}
|
|
39
|
+
}, [id]);
|
|
40
|
+
(0, _react.useEffect)(() => {
|
|
41
|
+
let observer = new IntersectionObserver(entries => {
|
|
42
|
+
const entry = entries[0];
|
|
43
|
+
if (!entry.isIntersecting) {
|
|
44
|
+
setOpen(false);
|
|
45
|
+
document.activeElement?.blur();
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const typeTesterElement = document.querySelector(`[data-type-tester-id="${activeId}"]`);
|
|
49
|
+
if (!typeTesterElement) return;
|
|
50
|
+
observer.observe(typeTesterElement);
|
|
51
|
+
return () => {
|
|
52
|
+
observer.disconnect();
|
|
53
|
+
};
|
|
54
|
+
}, [activeId]);
|
|
55
|
+
(0, _react.useEffect)(() => {
|
|
56
|
+
onToolbarOpenClose?.(open);
|
|
57
|
+
}, [onToolbarOpenClose, open]);
|
|
58
|
+
const {
|
|
59
|
+
typeTester: config
|
|
60
|
+
} = (0, _react.useContext)(_ConfigContext.default);
|
|
61
|
+
const fontStyle = testersData.find(tester => tester.id === activeId)?.fontStyle;
|
|
62
|
+
const axesPosition = config.variableAxesPosition === 'auto' ? (axes?.length ?? 0) > 1 ? 'features-panel' : 'inline' : config.variableAxesPosition;
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
64
|
+
className: "type-tester__floating-toolbar",
|
|
65
|
+
onMouseDown: e => e.preventDefault(),
|
|
66
|
+
"data-open": activeId && open
|
|
67
|
+
}, activeId && fontStyle && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_TypeTesterToolbar.default, {
|
|
68
|
+
id: activeId,
|
|
69
|
+
features: features,
|
|
70
|
+
axes: axes,
|
|
71
|
+
axesPosition: axesPosition,
|
|
72
|
+
fontStyle: fontStyle
|
|
73
|
+
}), features && /*#__PURE__*/_react.default.createElement(_TypeTesterFeatures.default, {
|
|
74
|
+
id: activeId,
|
|
75
|
+
features: features,
|
|
76
|
+
axes: axes,
|
|
77
|
+
fontStyle: fontStyle
|
|
78
|
+
})));
|
|
79
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.TypeTesterInput = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
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); }
|
|
9
|
+
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; }
|
|
10
|
+
const TypeTesterInput = ({
|
|
11
|
+
value,
|
|
12
|
+
onChange,
|
|
13
|
+
min,
|
|
14
|
+
max,
|
|
15
|
+
setFocused
|
|
16
|
+
}) => {
|
|
17
|
+
const [localValue, setLocalValue] = (0, _react.useState)(value);
|
|
18
|
+
const [isError, setIsError] = (0, _react.useState)(false);
|
|
19
|
+
(0, _react.useEffect)(() => {
|
|
20
|
+
setLocalValue(Math.round(value));
|
|
21
|
+
}, [value]);
|
|
22
|
+
const propagateValue = (0, _react.useCallback)(() => {
|
|
23
|
+
if (localValue && localValue >= min && localValue <= max) {
|
|
24
|
+
setIsError(false);
|
|
25
|
+
onChange(localValue);
|
|
26
|
+
} else {
|
|
27
|
+
setIsError(true);
|
|
28
|
+
}
|
|
29
|
+
}, [localValue, onChange, setIsError]);
|
|
30
|
+
const handleChange = (0, _react.useCallback)(e => {
|
|
31
|
+
if (e.target.value === '') {
|
|
32
|
+
return setLocalValue(null);
|
|
33
|
+
}
|
|
34
|
+
const parsed = parseFloat(e.target.value);
|
|
35
|
+
if (!Number.isNaN(parsed)) {
|
|
36
|
+
setLocalValue(parsed);
|
|
37
|
+
}
|
|
38
|
+
}, []);
|
|
39
|
+
const handleKeyDown = (0, _react.useCallback)(e => {
|
|
40
|
+
if (e.key === 'Enter') propagateValue();
|
|
41
|
+
if (localValue) {
|
|
42
|
+
const distance = e.shiftKey ? 10 : 1;
|
|
43
|
+
if (e.key === 'ArrowUp') {
|
|
44
|
+
e.preventDefault();
|
|
45
|
+
onChange(Math.min(max, localValue + distance));
|
|
46
|
+
}
|
|
47
|
+
if (e.key === 'ArrowDown') {
|
|
48
|
+
e.preventDefault();
|
|
49
|
+
onChange(Math.max(min, localValue - distance));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}, [propagateValue, localValue]);
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement("label", {
|
|
54
|
+
className: "type-tester__toolbar__label",
|
|
55
|
+
"data-label": "size-input",
|
|
56
|
+
"data-is-error": isError
|
|
57
|
+
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
58
|
+
className: "type-tester__toolbar__input",
|
|
59
|
+
type: "text",
|
|
60
|
+
style: {
|
|
61
|
+
width: `${localValue?.toString().length ?? 2}ch`
|
|
62
|
+
},
|
|
63
|
+
value: localValue || '',
|
|
64
|
+
onChange: handleChange,
|
|
65
|
+
onKeyDown: handleKeyDown,
|
|
66
|
+
onFocus: () => setFocused(true),
|
|
67
|
+
onBlur: () => setFocused(false)
|
|
68
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, "px"));
|
|
69
|
+
};
|
|
70
|
+
exports.TypeTesterInput = TypeTesterInput;
|
|
71
|
+
var _default = TypeTesterInput;
|
|
72
|
+
exports.default = _default;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactRanger = require("../../react-ranger");
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
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); }
|
|
12
|
+
const logInterpolator = {
|
|
13
|
+
getPercentageForValue: (val, min, max) => {
|
|
14
|
+
const minSign = Math.sign(min);
|
|
15
|
+
const maxSign = Math.sign(max);
|
|
16
|
+
if (minSign !== maxSign) {
|
|
17
|
+
throw new Error('Error: logarithmic interpolation does not support ranges that cross 0.');
|
|
18
|
+
}
|
|
19
|
+
let percent = 100 / (Math.log10(Math.abs(max)) - Math.log10(Math.abs(min))) * (Math.log10(Math.abs(val)) - Math.log10(Math.abs(min)));
|
|
20
|
+
if (minSign < 0) {
|
|
21
|
+
// negative range, means we need to invert our percent because of the Math.abs above
|
|
22
|
+
return 100 - percent;
|
|
23
|
+
}
|
|
24
|
+
return percent;
|
|
25
|
+
},
|
|
26
|
+
getValueForClientX: (clientX, trackDims, min, max) => {
|
|
27
|
+
const {
|
|
28
|
+
left,
|
|
29
|
+
width
|
|
30
|
+
} = trackDims; // FIXME
|
|
31
|
+
let value = clientX - left;
|
|
32
|
+
value *= Math.log10(max) - Math.log10(min);
|
|
33
|
+
value /= width;
|
|
34
|
+
value = Math.pow(10, Math.log10(min) + value);
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const TypeTesterSlider = ({
|
|
39
|
+
min,
|
|
40
|
+
max,
|
|
41
|
+
stepSize,
|
|
42
|
+
value,
|
|
43
|
+
onChange,
|
|
44
|
+
interpolator
|
|
45
|
+
}) => {
|
|
46
|
+
const handleChange = (0, _react.useCallback)(values => onChange(values[0]), [onChange]);
|
|
47
|
+
const {
|
|
48
|
+
getTrackProps,
|
|
49
|
+
handles
|
|
50
|
+
} = (0, _reactRanger.useRanger)({
|
|
51
|
+
min,
|
|
52
|
+
max,
|
|
53
|
+
stepSize,
|
|
54
|
+
values: [value],
|
|
55
|
+
onChange: handleChange,
|
|
56
|
+
onDrag: handleChange,
|
|
57
|
+
interpolator: interpolator === 'log10' ? logInterpolator : undefined
|
|
58
|
+
});
|
|
59
|
+
return /*#__PURE__*/_react.default.createElement("div", getTrackProps({
|
|
60
|
+
className: 'type-tester__slider__track'
|
|
61
|
+
}), handles.map(({
|
|
62
|
+
getHandleProps
|
|
63
|
+
}, index) => {
|
|
64
|
+
const {
|
|
65
|
+
key,
|
|
66
|
+
...handleProps
|
|
67
|
+
} = getHandleProps({
|
|
68
|
+
className: 'type-tester__slider__handle'
|
|
69
|
+
});
|
|
70
|
+
return /*#__PURE__*/_react.default.createElement("button", _extends({
|
|
71
|
+
key: key ?? index
|
|
72
|
+
}, handleProps));
|
|
73
|
+
}));
|
|
74
|
+
};
|
|
75
|
+
var _default = TypeTesterSlider;
|
|
76
|
+
exports.default = _default;
|