@medialane/ui 0.50.0 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport {\n IP_TYPES, LICENSE_TYPES, GEOGRAPHIC_SCOPES, AI_POLICIES,\n DERIVATIVES_OPTIONS, LICENSE_TRAIT_TYPES,\n} from \"./data/ip.js\";\nexport type { IPType, LicenseType } from \"./data/ip.js\";\nexport {\n IP_TEMPLATES, EMBED_PLATFORM_META, SOCIAL_PLATFORM_META, TEMPLATE_TRAIT_TYPES, DOC_UPLOAD,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate, DocUploadConfig } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.js\";\nexport { AssetLicenseSummary } from \"./components/asset-license-summary.js\";\nexport { AssetMarketsTab } from \"./components/asset-markets-tab.js\";\nexport { ParentAttributionBanner } from \"./components/parent-attribution-banner.js\";\nexport type { ParentBannerProps } from \"./components/parent-attribution-banner.js\";\nexport { AssetMediaColumn, AssetHeaderBlock, AssetOwnerRow, buildEditionStats } from \"./components/asset-top-sections.js\";\nexport type { AssetOwnerRowProps } from \"./components/asset-top-sections.js\";\nexport { AssetCollectionBar } from \"./components/asset-collection-bar.js\";\nexport type { AssetCollectionBarProps, AssetCollectionBarSibling } from \"./components/asset-collection-bar.js\";\nexport { AssetUtilityIcons } from \"./components/asset-utility-icons.js\";\nexport type { AssetUtilityIconsProps } from \"./components/asset-utility-icons.js\";\nexport { AssetMarketplacePanel } from \"./components/asset-marketplace-panel.js\";\nexport type { AssetMarketplacePanelProps, ApiOrderLike } from \"./components/asset-marketplace-panel.js\";\nexport { BRAND } from \"./data/brand.js\";\n\n// ── Components (client-only — all have \"use client\") ─────────────────────────\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 { MedialaneIcon } from \"./components/brand-icon.js\";\nexport type { MedialaneIconProps } from \"./components/brand-icon.js\";\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\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, RarityTier } from \"./components/token-card.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\n// ── Coin discovery (chain-agnostic; price/data/href injected by the app) ─────\nexport {\n coinKind, formatCoinPrice, formatFdv,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinCard, CoinRow, CoinCardSkeleton, type UseCoinPrice, type CoinTileProps } from \"./components/coin-card.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins,\n} from \"./components/coins-explorer.js\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo, timeUntil } from \"./utils/time.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 { ActivityRow } from \"./components/activity-row.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\n// ── v0.3.2 additions ─────────────────────────────────────────────────────────\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\n// ── Launchpad (grouped sections — single page-UI source since 0.8.0) ─────────\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 type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceCategory, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\n// ── v0.5.0 additions ─────────────────────────────────────────────────────────\nexport { NavCommandMenu, useNavCommandMenu } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\n// ── v0.6.0 additions — portfolio subnav + counts ────────────────────────────\nexport { PortfolioSubnav } from \"./components/portfolio-subnav.js\";\nexport type {\n PortfolioSubnavProps,\n PortfolioNavItem,\n PortfolioNavGroup,\n PortfolioBadgeVariant,\n} from \"./components/portfolio-subnav.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\n\n// ── v0.22.0 additions — launchpad/claim form template primitives ─────────────\n// Pure-presentation header + rail shared by every launchpad/claim form. The\n// app supplies its own gate, back button, and form logic. Requires the\n// `.btn-border-animated` class (in @medialane/ui/styles) for the form shell.\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\n// ── v0.23.0 additions — slot-based form shell ────────────────────────────────\n// Pure layout (back slot + header + animated-border compartment + 8/4 bento).\n// No auth/router — the app injects its own gate (around children) + back button.\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\n// Rewards score kit (v0.36.0)\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 { LevelLadder } from \"./components/rewards/level-ladder.js\";\nexport type { LevelLadderProps } from \"./components/rewards/level-ladder.js\";\nexport { XpToastContent } from \"./components/rewards/xp-toast-content.js\";\nexport type { XpToastContentProps } from \"./components/rewards/xp-toast-content.js\";\n\n// ── v0.37.0 additions — infinite-scroll trigger ──────────────────────────────\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\n// ── v0.47.0 additions — community rewards section ────────────────────────────\nexport { CommunityRewardsSection } from \"./components/community-rewards-section.js\";\nexport type { CommunityRewardsSectionProps, CommunityRewardsEntry } from \"./components/community-rewards-section.js\";\n\n// ── Design system primitives — action-focus pattern, tokens, data display ────\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\n\nexport { Aurora } from \"./components/aurora.js\";\nexport type { AuroraProps } from \"./components/aurora.js\";\n\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n"],"mappings":"AACA,SAAS,UAAU;AACnB,SAAS,oBAAoB,yBAAyB;AACtD,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAG/B,SAAS,cAAc,wBAAwB;AAE/C;AAAA,EACE;AAAA,EAAU;AAAA,EAAe;AAAA,EAAmB;AAAA,EAC5C;AAAA,EAAqB;AAAA,OAChB;AAEP;AAAA,EACE;AAAA,EAAc;AAAA,EAAqB;AAAA,EAAsB;AAAA,EAAsB;AAAA,OAC1E;AAEP,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,SAAS,+BAA+B;AAExC,SAAS,kBAAkB,kBAAkB,eAAe,yBAAyB;AAErF,SAAS,0BAA0B;AAEnC,SAAS,yBAAyB;AAElC,SAAS,6BAA6B;AAEtC,SAAS,aAAa;AAGtB,SAAS,cAAc,sBAAsB;AAG7C,SAAS,aAAa,gBAAgB,mBAAmB;AAGzD,SAAS,sBAAsB;AAG/B,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAIlC,SAAS,YAAY,QAAQ,SAAS,aAAa,cAAc,QAAQ,gBAAgB;AACzF,SAAS,qBAAqB;AAE9B,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;AAE5B,SAAS,gBAAgB,8BAA8B;AAEvD,SAAS,WAAW,yBAAyB;AAE7C,SAAS,WAAW,yBAAyB;AAG7C;AAAA,EACE;AAAA,EAAU;AAAA,EAAiB;AAAA,OAEtB;AACP,SAAS,UAAU,SAAS,wBAA+D;AAC3F;AAAA,EACE;AAAA,OAEK;AAGP,SAAS,SAAS,iBAAiB;AACnC,SAAS,sBAAsB,oBAAoB;AAEnD,SAAS,YAAY,0BAA0B;AAE/C,SAAS,sBAAsB;AAE/B,SAAS,aAAa,2BAA2B;AAEjD,SAAS,mBAAmB;AAE5B,SAAS,yBAAyB;AAElC,SAAS,mBAAmB;AAI5B,SAAS,oBAAoB;AAE7B,SAAS,kBAAkB,gCAAgC;AAE3D,SAAS,gCAAgC;AAEzC,SAAS,6BAA6B;AAEtC,SAAS,qBAAqB,6BAA6B;AAE3D,SAAS,cAAc,sBAAsB,yBAAyB;AAItE,SAAS,0BAA0B,sBAAsB,cAAc,0BAA0B;AACjG,SAAS,0BAA0B;AAEnC,SAAS,sBAAsB;AAG/B,SAAS,+BAA+B,gCAAgC;AAIxE,SAAS,gBAAgB,yBAAyB;AAIlD,SAAS,uBAAuB;AAOhC,SAAS,6BAA6B;AAOtC,SAAS,qBAAqB;AAE9B,SAAS,iBAAiB;AAM1B,SAAS,wBAAwB;AAEjC,SAAS,eAAe;AAIxB,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAE3B,SAAS,wBAAwB;AAEjC,SAAS,kBAAkB,yBAAyB;AAEpD,SAAS,mBAAmB;AAE5B,SAAS,sBAAsB;AAI/B,SAAS,wBAAwB;AAIjC,SAAS,+BAA+B;AAIxC,SAAS,oBAAoB;AAG7B,SAAS,cAAc;AAGvB,SAAS,YAAY,mBAAmB;AAGxC,SAAS,UAAU,gBAAgB;AAGnC,SAAS,oBAAoB;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport {\n IP_TYPES, LICENSE_TYPES, GEOGRAPHIC_SCOPES, AI_POLICIES,\n DERIVATIVES_OPTIONS, LICENSE_TRAIT_TYPES,\n} from \"./data/ip.js\";\nexport type { IPType, LicenseType } from \"./data/ip.js\";\nexport {\n IP_TEMPLATES, EMBED_PLATFORM_META, SOCIAL_PLATFORM_META, TEMPLATE_TRAIT_TYPES, DOC_UPLOAD,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate, DocUploadConfig } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.js\";\nexport { AssetLicenseSummary } from \"./components/asset-license-summary.js\";\nexport { AssetMarketsTab } from \"./components/asset-markets-tab.js\";\nexport { ParentAttributionBanner } from \"./components/parent-attribution-banner.js\";\nexport type { ParentBannerProps } from \"./components/parent-attribution-banner.js\";\nexport { AssetMediaColumn, AssetHeaderBlock, AssetOwnerRow, buildEditionStats } from \"./components/asset-top-sections.js\";\nexport type { AssetOwnerRowProps } from \"./components/asset-top-sections.js\";\nexport { AssetCollectionBar } from \"./components/asset-collection-bar.js\";\nexport type { AssetCollectionBarProps, AssetCollectionBarSibling } from \"./components/asset-collection-bar.js\";\nexport { AssetUtilityIcons } from \"./components/asset-utility-icons.js\";\nexport type { AssetUtilityIconsProps } from \"./components/asset-utility-icons.js\";\nexport { AssetMarketplacePanel } from \"./components/asset-marketplace-panel.js\";\nexport type { AssetMarketplacePanelProps, ApiOrderLike } from \"./components/asset-marketplace-panel.js\";\nexport { BRAND } from \"./data/brand.js\";\n\n// ── Components (client-only — all have \"use client\") ─────────────────────────\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 { MedialaneIcon } from \"./components/brand-icon.js\";\nexport type { MedialaneIconProps } from \"./components/brand-icon.js\";\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\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, RarityTier } from \"./components/token-card.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\n// ── Coin discovery (chain-agnostic; price/data/href injected by the app) ─────\nexport {\n coinKind, formatCoinPrice, formatFdv,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinCard, CoinRow, CoinCardSkeleton, type UseCoinPrice, type CoinTileProps } from \"./components/coin-card.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins,\n} from \"./components/coins-explorer.js\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo, timeUntil } from \"./utils/time.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 { ActivityRow } from \"./components/activity-row.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\n// ── v0.3.2 additions ─────────────────────────────────────────────────────────\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\n// ── Launchpad (grouped sections — single page-UI source since 0.8.0) ─────────\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 type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceCategory, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\n// ── v0.5.0 additions ─────────────────────────────────────────────────────────\nexport { NavCommandMenu, useNavCommandMenu } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\n// ── v0.6.0 additions — portfolio subnav + counts ────────────────────────────\nexport { PortfolioSubnav } from \"./components/portfolio-subnav.js\";\nexport type {\n PortfolioSubnavProps,\n PortfolioNavItem,\n PortfolioNavGroup,\n PortfolioBadgeVariant,\n} from \"./components/portfolio-subnav.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\n\n// ── v0.22.0 additions — launchpad/claim form template primitives ─────────────\n// Pure-presentation header + rail shared by every launchpad/claim form. The\n// app supplies its own gate, back button, and form logic. Requires the\n// `.btn-border-animated` class (in @medialane/ui/styles) for the form shell.\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\n// ── v0.23.0 additions — slot-based form shell ────────────────────────────────\n// Pure layout (back slot + header + animated-border compartment + 8/4 bento).\n// No auth/router — the app injects its own gate (around children) + back button.\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\n// Rewards score kit (v0.36.0)\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 { LevelLadder } from \"./components/rewards/level-ladder.js\";\nexport type { LevelLadderProps } from \"./components/rewards/level-ladder.js\";\nexport { XpToastContent } from \"./components/rewards/xp-toast-content.js\";\nexport type { XpToastContentProps } from \"./components/rewards/xp-toast-content.js\";\n\n// ── v0.37.0 additions — infinite-scroll trigger ──────────────────────────────\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\n// ── v0.47.0 additions — community rewards section ────────────────────────────\nexport { CommunityRewardsSection } from \"./components/community-rewards-section.js\";\nexport type { CommunityRewardsSectionProps, CommunityRewardsEntry } from \"./components/community-rewards-section.js\";\n\n// ── Design system primitives — action-focus pattern, tokens, data display ────\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\n\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n"],"mappings":"AACA,SAAS,UAAU;AACnB,SAAS,oBAAoB,yBAAyB;AACtD,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAG/B,SAAS,cAAc,wBAAwB;AAE/C;AAAA,EACE;AAAA,EAAU;AAAA,EAAe;AAAA,EAAmB;AAAA,EAC5C;AAAA,EAAqB;AAAA,OAChB;AAEP;AAAA,EACE;AAAA,EAAc;AAAA,EAAqB;AAAA,EAAsB;AAAA,EAAsB;AAAA,OAC1E;AAEP,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,SAAS,+BAA+B;AAExC,SAAS,kBAAkB,kBAAkB,eAAe,yBAAyB;AAErF,SAAS,0BAA0B;AAEnC,SAAS,yBAAyB;AAElC,SAAS,6BAA6B;AAEtC,SAAS,aAAa;AAGtB,SAAS,cAAc,sBAAsB;AAG7C,SAAS,aAAa,gBAAgB,mBAAmB;AAGzD,SAAS,sBAAsB;AAG/B,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAIlC,SAAS,YAAY,QAAQ,SAAS,aAAa,cAAc,QAAQ,gBAAgB;AACzF,SAAS,qBAAqB;AAE9B,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;AAE5B,SAAS,gBAAgB,8BAA8B;AAEvD,SAAS,WAAW,yBAAyB;AAE7C,SAAS,WAAW,yBAAyB;AAG7C;AAAA,EACE;AAAA,EAAU;AAAA,EAAiB;AAAA,OAEtB;AACP,SAAS,UAAU,SAAS,wBAA+D;AAC3F;AAAA,EACE;AAAA,OAEK;AAGP,SAAS,SAAS,iBAAiB;AACnC,SAAS,sBAAsB,oBAAoB;AAEnD,SAAS,YAAY,0BAA0B;AAE/C,SAAS,sBAAsB;AAE/B,SAAS,aAAa,2BAA2B;AAEjD,SAAS,mBAAmB;AAE5B,SAAS,yBAAyB;AAElC,SAAS,mBAAmB;AAI5B,SAAS,oBAAoB;AAE7B,SAAS,kBAAkB,gCAAgC;AAE3D,SAAS,gCAAgC;AAEzC,SAAS,6BAA6B;AAEtC,SAAS,qBAAqB,6BAA6B;AAE3D,SAAS,cAAc,sBAAsB,yBAAyB;AAItE,SAAS,0BAA0B,sBAAsB,cAAc,0BAA0B;AACjG,SAAS,0BAA0B;AAEnC,SAAS,sBAAsB;AAG/B,SAAS,+BAA+B,gCAAgC;AAIxE,SAAS,gBAAgB,yBAAyB;AAIlD,SAAS,uBAAuB;AAOhC,SAAS,6BAA6B;AAOtC,SAAS,qBAAqB;AAE9B,SAAS,iBAAiB;AAM1B,SAAS,wBAAwB;AAEjC,SAAS,eAAe;AAIxB,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAE3B,SAAS,wBAAwB;AAEjC,SAAS,kBAAkB,yBAAyB;AAEpD,SAAS,mBAAmB;AAE5B,SAAS,sBAAsB;AAI/B,SAAS,wBAAwB;AAIjC,SAAS,+BAA+B;AAIxC,SAAS,oBAAoB;AAG7B,SAAS,YAAY,mBAAmB;AAGxC,SAAS,UAAU,gBAAgB;AAGnC,SAAS,oBAAoB;","names":[]}
@@ -84,16 +84,6 @@
84
84
  color: hsl(var(--primary));
85
85
  }
86
86
 
87
- /* ── Aurora blobs ─────────────────────────────────────────────────────── */
88
- .aurora-purple { position: absolute; border-radius: 9999px; background: #8a5cf6; filter: blur(100px); opacity: 0.07; }
89
- .aurora-blue { position: absolute; border-radius: 9999px; background: #3b7bff; filter: blur(120px); opacity: 0.06; }
90
- .aurora-rose { position: absolute; border-radius: 9999px; background: #f6608f; filter: blur(100px); opacity: 0.05; }
91
- .aurora-orange { position: absolute; border-radius: 9999px; background: #fb8b46; filter: blur(110px); opacity: 0.04; }
92
- .dark .aurora-purple { opacity: 0.15; }
93
- .dark .aurora-blue { opacity: 0.11; }
94
- .dark .aurora-rose { opacity: 0.09; }
95
- .dark .aurora-orange { opacity: 0.07; }
96
-
97
87
  /* Navigation canvas */
98
88
  .nav-canvas-overlay {
99
89
  position: fixed;
@@ -102,14 +92,6 @@
102
92
  backdrop-filter: blur(48px) saturate(1.5);
103
93
  -webkit-backdrop-filter: blur(48px) saturate(1.5);
104
94
  }
105
- .nav-canvas-aurora {
106
- position: fixed;
107
- inset: 0;
108
- z-index: 99;
109
- pointer-events: none;
110
- overflow: hidden;
111
- }
112
-
113
95
  /* ── Card primitives ──────────────────────────────────────────────────── */
114
96
  .card-base {
115
97
  border-radius: calc(var(--radius) * 1.25);
@@ -143,14 +125,6 @@
143
125
  0%, 100% { transform: translateY(0px); }
144
126
  50% { transform: translateY(-10px); }
145
127
  }
146
- @keyframes blob-pulse {
147
- 0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.07; }
148
- 50% { transform: scale(1.15) rotate(10deg); opacity: 0.14; }
149
- }
150
- @keyframes blob-pulse-slow {
151
- 0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.05; }
152
- 50% { transform: scale(1.2) rotate(-8deg); opacity: 0.11; }
153
- }
154
128
  @keyframes shimmer {
155
129
  0% { background-position: -200% 0; }
156
130
  100% { background-position: 200% 0; }
@@ -179,8 +153,6 @@
179
153
 
180
154
  /* ── Animation utilities ──────────────────────────────────────────────── */
181
155
  .animate-float { animation: float 5s ease-in-out infinite; }
182
- .animate-blob { animation: blob-pulse 7s ease-in-out infinite; }
183
- .animate-blob-slow { animation: blob-pulse-slow 9s ease-in-out infinite 2s; }
184
156
  .animate-pulse-glow { animation: pulse-glow 2s ease-in-out infinite; }
185
157
  .animate-spin-slow { animation: spin-slow 24s linear infinite; }
186
158
  .animate-sparkle { animation: pulse-glow 2.5s ease-in-out infinite; }
@@ -188,9 +160,8 @@
188
160
 
189
161
  /* ── Reduced motion ───────────────────────────────────────────────────── */
190
162
  @media (prefers-reduced-motion: reduce) {
191
- .animate-float, .animate-blob, .animate-blob-slow,
192
- .animate-pulse-glow, .animate-spin-slow, .animate-sparkle,
193
- .animate-kenburns { animation: none; }
163
+ .animate-float, .animate-pulse-glow, .animate-spin-slow,
164
+ .animate-sparkle, .animate-kenburns { animation: none; }
194
165
  }
195
166
 
196
167
  /* ── Input spinners (price inputs use custom suffix) ──────────────────── */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medialane/ui",
3
- "version": "0.50.0",
3
+ "version": "0.50.1",
4
4
  "description": "Shared UI components for Medialane apps",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,86 +0,0 @@
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 aurora_exports = {};
20
- __export(aurora_exports, {
21
- Aurora: () => Aurora
22
- });
23
- module.exports = __toCommonJS(aurora_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- const DARK_BLOBS = [
26
- "radial-gradient(38% 50% at 22% 42%, rgba(59,123,255,0.85), transparent 70%)",
27
- "radial-gradient(40% 52% at 74% 30%, rgba(138,92,246,0.80), transparent 70%)",
28
- "radial-gradient(42% 48% at 64% 82%, rgba(246,96,143,0.70), transparent 70%)",
29
- "radial-gradient(34% 40% at 30% 88%, rgba(251,139,70,0.55), transparent 70%)",
30
- "radial-gradient(30% 38% at 88% 70%, rgba(91,76,230,0.40), transparent 70%)"
31
- ];
32
- const LIGHT_BLOBS = [
33
- "radial-gradient(40% 52% at 20% 38%, rgba(59,123,255,0.55), transparent 70%)",
34
- "radial-gradient(42% 52% at 76% 28%, rgba(138,92,246,0.48), transparent 70%)",
35
- "radial-gradient(44% 50% at 66% 84%, rgba(246,96,143,0.42), transparent 70%)",
36
- "radial-gradient(34% 40% at 28% 86%, rgba(251,139,70,0.40), transparent 70%)"
37
- ];
38
- function Aurora({ mode = "dark", children, height = 900, className, style }) {
39
- const isDark = mode === "dark";
40
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
41
- "div",
42
- {
43
- className,
44
- style: {
45
- position: "relative",
46
- width: "100%",
47
- height,
48
- overflow: "hidden",
49
- background: isDark ? "#06070f" : "#eef1f8",
50
- isolation: "isolate",
51
- ...style
52
- },
53
- children: [
54
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
55
- "div",
56
- {
57
- "aria-hidden": "true",
58
- style: {
59
- position: "absolute",
60
- inset: "-15%",
61
- filter: "blur(90px) saturate(150%)",
62
- backgroundImage: (isDark ? DARK_BLOBS : LIGHT_BLOBS).join(", ")
63
- }
64
- }
65
- ),
66
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
67
- "div",
68
- {
69
- "aria-hidden": "true",
70
- style: {
71
- position: "absolute",
72
- inset: 0,
73
- background: isDark ? "radial-gradient(ellipse at center, transparent 28%, rgba(6,7,15,0.62) 100%)" : "radial-gradient(ellipse at center, transparent 35%, rgba(238,241,248,0.5) 100%)"
74
- }
75
- }
76
- ),
77
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { position: "relative", height: "100%" }, children })
78
- ]
79
- }
80
- );
81
- }
82
- // Annotate the CommonJS export names for ESM import in node:
83
- 0 && (module.exports = {
84
- Aurora
85
- });
86
- //# sourceMappingURL=aurora.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/aurora.tsx"],"sourcesContent":["// Oversaturated, heavily-blurred aurora backdrop — the signature action-focus surface.\n// CSS-driven only; no 3D or mouse-reactive effects (no mobile story, too heavy).\n\nexport interface AuroraProps {\n /** Dark uses deep navy base; light uses off-white. */\n mode?: 'dark' | 'light';\n children?: React.ReactNode;\n height?: number | string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst DARK_BLOBS = [\n 'radial-gradient(38% 50% at 22% 42%, rgba(59,123,255,0.85), transparent 70%)',\n 'radial-gradient(40% 52% at 74% 30%, rgba(138,92,246,0.80), transparent 70%)',\n 'radial-gradient(42% 48% at 64% 82%, rgba(246,96,143,0.70), transparent 70%)',\n 'radial-gradient(34% 40% at 30% 88%, rgba(251,139,70,0.55), transparent 70%)',\n 'radial-gradient(30% 38% at 88% 70%, rgba(91,76,230,0.40), transparent 70%)',\n];\n\nconst LIGHT_BLOBS = [\n 'radial-gradient(40% 52% at 20% 38%, rgba(59,123,255,0.55), transparent 70%)',\n 'radial-gradient(42% 52% at 76% 28%, rgba(138,92,246,0.48), transparent 70%)',\n 'radial-gradient(44% 50% at 66% 84%, rgba(246,96,143,0.42), transparent 70%)',\n 'radial-gradient(34% 40% at 28% 86%, rgba(251,139,70,0.40), transparent 70%)',\n];\n\nexport function Aurora({ mode = 'dark', children, height = 900, className, style }: AuroraProps) {\n const isDark = mode === 'dark';\n return (\n <div\n className={className}\n style={{\n position: 'relative',\n width: '100%',\n height,\n overflow: 'hidden',\n background: isDark ? '#06070f' : '#eef1f8',\n isolation: 'isolate',\n ...style,\n }}\n >\n {/* Blurred blobs */}\n <div\n aria-hidden=\"true\"\n style={{\n position: 'absolute',\n inset: '-15%',\n filter: 'blur(90px) saturate(150%)',\n backgroundImage: (isDark ? DARK_BLOBS : LIGHT_BLOBS).join(', '),\n }}\n />\n {/* Vignette */}\n <div\n aria-hidden=\"true\"\n style={{\n position: 'absolute',\n inset: 0,\n background: isDark\n ? 'radial-gradient(ellipse at center, transparent 28%, rgba(6,7,15,0.62) 100%)'\n : 'radial-gradient(ellipse at center, transparent 35%, rgba(238,241,248,0.5) 100%)',\n }}\n />\n <div style={{ position: 'relative', height: '100%' }}>{children}</div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BI;AAlBJ,MAAM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,cAAc;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,OAAO,EAAE,OAAO,QAAQ,UAAU,SAAS,KAAK,WAAW,MAAM,GAAgB;AAC/F,QAAM,SAAS,SAAS;AACxB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,QACL,UAAU;AAAA,QACV,OAAO;AAAA,QACP;AAAA,QACA,UAAU;AAAA,QACV,YAAY,SAAS,YAAY;AAAA,QACjC,WAAW;AAAA,QACX,GAAG;AAAA,MACL;AAAA,MAGA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,eAAY;AAAA,YACZ,OAAO;AAAA,cACL,UAAU;AAAA,cACV,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,kBAAkB,SAAS,aAAa,aAAa,KAAK,IAAI;AAAA,YAChE;AAAA;AAAA,QACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,eAAY;AAAA,YACZ,OAAO;AAAA,cACL,UAAU;AAAA,cACV,OAAO;AAAA,cACP,YAAY,SACR,gFACA;AAAA,YACN;AAAA;AAAA,QACF;AAAA,QACA,4CAAC,SAAI,OAAO,EAAE,UAAU,YAAY,QAAQ,OAAO,GAAI,UAAS;AAAA;AAAA;AAAA,EAClE;AAEJ;","names":[]}
@@ -1,13 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
-
3
- interface AuroraProps {
4
- /** Dark uses deep navy base; light uses off-white. */
5
- mode?: 'dark' | 'light';
6
- children?: React.ReactNode;
7
- height?: number | string;
8
- className?: string;
9
- style?: React.CSSProperties;
10
- }
11
- declare function Aurora({ mode, children, height, className, style }: AuroraProps): react_jsx_runtime.JSX.Element;
12
-
13
- export { Aurora, type AuroraProps };
@@ -1,13 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
-
3
- interface AuroraProps {
4
- /** Dark uses deep navy base; light uses off-white. */
5
- mode?: 'dark' | 'light';
6
- children?: React.ReactNode;
7
- height?: number | string;
8
- className?: string;
9
- style?: React.CSSProperties;
10
- }
11
- declare function Aurora({ mode, children, height, className, style }: AuroraProps): react_jsx_runtime.JSX.Element;
12
-
13
- export { Aurora, type AuroraProps };
@@ -1,62 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- const DARK_BLOBS = [
3
- "radial-gradient(38% 50% at 22% 42%, rgba(59,123,255,0.85), transparent 70%)",
4
- "radial-gradient(40% 52% at 74% 30%, rgba(138,92,246,0.80), transparent 70%)",
5
- "radial-gradient(42% 48% at 64% 82%, rgba(246,96,143,0.70), transparent 70%)",
6
- "radial-gradient(34% 40% at 30% 88%, rgba(251,139,70,0.55), transparent 70%)",
7
- "radial-gradient(30% 38% at 88% 70%, rgba(91,76,230,0.40), transparent 70%)"
8
- ];
9
- const LIGHT_BLOBS = [
10
- "radial-gradient(40% 52% at 20% 38%, rgba(59,123,255,0.55), transparent 70%)",
11
- "radial-gradient(42% 52% at 76% 28%, rgba(138,92,246,0.48), transparent 70%)",
12
- "radial-gradient(44% 50% at 66% 84%, rgba(246,96,143,0.42), transparent 70%)",
13
- "radial-gradient(34% 40% at 28% 86%, rgba(251,139,70,0.40), transparent 70%)"
14
- ];
15
- function Aurora({ mode = "dark", children, height = 900, className, style }) {
16
- const isDark = mode === "dark";
17
- return /* @__PURE__ */ jsxs(
18
- "div",
19
- {
20
- className,
21
- style: {
22
- position: "relative",
23
- width: "100%",
24
- height,
25
- overflow: "hidden",
26
- background: isDark ? "#06070f" : "#eef1f8",
27
- isolation: "isolate",
28
- ...style
29
- },
30
- children: [
31
- /* @__PURE__ */ jsx(
32
- "div",
33
- {
34
- "aria-hidden": "true",
35
- style: {
36
- position: "absolute",
37
- inset: "-15%",
38
- filter: "blur(90px) saturate(150%)",
39
- backgroundImage: (isDark ? DARK_BLOBS : LIGHT_BLOBS).join(", ")
40
- }
41
- }
42
- ),
43
- /* @__PURE__ */ jsx(
44
- "div",
45
- {
46
- "aria-hidden": "true",
47
- style: {
48
- position: "absolute",
49
- inset: 0,
50
- background: isDark ? "radial-gradient(ellipse at center, transparent 28%, rgba(6,7,15,0.62) 100%)" : "radial-gradient(ellipse at center, transparent 35%, rgba(238,241,248,0.5) 100%)"
51
- }
52
- }
53
- ),
54
- /* @__PURE__ */ jsx("div", { style: { position: "relative", height: "100%" }, children })
55
- ]
56
- }
57
- );
58
- }
59
- export {
60
- Aurora
61
- };
62
- //# sourceMappingURL=aurora.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/aurora.tsx"],"sourcesContent":["// Oversaturated, heavily-blurred aurora backdrop — the signature action-focus surface.\n// CSS-driven only; no 3D or mouse-reactive effects (no mobile story, too heavy).\n\nexport interface AuroraProps {\n /** Dark uses deep navy base; light uses off-white. */\n mode?: 'dark' | 'light';\n children?: React.ReactNode;\n height?: number | string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst DARK_BLOBS = [\n 'radial-gradient(38% 50% at 22% 42%, rgba(59,123,255,0.85), transparent 70%)',\n 'radial-gradient(40% 52% at 74% 30%, rgba(138,92,246,0.80), transparent 70%)',\n 'radial-gradient(42% 48% at 64% 82%, rgba(246,96,143,0.70), transparent 70%)',\n 'radial-gradient(34% 40% at 30% 88%, rgba(251,139,70,0.55), transparent 70%)',\n 'radial-gradient(30% 38% at 88% 70%, rgba(91,76,230,0.40), transparent 70%)',\n];\n\nconst LIGHT_BLOBS = [\n 'radial-gradient(40% 52% at 20% 38%, rgba(59,123,255,0.55), transparent 70%)',\n 'radial-gradient(42% 52% at 76% 28%, rgba(138,92,246,0.48), transparent 70%)',\n 'radial-gradient(44% 50% at 66% 84%, rgba(246,96,143,0.42), transparent 70%)',\n 'radial-gradient(34% 40% at 28% 86%, rgba(251,139,70,0.40), transparent 70%)',\n];\n\nexport function Aurora({ mode = 'dark', children, height = 900, className, style }: AuroraProps) {\n const isDark = mode === 'dark';\n return (\n <div\n className={className}\n style={{\n position: 'relative',\n width: '100%',\n height,\n overflow: 'hidden',\n background: isDark ? '#06070f' : '#eef1f8',\n isolation: 'isolate',\n ...style,\n }}\n >\n {/* Blurred blobs */}\n <div\n aria-hidden=\"true\"\n style={{\n position: 'absolute',\n inset: '-15%',\n filter: 'blur(90px) saturate(150%)',\n backgroundImage: (isDark ? DARK_BLOBS : LIGHT_BLOBS).join(', '),\n }}\n />\n {/* Vignette */}\n <div\n aria-hidden=\"true\"\n style={{\n position: 'absolute',\n inset: 0,\n background: isDark\n ? 'radial-gradient(ellipse at center, transparent 28%, rgba(6,7,15,0.62) 100%)'\n : 'radial-gradient(ellipse at center, transparent 35%, rgba(238,241,248,0.5) 100%)',\n }}\n />\n <div style={{ position: 'relative', height: '100%' }}>{children}</div>\n </div>\n );\n}\n"],"mappings":"AA8BI,SAaE,KAbF;AAlBJ,MAAM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,cAAc;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,OAAO,EAAE,OAAO,QAAQ,UAAU,SAAS,KAAK,WAAW,MAAM,GAAgB;AAC/F,QAAM,SAAS,SAAS;AACxB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,QACL,UAAU;AAAA,QACV,OAAO;AAAA,QACP;AAAA,QACA,UAAU;AAAA,QACV,YAAY,SAAS,YAAY;AAAA,QACjC,WAAW;AAAA,QACX,GAAG;AAAA,MACL;AAAA,MAGA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,eAAY;AAAA,YACZ,OAAO;AAAA,cACL,UAAU;AAAA,cACV,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,kBAAkB,SAAS,aAAa,aAAa,KAAK,IAAI;AAAA,YAChE;AAAA;AAAA,QACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,eAAY;AAAA,YACZ,OAAO;AAAA,cACL,UAAU;AAAA,cACV,OAAO;AAAA,cACP,YAAY,SACR,gFACA;AAAA,YACN;AAAA;AAAA,QACF;AAAA,QACA,oBAAC,SAAI,OAAO,EAAE,UAAU,YAAY,QAAQ,OAAO,GAAI,UAAS;AAAA;AAAA;AAAA,EAClE;AAEJ;","names":[]}