@medialane/ui 0.164.1 → 0.165.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.
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
5
5
  declare const buttonVariants: (props?: ({
6
- variant?: "ghost" | "link" | "default" | "destructive" | "outline" | "secondary" | "premium" | "tonal" | "gradient-border" | "gradient-fill" | null | undefined;
6
+ variant?: "link" | "default" | "destructive" | "outline" | "ghost" | "secondary" | "premium" | "tonal" | "gradient-border" | "gradient-fill" | null | undefined;
7
7
  size?: "icon" | "default" | "sm" | "lg" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
5
5
  declare const buttonVariants: (props?: ({
6
- variant?: "ghost" | "link" | "default" | "destructive" | "outline" | "secondary" | "premium" | "tonal" | "gradient-border" | "gradient-fill" | null | undefined;
6
+ variant?: "link" | "default" | "destructive" | "outline" | "ghost" | "secondary" | "premium" | "tonal" | "gradient-border" | "gradient-fill" | null | undefined;
7
7
  size?: "icon" | "default" | "sm" | "lg" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
package/dist/index.cjs CHANGED
@@ -154,6 +154,7 @@ __export(index_exports, {
154
154
  FormMessage: () => import_form.FormMessage,
155
155
  GATED_CONTENT_TYPES: () => import_gated_content_types.GATED_CONTENT_TYPES,
156
156
  GATED_CONTENT_TYPE_FALLBACK: () => import_gated_content_types.GATED_CONTENT_TYPE_FALLBACK,
157
+ GENERIC: () => import_describe_error.GENERIC,
157
158
  GEOGRAPHIC_SCOPES: () => import_ip.GEOGRAPHIC_SCOPES,
158
159
  GradientButton: () => import_gradient_button.GradientButton,
159
160
  HelpIcon: () => import_help_icon.HelpIcon,
@@ -205,9 +206,11 @@ __export(index_exports, {
205
206
  MedialaneCollectionCard: () => import_medialane_collection_card.MedialaneCollectionCard,
206
207
  MedialaneLogoFull: () => import_brand_logo.MedialaneLogoFull,
207
208
  MotionCard: () => import_motion_primitives.MotionCard,
209
+ NETWORK_BUSY: () => import_describe_error.NETWORK_BUSY,
208
210
  NOTIFICATION_COLOR: () => import_notification_meta.NOTIFICATION_COLOR,
209
211
  NOTIFICATION_ICON: () => import_notification_meta.NOTIFICATION_ICON,
210
212
  NOTIFICATION_LABEL: () => import_notification_meta.NOTIFICATION_LABEL,
213
+ NOT_SUBMITTED: () => import_describe_error.NOT_SUBMITTED,
211
214
  NavAccountSheet: () => import_nav_shell.NavAccountSheet,
212
215
  NavBrandButton: () => import_nav_shell.NavBrandButton,
213
216
  NavCommandMenu: () => import_nav_command_menu.NavCommandMenu,
@@ -286,6 +289,7 @@ __export(index_exports, {
286
289
  TokenCard: () => import_token_card.TokenCard,
287
290
  TokenCardSkeleton: () => import_token_card.TokenCardSkeleton,
288
291
  TokenGlyph: () => import_token_glyph.TokenGlyph,
292
+ UserFacingError: () => import_describe_error.UserFacingError,
289
293
  WrongNetworkError: () => import_wallet_error.WrongNetworkError,
290
294
  XpEarned: () => import_xp_earned.XpEarned,
291
295
  XpProgress: () => import_xp_progress.XpProgress,
@@ -303,6 +307,7 @@ __export(index_exports, {
303
307
  coinSupply: () => import_coins.coinSupply,
304
308
  createRewardEarned: () => import_reward_earned.createRewardEarned,
305
309
  derivePortfolioCounts: () => import_portfolio_counts.derivePortfolioCounts,
310
+ describeError: () => import_describe_error.describeError,
306
311
  dropCreateSchema: () => import_drop_create_schema.dropCreateSchema,
307
312
  fdvUsd: () => import_coins.fdvUsd,
308
313
  feeLabelFor: () => import_self_fund_consent_dialog.feeLabelFor,
@@ -319,7 +324,6 @@ __export(index_exports, {
319
324
  getDefaultClaimWindow: () => import_launchpad_defaults.getDefaultClaimWindow,
320
325
  getDefaultDropSchedule: () => import_launchpad_defaults.getDefaultDropSchedule,
321
326
  getDropStatus: () => import_drop_status.getDropStatus,
322
- getFriendlyWalletError: () => import_wallet_error.getFriendlyWalletError,
323
327
  getReadIds: () => import_notification_storage.getReadIds,
324
328
  ipfsToHttp: () => import_ipfs.ipfsToHttp,
325
329
  isBareExecuteFailure: () => import_wallet_error.isBareExecuteFailure,
@@ -401,6 +405,7 @@ var import_use_intersection_active = require("./utils/use-intersection-active.js
401
405
  var import_notification_storage = require("./utils/notification-storage.js");
402
406
  var import_license_summary = require("./utils/license-summary.js");
403
407
  var import_wallet_error = require("./utils/wallet-error.js");
408
+ var import_describe_error = require("./utils/describe-error.js");
404
409
  var import_ip_types = require("./data/ip-types.js");
405
410
  var import_ip = require("./data/ip.js");
406
411
  var import_ip_templates = require("./data/ip-templates.js");
@@ -705,6 +710,7 @@ var import_export_key_section = require("./components/wallet/export-key-section.
705
710
  FormMessage,
706
711
  GATED_CONTENT_TYPES,
707
712
  GATED_CONTENT_TYPE_FALLBACK,
713
+ GENERIC,
708
714
  GEOGRAPHIC_SCOPES,
709
715
  GradientButton,
710
716
  HelpIcon,
@@ -756,9 +762,11 @@ var import_export_key_section = require("./components/wallet/export-key-section.
756
762
  MedialaneCollectionCard,
757
763
  MedialaneLogoFull,
758
764
  MotionCard,
765
+ NETWORK_BUSY,
759
766
  NOTIFICATION_COLOR,
760
767
  NOTIFICATION_ICON,
761
768
  NOTIFICATION_LABEL,
769
+ NOT_SUBMITTED,
762
770
  NavAccountSheet,
763
771
  NavBrandButton,
764
772
  NavCommandMenu,
@@ -837,6 +845,7 @@ var import_export_key_section = require("./components/wallet/export-key-section.
837
845
  TokenCard,
838
846
  TokenCardSkeleton,
839
847
  TokenGlyph,
848
+ UserFacingError,
840
849
  WrongNetworkError,
841
850
  XpEarned,
842
851
  XpProgress,
@@ -854,6 +863,7 @@ var import_export_key_section = require("./components/wallet/export-key-section.
854
863
  coinSupply,
855
864
  createRewardEarned,
856
865
  derivePortfolioCounts,
866
+ describeError,
857
867
  dropCreateSchema,
858
868
  fdvUsd,
859
869
  feeLabelFor,
@@ -870,7 +880,6 @@ var import_export_key_section = require("./components/wallet/export-key-section.
870
880
  getDefaultClaimWindow,
871
881
  getDefaultDropSchedule,
872
882
  getDropStatus,
873
- getFriendlyWalletError,
874
883
  getReadIds,
875
884
  ipfsToHttp,
876
885
  isBareExecuteFailure,
@@ -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 getFriendlyWalletError,\n isBareExecuteFailure,\n isUserRejectedRequest,\n isWrongNetwork,\n assertCorrectNetwork,\n WrongNetworkError,\n} from \"./utils/wallet-error.js\";\nexport type { FriendlyWalletError } from \"./utils/wallet-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 { EmailVerificationGate } from \"./components/email-verification-gate.js\";\nexport type { EmailVerificationGateProps } from \"./components/email-verification-gate.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 { apiFetch, ApiError } from \"./utils/api-fetch.js\";\nexport type { ApiFetchConfig, ApiFetchOptions } from \"./utils/api-fetch.js\";\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\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","names":["import_ipfs","import_launchpad_services"]}
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 { EmailVerificationGate } from \"./components/email-verification-gate.js\";\nexport type { EmailVerificationGateProps } from \"./components/email-verification-gate.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 { apiFetch, ApiError } from \"./utils/api-fetch.js\";\nexport type { ApiFetchConfig, ApiFetchOptions } from \"./utils/api-fetch.js\";\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\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","names":["import_ipfs","import_launchpad_services"]}
package/dist/index.d.cts CHANGED
@@ -7,7 +7,8 @@ export { PinAssetMetadataInput, PinnedAsset, SignedUploadKind, UploadedIpfsFile,
7
7
  export { useIntersectionActive } from './utils/use-intersection-active.cjs';
8
8
  export { getReadIds, markRead } from './utils/notification-storage.cjs';
9
9
  export { licenseSummary } from './utils/license-summary.cjs';
10
- export { FriendlyWalletError, WrongNetworkError, assertCorrectNetwork, getFriendlyWalletError, isBareExecuteFailure, isUserRejectedRequest, isWrongNetwork } from './utils/wallet-error.cjs';
10
+ export { WrongNetworkError, assertCorrectNetwork, isBareExecuteFailure, isUserRejectedRequest, isWrongNetwork } from './utils/wallet-error.cjs';
11
+ export { ErrorNotice, GENERIC, NETWORK_BUSY, NOT_SUBMITTED, UserFacingError, describeError } from './utils/describe-error.cjs';
11
12
  export { IP_TYPE_DATA, IP_TYPE_DATA_MAP, IpTypeData } from './data/ip-types.cjs';
12
13
  export { AI_POLICIES, DERIVATIVES_OPTIONS, GEOGRAPHIC_SCOPES, IPType, IP_TYPES, LICENSE_TRAIT_TYPES, LICENSE_TYPES, LicenseType } from './data/ip.cjs';
13
14
  export { DOC_UPLOAD, DocUploadConfig, EMBED_PLATFORM_META, EmbedPlatform, IPTemplate, IP_TEMPLATES, SOCIAL_PLATFORM_META, SocialPlatform, TEMPLATE_TRAIT_TYPES, TraitSuggestion } from './data/ip-templates.cjs';
package/dist/index.d.ts CHANGED
@@ -7,7 +7,8 @@ export { PinAssetMetadataInput, PinnedAsset, SignedUploadKind, UploadedIpfsFile,
7
7
  export { useIntersectionActive } from './utils/use-intersection-active.js';
8
8
  export { getReadIds, markRead } from './utils/notification-storage.js';
9
9
  export { licenseSummary } from './utils/license-summary.js';
10
- export { FriendlyWalletError, WrongNetworkError, assertCorrectNetwork, getFriendlyWalletError, isBareExecuteFailure, isUserRejectedRequest, isWrongNetwork } from './utils/wallet-error.js';
10
+ export { WrongNetworkError, assertCorrectNetwork, isBareExecuteFailure, isUserRejectedRequest, isWrongNetwork } from './utils/wallet-error.js';
11
+ export { ErrorNotice, GENERIC, NETWORK_BUSY, NOT_SUBMITTED, UserFacingError, describeError } from './utils/describe-error.js';
11
12
  export { IP_TYPE_DATA, IP_TYPE_DATA_MAP, IpTypeData } from './data/ip-types.js';
12
13
  export { AI_POLICIES, DERIVATIVES_OPTIONS, GEOGRAPHIC_SCOPES, IPType, IP_TYPES, LICENSE_TRAIT_TYPES, LICENSE_TYPES, LicenseType } from './data/ip.js';
13
14
  export { DOC_UPLOAD, DocUploadConfig, EMBED_PLATFORM_META, EmbedPlatform, IPTemplate, IP_TEMPLATES, SOCIAL_PLATFORM_META, SocialPlatform, TEMPLATE_TRAIT_TYPES, TraitSuggestion } from './data/ip-templates.js';
package/dist/index.js CHANGED
@@ -15,13 +15,19 @@ import { useIntersectionActive } from "./utils/use-intersection-active.js";
15
15
  import { getReadIds, markRead } from "./utils/notification-storage.js";
16
16
  import { licenseSummary } from "./utils/license-summary.js";
17
17
  import {
18
- getFriendlyWalletError,
19
18
  isBareExecuteFailure,
20
19
  isUserRejectedRequest,
21
20
  isWrongNetwork,
22
21
  assertCorrectNetwork,
23
22
  WrongNetworkError
24
23
  } from "./utils/wallet-error.js";
24
+ import {
25
+ describeError,
26
+ UserFacingError,
27
+ NOT_SUBMITTED,
28
+ GENERIC,
29
+ NETWORK_BUSY
30
+ } from "./utils/describe-error.js";
25
31
  import { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from "./data/ip-types.js";
26
32
  import {
27
33
  IP_TYPES,
@@ -456,6 +462,7 @@ export {
456
462
  FormMessage,
457
463
  GATED_CONTENT_TYPES,
458
464
  GATED_CONTENT_TYPE_FALLBACK,
465
+ GENERIC,
459
466
  GEOGRAPHIC_SCOPES,
460
467
  GradientButton,
461
468
  HelpIcon,
@@ -507,9 +514,11 @@ export {
507
514
  MedialaneCollectionCard,
508
515
  MedialaneLogoFull,
509
516
  MotionCard,
517
+ NETWORK_BUSY,
510
518
  NOTIFICATION_COLOR,
511
519
  NOTIFICATION_ICON,
512
520
  NOTIFICATION_LABEL,
521
+ NOT_SUBMITTED,
513
522
  NavAccountSheet,
514
523
  NavBrandButton,
515
524
  NavCommandMenu,
@@ -588,6 +597,7 @@ export {
588
597
  TokenCard,
589
598
  TokenCardSkeleton,
590
599
  TokenGlyph,
600
+ UserFacingError,
591
601
  WrongNetworkError,
592
602
  XpEarned,
593
603
  XpProgress,
@@ -605,6 +615,7 @@ export {
605
615
  coinSupply,
606
616
  createRewardEarned,
607
617
  derivePortfolioCounts,
618
+ describeError,
608
619
  dropCreateSchema,
609
620
  fdvUsd,
610
621
  feeLabelFor,
@@ -621,7 +632,6 @@ export {
621
632
  getDefaultClaimWindow,
622
633
  getDefaultDropSchedule,
623
634
  getDropStatus,
624
- getFriendlyWalletError,
625
635
  getReadIds,
626
636
  ipfsToHttp,
627
637
  isBareExecuteFailure,
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 getFriendlyWalletError,\n isBareExecuteFailure,\n isUserRejectedRequest,\n isWrongNetwork,\n assertCorrectNetwork,\n WrongNetworkError,\n} from \"./utils/wallet-error.js\";\nexport type { FriendlyWalletError } from \"./utils/wallet-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 { EmailVerificationGate } from \"./components/email-verification-gate.js\";\nexport type { EmailVerificationGateProps } from \"./components/email-verification-gate.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 { apiFetch, ApiError } from \"./utils/api-fetch.js\";\nexport type { ApiFetchConfig, ApiFetchOptions } from \"./utils/api-fetch.js\";\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\";\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 { EmailVerificationGate } from \"./components/email-verification-gate.js\";\nexport type { EmailVerificationGateProps } from \"./components/email-verification-gate.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 { apiFetch, ApiError } from \"./utils/api-fetch.js\";\nexport type { ApiFetchConfig, ApiFetchOptions } from \"./utils/api-fetch.js\";\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\";\n"],"mappings":"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","names":[]}
@@ -0,0 +1,130 @@
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 describe_error_exports = {};
20
+ __export(describe_error_exports, {
21
+ GENERIC: () => GENERIC,
22
+ NETWORK_BUSY: () => NETWORK_BUSY,
23
+ NOT_SUBMITTED: () => NOT_SUBMITTED,
24
+ UserFacingError: () => UserFacingError,
25
+ describeError: () => describeError
26
+ });
27
+ module.exports = __toCommonJS(describe_error_exports);
28
+ var import_sdk = require("@medialane/sdk");
29
+ var import_wallet_error = require("./wallet-error.js");
30
+ const NOT_SUBMITTED = "Request not completed. Nothing was submitted.";
31
+ const GENERIC = "Something went wrong. Please try again.";
32
+ const NETWORK_BUSY = "The network is busy right now. Nothing was submitted. Please try again in a moment.";
33
+ class UserFacingError extends Error {
34
+ constructor(message) {
35
+ super(message);
36
+ this.name = "UserFacingError";
37
+ }
38
+ }
39
+ function isTransientStatus(status) {
40
+ return status === 408 || status === 429 || status >= 500;
41
+ }
42
+ function isTransientNetworkError(text) {
43
+ return /-32001|unable to complete request|service unavailable|temporarily unavailable|rate.?limit|too many requests|gateway time-?out|bad gateway|failed to fetch|fetch failed|network ?error|load failed/i.test(
44
+ text
45
+ );
46
+ }
47
+ function describeError(error, fallback) {
48
+ if (error instanceof import_sdk.PasskeyCancelledError) {
49
+ return {
50
+ title: "Request not completed",
51
+ message: NOT_SUBMITTED,
52
+ description: "Your device did not confirm this request. Nothing was submitted. Try again when you are ready.",
53
+ isUserRejection: true
54
+ };
55
+ }
56
+ if ((0, import_wallet_error.isBareExecuteFailure)(error)) {
57
+ return {
58
+ title: "Request not completed",
59
+ message: NOT_SUBMITTED,
60
+ description: "Your wallet didn't complete this request. This usually means you closed or declined it, your wallet needs extra verification (like 2FA) before it can sign, or your wallet hit a temporary network hiccup. Nothing was submitted. Try again in a moment.",
61
+ isUserRejection: true
62
+ };
63
+ }
64
+ if ((0, import_wallet_error.isUserRejectedRequest)(error)) {
65
+ return {
66
+ title: "Request not completed",
67
+ message: NOT_SUBMITTED,
68
+ description: "Your wallet didn't complete this request. You may have closed or declined it, or it may need extra verification before it can sign. Nothing was submitted.",
69
+ isUserRejection: true
70
+ };
71
+ }
72
+ if (error instanceof import_wallet_error.WrongNetworkError) {
73
+ return {
74
+ title: "Wrong network",
75
+ message: "Your wallet is connected to the wrong network. Nothing was submitted.",
76
+ description: "Switch your wallet to Starknet Mainnet, then try again.",
77
+ isUserRejection: false
78
+ };
79
+ }
80
+ if (error instanceof UserFacingError) {
81
+ return { title: "Something went wrong", message: error.message, isUserRejection: false };
82
+ }
83
+ if (error instanceof import_sdk.MedialaneApiError) {
84
+ if (error.isAuthored) {
85
+ return { title: "Something went wrong", message: error.message, isUserRejection: false };
86
+ }
87
+ if (isTransientStatus(error.status)) {
88
+ return { title: "Network busy", message: NETWORK_BUSY, isUserRejection: false };
89
+ }
90
+ return { title: "Something went wrong", message: fallback ?? GENERIC, isUserRejection: false };
91
+ }
92
+ const raw = (0, import_wallet_error.collectErrorText)(error);
93
+ if (isTransientNetworkError(raw)) {
94
+ return { title: "Network busy", message: NETWORK_BUSY, isUserRejection: false };
95
+ }
96
+ const lower = raw.toLowerCase();
97
+ if (lower.includes("insufficient") && /balance|allowance|funds/.test(lower)) {
98
+ return {
99
+ title: "Insufficient balance",
100
+ message: "You don't have enough balance to complete this transaction.",
101
+ isUserRejection: false
102
+ };
103
+ }
104
+ const stack = error instanceof Error && typeof error.stack === "string" ? error.stack.toLowerCase() : "";
105
+ if (lower.includes("validation failure") && (lower.includes("jscontrollererror") || stack.includes("jscontrollererror"))) {
106
+ return {
107
+ title: "Not enough gas",
108
+ message: "Your wallet doesn't have enough STRK (or ETH) to pay for this transaction's gas fee.",
109
+ description: "Add funds to your wallet, then try again.",
110
+ isUserRejection: false
111
+ };
112
+ }
113
+ if (/unknown_error/i.test(raw) || typeof error === "object" && error !== null && error.code === 163) {
114
+ return {
115
+ title: "Something went wrong",
116
+ message: "Your wallet couldn't complete this transaction. Nothing was submitted. Try again, or try a different wallet or device if it keeps happening.",
117
+ isUserRejection: false
118
+ };
119
+ }
120
+ return { title: "Something went wrong", message: fallback ?? GENERIC, isUserRejection: false };
121
+ }
122
+ // Annotate the CommonJS export names for ESM import in node:
123
+ 0 && (module.exports = {
124
+ GENERIC,
125
+ NETWORK_BUSY,
126
+ NOT_SUBMITTED,
127
+ UserFacingError,
128
+ describeError
129
+ });
130
+ //# sourceMappingURL=describe-error.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/describe-error.ts"],"sourcesContent":["import { MedialaneApiError, PasskeyCancelledError } from \"@medialane/sdk\";\nimport {\n WrongNetworkError,\n isBareExecuteFailure,\n isUserRejectedRequest,\n collectErrorText,\n} from \"./wallet-error.js\";\n\nexport const NOT_SUBMITTED = \"Request not completed. Nothing was submitted.\";\nexport const GENERIC = \"Something went wrong. Please try again.\";\nexport const NETWORK_BUSY =\n \"The network is busy right now. Nothing was submitted. Please try again in a moment.\";\n\nexport interface ErrorNotice {\n title: string;\n message: string;\n description?: string;\n isUserRejection: boolean;\n}\n\nexport class UserFacingError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"UserFacingError\";\n }\n}\n\nfunction isTransientStatus(status: number): boolean {\n return status === 408 || status === 429 || status >= 500;\n}\n\nfunction isTransientNetworkError(text: string): boolean {\n return /-32001|unable to complete request|service unavailable|temporarily unavailable|rate.?limit|too many requests|gateway time-?out|bad gateway|failed to fetch|fetch failed|network ?error|load failed/i.test(\n text,\n );\n}\n\nexport function describeError(error: unknown, fallback?: string): ErrorNotice {\n if (error instanceof PasskeyCancelledError) {\n return {\n title: \"Request not completed\",\n message: NOT_SUBMITTED,\n description: \"Your device did not confirm this request. Nothing was submitted. Try again when you are ready.\",\n isUserRejection: true,\n };\n }\n\n if (isBareExecuteFailure(error)) {\n return {\n title: \"Request not completed\",\n message: NOT_SUBMITTED,\n description: \"Your wallet didn't complete this request. This usually means you closed or declined it, your wallet needs extra verification (like 2FA) before it can sign, or your wallet hit a temporary network hiccup. Nothing was submitted. Try again in a moment.\",\n isUserRejection: true,\n };\n }\n\n if (isUserRejectedRequest(error)) {\n return {\n title: \"Request not completed\",\n message: NOT_SUBMITTED,\n description: \"Your wallet didn't complete this request. You may have closed or declined it, or it may need extra verification before it can sign. Nothing was submitted.\",\n isUserRejection: true,\n };\n }\n\n if (error instanceof WrongNetworkError) {\n return {\n title: \"Wrong network\",\n message: \"Your wallet is connected to the wrong network. Nothing was submitted.\",\n description: \"Switch your wallet to Starknet Mainnet, then try again.\",\n isUserRejection: false,\n };\n }\n\n if (error instanceof UserFacingError) {\n return { title: \"Something went wrong\", message: error.message, isUserRejection: false };\n }\n\n if (error instanceof MedialaneApiError) {\n if (error.isAuthored) {\n return { title: \"Something went wrong\", message: error.message, isUserRejection: false };\n }\n if (isTransientStatus(error.status)) {\n return { title: \"Network busy\", message: NETWORK_BUSY, isUserRejection: false };\n }\n return { title: \"Something went wrong\", message: fallback ?? GENERIC, isUserRejection: false };\n }\n\n const raw = collectErrorText(error);\n\n if (isTransientNetworkError(raw)) {\n return { title: \"Network busy\", message: NETWORK_BUSY, isUserRejection: false };\n }\n\n const lower = raw.toLowerCase();\n if (lower.includes(\"insufficient\") && /balance|allowance|funds/.test(lower)) {\n return {\n title: \"Insufficient balance\",\n message: \"You don't have enough balance to complete this transaction.\",\n isUserRejection: false,\n };\n }\n\n const stack = error instanceof Error && typeof error.stack === \"string\" ? error.stack.toLowerCase() : \"\";\n if (lower.includes(\"validation failure\") && (lower.includes(\"jscontrollererror\") || stack.includes(\"jscontrollererror\"))) {\n return {\n title: \"Not enough gas\",\n message: \"Your wallet doesn't have enough STRK (or ETH) to pay for this transaction's gas fee.\",\n description: \"Add funds to your wallet, then try again.\",\n isUserRejection: false,\n };\n }\n\n if (/unknown_error/i.test(raw) || (typeof error === \"object\" && error !== null && (error as { code?: unknown }).code === 163)) {\n return {\n title: \"Something went wrong\",\n message: \"Your wallet couldn't complete this transaction. Nothing was submitted. Try again, or try a different wallet or device if it keeps happening.\",\n isUserRejection: false,\n };\n }\n\n return { title: \"Something went wrong\", message: fallback ?? GENERIC, isUserRejection: false };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAyD;AACzD,0BAKO;AAEA,MAAM,gBAAgB;AACtB,MAAM,UAAU;AAChB,MAAM,eACX;AASK,MAAM,wBAAwB,MAAM;AAAA,EACzC,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AACF;AAEA,SAAS,kBAAkB,QAAyB;AAClD,SAAO,WAAW,OAAO,WAAW,OAAO,UAAU;AACvD;AAEA,SAAS,wBAAwB,MAAuB;AACtD,SAAO,qMAAqM;AAAA,IAC1M;AAAA,EACF;AACF;AAEO,SAAS,cAAc,OAAgB,UAAgC;AAC5E,MAAI,iBAAiB,kCAAuB;AAC1C,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,UAAI,0CAAqB,KAAK,GAAG;AAC/B,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,UAAI,2CAAsB,KAAK,GAAG;AAChC,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,iBAAiB,uCAAmB;AACtC,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,iBAAiB,iBAAiB;AACpC,WAAO,EAAE,OAAO,wBAAwB,SAAS,MAAM,SAAS,iBAAiB,MAAM;AAAA,EACzF;AAEA,MAAI,iBAAiB,8BAAmB;AACtC,QAAI,MAAM,YAAY;AACpB,aAAO,EAAE,OAAO,wBAAwB,SAAS,MAAM,SAAS,iBAAiB,MAAM;AAAA,IACzF;AACA,QAAI,kBAAkB,MAAM,MAAM,GAAG;AACnC,aAAO,EAAE,OAAO,gBAAgB,SAAS,cAAc,iBAAiB,MAAM;AAAA,IAChF;AACA,WAAO,EAAE,OAAO,wBAAwB,SAAS,YAAY,SAAS,iBAAiB,MAAM;AAAA,EAC/F;AAEA,QAAM,UAAM,sCAAiB,KAAK;AAElC,MAAI,wBAAwB,GAAG,GAAG;AAChC,WAAO,EAAE,OAAO,gBAAgB,SAAS,cAAc,iBAAiB,MAAM;AAAA,EAChF;AAEA,QAAM,QAAQ,IAAI,YAAY;AAC9B,MAAI,MAAM,SAAS,cAAc,KAAK,0BAA0B,KAAK,KAAK,GAAG;AAC3E,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,QAAQ,iBAAiB,SAAS,OAAO,MAAM,UAAU,WAAW,MAAM,MAAM,YAAY,IAAI;AACtG,MAAI,MAAM,SAAS,oBAAoB,MAAM,MAAM,SAAS,mBAAmB,KAAK,MAAM,SAAS,mBAAmB,IAAI;AACxH,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,iBAAiB,KAAK,GAAG,KAAM,OAAO,UAAU,YAAY,UAAU,QAAS,MAA6B,SAAS,KAAM;AAC7H,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,wBAAwB,SAAS,YAAY,SAAS,iBAAiB,MAAM;AAC/F;","names":[]}
@@ -0,0 +1,15 @@
1
+ declare const NOT_SUBMITTED = "Request not completed. Nothing was submitted.";
2
+ declare const GENERIC = "Something went wrong. Please try again.";
3
+ declare const NETWORK_BUSY = "The network is busy right now. Nothing was submitted. Please try again in a moment.";
4
+ interface ErrorNotice {
5
+ title: string;
6
+ message: string;
7
+ description?: string;
8
+ isUserRejection: boolean;
9
+ }
10
+ declare class UserFacingError extends Error {
11
+ constructor(message: string);
12
+ }
13
+ declare function describeError(error: unknown, fallback?: string): ErrorNotice;
14
+
15
+ export { type ErrorNotice, GENERIC, NETWORK_BUSY, NOT_SUBMITTED, UserFacingError, describeError };
@@ -0,0 +1,15 @@
1
+ declare const NOT_SUBMITTED = "Request not completed. Nothing was submitted.";
2
+ declare const GENERIC = "Something went wrong. Please try again.";
3
+ declare const NETWORK_BUSY = "The network is busy right now. Nothing was submitted. Please try again in a moment.";
4
+ interface ErrorNotice {
5
+ title: string;
6
+ message: string;
7
+ description?: string;
8
+ isUserRejection: boolean;
9
+ }
10
+ declare class UserFacingError extends Error {
11
+ constructor(message: string);
12
+ }
13
+ declare function describeError(error: unknown, fallback?: string): ErrorNotice;
14
+
15
+ export { type ErrorNotice, GENERIC, NETWORK_BUSY, NOT_SUBMITTED, UserFacingError, describeError };
@@ -0,0 +1,107 @@
1
+ import { MedialaneApiError, PasskeyCancelledError } from "@medialane/sdk";
2
+ import {
3
+ WrongNetworkError,
4
+ isBareExecuteFailure,
5
+ isUserRejectedRequest,
6
+ collectErrorText
7
+ } from "./wallet-error.js";
8
+ const NOT_SUBMITTED = "Request not completed. Nothing was submitted.";
9
+ const GENERIC = "Something went wrong. Please try again.";
10
+ const NETWORK_BUSY = "The network is busy right now. Nothing was submitted. Please try again in a moment.";
11
+ class UserFacingError extends Error {
12
+ constructor(message) {
13
+ super(message);
14
+ this.name = "UserFacingError";
15
+ }
16
+ }
17
+ function isTransientStatus(status) {
18
+ return status === 408 || status === 429 || status >= 500;
19
+ }
20
+ function isTransientNetworkError(text) {
21
+ return /-32001|unable to complete request|service unavailable|temporarily unavailable|rate.?limit|too many requests|gateway time-?out|bad gateway|failed to fetch|fetch failed|network ?error|load failed/i.test(
22
+ text
23
+ );
24
+ }
25
+ function describeError(error, fallback) {
26
+ if (error instanceof PasskeyCancelledError) {
27
+ return {
28
+ title: "Request not completed",
29
+ message: NOT_SUBMITTED,
30
+ description: "Your device did not confirm this request. Nothing was submitted. Try again when you are ready.",
31
+ isUserRejection: true
32
+ };
33
+ }
34
+ if (isBareExecuteFailure(error)) {
35
+ return {
36
+ title: "Request not completed",
37
+ message: NOT_SUBMITTED,
38
+ description: "Your wallet didn't complete this request. This usually means you closed or declined it, your wallet needs extra verification (like 2FA) before it can sign, or your wallet hit a temporary network hiccup. Nothing was submitted. Try again in a moment.",
39
+ isUserRejection: true
40
+ };
41
+ }
42
+ if (isUserRejectedRequest(error)) {
43
+ return {
44
+ title: "Request not completed",
45
+ message: NOT_SUBMITTED,
46
+ description: "Your wallet didn't complete this request. You may have closed or declined it, or it may need extra verification before it can sign. Nothing was submitted.",
47
+ isUserRejection: true
48
+ };
49
+ }
50
+ if (error instanceof WrongNetworkError) {
51
+ return {
52
+ title: "Wrong network",
53
+ message: "Your wallet is connected to the wrong network. Nothing was submitted.",
54
+ description: "Switch your wallet to Starknet Mainnet, then try again.",
55
+ isUserRejection: false
56
+ };
57
+ }
58
+ if (error instanceof UserFacingError) {
59
+ return { title: "Something went wrong", message: error.message, isUserRejection: false };
60
+ }
61
+ if (error instanceof MedialaneApiError) {
62
+ if (error.isAuthored) {
63
+ return { title: "Something went wrong", message: error.message, isUserRejection: false };
64
+ }
65
+ if (isTransientStatus(error.status)) {
66
+ return { title: "Network busy", message: NETWORK_BUSY, isUserRejection: false };
67
+ }
68
+ return { title: "Something went wrong", message: fallback ?? GENERIC, isUserRejection: false };
69
+ }
70
+ const raw = collectErrorText(error);
71
+ if (isTransientNetworkError(raw)) {
72
+ return { title: "Network busy", message: NETWORK_BUSY, isUserRejection: false };
73
+ }
74
+ const lower = raw.toLowerCase();
75
+ if (lower.includes("insufficient") && /balance|allowance|funds/.test(lower)) {
76
+ return {
77
+ title: "Insufficient balance",
78
+ message: "You don't have enough balance to complete this transaction.",
79
+ isUserRejection: false
80
+ };
81
+ }
82
+ const stack = error instanceof Error && typeof error.stack === "string" ? error.stack.toLowerCase() : "";
83
+ if (lower.includes("validation failure") && (lower.includes("jscontrollererror") || stack.includes("jscontrollererror"))) {
84
+ return {
85
+ title: "Not enough gas",
86
+ message: "Your wallet doesn't have enough STRK (or ETH) to pay for this transaction's gas fee.",
87
+ description: "Add funds to your wallet, then try again.",
88
+ isUserRejection: false
89
+ };
90
+ }
91
+ if (/unknown_error/i.test(raw) || typeof error === "object" && error !== null && error.code === 163) {
92
+ return {
93
+ title: "Something went wrong",
94
+ message: "Your wallet couldn't complete this transaction. Nothing was submitted. Try again, or try a different wallet or device if it keeps happening.",
95
+ isUserRejection: false
96
+ };
97
+ }
98
+ return { title: "Something went wrong", message: fallback ?? GENERIC, isUserRejection: false };
99
+ }
100
+ export {
101
+ GENERIC,
102
+ NETWORK_BUSY,
103
+ NOT_SUBMITTED,
104
+ UserFacingError,
105
+ describeError
106
+ };
107
+ //# sourceMappingURL=describe-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/describe-error.ts"],"sourcesContent":["import { MedialaneApiError, PasskeyCancelledError } from \"@medialane/sdk\";\nimport {\n WrongNetworkError,\n isBareExecuteFailure,\n isUserRejectedRequest,\n collectErrorText,\n} from \"./wallet-error.js\";\n\nexport const NOT_SUBMITTED = \"Request not completed. Nothing was submitted.\";\nexport const GENERIC = \"Something went wrong. Please try again.\";\nexport const NETWORK_BUSY =\n \"The network is busy right now. Nothing was submitted. Please try again in a moment.\";\n\nexport interface ErrorNotice {\n title: string;\n message: string;\n description?: string;\n isUserRejection: boolean;\n}\n\nexport class UserFacingError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"UserFacingError\";\n }\n}\n\nfunction isTransientStatus(status: number): boolean {\n return status === 408 || status === 429 || status >= 500;\n}\n\nfunction isTransientNetworkError(text: string): boolean {\n return /-32001|unable to complete request|service unavailable|temporarily unavailable|rate.?limit|too many requests|gateway time-?out|bad gateway|failed to fetch|fetch failed|network ?error|load failed/i.test(\n text,\n );\n}\n\nexport function describeError(error: unknown, fallback?: string): ErrorNotice {\n if (error instanceof PasskeyCancelledError) {\n return {\n title: \"Request not completed\",\n message: NOT_SUBMITTED,\n description: \"Your device did not confirm this request. Nothing was submitted. Try again when you are ready.\",\n isUserRejection: true,\n };\n }\n\n if (isBareExecuteFailure(error)) {\n return {\n title: \"Request not completed\",\n message: NOT_SUBMITTED,\n description: \"Your wallet didn't complete this request. This usually means you closed or declined it, your wallet needs extra verification (like 2FA) before it can sign, or your wallet hit a temporary network hiccup. Nothing was submitted. Try again in a moment.\",\n isUserRejection: true,\n };\n }\n\n if (isUserRejectedRequest(error)) {\n return {\n title: \"Request not completed\",\n message: NOT_SUBMITTED,\n description: \"Your wallet didn't complete this request. You may have closed or declined it, or it may need extra verification before it can sign. Nothing was submitted.\",\n isUserRejection: true,\n };\n }\n\n if (error instanceof WrongNetworkError) {\n return {\n title: \"Wrong network\",\n message: \"Your wallet is connected to the wrong network. Nothing was submitted.\",\n description: \"Switch your wallet to Starknet Mainnet, then try again.\",\n isUserRejection: false,\n };\n }\n\n if (error instanceof UserFacingError) {\n return { title: \"Something went wrong\", message: error.message, isUserRejection: false };\n }\n\n if (error instanceof MedialaneApiError) {\n if (error.isAuthored) {\n return { title: \"Something went wrong\", message: error.message, isUserRejection: false };\n }\n if (isTransientStatus(error.status)) {\n return { title: \"Network busy\", message: NETWORK_BUSY, isUserRejection: false };\n }\n return { title: \"Something went wrong\", message: fallback ?? GENERIC, isUserRejection: false };\n }\n\n const raw = collectErrorText(error);\n\n if (isTransientNetworkError(raw)) {\n return { title: \"Network busy\", message: NETWORK_BUSY, isUserRejection: false };\n }\n\n const lower = raw.toLowerCase();\n if (lower.includes(\"insufficient\") && /balance|allowance|funds/.test(lower)) {\n return {\n title: \"Insufficient balance\",\n message: \"You don't have enough balance to complete this transaction.\",\n isUserRejection: false,\n };\n }\n\n const stack = error instanceof Error && typeof error.stack === \"string\" ? error.stack.toLowerCase() : \"\";\n if (lower.includes(\"validation failure\") && (lower.includes(\"jscontrollererror\") || stack.includes(\"jscontrollererror\"))) {\n return {\n title: \"Not enough gas\",\n message: \"Your wallet doesn't have enough STRK (or ETH) to pay for this transaction's gas fee.\",\n description: \"Add funds to your wallet, then try again.\",\n isUserRejection: false,\n };\n }\n\n if (/unknown_error/i.test(raw) || (typeof error === \"object\" && error !== null && (error as { code?: unknown }).code === 163)) {\n return {\n title: \"Something went wrong\",\n message: \"Your wallet couldn't complete this transaction. Nothing was submitted. Try again, or try a different wallet or device if it keeps happening.\",\n isUserRejection: false,\n };\n }\n\n return { title: \"Something went wrong\", message: fallback ?? GENERIC, isUserRejection: false };\n}\n"],"mappings":"AAAA,SAAS,mBAAmB,6BAA6B;AACzD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,MAAM,gBAAgB;AACtB,MAAM,UAAU;AAChB,MAAM,eACX;AASK,MAAM,wBAAwB,MAAM;AAAA,EACzC,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AACF;AAEA,SAAS,kBAAkB,QAAyB;AAClD,SAAO,WAAW,OAAO,WAAW,OAAO,UAAU;AACvD;AAEA,SAAS,wBAAwB,MAAuB;AACtD,SAAO,qMAAqM;AAAA,IAC1M;AAAA,EACF;AACF;AAEO,SAAS,cAAc,OAAgB,UAAgC;AAC5E,MAAI,iBAAiB,uBAAuB;AAC1C,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,qBAAqB,KAAK,GAAG;AAC/B,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,sBAAsB,KAAK,GAAG;AAChC,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,iBAAiB,mBAAmB;AACtC,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,iBAAiB,iBAAiB;AACpC,WAAO,EAAE,OAAO,wBAAwB,SAAS,MAAM,SAAS,iBAAiB,MAAM;AAAA,EACzF;AAEA,MAAI,iBAAiB,mBAAmB;AACtC,QAAI,MAAM,YAAY;AACpB,aAAO,EAAE,OAAO,wBAAwB,SAAS,MAAM,SAAS,iBAAiB,MAAM;AAAA,IACzF;AACA,QAAI,kBAAkB,MAAM,MAAM,GAAG;AACnC,aAAO,EAAE,OAAO,gBAAgB,SAAS,cAAc,iBAAiB,MAAM;AAAA,IAChF;AACA,WAAO,EAAE,OAAO,wBAAwB,SAAS,YAAY,SAAS,iBAAiB,MAAM;AAAA,EAC/F;AAEA,QAAM,MAAM,iBAAiB,KAAK;AAElC,MAAI,wBAAwB,GAAG,GAAG;AAChC,WAAO,EAAE,OAAO,gBAAgB,SAAS,cAAc,iBAAiB,MAAM;AAAA,EAChF;AAEA,QAAM,QAAQ,IAAI,YAAY;AAC9B,MAAI,MAAM,SAAS,cAAc,KAAK,0BAA0B,KAAK,KAAK,GAAG;AAC3E,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,QAAQ,iBAAiB,SAAS,OAAO,MAAM,UAAU,WAAW,MAAM,MAAM,YAAY,IAAI;AACtG,MAAI,MAAM,SAAS,oBAAoB,MAAM,MAAM,SAAS,mBAAmB,KAAK,MAAM,SAAS,mBAAmB,IAAI;AACxH,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,iBAAiB,KAAK,GAAG,KAAM,OAAO,UAAU,YAAY,UAAU,QAAS,MAA6B,SAAS,KAAM;AAC7H,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS;AAAA,MACT,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,wBAAwB,SAAS,YAAY,SAAS,iBAAiB,MAAM;AAC/F;","names":[]}
@@ -20,7 +20,7 @@ var wallet_error_exports = {};
20
20
  __export(wallet_error_exports, {
21
21
  WrongNetworkError: () => WrongNetworkError,
22
22
  assertCorrectNetwork: () => assertCorrectNetwork,
23
- getFriendlyWalletError: () => getFriendlyWalletError,
23
+ collectErrorText: () => collectErrorText,
24
24
  isBareExecuteFailure: () => isBareExecuteFailure,
25
25
  isUserRejectedRequest: () => isUserRejectedRequest,
26
26
  isWrongNetwork: () => isWrongNetwork
@@ -66,91 +66,11 @@ function isUserRejectedRequest(error) {
66
66
  const text = collectErrorText(error).toLowerCase();
67
67
  return text.includes("user_refused_op") || text.includes("user refused") || text.includes("user rejected") || text.includes("user abort") || text.includes("user denied") || text.includes("request rejected") || text.includes("rejected by user") || text.includes("cancelled") || text.includes("canceled") || isBareExecuteFailure(error);
68
68
  }
69
- function isTransientNetworkError(text) {
70
- return /-32001|unable to complete request|service unavailable|temporarily unavailable|rate.?limit|too many requests|gateway time-?out|bad gateway|failed to fetch|fetch failed|network ?error|load failed|\b50[234]\b|\b429\b/i.test(
71
- text
72
- );
73
- }
74
- function looksTechnical(text) {
75
- return /rpc:|jsonrpc|starknet_call|entry_point_selector|contract_address|fetchendpoint|errorhandler|at async|baseerror|"code"\s*:\s*-?\d|https?:\/\//i.test(
76
- text
77
- ) || text.length > 160;
78
- }
79
- function getFriendlyWalletError(error) {
80
- if (isBareExecuteFailure(error)) {
81
- return {
82
- title: "Request not completed",
83
- message: "Request not completed. Nothing was submitted.",
84
- description: "Your wallet didn't complete this request. This usually means you closed or declined it, your wallet needs extra verification (like 2FA) before it can sign, or your wallet hit a temporary network hiccup. Nothing was submitted. Try again in a moment.",
85
- isUserRejection: true
86
- };
87
- }
88
- if (isUserRejectedRequest(error)) {
89
- return {
90
- title: "Request not completed",
91
- message: "Request not completed. Nothing was submitted.",
92
- description: "Your wallet didn't complete this request. You may have closed or declined it, or your wallet may require extra verification (like 2FA) before it can sign. Check your wallet for details, then try again.",
93
- isUserRejection: true
94
- };
95
- }
96
- if (error instanceof WrongNetworkError) {
97
- return {
98
- title: "Wrong network",
99
- message: "Your wallet is connected to the wrong network. Nothing was submitted.",
100
- description: "Switch your wallet to Starknet Mainnet, then try again.",
101
- isUserRejection: false
102
- };
103
- }
104
- const raw = collectErrorText(error);
105
- if (isTransientNetworkError(raw)) {
106
- return {
107
- title: "Network busy",
108
- message: "The network is busy right now. Nothing was submitted, and your asset is safe. Please try again in a moment.",
109
- isUserRejection: false
110
- };
111
- }
112
- const lower = raw.toLowerCase();
113
- const stack = error instanceof Error && typeof error.stack === "string" ? error.stack.toLowerCase() : "";
114
- if (lower.includes("validation failure") && (lower.includes("jscontrollererror") || stack.includes("jscontrollererror"))) {
115
- return {
116
- title: "Not enough gas",
117
- message: "Your wallet doesn't have enough STRK (or ETH) to pay for this transaction's gas fee.",
118
- description: "Add funds to your wallet, then try again.",
119
- isUserRejection: false
120
- };
121
- }
122
- if (lower.includes("insufficient") && (lower.includes("balance") || lower.includes("allowance") || lower.includes("funds"))) {
123
- return {
124
- title: "Insufficient balance",
125
- message: "You don't have enough balance to complete this transaction.",
126
- isUserRejection: false
127
- };
128
- }
129
- if (/unknown_error/i.test(raw) || typeof error === "object" && error !== null && error.code === 163) {
130
- return {
131
- title: "Something went wrong",
132
- message: "Your wallet couldn't complete this transaction. Nothing was submitted. Try again, or try a different wallet or device if it keeps happening.",
133
- isUserRejection: false
134
- };
135
- }
136
- if (!raw || looksTechnical(raw)) {
137
- return {
138
- title: "Something went wrong",
139
- message: "We couldn't complete that action. Please try again in a moment. If it keeps happening, try a different wallet or refresh the page.",
140
- isUserRejection: false
141
- };
142
- }
143
- return {
144
- title: "Something went wrong",
145
- message: raw,
146
- isUserRejection: false
147
- };
148
- }
149
69
  // Annotate the CommonJS export names for ESM import in node:
150
70
  0 && (module.exports = {
151
71
  WrongNetworkError,
152
72
  assertCorrectNetwork,
153
- getFriendlyWalletError,
73
+ collectErrorText,
154
74
  isBareExecuteFailure,
155
75
  isUserRejectedRequest,
156
76
  isWrongNetwork
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/wallet-error.ts"],"sourcesContent":["export interface FriendlyWalletError {\n title: string;\n message: string;\n description?: string;\n isUserRejection: boolean;\n}\n\nexport class WrongNetworkError extends Error {\n constructor() {\n super(\"Your wallet is connected to the wrong network.\");\n this.name = \"WrongNetworkError\";\n }\n}\n\nexport function isWrongNetwork(\n chainId: bigint | string | undefined,\n expectedChainId: string,\n): boolean {\n return chainId != null && BigInt(chainId).toString() !== expectedChainId;\n}\n\nexport function assertCorrectNetwork(\n chainId: bigint | string | undefined,\n expectedChainId: string,\n): void {\n if (isWrongNetwork(chainId, expectedChainId)) {\n throw new WrongNetworkError();\n }\n}\n\nfunction collectErrorText(error: unknown): string {\n if (!error) return \"\";\n if (typeof error === \"string\") return error;\n if (error instanceof Error) return error.message;\n\n if (typeof error === \"object\") {\n const source = error as Record<string, unknown>;\n const parts: string[] = [];\n\n for (const key of [\"message\", \"name\", \"code\", \"shortMessage\"]) {\n const value = source[key];\n if (value !== undefined) parts.push(String(value));\n }\n\n const messages = source.errorMessages;\n if (messages && typeof messages === \"object\") {\n parts.push(...Object.values(messages).map(String));\n }\n\n return parts.join(\" \");\n }\n\n return String(error);\n}\n\nexport function isBareExecuteFailure(error: unknown): boolean {\n return collectErrorText(error).trim().toLowerCase() === \"execute failed\";\n}\n\nexport function isUserRejectedRequest(error: unknown): boolean {\n const text = collectErrorText(error).toLowerCase();\n return (\n text.includes(\"user_refused_op\") ||\n text.includes(\"user refused\") ||\n text.includes(\"user rejected\") ||\n text.includes(\"user abort\") ||\n text.includes(\"user denied\") ||\n text.includes(\"request rejected\") ||\n text.includes(\"rejected by user\") ||\n text.includes(\"cancelled\") ||\n text.includes(\"canceled\") ||\n isBareExecuteFailure(error)\n );\n}\n\nfunction isTransientNetworkError(text: string): boolean {\n return /-32001|unable to complete request|service unavailable|temporarily unavailable|rate.?limit|too many requests|gateway time-?out|bad gateway|failed to fetch|fetch failed|network ?error|load failed|\\b50[234]\\b|\\b429\\b/i.test(\n text,\n );\n}\n\nfunction looksTechnical(text: string): boolean {\n return (\n /rpc:|jsonrpc|starknet_call|entry_point_selector|contract_address|fetchendpoint|errorhandler|at async|baseerror|\"code\"\\s*:\\s*-?\\d|https?:\\/\\//i.test(\n text,\n ) || text.length > 160\n );\n}\n\nexport function getFriendlyWalletError(error: unknown): FriendlyWalletError {\n\n if (isBareExecuteFailure(error)) {\n return {\n title: \"Request not completed\",\n message: \"Request not completed. Nothing was submitted.\",\n description: \"Your wallet didn't complete this request. This usually means you closed or declined it, your wallet needs extra verification (like 2FA) before it can sign, or your wallet hit a temporary network hiccup. Nothing was submitted. Try again in a moment.\",\n isUserRejection: true,\n };\n }\n\n if (isUserRejectedRequest(error)) {\n\n return {\n title: \"Request not completed\",\n message: \"Request not completed. Nothing was submitted.\",\n description: \"Your wallet didn't complete this request. You may have closed or declined it, or your wallet may require extra verification (like 2FA) before it can sign. Check your wallet for details, then try again.\",\n isUserRejection: true,\n };\n }\n\n if (error instanceof WrongNetworkError) {\n return {\n title: \"Wrong network\",\n message: \"Your wallet is connected to the wrong network. Nothing was submitted.\",\n description: \"Switch your wallet to Starknet Mainnet, then try again.\",\n isUserRejection: false,\n };\n }\n\n const raw = collectErrorText(error);\n\n if (isTransientNetworkError(raw)) {\n return {\n title: \"Network busy\",\n message:\n \"The network is busy right now. Nothing was submitted, and your asset is safe. Please try again in a moment.\",\n isUserRejection: false,\n };\n }\n\n const lower = raw.toLowerCase();\n const stack = error instanceof Error && typeof error.stack === \"string\" ? error.stack.toLowerCase() : \"\";\n if (lower.includes(\"validation failure\") && (lower.includes(\"jscontrollererror\") || stack.includes(\"jscontrollererror\"))) {\n return {\n title: \"Not enough gas\",\n message: \"Your wallet doesn't have enough STRK (or ETH) to pay for this transaction's gas fee.\",\n description: \"Add funds to your wallet, then try again.\",\n isUserRejection: false,\n };\n }\n\n if (lower.includes(\"insufficient\") && (lower.includes(\"balance\") || lower.includes(\"allowance\") || lower.includes(\"funds\"))) {\n return {\n title: \"Insufficient balance\",\n message: \"You don't have enough balance to complete this transaction.\",\n isUserRejection: false,\n };\n }\n\n if (/unknown_error/i.test(raw) || (typeof error === \"object\" && error !== null && (error as { code?: unknown }).code === 163)) {\n return {\n title: \"Something went wrong\",\n message:\n \"Your wallet couldn't complete this transaction. Nothing was submitted. Try again, or try a different wallet or device if it keeps happening.\",\n isUserRejection: false,\n };\n }\n\n if (!raw || looksTechnical(raw)) {\n return {\n title: \"Something went wrong\",\n message:\n \"We couldn't complete that action. Please try again in a moment. If it keeps happening, try a different wallet or refresh the page.\",\n isUserRejection: false,\n };\n }\n\n return {\n title: \"Something went wrong\",\n message: raw,\n isUserRejection: false,\n };\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/utils/wallet-error.ts"],"sourcesContent":["\nexport class WrongNetworkError extends Error {\n constructor() {\n super(\"Your wallet is connected to the wrong network.\");\n this.name = \"WrongNetworkError\";\n }\n}\n\nexport function isWrongNetwork(\n chainId: bigint | string | undefined,\n expectedChainId: string,\n): boolean {\n return chainId != null && BigInt(chainId).toString() !== expectedChainId;\n}\n\nexport function assertCorrectNetwork(\n chainId: bigint | string | undefined,\n expectedChainId: string,\n): void {\n if (isWrongNetwork(chainId, expectedChainId)) {\n throw new WrongNetworkError();\n }\n}\n\nexport function collectErrorText(error: unknown): string {\n if (!error) return \"\";\n if (typeof error === \"string\") return error;\n if (error instanceof Error) return error.message;\n\n if (typeof error === \"object\") {\n const source = error as Record<string, unknown>;\n const parts: string[] = [];\n\n for (const key of [\"message\", \"name\", \"code\", \"shortMessage\"]) {\n const value = source[key];\n if (value !== undefined) parts.push(String(value));\n }\n\n const messages = source.errorMessages;\n if (messages && typeof messages === \"object\") {\n parts.push(...Object.values(messages).map(String));\n }\n\n return parts.join(\" \");\n }\n\n return String(error);\n}\n\nexport function isBareExecuteFailure(error: unknown): boolean {\n return collectErrorText(error).trim().toLowerCase() === \"execute failed\";\n}\n\nexport function isUserRejectedRequest(error: unknown): boolean {\n const text = collectErrorText(error).toLowerCase();\n return (\n text.includes(\"user_refused_op\") ||\n text.includes(\"user refused\") ||\n text.includes(\"user rejected\") ||\n text.includes(\"user abort\") ||\n text.includes(\"user denied\") ||\n text.includes(\"request rejected\") ||\n text.includes(\"rejected by user\") ||\n text.includes(\"cancelled\") ||\n text.includes(\"canceled\") ||\n isBareExecuteFailure(error)\n );\n}\n\n\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,MAAM,0BAA0B,MAAM;AAAA,EAC3C,cAAc;AACZ,UAAM,gDAAgD;AACtD,SAAK,OAAO;AAAA,EACd;AACF;AAEO,SAAS,eACd,SACA,iBACS;AACT,SAAO,WAAW,QAAQ,OAAO,OAAO,EAAE,SAAS,MAAM;AAC3D;AAEO,SAAS,qBACd,SACA,iBACM;AACN,MAAI,eAAe,SAAS,eAAe,GAAG;AAC5C,UAAM,IAAI,kBAAkB;AAAA,EAC9B;AACF;AAEO,SAAS,iBAAiB,OAAwB;AACvD,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,iBAAiB,MAAO,QAAO,MAAM;AAEzC,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,SAAS;AACf,UAAM,QAAkB,CAAC;AAEzB,eAAW,OAAO,CAAC,WAAW,QAAQ,QAAQ,cAAc,GAAG;AAC7D,YAAM,QAAQ,OAAO,GAAG;AACxB,UAAI,UAAU,OAAW,OAAM,KAAK,OAAO,KAAK,CAAC;AAAA,IACnD;AAEA,UAAM,WAAW,OAAO;AACxB,QAAI,YAAY,OAAO,aAAa,UAAU;AAC5C,YAAM,KAAK,GAAG,OAAO,OAAO,QAAQ,EAAE,IAAI,MAAM,CAAC;AAAA,IACnD;AAEA,WAAO,MAAM,KAAK,GAAG;AAAA,EACvB;AAEA,SAAO,OAAO,KAAK;AACrB;AAEO,SAAS,qBAAqB,OAAyB;AAC5D,SAAO,iBAAiB,KAAK,EAAE,KAAK,EAAE,YAAY,MAAM;AAC1D;AAEO,SAAS,sBAAsB,OAAyB;AAC7D,QAAM,OAAO,iBAAiB,KAAK,EAAE,YAAY;AACjD,SACE,KAAK,SAAS,iBAAiB,KAC/B,KAAK,SAAS,cAAc,KAC5B,KAAK,SAAS,eAAe,KAC7B,KAAK,SAAS,YAAY,KAC1B,KAAK,SAAS,aAAa,KAC3B,KAAK,SAAS,kBAAkB,KAChC,KAAK,SAAS,kBAAkB,KAChC,KAAK,SAAS,WAAW,KACzB,KAAK,SAAS,UAAU,KACxB,qBAAqB,KAAK;AAE9B;","names":[]}
@@ -1,16 +1,10 @@
1
- interface FriendlyWalletError {
2
- title: string;
3
- message: string;
4
- description?: string;
5
- isUserRejection: boolean;
6
- }
7
1
  declare class WrongNetworkError extends Error {
8
2
  constructor();
9
3
  }
10
4
  declare function isWrongNetwork(chainId: bigint | string | undefined, expectedChainId: string): boolean;
11
5
  declare function assertCorrectNetwork(chainId: bigint | string | undefined, expectedChainId: string): void;
6
+ declare function collectErrorText(error: unknown): string;
12
7
  declare function isBareExecuteFailure(error: unknown): boolean;
13
8
  declare function isUserRejectedRequest(error: unknown): boolean;
14
- declare function getFriendlyWalletError(error: unknown): FriendlyWalletError;
15
9
 
16
- export { type FriendlyWalletError, WrongNetworkError, assertCorrectNetwork, getFriendlyWalletError, isBareExecuteFailure, isUserRejectedRequest, isWrongNetwork };
10
+ export { WrongNetworkError, assertCorrectNetwork, collectErrorText, isBareExecuteFailure, isUserRejectedRequest, isWrongNetwork };
@@ -1,16 +1,10 @@
1
- interface FriendlyWalletError {
2
- title: string;
3
- message: string;
4
- description?: string;
5
- isUserRejection: boolean;
6
- }
7
1
  declare class WrongNetworkError extends Error {
8
2
  constructor();
9
3
  }
10
4
  declare function isWrongNetwork(chainId: bigint | string | undefined, expectedChainId: string): boolean;
11
5
  declare function assertCorrectNetwork(chainId: bigint | string | undefined, expectedChainId: string): void;
6
+ declare function collectErrorText(error: unknown): string;
12
7
  declare function isBareExecuteFailure(error: unknown): boolean;
13
8
  declare function isUserRejectedRequest(error: unknown): boolean;
14
- declare function getFriendlyWalletError(error: unknown): FriendlyWalletError;
15
9
 
16
- export { type FriendlyWalletError, WrongNetworkError, assertCorrectNetwork, getFriendlyWalletError, isBareExecuteFailure, isUserRejectedRequest, isWrongNetwork };
10
+ export { WrongNetworkError, assertCorrectNetwork, collectErrorText, isBareExecuteFailure, isUserRejectedRequest, isWrongNetwork };
@@ -38,90 +38,10 @@ function isUserRejectedRequest(error) {
38
38
  const text = collectErrorText(error).toLowerCase();
39
39
  return text.includes("user_refused_op") || text.includes("user refused") || text.includes("user rejected") || text.includes("user abort") || text.includes("user denied") || text.includes("request rejected") || text.includes("rejected by user") || text.includes("cancelled") || text.includes("canceled") || isBareExecuteFailure(error);
40
40
  }
41
- function isTransientNetworkError(text) {
42
- return /-32001|unable to complete request|service unavailable|temporarily unavailable|rate.?limit|too many requests|gateway time-?out|bad gateway|failed to fetch|fetch failed|network ?error|load failed|\b50[234]\b|\b429\b/i.test(
43
- text
44
- );
45
- }
46
- function looksTechnical(text) {
47
- return /rpc:|jsonrpc|starknet_call|entry_point_selector|contract_address|fetchendpoint|errorhandler|at async|baseerror|"code"\s*:\s*-?\d|https?:\/\//i.test(
48
- text
49
- ) || text.length > 160;
50
- }
51
- function getFriendlyWalletError(error) {
52
- if (isBareExecuteFailure(error)) {
53
- return {
54
- title: "Request not completed",
55
- message: "Request not completed. Nothing was submitted.",
56
- description: "Your wallet didn't complete this request. This usually means you closed or declined it, your wallet needs extra verification (like 2FA) before it can sign, or your wallet hit a temporary network hiccup. Nothing was submitted. Try again in a moment.",
57
- isUserRejection: true
58
- };
59
- }
60
- if (isUserRejectedRequest(error)) {
61
- return {
62
- title: "Request not completed",
63
- message: "Request not completed. Nothing was submitted.",
64
- description: "Your wallet didn't complete this request. You may have closed or declined it, or your wallet may require extra verification (like 2FA) before it can sign. Check your wallet for details, then try again.",
65
- isUserRejection: true
66
- };
67
- }
68
- if (error instanceof WrongNetworkError) {
69
- return {
70
- title: "Wrong network",
71
- message: "Your wallet is connected to the wrong network. Nothing was submitted.",
72
- description: "Switch your wallet to Starknet Mainnet, then try again.",
73
- isUserRejection: false
74
- };
75
- }
76
- const raw = collectErrorText(error);
77
- if (isTransientNetworkError(raw)) {
78
- return {
79
- title: "Network busy",
80
- message: "The network is busy right now. Nothing was submitted, and your asset is safe. Please try again in a moment.",
81
- isUserRejection: false
82
- };
83
- }
84
- const lower = raw.toLowerCase();
85
- const stack = error instanceof Error && typeof error.stack === "string" ? error.stack.toLowerCase() : "";
86
- if (lower.includes("validation failure") && (lower.includes("jscontrollererror") || stack.includes("jscontrollererror"))) {
87
- return {
88
- title: "Not enough gas",
89
- message: "Your wallet doesn't have enough STRK (or ETH) to pay for this transaction's gas fee.",
90
- description: "Add funds to your wallet, then try again.",
91
- isUserRejection: false
92
- };
93
- }
94
- if (lower.includes("insufficient") && (lower.includes("balance") || lower.includes("allowance") || lower.includes("funds"))) {
95
- return {
96
- title: "Insufficient balance",
97
- message: "You don't have enough balance to complete this transaction.",
98
- isUserRejection: false
99
- };
100
- }
101
- if (/unknown_error/i.test(raw) || typeof error === "object" && error !== null && error.code === 163) {
102
- return {
103
- title: "Something went wrong",
104
- message: "Your wallet couldn't complete this transaction. Nothing was submitted. Try again, or try a different wallet or device if it keeps happening.",
105
- isUserRejection: false
106
- };
107
- }
108
- if (!raw || looksTechnical(raw)) {
109
- return {
110
- title: "Something went wrong",
111
- message: "We couldn't complete that action. Please try again in a moment. If it keeps happening, try a different wallet or refresh the page.",
112
- isUserRejection: false
113
- };
114
- }
115
- return {
116
- title: "Something went wrong",
117
- message: raw,
118
- isUserRejection: false
119
- };
120
- }
121
41
  export {
122
42
  WrongNetworkError,
123
43
  assertCorrectNetwork,
124
- getFriendlyWalletError,
44
+ collectErrorText,
125
45
  isBareExecuteFailure,
126
46
  isUserRejectedRequest,
127
47
  isWrongNetwork
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/wallet-error.ts"],"sourcesContent":["export interface FriendlyWalletError {\n title: string;\n message: string;\n description?: string;\n isUserRejection: boolean;\n}\n\nexport class WrongNetworkError extends Error {\n constructor() {\n super(\"Your wallet is connected to the wrong network.\");\n this.name = \"WrongNetworkError\";\n }\n}\n\nexport function isWrongNetwork(\n chainId: bigint | string | undefined,\n expectedChainId: string,\n): boolean {\n return chainId != null && BigInt(chainId).toString() !== expectedChainId;\n}\n\nexport function assertCorrectNetwork(\n chainId: bigint | string | undefined,\n expectedChainId: string,\n): void {\n if (isWrongNetwork(chainId, expectedChainId)) {\n throw new WrongNetworkError();\n }\n}\n\nfunction collectErrorText(error: unknown): string {\n if (!error) return \"\";\n if (typeof error === \"string\") return error;\n if (error instanceof Error) return error.message;\n\n if (typeof error === \"object\") {\n const source = error as Record<string, unknown>;\n const parts: string[] = [];\n\n for (const key of [\"message\", \"name\", \"code\", \"shortMessage\"]) {\n const value = source[key];\n if (value !== undefined) parts.push(String(value));\n }\n\n const messages = source.errorMessages;\n if (messages && typeof messages === \"object\") {\n parts.push(...Object.values(messages).map(String));\n }\n\n return parts.join(\" \");\n }\n\n return String(error);\n}\n\nexport function isBareExecuteFailure(error: unknown): boolean {\n return collectErrorText(error).trim().toLowerCase() === \"execute failed\";\n}\n\nexport function isUserRejectedRequest(error: unknown): boolean {\n const text = collectErrorText(error).toLowerCase();\n return (\n text.includes(\"user_refused_op\") ||\n text.includes(\"user refused\") ||\n text.includes(\"user rejected\") ||\n text.includes(\"user abort\") ||\n text.includes(\"user denied\") ||\n text.includes(\"request rejected\") ||\n text.includes(\"rejected by user\") ||\n text.includes(\"cancelled\") ||\n text.includes(\"canceled\") ||\n isBareExecuteFailure(error)\n );\n}\n\nfunction isTransientNetworkError(text: string): boolean {\n return /-32001|unable to complete request|service unavailable|temporarily unavailable|rate.?limit|too many requests|gateway time-?out|bad gateway|failed to fetch|fetch failed|network ?error|load failed|\\b50[234]\\b|\\b429\\b/i.test(\n text,\n );\n}\n\nfunction looksTechnical(text: string): boolean {\n return (\n /rpc:|jsonrpc|starknet_call|entry_point_selector|contract_address|fetchendpoint|errorhandler|at async|baseerror|\"code\"\\s*:\\s*-?\\d|https?:\\/\\//i.test(\n text,\n ) || text.length > 160\n );\n}\n\nexport function getFriendlyWalletError(error: unknown): FriendlyWalletError {\n\n if (isBareExecuteFailure(error)) {\n return {\n title: \"Request not completed\",\n message: \"Request not completed. Nothing was submitted.\",\n description: \"Your wallet didn't complete this request. This usually means you closed or declined it, your wallet needs extra verification (like 2FA) before it can sign, or your wallet hit a temporary network hiccup. Nothing was submitted. Try again in a moment.\",\n isUserRejection: true,\n };\n }\n\n if (isUserRejectedRequest(error)) {\n\n return {\n title: \"Request not completed\",\n message: \"Request not completed. Nothing was submitted.\",\n description: \"Your wallet didn't complete this request. You may have closed or declined it, or your wallet may require extra verification (like 2FA) before it can sign. Check your wallet for details, then try again.\",\n isUserRejection: true,\n };\n }\n\n if (error instanceof WrongNetworkError) {\n return {\n title: \"Wrong network\",\n message: \"Your wallet is connected to the wrong network. Nothing was submitted.\",\n description: \"Switch your wallet to Starknet Mainnet, then try again.\",\n isUserRejection: false,\n };\n }\n\n const raw = collectErrorText(error);\n\n if (isTransientNetworkError(raw)) {\n return {\n title: \"Network busy\",\n message:\n \"The network is busy right now. Nothing was submitted, and your asset is safe. Please try again in a moment.\",\n isUserRejection: false,\n };\n }\n\n const lower = raw.toLowerCase();\n const stack = error instanceof Error && typeof error.stack === \"string\" ? error.stack.toLowerCase() : \"\";\n if (lower.includes(\"validation failure\") && (lower.includes(\"jscontrollererror\") || stack.includes(\"jscontrollererror\"))) {\n return {\n title: \"Not enough gas\",\n message: \"Your wallet doesn't have enough STRK (or ETH) to pay for this transaction's gas fee.\",\n description: \"Add funds to your wallet, then try again.\",\n isUserRejection: false,\n };\n }\n\n if (lower.includes(\"insufficient\") && (lower.includes(\"balance\") || lower.includes(\"allowance\") || lower.includes(\"funds\"))) {\n return {\n title: \"Insufficient balance\",\n message: \"You don't have enough balance to complete this transaction.\",\n isUserRejection: false,\n };\n }\n\n if (/unknown_error/i.test(raw) || (typeof error === \"object\" && error !== null && (error as { code?: unknown }).code === 163)) {\n return {\n title: \"Something went wrong\",\n message:\n \"Your wallet couldn't complete this transaction. Nothing was submitted. Try again, or try a different wallet or device if it keeps happening.\",\n isUserRejection: false,\n };\n }\n\n if (!raw || looksTechnical(raw)) {\n return {\n title: \"Something went wrong\",\n message:\n \"We couldn't complete that action. Please try again in a moment. If it keeps happening, try a different wallet or refresh the page.\",\n isUserRejection: false,\n };\n }\n\n return {\n title: \"Something went wrong\",\n message: raw,\n isUserRejection: false,\n };\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/utils/wallet-error.ts"],"sourcesContent":["\nexport class WrongNetworkError extends Error {\n constructor() {\n super(\"Your wallet is connected to the wrong network.\");\n this.name = \"WrongNetworkError\";\n }\n}\n\nexport function isWrongNetwork(\n chainId: bigint | string | undefined,\n expectedChainId: string,\n): boolean {\n return chainId != null && BigInt(chainId).toString() !== expectedChainId;\n}\n\nexport function assertCorrectNetwork(\n chainId: bigint | string | undefined,\n expectedChainId: string,\n): void {\n if (isWrongNetwork(chainId, expectedChainId)) {\n throw new WrongNetworkError();\n }\n}\n\nexport function collectErrorText(error: unknown): string {\n if (!error) return \"\";\n if (typeof error === \"string\") return error;\n if (error instanceof Error) return error.message;\n\n if (typeof error === \"object\") {\n const source = error as Record<string, unknown>;\n const parts: string[] = [];\n\n for (const key of [\"message\", \"name\", \"code\", \"shortMessage\"]) {\n const value = source[key];\n if (value !== undefined) parts.push(String(value));\n }\n\n const messages = source.errorMessages;\n if (messages && typeof messages === \"object\") {\n parts.push(...Object.values(messages).map(String));\n }\n\n return parts.join(\" \");\n }\n\n return String(error);\n}\n\nexport function isBareExecuteFailure(error: unknown): boolean {\n return collectErrorText(error).trim().toLowerCase() === \"execute failed\";\n}\n\nexport function isUserRejectedRequest(error: unknown): boolean {\n const text = collectErrorText(error).toLowerCase();\n return (\n text.includes(\"user_refused_op\") ||\n text.includes(\"user refused\") ||\n text.includes(\"user rejected\") ||\n text.includes(\"user abort\") ||\n text.includes(\"user denied\") ||\n text.includes(\"request rejected\") ||\n text.includes(\"rejected by user\") ||\n text.includes(\"cancelled\") ||\n text.includes(\"canceled\") ||\n isBareExecuteFailure(error)\n );\n}\n\n\n"],"mappings":"AACO,MAAM,0BAA0B,MAAM;AAAA,EAC3C,cAAc;AACZ,UAAM,gDAAgD;AACtD,SAAK,OAAO;AAAA,EACd;AACF;AAEO,SAAS,eACd,SACA,iBACS;AACT,SAAO,WAAW,QAAQ,OAAO,OAAO,EAAE,SAAS,MAAM;AAC3D;AAEO,SAAS,qBACd,SACA,iBACM;AACN,MAAI,eAAe,SAAS,eAAe,GAAG;AAC5C,UAAM,IAAI,kBAAkB;AAAA,EAC9B;AACF;AAEO,SAAS,iBAAiB,OAAwB;AACvD,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,iBAAiB,MAAO,QAAO,MAAM;AAEzC,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,SAAS;AACf,UAAM,QAAkB,CAAC;AAEzB,eAAW,OAAO,CAAC,WAAW,QAAQ,QAAQ,cAAc,GAAG;AAC7D,YAAM,QAAQ,OAAO,GAAG;AACxB,UAAI,UAAU,OAAW,OAAM,KAAK,OAAO,KAAK,CAAC;AAAA,IACnD;AAEA,UAAM,WAAW,OAAO;AACxB,QAAI,YAAY,OAAO,aAAa,UAAU;AAC5C,YAAM,KAAK,GAAG,OAAO,OAAO,QAAQ,EAAE,IAAI,MAAM,CAAC;AAAA,IACnD;AAEA,WAAO,MAAM,KAAK,GAAG;AAAA,EACvB;AAEA,SAAO,OAAO,KAAK;AACrB;AAEO,SAAS,qBAAqB,OAAyB;AAC5D,SAAO,iBAAiB,KAAK,EAAE,KAAK,EAAE,YAAY,MAAM;AAC1D;AAEO,SAAS,sBAAsB,OAAyB;AAC7D,QAAM,OAAO,iBAAiB,KAAK,EAAE,YAAY;AACjD,SACE,KAAK,SAAS,iBAAiB,KAC/B,KAAK,SAAS,cAAc,KAC5B,KAAK,SAAS,eAAe,KAC7B,KAAK,SAAS,YAAY,KAC1B,KAAK,SAAS,aAAa,KAC3B,KAAK,SAAS,kBAAkB,KAChC,KAAK,SAAS,kBAAkB,KAChC,KAAK,SAAS,WAAW,KACzB,KAAK,SAAS,UAAU,KACxB,qBAAqB,KAAK;AAE9B;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medialane/ui",
3
- "version": "0.164.1",
3
+ "version": "0.165.0",
4
4
  "description": "Shared UI components for Medialane apps",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -51,7 +51,7 @@
51
51
  "preview": "vite --config preview/vite.config.ts"
52
52
  },
53
53
  "peerDependencies": {
54
- "@medialane/sdk": ">=0.121.0",
54
+ "@medialane/sdk": ">=0.127.0",
55
55
  "@radix-ui/react-checkbox": ">=1.1.0",
56
56
  "@radix-ui/react-collapsible": ">=1.1.0",
57
57
  "@radix-ui/react-dialog": ">=1.1.0",
@@ -79,7 +79,7 @@
79
79
  "zod": "^3.25.0"
80
80
  },
81
81
  "devDependencies": {
82
- "@medialane/sdk": "0.121.0",
82
+ "@medialane/sdk": "0.127.0",
83
83
  "@radix-ui/react-checkbox": "^1.3.8",
84
84
  "@radix-ui/react-collapsible": "^1.1.17",
85
85
  "@radix-ui/react-dialog": "^1.1.20",