bigblocks
Version:
Complete Bitcoin UI component library - authentication, social, wallet, market, inscriptions, and blockchain interactions for React
122 lines (121 loc) • 10.4 kB
JavaScript
// Bitcoin Authentication Component Library
// Main exports for the component library
// Core Providers - BigBlocks naming (with legacy Bitcoin* exports)
export { BitcoinAuthProvider, BitcoinAuthContext, useBitcoinAuthContext,
// Alias exports for consistency
BitcoinAuthProvider as BigBlocksAuthProvider, BitcoinAuthContext as BigBlocksAuthContext, useBitcoinAuthContext as useBigBlocksAuthContext, } from './src/components/providers/BitcoinAuthProvider.js';
export { BigBlocksQueryProvider, } from './src/components/providers/BitcoinQueryProvider.js';
// High-level Components
export { AuthButton } from './src/components/authentication/AuthButton.js';
export { LoginForm } from './src/components/authentication/LoginForm.js';
// Supporting Components
export { ErrorDisplay } from './src/components/ui-components/ErrorDisplay.js';
export { WarningCard } from './src/components/ui-components/WarningCard.js';
export { PasswordInput } from './src/components/ui-components/PasswordInput.js';
export { LoadingButton } from './src/components/ui-components/LoadingButton.js';
export { BackupImport } from './src/components/backup-recovery/BackupImport.js';
export { StepIndicator } from './src/components/ui-components/StepIndicator.js';
export { TransactionProgress, } from './src/components/ui-components/TransactionProgress.js';
export { TransactionStatus } from './src/components/ui-components/TransactionProgress.js';
export { ErrorRecovery, commonSuggestions, } from './src/components/ui-components/ErrorRecovery.js';
export { MnemonicDisplay } from './src/components/backup-recovery/MnemonicDisplay.js';
export { BackupDownload } from './src/components/backup-recovery/BackupDownload.js';
export { IdentityGeneration } from './src/components/backup-recovery/IdentityGeneration.js';
export { SignupFlow } from './src/components/authentication/SignupFlow.js';
export { OAuthRestoreForm } from './src/components/wallet-integrations/OAuthRestoreForm.js';
export { OAuthProviders } from './src/components/wallet-integrations/OAuthProviders.js';
export { OAuthConflictModal } from './src/components/wallet-integrations/OAuthConflictModal.js';
export { Modal } from './src/components/ui-components/Modal.js';
export { FileImport } from './src/components/backup-recovery/FileImport.js';
export { ArtifactDisplay, ArtifactType, } from './src/components/developer-tools/ArtifactDisplay.js';
export { AuthLayout, CenteredLayout, AuthCard, LoadingLayout, ErrorLayout, SuccessLayout, } from './src/components/layouts/AuthLayout.js';
export { OAuthRestoreFlow } from './src/components/authentication/OAuthRestoreFlow.js';
export { AuthFlowOrchestrator, } from './src/components/authentication/AuthFlowOrchestrator.js';
export { DeviceLinkQR } from './src/components/authentication/DeviceLinkQR.js';
export { MemberExport } from './src/components/backup-recovery/MemberExport.js';
export { QRCodeRenderer } from './src/components/ui-components/QRCodeRenderer.js';
export { CodeBlock } from './src/components/ui-components/CodeBlock.js';
export { DropZone, FileDropZone, BackupDropZone } from './src/components/ui-components/DropZone.js';
export { DecorativeBox } from './src/components/ui-components/DecorativeBox.js';
export { BitcoinImage } from './src/components/ui-components/BitcoinImage.js';
export { BitcoinAvatar } from './src/components/ui-components/BitcoinAvatar.js';
export { HandCashIcon } from './src/components/ui-components/HandCashIcon.js';
export { YoursWalletIcon } from './src/components/ui-components/YoursWalletIcon.js';
export { YoursWalletConnector } from './src/components/wallet-integrations/YoursWalletConnector.js';
export { HandCashConnector } from './src/components/wallet-integrations/HandCashConnector.js';
// Profile Management System (NEW)
export { ProfileCard } from './src/components/profile-management/ProfileCard.js';
export { ProfileEditor } from './src/components/profile-management/ProfileEditor.js';
export { ProfileManager } from './src/components/profile-management/ProfileManager.js';
export { ProfilePopover } from './src/components/profile-management/ProfilePopover.js';
export { ProfilePublisher } from './src/components/profile-management/ProfilePublisher.js';
export { ProfileSwitcher } from './src/components/profile-management/ProfileSwitcher.js';
export { ProfileViewer } from './src/components/profile-management/ProfileViewer.js';
export { ProfileDropdownMenu, } from './src/components/profile-management/ProfileDropdownMenu.js';
export { CloudBackupManager, } from './src/components/backup-recovery/CloudBackupManager.js';
// Developer Tools
export { ShamirSecretSharing, } from './src/components/developer-tools/ShamirSecretSharing.js';
export { Type42KeyDerivation, } from './src/components/developer-tools/Type42KeyDerivation.js';
export { MnemonicMode, } from './src/components/backup-recovery/MnemonicDisplay.js';
export { KeyManager } from './src/components/developer-tools/KeyManager.js';
export { SyncAssetsComponent, FileSyncStatus, } from './src/components/developer-tools/SyncAssetsComponent.js';
// Hooks
export { useBitcoinAuth } from './src/hooks/useBitcoinAuth.js';
export { useBlockchainService } from './src/hooks/useBlockchainService.js';
// Core Classes
export { AuthManager, createAuthManager } from './src/lib/AuthManager.js';
// Framework-Agnostic Core (NEW)
export { createBigBlocksAuth, } from './src/lib/bigblocks-core.js';
// Framework adapters are available via separate entry points:
// - import { createNextJSBigBlocks } from 'bigblocks/nextjs'
// - import { createExpressBigBlocks } from 'bigblocks/express'
// - import { createAstroBigBlocks } from 'bigblocks/astro'
// Message System
export { useAuthMessages, mergeMessages, defaultMessages, } from './src/lib/auth-messages.js';
// OAuth Provider System
export { registerOAuthProvider, getOAuthProvider, getAllOAuthProviders, buildOAuthUrl, handleOAuthCallback, defaultProviders, googleProvider, githubProvider, twitterProvider, handcashProvider, yoursWalletProvider, } from './src/lib/oauth-providers.js';
// Re-export the lazy-loaded providers through the oauth system
// This ensures they're only loaded when actually used
export { useYoursWallet, YoursWalletProvider } from './src/lib/yours-wallet-provider.js';
export { useHandCash, HandCashOAuthProvider } from './src/lib/handcash-provider.js';
// ⚠️ SECURITY: Read .internal/docs/HANDCASH_BACKEND_SETUP.md for secure HandCash implementation
// 🚀 bSocial - Bitcoin Social UI Components (NEW)
// Complete social functionality for Bitcoin-powered applications
// ⚠️ IMPORTANT: These components require BitcoinAuthProvider context
export { PostButton, LikeButton, FollowButton, PostCard, SocialFeed, MessageDisplay, CompactPostButton, CompactMessageButton, FriendsDialog, } from './src/components/social/index.js';
export { useSocialPost, useLikePost, useFollowUser } from './src/components/social/index.js';
// 🔐 BAP - Bitcoin Attestation Protocol Identity Management (NEW)
// Advanced key rotation and identity management for BAP-based applications
export { BapKeyRotationManager, BapFileSigner, BapEncryptionSuite, MasterKeyMigration, BackupFormatDetector, } from './src/components/bap-identity/index.js';
export { useBapKeyRotation, useBapSigning, useBapEncryption, useMasterKeyMigration, } from './src/components/bap-identity/index.js';
// 💰 Market - Bitcoin Marketplace Components
// Complete marketplace functionality for Bitcoin-powered applications
export { CreateListingButton, QuickListButton, BuyListingButton, QuickBuyButton, CancelListingButton, QuickCancelButton, MarketTable, CompactMarketTable, useMarketplace, useCreateListing, useBuyListing, useCancelListing, } from './src/components/market/index.js';
// 👛 Wallet - Bitcoin Wallet Components
// Complete wallet functionality for Bitcoin-powered applications
export { SendBSVButton, TokenBalance, SimpleTokenBalance, WalletOverview, useSendBSV, CompactWalletOverview, QuickSendButton, DonateButton, QuickDonateButton, } from './src/components/wallet/index.js';
// 🛠️ Backup Utilities - Backup Type Detection and Validation
export { detectBackupType, isBapMasterBackup, isBapMemberBackup, isOneSatBackup, isWifBackup, isBackupTypeAllowed, createUnsupportedBackupError, getBackupTypeDisplayName, getBackupTypeDescription, DEFAULT_ALLOWED_BACKUP_TYPES, } from './src/lib/backup-utils.js';
// Blockchain Service
export { BlockchainService, createBlockchainService } from './src/lib/blockchain-service.js';
// 🔧 Backend Implementation Types
// TypeScript types for implementing backend APIs
export * from './src/types/backend.js';
// 💾 Storage Adapters - Reusable storage implementations
// Factory functions for different storage backends
export { createMemoryStorage, createLocalStorage, createSessionStorage, createCookieStorage, createRedisStorage, createUpstashRedisStorage, } from './src/lib/storage/index.js';
// 📐 Layout Constants - Consistent sizing and spacing
// Centralized layout constants for building consistent UIs
export { CONTAINER_WIDTHS, LAYOUT_WIDTHS, GRID_LAYOUTS, HEIGHTS, SPACING, Z_INDEX, ANIMATION, RADIUS, BREAKPOINTS, responsive, containerQuery, mediaQuery, } from './src/lib/layout-constants.js';
// 💧 Droplit - Cloud Wallet Integration Components
// Components for integrating with Droplit API instances for demo funding
export { TapButton, DataPushButton, DataPushForm, } from './src/components/droplit/index.js';
// ✍️ Inscriptions - Blockchain Inscription Components (NEW)
// Complete inscription functionality for tokens, text, HTML, and files
// ⚠️ IMPORTANT: These components require BitcoinAuthProvider with wallet extension
export { InscriptionButton, BSV20MintButton, BSV21MintButton, CollectionForm, CollectionMintButton, RarityEditor, RoyaltyEditor, TraitEditor, TextInscriptionButton, HTMLInscriptionButton, useInscription, } from './src/components/inscriptions/index.js';
// 💬 MetaLens - Universal Contextual Commenting System (NEW)
// Complete commenting functionality for any Bitcoin application
// ⚠️ IMPORTANT: These components require BitcoinAuthProvider context
export { MetaLensProvider, MetaLensComments, MetaLensBadge, MetaLensEmbed, MetaLensReactions, MetaLensThread, } from './src/components/metalens/index.js';
export { useMetaLens, useMetaLensAuth, useMetaLensStream, useMetaLensContext, } from './src/components/metalens/index.js';