@medialane/ui 0.174.0 → 0.176.0
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/components/account/account-section.cjs +50 -0
- package/dist/components/account/account-section.cjs.map +1 -0
- package/dist/components/account/account-section.d.cts +14 -0
- package/dist/components/account/account-section.d.ts +14 -0
- package/dist/components/account/account-section.js +26 -0
- package/dist/components/account/account-section.js.map +1 -0
- package/dist/components/account/account.test.cjs +86 -0
- package/dist/components/account/account.test.cjs.map +1 -0
- package/dist/components/account/account.test.d.cts +2 -0
- package/dist/components/account/account.test.d.ts +2 -0
- package/dist/components/account/account.test.js +85 -0
- package/dist/components/account/account.test.js.map +1 -0
- package/dist/components/account/add-guardian-dialog.cjs +90 -0
- package/dist/components/account/add-guardian-dialog.cjs.map +1 -0
- package/dist/components/account/add-guardian-dialog.d.cts +14 -0
- package/dist/components/account/add-guardian-dialog.d.ts +14 -0
- package/dist/components/account/add-guardian-dialog.js +66 -0
- package/dist/components/account/add-guardian-dialog.js.map +1 -0
- package/dist/components/account/device-approval-dialog.cjs +120 -0
- package/dist/components/account/device-approval-dialog.cjs.map +1 -0
- package/dist/components/account/device-approval-dialog.d.cts +14 -0
- package/dist/components/account/device-approval-dialog.d.ts +14 -0
- package/dist/components/account/device-approval-dialog.js +96 -0
- package/dist/components/account/device-approval-dialog.js.map +1 -0
- package/dist/components/account/devices-section.cjs +117 -0
- package/dist/components/account/devices-section.cjs.map +1 -0
- package/dist/components/account/devices-section.d.cts +12 -0
- package/dist/components/account/devices-section.d.ts +12 -0
- package/dist/components/account/devices-section.js +93 -0
- package/dist/components/account/devices-section.js.map +1 -0
- package/dist/components/account/email-code-entry.cjs +85 -0
- package/dist/components/account/email-code-entry.cjs.map +1 -0
- package/dist/components/account/email-code-entry.d.cts +11 -0
- package/dist/components/account/email-code-entry.d.ts +11 -0
- package/dist/components/account/email-code-entry.js +61 -0
- package/dist/components/account/email-code-entry.js.map +1 -0
- package/dist/components/account/guardian-recovery-section.cjs +161 -0
- package/dist/components/account/guardian-recovery-section.cjs.map +1 -0
- package/dist/components/account/guardian-recovery-section.d.cts +14 -0
- package/dist/components/account/guardian-recovery-section.d.ts +14 -0
- package/dist/components/account/guardian-recovery-section.js +130 -0
- package/dist/components/account/guardian-recovery-section.js.map +1 -0
- package/dist/components/account/input-otp.cjs +89 -0
- package/dist/components/account/input-otp.cjs.map +1 -0
- package/dist/components/account/input-otp.d.cts +37 -0
- package/dist/components/account/input-otp.d.ts +37 -0
- package/dist/components/account/input-otp.js +52 -0
- package/dist/components/account/input-otp.js.map +1 -0
- package/dist/components/account/wallet-types.cjs +17 -0
- package/dist/components/account/wallet-types.cjs.map +1 -0
- package/dist/components/account/wallet-types.d.cts +7 -0
- package/dist/components/account/wallet-types.d.ts +7 -0
- package/dist/components/account/wallet-types.js +1 -0
- package/dist/components/account/wallet-types.js.map +1 -0
- package/dist/components/button.d.cts +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/index.cjs +56 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/app-wallet.cjs +84 -0
- package/dist/utils/app-wallet.cjs.map +1 -0
- package/dist/utils/app-wallet.d.cts +26 -0
- package/dist/utils/app-wallet.d.ts +26 -0
- package/dist/utils/app-wallet.js +65 -0
- package/dist/utils/app-wallet.js.map +1 -0
- package/dist/utils/email-code.cjs +58 -0
- package/dist/utils/email-code.cjs.map +1 -0
- package/dist/utils/email-code.d.cts +32 -0
- package/dist/utils/email-code.d.ts +32 -0
- package/dist/utils/email-code.js +30 -0
- package/dist/utils/email-code.js.map +1 -0
- package/dist/utils/passkey-support.cjs +37 -0
- package/dist/utils/passkey-support.cjs.map +1 -0
- package/dist/utils/passkey-support.d.cts +7 -0
- package/dist/utils/passkey-support.d.ts +7 -0
- package/dist/utils/passkey-support.js +13 -0
- package/dist/utils/passkey-support.js.map +1 -0
- package/dist/utils/use-email-code.cjs +75 -0
- package/dist/utils/use-email-code.cjs.map +1 -0
- package/dist/utils/use-email-code.d.cts +20 -0
- package/dist/utils/use-email-code.d.ts +20 -0
- package/dist/utils/use-email-code.js +51 -0
- package/dist/utils/use-email-code.js.map +1 -0
- package/dist/utils/wallet-failure.cjs +63 -0
- package/dist/utils/wallet-failure.cjs.map +1 -0
- package/dist/utils/wallet-failure.d.cts +12 -0
- package/dist/utils/wallet-failure.d.ts +12 -0
- package/dist/utils/wallet-failure.js +38 -0
- package/dist/utils/wallet-failure.js.map +1 -0
- package/package.json +3 -1
package/dist/index.d.ts
CHANGED
|
@@ -48,6 +48,19 @@ export { CoinPriceSort, orderCoins } from './data/coin-order.js';
|
|
|
48
48
|
export { CoinCounts, CoinFilter, CoinSort, CoinsExplorer, CoinsExplorerProps, UseCoins, UsePriceMap } from './components/coins-explorer.js';
|
|
49
49
|
export { isExpired, timeAgo, timeUntil } from './utils/time.js';
|
|
50
50
|
export { isSameAddress } from './utils/same-address.js';
|
|
51
|
+
export { AppWalletConfig, createAppWallet, decodeCredentialId, stableUserId } from './utils/app-wallet.js';
|
|
52
|
+
export { PasskeySupport, detectPasskeySupport } from './utils/passkey-support.js';
|
|
53
|
+
export { WalletFailureKind, WalletFailureNotice, describeWalletFailure, isPasskeyCancelled } from './utils/wallet-failure.js';
|
|
54
|
+
export { EmailCodeAction, EmailCodeState, EmailCodeStatus, RESEND_COOLDOWN_SECONDS, canResendCode, canVerifyCode, emailCodeReducer, initialEmailCodeState } from './utils/email-code.js';
|
|
55
|
+
export { EmailCode, EmailCodeApi, useEmailCode } from './utils/use-email-code.js';
|
|
56
|
+
export { AccountSection, AccountSectionProps } from './components/account/account-section.js';
|
|
57
|
+
export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from './components/account/input-otp.js';
|
|
58
|
+
export { EmailCodeEntry, EmailCodeEntryProps } from './components/account/email-code-entry.js';
|
|
59
|
+
export { DevicesSection, DevicesSectionProps } from './components/account/devices-section.js';
|
|
60
|
+
export { DeviceApprovalDialog, DeviceApprovalDialogProps } from './components/account/device-approval-dialog.js';
|
|
61
|
+
export { GuardianRecoverySection, GuardianRecoverySectionProps } from './components/account/guardian-recovery-section.js';
|
|
62
|
+
export { AddGuardianDialog, AddGuardianDialogProps } from './components/account/add-guardian-dialog.js';
|
|
63
|
+
export { DeviceWallet, GuardianWallet, LoadSealedOwner } from './components/account/wallet-types.js';
|
|
51
64
|
export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.js';
|
|
52
65
|
export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.js';
|
|
53
66
|
export { ActivityTicker, ActivityTickerProps } from './components/activity-ticker.js';
|
|
@@ -188,9 +201,10 @@ import 'lucide-react';
|
|
|
188
201
|
import 'react/jsx-runtime';
|
|
189
202
|
import 'framer-motion';
|
|
190
203
|
import '@radix-ui/react-dropdown-menu';
|
|
204
|
+
import '@medialane/sdk/starknet';
|
|
205
|
+
import 'input-otp';
|
|
191
206
|
import 'zod';
|
|
192
207
|
import 'react-hook-form';
|
|
193
|
-
import '@medialane/sdk/starknet';
|
|
194
208
|
import 'class-variance-authority/types';
|
|
195
209
|
import 'class-variance-authority';
|
|
196
210
|
import '@radix-ui/react-label';
|
package/dist/index.js
CHANGED
|
@@ -116,6 +116,24 @@ import {
|
|
|
116
116
|
import { timeAgo, timeUntil, isExpired } from "./utils/time.js";
|
|
117
117
|
import { toDisplayUrl, toDisplayUrlOrNull, toAbsoluteImageUrl } from "./utils/ipfs.js";
|
|
118
118
|
import { isSameAddress } from "./utils/same-address.js";
|
|
119
|
+
import { createAppWallet, stableUserId, decodeCredentialId } from "./utils/app-wallet.js";
|
|
120
|
+
import { detectPasskeySupport } from "./utils/passkey-support.js";
|
|
121
|
+
import { describeWalletFailure, isPasskeyCancelled } from "./utils/wallet-failure.js";
|
|
122
|
+
import {
|
|
123
|
+
RESEND_COOLDOWN_SECONDS,
|
|
124
|
+
canResendCode,
|
|
125
|
+
canVerifyCode,
|
|
126
|
+
emailCodeReducer,
|
|
127
|
+
initialEmailCodeState
|
|
128
|
+
} from "./utils/email-code.js";
|
|
129
|
+
import { useEmailCode } from "./utils/use-email-code.js";
|
|
130
|
+
import { AccountSection } from "./components/account/account-section.js";
|
|
131
|
+
import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from "./components/account/input-otp.js";
|
|
132
|
+
import { EmailCodeEntry } from "./components/account/email-code-entry.js";
|
|
133
|
+
import { DevicesSection } from "./components/account/devices-section.js";
|
|
134
|
+
import { DeviceApprovalDialog } from "./components/account/device-approval-dialog.js";
|
|
135
|
+
import { GuardianRecoverySection } from "./components/account/guardian-recovery-section.js";
|
|
136
|
+
import { AddGuardianDialog } from "./components/account/add-guardian-dialog.js";
|
|
119
137
|
import { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from "./data/activity.js";
|
|
120
138
|
import { HeroSlider, HeroSliderSkeleton } from "./components/hero-slider.js";
|
|
121
139
|
import { ActivityTicker } from "./components/activity-ticker.js";
|
|
@@ -360,6 +378,7 @@ export {
|
|
|
360
378
|
ACTIVITY_MESSAGES,
|
|
361
379
|
ACTIVITY_TYPE_CONFIG,
|
|
362
380
|
AI_POLICIES,
|
|
381
|
+
AccountSection,
|
|
363
382
|
ActionButton,
|
|
364
383
|
ActionDialog,
|
|
365
384
|
ActivitiesFeed,
|
|
@@ -369,6 +388,7 @@ export {
|
|
|
369
388
|
ActivityRow,
|
|
370
389
|
ActivityTicker,
|
|
371
390
|
ActivityTimelineRow,
|
|
391
|
+
AddGuardianDialog,
|
|
372
392
|
AddressDisplay,
|
|
373
393
|
Alert,
|
|
374
394
|
AlertDescription,
|
|
@@ -433,6 +453,8 @@ export {
|
|
|
433
453
|
DERIVATIVES_OPTIONS,
|
|
434
454
|
DOC_UPLOAD,
|
|
435
455
|
DURATION_UNITS,
|
|
456
|
+
DeviceApprovalDialog,
|
|
457
|
+
DevicesSection,
|
|
436
458
|
Dialog,
|
|
437
459
|
DialogClose,
|
|
438
460
|
DialogContent,
|
|
@@ -475,6 +497,7 @@ export {
|
|
|
475
497
|
EASE_OUT,
|
|
476
498
|
EMBED_PLATFORM_META,
|
|
477
499
|
EMPTY_SPONSORSHIP_TERMS,
|
|
500
|
+
EmailCodeEntry,
|
|
478
501
|
EmptyOrError,
|
|
479
502
|
ExclusiveContentSection,
|
|
480
503
|
ExportKeySection,
|
|
@@ -494,6 +517,7 @@ export {
|
|
|
494
517
|
GENERIC,
|
|
495
518
|
GEOGRAPHIC_SCOPES,
|
|
496
519
|
GradientButton,
|
|
520
|
+
GuardianRecoverySection,
|
|
497
521
|
HelpIcon,
|
|
498
522
|
HeroSlider,
|
|
499
523
|
HeroSliderSkeleton,
|
|
@@ -507,6 +531,10 @@ export {
|
|
|
507
531
|
IP_TYPE_DATA_MAP,
|
|
508
532
|
IP_TYPE_MAP,
|
|
509
533
|
Input,
|
|
534
|
+
InputOTP,
|
|
535
|
+
InputOTPGroup,
|
|
536
|
+
InputOTPSeparator,
|
|
537
|
+
InputOTPSlot,
|
|
510
538
|
IpTypeBadge,
|
|
511
539
|
JourneyPath,
|
|
512
540
|
JsonLd,
|
|
@@ -570,6 +598,7 @@ export {
|
|
|
570
598
|
PortfolioSection,
|
|
571
599
|
PriceHistoryChart,
|
|
572
600
|
QUERY_PREFIX,
|
|
601
|
+
RESEND_COOLDOWN_SECONDS,
|
|
573
602
|
RemixesTab,
|
|
574
603
|
RewardsSection,
|
|
575
604
|
SERVICE_HUES,
|
|
@@ -634,6 +663,8 @@ export {
|
|
|
634
663
|
badgeVariants,
|
|
635
664
|
buildEditionStats,
|
|
636
665
|
buttonVariants,
|
|
666
|
+
canResendCode,
|
|
667
|
+
canVerifyCode,
|
|
637
668
|
cn,
|
|
638
669
|
coinAccentToken,
|
|
639
670
|
coinKind,
|
|
@@ -642,10 +673,15 @@ export {
|
|
|
642
673
|
coinServiceIds,
|
|
643
674
|
coinSupply,
|
|
644
675
|
collectSitemapData,
|
|
676
|
+
createAppWallet,
|
|
645
677
|
createRewardEarned,
|
|
678
|
+
decodeCredentialId,
|
|
646
679
|
derivePortfolioCounts,
|
|
647
680
|
describeError,
|
|
681
|
+
describeWalletFailure,
|
|
682
|
+
detectPasskeySupport,
|
|
648
683
|
dropCreateSchema,
|
|
684
|
+
emailCodeReducer,
|
|
649
685
|
fdvUsd,
|
|
650
686
|
feeLabelFor,
|
|
651
687
|
formatActivity,
|
|
@@ -662,11 +698,13 @@ export {
|
|
|
662
698
|
getDefaultDropSchedule,
|
|
663
699
|
getDropStatus,
|
|
664
700
|
getReadIds,
|
|
701
|
+
initialEmailCodeState,
|
|
665
702
|
ipfsToHttp,
|
|
666
703
|
isBareExecuteFailure,
|
|
667
704
|
isCoinService,
|
|
668
705
|
isExpired,
|
|
669
706
|
isLivingRenderCollection,
|
|
707
|
+
isPasskeyCancelled,
|
|
670
708
|
isSameAddress,
|
|
671
709
|
isStableCurrency,
|
|
672
710
|
isUserRejectedRequest,
|
|
@@ -686,6 +724,7 @@ export {
|
|
|
686
724
|
relevanceFilter,
|
|
687
725
|
shortenAddress,
|
|
688
726
|
sortOrders,
|
|
727
|
+
stableUserId,
|
|
689
728
|
suggestLaunchpadSymbol,
|
|
690
729
|
timeAgo,
|
|
691
730
|
timeUntil,
|
|
@@ -715,6 +754,7 @@ export {
|
|
|
715
754
|
useDropCollections,
|
|
716
755
|
useDropInfo,
|
|
717
756
|
useDropMintStatus,
|
|
757
|
+
useEmailCode,
|
|
718
758
|
useFormField,
|
|
719
759
|
useIntersectionActive,
|
|
720
760
|
useIsMemberOf,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay, isStableCurrency, formatUsd, formatUsdPrice, formatSmallDecimal } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { profileIdentity, type ProfileIdentity, type ProfileIdentitySource } from \"./utils/profile-identity.js\";\nexport { ipfsToHttp, DEFAULT_GATEWAY as PINATA_PUBLIC_GATEWAY } from \"./utils/ipfs.js\";\nexport {\n uploadFileToIpfs,\n uploadJsonToIpfs,\n uploadDirectoryToIpfs,\n pinAssetMetadata,\n uploadFailureToast,\n isUserRejection,\n type SignedUploadKind,\n type UploadedIpfsFile,\n type PinAssetMetadataInput,\n type PinnedAsset,\n} from \"./utils/ipfs-upload.js\";\nexport { useIntersectionActive } from \"./utils/use-intersection-active.js\";\nexport { getReadIds, markRead } from \"./utils/notification-storage.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\nexport {\n isBareExecuteFailure,\n isUserRejectedRequest,\n isWrongNetwork,\n assertCorrectNetwork,\n WrongNetworkError,\n} from \"./utils/wallet-error.js\";\nexport {\n describeError,\n UserFacingError,\n NOT_SUBMITTED,\n GENERIC,\n NETWORK_BUSY,\n} from \"./utils/describe-error.js\";\nexport type { ErrorNotice } from \"./utils/describe-error.js\";\n\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport {\n IP_TYPES, LICENSE_TYPES, GEOGRAPHIC_SCOPES, AI_POLICIES,\n DERIVATIVES_OPTIONS, LICENSE_TRAIT_TYPES,\n} from \"./data/ip.js\";\nexport type { IPType, LicenseType } from \"./data/ip.js\";\nexport {\n IP_TEMPLATES, EMBED_PLATFORM_META, SOCIAL_PLATFORM_META, TEMPLATE_TRAIT_TYPES, DOC_UPLOAD,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate, DocUploadConfig } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.js\";\nexport { AssetLicenseSummary } from \"./components/asset-license-summary.js\";\nexport { AssetMarketsTab } from \"./components/asset-markets-tab.js\";\nexport { ParentAttributionBanner } from \"./components/parent-attribution-banner.js\";\nexport type { ParentBannerProps } from \"./components/parent-attribution-banner.js\";\nexport { AssetMediaColumn, AssetHeaderBlock, AssetOwnerRow, buildEditionStats } from \"./components/asset-top-sections.js\";\nexport type { AssetOwnerRowProps } from \"./components/asset-top-sections.js\";\nexport { AssetCollectionBar } from \"./components/asset-collection-bar.js\";\nexport type { AssetCollectionBarProps, AssetCollectionBarSibling } from \"./components/asset-collection-bar.js\";\nexport { AssetUtilityIcons } from \"./components/asset-utility-icons.js\";\nexport type { AssetUtilityIconsProps } from \"./components/asset-utility-icons.js\";\nexport { AssetMarketplacePanel } from \"./components/asset-marketplace-panel.js\";\nexport type { AssetMarketplacePanelProps, ApiOrderLike } from \"./components/asset-marketplace-panel.js\";\nexport { BRAND } from \"./data/brand.js\";\nexport { LIVING_RENDER_COLLECTIONS, isLivingRenderCollection } from \"./data/living-render-collections.js\";\n\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\n\nexport { AddressDisplay } from \"./components/address-display.js\";\nexport type { AddressDisplayProps } from \"./components/address-display.js\";\n\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { PageContainer } from \"./components/page-container.js\";\nexport type { PageContainerProps } from \"./components/page-container.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps } from \"./components/token-card.js\";\nexport { AnimatedTokenMedia } from \"./components/animated-token-media.js\";\nexport type { AnimatedTokenMediaProps } from \"./components/animated-token-media.js\";\nexport { ThemeAmbientBackground } from \"./components/theme-ambient-background.js\";\nexport {\n useCollectionFilters, SORT_OPTIONS, CollectionFiltersTrigger, CollectionFiltersBody,\n} from \"./components/collection-filters.js\";\nexport type { TraitSection, CollectionFiltersTriggerProps, CollectionFiltersBodyProps } from \"./components/collection-filters.js\";\nexport {\n DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem,\n DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel,\n DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup,\n DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuRadioGroup,\n} from \"./components/dropdown-menu.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\nexport { AssetPicker } from \"./components/asset-picker.js\";\nexport type { AssetPickerProps, OwnedAsset } from \"./components/asset-picker.js\";\nexport { AssetSearchPicker } from \"./components/asset-search-picker.js\";\nexport type { AssetSearchPickerProps } from \"./components/asset-search-picker.js\";\nexport { LicenseTermsBuilder, EMPTY_SPONSORSHIP_TERMS, MEDIA_TYPES, DURATION_UNITS, toLicenseMetadata, toDurationDays } from \"./components/license-terms-builder.js\";\nexport type { LicenseTermsBuilderProps, SponsorshipTerms, DurationUnit } from \"./components/license-terms-builder.js\";\n\nexport {\n coinKind, coinKindLabel, coinKindLabelPlural, COIN_KINDS, coinAccentToken, coinServiceIds, isCoinService, formatCoinPrice, coinSupply, formatFdvUsd, fdvUsd,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinGuarantees, type CoinGuaranteesProps, type CoinGuaranteesData } from \"./components/coin-guarantees.js\";\nexport { CoinRow, CoinRowSkeleton, CoinAvatar, COIN_GRID, type UseCoinPrice, type CoinRowProps, type CoinMarketStatus } from \"./components/coin-row.js\";\nexport { orderCoins, type CoinPriceSort } from \"./data/coin-order.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins, type UsePriceMap, type CoinCounts,\n} from \"./components/coins-explorer.js\";\n\nexport { timeAgo, timeUntil, isExpired } from \"./utils/time.js\";\nexport { toDisplayUrl, toDisplayUrlOrNull, toAbsoluteImageUrl, type DisplayUrlOptions } from \"./utils/ipfs.js\";\nexport { isSameAddress } from \"./utils/same-address.js\";\nexport { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from \"./data/activity.js\";\nexport type { ActivityTypeConfig } from \"./data/activity.js\";\nexport { HeroSlider, HeroSliderSkeleton } from \"./components/hero-slider.js\";\nexport type { HeroSliderProps } from \"./components/hero-slider.js\";\nexport { ActivityTicker } from \"./components/activity-ticker.js\";\nexport type { ActivityTickerProps } from \"./components/activity-ticker.js\";\nexport { ListingCard, ListingCardSkeleton } from \"./components/listing-card.js\";\nexport type { ListingCardProps } from \"./components/listing-card.js\";\nexport {\n MarketplaceTxLink,\n MarketplaceProcessingState,\n MarketplaceSignInGate,\n MarketplaceSuccessState,\n MarketplaceErrorState,\n MarketplaceDialogHero,\n CurrencyPicker,\n DurationPicker,\n MarketplaceConfirmStep,\n} from \"./components/marketplace-dialog-primitives.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport { ActivityTimelineRow } from \"./components/activity-timeline-row.js\";\nexport type { ActivityTimelineRowProps } from \"./components/activity-timeline-row.js\";\nexport { DropItemList } from \"./components/drop-item-list.js\";\nexport type { DraftItem } from \"./components/drop-item-list.js\";\nexport { dropCreateSchema } from \"./data/drop-create-schema.js\";\nexport type { DropCreateFormValues } from \"./data/drop-create-schema.js\";\nexport { getDefaultDropSchedule, getDefaultClaimWindow, suggestLaunchpadSymbol } from \"./utils/launchpad-defaults.js\";\nexport { getDropStatus } from \"./utils/drop-status.js\";\nexport type { DropConditions, DropStatus } from \"./utils/drop-status.js\";\nexport { DropStatusBadge, DropSupplyProgress, DropPriceDisplay } from \"./components/drop-status-display.js\";\nexport { GATED_CONTENT_TYPES, GATED_CONTENT_TYPE_FALLBACK } from \"./data/gated-content-types.js\";\nexport type { ContentTypeConfig } from \"./data/gated-content-types.js\";\nexport { CollapsibleSection } from \"./components/collapsible-section.js\";\nexport { ExclusiveContentSection } from \"./components/exclusive-content-section.js\";\nexport { DropPreviewCard } from \"./components/drop-preview-card.js\";\nexport type { DropPreviewCardProps } from \"./components/drop-preview-card.js\";\nexport { DropCreateForm } from \"./components/drop-create-form.js\";\nexport type { PaymentTokenOption } from \"./components/drop-create-form.js\";\nexport { useUsdPrices, usdPriceFor } from \"./utils/use-usd-prices.js\";\nexport type { UsdPrices } from \"./utils/use-usd-prices.js\";\nexport { NotificationRow } from \"./components/notification-row.js\";\nexport type { NotificationRowProps } from \"./components/notification-row.js\";\nexport { NOTIFICATION_ICON, NOTIFICATION_COLOR, NOTIFICATION_LABEL } from \"./data/notification-meta.js\";\nexport type { ActivityRowProps } from \"./components/activity-row.js\";\nexport { ActivityFeedShell } from \"./components/activity-feed-shell.js\";\nexport type { ActivityFeedShellProps } from \"./components/activity-feed-shell.js\";\nexport { CtaCardGrid } from \"./components/cta-card-grid.js\";\nexport type { CtaCardGridProps, CtaCardItem } from \"./components/cta-card-grid.js\";\n\nexport { DiscoverHero } from \"./components/discover-hero.js\";\nexport type { DiscoverHeroProps } from \"./components/discover-hero.js\";\nexport { FeaturedCarousel, FeaturedCarouselSkeleton } from \"./components/featured-carousel.js\";\nexport type { FeaturedCarouselProps } from \"./components/featured-carousel.js\";\nexport { DiscoverCollectionsStrip } from \"./components/discover-collections-strip.js\";\nexport type { DiscoverCollectionsStripProps } from \"./components/discover-collections-strip.js\";\nexport { DiscoverCreatorsStrip } from \"./components/discover-creators-strip.js\";\nexport type { DiscoverCreatorsStripProps } from \"./components/discover-creators-strip.js\";\nexport { DiscoverFeedSection, DiscoverActivityStrip } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps, DiscoverActivityStripProps } from \"./components/discover-feed-section.js\";\nexport { ActivityCard, ActivityCardSkeleton, ACTIVITY_MESSAGES } from \"./components/activity-card.js\";\nexport type { ActivityCardProps } from \"./components/activity-card.js\";\n\nexport { LaunchpadGroupedSections, LaunchpadServiceCard, SERVICE_HUES, useLaunchpadFilter } from \"./components/launchpad-services.js\";\nexport { LaunchpadFilterBar } from \"./components/launchpad-filter-bar.js\";\nexport type { LaunchpadFilterBarProps } from \"./components/launchpad-filter-bar.js\";\nexport { LaunchpadStrip } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadStripProps } from \"./components/launchpad-strip.js\";\nexport { LaunchpadCtaBanner } from \"./components/launchpad-cta-banner.js\";\nexport type { LaunchpadCtaBannerProps } from \"./components/launchpad-cta-banner.js\";\nexport type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_ROUTE_OVERRIDES } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\nexport { NavCommandMenu, useNavCommandMenu, relevanceFilter } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\nexport {\n NavBrandButton,\n NavIconButton,\n NavWalletTrigger,\n NavAccountSheet,\n useNavAccountSheet,\n} from \"./components/nav-shell.js\";\nexport type {\n NavBrandButtonProps,\n NavIconButtonProps,\n NavWalletTriggerProps,\n NavAccountSheetProps,\n} from \"./components/nav-shell.js\";\n\nexport { PortfolioHeader } from \"./components/portfolio-header.js\";\nexport type {\n PortfolioHeaderProps,\n PortfolioHeaderScore,\n} from \"./components/portfolio-header.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\nexport { PortfolioSection } from \"./components/portfolio-section.js\";\nexport type {\n PortfolioSectionProps,\n PortfolioSectionColor,\n} from \"./components/portfolio-section.js\";\nexport { PortfolioChipFilter } from \"./components/portfolio-chip-filter.js\";\nexport type {\n PortfolioChipFilterProps,\n PortfolioChipFilterOption,\n} from \"./components/portfolio-chip-filter.js\";\n\nexport { ServiceHeader } from \"./components/service-header.js\";\nexport type { ServiceHeaderProps } from \"./components/service-header.js\";\nexport { ClaimRail } from \"./components/claim-rail.js\";\nexport type { ClaimRailProps } from \"./components/claim-rail.js\";\n\nexport { ServiceFormShell } from \"./components/service-form-shell.js\";\nexport type { ServiceFormShellProps } from \"./components/service-form-shell.js\";\nexport { StepNav } from \"./components/step-nav.js\";\nexport type { StepNavProps, StepNavStep } from \"./components/step-nav.js\";\n\nexport { LevelBadge } from \"./components/rewards/level-badge.js\";\nexport type { LevelBadgeProps } from \"./components/rewards/level-badge.js\";\nexport { XpProgress } from \"./components/rewards/xp-progress.js\";\nexport type { XpProgressProps } from \"./components/rewards/xp-progress.js\";\nexport { BadgeShelf } from \"./components/rewards/badge-shelf.js\";\nexport type { BadgeShelfProps, BadgeShelfBadge } from \"./components/rewards/badge-shelf.js\";\nexport { ScoreSummaryCard } from \"./components/rewards/score-summary-card.js\";\nexport type { ScoreSummaryCardProps } from \"./components/rewards/score-summary-card.js\";\nexport { LeaderboardTable, LeaderboardWidget } from \"./components/rewards/leaderboard-table.js\";\nexport type { LeaderboardTableProps, LeaderboardWidgetProps, LeaderboardEntryLike } from \"./components/rewards/leaderboard-table.js\";\nexport { LevelJourneyList } from \"./components/rewards/level-journey-list.js\";\nexport type { LevelJourneyListProps, LevelJourneyListLevel } from \"./components/rewards/level-journey-list.js\";\nexport { BadgeCatalog } from \"./components/rewards/badge-catalog.js\";\nexport type { BadgeCatalogProps, BadgeCatalogBadge } from \"./components/rewards/badge-catalog.js\";\nexport { XpEarned } from \"./components/rewards/xp-earned.js\";\nexport type { XpEarnedProps } from \"./components/rewards/xp-earned.js\";\nexport { createRewardEarned } from \"./components/rewards/reward-earned.js\";\nexport type { RewardEarnedProps, RewardSnapshot } from \"./components/rewards/reward-earned.js\";\n\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport { ActivitiesFeed } from \"./components/activities-feed.js\";\nexport type { ActivitiesFeedProps } from \"./components/activities-feed.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\nexport { RewardsSection } from \"./components/rewards-section.js\";\nexport type { RewardsSectionProps } from \"./components/rewards-section.js\";\n\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\nexport { GradientButton } from \"./components/gradient-button.js\";\nexport type { GradientButtonProps } from \"./components/gradient-button.js\";\n\nexport { CoinLaunchPreview } from \"./components/coin-launch-preview.js\";\nexport type { CoinPreviewData } from \"./components/coin-launch-preview.js\";\nexport { MedialaneCollectionCard } from \"./components/medialane-collection-card.js\";\nexport type { MedialaneCollectionCardProps } from \"./components/medialane-collection-card.js\";\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill, StatPillRow } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps, StatPillRowItem } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n\nexport { HiddenContentBanner } from \"./components/hidden-content-banner.js\";\nexport { CollectionHeroBanner } from \"./components/collection-hero-banner.js\";\nexport type { CollectionHeroBannerProps, CollectionHeroStat } from \"./components/collection-hero-banner.js\";\n\nexport { useRewardsCelebrations } from \"./components/rewards/use-rewards-celebrations.js\";\nexport { LevelUpCelebration } from \"./components/rewards/level-up-celebration.js\";\nexport type { LevelUpCelebrationProps } from \"./components/rewards/level-up-celebration.js\";\nexport { BadgeUnlocked } from \"./components/rewards/badge-unlocked.js\";\nexport type { BadgeUnlockedProps } from \"./components/rewards/badge-unlocked.js\";\nexport { JourneyPath } from \"./components/rewards/journey-path.js\";\nexport type { JourneyPathProps, JourneyStep } from \"./components/rewards/journey-path.js\";\n\nexport { Skeleton } from \"./components/skeleton.js\";\nexport { Badge, badgeVariants } from \"./components/badge.js\";\nexport type { BadgeProps } from \"./components/badge.js\";\nexport { Label } from \"./components/label.js\";\nexport { Input } from \"./components/input.js\";\nexport { Switch } from \"./components/switch.js\";\nexport { Checkbox } from \"./components/checkbox.js\";\nexport { Alert, AlertTitle, AlertDescription } from \"./components/alert.js\";\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from \"./components/tabs.js\";\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from \"./components/card.js\";\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent } from \"./components/collapsible.js\";\nexport { Button, buttonVariants } from \"./components/button.js\";\nexport type { ButtonProps } from \"./components/button.js\";\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from \"./components/popover.js\";\nexport { HelpIcon } from \"./components/help-icon.js\";\nexport { EmptyOrError } from \"./components/empty-or-error.js\";\nexport { TabEmptyState } from \"./components/tab-empty-state.js\";\nexport type { TabEmptyStateProps } from \"./components/tab-empty-state.js\";\nexport {\n Select, SelectGroup, SelectValue, SelectTrigger, SelectContent,\n SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton,\n} from \"./components/select.js\";\nexport {\n useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField,\n} from \"./components/form.js\";\nexport { Textarea } from \"./components/textarea.js\";\nexport type { TextareaProps } from \"./components/textarea.js\";\nexport {\n Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent,\n SheetHeader, SheetFooter, SheetTitle, SheetDescription,\n} from \"./components/sheet.js\";\n\nexport { ToggleGroup, Section } from \"./components/create-form-primitives.js\";\nexport { OrderSortControl, sortOrders } from \"./components/order-sort-control.js\";\nexport type { OrderSort } from \"./components/order-sort-control.js\";\nexport { AssetLightbox } from \"./components/asset-lightbox.js\";\nexport type { AssetLightboxProps } from \"./components/asset-lightbox.js\";\nexport { PriceHistoryChart } from \"./components/price-history-chart.js\";\nexport type { PriceHistoryChartProps } from \"./components/price-history-chart.js\";\nexport { NavThemeToggle } from \"./components/nav-theme-toggle.js\";\nexport { JsonLd } from \"./components/json-ld.js\";\nexport type { JsonLdProps } from \"./components/json-ld.js\";\nexport { CreationRecord } from \"./components/creation-record.js\";\nexport type { CreationRecordProps } from \"./components/creation-record.js\";\nexport { ClubOwnerActions } from \"./components/club-owner-actions.js\";\nexport type { ClubOwnerActionsProps } from \"./components/club-owner-actions.js\";\nexport { IPTypeFields } from \"./components/ip-type-fields.js\";\nexport type { IPTypeFieldsProps, MetadataField } from \"./components/ip-type-fields.js\";\n\nexport { FastMint } from \"./components/fast-mint/fast-mint.js\";\nexport { Dropzone } from \"./components/fast-mint/dropzone.js\";\nexport type { DropzoneProps } from \"./components/fast-mint/dropzone.js\";\nexport { SuccessView } from \"./components/fast-mint/success-view.js\";\nexport type { SuccessViewProps } from \"./components/fast-mint/success-view.js\";\nexport type {\n MediaKind, FastMintSigner, MintedAsset, FastMintProps,\n} from \"./components/fast-mint/types.js\";\nexport { readBodyWithCap } from \"./utils/proxy-body.js\";\nexport type { CappedBody } from \"./utils/proxy-body.js\";\nexport {\n formatActivity, formatOrderNotification, formatOfferAcceptedNotification, formatAssetReceivedNotification,\n} from \"./utils/format-activity.js\";\nexport type { FormattedEvent } from \"./utils/format-activity.js\";\n\nexport { queryKeys, queryKeyPrefix, QUERY_PREFIX } from \"./utils/query-keys.js\";\nexport { useCollectionProfile, useCreatorProfile } from \"./utils/use-profiles.js\";\nexport { useActivities, useActivitiesByAddress } from \"./utils/use-activities.js\";\nexport {\n useCollections, useCollection, useCollectionsByOwner, useCollectionTokens, useNearbyCollectionTokens,\n} from \"./utils/use-collections.js\";\nexport type { CollectionSort } from \"./utils/use-collections.js\";\nexport { CreatorChip } from \"./components/creator-chip.js\";\nexport type { CreatorChipProps } from \"./components/creator-chip.js\";\nexport { CollectionActivityTab } from \"./components/collection-activity-tab.js\";\nexport type { CollectionActivityTabProps } from \"./components/collection-activity-tab.js\";\nexport { CollectionTraitsTab } from \"./components/collection-traits-tab.js\";\nexport type { CollectionTraitsTabProps } from \"./components/collection-traits-tab.js\";\nexport { PortfolioActivity } from \"./components/portfolio-activity.js\";\nexport type { PortfolioActivityProps } from \"./components/portfolio-activity.js\";\nexport { CreatorScoreInline } from \"./components/creator-score-inline.js\";\nexport type { CreatorScoreInlineProps } from \"./components/creator-score-inline.js\";\n\nexport { useMedialaneClient } from \"./utils/use-medialane-client.js\";\nexport { useCreators } from \"./utils/use-creators.js\";\nexport {\n useRewards, useLeaderboard, useRewardsEvents, useRewardsConfig, useRewardsBatch,\n} from \"./utils/use-rewards.js\";\nexport type { UserRewards, LeaderboardEntry, BadgeSummary, LevelSummary } from \"./utils/use-rewards.js\";\n\nexport {\n useOrders, useOrder, useTokenListings, useUserOrders, useCounterOffers,\n useReceivedOffers, useCollectionFloorListings,\n} from \"./utils/use-orders.js\";\nexport { useNotifications } from \"./utils/use-notifications.js\";\nexport type { Notification, NotificationType, NotificationPriority, Announcement } from \"./data/notification.js\";\nexport { useTokenRemixes } from \"./utils/use-remix-offers.js\";\nexport { RemixesTab } from \"./components/remixes-tab.js\";\nexport type { RemixesTabProps } from \"./components/remixes-tab.js\";\n\nexport { OwnerSetupPanel } from \"./components/owner-setup-panel.js\";\nexport { DropCountdown } from \"./components/drop-countdown.js\";\nexport { CreatorAnalytics } from \"./components/creator-analytics.js\";\nexport {\n Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger,\n DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription,\n} from \"./components/dialog.js\";\nexport { SelfFundConsentDialog, feeLabelFor } from \"./components/wallet/self-fund-consent-dialog.js\";\nexport { ExportKeySection, type ExportKeySectionProps } from \"./components/wallet/export-key-section.js\";\nexport {\n useDropCollections, useMyDrops, useDropMintStatus, useDropInfo, useOnChainDropState,\n} from \"./utils/use-drops.js\";\nexport { usePopCollections, useMyPopEvents, usePopClaimStatus } from \"./utils/use-pop.js\";\nexport { usePlatformStats } from \"./utils/use-platform-stats.js\";\nexport { useTokensByIpType } from \"./utils/use-tokens-by-ip-type.js\";\nexport { usePriceMap, useCoinPrice } from \"./utils/use-coin-price.js\";\nexport {\n useSponsorshipOffers, useSponsorshipOffer, useSponsorshipBids, useSponsorshipProposals,\n useSponsorshipProposal, usePendingProposalsForAsset, useSponsorshipLicenses, useMySponsorshipDealCounts,\n} from \"./utils/use-sponsorship.js\";\nexport {\n predictNextMembershipId, predictNextTicketId, useMyClubCollections, useMyTicketCollections,\n useMembershipList, useTicketList, useMembershipOnchain, useTicketOnchain, useIsMemberOf,\n type TierOnchain, type TierListItem,\n} from \"./utils/use-tiers.js\";\nexport { collectSitemapData, type SitemapData, type SitemapLimits } from \"./utils/sitemap-data.js\";\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay, isStableCurrency, formatUsd, formatUsdPrice, formatSmallDecimal } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { profileIdentity, type ProfileIdentity, type ProfileIdentitySource } from \"./utils/profile-identity.js\";\nexport { ipfsToHttp, DEFAULT_GATEWAY as PINATA_PUBLIC_GATEWAY } from \"./utils/ipfs.js\";\nexport {\n uploadFileToIpfs,\n uploadJsonToIpfs,\n uploadDirectoryToIpfs,\n pinAssetMetadata,\n uploadFailureToast,\n isUserRejection,\n type SignedUploadKind,\n type UploadedIpfsFile,\n type PinAssetMetadataInput,\n type PinnedAsset,\n} from \"./utils/ipfs-upload.js\";\nexport { useIntersectionActive } from \"./utils/use-intersection-active.js\";\nexport { getReadIds, markRead } from \"./utils/notification-storage.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\nexport {\n isBareExecuteFailure,\n isUserRejectedRequest,\n isWrongNetwork,\n assertCorrectNetwork,\n WrongNetworkError,\n} from \"./utils/wallet-error.js\";\nexport {\n describeError,\n UserFacingError,\n NOT_SUBMITTED,\n GENERIC,\n NETWORK_BUSY,\n} from \"./utils/describe-error.js\";\nexport type { ErrorNotice } from \"./utils/describe-error.js\";\n\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport {\n IP_TYPES, LICENSE_TYPES, GEOGRAPHIC_SCOPES, AI_POLICIES,\n DERIVATIVES_OPTIONS, LICENSE_TRAIT_TYPES,\n} from \"./data/ip.js\";\nexport type { IPType, LicenseType } from \"./data/ip.js\";\nexport {\n IP_TEMPLATES, EMBED_PLATFORM_META, SOCIAL_PLATFORM_META, TEMPLATE_TRAIT_TYPES, DOC_UPLOAD,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate, DocUploadConfig } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.js\";\nexport { AssetLicenseSummary } from \"./components/asset-license-summary.js\";\nexport { AssetMarketsTab } from \"./components/asset-markets-tab.js\";\nexport { ParentAttributionBanner } from \"./components/parent-attribution-banner.js\";\nexport type { ParentBannerProps } from \"./components/parent-attribution-banner.js\";\nexport { AssetMediaColumn, AssetHeaderBlock, AssetOwnerRow, buildEditionStats } from \"./components/asset-top-sections.js\";\nexport type { AssetOwnerRowProps } from \"./components/asset-top-sections.js\";\nexport { AssetCollectionBar } from \"./components/asset-collection-bar.js\";\nexport type { AssetCollectionBarProps, AssetCollectionBarSibling } from \"./components/asset-collection-bar.js\";\nexport { AssetUtilityIcons } from \"./components/asset-utility-icons.js\";\nexport type { AssetUtilityIconsProps } from \"./components/asset-utility-icons.js\";\nexport { AssetMarketplacePanel } from \"./components/asset-marketplace-panel.js\";\nexport type { AssetMarketplacePanelProps, ApiOrderLike } from \"./components/asset-marketplace-panel.js\";\nexport { BRAND } from \"./data/brand.js\";\nexport { LIVING_RENDER_COLLECTIONS, isLivingRenderCollection } from \"./data/living-render-collections.js\";\n\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\n\nexport { AddressDisplay } from \"./components/address-display.js\";\nexport type { AddressDisplayProps } from \"./components/address-display.js\";\n\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { PageContainer } from \"./components/page-container.js\";\nexport type { PageContainerProps } from \"./components/page-container.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps } from \"./components/token-card.js\";\nexport { AnimatedTokenMedia } from \"./components/animated-token-media.js\";\nexport type { AnimatedTokenMediaProps } from \"./components/animated-token-media.js\";\nexport { ThemeAmbientBackground } from \"./components/theme-ambient-background.js\";\nexport {\n useCollectionFilters, SORT_OPTIONS, CollectionFiltersTrigger, CollectionFiltersBody,\n} from \"./components/collection-filters.js\";\nexport type { TraitSection, CollectionFiltersTriggerProps, CollectionFiltersBodyProps } from \"./components/collection-filters.js\";\nexport {\n DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem,\n DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel,\n DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup,\n DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuRadioGroup,\n} from \"./components/dropdown-menu.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\nexport { AssetPicker } from \"./components/asset-picker.js\";\nexport type { AssetPickerProps, OwnedAsset } from \"./components/asset-picker.js\";\nexport { AssetSearchPicker } from \"./components/asset-search-picker.js\";\nexport type { AssetSearchPickerProps } from \"./components/asset-search-picker.js\";\nexport { LicenseTermsBuilder, EMPTY_SPONSORSHIP_TERMS, MEDIA_TYPES, DURATION_UNITS, toLicenseMetadata, toDurationDays } from \"./components/license-terms-builder.js\";\nexport type { LicenseTermsBuilderProps, SponsorshipTerms, DurationUnit } from \"./components/license-terms-builder.js\";\n\nexport {\n coinKind, coinKindLabel, coinKindLabelPlural, COIN_KINDS, coinAccentToken, coinServiceIds, isCoinService, formatCoinPrice, coinSupply, formatFdvUsd, fdvUsd,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinGuarantees, type CoinGuaranteesProps, type CoinGuaranteesData } from \"./components/coin-guarantees.js\";\nexport { CoinRow, CoinRowSkeleton, CoinAvatar, COIN_GRID, type UseCoinPrice, type CoinRowProps, type CoinMarketStatus } from \"./components/coin-row.js\";\nexport { orderCoins, type CoinPriceSort } from \"./data/coin-order.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins, type UsePriceMap, type CoinCounts,\n} from \"./components/coins-explorer.js\";\n\nexport { timeAgo, timeUntil, isExpired } from \"./utils/time.js\";\nexport { toDisplayUrl, toDisplayUrlOrNull, toAbsoluteImageUrl, type DisplayUrlOptions } from \"./utils/ipfs.js\";\nexport { isSameAddress } from \"./utils/same-address.js\";\nexport { createAppWallet, stableUserId, decodeCredentialId } from \"./utils/app-wallet.js\";\nexport type { AppWalletConfig } from \"./utils/app-wallet.js\";\nexport { detectPasskeySupport } from \"./utils/passkey-support.js\";\nexport type { PasskeySupport } from \"./utils/passkey-support.js\";\nexport { describeWalletFailure, isPasskeyCancelled } from \"./utils/wallet-failure.js\";\nexport type { WalletFailureKind, WalletFailureNotice } from \"./utils/wallet-failure.js\";\nexport {\n RESEND_COOLDOWN_SECONDS,\n canResendCode,\n canVerifyCode,\n emailCodeReducer,\n initialEmailCodeState,\n} from \"./utils/email-code.js\";\nexport type { EmailCodeAction, EmailCodeState, EmailCodeStatus } from \"./utils/email-code.js\";\nexport { useEmailCode } from \"./utils/use-email-code.js\";\nexport type { EmailCode, EmailCodeApi } from \"./utils/use-email-code.js\";\nexport { AccountSection } from \"./components/account/account-section.js\";\nexport type { AccountSectionProps } from \"./components/account/account-section.js\";\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from \"./components/account/input-otp.js\";\nexport { EmailCodeEntry } from \"./components/account/email-code-entry.js\";\nexport type { EmailCodeEntryProps } from \"./components/account/email-code-entry.js\";\nexport { DevicesSection } from \"./components/account/devices-section.js\";\nexport type { DevicesSectionProps } from \"./components/account/devices-section.js\";\nexport { DeviceApprovalDialog } from \"./components/account/device-approval-dialog.js\";\nexport type { DeviceApprovalDialogProps } from \"./components/account/device-approval-dialog.js\";\nexport { GuardianRecoverySection } from \"./components/account/guardian-recovery-section.js\";\nexport type { GuardianRecoverySectionProps } from \"./components/account/guardian-recovery-section.js\";\nexport { AddGuardianDialog } from \"./components/account/add-guardian-dialog.js\";\nexport type { AddGuardianDialogProps } from \"./components/account/add-guardian-dialog.js\";\nexport type { DeviceWallet, GuardianWallet, LoadSealedOwner } from \"./components/account/wallet-types.js\";\nexport { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from \"./data/activity.js\";\nexport type { ActivityTypeConfig } from \"./data/activity.js\";\nexport { HeroSlider, HeroSliderSkeleton } from \"./components/hero-slider.js\";\nexport type { HeroSliderProps } from \"./components/hero-slider.js\";\nexport { ActivityTicker } from \"./components/activity-ticker.js\";\nexport type { ActivityTickerProps } from \"./components/activity-ticker.js\";\nexport { ListingCard, ListingCardSkeleton } from \"./components/listing-card.js\";\nexport type { ListingCardProps } from \"./components/listing-card.js\";\nexport {\n MarketplaceTxLink,\n MarketplaceProcessingState,\n MarketplaceSignInGate,\n MarketplaceSuccessState,\n MarketplaceErrorState,\n MarketplaceDialogHero,\n CurrencyPicker,\n DurationPicker,\n MarketplaceConfirmStep,\n} from \"./components/marketplace-dialog-primitives.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport { ActivityTimelineRow } from \"./components/activity-timeline-row.js\";\nexport type { ActivityTimelineRowProps } from \"./components/activity-timeline-row.js\";\nexport { DropItemList } from \"./components/drop-item-list.js\";\nexport type { DraftItem } from \"./components/drop-item-list.js\";\nexport { dropCreateSchema } from \"./data/drop-create-schema.js\";\nexport type { DropCreateFormValues } from \"./data/drop-create-schema.js\";\nexport { getDefaultDropSchedule, getDefaultClaimWindow, suggestLaunchpadSymbol } from \"./utils/launchpad-defaults.js\";\nexport { getDropStatus } from \"./utils/drop-status.js\";\nexport type { DropConditions, DropStatus } from \"./utils/drop-status.js\";\nexport { DropStatusBadge, DropSupplyProgress, DropPriceDisplay } from \"./components/drop-status-display.js\";\nexport { GATED_CONTENT_TYPES, GATED_CONTENT_TYPE_FALLBACK } from \"./data/gated-content-types.js\";\nexport type { ContentTypeConfig } from \"./data/gated-content-types.js\";\nexport { CollapsibleSection } from \"./components/collapsible-section.js\";\nexport { ExclusiveContentSection } from \"./components/exclusive-content-section.js\";\nexport { DropPreviewCard } from \"./components/drop-preview-card.js\";\nexport type { DropPreviewCardProps } from \"./components/drop-preview-card.js\";\nexport { DropCreateForm } from \"./components/drop-create-form.js\";\nexport type { PaymentTokenOption } from \"./components/drop-create-form.js\";\nexport { useUsdPrices, usdPriceFor } from \"./utils/use-usd-prices.js\";\nexport type { UsdPrices } from \"./utils/use-usd-prices.js\";\nexport { NotificationRow } from \"./components/notification-row.js\";\nexport type { NotificationRowProps } from \"./components/notification-row.js\";\nexport { NOTIFICATION_ICON, NOTIFICATION_COLOR, NOTIFICATION_LABEL } from \"./data/notification-meta.js\";\nexport type { ActivityRowProps } from \"./components/activity-row.js\";\nexport { ActivityFeedShell } from \"./components/activity-feed-shell.js\";\nexport type { ActivityFeedShellProps } from \"./components/activity-feed-shell.js\";\nexport { CtaCardGrid } from \"./components/cta-card-grid.js\";\nexport type { CtaCardGridProps, CtaCardItem } from \"./components/cta-card-grid.js\";\n\nexport { DiscoverHero } from \"./components/discover-hero.js\";\nexport type { DiscoverHeroProps } from \"./components/discover-hero.js\";\nexport { FeaturedCarousel, FeaturedCarouselSkeleton } from \"./components/featured-carousel.js\";\nexport type { FeaturedCarouselProps } from \"./components/featured-carousel.js\";\nexport { DiscoverCollectionsStrip } from \"./components/discover-collections-strip.js\";\nexport type { DiscoverCollectionsStripProps } from \"./components/discover-collections-strip.js\";\nexport { DiscoverCreatorsStrip } from \"./components/discover-creators-strip.js\";\nexport type { DiscoverCreatorsStripProps } from \"./components/discover-creators-strip.js\";\nexport { DiscoverFeedSection, DiscoverActivityStrip } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps, DiscoverActivityStripProps } from \"./components/discover-feed-section.js\";\nexport { ActivityCard, ActivityCardSkeleton, ACTIVITY_MESSAGES } from \"./components/activity-card.js\";\nexport type { ActivityCardProps } from \"./components/activity-card.js\";\n\nexport { LaunchpadGroupedSections, LaunchpadServiceCard, SERVICE_HUES, useLaunchpadFilter } from \"./components/launchpad-services.js\";\nexport { LaunchpadFilterBar } from \"./components/launchpad-filter-bar.js\";\nexport type { LaunchpadFilterBarProps } from \"./components/launchpad-filter-bar.js\";\nexport { LaunchpadStrip } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadStripProps } from \"./components/launchpad-strip.js\";\nexport { LaunchpadCtaBanner } from \"./components/launchpad-cta-banner.js\";\nexport type { LaunchpadCtaBannerProps } from \"./components/launchpad-cta-banner.js\";\nexport type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_ROUTE_OVERRIDES } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\nexport { NavCommandMenu, useNavCommandMenu, relevanceFilter } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\nexport {\n NavBrandButton,\n NavIconButton,\n NavWalletTrigger,\n NavAccountSheet,\n useNavAccountSheet,\n} from \"./components/nav-shell.js\";\nexport type {\n NavBrandButtonProps,\n NavIconButtonProps,\n NavWalletTriggerProps,\n NavAccountSheetProps,\n} from \"./components/nav-shell.js\";\n\nexport { PortfolioHeader } from \"./components/portfolio-header.js\";\nexport type {\n PortfolioHeaderProps,\n PortfolioHeaderScore,\n} from \"./components/portfolio-header.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\nexport { PortfolioSection } from \"./components/portfolio-section.js\";\nexport type {\n PortfolioSectionProps,\n PortfolioSectionColor,\n} from \"./components/portfolio-section.js\";\nexport { PortfolioChipFilter } from \"./components/portfolio-chip-filter.js\";\nexport type {\n PortfolioChipFilterProps,\n PortfolioChipFilterOption,\n} from \"./components/portfolio-chip-filter.js\";\n\nexport { ServiceHeader } from \"./components/service-header.js\";\nexport type { ServiceHeaderProps } from \"./components/service-header.js\";\nexport { ClaimRail } from \"./components/claim-rail.js\";\nexport type { ClaimRailProps } from \"./components/claim-rail.js\";\n\nexport { ServiceFormShell } from \"./components/service-form-shell.js\";\nexport type { ServiceFormShellProps } from \"./components/service-form-shell.js\";\nexport { StepNav } from \"./components/step-nav.js\";\nexport type { StepNavProps, StepNavStep } from \"./components/step-nav.js\";\n\nexport { LevelBadge } from \"./components/rewards/level-badge.js\";\nexport type { LevelBadgeProps } from \"./components/rewards/level-badge.js\";\nexport { XpProgress } from \"./components/rewards/xp-progress.js\";\nexport type { XpProgressProps } from \"./components/rewards/xp-progress.js\";\nexport { BadgeShelf } from \"./components/rewards/badge-shelf.js\";\nexport type { BadgeShelfProps, BadgeShelfBadge } from \"./components/rewards/badge-shelf.js\";\nexport { ScoreSummaryCard } from \"./components/rewards/score-summary-card.js\";\nexport type { ScoreSummaryCardProps } from \"./components/rewards/score-summary-card.js\";\nexport { LeaderboardTable, LeaderboardWidget } from \"./components/rewards/leaderboard-table.js\";\nexport type { LeaderboardTableProps, LeaderboardWidgetProps, LeaderboardEntryLike } from \"./components/rewards/leaderboard-table.js\";\nexport { LevelJourneyList } from \"./components/rewards/level-journey-list.js\";\nexport type { LevelJourneyListProps, LevelJourneyListLevel } from \"./components/rewards/level-journey-list.js\";\nexport { BadgeCatalog } from \"./components/rewards/badge-catalog.js\";\nexport type { BadgeCatalogProps, BadgeCatalogBadge } from \"./components/rewards/badge-catalog.js\";\nexport { XpEarned } from \"./components/rewards/xp-earned.js\";\nexport type { XpEarnedProps } from \"./components/rewards/xp-earned.js\";\nexport { createRewardEarned } from \"./components/rewards/reward-earned.js\";\nexport type { RewardEarnedProps, RewardSnapshot } from \"./components/rewards/reward-earned.js\";\n\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport { ActivitiesFeed } from \"./components/activities-feed.js\";\nexport type { ActivitiesFeedProps } from \"./components/activities-feed.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\nexport { RewardsSection } from \"./components/rewards-section.js\";\nexport type { RewardsSectionProps } from \"./components/rewards-section.js\";\n\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\nexport { GradientButton } from \"./components/gradient-button.js\";\nexport type { GradientButtonProps } from \"./components/gradient-button.js\";\n\nexport { CoinLaunchPreview } from \"./components/coin-launch-preview.js\";\nexport type { CoinPreviewData } from \"./components/coin-launch-preview.js\";\nexport { MedialaneCollectionCard } from \"./components/medialane-collection-card.js\";\nexport type { MedialaneCollectionCardProps } from \"./components/medialane-collection-card.js\";\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill, StatPillRow } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps, StatPillRowItem } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n\nexport { HiddenContentBanner } from \"./components/hidden-content-banner.js\";\nexport { CollectionHeroBanner } from \"./components/collection-hero-banner.js\";\nexport type { CollectionHeroBannerProps, CollectionHeroStat } from \"./components/collection-hero-banner.js\";\n\nexport { useRewardsCelebrations } from \"./components/rewards/use-rewards-celebrations.js\";\nexport { LevelUpCelebration } from \"./components/rewards/level-up-celebration.js\";\nexport type { LevelUpCelebrationProps } from \"./components/rewards/level-up-celebration.js\";\nexport { BadgeUnlocked } from \"./components/rewards/badge-unlocked.js\";\nexport type { BadgeUnlockedProps } from \"./components/rewards/badge-unlocked.js\";\nexport { JourneyPath } from \"./components/rewards/journey-path.js\";\nexport type { JourneyPathProps, JourneyStep } from \"./components/rewards/journey-path.js\";\n\nexport { Skeleton } from \"./components/skeleton.js\";\nexport { Badge, badgeVariants } from \"./components/badge.js\";\nexport type { BadgeProps } from \"./components/badge.js\";\nexport { Label } from \"./components/label.js\";\nexport { Input } from \"./components/input.js\";\nexport { Switch } from \"./components/switch.js\";\nexport { Checkbox } from \"./components/checkbox.js\";\nexport { Alert, AlertTitle, AlertDescription } from \"./components/alert.js\";\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from \"./components/tabs.js\";\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from \"./components/card.js\";\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent } from \"./components/collapsible.js\";\nexport { Button, buttonVariants } from \"./components/button.js\";\nexport type { ButtonProps } from \"./components/button.js\";\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from \"./components/popover.js\";\nexport { HelpIcon } from \"./components/help-icon.js\";\nexport { EmptyOrError } from \"./components/empty-or-error.js\";\nexport { TabEmptyState } from \"./components/tab-empty-state.js\";\nexport type { TabEmptyStateProps } from \"./components/tab-empty-state.js\";\nexport {\n Select, SelectGroup, SelectValue, SelectTrigger, SelectContent,\n SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton,\n} from \"./components/select.js\";\nexport {\n useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField,\n} from \"./components/form.js\";\nexport { Textarea } from \"./components/textarea.js\";\nexport type { TextareaProps } from \"./components/textarea.js\";\nexport {\n Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent,\n SheetHeader, SheetFooter, SheetTitle, SheetDescription,\n} from \"./components/sheet.js\";\n\nexport { ToggleGroup, Section } from \"./components/create-form-primitives.js\";\nexport { OrderSortControl, sortOrders } from \"./components/order-sort-control.js\";\nexport type { OrderSort } from \"./components/order-sort-control.js\";\nexport { AssetLightbox } from \"./components/asset-lightbox.js\";\nexport type { AssetLightboxProps } from \"./components/asset-lightbox.js\";\nexport { PriceHistoryChart } from \"./components/price-history-chart.js\";\nexport type { PriceHistoryChartProps } from \"./components/price-history-chart.js\";\nexport { NavThemeToggle } from \"./components/nav-theme-toggle.js\";\nexport { JsonLd } from \"./components/json-ld.js\";\nexport type { JsonLdProps } from \"./components/json-ld.js\";\nexport { CreationRecord } from \"./components/creation-record.js\";\nexport type { CreationRecordProps } from \"./components/creation-record.js\";\nexport { ClubOwnerActions } from \"./components/club-owner-actions.js\";\nexport type { ClubOwnerActionsProps } from \"./components/club-owner-actions.js\";\nexport { IPTypeFields } from \"./components/ip-type-fields.js\";\nexport type { IPTypeFieldsProps, MetadataField } from \"./components/ip-type-fields.js\";\n\nexport { FastMint } from \"./components/fast-mint/fast-mint.js\";\nexport { Dropzone } from \"./components/fast-mint/dropzone.js\";\nexport type { DropzoneProps } from \"./components/fast-mint/dropzone.js\";\nexport { SuccessView } from \"./components/fast-mint/success-view.js\";\nexport type { SuccessViewProps } from \"./components/fast-mint/success-view.js\";\nexport type {\n MediaKind, FastMintSigner, MintedAsset, FastMintProps,\n} from \"./components/fast-mint/types.js\";\nexport { readBodyWithCap } from \"./utils/proxy-body.js\";\nexport type { CappedBody } from \"./utils/proxy-body.js\";\nexport {\n formatActivity, formatOrderNotification, formatOfferAcceptedNotification, formatAssetReceivedNotification,\n} from \"./utils/format-activity.js\";\nexport type { FormattedEvent } from \"./utils/format-activity.js\";\n\nexport { queryKeys, queryKeyPrefix, QUERY_PREFIX } from \"./utils/query-keys.js\";\nexport { useCollectionProfile, useCreatorProfile } from \"./utils/use-profiles.js\";\nexport { useActivities, useActivitiesByAddress } from \"./utils/use-activities.js\";\nexport {\n useCollections, useCollection, useCollectionsByOwner, useCollectionTokens, useNearbyCollectionTokens,\n} from \"./utils/use-collections.js\";\nexport type { CollectionSort } from \"./utils/use-collections.js\";\nexport { CreatorChip } from \"./components/creator-chip.js\";\nexport type { CreatorChipProps } from \"./components/creator-chip.js\";\nexport { CollectionActivityTab } from \"./components/collection-activity-tab.js\";\nexport type { CollectionActivityTabProps } from \"./components/collection-activity-tab.js\";\nexport { CollectionTraitsTab } from \"./components/collection-traits-tab.js\";\nexport type { CollectionTraitsTabProps } from \"./components/collection-traits-tab.js\";\nexport { PortfolioActivity } from \"./components/portfolio-activity.js\";\nexport type { PortfolioActivityProps } from \"./components/portfolio-activity.js\";\nexport { CreatorScoreInline } from \"./components/creator-score-inline.js\";\nexport type { CreatorScoreInlineProps } from \"./components/creator-score-inline.js\";\n\nexport { useMedialaneClient } from \"./utils/use-medialane-client.js\";\nexport { useCreators } from \"./utils/use-creators.js\";\nexport {\n useRewards, useLeaderboard, useRewardsEvents, useRewardsConfig, useRewardsBatch,\n} from \"./utils/use-rewards.js\";\nexport type { UserRewards, LeaderboardEntry, BadgeSummary, LevelSummary } from \"./utils/use-rewards.js\";\n\nexport {\n useOrders, useOrder, useTokenListings, useUserOrders, useCounterOffers,\n useReceivedOffers, useCollectionFloorListings,\n} from \"./utils/use-orders.js\";\nexport { useNotifications } from \"./utils/use-notifications.js\";\nexport type { Notification, NotificationType, NotificationPriority, Announcement } from \"./data/notification.js\";\nexport { useTokenRemixes } from \"./utils/use-remix-offers.js\";\nexport { RemixesTab } from \"./components/remixes-tab.js\";\nexport type { RemixesTabProps } from \"./components/remixes-tab.js\";\n\nexport { OwnerSetupPanel } from \"./components/owner-setup-panel.js\";\nexport { DropCountdown } from \"./components/drop-countdown.js\";\nexport { CreatorAnalytics } from \"./components/creator-analytics.js\";\nexport {\n Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger,\n DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription,\n} from \"./components/dialog.js\";\nexport { SelfFundConsentDialog, feeLabelFor } from \"./components/wallet/self-fund-consent-dialog.js\";\nexport { ExportKeySection, type ExportKeySectionProps } from \"./components/wallet/export-key-section.js\";\nexport {\n useDropCollections, useMyDrops, useDropMintStatus, useDropInfo, useOnChainDropState,\n} from \"./utils/use-drops.js\";\nexport { usePopCollections, useMyPopEvents, usePopClaimStatus } from \"./utils/use-pop.js\";\nexport { usePlatformStats } from \"./utils/use-platform-stats.js\";\nexport { useTokensByIpType } from \"./utils/use-tokens-by-ip-type.js\";\nexport { usePriceMap, useCoinPrice } from \"./utils/use-coin-price.js\";\nexport {\n useSponsorshipOffers, useSponsorshipOffer, useSponsorshipBids, useSponsorshipProposals,\n useSponsorshipProposal, usePendingProposalsForAsset, useSponsorshipLicenses, useMySponsorshipDealCounts,\n} from \"./utils/use-sponsorship.js\";\nexport {\n predictNextMembershipId, predictNextTicketId, useMyClubCollections, useMyTicketCollections,\n useMembershipList, useTicketList, useMembershipOnchain, useTicketOnchain, useIsMemberOf,\n type TierOnchain, type TierListItem,\n} from \"./utils/use-tiers.js\";\nexport { collectSitemapData, type SitemapData, type SitemapLimits } from \"./utils/sitemap-data.js\";\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var app_wallet_exports = {};
|
|
20
|
+
__export(app_wallet_exports, {
|
|
21
|
+
createAppWallet: () => createAppWallet,
|
|
22
|
+
decodeCredentialId: () => decodeCredentialId,
|
|
23
|
+
stableUserId: () => stableUserId
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(app_wallet_exports);
|
|
26
|
+
var import_starknet = require("@medialane/sdk/starknet");
|
|
27
|
+
const encode = (value) => new TextEncoder().encode(value);
|
|
28
|
+
async function stableUserId(email) {
|
|
29
|
+
return new Uint8Array(await crypto.subtle.digest("SHA-256", encode(email)));
|
|
30
|
+
}
|
|
31
|
+
function decodeCredentialId(id) {
|
|
32
|
+
const binary = atob(id);
|
|
33
|
+
const raw = new Uint8Array(binary.length);
|
|
34
|
+
for (let i = 0; i < binary.length; i++) raw[i] = binary.charCodeAt(i);
|
|
35
|
+
return raw;
|
|
36
|
+
}
|
|
37
|
+
function createAppWallet(config) {
|
|
38
|
+
const ownerStore = (0, import_starknet.createOwnerStore)({ storeKey: config.storeKey, changeEvent: config.changeEvent });
|
|
39
|
+
const passkeyOwner = (0, import_starknet.createPasskeyOwner)({
|
|
40
|
+
appName: config.appName,
|
|
41
|
+
relyingPartyName: config.appName,
|
|
42
|
+
relyingPartyId: config.relyingPartyId,
|
|
43
|
+
prfSalt: encode(config.prfSalt),
|
|
44
|
+
hkdfInfo: encode(config.hkdfInfo),
|
|
45
|
+
passkeyUser: async () => {
|
|
46
|
+
const email = config.loadAccountEmail();
|
|
47
|
+
if (!email) {
|
|
48
|
+
return {
|
|
49
|
+
id: crypto.getRandomValues(new Uint8Array(16)),
|
|
50
|
+
name: config.appName,
|
|
51
|
+
displayName: config.appName
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return { id: await stableUserId(email), name: email, displayName: email };
|
|
55
|
+
},
|
|
56
|
+
knownCredentials: () => {
|
|
57
|
+
const id = ownerStore.load()?.credentialId;
|
|
58
|
+
return id ? [{ type: "public-key", id: decodeCredentialId(id) }] : [];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const walletConsent = (0, import_starknet.createSelfFundConsent)(
|
|
62
|
+
(address, calls) => (0, import_starknet.estimateSelfFundedFee)(config.provider(), address, calls)
|
|
63
|
+
);
|
|
64
|
+
const mediaWallet = (0, import_starknet.createMediaWallet)({
|
|
65
|
+
store: ownerStore,
|
|
66
|
+
passkey: passkeyOwner,
|
|
67
|
+
executor: (0, import_starknet.sponsoredExecutor)({
|
|
68
|
+
provider: config.provider,
|
|
69
|
+
proxyUrl: config.sponsoredInvokeUrl ?? "/api/wallet/sponsored-invoke",
|
|
70
|
+
consent: walletConsent
|
|
71
|
+
}),
|
|
72
|
+
provider: config.provider,
|
|
73
|
+
backendUrl: config.backendUrl ?? "/api/proxy",
|
|
74
|
+
deployProxyUrl: config.deployProxyUrl ?? "/api/wallet/deploy-sponsored"
|
|
75
|
+
});
|
|
76
|
+
return { ownerStore, passkeyOwner, walletConsent, mediaWallet };
|
|
77
|
+
}
|
|
78
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
79
|
+
0 && (module.exports = {
|
|
80
|
+
createAppWallet,
|
|
81
|
+
decodeCredentialId,
|
|
82
|
+
stableUserId
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=app-wallet.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/app-wallet.ts"],"sourcesContent":["import {\n createMediaWallet,\n createOwnerStore,\n createPasskeyOwner,\n createSelfFundConsent,\n estimateSelfFundedFee,\n sponsoredExecutor,\n type MediaWalletConfig,\n} from \"@medialane/sdk/starknet\";\n\nexport interface AppWalletConfig {\n appName: string;\n relyingPartyId: () => string;\n storeKey: string;\n changeEvent: string;\n prfSalt: string;\n hkdfInfo: string;\n provider: MediaWalletConfig[\"provider\"];\n loadAccountEmail: () => string | null;\n backendUrl?: string;\n sponsoredInvokeUrl?: string;\n deployProxyUrl?: string;\n}\n\nconst encode = (value: string): Uint8Array<ArrayBuffer> => new TextEncoder().encode(value) as Uint8Array<ArrayBuffer>;\n\nexport async function stableUserId(email: string): Promise<Uint8Array<ArrayBuffer>> {\n return new Uint8Array(await crypto.subtle.digest(\"SHA-256\", encode(email)));\n}\n\nexport function decodeCredentialId(id: string): Uint8Array<ArrayBuffer> {\n const binary = atob(id);\n const raw = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) raw[i] = binary.charCodeAt(i);\n return raw;\n}\n\nexport function createAppWallet(config: AppWalletConfig) {\n const ownerStore = createOwnerStore({ storeKey: config.storeKey, changeEvent: config.changeEvent });\n\n const passkeyOwner = createPasskeyOwner({\n appName: config.appName,\n relyingPartyName: config.appName,\n relyingPartyId: config.relyingPartyId,\n prfSalt: encode(config.prfSalt),\n hkdfInfo: encode(config.hkdfInfo),\n passkeyUser: async () => {\n const email = config.loadAccountEmail();\n if (!email) {\n return {\n id: crypto.getRandomValues(new Uint8Array(16)),\n name: config.appName,\n displayName: config.appName,\n };\n }\n return { id: await stableUserId(email), name: email, displayName: email };\n },\n knownCredentials: () => {\n const id = ownerStore.load()?.credentialId;\n return id ? [{ type: \"public-key\", id: decodeCredentialId(id) }] : [];\n },\n });\n\n const walletConsent = createSelfFundConsent((address, calls) =>\n estimateSelfFundedFee(config.provider(), address, calls),\n );\n\n const mediaWallet = createMediaWallet({\n store: ownerStore,\n passkey: passkeyOwner,\n executor: sponsoredExecutor({\n provider: config.provider,\n proxyUrl: config.sponsoredInvokeUrl ?? \"/api/wallet/sponsored-invoke\",\n consent: walletConsent,\n }),\n provider: config.provider,\n backendUrl: config.backendUrl ?? \"/api/proxy\",\n deployProxyUrl: config.deployProxyUrl ?? \"/api/wallet/deploy-sponsored\",\n });\n\n return { ownerStore, passkeyOwner, walletConsent, mediaWallet };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAQO;AAgBP,MAAM,SAAS,CAAC,UAA2C,IAAI,YAAY,EAAE,OAAO,KAAK;AAEzF,eAAsB,aAAa,OAAiD;AAClF,SAAO,IAAI,WAAW,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,KAAK,CAAC,CAAC;AAC5E;AAEO,SAAS,mBAAmB,IAAqC;AACtE,QAAM,SAAS,KAAK,EAAE;AACtB,QAAM,MAAM,IAAI,WAAW,OAAO,MAAM;AACxC,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,IAAK,KAAI,CAAC,IAAI,OAAO,WAAW,CAAC;AACpE,SAAO;AACT;AAEO,SAAS,gBAAgB,QAAyB;AACvD,QAAM,iBAAa,kCAAiB,EAAE,UAAU,OAAO,UAAU,aAAa,OAAO,YAAY,CAAC;AAElG,QAAM,mBAAe,oCAAmB;AAAA,IACtC,SAAS,OAAO;AAAA,IAChB,kBAAkB,OAAO;AAAA,IACzB,gBAAgB,OAAO;AAAA,IACvB,SAAS,OAAO,OAAO,OAAO;AAAA,IAC9B,UAAU,OAAO,OAAO,QAAQ;AAAA,IAChC,aAAa,YAAY;AACvB,YAAM,QAAQ,OAAO,iBAAiB;AACtC,UAAI,CAAC,OAAO;AACV,eAAO;AAAA,UACL,IAAI,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC;AAAA,UAC7C,MAAM,OAAO;AAAA,UACb,aAAa,OAAO;AAAA,QACtB;AAAA,MACF;AACA,aAAO,EAAE,IAAI,MAAM,aAAa,KAAK,GAAG,MAAM,OAAO,aAAa,MAAM;AAAA,IAC1E;AAAA,IACA,kBAAkB,MAAM;AACtB,YAAM,KAAK,WAAW,KAAK,GAAG;AAC9B,aAAO,KAAK,CAAC,EAAE,MAAM,cAAc,IAAI,mBAAmB,EAAE,EAAE,CAAC,IAAI,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAgB;AAAA,IAAsB,CAAC,SAAS,cACpD,uCAAsB,OAAO,SAAS,GAAG,SAAS,KAAK;AAAA,EACzD;AAEA,QAAM,kBAAc,mCAAkB;AAAA,IACpC,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAU,mCAAkB;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,UAAU,OAAO,sBAAsB;AAAA,MACvC,SAAS;AAAA,IACX,CAAC;AAAA,IACD,UAAU,OAAO;AAAA,IACjB,YAAY,OAAO,cAAc;AAAA,IACjC,gBAAgB,OAAO,kBAAkB;AAAA,EAC3C,CAAC;AAED,SAAO,EAAE,YAAY,cAAc,eAAe,YAAY;AAChE;","names":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as _medialane_sdk_starknet from '@medialane/sdk/starknet';
|
|
2
|
+
import { MediaWalletConfig } from '@medialane/sdk/starknet';
|
|
3
|
+
|
|
4
|
+
interface AppWalletConfig {
|
|
5
|
+
appName: string;
|
|
6
|
+
relyingPartyId: () => string;
|
|
7
|
+
storeKey: string;
|
|
8
|
+
changeEvent: string;
|
|
9
|
+
prfSalt: string;
|
|
10
|
+
hkdfInfo: string;
|
|
11
|
+
provider: MediaWalletConfig["provider"];
|
|
12
|
+
loadAccountEmail: () => string | null;
|
|
13
|
+
backendUrl?: string;
|
|
14
|
+
sponsoredInvokeUrl?: string;
|
|
15
|
+
deployProxyUrl?: string;
|
|
16
|
+
}
|
|
17
|
+
declare function stableUserId(email: string): Promise<Uint8Array<ArrayBuffer>>;
|
|
18
|
+
declare function decodeCredentialId(id: string): Uint8Array<ArrayBuffer>;
|
|
19
|
+
declare function createAppWallet(config: AppWalletConfig): {
|
|
20
|
+
ownerStore: _medialane_sdk_starknet.OwnerStore;
|
|
21
|
+
passkeyOwner: _medialane_sdk_starknet.PasskeyOwner;
|
|
22
|
+
walletConsent: _medialane_sdk_starknet.SelfFundConsent;
|
|
23
|
+
mediaWallet: _medialane_sdk_starknet.MediaWallet;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { type AppWalletConfig, createAppWallet, decodeCredentialId, stableUserId };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as _medialane_sdk_starknet from '@medialane/sdk/starknet';
|
|
2
|
+
import { MediaWalletConfig } from '@medialane/sdk/starknet';
|
|
3
|
+
|
|
4
|
+
interface AppWalletConfig {
|
|
5
|
+
appName: string;
|
|
6
|
+
relyingPartyId: () => string;
|
|
7
|
+
storeKey: string;
|
|
8
|
+
changeEvent: string;
|
|
9
|
+
prfSalt: string;
|
|
10
|
+
hkdfInfo: string;
|
|
11
|
+
provider: MediaWalletConfig["provider"];
|
|
12
|
+
loadAccountEmail: () => string | null;
|
|
13
|
+
backendUrl?: string;
|
|
14
|
+
sponsoredInvokeUrl?: string;
|
|
15
|
+
deployProxyUrl?: string;
|
|
16
|
+
}
|
|
17
|
+
declare function stableUserId(email: string): Promise<Uint8Array<ArrayBuffer>>;
|
|
18
|
+
declare function decodeCredentialId(id: string): Uint8Array<ArrayBuffer>;
|
|
19
|
+
declare function createAppWallet(config: AppWalletConfig): {
|
|
20
|
+
ownerStore: _medialane_sdk_starknet.OwnerStore;
|
|
21
|
+
passkeyOwner: _medialane_sdk_starknet.PasskeyOwner;
|
|
22
|
+
walletConsent: _medialane_sdk_starknet.SelfFundConsent;
|
|
23
|
+
mediaWallet: _medialane_sdk_starknet.MediaWallet;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { type AppWalletConfig, createAppWallet, decodeCredentialId, stableUserId };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createMediaWallet,
|
|
3
|
+
createOwnerStore,
|
|
4
|
+
createPasskeyOwner,
|
|
5
|
+
createSelfFundConsent,
|
|
6
|
+
estimateSelfFundedFee,
|
|
7
|
+
sponsoredExecutor
|
|
8
|
+
} from "@medialane/sdk/starknet";
|
|
9
|
+
const encode = (value) => new TextEncoder().encode(value);
|
|
10
|
+
async function stableUserId(email) {
|
|
11
|
+
return new Uint8Array(await crypto.subtle.digest("SHA-256", encode(email)));
|
|
12
|
+
}
|
|
13
|
+
function decodeCredentialId(id) {
|
|
14
|
+
const binary = atob(id);
|
|
15
|
+
const raw = new Uint8Array(binary.length);
|
|
16
|
+
for (let i = 0; i < binary.length; i++) raw[i] = binary.charCodeAt(i);
|
|
17
|
+
return raw;
|
|
18
|
+
}
|
|
19
|
+
function createAppWallet(config) {
|
|
20
|
+
const ownerStore = createOwnerStore({ storeKey: config.storeKey, changeEvent: config.changeEvent });
|
|
21
|
+
const passkeyOwner = createPasskeyOwner({
|
|
22
|
+
appName: config.appName,
|
|
23
|
+
relyingPartyName: config.appName,
|
|
24
|
+
relyingPartyId: config.relyingPartyId,
|
|
25
|
+
prfSalt: encode(config.prfSalt),
|
|
26
|
+
hkdfInfo: encode(config.hkdfInfo),
|
|
27
|
+
passkeyUser: async () => {
|
|
28
|
+
const email = config.loadAccountEmail();
|
|
29
|
+
if (!email) {
|
|
30
|
+
return {
|
|
31
|
+
id: crypto.getRandomValues(new Uint8Array(16)),
|
|
32
|
+
name: config.appName,
|
|
33
|
+
displayName: config.appName
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return { id: await stableUserId(email), name: email, displayName: email };
|
|
37
|
+
},
|
|
38
|
+
knownCredentials: () => {
|
|
39
|
+
const id = ownerStore.load()?.credentialId;
|
|
40
|
+
return id ? [{ type: "public-key", id: decodeCredentialId(id) }] : [];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
const walletConsent = createSelfFundConsent(
|
|
44
|
+
(address, calls) => estimateSelfFundedFee(config.provider(), address, calls)
|
|
45
|
+
);
|
|
46
|
+
const mediaWallet = createMediaWallet({
|
|
47
|
+
store: ownerStore,
|
|
48
|
+
passkey: passkeyOwner,
|
|
49
|
+
executor: sponsoredExecutor({
|
|
50
|
+
provider: config.provider,
|
|
51
|
+
proxyUrl: config.sponsoredInvokeUrl ?? "/api/wallet/sponsored-invoke",
|
|
52
|
+
consent: walletConsent
|
|
53
|
+
}),
|
|
54
|
+
provider: config.provider,
|
|
55
|
+
backendUrl: config.backendUrl ?? "/api/proxy",
|
|
56
|
+
deployProxyUrl: config.deployProxyUrl ?? "/api/wallet/deploy-sponsored"
|
|
57
|
+
});
|
|
58
|
+
return { ownerStore, passkeyOwner, walletConsent, mediaWallet };
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
createAppWallet,
|
|
62
|
+
decodeCredentialId,
|
|
63
|
+
stableUserId
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=app-wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/app-wallet.ts"],"sourcesContent":["import {\n createMediaWallet,\n createOwnerStore,\n createPasskeyOwner,\n createSelfFundConsent,\n estimateSelfFundedFee,\n sponsoredExecutor,\n type MediaWalletConfig,\n} from \"@medialane/sdk/starknet\";\n\nexport interface AppWalletConfig {\n appName: string;\n relyingPartyId: () => string;\n storeKey: string;\n changeEvent: string;\n prfSalt: string;\n hkdfInfo: string;\n provider: MediaWalletConfig[\"provider\"];\n loadAccountEmail: () => string | null;\n backendUrl?: string;\n sponsoredInvokeUrl?: string;\n deployProxyUrl?: string;\n}\n\nconst encode = (value: string): Uint8Array<ArrayBuffer> => new TextEncoder().encode(value) as Uint8Array<ArrayBuffer>;\n\nexport async function stableUserId(email: string): Promise<Uint8Array<ArrayBuffer>> {\n return new Uint8Array(await crypto.subtle.digest(\"SHA-256\", encode(email)));\n}\n\nexport function decodeCredentialId(id: string): Uint8Array<ArrayBuffer> {\n const binary = atob(id);\n const raw = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) raw[i] = binary.charCodeAt(i);\n return raw;\n}\n\nexport function createAppWallet(config: AppWalletConfig) {\n const ownerStore = createOwnerStore({ storeKey: config.storeKey, changeEvent: config.changeEvent });\n\n const passkeyOwner = createPasskeyOwner({\n appName: config.appName,\n relyingPartyName: config.appName,\n relyingPartyId: config.relyingPartyId,\n prfSalt: encode(config.prfSalt),\n hkdfInfo: encode(config.hkdfInfo),\n passkeyUser: async () => {\n const email = config.loadAccountEmail();\n if (!email) {\n return {\n id: crypto.getRandomValues(new Uint8Array(16)),\n name: config.appName,\n displayName: config.appName,\n };\n }\n return { id: await stableUserId(email), name: email, displayName: email };\n },\n knownCredentials: () => {\n const id = ownerStore.load()?.credentialId;\n return id ? [{ type: \"public-key\", id: decodeCredentialId(id) }] : [];\n },\n });\n\n const walletConsent = createSelfFundConsent((address, calls) =>\n estimateSelfFundedFee(config.provider(), address, calls),\n );\n\n const mediaWallet = createMediaWallet({\n store: ownerStore,\n passkey: passkeyOwner,\n executor: sponsoredExecutor({\n provider: config.provider,\n proxyUrl: config.sponsoredInvokeUrl ?? \"/api/wallet/sponsored-invoke\",\n consent: walletConsent,\n }),\n provider: config.provider,\n backendUrl: config.backendUrl ?? \"/api/proxy\",\n deployProxyUrl: config.deployProxyUrl ?? \"/api/wallet/deploy-sponsored\",\n });\n\n return { ownerStore, passkeyOwner, walletConsent, mediaWallet };\n}\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAgBP,MAAM,SAAS,CAAC,UAA2C,IAAI,YAAY,EAAE,OAAO,KAAK;AAEzF,eAAsB,aAAa,OAAiD;AAClF,SAAO,IAAI,WAAW,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,KAAK,CAAC,CAAC;AAC5E;AAEO,SAAS,mBAAmB,IAAqC;AACtE,QAAM,SAAS,KAAK,EAAE;AACtB,QAAM,MAAM,IAAI,WAAW,OAAO,MAAM;AACxC,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,IAAK,KAAI,CAAC,IAAI,OAAO,WAAW,CAAC;AACpE,SAAO;AACT;AAEO,SAAS,gBAAgB,QAAyB;AACvD,QAAM,aAAa,iBAAiB,EAAE,UAAU,OAAO,UAAU,aAAa,OAAO,YAAY,CAAC;AAElG,QAAM,eAAe,mBAAmB;AAAA,IACtC,SAAS,OAAO;AAAA,IAChB,kBAAkB,OAAO;AAAA,IACzB,gBAAgB,OAAO;AAAA,IACvB,SAAS,OAAO,OAAO,OAAO;AAAA,IAC9B,UAAU,OAAO,OAAO,QAAQ;AAAA,IAChC,aAAa,YAAY;AACvB,YAAM,QAAQ,OAAO,iBAAiB;AACtC,UAAI,CAAC,OAAO;AACV,eAAO;AAAA,UACL,IAAI,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC;AAAA,UAC7C,MAAM,OAAO;AAAA,UACb,aAAa,OAAO;AAAA,QACtB;AAAA,MACF;AACA,aAAO,EAAE,IAAI,MAAM,aAAa,KAAK,GAAG,MAAM,OAAO,aAAa,MAAM;AAAA,IAC1E;AAAA,IACA,kBAAkB,MAAM;AACtB,YAAM,KAAK,WAAW,KAAK,GAAG;AAC9B,aAAO,KAAK,CAAC,EAAE,MAAM,cAAc,IAAI,mBAAmB,EAAE,EAAE,CAAC,IAAI,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,gBAAgB;AAAA,IAAsB,CAAC,SAAS,UACpD,sBAAsB,OAAO,SAAS,GAAG,SAAS,KAAK;AAAA,EACzD;AAEA,QAAM,cAAc,kBAAkB;AAAA,IACpC,OAAO;AAAA,IACP,SAAS;AAAA,IACT,UAAU,kBAAkB;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,UAAU,OAAO,sBAAsB;AAAA,MACvC,SAAS;AAAA,IACX,CAAC;AAAA,IACD,UAAU,OAAO;AAAA,IACjB,YAAY,OAAO,cAAc;AAAA,IACjC,gBAAgB,OAAO,kBAAkB;AAAA,EAC3C,CAAC;AAED,SAAO,EAAE,YAAY,cAAc,eAAe,YAAY;AAChE;","names":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var email_code_exports = {};
|
|
20
|
+
__export(email_code_exports, {
|
|
21
|
+
RESEND_COOLDOWN_SECONDS: () => RESEND_COOLDOWN_SECONDS,
|
|
22
|
+
canResendCode: () => canResendCode,
|
|
23
|
+
canVerifyCode: () => canVerifyCode,
|
|
24
|
+
emailCodeReducer: () => emailCodeReducer,
|
|
25
|
+
initialEmailCodeState: () => initialEmailCodeState
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(email_code_exports);
|
|
28
|
+
const RESEND_COOLDOWN_SECONDS = 60;
|
|
29
|
+
const initialEmailCodeState = { status: "idle", code: "", error: null, cooldown: 0 };
|
|
30
|
+
function emailCodeReducer(state, action) {
|
|
31
|
+
switch (action.type) {
|
|
32
|
+
case "code-changed":
|
|
33
|
+
return { ...state, code: action.code.replace(/\D/g, "").slice(0, 6) };
|
|
34
|
+
case "send-started":
|
|
35
|
+
return { ...state, status: "sending", error: null };
|
|
36
|
+
case "send-succeeded":
|
|
37
|
+
return { ...state, status: "ready", error: null, cooldown: RESEND_COOLDOWN_SECONDS };
|
|
38
|
+
case "send-failed":
|
|
39
|
+
return { ...state, status: "idle", error: action.message };
|
|
40
|
+
case "verify-started":
|
|
41
|
+
return { ...state, status: "verifying", error: null };
|
|
42
|
+
case "verify-failed":
|
|
43
|
+
return { ...state, status: "ready", code: "", error: action.message };
|
|
44
|
+
case "tick":
|
|
45
|
+
return state.cooldown > 0 ? { ...state, cooldown: state.cooldown - 1 } : state;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const canVerifyCode = (state) => state.status === "ready" && state.code.length === 6;
|
|
49
|
+
const canResendCode = (state) => state.cooldown === 0 && state.status !== "sending" && state.status !== "verifying";
|
|
50
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
51
|
+
0 && (module.exports = {
|
|
52
|
+
RESEND_COOLDOWN_SECONDS,
|
|
53
|
+
canResendCode,
|
|
54
|
+
canVerifyCode,
|
|
55
|
+
emailCodeReducer,
|
|
56
|
+
initialEmailCodeState
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=email-code.cjs.map
|