@crossmint/client-sdk-react-ui 1.10.7 → 1.11.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/dist/chunk-2POV64LQ.js +1 -0
- package/dist/chunk-2U6DCZSI.js +1 -0
- package/dist/chunk-2VILTRL5.js +1 -0
- package/dist/chunk-2VQLMU5A.cjs +1 -0
- package/dist/chunk-2WSEHVNP.cjs +1 -0
- package/dist/chunk-33OQI6MO.js +1 -0
- package/dist/chunk-3BUVHV54.js +0 -0
- package/dist/chunk-3EQVCVCE.cjs +1 -0
- package/dist/chunk-3FQDW3IU.js +1 -0
- package/dist/chunk-3GIMVKF3.js +1 -0
- package/dist/chunk-4IHRWQWT.js +1 -0
- package/dist/chunk-4ITU7JF2.js +1 -0
- package/dist/chunk-56YL3XJW.cjs +1 -0
- package/dist/chunk-5IFQJPBE.cjs +1 -0
- package/dist/chunk-5M3BWY6T.cjs +1 -0
- package/dist/chunk-6IRIZUTM.cjs +1 -0
- package/dist/chunk-6M5OP7SM.js +1 -0
- package/dist/chunk-72MMCJ2E.js +0 -0
- package/dist/chunk-72P3JMXX.js +1 -0
- package/dist/chunk-77PBG2JJ.js +1 -0
- package/dist/chunk-7ANJ2GZG.cjs +1 -0
- package/dist/chunk-7ASOCI4Q.js +1 -0
- package/dist/chunk-7B364FBM.cjs +1 -0
- package/dist/chunk-7VI5AXX5.cjs +1 -0
- package/dist/chunk-AUSETHZ3.cjs +1 -0
- package/dist/chunk-AXMHJC73.cjs +1 -0
- package/dist/chunk-BR77Q3PK.cjs +1 -0
- package/dist/chunk-BV7CQ2QS.js +1 -0
- package/dist/chunk-C3JRTLQP.js +1 -0
- package/dist/chunk-CW33KBH3.cjs +1 -0
- package/dist/chunk-D3255LVM.cjs +1 -0
- package/dist/chunk-D4K2AGJK.cjs +1 -0
- package/dist/chunk-DGZQUCSD.js +1 -0
- package/dist/chunk-DPUG72P3.cjs +1 -0
- package/dist/chunk-E4TBJMOO.js +1 -0
- package/dist/chunk-EA7H4AXL.js +1 -0
- package/dist/chunk-EUXGP4IN.cjs +1 -0
- package/dist/chunk-EVADF7QA.js +1 -0
- package/dist/chunk-FON43I6G.cjs +1 -0
- package/dist/chunk-G4LT7I7W.js +1 -0
- package/dist/chunk-GPGY5B6G.js +1 -0
- package/dist/chunk-GPQZG7HC.cjs +1 -0
- package/dist/chunk-HG5ML6KX.cjs +1 -0
- package/dist/chunk-HJ4ZXU2X.js +1 -0
- package/dist/chunk-I4GMMHQR.cjs +1 -0
- package/dist/chunk-IAJBYU5C.js +1 -0
- package/dist/chunk-IMRZHYQK.cjs +1 -0
- package/dist/chunk-IMV35JZB.cjs +1 -0
- package/dist/chunk-IV4ACZQE.js +1 -0
- package/dist/chunk-IZGR67ZI.js +1 -0
- package/dist/chunk-JDYEU555.cjs +1 -0
- package/dist/chunk-JGM3G5E2.js +1 -0
- package/dist/chunk-JSNUJJQJ.js +1 -0
- package/dist/chunk-KFL42A3A.js +1 -0
- package/dist/chunk-KI4HRYHD.cjs +1 -0
- package/dist/chunk-LMSKJDGS.js +1 -0
- package/dist/chunk-M42BIIZJ.cjs +1 -0
- package/dist/chunk-N7OESP3W.js +1 -0
- package/dist/chunk-NB7AJIPT.js +0 -0
- package/dist/chunk-NBJIJZGO.js +1 -0
- package/dist/chunk-NCDVID2B.js +1 -0
- package/dist/chunk-NEKICGOA.cjs +1 -0
- package/dist/chunk-NFLGT52C.cjs +1 -0
- package/dist/chunk-NRN4WNQL.cjs +1 -0
- package/dist/chunk-NU6UB76I.cjs +1 -0
- package/dist/chunk-NZQIZ4ZY.cjs +1 -0
- package/dist/chunk-O5J2ZIJ6.cjs +1 -0
- package/dist/chunk-O73L7XWQ.js +1 -0
- package/dist/chunk-OOLXYAO7.js +1 -0
- package/dist/chunk-PDEAWPX3.cjs +1 -0
- package/dist/chunk-PW7TOKQ2.cjs +1 -0
- package/dist/chunk-PXDN3KFO.js +1 -0
- package/dist/chunk-QASKWI5Y.js +1 -0
- package/dist/chunk-QYQERFYL.cjs +1 -0
- package/dist/chunk-ROJ6HFVK.js +1 -0
- package/dist/chunk-RYQRCUKB.js +1 -0
- package/dist/chunk-S73E6EBO.cjs +1 -0
- package/dist/chunk-SFDQPSSP.js +1 -0
- package/dist/chunk-SRQAQHYK.cjs +1 -0
- package/dist/chunk-T6FFMX2I.js +1 -0
- package/dist/chunk-TD56X3VP.js +1 -0
- package/dist/chunk-TM7WDKYR.cjs +1 -0
- package/dist/chunk-TNCETEEL.js +1 -0
- package/dist/chunk-TXOVDTYK.cjs +1 -0
- package/dist/chunk-UAFW3OWA.js +1 -0
- package/dist/chunk-UEC3RXWE.cjs +1 -0
- package/dist/chunk-UHKWPOFV.js +1 -0
- package/dist/chunk-UP4F7YLI.cjs +1 -0
- package/dist/chunk-UYSB2EMS.cjs +1 -0
- package/dist/chunk-VHNBXIOC.js +1 -0
- package/dist/chunk-VI6TW7JT.cjs +1 -0
- package/dist/chunk-VLDE23JX.js +1 -0
- package/dist/chunk-VWBAHXIO.cjs +1 -0
- package/dist/chunk-VWL76U5G.js +1 -0
- package/dist/chunk-W4UPIFFS.cjs +1 -0
- package/dist/chunk-WABJHG6B.cjs +1 -0
- package/dist/chunk-WECMBN4Z.cjs +1 -0
- package/dist/chunk-WHFUW3W3.js +0 -0
- package/dist/chunk-WW3LYPGC.cjs +1 -0
- package/dist/chunk-X5BBXO27.cjs +1 -0
- package/dist/chunk-XIVIIEY5.js +1 -0
- package/dist/chunk-XUQK2ILL.cjs +1 -0
- package/dist/chunk-XUT4N66R.cjs +1 -0
- package/dist/chunk-YV6LD2NU.js +1 -0
- package/dist/chunk-YXF74MVI.cjs +1 -0
- package/dist/chunk-Z2FGFHRQ.cjs +1 -0
- package/dist/chunk-Z5PEH5AD.js +1 -0
- package/dist/chunk-ZUZEZZX7.js +1 -0
- package/dist/components/CrossmintNFTCollectionView.cjs +1 -9
- package/dist/components/CrossmintNFTCollectionView.js +1 -9
- package/dist/components/CrossmintNFTDetail.cjs +1 -9
- package/dist/components/CrossmintNFTDetail.js +1 -9
- package/dist/components/auth/AuthForm.cjs +1 -30
- package/dist/components/auth/AuthForm.js +1 -30
- package/dist/components/auth/AuthFormBackButton.cjs +1 -30
- package/dist/components/auth/AuthFormBackButton.js +1 -30
- package/dist/components/auth/AuthFormDialog.cjs +1 -30
- package/dist/components/auth/AuthFormDialog.js +1 -30
- package/dist/components/auth/EmbeddedAuthForm.cjs +1 -31
- package/dist/components/auth/EmbeddedAuthForm.js +1 -31
- package/dist/components/auth/PasskeyPrompt.cjs +1 -14
- package/dist/components/auth/PasskeyPrompt.js +1 -14
- package/dist/components/auth/methods/email/EmailAuthFlow.cjs +1 -30
- package/dist/components/auth/methods/email/EmailAuthFlow.js +1 -30
- package/dist/components/auth/methods/email/EmailOTPInput.cjs +1 -32
- package/dist/components/auth/methods/email/EmailOTPInput.js +1 -32
- package/dist/components/auth/methods/email/EmailSignIn.cjs +1 -30
- package/dist/components/auth/methods/email/EmailSignIn.js +1 -30
- package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +1 -30
- package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +1 -30
- package/dist/components/auth/methods/google/GoogleSignIn.cjs +1 -30
- package/dist/components/auth/methods/google/GoogleSignIn.js +1 -30
- package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +1 -67
- package/dist/components/auth/methods/web3/Web3AuthFlow.js +1 -67
- package/dist/components/auth/methods/web3/Web3AuthFlowButton.cjs +1 -33
- package/dist/components/auth/methods/web3/Web3AuthFlowButton.js +1 -33
- package/dist/components/auth/methods/web3/Web3Connector.cjs +1 -65
- package/dist/components/auth/methods/web3/Web3Connector.js +1 -65
- package/dist/components/auth/methods/web3/Web3ConnectorButton.cjs +1 -53
- package/dist/components/auth/methods/web3/Web3ConnectorButton.js +1 -53
- package/dist/components/auth/methods/web3/Web3Connectors.cjs +1 -31
- package/dist/components/auth/methods/web3/Web3Connectors.js +1 -31
- package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.cjs +1 -0
- package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.d.cts +9 -0
- package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.d.ts +9 -0
- package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.js +1 -0
- package/dist/components/common/CrossmintLogoV2/consts.cjs +1 -0
- package/dist/components/common/CrossmintLogoV2/consts.d.cts +35 -0
- package/dist/components/common/CrossmintLogoV2/consts.d.ts +35 -0
- package/dist/components/common/CrossmintLogoV2/consts.js +1 -0
- package/dist/components/common/CrossmintLogoV2/schemas.cjs +1 -0
- package/dist/components/common/CrossmintLogoV2/schemas.d.cts +199 -0
- package/dist/components/common/CrossmintLogoV2/schemas.d.ts +199 -0
- package/dist/components/common/CrossmintLogoV2/schemas.js +1 -0
- package/dist/components/common/Dialog.cjs +1 -26
- package/dist/components/common/Dialog.js +1 -26
- package/dist/components/common/Divider.cjs +1 -30
- package/dist/components/common/Divider.js +1 -30
- package/dist/components/common/InputOTP.cjs +1 -14
- package/dist/components/common/InputOTP.js +1 -14
- package/dist/components/common/PoweredByCrossmint.cjs +1 -10
- package/dist/components/common/PoweredByCrossmint.js +1 -10
- package/dist/components/common/Spinner.cjs +1 -9
- package/dist/components/common/Spinner.js +1 -9
- package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.cjs +1 -8
- package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.js +1 -8
- package/dist/components/embed/EmbeddedCheckoutIFrame.cjs +1 -8
- package/dist/components/embed/EmbeddedCheckoutIFrame.js +1 -8
- package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs +1 -11
- package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js +1 -11
- package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs +1 -10
- package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js +1 -10
- package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs +1 -11
- package/dist/components/embed/fiat/FiatEmbeddedCheckout.js +1 -11
- package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs +1 -10
- package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js +1 -10
- package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs +1 -75
- package/dist/components/embed/fiat/FiatPaymentElement_OLD.js +1 -75
- package/dist/components/embed/index.cjs +1 -14
- package/dist/components/embed/index.js +1 -14
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +1 -32
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -32
- package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +1 -31
- package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +1 -31
- package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs +1 -142
- package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js +1 -142
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs +1 -70
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js +1 -70
- package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs +1 -8
- package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js +1 -8
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs +1 -52
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js +1 -52
- package/dist/components/embed/v3/index.cjs +1 -33
- package/dist/components/embed/v3/index.js +1 -33
- package/dist/components/hosted/CrossmintPayButton.cjs +1 -11
- package/dist/components/hosted/CrossmintPayButton.js +1 -11
- package/dist/components/hosted/index.cjs +1 -12
- package/dist/components/hosted/index.d.cts +1 -0
- package/dist/components/hosted/index.d.ts +1 -0
- package/dist/components/hosted/index.js +1 -12
- package/dist/components/hosted/styles.cjs +1 -10
- package/dist/components/hosted/styles.js +1 -10
- package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.cjs +1 -0
- package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.d.cts +8 -0
- package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.d.ts +8 -0
- package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.js +1 -0
- package/dist/components/hosted/v3/index.cjs +1 -0
- package/dist/components/hosted/v3/index.d.cts +4 -0
- package/dist/components/hosted/v3/index.d.ts +4 -0
- package/dist/components/hosted/v3/index.js +1 -0
- package/dist/components/index.cjs +1 -63
- package/dist/components/index.d.cts +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -63
- package/dist/consts/version.cjs +1 -8
- package/dist/consts/version.js +1 -8
- package/dist/hooks/index.cjs +1 -42
- package/dist/hooks/index.js +1 -42
- package/dist/hooks/useAuth.cjs +1 -30
- package/dist/hooks/useAuth.js +1 -30
- package/dist/hooks/useCrossmint.cjs +1 -10
- package/dist/hooks/useCrossmint.js +1 -10
- package/dist/hooks/useCrossmintAuth.cjs +1 -30
- package/dist/hooks/useCrossmintAuth.js +1 -30
- package/dist/hooks/useCrossmintCheckout.cjs +1 -13
- package/dist/hooks/useCrossmintCheckout.js +1 -13
- package/dist/hooks/useDeepEffect.cjs +1 -8
- package/dist/hooks/useDeepEffect.js +1 -8
- package/dist/hooks/useEnvironment.cjs +1 -8
- package/dist/hooks/useEnvironment.js +1 -8
- package/dist/hooks/useOAuthWindowListener.cjs +1 -30
- package/dist/hooks/useOAuthWindowListener.js +1 -30
- package/dist/hooks/useWallet.cjs +1 -30
- package/dist/hooks/useWallet.js +1 -30
- package/dist/icons/alert.cjs +1 -8
- package/dist/icons/alert.js +1 -8
- package/dist/icons/base64Icons.cjs +1 -12
- package/dist/icons/base64Icons.js +1 -12
- package/dist/icons/chevronRight.cjs +1 -8
- package/dist/icons/chevronRight.js +1 -8
- package/dist/icons/discord.cjs +1 -29
- package/dist/icons/discord.js +1 -29
- package/dist/icons/emailOTP.cjs +1 -8
- package/dist/icons/emailOTP.js +1 -8
- package/dist/icons/farcaster.cjs +1 -8
- package/dist/icons/farcaster.js +1 -8
- package/dist/icons/fingerprint.cjs +1 -8
- package/dist/icons/fingerprint.js +1 -8
- package/dist/icons/google.cjs +1 -8
- package/dist/icons/google.js +1 -8
- package/dist/icons/leftArrow.cjs +1 -8
- package/dist/icons/leftArrow.js +1 -8
- package/dist/icons/passkey.cjs +1 -8
- package/dist/icons/passkey.js +1 -8
- package/dist/icons/passkeyPromptLogo.cjs +1 -8
- package/dist/icons/passkeyPromptLogo.js +1 -8
- package/dist/icons/poweredByLeaf.cjs +1 -8
- package/dist/icons/poweredByLeaf.js +1 -8
- package/dist/icons/wallet.cjs +1 -8
- package/dist/icons/wallet.js +1 -8
- package/dist/icons/x.cjs +1 -29
- package/dist/icons/x.js +1 -29
- package/dist/index.cjs +1 -119
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -119
- package/dist/providers/CrossmintAuthProvider.cjs +1 -32
- package/dist/providers/CrossmintAuthProvider.js +1 -32
- package/dist/providers/CrossmintWalletProvider.cjs +1 -32
- package/dist/providers/CrossmintWalletProvider.js +1 -32
- package/dist/providers/TwindProvider.cjs +1 -9
- package/dist/providers/TwindProvider.js +1 -9
- package/dist/providers/auth/AuthFormProvider.cjs +1 -32
- package/dist/providers/auth/AuthFormProvider.js +1 -32
- package/dist/providers/auth/FarcasterProvider.cjs +1 -8
- package/dist/providers/auth/FarcasterProvider.js +1 -8
- package/dist/providers/auth/web3/DynamicWeb3WalletConnect.cjs +1 -33
- package/dist/providers/auth/web3/DynamicWeb3WalletConnect.js +1 -33
- package/dist/providers/index.cjs +1 -36
- package/dist/providers/index.js +1 -36
- package/dist/testUtils.cjs +1 -8
- package/dist/testUtils.js +1 -8
- package/dist/twind.config.cjs +1 -8
- package/dist/twind.config.js +1 -8
- package/dist/types/auth.cjs +1 -1
- package/dist/types/auth.js +0 -1
- package/dist/utils/classNames.cjs +1 -8
- package/dist/utils/classNames.js +1 -8
- package/dist/utils/createCrossmintApiClient.cjs +1 -9
- package/dist/utils/createCrossmintApiClient.js +1 -9
- package/dist/utils/dynamic/dynamicChainToCrossmintChain.cjs +1 -8
- package/dist/utils/dynamic/dynamicChainToCrossmintChain.js +1 -8
- package/package.json +8 -8
- package/dist/chunk-2ROLE4XU.cjs +0 -31
- package/dist/chunk-2ROLE4XU.cjs.map +0 -1
- package/dist/chunk-2T2VCED7.js +0 -17
- package/dist/chunk-2T2VCED7.js.map +0 -1
- package/dist/chunk-33WZFL2D.js +0 -80
- package/dist/chunk-33WZFL2D.js.map +0 -1
- package/dist/chunk-35RV5AOT.cjs +0 -70
- package/dist/chunk-35RV5AOT.cjs.map +0 -1
- package/dist/chunk-3J6CUUWT.js +0 -50
- package/dist/chunk-3J6CUUWT.js.map +0 -1
- package/dist/chunk-3KR4GYLF.js +0 -26
- package/dist/chunk-3KR4GYLF.js.map +0 -1
- package/dist/chunk-43P7QWBK.cjs +0 -17
- package/dist/chunk-43P7QWBK.cjs.map +0 -1
- package/dist/chunk-4DAZAO6Y.cjs +0 -59
- package/dist/chunk-4DAZAO6Y.cjs.map +0 -1
- package/dist/chunk-5EE2IAIP.js +0 -87
- package/dist/chunk-5EE2IAIP.js.map +0 -1
- package/dist/chunk-5KK3YQWD.cjs +0 -1
- package/dist/chunk-5KK3YQWD.cjs.map +0 -1
- package/dist/chunk-5RX5WFEW.cjs +0 -11
- package/dist/chunk-5RX5WFEW.cjs.map +0 -1
- package/dist/chunk-5UXGDXPR.js +0 -153
- package/dist/chunk-5UXGDXPR.js.map +0 -1
- package/dist/chunk-6CPZDD6Y.js +0 -29
- package/dist/chunk-6CPZDD6Y.js.map +0 -1
- package/dist/chunk-6EX2VR7S.js +0 -14
- package/dist/chunk-6EX2VR7S.js.map +0 -1
- package/dist/chunk-6FG6NL44.js +0 -30
- package/dist/chunk-6FG6NL44.js.map +0 -1
- package/dist/chunk-6LO4NSRH.cjs +0 -21
- package/dist/chunk-6LO4NSRH.cjs.map +0 -1
- package/dist/chunk-6PPUWTTF.cjs +0 -31
- package/dist/chunk-6PPUWTTF.cjs.map +0 -1
- package/dist/chunk-7BZSIPWM.js +0 -31
- package/dist/chunk-7BZSIPWM.js.map +0 -1
- package/dist/chunk-7KIY6DLW.js +0 -28
- package/dist/chunk-7KIY6DLW.js.map +0 -1
- package/dist/chunk-7SBZ6OIH.js +0 -1
- package/dist/chunk-7SBZ6OIH.js.map +0 -1
- package/dist/chunk-A2JCJ2OV.cjs +0 -119
- package/dist/chunk-A2JCJ2OV.cjs.map +0 -1
- package/dist/chunk-A6Q4Z5TO.js +0 -31
- package/dist/chunk-A6Q4Z5TO.js.map +0 -1
- package/dist/chunk-A7J4DAE7.js +0 -16
- package/dist/chunk-A7J4DAE7.js.map +0 -1
- package/dist/chunk-ATHR4S2P.js +0 -48
- package/dist/chunk-ATHR4S2P.js.map +0 -1
- package/dist/chunk-AUCL5NPW.cjs +0 -31
- package/dist/chunk-AUCL5NPW.cjs.map +0 -1
- package/dist/chunk-AUEQQ4D3.js +0 -119
- package/dist/chunk-AUEQQ4D3.js.map +0 -1
- package/dist/chunk-AXZLLRBU.cjs +0 -26
- package/dist/chunk-AXZLLRBU.cjs.map +0 -1
- package/dist/chunk-B7LYPQ4K.cjs +0 -38
- package/dist/chunk-B7LYPQ4K.cjs.map +0 -1
- package/dist/chunk-BE2ZLB3L.cjs +0 -19
- package/dist/chunk-BE2ZLB3L.cjs.map +0 -1
- package/dist/chunk-BFTVVPCU.js +0 -81
- package/dist/chunk-BFTVVPCU.js.map +0 -1
- package/dist/chunk-BKVDVDKX.cjs +0 -1
- package/dist/chunk-BKVDVDKX.cjs.map +0 -1
- package/dist/chunk-BURUD6IV.cjs +0 -64
- package/dist/chunk-BURUD6IV.cjs.map +0 -1
- package/dist/chunk-C2VARNXL.js +0 -70
- package/dist/chunk-C2VARNXL.js.map +0 -1
- package/dist/chunk-CPYPI45H.js +0 -98
- package/dist/chunk-CPYPI45H.js.map +0 -1
- package/dist/chunk-CRTRMMJ7.js +0 -59
- package/dist/chunk-CRTRMMJ7.js.map +0 -1
- package/dist/chunk-DCMLWFDK.js +0 -31
- package/dist/chunk-DCMLWFDK.js.map +0 -1
- package/dist/chunk-DR67KSE7.js +0 -31
- package/dist/chunk-DR67KSE7.js.map +0 -1
- package/dist/chunk-DZ5MGN25.js +0 -147
- package/dist/chunk-DZ5MGN25.js.map +0 -1
- package/dist/chunk-ENCR5SUW.cjs +0 -51
- package/dist/chunk-ENCR5SUW.cjs.map +0 -1
- package/dist/chunk-EOWJ7775.js +0 -18
- package/dist/chunk-EOWJ7775.js.map +0 -1
- package/dist/chunk-FGHABNQM.js +0 -10
- package/dist/chunk-FGHABNQM.js.map +0 -1
- package/dist/chunk-FKIMKZ4Y.js +0 -17
- package/dist/chunk-FKIMKZ4Y.js.map +0 -1
- package/dist/chunk-GMKTZIU2.cjs +0 -22
- package/dist/chunk-GMKTZIU2.cjs.map +0 -1
- package/dist/chunk-H4F7UVPT.js +0 -34
- package/dist/chunk-H4F7UVPT.js.map +0 -1
- package/dist/chunk-HATQVB6H.js +0 -19
- package/dist/chunk-HATQVB6H.js.map +0 -1
- package/dist/chunk-HCW4RO2O.cjs +0 -29
- package/dist/chunk-HCW4RO2O.cjs.map +0 -1
- package/dist/chunk-HOTEC5UH.js +0 -22
- package/dist/chunk-HOTEC5UH.js.map +0 -1
- package/dist/chunk-HPOZ6I54.cjs +0 -44
- package/dist/chunk-HPOZ6I54.cjs.map +0 -1
- package/dist/chunk-HW2Q6J4R.js +0 -64
- package/dist/chunk-HW2Q6J4R.js.map +0 -1
- package/dist/chunk-HZ26XTTK.cjs +0 -81
- package/dist/chunk-HZ26XTTK.cjs.map +0 -1
- package/dist/chunk-I63FQCIV.js +0 -189
- package/dist/chunk-I63FQCIV.js.map +0 -1
- package/dist/chunk-IP4HQL5I.cjs +0 -147
- package/dist/chunk-IP4HQL5I.cjs.map +0 -1
- package/dist/chunk-IQPA3QOV.js +0 -27
- package/dist/chunk-IQPA3QOV.js.map +0 -1
- package/dist/chunk-K5S6RUJ3.cjs +0 -153
- package/dist/chunk-K5S6RUJ3.cjs.map +0 -1
- package/dist/chunk-KEKBOJCF.cjs +0 -50
- package/dist/chunk-KEKBOJCF.cjs.map +0 -1
- package/dist/chunk-KLWDDALZ.cjs +0 -14
- package/dist/chunk-KLWDDALZ.cjs.map +0 -1
- package/dist/chunk-KNOUJZN5.cjs +0 -32
- package/dist/chunk-KNOUJZN5.cjs.map +0 -1
- package/dist/chunk-L3FKENHU.js +0 -14
- package/dist/chunk-L3FKENHU.js.map +0 -1
- package/dist/chunk-LGY5FQOZ.cjs +0 -29
- package/dist/chunk-LGY5FQOZ.cjs.map +0 -1
- package/dist/chunk-LJA62EVT.cjs +0 -87
- package/dist/chunk-LJA62EVT.cjs.map +0 -1
- package/dist/chunk-MCINXS2Y.cjs +0 -1111
- package/dist/chunk-MCINXS2Y.cjs.map +0 -1
- package/dist/chunk-MH37OJT2.cjs +0 -80
- package/dist/chunk-MH37OJT2.cjs.map +0 -1
- package/dist/chunk-MJHLKJ6X.cjs +0 -212
- package/dist/chunk-MJHLKJ6X.cjs.map +0 -1
- package/dist/chunk-MUS7DUPS.cjs +0 -98
- package/dist/chunk-MUS7DUPS.cjs.map +0 -1
- package/dist/chunk-NMXFWIFA.js +0 -133
- package/dist/chunk-NMXFWIFA.js.map +0 -1
- package/dist/chunk-O53ZB544.js +0 -1111
- package/dist/chunk-O53ZB544.js.map +0 -1
- package/dist/chunk-PBSL6JOF.cjs +0 -17
- package/dist/chunk-PBSL6JOF.cjs.map +0 -1
- package/dist/chunk-PHCGCJSA.js +0 -107
- package/dist/chunk-PHCGCJSA.js.map +0 -1
- package/dist/chunk-Q3M4UH5U.cjs +0 -48
- package/dist/chunk-Q3M4UH5U.cjs.map +0 -1
- package/dist/chunk-QDKAU3H2.js +0 -31
- package/dist/chunk-QDKAU3H2.js.map +0 -1
- package/dist/chunk-QFZ6GZZR.cjs +0 -14
- package/dist/chunk-QFZ6GZZR.cjs.map +0 -1
- package/dist/chunk-QQXBYOKA.cjs +0 -16
- package/dist/chunk-QQXBYOKA.cjs.map +0 -1
- package/dist/chunk-QT7UEJZG.cjs +0 -133
- package/dist/chunk-QT7UEJZG.cjs.map +0 -1
- package/dist/chunk-QTL5I5C2.js +0 -38
- package/dist/chunk-QTL5I5C2.js.map +0 -1
- package/dist/chunk-R6IL3WOE.cjs +0 -31
- package/dist/chunk-R6IL3WOE.cjs.map +0 -1
- package/dist/chunk-RZPQIRIY.js +0 -11
- package/dist/chunk-RZPQIRIY.js.map +0 -1
- package/dist/chunk-RZT2J42J.js +0 -29
- package/dist/chunk-RZT2J42J.js.map +0 -1
- package/dist/chunk-SBA6FMFT.cjs +0 -18
- package/dist/chunk-SBA6FMFT.cjs.map +0 -1
- package/dist/chunk-SBTNHVSD.cjs +0 -30
- package/dist/chunk-SBTNHVSD.cjs.map +0 -1
- package/dist/chunk-SZA3XDJ5.cjs +0 -1
- package/dist/chunk-SZA3XDJ5.cjs.map +0 -1
- package/dist/chunk-TH42AO6J.js +0 -17
- package/dist/chunk-TH42AO6J.js.map +0 -1
- package/dist/chunk-U7LXB3SM.js +0 -50
- package/dist/chunk-U7LXB3SM.js.map +0 -1
- package/dist/chunk-UASNCH3A.cjs +0 -27
- package/dist/chunk-UASNCH3A.cjs.map +0 -1
- package/dist/chunk-UGHW5HMB.cjs +0 -31
- package/dist/chunk-UGHW5HMB.cjs.map +0 -1
- package/dist/chunk-UQAKJ4T7.cjs +0 -29
- package/dist/chunk-UQAKJ4T7.cjs.map +0 -1
- package/dist/chunk-URKPLEPV.cjs +0 -189
- package/dist/chunk-URKPLEPV.cjs.map +0 -1
- package/dist/chunk-VZIXXIU5.js +0 -32
- package/dist/chunk-VZIXXIU5.js.map +0 -1
- package/dist/chunk-XDJ6F7N4.cjs +0 -107
- package/dist/chunk-XDJ6F7N4.cjs.map +0 -1
- package/dist/chunk-XEZF7G64.js +0 -212
- package/dist/chunk-XEZF7G64.js.map +0 -1
- package/dist/chunk-XXJ7LQ44.js +0 -1
- package/dist/chunk-XXJ7LQ44.js.map +0 -1
- package/dist/chunk-XYMYRPVT.js +0 -1
- package/dist/chunk-XYMYRPVT.js.map +0 -1
- package/dist/chunk-Y3SUMTUI.cjs +0 -10
- package/dist/chunk-Y3SUMTUI.cjs.map +0 -1
- package/dist/chunk-YE55IKBP.cjs +0 -34
- package/dist/chunk-YE55IKBP.cjs.map +0 -1
- package/dist/chunk-YNBGMNE6.cjs +0 -17
- package/dist/chunk-YNBGMNE6.cjs.map +0 -1
- package/dist/chunk-YWVQCHQF.js +0 -51
- package/dist/chunk-YWVQCHQF.js.map +0 -1
- package/dist/chunk-ZDQGQY7Z.js +0 -29
- package/dist/chunk-ZDQGQY7Z.js.map +0 -1
- package/dist/chunk-ZIHCLVCD.js +0 -44
- package/dist/chunk-ZIHCLVCD.js.map +0 -1
- package/dist/chunk-ZJC4OB5Z.cjs +0 -50
- package/dist/chunk-ZJC4OB5Z.cjs.map +0 -1
- package/dist/chunk-ZMSST6ZZ.cjs +0 -28
- package/dist/chunk-ZMSST6ZZ.cjs.map +0 -1
- package/dist/chunk-ZUIS3FET.js +0 -21
- package/dist/chunk-ZUIS3FET.js.map +0 -1
- package/dist/components/CrossmintNFTCollectionView.cjs.map +0 -1
- package/dist/components/CrossmintNFTCollectionView.js.map +0 -1
- package/dist/components/CrossmintNFTDetail.cjs.map +0 -1
- package/dist/components/CrossmintNFTDetail.js.map +0 -1
- package/dist/components/auth/AuthForm.cjs.map +0 -1
- package/dist/components/auth/AuthForm.js.map +0 -1
- package/dist/components/auth/AuthFormBackButton.cjs.map +0 -1
- package/dist/components/auth/AuthFormBackButton.js.map +0 -1
- package/dist/components/auth/AuthFormDialog.cjs.map +0 -1
- package/dist/components/auth/AuthFormDialog.js.map +0 -1
- package/dist/components/auth/EmbeddedAuthForm.cjs.map +0 -1
- package/dist/components/auth/EmbeddedAuthForm.js.map +0 -1
- package/dist/components/auth/PasskeyPrompt.cjs.map +0 -1
- package/dist/components/auth/PasskeyPrompt.js.map +0 -1
- package/dist/components/auth/methods/email/EmailAuthFlow.cjs.map +0 -1
- package/dist/components/auth/methods/email/EmailAuthFlow.js.map +0 -1
- package/dist/components/auth/methods/email/EmailOTPInput.cjs.map +0 -1
- package/dist/components/auth/methods/email/EmailOTPInput.js.map +0 -1
- package/dist/components/auth/methods/email/EmailSignIn.cjs.map +0 -1
- package/dist/components/auth/methods/email/EmailSignIn.js.map +0 -1
- package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs.map +0 -1
- package/dist/components/auth/methods/farcaster/FarcasterSignIn.js.map +0 -1
- package/dist/components/auth/methods/google/GoogleSignIn.cjs.map +0 -1
- package/dist/components/auth/methods/google/GoogleSignIn.js.map +0 -1
- package/dist/components/auth/methods/web3/Web3AuthFlow.cjs.map +0 -1
- package/dist/components/auth/methods/web3/Web3AuthFlow.js.map +0 -1
- package/dist/components/auth/methods/web3/Web3AuthFlowButton.cjs.map +0 -1
- package/dist/components/auth/methods/web3/Web3AuthFlowButton.js.map +0 -1
- package/dist/components/auth/methods/web3/Web3Connector.cjs.map +0 -1
- package/dist/components/auth/methods/web3/Web3Connector.js.map +0 -1
- package/dist/components/auth/methods/web3/Web3ConnectorButton.cjs.map +0 -1
- package/dist/components/auth/methods/web3/Web3ConnectorButton.js.map +0 -1
- package/dist/components/auth/methods/web3/Web3Connectors.cjs.map +0 -1
- package/dist/components/auth/methods/web3/Web3Connectors.js.map +0 -1
- package/dist/components/common/Dialog.cjs.map +0 -1
- package/dist/components/common/Dialog.js.map +0 -1
- package/dist/components/common/Divider.cjs.map +0 -1
- package/dist/components/common/Divider.js.map +0 -1
- package/dist/components/common/InputOTP.cjs.map +0 -1
- package/dist/components/common/InputOTP.js.map +0 -1
- package/dist/components/common/PoweredByCrossmint.cjs.map +0 -1
- package/dist/components/common/PoweredByCrossmint.js.map +0 -1
- package/dist/components/common/Spinner.cjs.map +0 -1
- package/dist/components/common/Spinner.js.map +0 -1
- package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.cjs.map +0 -1
- package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.js.map +0 -1
- package/dist/components/embed/EmbeddedCheckoutIFrame.cjs.map +0 -1
- package/dist/components/embed/EmbeddedCheckoutIFrame.js.map +0 -1
- package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs.map +0 -1
- package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js.map +0 -1
- package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs.map +0 -1
- package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js.map +0 -1
- package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs.map +0 -1
- package/dist/components/embed/fiat/FiatEmbeddedCheckout.js.map +0 -1
- package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs.map +0 -1
- package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js.map +0 -1
- package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs.map +0 -1
- package/dist/components/embed/fiat/FiatPaymentElement_OLD.js.map +0 -1
- package/dist/components/embed/index.cjs.map +0 -1
- package/dist/components/embed/index.js.map +0 -1
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs.map +0 -1
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js.map +0 -1
- package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs.map +0 -1
- package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js.map +0 -1
- package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs.map +0 -1
- package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js.map +0 -1
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs.map +0 -1
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js.map +0 -1
- package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs.map +0 -1
- package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js.map +0 -1
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs.map +0 -1
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js.map +0 -1
- package/dist/components/embed/v3/index.cjs.map +0 -1
- package/dist/components/embed/v3/index.js.map +0 -1
- package/dist/components/hosted/CrossmintPayButton.cjs.map +0 -1
- package/dist/components/hosted/CrossmintPayButton.js.map +0 -1
- package/dist/components/hosted/index.cjs.map +0 -1
- package/dist/components/hosted/index.js.map +0 -1
- package/dist/components/hosted/styles.cjs.map +0 -1
- package/dist/components/hosted/styles.js.map +0 -1
- package/dist/components/index.cjs.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/consts/version.cjs.map +0 -1
- package/dist/consts/version.js.map +0 -1
- package/dist/hooks/index.cjs.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useAuth.cjs.map +0 -1
- package/dist/hooks/useAuth.js.map +0 -1
- package/dist/hooks/useCrossmint.cjs.map +0 -1
- package/dist/hooks/useCrossmint.js.map +0 -1
- package/dist/hooks/useCrossmintAuth.cjs.map +0 -1
- package/dist/hooks/useCrossmintAuth.js.map +0 -1
- package/dist/hooks/useCrossmintCheckout.cjs.map +0 -1
- package/dist/hooks/useCrossmintCheckout.js.map +0 -1
- package/dist/hooks/useDeepEffect.cjs.map +0 -1
- package/dist/hooks/useDeepEffect.js.map +0 -1
- package/dist/hooks/useEnvironment.cjs.map +0 -1
- package/dist/hooks/useEnvironment.js.map +0 -1
- package/dist/hooks/useOAuthWindowListener.cjs.map +0 -1
- package/dist/hooks/useOAuthWindowListener.js.map +0 -1
- package/dist/hooks/useWallet.cjs.map +0 -1
- package/dist/hooks/useWallet.js.map +0 -1
- package/dist/icons/alert.cjs.map +0 -1
- package/dist/icons/alert.js.map +0 -1
- package/dist/icons/base64Icons.cjs.map +0 -1
- package/dist/icons/base64Icons.js.map +0 -1
- package/dist/icons/chevronRight.cjs.map +0 -1
- package/dist/icons/chevronRight.js.map +0 -1
- package/dist/icons/discord.cjs.map +0 -1
- package/dist/icons/discord.js.map +0 -1
- package/dist/icons/emailOTP.cjs.map +0 -1
- package/dist/icons/emailOTP.js.map +0 -1
- package/dist/icons/farcaster.cjs.map +0 -1
- package/dist/icons/farcaster.js.map +0 -1
- package/dist/icons/fingerprint.cjs.map +0 -1
- package/dist/icons/fingerprint.js.map +0 -1
- package/dist/icons/google.cjs.map +0 -1
- package/dist/icons/google.js.map +0 -1
- package/dist/icons/leftArrow.cjs.map +0 -1
- package/dist/icons/leftArrow.js.map +0 -1
- package/dist/icons/passkey.cjs.map +0 -1
- package/dist/icons/passkey.js.map +0 -1
- package/dist/icons/passkeyPromptLogo.cjs.map +0 -1
- package/dist/icons/passkeyPromptLogo.js.map +0 -1
- package/dist/icons/poweredByLeaf.cjs.map +0 -1
- package/dist/icons/poweredByLeaf.js.map +0 -1
- package/dist/icons/wallet.cjs.map +0 -1
- package/dist/icons/wallet.js.map +0 -1
- package/dist/icons/x.cjs.map +0 -1
- package/dist/icons/x.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/providers/CrossmintAuthProvider.cjs.map +0 -1
- package/dist/providers/CrossmintAuthProvider.js.map +0 -1
- package/dist/providers/CrossmintWalletProvider.cjs.map +0 -1
- package/dist/providers/CrossmintWalletProvider.js.map +0 -1
- package/dist/providers/TwindProvider.cjs.map +0 -1
- package/dist/providers/TwindProvider.js.map +0 -1
- package/dist/providers/auth/AuthFormProvider.cjs.map +0 -1
- package/dist/providers/auth/AuthFormProvider.js.map +0 -1
- package/dist/providers/auth/FarcasterProvider.cjs.map +0 -1
- package/dist/providers/auth/FarcasterProvider.js.map +0 -1
- package/dist/providers/auth/web3/DynamicWeb3WalletConnect.cjs.map +0 -1
- package/dist/providers/auth/web3/DynamicWeb3WalletConnect.js.map +0 -1
- package/dist/providers/index.cjs.map +0 -1
- package/dist/providers/index.js.map +0 -1
- package/dist/testUtils.cjs.map +0 -1
- package/dist/testUtils.js.map +0 -1
- package/dist/twind.config.cjs.map +0 -1
- package/dist/twind.config.js.map +0 -1
- package/dist/types/auth.cjs.map +0 -1
- package/dist/types/auth.js.map +0 -1
- package/dist/utils/classNames.cjs.map +0 -1
- package/dist/utils/classNames.js.map +0 -1
- package/dist/utils/createCrossmintApiClient.cjs.map +0 -1
- package/dist/utils/createCrossmintApiClient.js.map +0 -1
- package/dist/utils/dynamic/dynamicChainToCrossmintChain.cjs.map +0 -1
- package/dist/utils/dynamic/dynamicChainToCrossmintChain.js.map +0 -1
- package/src/components/CrossmintCollectionView.test.tsx +0 -36
- package/src/components/CrossmintNFTCollectionView.tsx +0 -25
- package/src/components/CrossmintNFTDetail.test.tsx +0 -38
- package/src/components/CrossmintNFTDetail.tsx +0 -25
- package/src/components/auth/AuthForm.tsx +0 -84
- package/src/components/auth/AuthFormBackButton.tsx +0 -30
- package/src/components/auth/AuthFormDialog.tsx +0 -38
- package/src/components/auth/EmbeddedAuthForm.tsx +0 -5
- package/src/components/auth/PasskeyPrompt.tsx +0 -258
- package/src/components/auth/methods/email/EmailAuthFlow.tsx +0 -19
- package/src/components/auth/methods/email/EmailOTPInput.tsx +0 -124
- package/src/components/auth/methods/email/EmailSignIn.tsx +0 -110
- package/src/components/auth/methods/farcaster/FarcasterSignIn.tsx +0 -169
- package/src/components/auth/methods/google/GoogleSignIn.tsx +0 -53
- package/src/components/auth/methods/web3/Web3AuthFlow.tsx +0 -35
- package/src/components/auth/methods/web3/Web3AuthFlowButton.tsx +0 -44
- package/src/components/auth/methods/web3/Web3Connector.tsx +0 -62
- package/src/components/auth/methods/web3/Web3ConnectorButton.tsx +0 -38
- package/src/components/auth/methods/web3/Web3Connectors.tsx +0 -28
- package/src/components/common/Dialog.tsx +0 -122
- package/src/components/common/Divider.tsx +0 -25
- package/src/components/common/InputOTP.tsx +0 -94
- package/src/components/common/PoweredByCrossmint.tsx +0 -10
- package/src/components/common/Spinner.tsx +0 -22
- package/src/components/dynamic-xyz/DynamicContextProviderWrapper.tsx +0 -31
- package/src/components/embed/CrossmintPaymentElement.test.tsx +0 -79
- package/src/components/embed/EmbeddedCheckoutIFrame.tsx +0 -71
- package/src/components/embed/crypto/CryptoEmbeddedCheckout.tsx +0 -11
- package/src/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.tsx +0 -108
- package/src/components/embed/fiat/FiatEmbeddedCheckout.tsx +0 -7
- package/src/components/embed/fiat/FiatEmbeddedCheckoutIFrame.tsx +0 -21
- package/src/components/embed/fiat/FiatPaymentElement_OLD.tsx +0 -73
- package/src/components/embed/index.tsx +0 -19
- package/src/components/embed/v3/CrossmintEmbeddedCheckoutV3.tsx +0 -7
- package/src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx +0 -83
- package/src/components/embed/v3/crypto/CryptoWalletConnectionHandler.tsx +0 -144
- package/src/components/embed/v3/crypto/utils/handleEvmTransaction.ts +0 -78
- package/src/components/embed/v3/crypto/utils/handleSendTransaction.ts +0 -29
- package/src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts +0 -54
- package/src/components/embed/v3/index.ts +0 -1
- package/src/components/hosted/CrossmintPayButton.test.tsx +0 -188
- package/src/components/hosted/CrossmintPayButton.tsx +0 -132
- package/src/components/hosted/index.ts +0 -1
- package/src/components/hosted/styles.ts +0 -58
- package/src/components/index.ts +0 -8
- package/src/consts/version.ts +0 -3
- package/src/hooks/index.ts +0 -4
- package/src/hooks/useAuth.ts +0 -11
- package/src/hooks/useCrossmint.test.tsx +0 -103
- package/src/hooks/useCrossmint.tsx +0 -57
- package/src/hooks/useCrossmintAuth.ts +0 -12
- package/src/hooks/useCrossmintCheckout.tsx +0 -56
- package/src/hooks/useDeepEffect.ts +0 -15
- package/src/hooks/useEnvironment.ts +0 -10
- package/src/hooks/useOAuthWindowListener.ts +0 -84
- package/src/hooks/useWallet.ts +0 -13
- package/src/icons/alert.tsx +0 -19
- package/src/icons/base64Icons.ts +0 -8
- package/src/icons/chevronRight.tsx +0 -21
- package/src/icons/discord.tsx +0 -18
- package/src/icons/emailOTP.tsx +0 -147
- package/src/icons/farcaster.tsx +0 -26
- package/src/icons/fingerprint.tsx +0 -25
- package/src/icons/google.tsx +0 -30
- package/src/icons/leftArrow.tsx +0 -20
- package/src/icons/passkey.tsx +0 -18
- package/src/icons/passkeyPromptLogo.tsx +0 -76
- package/src/icons/poweredByLeaf.tsx +0 -85
- package/src/icons/wallet.tsx +0 -23
- package/src/icons/x.tsx +0 -19
- package/src/index.ts +0 -23
- package/src/providers/CrossmintAuthProvider.test.tsx +0 -269
- package/src/providers/CrossmintAuthProvider.tsx +0 -211
- package/src/providers/CrossmintWalletProvider.test.tsx +0 -218
- package/src/providers/CrossmintWalletProvider.tsx +0 -155
- package/src/providers/TwindProvider.tsx +0 -14
- package/src/providers/auth/AuthFormProvider.test.tsx +0 -142
- package/src/providers/auth/AuthFormProvider.tsx +0 -109
- package/src/providers/auth/FarcasterProvider.tsx +0 -12
- package/src/providers/auth/web3/DynamicWeb3WalletConnect.tsx +0 -73
- package/src/providers/index.ts +0 -2
- package/src/testUtils.ts +0 -1
- package/src/twind.config.ts +0 -114
- package/src/types/auth.ts +0 -4
- package/src/utils/classNames.ts +0 -12
- package/src/utils/createCrossmintApiClient.ts +0 -17
- package/src/utils/dynamic/dynamicChainToCrossmintChain.ts +0 -20
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/CrossmintWalletProvider.tsx","../src/hooks/useWallet.ts","../src/hooks/useAuth.ts","../src/providers/CrossmintAuthProvider.tsx","../src/components/auth/AuthFormDialog.tsx","../src/providers/auth/AuthFormProvider.tsx","../src/hooks/useCrossmintAuth.ts","../src/components/auth/AuthForm.tsx","../src/components/auth/methods/email/EmailAuthFlow.tsx","../src/components/auth/methods/email/EmailOTPInput.tsx","../src/components/auth/AuthFormBackButton.tsx","../src/components/auth/methods/email/EmailSignIn.tsx","../src/components/common/Divider.tsx","../src/hooks/useOAuthWindowListener.ts","../src/components/auth/methods/google/GoogleSignIn.tsx","../src/components/auth/methods/farcaster/FarcasterSignIn.tsx"],"names":["createContext","useMemo","useState","useContext","useEffect","useRef","oauthUrlMap","error","Color","jsx","_a","_b","jsxs","_e","Fragment","user"],"mappings":"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","sourcesContent":["import { type ReactNode, createContext, useMemo, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n type EVMSmartWallet,\n type EVMSmartWalletChain,\n SmartWalletError,\n SmartWalletSDK,\n type WalletParams,\n type PasskeySigner,\n} from \"@crossmint/client-sdk-smart-wallet\";\n\nimport { useCrossmint } from \"../hooks\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport { PasskeyPrompt } from \"@/components/auth/PasskeyPrompt\";\n\ntype WalletStatus = \"not-loaded\" | \"in-progress\" | \"loaded\" | \"loading-error\";\n\ntype ValidPasskeyPromptType =\n | \"create-wallet\"\n | \"transaction\"\n | \"not-supported\"\n | \"create-wallet-error\"\n | \"transaction-error\";\ntype PasskeyPromptState =\n | {\n type: ValidPasskeyPromptType;\n open: true;\n primaryActionOnClick: () => void;\n secondaryActionOnClick?: () => void;\n }\n | { open: false };\n\ntype ValidWalletState =\n | { status: \"not-loaded\" | \"in-progress\" }\n | { status: \"loaded\"; wallet: EVMSmartWallet }\n | { status: \"loading-error\"; error: SmartWalletError };\n\ntype WalletContext = {\n status: WalletStatus;\n wallet?: EVMSmartWallet;\n error?: SmartWalletError;\n getOrCreateWallet: (\n config?: Pick<WalletConfig, \"signer\" | \"type\">\n ) => Promise<{ startedCreation: boolean; reason?: string }>;\n clearWallet: () => void;\n};\n\nexport const WalletContext = createContext<WalletContext>({\n status: \"not-loaded\",\n getOrCreateWallet: () => Promise.resolve({ startedCreation: false }),\n clearWallet: () => {},\n});\n\nexport type WalletConfig = WalletParams & { type: \"evm-smart-wallet\" };\n\nexport function CrossmintWalletProvider({\n children,\n defaultChain,\n showPasskeyHelpers = true, // enabled by default\n appearance,\n}: {\n children: ReactNode;\n defaultChain: EVMSmartWalletChain;\n showPasskeyHelpers?: boolean;\n appearance?: UIConfig;\n}) {\n const { crossmint } = useCrossmint(\"CrossmintWalletProvider must be used within CrossmintProvider\");\n const smartWalletSDK = useMemo(() => SmartWalletSDK.init({ clientApiKey: crossmint.apiKey }), [crossmint.apiKey]);\n\n const [walletState, setWalletState] = useState<ValidWalletState>({ status: \"not-loaded\" });\n const [passkeyPromptState, setPasskeyPromptState] = useState<PasskeyPromptState>({ open: false });\n\n const getOrCreateWallet = async (\n config: WalletConfig = { type: \"evm-smart-wallet\", signer: { type: \"PASSKEY\" } }\n ) => {\n if (walletState.status == \"in-progress\") {\n console.log(\"Wallet already loading\");\n return { startedCreation: false, reason: \"Wallet is already loading.\" };\n }\n\n if (crossmint.jwt == null) {\n return { startedCreation: false, reason: `Jwt not set in \"CrossmintProvider\".` };\n }\n\n try {\n setWalletState({ status: \"in-progress\" });\n const wallet = await smartWalletSDK.getOrCreateWallet(\n { jwt: crossmint.jwt as string },\n defaultChain,\n enhanceConfigWithPasskeyPrompts(config)\n );\n setWalletState({ status: \"loaded\", wallet });\n } catch (error: unknown) {\n console.error(\"There was an error creating a wallet \", error);\n setWalletState(deriveErrorState(error));\n }\n return { startedCreation: true };\n };\n\n const enhanceConfigWithPasskeyPrompts = (config: WalletConfig) => {\n if (showPasskeyHelpers && (config.signer as PasskeySigner).type === \"PASSKEY\") {\n return {\n ...config,\n signer: {\n ...config.signer,\n onPrePasskeyRegistration: createPasskeyPrompt(\"create-wallet\"),\n onPasskeyRegistrationError: createPasskeyPrompt(\"create-wallet-error\"),\n onFirstTimePasskeySigning: createPasskeyPrompt(\"transaction\"),\n onFirstTimePasskeySigningError: createPasskeyPrompt(\"transaction-error\"),\n },\n };\n }\n return config;\n };\n\n const createPasskeyPrompt = (type: ValidPasskeyPromptType) => () =>\n new Promise<void>((resolve) => {\n setPasskeyPromptState({\n type,\n open: true,\n primaryActionOnClick: () => {\n setPasskeyPromptState({ open: false });\n resolve();\n },\n secondaryActionOnClick: () => {\n setPasskeyPromptState({ open: false });\n resolve();\n },\n });\n });\n\n const clearWallet = () => {\n setWalletState({ status: \"not-loaded\" });\n };\n\n return (\n <WalletContext.Provider value={{ ...walletState, getOrCreateWallet, clearWallet }}>\n {children}\n {passkeyPromptState.open\n ? createPortal(<PasskeyPrompt state={passkeyPromptState} appearance={appearance} />, document.body)\n : null}\n </WalletContext.Provider>\n );\n}\n\nfunction deriveErrorState(error: unknown): { status: \"loading-error\"; error: SmartWalletError } {\n if (error instanceof SmartWalletError) {\n return { status: \"loading-error\", error };\n }\n\n const message = error instanceof Error ? error.message : String(error);\n const stack = error instanceof Error ? error.stack : undefined;\n return { status: \"loading-error\", error: new SmartWalletError(`Unknown Wallet Error: ${message}`, stack) };\n}\n","import { useContext } from \"react\";\n\nimport { WalletContext } from \"../providers/CrossmintWalletProvider\";\n\nexport function useWallet() {\n const walletContext = useContext(WalletContext);\n\n if (!walletContext) {\n throw new Error(\"useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider\");\n }\n\n return walletContext;\n}\n","import { useContext } from \"react\";\n\nimport { AuthContext, type AuthContextType } from \"../providers\";\n\nexport function useAuth(): AuthContextType {\n const context = useContext(AuthContext);\n if (context === undefined) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return context;\n}\n","import { type ReactNode, createContext, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { CrossmintAuth, getCookie } from \"@crossmint/client-sdk-auth\";\nimport type { EVMSmartWalletChain } from \"@crossmint/client-sdk-smart-wallet\";\nimport { type UIConfig, validateApiKeyAndGetCrossmintBaseUrl } from \"@crossmint/common-sdk-base\";\nimport { type AuthMaterialWithUser, SESSION_PREFIX, type SDKExternalUser } from \"@crossmint/common-sdk-auth\";\n\nimport AuthFormDialog from \"../components/auth/AuthFormDialog\";\nimport { useCrossmint, useWallet } from \"../hooks\";\nimport { CrossmintWalletProvider } from \"./CrossmintWalletProvider\";\nimport { AuthFormProvider } from \"./auth/AuthFormProvider\";\nimport { TwindProvider } from \"./TwindProvider\";\n\nexport type CrossmintAuthWalletConfig = {\n defaultChain: EVMSmartWalletChain;\n createOnLogin: \"all-users\" | \"off\";\n type: \"evm-smart-wallet\";\n showPasskeyHelpers?: boolean;\n};\n\nexport type LoginMethod = \"email\" | \"google\" | \"farcaster\" | \"web3\";\n\nexport type CrossmintAuthProviderProps = {\n embeddedWallets?: CrossmintAuthWalletConfig;\n appearance?: UIConfig;\n children: ReactNode;\n loginMethods?: LoginMethod[];\n refreshRoute?: string;\n logoutRoute?: string;\n};\n\ntype AuthStatus = \"logged-in\" | \"logged-out\" | \"in-progress\";\n\nexport interface AuthContextType {\n crossmintAuth?: CrossmintAuth;\n login: () => void;\n logout: () => void;\n jwt?: string;\n user?: SDKExternalUser;\n status: AuthStatus;\n getUser: () => void;\n}\n\nconst defaultContextValue: AuthContextType = {\n crossmintAuth: undefined,\n login: () => {},\n logout: () => {},\n jwt: undefined,\n user: undefined,\n status: \"logged-out\",\n getUser: () => {},\n};\n\nexport const AuthContext = createContext<AuthContextType>(defaultContextValue);\n\nconst defaultEmbeddedWallets: CrossmintAuthWalletConfig = {\n defaultChain: \"base-sepolia\",\n createOnLogin: \"off\",\n type: \"evm-smart-wallet\",\n};\n\nexport function CrossmintAuthProvider({\n embeddedWallets = defaultEmbeddedWallets,\n children,\n appearance,\n loginMethods = [\"email\", \"google\"],\n refreshRoute,\n logoutRoute,\n}: CrossmintAuthProviderProps) {\n const [user, setUser] = useState<SDKExternalUser | undefined>(undefined);\n const { crossmint, setJwt } = useCrossmint(\"CrossmintAuthProvider must be used within CrossmintProvider\");\n // Only create the CrossmintAuth instance once, even in StrictMode, as the constructor calls /refresh\n // It can only be called once to avoid race conditions\n const crossmintAuthRef = useRef<CrossmintAuth | null>(null);\n // biome-ignore lint/correctness/useExhaustiveDependencies: crossmint can't be a dependency because it updates with each jwt change\n const crossmintAuth = useMemo(() => {\n if (!crossmintAuthRef.current) {\n crossmintAuthRef.current = CrossmintAuth.from(crossmint, {\n callbacks: {\n onLogout: () => {\n setJwt(undefined);\n setUser(undefined);\n },\n onTokenRefresh: (authMaterial: AuthMaterialWithUser) => {\n setJwt(authMaterial.jwt);\n setUser(authMaterial.user);\n },\n },\n refreshRoute,\n logoutRoute,\n });\n }\n return crossmintAuthRef.current;\n }, []);\n\n const crossmintBaseUrl = validateApiKeyAndGetCrossmintBaseUrl(crossmint.apiKey);\n const [dialogOpen, setDialogOpen] = useState(false);\n\n useEffect(() => {\n if (crossmint.jwt == null) {\n const jwt = getCookie(SESSION_PREFIX);\n setJwt(jwt);\n }\n }, []);\n\n useEffect(() => {\n if (crossmint.jwt == null) {\n return;\n }\n\n setDialogOpen(false);\n }, [crossmint.jwt]);\n\n const login = () => {\n if (crossmint.jwt != null) {\n console.log(\"User already logged in\");\n return;\n }\n\n setDialogOpen(true);\n };\n\n const logout = () => {\n crossmintAuth.logout();\n };\n\n const getAuthStatus = (): AuthStatus => {\n if (crossmint.jwt != null) {\n return \"logged-in\";\n }\n if (dialogOpen) {\n return \"in-progress\";\n }\n return \"logged-out\";\n };\n\n const getUser = async () => {\n if (crossmint.jwt == null) {\n console.log(\"User not logged in\");\n return;\n }\n\n const user = await crossmintAuth.getUser();\n setUser(user);\n };\n\n return (\n <TwindProvider>\n <AuthContext.Provider\n value={{\n crossmintAuth,\n login,\n logout,\n jwt: crossmint.jwt,\n user,\n status: getAuthStatus(),\n getUser,\n }}\n >\n <CrossmintWalletProvider\n defaultChain={embeddedWallets.defaultChain}\n showPasskeyHelpers={embeddedWallets.showPasskeyHelpers}\n appearance={appearance}\n >\n <AuthFormProvider\n initialState={{\n appearance,\n setDialogOpen,\n loginMethods,\n embeddedWallets,\n baseUrl: crossmintBaseUrl,\n }}\n >\n <WalletManager embeddedWallets={embeddedWallets} accessToken={crossmint.jwt}>\n {children}\n </WalletManager>\n\n <AuthFormDialog open={dialogOpen} />\n </AuthFormProvider>\n </CrossmintWalletProvider>\n </AuthContext.Provider>\n </TwindProvider>\n );\n}\n\nfunction WalletManager({\n embeddedWallets,\n children,\n accessToken,\n}: {\n embeddedWallets: CrossmintAuthWalletConfig;\n children: ReactNode;\n accessToken: string | undefined;\n}) {\n const { getOrCreateWallet, clearWallet, status } = useWallet();\n\n useEffect(() => {\n if (embeddedWallets.createOnLogin === \"all-users\" && status === \"not-loaded\" && accessToken != null) {\n getOrCreateWallet({\n type: embeddedWallets.type,\n signer: { type: \"PASSKEY\" },\n });\n }\n\n if (status === \"loaded\" && accessToken == null) {\n clearWallet();\n }\n }, [accessToken, status]);\n\n return <>{children}</>;\n}\n","import { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { AuthForm } from \"./AuthForm\";\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from \"../common/Dialog\";\nimport { useEffect } from \"react\";\n\nexport default function AuthFormDialog({ open }: { open: boolean }) {\n const { appearance, setDialogOpen } = useAuthForm();\n\n useEffect(() => {\n document.body.style.overflow = open ? \"hidden\" : \"\";\n }, [open]);\n\n return (\n <Dialog modal={false} open={open} onOpenChange={setDialogOpen}>\n <DialogContent\n onInteractOutside={(e) => e.preventDefault()}\n onOpenAutoFocus={(e) => e.preventDefault()}\n closeButtonColor={appearance?.colors?.textPrimary}\n closeButtonRingColor={appearance?.colors?.accent}\n className=\"cm-responsive-border-radius-auth-dialog !p-0 !min-[480px]:p-0\"\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.background,\n }}\n >\n <VisuallyHidden asChild>\n <DialogTitle>Crossmint Auth</DialogTitle>\n </VisuallyHidden>\n <VisuallyHidden asChild>\n <DialogDescription>Sign in via Crossmint</DialogDescription>\n </VisuallyHidden>\n\n <AuthForm className=\"max-w-[448px]\" />\n </DialogContent>\n </Dialog>\n );\n}\n","import { createContext, useCallback, useContext, useEffect, useState, type ReactNode } from \"react\";\nimport type { OAuthProvider } from \"@crossmint/common-sdk-auth\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport type { CrossmintAuthWalletConfig, LoginMethod } from \"../CrossmintAuthProvider\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\ntype AuthStep = \"initial\" | \"otp\" | \"qrCode\" | \"web3\" | \"web3/metamask\" | \"web3/walletconnect\";\n\ntype OAuthUrlMap = Record<OAuthProvider, string>;\nconst initialOAuthUrlMap: OAuthUrlMap = {\n google: \"\",\n // Farcaster is not included here as it uses a different authentication method\n};\ninterface AuthFormContextType {\n step: AuthStep;\n error: string | null;\n appearance?: UIConfig;\n loginMethods: LoginMethod[];\n oauthUrlMap: OAuthUrlMap;\n isLoadingOauthUrlMap: boolean;\n baseUrl: string;\n setStep: (step: AuthStep) => void;\n setError: (error: string | null) => void;\n setDialogOpen: (open: boolean) => void;\n}\n\ntype ContextInitialStateProps = {\n appearance?: UIConfig;\n loginMethods: LoginMethod[];\n baseUrl: string;\n setDialogOpen?: (open: boolean) => void;\n embeddedWallets: CrossmintAuthWalletConfig;\n};\n\nconst AuthFormContext = createContext<AuthFormContextType | undefined>(undefined);\n\nexport const useAuthForm = () => {\n const context = useContext(AuthFormContext);\n if (!context) {\n throw new Error(\"useAuthForm must be used within an AuthFormProvider\");\n }\n return context;\n};\n\nexport const AuthFormProvider = ({\n children,\n initialState,\n}: { children: ReactNode; initialState: ContextInitialStateProps }) => {\n const { crossmintAuth } = useCrossmintAuth();\n const [step, setStep] = useState<AuthStep>(\"initial\");\n const [error, setError] = useState<string | null>(null);\n const [oauthUrlMap, setOauthUrlMap] = useState<OAuthUrlMap>(initialOAuthUrlMap);\n const [isLoadingOauthUrlMap, setIsLoadingOauthUrlMap] = useState(true);\n\n const { loginMethods, baseUrl, setDialogOpen, appearance, embeddedWallets } = initialState;\n\n if (loginMethods.includes(\"web3\") && embeddedWallets?.createOnLogin === \"all-users\") {\n throw new Error(\"Creating wallets on login is not yet supported for web3 login method\");\n }\n\n const preFetchAndSetOauthUrl = useCallback(async () => {\n setIsLoadingOauthUrlMap(true);\n try {\n const oauthProviders = loginMethods.filter(\n (method): method is OAuthProvider => method in initialOAuthUrlMap\n );\n\n const oauthPromiseList = oauthProviders.map(async (provider) => {\n const url = await crossmintAuth?.getOAuthUrl(provider);\n return { [provider]: url };\n });\n\n const oauthUrlMap = Object.assign({}, ...(await Promise.all(oauthPromiseList)));\n setOauthUrlMap(oauthUrlMap);\n } catch (error) {\n console.error(\"Error fetching OAuth URLs:\", error);\n setError(\"Unable to load oauth providers. Please try again later.\");\n } finally {\n setIsLoadingOauthUrlMap(false);\n }\n }, [loginMethods, crossmintAuth]);\n\n useEffect(() => {\n preFetchAndSetOauthUrl();\n }, [preFetchAndSetOauthUrl]);\n\n const handleToggleDialog = (open: boolean) => {\n setDialogOpen?.(open);\n if (!open) {\n // Delay to allow the close transition to complete before resetting the step\n setTimeout(() => setStep(\"initial\"), 250);\n }\n };\n\n const value: AuthFormContextType = {\n step,\n error,\n baseUrl,\n appearance,\n loginMethods,\n oauthUrlMap,\n isLoadingOauthUrlMap,\n setDialogOpen: handleToggleDialog,\n setError,\n setStep,\n };\n\n return <AuthFormContext.Provider value={value}>{children}</AuthFormContext.Provider>;\n};\n","import { useContext } from \"react\";\nimport { AuthContext } from \"../providers/CrossmintAuthProvider\";\n\nexport function useCrossmintAuth() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useCrossmintAuth must be used within a CrossmintAuthProvider\");\n }\n\n return context;\n}\n","import { lazy } from \"react\";\nimport Color from \"color\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { EmailAuthFlow } from \"./methods/email/EmailAuthFlow\";\nimport { Divider } from \"../common/Divider\";\nimport { GoogleSignIn } from \"./methods/google/GoogleSignIn\";\nimport { FarcasterSignIn } from \"./methods/farcaster/FarcasterSignIn\";\nimport { PoweredByCrossmint } from \"../common/PoweredByCrossmint\";\nimport { FarcasterProvider } from \"../../providers/auth/FarcasterProvider\";\nimport { classNames } from \"@/utils/classNames\";\nimport { AlertIcon } from \"@/icons/alert\";\n\nconst Web3AuthFlow = lazy(() =>\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n import(\"./methods/web3/Web3AuthFlow\").then((mod) => ({\n default: mod.Web3AuthFlow,\n }))\n);\n\nexport function AuthForm({ className }: { className?: string }) {\n const { step, appearance, loginMethods, baseUrl, error } = useAuthForm();\n\n return (\n <div\n className={classNames(\n \"relative p-6 pb-4 !min-[480px]:p-10 !min-[480px]:pb-8 flex flex-col gap-[10px] antialiased animate-none\",\n className\n )}\n >\n {error ? (\n <div\n className=\"flex items-start justify-start w-full rounded-lg p-2 mt-4 bg-cm-danger-muted\"\n style={{\n backgroundColor: new Color(appearance?.colors?.danger ?? \"#f44336\").alpha(0.12).toString(),\n }}\n >\n <AlertIcon customColor={appearance?.colors?.danger ?? \"#f44336\"} />\n <p className=\"ml-2 text-sm\" style={{ color: appearance?.colors?.danger ?? \"#f44336\" }}>\n {error}\n </p>\n </div>\n ) : null}\n\n {step === \"initial\" ? (\n <div>\n <h1\n className=\"text-2xl font-bold text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Sign In\n </h1>\n <p\n className=\"text-base font-normal mb-3 text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Sign in using one of the options below\n </p>\n </div>\n ) : null}\n\n {loginMethods.includes(\"email\") ? (\n <>\n <EmailAuthFlow />\n {loginMethods.length > 1 ? <Divider appearance={appearance} text=\"OR\" /> : null}\n </>\n ) : null}\n\n {loginMethods.includes(\"google\") ? <GoogleSignIn /> : null}\n {loginMethods.includes(\"farcaster\") ? (\n <FarcasterProvider baseUrl={baseUrl}>\n <FarcasterSignIn />\n </FarcasterProvider>\n ) : null}\n {loginMethods.includes(\"web3\") ? <Web3AuthFlow /> : null}\n\n {step === \"initial\" || step === \"otp\" ? (\n <PoweredByCrossmint\n className=\"mt-4 justify-center\"\n color={appearance?.colors?.textSecondary ?? \"#A4AFB2\"}\n />\n ) : null}\n </div>\n );\n}\n","import { useState } from \"react\";\nimport { EmailOTPInput } from \"./EmailOTPInput\";\nimport { EmailSignIn } from \"./EmailSignIn\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\n\nexport function EmailAuthFlow() {\n const { step } = useAuthForm();\n const [otpEmailData, setOtpEmailData] = useState<OtpEmailPayload | null>(null);\n\n if (step === \"otp\") {\n return <EmailOTPInput otpEmailData={otpEmailData} setOtpEmailData={setOtpEmailData} />;\n }\n if (step === \"initial\") {\n return <EmailSignIn setOtpEmailData={setOtpEmailData} />;\n }\n\n return null;\n}\n","import { useState } from \"react\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/common/InputOTP\";\nimport { EmailOtpIcon } from \"@/icons/emailOTP\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\nimport { AuthFormBackButton } from \"../../AuthFormBackButton\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\nexport const EMAIL_VERIFICATION_TOKEN_LENGTH = 6;\n\nexport function EmailOTPInput({\n otpEmailData,\n setOtpEmailData,\n}: { otpEmailData: OtpEmailPayload | null; setOtpEmailData: (data: OtpEmailPayload | null) => void }) {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setDialogOpen, setStep, setError } = useAuthForm();\n\n const [token, setToken] = useState(\"\");\n const [hasError, setHasError] = useState(false);\n const [loading, setLoading] = useState(false);\n\n const handleOnSubmit = async () => {\n setLoading(true);\n try {\n const oneTimeSecret = await crossmintAuth?.confirmEmailOtp(\n otpEmailData?.email ?? \"\",\n otpEmailData?.emailId ?? \"\",\n token\n );\n\n await crossmintAuth?.handleRefreshAuthMaterial(oneTimeSecret as string);\n setDialogOpen(false);\n setStep(\"initial\");\n } catch (error) {\n console.error(\"Error confirming email OTP\", error);\n setError(\"Invalid code. Please try again.\");\n setHasError(true);\n } finally {\n setLoading(false);\n }\n };\n\n const handleOnBack = () => {\n setStep(\"initial\");\n setOtpEmailData(null);\n };\n\n return (\n <div>\n <AuthFormBackButton\n onClick={handleOnBack}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n\n <div className=\"flex flex-col items-center justify-start w-full\">\n <div className=\"relative left-3\">\n <EmailOtpIcon\n customAccentColor={appearance?.colors?.accent}\n customButtonBackgroundColor={appearance?.colors?.buttonBackground}\n customBackgroundColor={appearance?.colors?.background}\n />\n </div>\n <p\n className=\"text-base font-normal mt-4 mb-1 text-center text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n {\"Check your email\"}\n </p>\n <p\n className=\"text-center text-cm-text-secondary px-4\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n {\"A temporary login code has been sent to your email\"}\n </p>\n <div className=\"py-8\">\n <InputOTP\n maxLength={EMAIL_VERIFICATION_TOKEN_LENGTH}\n value={token}\n onChange={(val) => {\n setToken(val);\n setHasError(false);\n setError(null);\n }}\n onComplete={handleOnSubmit}\n disabled={loading}\n customStyles={{\n accent: appearance?.colors?.accent ?? \"#04AA6D\",\n danger: appearance?.colors?.danger ?? \"#f44336\",\n border: appearance?.colors?.border ?? \"#E5E7EB\",\n textPrimary: appearance?.colors?.textPrimary ?? \"#909ca3\",\n buttonBackground: appearance?.colors?.buttonBackground ?? \"#eff6ff\",\n inputBackground: appearance?.colors?.inputBackground ?? \"#FFFFFF\",\n borderRadius: appearance?.borderRadius,\n }}\n >\n <InputOTPGroup>\n <InputOTPSlot index={0} hasError={hasError} />\n <InputOTPSlot index={1} hasError={hasError} />\n <InputOTPSlot index={2} hasError={hasError} />\n <InputOTPSlot index={3} hasError={hasError} />\n <InputOTPSlot index={4} hasError={hasError} />\n <InputOTPSlot index={5} hasError={hasError} />\n </InputOTPGroup>\n </InputOTP>\n </div>\n\n <p className=\"text-sm leading-tight text-cm-text-secondary text-center\">\n <span style={{ color: appearance?.colors?.textSecondary }}>\n Can't find the email? Check spam folder or contact\n </span>{\" \"}\n <a\n key=\"resend-email-link\"\n className=\"transition-opacity duration-150 text-cm-link hover:opacity-70\"\n style={{ color: appearance?.colors?.textLink }}\n href=\"mailto:support@crossmint.io\"\n >\n support@crossmint.io\n </a>\n </p>\n </div>\n </div>\n );\n}\n","import type React from \"react\";\nimport { classNames } from \"../../utils/classNames\";\nimport { LeftArrowIcon } from \"@/icons/leftArrow\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\n\nexport const AuthFormBackButton = ({\n className,\n iconColor,\n ringColor,\n onClick,\n ...props\n}: React.HTMLAttributes<HTMLButtonElement> & { iconColor?: string; ringColor?: string }) => {\n const { setError } = useAuthForm();\n\n return (\n <button\n className={classNames(\n \"absolute left-4 top-4 min-[480px]:!left-6 min-[480px]:!top-6 rounded-full opacity-70 ring-offset-background text-cm-text-primary transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-cm-accent focus:ring-offset-2 disabled:pointer-events-none\",\n className\n )}\n onClick={(event) => {\n setError(null);\n onClick?.(event);\n }}\n {...props}\n >\n <LeftArrowIcon className=\"w-6 h-6\" style={{ color: iconColor }} />\n </button>\n );\n};\n","import { type FormEvent, useState } from \"react\";\nimport Color from \"color\";\n\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { classNames } from \"@/utils/classNames\";\nimport { AlertIcon } from \"../../../../icons/alert\";\nimport { isEmailValid } from \"@crossmint/common-sdk-auth\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\nexport function EmailSignIn({ setOtpEmailData }: { setOtpEmailData: (data: OtpEmailPayload) => void }) {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setStep, setError } = useAuthForm();\n\n const [emailInput, setEmailInput] = useState(\"\");\n const [emailError, setEmailError] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n\n async function handleOnSubmit(e: FormEvent<HTMLFormElement>) {\n e.preventDefault();\n\n if (!isEmailValid(emailInput)) {\n setEmailError(\"Please enter a valid email address\");\n return;\n }\n\n setIsLoading(true);\n\n try {\n const trimmedEmailInput = emailInput.trim().toLowerCase();\n const emailSignInRes = (await crossmintAuth?.sendEmailOtp(trimmedEmailInput)) as { emailId: string };\n\n setOtpEmailData({ email: trimmedEmailInput, emailId: emailSignInRes.emailId });\n setStep(\"otp\");\n } catch (_e: unknown) {\n setIsLoading(false);\n setError(\"Failed to send email. Please try again or contact support.\");\n }\n }\n\n return (\n <>\n <div className=\"flex flex-col items-start justify-start w-full rounded-lg\">\n <div className=\"w-full\">\n <form\n role=\"form\"\n className=\"relative\"\n onSubmit={handleOnSubmit}\n noValidate // we want to handle validation ourselves\n >\n <label htmlFor=\"emailInput\" className=\"sr-only\">\n Email\n </label>\n <input\n className={classNames(\n \"flex-grow text-cm-text-secondary text-left pl-[16px] pr-[80px] h-[58px] w-full border border-cm-border rounded-xl bg-cm-background-primary placeholder:text-sm placeholder:text-opacity-60\",\n \"transition-none duration-200 ease-in-out\",\n \"focus:outline-none focus-ring-custom\", // Add focus ring\n emailError ? \"border-red-500\" : \"\"\n )}\n style={{\n color: appearance?.colors?.textPrimary,\n borderRadius: appearance?.borderRadius,\n borderColor: emailError ? appearance?.colors?.danger : appearance?.colors?.border,\n backgroundColor: appearance?.colors?.inputBackground,\n // @ts-expect-error Add custom ring color to tailwind\n \"--focus-ring-color\": new Color(appearance?.colors?.accent ?? \"#04AA6D\")\n .alpha(0.18)\n .toString(),\n }}\n type=\"email\"\n placeholder=\"Enter email\"\n value={emailInput}\n onChange={(e) => {\n setEmailInput(e.target.value);\n setEmailError(\"\");\n setError(null);\n }}\n readOnly={isLoading}\n aria-describedby=\"emailError\"\n />\n <div className=\"absolute inset-y-0 right-0 flex items-center pr-4\">\n {emailError && <AlertIcon customColor={appearance?.colors?.danger} />}\n {isLoading && (\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n )}\n {!emailError && !isLoading && (\n <button\n type=\"submit\"\n className={classNames(\"cursor-pointer font-medium text-cm-accent text-nowrap\")}\n style={{ color: appearance?.colors?.accent }}\n disabled={!emailInput}\n >\n Sign in\n </button>\n )}\n </div>\n </form>\n {emailError && <p className=\"text-xs text-red-500 mb-2 pt-2\">{emailError}</p>}\n </div>\n </div>\n </>\n );\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\n\nexport function Divider({ appearance, text }: { appearance?: UIConfig; text?: string }) {\n const { step } = useAuthForm();\n\n if (step !== \"initial\") {\n return null;\n }\n\n return (\n <div className=\"flex items-center justify-center w-full pt-2 pb-3\">\n <span className=\"w-full h-[1px] bg-cm-border\" style={{ backgroundColor: appearance?.colors?.border }} />\n {text != null ? (\n <p\n className=\"flex-none px-2 text-sm text-cm-text-primary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n {text}\n </p>\n ) : null}\n <span className=\"w-full h-[1px] bg-cm-border\" style={{ backgroundColor: appearance?.colors?.border }} />\n </div>\n );\n}\n","import type { OAuthProvider } from \"@crossmint/common-sdk-auth\";\nimport { ChildWindow, PopupWindow } from \"@crossmint/client-sdk-window\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { z } from \"zod\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { useCrossmintAuth } from \"./useCrossmintAuth\";\n\nexport const useOAuthWindowListener = (provider: OAuthProvider) => {\n const { crossmintAuth } = useCrossmintAuth();\n const { oauthUrlMap, setError } = useAuthForm();\n const [isLoading, setIsLoading] = useState(false);\n const childRef = useRef<ChildWindow<IncomingEvents, OutgoingEvents> | null>(null);\n\n useEffect(() => {\n if (childRef.current == null) {\n childRef.current = new ChildWindow<IncomingEvents, OutgoingEvents>(window.opener || window.parent, \"*\", {\n incomingEvents,\n });\n }\n\n return () => {\n if (childRef.current != null) {\n childRef.current.off(\"authMaterialFromPopupCallback\");\n }\n };\n }, []);\n\n const createPopupAndSetupListeners = async () => {\n if (childRef.current == null) {\n throw new Error(\"Child window not initialized\");\n }\n setIsLoading(true);\n setError(null);\n const popup = await PopupWindow.init(oauthUrlMap[provider], {\n awaitToLoad: false,\n crossOrigin: true,\n width: 400,\n height: 700,\n });\n\n const handleAuthMaterial = async (data: { oneTimeSecret: string }) => {\n await crossmintAuth?.handleRefreshAuthMaterial(data.oneTimeSecret);\n childRef.current?.off(\"authMaterialFromPopupCallback\");\n popup.window.close();\n setIsLoading(false);\n };\n\n const handleError = (data: { error: string }) => {\n setError(data.error);\n childRef.current?.off(\"errorFromPopupCallback\");\n popup.window.close();\n setIsLoading(false);\n };\n\n childRef.current.on(\"authMaterialFromPopupCallback\", handleAuthMaterial);\n childRef.current.on(\"errorFromPopupCallback\", handleError);\n // Add a check for manual window closure\n // Ideally we should find a more explicit way of doing this, but I think this is fine for now.\n const checkWindowClosure = setInterval(() => {\n if (popup.window.closed) {\n clearInterval(checkWindowClosure);\n setIsLoading(false);\n childRef.current?.off(\"authMaterialFromPopupCallback\");\n }\n }, 2500); // Check every 2.5 seconds\n };\n\n return {\n createPopupAndSetupListeners,\n isLoading,\n };\n};\n\nconst incomingEvents = {\n authMaterialFromPopupCallback: z.object({ oneTimeSecret: z.string() }),\n errorFromPopupCallback: z.object({ error: z.string() }),\n};\n\ntype IncomingEvents = {\n authMaterialFromPopupCallback: typeof incomingEvents.authMaterialFromPopupCallback;\n errorFromPopupCallback: typeof incomingEvents.errorFromPopupCallback;\n};\n\ntype OutgoingEvents = Record<string, never>;\n","import type { ButtonHTMLAttributes } from \"react\";\nimport { GoogleIcon } from \"@/icons/google\";\nimport { useOAuthWindowListener } from \"@/hooks/useOAuthWindowListener\";\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { classNames } from \"@/utils/classNames\";\n\nexport function GoogleSignIn({ ...props }: ButtonHTMLAttributes<HTMLButtonElement>) {\n const { step, appearance, isLoadingOauthUrlMap } = useAuthForm();\n const { createPopupAndSetupListeners, isLoading: isLoadingOAuthWindow } = useOAuthWindowListener(\"google\");\n const isLoading = isLoadingOauthUrlMap || isLoadingOAuthWindow;\n\n if (step !== \"initial\") {\n return null;\n }\n\n return (\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\",\n isLoading ? \"cursor-not-allowed hover:bg-cm-muted-primary\" : \"\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={isLoading ? undefined : createPopupAndSetupListeners}\n {...props}\n >\n <>\n <GoogleIcon className=\"h-[25px] w-[25px] absolute left-[18px]\" />\n {isLoading ? (\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n ) : (\n <span\n className=\"font-medium\"\n style={{ margin: \"0px 32px\", color: appearance?.colors?.textPrimary }}\n >\n Sign in with Google\n </span>\n )}\n </>\n <span className=\"sr-only\">Sign in with Google</span>\n </button>\n );\n}\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useSignIn, QRCode, type UseSignInData } from \"@farcaster/auth-kit\";\nimport { FarcasterIcon } from \"@/icons/farcaster\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { classNames } from \"@/utils/classNames\";\nimport { AuthFormBackButton } from \"../../AuthFormBackButton\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\nexport function FarcasterSignIn() {\n const { step, appearance, setStep, setError } = useAuthForm();\n\n if (step === \"initial\") {\n return (\n <div>\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={() => {\n setStep(\"qrCode\");\n setError(null);\n }}\n >\n <FarcasterIcon className=\"h-[25px] w-[25px] absolute left-[18px]\" />\n <span\n className=\"font-medium\"\n style={{ margin: \"0px 32px\", color: appearance?.colors?.textPrimary }}\n >\n Sign in with Farcaster\n </span>\n <span className=\"sr-only\">Sign in with Farcaster</span>\n </button>\n </div>\n );\n }\n\n if (step === \"qrCode\") {\n return <FarcasterQRCode />;\n }\n\n return null;\n}\n\n// We want this to be a separate component so it can completely un-render when the user goes back to the initial screen\nfunction FarcasterQRCode() {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setStep, setDialogOpen, setError } = useAuthForm();\n const [farcasterData, setFarcasterData] = useState<UseSignInData | null>(null);\n\n const farcasterProps = useMemo(\n () => ({\n onSuccess: (data: UseSignInData) => {\n // Step 3. set the farcaster data once the sign in is successful\n setFarcasterData(data);\n },\n }),\n []\n );\n\n const { signIn, url: qrCodeUrl, connect, signOut, isConnected } = useSignIn(farcasterProps);\n\n const handleFarcasterSignIn = async (data: UseSignInData) => {\n setError(null);\n try {\n const oneTimeSecret = await crossmintAuth?.signInWithFarcaster(data);\n // Step 5. fetch the auth material, close the dialog, and unrender any farcaster client stuff\n await crossmintAuth?.handleRefreshAuthMaterial(oneTimeSecret as string);\n setDialogOpen(false);\n setStep(\"initial\");\n } catch (error) {\n console.error(\"Error during Farcaster sign-in:\", error);\n setError(\"Failed to sign in with Farcaster\");\n }\n };\n\n useEffect(() => {\n if (farcasterData != null) {\n // Step 4. call the handleFarcasterSignInfunction to handle the sign in\n handleFarcasterSignIn(farcasterData);\n }\n }, [farcasterData]);\n\n useEffect(() => {\n if (isConnected) {\n // Step 2. once connected, call the signIn function to start the sign in process\n signIn();\n }\n }, [isConnected]);\n\n useEffect(() => {\n // Step 1. call the connect function to initialize the connection\n connect();\n }, []);\n\n return (\n <div>\n <AuthFormBackButton\n onClick={() => {\n signOut();\n setStep(\"initial\");\n }}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n\n <div className=\"flex flex-col items-center gap-4\">\n <div className=\"text-center\">\n <h3\n className=\"text-lg font-semibold text-cm-text-primary mb-2\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Sign in with Farcaster\n </h3>\n <p\n className=\"text-base font-normal text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Scan with your phone's camera to continue.\n </p>\n </div>\n <div\n className=\"bg-white aspect-square rounded-lg p-4\"\n style={{\n backgroundColor: appearance?.colors?.inputBackground,\n borderRadius: appearance?.borderRadius,\n }}\n >\n {qrCodeUrl != null ? (\n <QRCode uri={qrCodeUrl} size={280} />\n ) : (\n <div className=\"min-h-[246px] flex items-center justify-center\">\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n </div>\n )}\n </div>\n {qrCodeUrl ? (\n <>\n <p\n className=\"text-base text-center font-normal text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Alternatively, click on this link to open Warpcast.\n </p>\n <a\n href={qrCodeUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"text-base font-normal text-cm-link\"\n style={{ color: appearance?.colors?.textLink }}\n >\n Open Warpcast\n </a>\n </>\n ) : null}\n </div>\n </div>\n );\n}\n"]}
|
package/dist/chunk-MH37OJT2.cjs
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
2
|
-
|
|
3
|
-
var _chunk5RX5WFEWcjs = require('./chunk-5RX5WFEW.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _chunk4DAZAO6Ycjs = require('./chunk-4DAZAO6Y.cjs');
|
|
9
|
-
|
|
10
|
-
// src/components/common/InputOTP.tsx
|
|
11
|
-
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
12
|
-
var _inputotp = require('input-otp');
|
|
13
|
-
|
|
14
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
15
|
-
var CustomStylesContext = _react.createContext.call(void 0, void 0);
|
|
16
|
-
var InputOTP = React.forwardRef((_a, ref) => {
|
|
17
|
-
var _b = _a, { className, containerClassName, customStyles } = _b, props = _chunk4DAZAO6Ycjs.__objRest.call(void 0, _b, ["className", "containerClassName", "customStyles"]);
|
|
18
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CustomStylesContext.Provider, { value: customStyles, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19
|
-
_inputotp.OTPInput,
|
|
20
|
-
_chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {
|
|
21
|
-
autoFocus: true,
|
|
22
|
-
ref,
|
|
23
|
-
containerClassName: _chunk5RX5WFEWcjs.classNames.call(void 0, "flex items-center gap-2 has-[:disabled]:opacity-50", containerClassName),
|
|
24
|
-
className: _chunk5RX5WFEWcjs.classNames.call(void 0, "disabled:cursor-not-allowed", className)
|
|
25
|
-
}, props)
|
|
26
|
-
) });
|
|
27
|
-
});
|
|
28
|
-
InputOTP.displayName = "InputOTP";
|
|
29
|
-
var InputOTPGroup = React.forwardRef(
|
|
30
|
-
(_a, ref) => {
|
|
31
|
-
var _b = _a, { className } = _b, props = _chunk4DAZAO6Ycjs.__objRest.call(void 0, _b, ["className"]);
|
|
32
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, { ref, className: _chunk5RX5WFEWcjs.classNames.call(void 0, "flex gap-2 items-center", className) }, props));
|
|
33
|
-
}
|
|
34
|
-
);
|
|
35
|
-
InputOTPGroup.displayName = "InputOTPGroup";
|
|
36
|
-
var InputOTPSlot = React.forwardRef((_a, ref) => {
|
|
37
|
-
var _b = _a, { index, className, hasError } = _b, props = _chunk4DAZAO6Ycjs.__objRest.call(void 0, _b, ["index", "className", "hasError"]);
|
|
38
|
-
const inputOTPContext = React.useContext(_inputotp.OTPInputContext);
|
|
39
|
-
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
|
|
40
|
-
const customStyles = _react.useContext.call(void 0, CustomStylesContext);
|
|
41
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
42
|
-
"div",
|
|
43
|
-
_chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {
|
|
44
|
-
ref,
|
|
45
|
-
className: _chunk5RX5WFEWcjs.classNames.call(void 0,
|
|
46
|
-
"relative flex h-14 w-12 items-center bg-cm-muted-primary justify-center border border-cm-border text-lg transition-all rounded-md text-cm-text-primary",
|
|
47
|
-
isActive && `z-10 ring-2 ring-offset-background`,
|
|
48
|
-
className
|
|
49
|
-
),
|
|
50
|
-
style: {
|
|
51
|
-
borderRadius: customStyles == null ? void 0 : customStyles.borderRadius,
|
|
52
|
-
borderColor: hasError ? customStyles == null ? void 0 : customStyles.danger : customStyles == null ? void 0 : customStyles.border,
|
|
53
|
-
boxShadow: isActive ? `0 0 0 2px ${customStyles == null ? void 0 : customStyles.accent}` : "none",
|
|
54
|
-
backgroundColor: char ? customStyles == null ? void 0 : customStyles.buttonBackground : customStyles == null ? void 0 : customStyles.inputBackground
|
|
55
|
-
}
|
|
56
|
-
}, props), {
|
|
57
|
-
children: [
|
|
58
|
-
char,
|
|
59
|
-
hasFakeCaret && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
60
|
-
"div",
|
|
61
|
-
{
|
|
62
|
-
className: "h-4 w-px animate-caret-blink duration-1000",
|
|
63
|
-
style: {
|
|
64
|
-
height: "18px",
|
|
65
|
-
backgroundColor: customStyles == null ? void 0 : customStyles.textPrimary
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
) })
|
|
69
|
-
]
|
|
70
|
-
})
|
|
71
|
-
);
|
|
72
|
-
});
|
|
73
|
-
InputOTPSlot.displayName = "InputOTPSlot";
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
exports.InputOTP = InputOTP; exports.InputOTPGroup = InputOTPGroup; exports.InputOTPSlot = InputOTPSlot;
|
|
80
|
-
//# sourceMappingURL=chunk-MH37OJT2.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/common/InputOTP.tsx"],"names":["useContext"],"mappings":";;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,UAAU,uBAAuB;AAC1C,SAAS,eAAe,cAAAA,mBAAkB;AA2BlC,cA8BA,YA9BA;AAZR,IAAM,sBAAsB,cAAwC,MAAS;AAO7E,IAAM,WAAoG,iBAGxG,CAAC,IAA2D,QAAK;AAAhE,eAAE,aAAW,oBAAoB,aA7BpC,IA6BG,IAAkD,kBAAlD,IAAkD,CAAhD,aAAW,sBAAoB;AAChC,6BAAC,oBAAoB,UAApB,EAA6B,OAAO,cACjC;AAAA,IAAC;AAAA;AAAA,MACG,WAAS;AAAA,MACT;AAAA,MACA,oBAAoB,WAAW,sDAAsD,kBAAkB;AAAA,MACvG,WAAW,WAAW,+BAA+B,SAAS;AAAA,OAC1D;AAAA,EACR,GACJ;AAAA,CACH;AACD,SAAS,cAAc;AAEvB,IAAM,gBAAsB;AAAA,EACxB,CAAC,IAAyB,QAAK;AAA9B,iBAAE,YA3CP,IA2CK,IAAgB,kBAAhB,IAAgB,CAAd;AACC,+BAAC,wBAAI,KAAU,WAAW,WAAW,2BAA2B,SAAS,KAAO,MAAO;AAAA;AAE/F;AACA,cAAc,cAAc;AAE5B,IAAM,eAAqB,iBAMzB,CAAC,IAA0C,QAAQ;AAAlD,eAAE,SAAO,WAAW,SAvDvB,IAuDG,IAAiC,kBAAjC,IAAiC,CAA/B,SAAO,aAAW;AACnB,QAAM,kBAAwB,iBAAW,eAAe;AACxD,QAAM,EAAE,MAAM,cAAc,SAAS,IAAI,gBAAgB,MAAM,KAAK;AACpE,QAAM,eAAeA,YAAW,mBAAmB;AAEnD,SACI;AAAA,IAAC;AAAA;AAAA,MACG;AAAA,MACA,WAAW;AAAA,QACP;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACH,cAAc,6CAAc;AAAA,QAC5B,aAAa,WAAW,6CAAc,SAAS,6CAAc;AAAA,QAC7D,WAAW,WAAW,aAAa,6CAAc,MAAM,KAAK;AAAA,QAC5D,iBAAiB,OAAO,6CAAc,mBAAmB,6CAAc;AAAA,MAC3E;AAAA,OACI,QAbP;AAAA,MAeI;AAAA;AAAA,QACA,gBACG,oBAAC,SAAI,WAAU,yEACX;AAAA,UAAC;AAAA;AAAA,YACG,WAAU;AAAA,YACV,OAAO;AAAA,cACH,QAAQ;AAAA,cACR,iBAAiB,6CAAc;AAAA,YACnC;AAAA;AAAA,QACJ,GACJ;AAAA;AAAA;AAAA,EAER;AAER,CAAC;AACD,aAAa,cAAc","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { OTPInput, OTPInputContext } from \"input-otp\";\nimport { createContext, useContext } from \"react\";\nimport { classNames } from \"@/utils/classNames\";\n\n// Define the type for customStyles\ntype CustomStyles = {\n textPrimary: string;\n inputBackground: string;\n buttonBackground: string;\n accent: string;\n danger: string;\n border: string;\n borderRadius?: string;\n};\n\n// Create a context for customStyles\nconst CustomStylesContext = createContext<CustomStyles | undefined>(undefined);\n\ntype InputOTPProps = React.ComponentPropsWithoutRef<typeof OTPInput> & {\n customStyles?: CustomStyles;\n};\ntype InputOTPRef = React.ElementRef<typeof OTPInput>;\n\nconst InputOTP: React.ForwardRefExoticComponent<InputOTPProps & React.RefAttributes<InputOTPRef>> = React.forwardRef<\n InputOTPRef,\n InputOTPProps\n>(({ className, containerClassName, customStyles, ...props }, ref) => (\n <CustomStylesContext.Provider value={customStyles}>\n <OTPInput\n autoFocus\n ref={ref}\n containerClassName={classNames(\"flex items-center gap-2 has-[:disabled]:opacity-50\", containerClassName)}\n className={classNames(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n </CustomStylesContext.Provider>\n));\nInputOTP.displayName = \"InputOTP\";\n\nconst InputOTPGroup = React.forwardRef<React.ElementRef<\"div\">, React.ComponentPropsWithoutRef<\"div\">>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={classNames(\"flex gap-2 items-center\", className)} {...props} />\n )\n);\nInputOTPGroup.displayName = \"InputOTPGroup\";\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\"> & {\n index: number;\n hasError?: boolean;\n }\n>(({ index, className, hasError, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n const customStyles = useContext(CustomStylesContext);\n\n return (\n <div\n ref={ref}\n className={classNames(\n \"relative flex h-14 w-12 items-center bg-cm-muted-primary justify-center border border-cm-border text-lg transition-all rounded-md text-cm-text-primary\",\n isActive && `z-10 ring-2 ring-offset-background`,\n className\n )}\n style={{\n borderRadius: customStyles?.borderRadius,\n borderColor: hasError ? customStyles?.danger : customStyles?.border,\n boxShadow: isActive ? `0 0 0 2px ${customStyles?.accent}` : \"none\",\n backgroundColor: char ? customStyles?.buttonBackground : customStyles?.inputBackground,\n }}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div\n className=\"h-4 w-px animate-caret-blink duration-1000\"\n style={{\n height: \"18px\",\n backgroundColor: customStyles?.textPrimary,\n }}\n />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = \"InputOTPSlot\";\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot };\n"]}
|
package/dist/chunk-MJHLKJ6X.cjs
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
var _chunkPBSL6JOFcjs = require('./chunk-PBSL6JOF.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunk5RX5WFEWcjs = require('./chunk-5RX5WFEW.cjs');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkUASNCH3Acjs = require('./chunk-UASNCH3A.cjs');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _chunkMUS7DUPScjs = require('./chunk-MUS7DUPS.cjs');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var _chunkYE55IKBPcjs = require('./chunk-YE55IKBP.cjs');
|
|
16
|
-
|
|
17
|
-
// src/components/auth/PasskeyPrompt.tsx
|
|
18
|
-
var _react = require('@headlessui/react');
|
|
19
|
-
var _react3 = require('react');
|
|
20
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
21
|
-
function PasskeyPromptCore({ title, content, primaryButton, secondaryAction, appearance }) {
|
|
22
|
-
var _a, _b, _c, _d, _e;
|
|
23
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24
|
-
_react.Dialog,
|
|
25
|
-
{
|
|
26
|
-
open: true,
|
|
27
|
-
onClose: () => {
|
|
28
|
-
},
|
|
29
|
-
className: _chunk5RX5WFEWcjs.classNames.call(void 0, "fixed inset-0 z-20 flex items-center justify-center overflow-y-auto"),
|
|
30
|
-
children: [
|
|
31
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32
|
-
_react.Transition.Child,
|
|
33
|
-
{
|
|
34
|
-
as: _react3.Fragment,
|
|
35
|
-
enter: "ease-out duration-400",
|
|
36
|
-
enterFrom: "opacity-0",
|
|
37
|
-
enterTo: "opacity-100",
|
|
38
|
-
leave: "ease-in duration-400",
|
|
39
|
-
leaveFrom: "opacity-100",
|
|
40
|
-
leaveTo: "opacity-0",
|
|
41
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42
|
-
"div",
|
|
43
|
-
{
|
|
44
|
-
className: _chunk5RX5WFEWcjs.classNames.call(void 0,
|
|
45
|
-
"fixed inset-0 bg-[rgba(139,151,151,0.2)] backdrop-blur-[2px] transition-opacity duration-300 ease-in-out -z-10"
|
|
46
|
-
)
|
|
47
|
-
}
|
|
48
|
-
)
|
|
49
|
-
}
|
|
50
|
-
),
|
|
51
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52
|
-
"div",
|
|
53
|
-
{
|
|
54
|
-
style: {
|
|
55
|
-
display: "flex",
|
|
56
|
-
flexDirection: "column",
|
|
57
|
-
alignItems: "center",
|
|
58
|
-
width: "100%",
|
|
59
|
-
maxWidth: "28rem",
|
|
60
|
-
borderRadius: "1rem",
|
|
61
|
-
boxShadow: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
|
|
62
|
-
zIndex: 30,
|
|
63
|
-
border: "1px solid",
|
|
64
|
-
backgroundColor: ((_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.background) || "white",
|
|
65
|
-
borderColor: ((_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.border) || "#D0D5DD"
|
|
66
|
-
},
|
|
67
|
-
onClick: (e) => e.stopPropagation(),
|
|
68
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pt-12 pb-10 px-8", children: [
|
|
69
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center left-1.5 relative", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMUS7DUPScjs.PasskeyPromptLogo, { appearance }) }),
|
|
70
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
71
|
-
"p",
|
|
72
|
-
{
|
|
73
|
-
style: {
|
|
74
|
-
fontSize: "1.125rem",
|
|
75
|
-
lineHeight: "1.75rem",
|
|
76
|
-
fontWeight: "bold",
|
|
77
|
-
color: ((_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary) || "#20343E"
|
|
78
|
-
},
|
|
79
|
-
children: title
|
|
80
|
-
}
|
|
81
|
-
) }),
|
|
82
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 mb-9", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
83
|
-
"div",
|
|
84
|
-
{
|
|
85
|
-
style: {
|
|
86
|
-
fontWeight: "normal",
|
|
87
|
-
color: ((_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.textSecondary) || "#67797F"
|
|
88
|
-
},
|
|
89
|
-
children: content
|
|
90
|
-
}
|
|
91
|
-
) }),
|
|
92
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 justify-center", children: [
|
|
93
|
-
primaryButton,
|
|
94
|
-
secondaryAction
|
|
95
|
-
] }),
|
|
96
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center pt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPBSL6JOFcjs.PoweredByCrossmint, { color: (_e = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _e.textSecondary }) })
|
|
97
|
-
] })
|
|
98
|
-
}
|
|
99
|
-
)
|
|
100
|
-
]
|
|
101
|
-
}
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
function PasskeyPrompt({ state, appearance }) {
|
|
105
|
-
var _a, _b;
|
|
106
|
-
switch (state.type) {
|
|
107
|
-
case "create-wallet":
|
|
108
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
109
|
-
PasskeyPromptCore,
|
|
110
|
-
{
|
|
111
|
-
title: "Create Your Wallet",
|
|
112
|
-
appearance,
|
|
113
|
-
content: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
114
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-4", children: "You're about to create a wallet." }),
|
|
115
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
116
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
117
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUASNCH3Acjs.PasskeyIcon, {}) }),
|
|
118
|
-
"Your wallet will be secured with a passkey"
|
|
119
|
-
] }),
|
|
120
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
121
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYE55IKBPcjs.FingerprintIcon, {}) }),
|
|
122
|
-
"Your device will ask you for your fingerprint, face, or screen lock to set it up"
|
|
123
|
-
] })
|
|
124
|
-
] })
|
|
125
|
-
] }),
|
|
126
|
-
primaryButton: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Button, { style: primaryButtonStyles(appearance), onClick: state.primaryActionOnClick, children: "Create Wallet" })
|
|
127
|
-
}
|
|
128
|
-
);
|
|
129
|
-
case "create-wallet-error":
|
|
130
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
131
|
-
PasskeyPromptCore,
|
|
132
|
-
{
|
|
133
|
-
title: "Wallet Creation Failed",
|
|
134
|
-
appearance,
|
|
135
|
-
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-6", children: "We couldn't create your wallet. This could be due to rejecting the request, a timeout, or not having access to your passkey on this device." }),
|
|
136
|
-
primaryButton: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Button, { style: primaryButtonStyles(appearance), onClick: state.primaryActionOnClick, children: "Try again" })
|
|
137
|
-
}
|
|
138
|
-
);
|
|
139
|
-
case "transaction":
|
|
140
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
141
|
-
PasskeyPromptCore,
|
|
142
|
-
{
|
|
143
|
-
title: "First Time Using Your Wallet",
|
|
144
|
-
appearance,
|
|
145
|
-
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
146
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYE55IKBPcjs.FingerprintIcon, {}) }),
|
|
147
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Your device will ask you for your fingerprint, face, or screen lock to authorize this action." })
|
|
148
|
-
] }) }),
|
|
149
|
-
primaryButton: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Button, { style: primaryButtonStyles(appearance), onClick: state.primaryActionOnClick, children: "Use Wallet" })
|
|
150
|
-
}
|
|
151
|
-
);
|
|
152
|
-
case "transaction-error":
|
|
153
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
154
|
-
PasskeyPromptCore,
|
|
155
|
-
{
|
|
156
|
-
title: "Wallet Access Failed",
|
|
157
|
-
appearance,
|
|
158
|
-
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-6", children: "We couldn't access your wallet. This could be due to rejecting the request, a timeout, or not having access to your passkey on this device." }),
|
|
159
|
-
primaryButton: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Button, { style: primaryButtonStyles(appearance), onClick: state.primaryActionOnClick, children: "Try again" }),
|
|
160
|
-
secondaryAction: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
161
|
-
"a",
|
|
162
|
-
{
|
|
163
|
-
href: "https://docs.crossmint.com/wallets/smart-wallets/users/troubleshoot",
|
|
164
|
-
rel: "noopener noreferrer",
|
|
165
|
-
target: "_blank",
|
|
166
|
-
style: {
|
|
167
|
-
padding: "0.875rem",
|
|
168
|
-
width: "100%",
|
|
169
|
-
textAlign: "center",
|
|
170
|
-
textDecoration: "none",
|
|
171
|
-
borderRadius: "0.5rem",
|
|
172
|
-
fontWeight: "bold",
|
|
173
|
-
backgroundColor: ((_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.inputBackground) || "#F0F2F4",
|
|
174
|
-
color: ((_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textSecondary) || "#00150D"
|
|
175
|
-
},
|
|
176
|
-
children: "Troubleshoot"
|
|
177
|
-
}
|
|
178
|
-
)
|
|
179
|
-
}
|
|
180
|
-
);
|
|
181
|
-
case "not-supported":
|
|
182
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
183
|
-
PasskeyPromptCore,
|
|
184
|
-
{
|
|
185
|
-
title: "Passkeys Not Supported on This Device",
|
|
186
|
-
appearance,
|
|
187
|
-
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-6", children: "To access your wallet with a passkey, switch to a device or browser that supports passkeys, such as Chrome or Safari on a smartphone, tablet, or modern computer" }),
|
|
188
|
-
primaryButton: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Button, { style: primaryButtonStyles(appearance), onClick: state.primaryActionOnClick, children: "Understood" })
|
|
189
|
-
}
|
|
190
|
-
);
|
|
191
|
-
default:
|
|
192
|
-
return null;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
var primaryButtonStyles = (appearance) => {
|
|
196
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
197
|
-
return {
|
|
198
|
-
padding: "0.875rem",
|
|
199
|
-
width: "100%",
|
|
200
|
-
backgroundColor: (_b = (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.buttonBackground) != null ? _b : "#04AA6D",
|
|
201
|
-
color: (_d = (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary) != null ? _d : "white",
|
|
202
|
-
borderRadius: (_e = appearance == null ? void 0 : appearance.borderRadius) != null ? _e : "8px",
|
|
203
|
-
borderColor: (_g = (_f = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _f.border) != null ? _g : "#04AA6D",
|
|
204
|
-
borderWidth: "1px",
|
|
205
|
-
fontWeight: "bold"
|
|
206
|
-
};
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
exports.PasskeyPrompt = PasskeyPrompt;
|
|
212
|
-
//# sourceMappingURL=chunk-MJHLKJ6X.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/auth/PasskeyPrompt.tsx"],"names":["Fragment"],"mappings":"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","sourcesContent":["import { Button, Dialog, Transition } from \"@headlessui/react\";\nimport { type CSSProperties, Fragment, type ReactNode } from \"react\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\n\nimport FingerprintIcon from \"../../icons/fingerprint\";\nimport PasskeyIcon from \"../../icons/passkey\";\nimport PasskeyPromptLogo from \"../../icons/passkeyPromptLogo\";\nimport { PoweredByCrossmint } from \"../common/PoweredByCrossmint\";\nimport { classNames } from \"@/utils/classNames\";\n\ntype PasskeyPromptCoreProps = {\n title: string;\n content: ReactNode;\n primaryButton: ReactNode;\n secondaryAction?: ReactNode;\n appearance?: UIConfig;\n};\nfunction PasskeyPromptCore({ title, content, primaryButton, secondaryAction, appearance }: PasskeyPromptCoreProps) {\n return (\n <Dialog\n open\n onClose={() => {}}\n className={classNames(\"fixed inset-0 z-20 flex items-center justify-center overflow-y-auto\")}\n >\n {/* This is a hacky workaround to have the foreground transparent styles to work. */}\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-400\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"ease-in duration-400\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <div\n className={classNames(\n \"fixed inset-0 bg-[rgba(139,151,151,0.2)] backdrop-blur-[2px] transition-opacity duration-300 ease-in-out -z-10\"\n )}\n />\n </Transition.Child>\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n width: \"100%\",\n maxWidth: \"28rem\",\n borderRadius: \"1rem\",\n boxShadow: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n zIndex: 30,\n border: \"1px solid\",\n backgroundColor: appearance?.colors?.background || \"white\",\n borderColor: appearance?.colors?.border || \"#D0D5DD\",\n }}\n onClick={(e) => e.stopPropagation()}\n >\n <div className=\"pt-12 pb-10 px-8\">\n <div className=\"flex justify-center left-1.5 relative\">\n <PasskeyPromptLogo appearance={appearance} />\n </div>\n <div className=\"flex justify-center\">\n <p\n style={{\n fontSize: \"1.125rem\",\n lineHeight: \"1.75rem\",\n fontWeight: \"bold\",\n color: appearance?.colors?.textPrimary || \"#20343E\",\n }}\n >\n {title}\n </p>\n </div>\n <div className=\"mt-4 mb-9\">\n <div\n style={{\n fontWeight: \"normal\",\n color: appearance?.colors?.textSecondary || \"#67797F\",\n }}\n >\n {content}\n </div>\n </div>\n <div className=\"flex flex-col gap-4 justify-center\">\n {primaryButton}\n {secondaryAction}\n </div>\n <div className=\"flex justify-center pt-4\">\n <PoweredByCrossmint color={appearance?.colors?.textSecondary} />\n </div>\n </div>\n </div>\n </Dialog>\n );\n}\n\ntype PromptType = \"create-wallet\" | \"transaction\" | \"not-supported\" | \"create-wallet-error\" | \"transaction-error\";\n\ntype PasskeyPromptProps = {\n state: {\n type: PromptType;\n primaryActionOnClick: () => void;\n secondaryActionOnClick?: () => void;\n };\n appearance?: UIConfig;\n};\nexport function PasskeyPrompt({ state, appearance }: PasskeyPromptProps) {\n // These components are currently assembled based on the mockups.\n switch (state.type) {\n case \"create-wallet\":\n return (\n <PasskeyPromptCore\n title=\"Create Your Wallet\"\n appearance={appearance}\n content={\n <>\n <div className=\"mb-4\">You're about to create a wallet.</div>\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex gap-2\">\n <div>\n <PasskeyIcon />\n </div>\n Your wallet will be secured with a passkey\n </div>\n\n <div className=\"flex gap-2\">\n <div>\n <FingerprintIcon />\n </div>\n Your device will ask you for your fingerprint, face, or screen lock to set it up\n </div>\n </div>\n </>\n }\n primaryButton={\n <Button style={primaryButtonStyles(appearance)} onClick={state.primaryActionOnClick}>\n Create Wallet\n </Button>\n }\n />\n );\n\n case \"create-wallet-error\":\n return (\n <PasskeyPromptCore\n title=\"Wallet Creation Failed\"\n appearance={appearance}\n content={\n <div className=\"mb-6\">\n We couldn't create your wallet. This could be due to rejecting the request, a timeout, or\n not having access to your passkey on this device.\n </div>\n }\n primaryButton={\n <Button style={primaryButtonStyles(appearance)} onClick={state.primaryActionOnClick}>\n Try again\n </Button>\n }\n />\n );\n\n case \"transaction\":\n return (\n <PasskeyPromptCore\n title=\"First Time Using Your Wallet\"\n appearance={appearance}\n content={\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex gap-2\">\n <div>\n <FingerprintIcon />\n </div>\n <span>\n Your device will ask you for your fingerprint, face, or screen lock to authorize\n this action.\n </span>\n </div>\n </div>\n }\n primaryButton={\n <Button style={primaryButtonStyles(appearance)} onClick={state.primaryActionOnClick}>\n Use Wallet\n </Button>\n }\n />\n );\n\n case \"transaction-error\":\n return (\n <PasskeyPromptCore\n title=\"Wallet Access Failed\"\n appearance={appearance}\n content={\n <div className=\"mb-6\">\n We couldn't access your wallet. This could be due to rejecting the request, a timeout, or\n not having access to your passkey on this device.\n </div>\n }\n primaryButton={\n <Button style={primaryButtonStyles(appearance)} onClick={state.primaryActionOnClick}>\n Try again\n </Button>\n }\n secondaryAction={\n <a\n href=\"https://docs.crossmint.com/wallets/smart-wallets/users/troubleshoot\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n style={{\n padding: \"0.875rem\",\n width: \"100%\",\n textAlign: \"center\",\n textDecoration: \"none\",\n borderRadius: \"0.5rem\",\n fontWeight: \"bold\",\n backgroundColor: appearance?.colors?.inputBackground || \"#F0F2F4\",\n color: appearance?.colors?.textSecondary || \"#00150D\",\n }}\n >\n Troubleshoot\n </a>\n }\n />\n );\n\n case \"not-supported\":\n return (\n <PasskeyPromptCore\n title=\"Passkeys Not Supported on This Device\"\n appearance={appearance}\n content={\n <div className=\"mb-6\">\n To access your wallet with a passkey, switch to a device or browser that supports passkeys,\n such as Chrome or Safari on a smartphone, tablet, or modern computer\n </div>\n }\n primaryButton={\n <Button style={primaryButtonStyles(appearance)} onClick={state.primaryActionOnClick}>\n Understood\n </Button>\n }\n />\n );\n\n default:\n return null;\n }\n}\n\nconst primaryButtonStyles = (appearance?: UIConfig): CSSProperties => ({\n padding: \"0.875rem\",\n width: \"100%\",\n backgroundColor: appearance?.colors?.buttonBackground ?? \"#04AA6D\",\n color: appearance?.colors?.textPrimary ?? \"white\",\n borderRadius: appearance?.borderRadius ?? \"8px\",\n borderColor: appearance?.colors?.border ?? \"#04AA6D\",\n borderWidth: \"1px\",\n fontWeight: \"bold\",\n});\n"]}
|
package/dist/chunk-MUS7DUPS.cjs
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/icons/passkeyPromptLogo.tsx
|
|
2
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
3
|
-
function PasskeyPromptLogo({ appearance }) {
|
|
4
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
|
|
5
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { width: "121", height: "118", viewBox: "0 0 121 118", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
6
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "mask", { id: "mask0_1_1167", maskUnits: "userSpaceOnUse", x: "0", y: "0", width: "96", height: "96", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7
|
-
"path",
|
|
8
|
-
{
|
|
9
|
-
d: "M96 48C96 74.5097 74.5097 96 48 96C21.4903 96 0 74.5097 0 48C0 21.4903 21.4903 0 48 0C74.5097 0 96 21.4903 96 48Z",
|
|
10
|
-
fill: (_b = (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.background) != null ? _b : "#D9D9D9"
|
|
11
|
-
}
|
|
12
|
-
) }),
|
|
13
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "g", { mask: "url(#mask0_1_1167)", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { cx: "48", cy: "48", r: "48", fill: (_d = (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.inputBackground) != null ? _d : "#F2F3F7" }) }),
|
|
14
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15
|
-
"path",
|
|
16
|
-
{
|
|
17
|
-
d: "M39.8333 29.625H39.425C35.9947 29.625 34.2795 29.625 32.9693 30.2926C31.8168 30.8798 30.8798 31.8168 30.2926 32.9693C29.625 34.2795 29.625 35.9947 29.625 39.425V39.8333M39.8333 66.375H39.425C35.9947 66.375 34.2795 66.375 32.9693 65.7074C31.8168 65.1202 30.8798 64.1832 30.2926 63.0307C29.625 61.7205 29.625 60.0053 29.625 56.575V56.1667M66.375 39.8333V39.425C66.375 35.9947 66.375 34.2795 65.7074 32.9693C65.1202 31.8168 64.1832 30.8798 63.0307 30.2926C61.7205 29.625 60.0053 29.625 56.575 29.625H56.1667M66.375 56.1667V56.575C66.375 60.0053 66.375 61.7205 65.7074 63.0307C65.1202 64.1832 64.1832 65.1202 63.0307 65.7074C61.7205 66.375 60.0053 66.375 56.575 66.375H56.1667M38.8125 39.8333V42.8958M57.1875 39.8333V42.8958M45.9583 49.2252C47.5917 49.2252 49.0208 47.796 49.0208 46.1627V39.8333M54.5337 54.5332C50.8587 58.2082 44.9379 58.2082 41.2629 54.5332",
|
|
18
|
-
stroke: (_f = (_e = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _e.accent) != null ? _f : "#04AA6D",
|
|
19
|
-
strokeWidth: "3",
|
|
20
|
-
strokeLinecap: "round",
|
|
21
|
-
strokeLinejoin: "round"
|
|
22
|
-
}
|
|
23
|
-
),
|
|
24
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "g", { mask: "url(#mask1_1_1167)", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { cx: "48", cy: "48", r: "48", fill: (_h = (_g = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _g.inputBackground) != null ? _h : "#F2F3F7" }) }),
|
|
25
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26
|
-
"path",
|
|
27
|
-
{
|
|
28
|
-
d: "M28.2 35.3494C29.5789 34.3137 31.2928 33.7 33.15 33.7H62.85C64.7073 33.7 66.4212 34.3137 67.8 35.3494C67.7997 32.6159 65.5836 30.4 62.85 30.4H33.15C30.4164 30.4 28.2003 32.6159 28.2 35.3494Z",
|
|
29
|
-
fill: (_j = (_i = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _i.accent) != null ? _j : "#04AA6D"
|
|
30
|
-
}
|
|
31
|
-
),
|
|
32
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33
|
-
"path",
|
|
34
|
-
{
|
|
35
|
-
d: "M28.2 41.9494C29.5789 40.9137 31.2928 40.3 33.15 40.3H62.85C64.7073 40.3 66.4212 40.9137 67.8 41.9494C67.7997 39.2159 65.5836 37 62.85 37H33.15C30.4164 37 28.2003 39.2159 28.2 41.9494Z",
|
|
36
|
-
fill: (_l = (_k = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _k.accent) != null ? _l : "#04AA6D"
|
|
37
|
-
}
|
|
38
|
-
),
|
|
39
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
40
|
-
"path",
|
|
41
|
-
{
|
|
42
|
-
d: "M41.4 43.6C42.615 43.6 43.6 44.585 43.6 45.8C43.6 48.2301 45.57 50.2 48 50.2C50.4301 50.2 52.4 48.2301 52.4 45.8C52.4 44.585 53.385 43.6 54.6 43.6H62.85C65.5838 43.6 67.8 45.8162 67.8 48.55V60.65C67.8 63.3838 65.5838 65.6 62.85 65.6H33.15C30.4162 65.6 28.2 63.3838 28.2 60.65V48.55C28.2 45.8162 30.4162 43.6 33.15 43.6H41.4Z",
|
|
43
|
-
fill: (_n = (_m = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _m.accent) != null ? _n : "#04AA6D"
|
|
44
|
-
}
|
|
45
|
-
),
|
|
46
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "g", { filter: "url(#filter0_d_1_1167)", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { cx: "86.5625", cy: "84", r: "20", fill: (_p = (_o = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _o.inputBackground) != null ? _p : "#FFFFFF" }) }),
|
|
47
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
48
|
-
"path",
|
|
49
|
-
{
|
|
50
|
-
fillRule: "evenodd",
|
|
51
|
-
clipRule: "evenodd",
|
|
52
|
-
d: "M86.5625 74.375C84.9562 74.375 83.4646 74.855 82.2202 75.6792C81.8173 75.946 81.2744 75.8358 81.0076 75.4329C80.7407 75.03 80.851 74.487 81.2539 74.2202C82.776 73.2121 84.602 72.625 86.5625 72.625C91.8782 72.625 96.1875 76.9343 96.1875 82.25C96.1875 85.7678 95.5178 89.1313 94.2974 92.2183C94.1197 92.6677 93.6114 92.8879 93.1619 92.7103C92.7125 92.5326 92.4923 92.0243 92.6699 91.5749C93.8106 88.6895 94.4375 85.5441 94.4375 82.25C94.4375 77.9008 90.9117 74.375 86.5625 74.375ZM79.7454 76.6951C80.1482 76.9619 80.2585 77.5048 79.9917 77.9077C79.1675 79.1521 78.6875 80.6437 78.6875 82.25C78.6875 84.132 78.1468 85.8905 77.2112 87.3751C76.9536 87.784 76.4133 87.9065 76.0044 87.6489C75.5956 87.3913 75.473 86.851 75.7307 86.4421C76.4953 85.2288 76.9375 83.7925 76.9375 82.25C76.9375 80.2895 77.5246 78.4635 78.5327 76.9414C78.7995 76.5385 79.3425 76.4282 79.7454 76.6951ZM86.5625 78.75C84.6295 78.75 83.0625 80.317 83.0625 82.25C83.0625 85.8664 81.6905 89.1643 79.4396 91.6482C79.1151 92.0063 78.5617 92.0335 78.2036 91.709C77.8455 91.3845 77.8183 90.8312 78.1428 90.4731C80.1134 88.2986 81.3125 85.4154 81.3125 82.25C81.3125 79.3505 83.663 77 86.5625 77C89.462 77 91.8125 79.3505 91.8125 82.25C91.8125 82.8884 91.7865 83.5213 91.7348 84.1475C91.695 84.6291 91.2723 84.9872 90.7907 84.9474C90.3091 84.9077 89.951 84.485 89.9908 84.0034C90.0385 83.4258 90.0625 82.841 90.0625 82.25C90.0625 80.317 88.4955 78.75 86.5625 78.75ZM86.5629 81.375C87.0461 81.375 87.4379 81.7668 87.4379 82.25C87.4379 86.8095 85.7761 90.9831 83.0262 94.1948C82.7119 94.5619 82.1595 94.6047 81.7924 94.2904C81.4254 93.9761 81.3826 93.4237 81.6969 93.0566C84.1855 90.15 85.6879 86.3766 85.6879 82.25C85.6879 81.7668 86.0796 81.375 86.5629 81.375ZM90.341 87.4219C90.8057 87.5545 91.075 88.0387 90.9424 88.5034C90.2775 90.8339 89.2506 93.0112 87.9267 94.9707C87.6562 95.3712 87.1123 95.4765 86.7119 95.2059C86.3114 94.9354 86.2061 94.3915 86.4767 93.991C87.6989 92.182 88.6463 90.1729 89.2595 88.0233C89.3921 87.5586 89.8763 87.2893 90.341 87.4219Z",
|
|
53
|
-
fill: (_r = (_q = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _q.accent) != null ? _r : "#04AA6D"
|
|
54
|
-
}
|
|
55
|
-
),
|
|
56
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "defs", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
57
|
-
"filter",
|
|
58
|
-
{
|
|
59
|
-
id: "filter0_d_1_1167",
|
|
60
|
-
x: "52.5625",
|
|
61
|
-
y: "50",
|
|
62
|
-
width: "68",
|
|
63
|
-
height: "68",
|
|
64
|
-
filterUnits: "userSpaceOnUse",
|
|
65
|
-
colorInterpolationFilters: "sRGB",
|
|
66
|
-
children: [
|
|
67
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "feFlood", { floodOpacity: "0", result: "BackgroundImageFix" }),
|
|
68
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
69
|
-
"feColorMatrix",
|
|
70
|
-
{
|
|
71
|
-
in: "SourceAlpha",
|
|
72
|
-
type: "matrix",
|
|
73
|
-
values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",
|
|
74
|
-
result: "hardAlpha"
|
|
75
|
-
}
|
|
76
|
-
),
|
|
77
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "feOffset", {}),
|
|
78
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "feGaussianBlur", { stdDeviation: "7" }),
|
|
79
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "feComposite", { in2: "hardAlpha", operator: "out" }),
|
|
80
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
81
|
-
"feColorMatrix",
|
|
82
|
-
{
|
|
83
|
-
type: "matrix",
|
|
84
|
-
values: "0 0 0 0 0.0362847 0 0 0 0 0.0869733 0 0 0 0 0.0916667 0 0 0 0.12 0"
|
|
85
|
-
}
|
|
86
|
-
),
|
|
87
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "feBlend", { mode: "normal", in2: "BackgroundImageFix", result: "effect1_dropShadow_1_1167" }),
|
|
88
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "feBlend", { mode: "normal", in: "SourceGraphic", in2: "effect1_dropShadow_1_1167", result: "shape" })
|
|
89
|
-
]
|
|
90
|
-
}
|
|
91
|
-
) })
|
|
92
|
-
] });
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
exports.PasskeyPromptLogo = PasskeyPromptLogo;
|
|
98
|
-
//# sourceMappingURL=chunk-MUS7DUPS.cjs.map
|