@medialane/ui 0.12.1 → 0.13.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/components/asset-markets-tab.cjs +111 -0
- package/dist/components/asset-markets-tab.cjs.map +1 -0
- package/dist/components/asset-markets-tab.d.cts +16 -0
- package/dist/components/asset-markets-tab.d.ts +16 -0
- package/dist/components/asset-markets-tab.js +87 -0
- package/dist/components/asset-markets-tab.js.map +1 -0
- package/dist/components/asset-overview-content.cjs +102 -0
- package/dist/components/asset-overview-content.cjs.map +1 -0
- package/dist/components/asset-overview-content.d.cts +14 -0
- package/dist/components/asset-overview-content.d.ts +14 -0
- package/dist/components/asset-overview-content.js +78 -0
- package/dist/components/asset-overview-content.js.map +1 -0
- package/dist/components/asset-top-sections.cjs +147 -0
- package/dist/components/asset-top-sections.cjs.map +1 -0
- package/dist/components/asset-top-sections.d.cts +34 -0
- package/dist/components/asset-top-sections.d.ts +34 -0
- package/dist/components/asset-top-sections.js +111 -0
- package/dist/components/asset-top-sections.js.map +1 -0
- package/dist/components/ip-type-display.cjs +201 -0
- package/dist/components/ip-type-display.cjs.map +1 -0
- package/dist/components/ip-type-display.d.cts +12 -0
- package/dist/components/ip-type-display.d.ts +12 -0
- package/dist/components/ip-type-display.js +181 -0
- package/dist/components/ip-type-display.js.map +1 -0
- package/dist/components/parent-attribution-banner.cjs +57 -0
- package/dist/components/parent-attribution-banner.cjs.map +1 -0
- package/dist/components/parent-attribution-banner.d.cts +11 -0
- package/dist/components/parent-attribution-banner.d.ts +11 -0
- package/dist/components/parent-attribution-banner.js +23 -0
- package/dist/components/parent-attribution-banner.js.map +1 -0
- package/dist/data/ip-templates.cjs +206 -0
- package/dist/data/ip-templates.cjs.map +1 -0
- package/dist/data/ip-templates.d.cts +45 -0
- package/dist/data/ip-templates.d.ts +45 -0
- package/dist/data/ip-templates.js +200 -0
- package/dist/data/ip-templates.js.map +1 -0
- package/dist/data/ip.cjs +163 -0
- package/dist/data/ip.cjs.map +1 -0
- package/dist/data/ip.d.cts +18 -0
- package/dist/data/ip.d.ts +18 -0
- package/dist/data/ip.js +134 -0
- package/dist/data/ip.js.map +1 -0
- package/dist/index.cjs +43 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -3
- package/dist/index.d.ts +10 -3
- package/dist/index.js +38 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/time.cjs +15 -2
- package/dist/utils/time.cjs.map +1 -1
- package/dist/utils/time.d.cts +3 -1
- package/dist/utils/time.d.ts +3 -1
- package/dist/utils/time.js +13 -1
- package/dist/utils/time.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -20,28 +20,39 @@ var index_exports = {};
|
|
|
20
20
|
__export(index_exports, {
|
|
21
21
|
ACTIVITY_MESSAGES: () => import_activity_card.ACTIVITY_MESSAGES,
|
|
22
22
|
ACTIVITY_TYPE_CONFIG: () => import_activity.ACTIVITY_TYPE_CONFIG,
|
|
23
|
+
AI_POLICIES: () => import_ip.AI_POLICIES,
|
|
23
24
|
ActivityCard: () => import_activity_card.ActivityCard,
|
|
24
25
|
ActivityCardSkeleton: () => import_activity_card.ActivityCardSkeleton,
|
|
25
26
|
ActivityFeedShell: () => import_activity_feed_shell.ActivityFeedShell,
|
|
26
27
|
ActivityRow: () => import_activity_row.ActivityRow,
|
|
27
28
|
ActivityTicker: () => import_activity_ticker.ActivityTicker,
|
|
28
29
|
AddressDisplay: () => import_address_display.AddressDisplay,
|
|
30
|
+
AssetHeaderBlock: () => import_asset_top_sections.AssetHeaderBlock,
|
|
31
|
+
AssetMarketsTab: () => import_asset_markets_tab.AssetMarketsTab,
|
|
32
|
+
AssetMediaColumn: () => import_asset_top_sections.AssetMediaColumn,
|
|
33
|
+
AssetOverviewContent: () => import_asset_overview_content.AssetOverviewContent,
|
|
29
34
|
BRAND: () => import_brand.BRAND,
|
|
30
35
|
CollectionCard: () => import_collection_card.CollectionCard,
|
|
31
36
|
CollectionCardSkeleton: () => import_collection_card.CollectionCardSkeleton,
|
|
32
37
|
CtaCardGrid: () => import_cta_card_grid.CtaCardGrid,
|
|
33
38
|
CurrencyAmount: () => import_currency_icon.CurrencyAmount,
|
|
34
39
|
CurrencyIcon: () => import_currency_icon.CurrencyIcon,
|
|
40
|
+
DERIVATIVES_OPTIONS: () => import_ip.DERIVATIVES_OPTIONS,
|
|
35
41
|
DiscoverCollectionsStrip: () => import_discover_collections_strip.DiscoverCollectionsStrip,
|
|
36
42
|
DiscoverCreatorsStrip: () => import_discover_creators_strip.DiscoverCreatorsStrip,
|
|
37
43
|
DiscoverFeedSection: () => import_discover_feed_section.DiscoverFeedSection,
|
|
38
44
|
DiscoverHero: () => import_discover_hero.DiscoverHero,
|
|
39
45
|
EASE_OUT: () => import_motion_primitives.EASE_OUT,
|
|
46
|
+
EMBED_PLATFORM_META: () => import_ip_templates.EMBED_PLATFORM_META,
|
|
40
47
|
FadeIn: () => import_motion_primitives.FadeIn,
|
|
41
48
|
FeaturedCarousel: () => import_featured_carousel.FeaturedCarousel,
|
|
42
49
|
FeaturedCarouselSkeleton: () => import_featured_carousel.FeaturedCarouselSkeleton,
|
|
50
|
+
GEOGRAPHIC_SCOPES: () => import_ip.GEOGRAPHIC_SCOPES,
|
|
43
51
|
HeroSlider: () => import_hero_slider.HeroSlider,
|
|
44
52
|
HeroSliderSkeleton: () => import_hero_slider.HeroSliderSkeleton,
|
|
53
|
+
IPTypeDisplay: () => import_ip_type_display.IPTypeDisplay,
|
|
54
|
+
IP_TEMPLATES: () => import_ip_templates.IP_TEMPLATES,
|
|
55
|
+
IP_TYPES: () => import_ip.IP_TYPES,
|
|
45
56
|
IP_TYPE_CONFIG: () => import_ip_type_badge.IP_TYPE_CONFIG,
|
|
46
57
|
IP_TYPE_DATA: () => import_ip_types.IP_TYPE_DATA,
|
|
47
58
|
IP_TYPE_DATA_MAP: () => import_ip_types.IP_TYPE_DATA_MAP,
|
|
@@ -50,6 +61,8 @@ __export(index_exports, {
|
|
|
50
61
|
KineticWords: () => import_motion_primitives.KineticWords,
|
|
51
62
|
LAUNCHPAD_SERVICE_DEFINITIONS: () => import_launchpad_services2.LAUNCHPAD_SERVICE_DEFINITIONS,
|
|
52
63
|
LAUNCHPAD_SERVICE_GROUPS: () => import_launchpad_services2.LAUNCHPAD_SERVICE_GROUPS,
|
|
64
|
+
LICENSE_TRAIT_TYPES: () => import_ip.LICENSE_TRAIT_TYPES,
|
|
65
|
+
LICENSE_TYPES: () => import_ip.LICENSE_TYPES,
|
|
53
66
|
LaunchpadGroupedSections: () => import_launchpad_services.LaunchpadGroupedSections,
|
|
54
67
|
LaunchpadServiceCard: () => import_launchpad_services.LaunchpadServiceCard,
|
|
55
68
|
LaunchpadStrip: () => import_launchpad_strip.LaunchpadStrip,
|
|
@@ -60,22 +73,27 @@ __export(index_exports, {
|
|
|
60
73
|
MotionCard: () => import_motion_primitives.MotionCard,
|
|
61
74
|
NavCommandMenu: () => import_nav_command_menu.NavCommandMenu,
|
|
62
75
|
PageContainer: () => import_page_container.PageContainer,
|
|
76
|
+
ParentAttributionBanner: () => import_parent_attribution_banner.ParentAttributionBanner,
|
|
63
77
|
PortfolioSubnav: () => import_portfolio_subnav.PortfolioSubnav,
|
|
64
78
|
SERVICE_HUES: () => import_launchpad_services.SERVICE_HUES,
|
|
79
|
+
SOCIAL_PLATFORM_META: () => import_ip_templates.SOCIAL_PLATFORM_META,
|
|
65
80
|
SPRING: () => import_motion_primitives.SPRING,
|
|
66
81
|
ScrollSection: () => import_scroll_section.ScrollSection,
|
|
67
82
|
ShareButton: () => import_share_button.ShareButton,
|
|
68
83
|
Stagger: () => import_motion_primitives.Stagger,
|
|
69
84
|
StaggerItem: () => import_motion_primitives.StaggerItem,
|
|
85
|
+
TEMPLATE_TRAIT_TYPES: () => import_ip_templates.TEMPLATE_TRAIT_TYPES,
|
|
70
86
|
TYPE_FILTERS: () => import_activity.TYPE_FILTERS,
|
|
71
87
|
TokenCard: () => import_token_card.TokenCard,
|
|
72
88
|
TokenCardSkeleton: () => import_token_card.TokenCardSkeleton,
|
|
89
|
+
buildEditionStats: () => import_asset_top_sections.buildEditionStats,
|
|
73
90
|
cn: () => import_cn.cn,
|
|
74
91
|
derivePortfolioCounts: () => import_portfolio_counts.derivePortfolioCounts,
|
|
75
92
|
formatDisplayPrice: () => import_format.formatDisplayPrice,
|
|
76
93
|
ipfsToHttp: () => import_ipfs.ipfsToHttp,
|
|
77
94
|
shortenAddress: () => import_address.shortenAddress,
|
|
78
95
|
timeAgo: () => import_time.timeAgo,
|
|
96
|
+
timeUntil: () => import_time.timeUntil,
|
|
79
97
|
useNavCommandMenu: () => import_nav_command_menu.useNavCommandMenu
|
|
80
98
|
});
|
|
81
99
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -84,6 +102,13 @@ var import_format = require("./utils/format.js");
|
|
|
84
102
|
var import_address = require("./utils/address.js");
|
|
85
103
|
var import_ipfs = require("./utils/ipfs.js");
|
|
86
104
|
var import_ip_types = require("./data/ip-types.js");
|
|
105
|
+
var import_ip = require("./data/ip.js");
|
|
106
|
+
var import_ip_templates = require("./data/ip-templates.js");
|
|
107
|
+
var import_ip_type_display = require("./components/ip-type-display.js");
|
|
108
|
+
var import_asset_overview_content = require("./components/asset-overview-content.js");
|
|
109
|
+
var import_asset_markets_tab = require("./components/asset-markets-tab.js");
|
|
110
|
+
var import_parent_attribution_banner = require("./components/parent-attribution-banner.js");
|
|
111
|
+
var import_asset_top_sections = require("./components/asset-top-sections.js");
|
|
87
112
|
var import_brand = require("./data/brand.js");
|
|
88
113
|
var import_currency_icon = require("./components/currency-icon.js");
|
|
89
114
|
var import_ip_type_badge = require("./components/ip-type-badge.js");
|
|
@@ -120,28 +145,39 @@ var import_portfolio_counts = require("./utils/portfolio-counts.js");
|
|
|
120
145
|
0 && (module.exports = {
|
|
121
146
|
ACTIVITY_MESSAGES,
|
|
122
147
|
ACTIVITY_TYPE_CONFIG,
|
|
148
|
+
AI_POLICIES,
|
|
123
149
|
ActivityCard,
|
|
124
150
|
ActivityCardSkeleton,
|
|
125
151
|
ActivityFeedShell,
|
|
126
152
|
ActivityRow,
|
|
127
153
|
ActivityTicker,
|
|
128
154
|
AddressDisplay,
|
|
155
|
+
AssetHeaderBlock,
|
|
156
|
+
AssetMarketsTab,
|
|
157
|
+
AssetMediaColumn,
|
|
158
|
+
AssetOverviewContent,
|
|
129
159
|
BRAND,
|
|
130
160
|
CollectionCard,
|
|
131
161
|
CollectionCardSkeleton,
|
|
132
162
|
CtaCardGrid,
|
|
133
163
|
CurrencyAmount,
|
|
134
164
|
CurrencyIcon,
|
|
165
|
+
DERIVATIVES_OPTIONS,
|
|
135
166
|
DiscoverCollectionsStrip,
|
|
136
167
|
DiscoverCreatorsStrip,
|
|
137
168
|
DiscoverFeedSection,
|
|
138
169
|
DiscoverHero,
|
|
139
170
|
EASE_OUT,
|
|
171
|
+
EMBED_PLATFORM_META,
|
|
140
172
|
FadeIn,
|
|
141
173
|
FeaturedCarousel,
|
|
142
174
|
FeaturedCarouselSkeleton,
|
|
175
|
+
GEOGRAPHIC_SCOPES,
|
|
143
176
|
HeroSlider,
|
|
144
177
|
HeroSliderSkeleton,
|
|
178
|
+
IPTypeDisplay,
|
|
179
|
+
IP_TEMPLATES,
|
|
180
|
+
IP_TYPES,
|
|
145
181
|
IP_TYPE_CONFIG,
|
|
146
182
|
IP_TYPE_DATA,
|
|
147
183
|
IP_TYPE_DATA_MAP,
|
|
@@ -150,6 +186,8 @@ var import_portfolio_counts = require("./utils/portfolio-counts.js");
|
|
|
150
186
|
KineticWords,
|
|
151
187
|
LAUNCHPAD_SERVICE_DEFINITIONS,
|
|
152
188
|
LAUNCHPAD_SERVICE_GROUPS,
|
|
189
|
+
LICENSE_TRAIT_TYPES,
|
|
190
|
+
LICENSE_TYPES,
|
|
153
191
|
LaunchpadGroupedSections,
|
|
154
192
|
LaunchpadServiceCard,
|
|
155
193
|
LaunchpadStrip,
|
|
@@ -160,22 +198,27 @@ var import_portfolio_counts = require("./utils/portfolio-counts.js");
|
|
|
160
198
|
MotionCard,
|
|
161
199
|
NavCommandMenu,
|
|
162
200
|
PageContainer,
|
|
201
|
+
ParentAttributionBanner,
|
|
163
202
|
PortfolioSubnav,
|
|
164
203
|
SERVICE_HUES,
|
|
204
|
+
SOCIAL_PLATFORM_META,
|
|
165
205
|
SPRING,
|
|
166
206
|
ScrollSection,
|
|
167
207
|
ShareButton,
|
|
168
208
|
Stagger,
|
|
169
209
|
StaggerItem,
|
|
210
|
+
TEMPLATE_TRAIT_TYPES,
|
|
170
211
|
TYPE_FILTERS,
|
|
171
212
|
TokenCard,
|
|
172
213
|
TokenCardSkeleton,
|
|
214
|
+
buildEditionStats,
|
|
173
215
|
cn,
|
|
174
216
|
derivePortfolioCounts,
|
|
175
217
|
formatDisplayPrice,
|
|
176
218
|
ipfsToHttp,
|
|
177
219
|
shortenAddress,
|
|
178
220
|
timeAgo,
|
|
221
|
+
timeUntil,
|
|
179
222
|
useNavCommandMenu
|
|
180
223
|
});
|
|
181
224
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.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 { 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\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo } 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 } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps } 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 } from \"./components/launchpad-services.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"],"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;AACA,gBAAmB;AACnB,oBAAmC;AACnC,qBAA+B;AAC/B,kBAA2B;AAG3B,sBAA+C;AAE/C,mBAAsB;AAGtB,2BAA6C;AAG7C,2BAAyD;AAGzD,6BAA+B;AAG/B,wBAA8B;AAE9B,wBAAkC;AAIlC,+BAAyF;AACzF,4BAA8B;AAE9B,4BAA8B;AAE9B,0BAA4B;AAE5B,6BAAuD;AAEvD,wBAA6C;AAI7C,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.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,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.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, buildEditionStats } from \"./components/asset-top-sections.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\";\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 } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps } 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 } from \"./components/launchpad-services.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"],"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;AACA,gBAAmB;AACnB,oBAAmC;AACnC,qBAA+B;AAC/B,kBAA2B;AAG3B,sBAA+C;AAE/C,gBAGO;AAEP,0BAEO;AAEP,6BAA8B;AAC9B,oCAAqC;AACrC,+BAAgC;AAChC,uCAAwC;AAExC,gCAAsE;AACtE,mBAAsB;AAGtB,2BAA6C;AAG7C,2BAAyD;AAGzD,6BAA+B;AAG/B,wBAA8B;AAE9B,wBAAkC;AAIlC,+BAAyF;AACzF,4BAA8B;AAE9B,4BAA8B;AAE9B,0BAA4B;AAE5B,6BAAuD;AAEvD,wBAA6C;AAI7C,kBAAmC;AACnC,sBAAmD;AAEnD,yBAA+C;AAE/C,6BAA+B;AAE/B,0BAAiD;AAEjD,0BAA4B;AAE5B,iCAAkC;AAElC,2BAA4B;AAI5B,2BAA6B;AAE7B,+BAA2D;AAE3D,wCAAyC;AAEzC,qCAAsC;AAEtC,mCAAoC;AAEpC,2BAAsE;AAItE,gCAA6E;AAC7E,6BAA+B;AAG/B,IAAAA,6BAAwE;AAIxE,8BAAkD;AAIlD,8BAAgC;AAOhC,8BAAsC;","names":["import_launchpad_services"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -3,6 +3,13 @@ export { formatDisplayPrice } from './utils/format.cjs';
|
|
|
3
3
|
export { shortenAddress } from './utils/address.cjs';
|
|
4
4
|
export { ipfsToHttp } from './utils/ipfs.cjs';
|
|
5
5
|
export { IP_TYPE_DATA, IP_TYPE_DATA_MAP, IpTypeData } from './data/ip-types.cjs';
|
|
6
|
+
export { AI_POLICIES, DERIVATIVES_OPTIONS, GEOGRAPHIC_SCOPES, IPType, IP_TYPES, LICENSE_TRAIT_TYPES, LICENSE_TYPES, LicenseType } from './data/ip.cjs';
|
|
7
|
+
export { EMBED_PLATFORM_META, EmbedPlatform, IPTemplate, IP_TEMPLATES, SOCIAL_PLATFORM_META, SocialPlatform, TEMPLATE_TRAIT_TYPES, TraitSuggestion } from './data/ip-templates.cjs';
|
|
8
|
+
export { IPTypeDisplay } from './components/ip-type-display.cjs';
|
|
9
|
+
export { AssetOverviewContent } from './components/asset-overview-content.cjs';
|
|
10
|
+
export { AssetMarketsTab } from './components/asset-markets-tab.cjs';
|
|
11
|
+
export { ParentAttributionBanner, ParentBannerProps } from './components/parent-attribution-banner.cjs';
|
|
12
|
+
export { AssetHeaderBlock, AssetMediaColumn, buildEditionStats } from './components/asset-top-sections.cjs';
|
|
6
13
|
export { BRAND } from './data/brand.cjs';
|
|
7
14
|
export { CurrencyAmount, CurrencyAmountProps, CurrencyIcon, CurrencyIconProps } from './components/currency-icon.cjs';
|
|
8
15
|
export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, IpTypeBadgeProps, IpTypeConfig } from './components/ip-type-badge.cjs';
|
|
@@ -15,7 +22,7 @@ export { ScrollSection, ScrollSectionProps } from './components/scroll-section.c
|
|
|
15
22
|
export { ShareButton, ShareButtonProps } from './components/share-button.cjs';
|
|
16
23
|
export { CollectionCard, CollectionCardProps, CollectionCardSkeleton } from './components/collection-card.cjs';
|
|
17
24
|
export { RarityTier, TokenCard, TokenCardProps, TokenCardSkeleton } from './components/token-card.cjs';
|
|
18
|
-
export { timeAgo } from './utils/time.cjs';
|
|
25
|
+
export { timeAgo, timeUntil } from './utils/time.cjs';
|
|
19
26
|
export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.cjs';
|
|
20
27
|
export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.cjs';
|
|
21
28
|
export { ActivityTicker, ActivityTickerProps } from './components/activity-ticker.cjs';
|
|
@@ -36,8 +43,8 @@ export { NavCommand, NavCommandGroup, NavCommandMenu, NavCommandMenuProps, useNa
|
|
|
36
43
|
export { PortfolioBadgeVariant, PortfolioNavGroup, PortfolioNavItem, PortfolioSubnav, PortfolioSubnavProps } from './components/portfolio-subnav.cjs';
|
|
37
44
|
export { CountableOrder, PortfolioCounts, derivePortfolioCounts } from './utils/portfolio-counts.cjs';
|
|
38
45
|
import 'clsx';
|
|
46
|
+
import 'lucide-react';
|
|
39
47
|
import 'react/jsx-runtime';
|
|
48
|
+
import '@medialane/sdk';
|
|
40
49
|
import 'framer-motion';
|
|
41
50
|
import 'react';
|
|
42
|
-
import '@medialane/sdk';
|
|
43
|
-
import 'lucide-react';
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,13 @@ export { formatDisplayPrice } from './utils/format.js';
|
|
|
3
3
|
export { shortenAddress } from './utils/address.js';
|
|
4
4
|
export { ipfsToHttp } from './utils/ipfs.js';
|
|
5
5
|
export { IP_TYPE_DATA, IP_TYPE_DATA_MAP, IpTypeData } from './data/ip-types.js';
|
|
6
|
+
export { AI_POLICIES, DERIVATIVES_OPTIONS, GEOGRAPHIC_SCOPES, IPType, IP_TYPES, LICENSE_TRAIT_TYPES, LICENSE_TYPES, LicenseType } from './data/ip.js';
|
|
7
|
+
export { EMBED_PLATFORM_META, EmbedPlatform, IPTemplate, IP_TEMPLATES, SOCIAL_PLATFORM_META, SocialPlatform, TEMPLATE_TRAIT_TYPES, TraitSuggestion } from './data/ip-templates.js';
|
|
8
|
+
export { IPTypeDisplay } from './components/ip-type-display.js';
|
|
9
|
+
export { AssetOverviewContent } from './components/asset-overview-content.js';
|
|
10
|
+
export { AssetMarketsTab } from './components/asset-markets-tab.js';
|
|
11
|
+
export { ParentAttributionBanner, ParentBannerProps } from './components/parent-attribution-banner.js';
|
|
12
|
+
export { AssetHeaderBlock, AssetMediaColumn, buildEditionStats } from './components/asset-top-sections.js';
|
|
6
13
|
export { BRAND } from './data/brand.js';
|
|
7
14
|
export { CurrencyAmount, CurrencyAmountProps, CurrencyIcon, CurrencyIconProps } from './components/currency-icon.js';
|
|
8
15
|
export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, IpTypeBadgeProps, IpTypeConfig } from './components/ip-type-badge.js';
|
|
@@ -15,7 +22,7 @@ export { ScrollSection, ScrollSectionProps } from './components/scroll-section.j
|
|
|
15
22
|
export { ShareButton, ShareButtonProps } from './components/share-button.js';
|
|
16
23
|
export { CollectionCard, CollectionCardProps, CollectionCardSkeleton } from './components/collection-card.js';
|
|
17
24
|
export { RarityTier, TokenCard, TokenCardProps, TokenCardSkeleton } from './components/token-card.js';
|
|
18
|
-
export { timeAgo } from './utils/time.js';
|
|
25
|
+
export { timeAgo, timeUntil } from './utils/time.js';
|
|
19
26
|
export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.js';
|
|
20
27
|
export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.js';
|
|
21
28
|
export { ActivityTicker, ActivityTickerProps } from './components/activity-ticker.js';
|
|
@@ -36,8 +43,8 @@ export { NavCommand, NavCommandGroup, NavCommandMenu, NavCommandMenuProps, useNa
|
|
|
36
43
|
export { PortfolioBadgeVariant, PortfolioNavGroup, PortfolioNavItem, PortfolioSubnav, PortfolioSubnavProps } from './components/portfolio-subnav.js';
|
|
37
44
|
export { CountableOrder, PortfolioCounts, derivePortfolioCounts } from './utils/portfolio-counts.js';
|
|
38
45
|
import 'clsx';
|
|
46
|
+
import 'lucide-react';
|
|
39
47
|
import 'react/jsx-runtime';
|
|
48
|
+
import '@medialane/sdk';
|
|
40
49
|
import 'framer-motion';
|
|
41
50
|
import 'react';
|
|
42
|
-
import '@medialane/sdk';
|
|
43
|
-
import 'lucide-react';
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,25 @@ import { formatDisplayPrice } from "./utils/format.js";
|
|
|
3
3
|
import { shortenAddress } from "./utils/address.js";
|
|
4
4
|
import { ipfsToHttp } from "./utils/ipfs.js";
|
|
5
5
|
import { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from "./data/ip-types.js";
|
|
6
|
+
import {
|
|
7
|
+
IP_TYPES,
|
|
8
|
+
LICENSE_TYPES,
|
|
9
|
+
GEOGRAPHIC_SCOPES,
|
|
10
|
+
AI_POLICIES,
|
|
11
|
+
DERIVATIVES_OPTIONS,
|
|
12
|
+
LICENSE_TRAIT_TYPES
|
|
13
|
+
} from "./data/ip.js";
|
|
14
|
+
import {
|
|
15
|
+
IP_TEMPLATES,
|
|
16
|
+
EMBED_PLATFORM_META,
|
|
17
|
+
SOCIAL_PLATFORM_META,
|
|
18
|
+
TEMPLATE_TRAIT_TYPES
|
|
19
|
+
} from "./data/ip-templates.js";
|
|
20
|
+
import { IPTypeDisplay } from "./components/ip-type-display.js";
|
|
21
|
+
import { AssetOverviewContent } from "./components/asset-overview-content.js";
|
|
22
|
+
import { AssetMarketsTab } from "./components/asset-markets-tab.js";
|
|
23
|
+
import { ParentAttributionBanner } from "./components/parent-attribution-banner.js";
|
|
24
|
+
import { AssetMediaColumn, AssetHeaderBlock, buildEditionStats } from "./components/asset-top-sections.js";
|
|
6
25
|
import { BRAND } from "./data/brand.js";
|
|
7
26
|
import { CurrencyIcon, CurrencyAmount } from "./components/currency-icon.js";
|
|
8
27
|
import { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from "./components/ip-type-badge.js";
|
|
@@ -15,7 +34,7 @@ import { ScrollSection } from "./components/scroll-section.js";
|
|
|
15
34
|
import { ShareButton } from "./components/share-button.js";
|
|
16
35
|
import { CollectionCard, CollectionCardSkeleton } from "./components/collection-card.js";
|
|
17
36
|
import { TokenCard, TokenCardSkeleton } from "./components/token-card.js";
|
|
18
|
-
import { timeAgo } from "./utils/time.js";
|
|
37
|
+
import { timeAgo, timeUntil } from "./utils/time.js";
|
|
19
38
|
import { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from "./data/activity.js";
|
|
20
39
|
import { HeroSlider, HeroSliderSkeleton } from "./components/hero-slider.js";
|
|
21
40
|
import { ActivityTicker } from "./components/activity-ticker.js";
|
|
@@ -38,28 +57,39 @@ import { derivePortfolioCounts } from "./utils/portfolio-counts.js";
|
|
|
38
57
|
export {
|
|
39
58
|
ACTIVITY_MESSAGES,
|
|
40
59
|
ACTIVITY_TYPE_CONFIG,
|
|
60
|
+
AI_POLICIES,
|
|
41
61
|
ActivityCard,
|
|
42
62
|
ActivityCardSkeleton,
|
|
43
63
|
ActivityFeedShell,
|
|
44
64
|
ActivityRow,
|
|
45
65
|
ActivityTicker,
|
|
46
66
|
AddressDisplay,
|
|
67
|
+
AssetHeaderBlock,
|
|
68
|
+
AssetMarketsTab,
|
|
69
|
+
AssetMediaColumn,
|
|
70
|
+
AssetOverviewContent,
|
|
47
71
|
BRAND,
|
|
48
72
|
CollectionCard,
|
|
49
73
|
CollectionCardSkeleton,
|
|
50
74
|
CtaCardGrid,
|
|
51
75
|
CurrencyAmount,
|
|
52
76
|
CurrencyIcon,
|
|
77
|
+
DERIVATIVES_OPTIONS,
|
|
53
78
|
DiscoverCollectionsStrip,
|
|
54
79
|
DiscoverCreatorsStrip,
|
|
55
80
|
DiscoverFeedSection,
|
|
56
81
|
DiscoverHero,
|
|
57
82
|
EASE_OUT,
|
|
83
|
+
EMBED_PLATFORM_META,
|
|
58
84
|
FadeIn,
|
|
59
85
|
FeaturedCarousel,
|
|
60
86
|
FeaturedCarouselSkeleton,
|
|
87
|
+
GEOGRAPHIC_SCOPES,
|
|
61
88
|
HeroSlider,
|
|
62
89
|
HeroSliderSkeleton,
|
|
90
|
+
IPTypeDisplay,
|
|
91
|
+
IP_TEMPLATES,
|
|
92
|
+
IP_TYPES,
|
|
63
93
|
IP_TYPE_CONFIG,
|
|
64
94
|
IP_TYPE_DATA,
|
|
65
95
|
IP_TYPE_DATA_MAP,
|
|
@@ -68,6 +98,8 @@ export {
|
|
|
68
98
|
KineticWords,
|
|
69
99
|
LAUNCHPAD_SERVICE_DEFINITIONS,
|
|
70
100
|
LAUNCHPAD_SERVICE_GROUPS,
|
|
101
|
+
LICENSE_TRAIT_TYPES,
|
|
102
|
+
LICENSE_TYPES,
|
|
71
103
|
LaunchpadGroupedSections,
|
|
72
104
|
LaunchpadServiceCard,
|
|
73
105
|
LaunchpadStrip,
|
|
@@ -78,22 +110,27 @@ export {
|
|
|
78
110
|
MotionCard,
|
|
79
111
|
NavCommandMenu,
|
|
80
112
|
PageContainer,
|
|
113
|
+
ParentAttributionBanner,
|
|
81
114
|
PortfolioSubnav,
|
|
82
115
|
SERVICE_HUES,
|
|
116
|
+
SOCIAL_PLATFORM_META,
|
|
83
117
|
SPRING,
|
|
84
118
|
ScrollSection,
|
|
85
119
|
ShareButton,
|
|
86
120
|
Stagger,
|
|
87
121
|
StaggerItem,
|
|
122
|
+
TEMPLATE_TRAIT_TYPES,
|
|
88
123
|
TYPE_FILTERS,
|
|
89
124
|
TokenCard,
|
|
90
125
|
TokenCardSkeleton,
|
|
126
|
+
buildEditionStats,
|
|
91
127
|
cn,
|
|
92
128
|
derivePortfolioCounts,
|
|
93
129
|
formatDisplayPrice,
|
|
94
130
|
ipfsToHttp,
|
|
95
131
|
shortenAddress,
|
|
96
132
|
timeAgo,
|
|
133
|
+
timeUntil,
|
|
97
134
|
useNavCommandMenu
|
|
98
135
|
};
|
|
99
136
|
//# sourceMappingURL=index.js.map
|
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 } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.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 { 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\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo } 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 } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps } 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 } from \"./components/launchpad-services.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"],"mappings":"AACA,SAAS,UAAU;AACnB,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAG3B,SAAS,cAAc,wBAAwB;AAE/C,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;AAI7C,SAAS,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.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,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.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, buildEditionStats } from \"./components/asset-top-sections.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\";\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 } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps } 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 } from \"./components/launchpad-services.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"],"mappings":"AACA,SAAS,UAAU;AACnB,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAG3B,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,OACpD;AAEP,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,uBAAuB;AAChC,SAAS,+BAA+B;AAExC,SAAS,kBAAkB,kBAAkB,yBAAyB;AACtE,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;AAI7C,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,2BAA2B;AAEpC,SAAS,cAAc,sBAAsB,yBAAyB;AAItE,SAAS,0BAA0B,sBAAsB,oBAAoB;AAC7E,SAAS,sBAAsB;AAG/B,SAAS,+BAA+B,gCAAgC;AAIxE,SAAS,gBAAgB,yBAAyB;AAIlD,SAAS,uBAAuB;AAOhC,SAAS,6BAA6B;","names":[]}
|
package/dist/utils/time.cjs
CHANGED
|
@@ -18,9 +18,21 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var time_exports = {};
|
|
20
20
|
__export(time_exports, {
|
|
21
|
-
timeAgo: () => timeAgo
|
|
21
|
+
timeAgo: () => timeAgo,
|
|
22
|
+
timeUntil: () => timeUntil
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(time_exports);
|
|
25
|
+
function timeUntil(dateStr) {
|
|
26
|
+
const raw = typeof dateStr === "string" && /^\d+$/.test(dateStr.trim()) ? Number(dateStr) : dateStr;
|
|
27
|
+
const ms = typeof raw === "number" ? raw * 1e3 : new Date(raw).getTime();
|
|
28
|
+
const diff = ms - Date.now();
|
|
29
|
+
if (diff <= 0) return "Expired";
|
|
30
|
+
const days = Math.floor(diff / 864e5);
|
|
31
|
+
const hours = Math.floor(diff % 864e5 / 36e5);
|
|
32
|
+
if (days > 0) return `${days}d ${hours}h`;
|
|
33
|
+
const mins = Math.floor(diff % 36e5 / 6e4);
|
|
34
|
+
return `${hours}h ${mins}m`;
|
|
35
|
+
}
|
|
24
36
|
function timeAgo(iso) {
|
|
25
37
|
const diff = Date.now() - new Date(iso).getTime();
|
|
26
38
|
const s = Math.floor(diff / 1e3);
|
|
@@ -37,6 +49,7 @@ function timeAgo(iso) {
|
|
|
37
49
|
}
|
|
38
50
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
51
|
0 && (module.exports = {
|
|
40
|
-
timeAgo
|
|
52
|
+
timeAgo,
|
|
53
|
+
timeUntil
|
|
41
54
|
});
|
|
42
55
|
//# sourceMappingURL=time.cjs.map
|
package/dist/utils/time.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/time.ts"],"sourcesContent":["/**\n * Returns a human-readable relative time string.\n * e.g. \"just now\", \"2m ago\", \"3h ago\", \"5d ago\"\n */\nexport function timeAgo(iso: string): string {\n const diff = Date.now() - new Date(iso).getTime();\n const s = Math.floor(diff / 1000);\n if (s < 60) return \"just now\";\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n const d = Math.floor(h / 24);\n if (d < 30) return `${d}d ago`;\n const mo = Math.floor(d / 30);\n if (mo < 12) return `${mo}mo ago`;\n return `${Math.floor(mo / 12)}y ago`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sources":["../../src/utils/time.ts"],"sourcesContent":["/** Human-readable countdown, e.g. \"2d 4h\", \"3h 12m\", \"Expired\". */\nexport function timeUntil(dateStr: string | number): string {\n // Accept Unix seconds as number, numeric string (BigInt serialized), or ISO date string.\n const raw = typeof dateStr === \"string\" && /^\\d+$/.test(dateStr.trim())\n ? Number(dateStr)\n : dateStr;\n const ms = typeof raw === \"number\" ? raw * 1000 : new Date(raw).getTime();\n const diff = ms - Date.now();\n if (diff <= 0) return \"Expired\";\n const days = Math.floor(diff / 86400000);\n const hours = Math.floor((diff % 86400000) / 3600000);\n if (days > 0) return `${days}d ${hours}h`;\n const mins = Math.floor((diff % 3600000) / 60000);\n return `${hours}h ${mins}m`;\n}\n\n/**\n * Returns a human-readable relative time string.\n * e.g. \"just now\", \"2m ago\", \"3h ago\", \"5d ago\"\n */\nexport function timeAgo(iso: string): string {\n const diff = Date.now() - new Date(iso).getTime();\n const s = Math.floor(diff / 1000);\n if (s < 60) return \"just now\";\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n const d = Math.floor(h / 24);\n if (d < 30) return `${d}d ago`;\n const mo = Math.floor(d / 30);\n if (mo < 12) return `${mo}mo ago`;\n return `${Math.floor(mo / 12)}y ago`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,SAAS,UAAU,SAAkC;AAE1D,QAAM,MAAM,OAAO,YAAY,YAAY,QAAQ,KAAK,QAAQ,KAAK,CAAC,IAClE,OAAO,OAAO,IACd;AACJ,QAAM,KAAK,OAAO,QAAQ,WAAW,MAAM,MAAO,IAAI,KAAK,GAAG,EAAE,QAAQ;AACxE,QAAM,OAAO,KAAK,KAAK,IAAI;AAC3B,MAAI,QAAQ,EAAG,QAAO;AACtB,QAAM,OAAO,KAAK,MAAM,OAAO,KAAQ;AACvC,QAAM,QAAQ,KAAK,MAAO,OAAO,QAAY,IAAO;AACpD,MAAI,OAAO,EAAG,QAAO,GAAG,IAAI,KAAK,KAAK;AACtC,QAAM,OAAO,KAAK,MAAO,OAAO,OAAW,GAAK;AAChD,SAAO,GAAG,KAAK,KAAK,IAAI;AAC1B;AAMO,SAAS,QAAQ,KAAqB;AAC3C,QAAM,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,QAAQ;AAChD,QAAM,IAAI,KAAK,MAAM,OAAO,GAAI;AAChC,MAAI,IAAI,GAAI,QAAO;AACnB,QAAM,IAAI,KAAK,MAAM,IAAI,EAAE;AAC3B,MAAI,IAAI,GAAI,QAAO,GAAG,CAAC;AACvB,QAAM,IAAI,KAAK,MAAM,IAAI,EAAE;AAC3B,MAAI,IAAI,GAAI,QAAO,GAAG,CAAC;AACvB,QAAM,IAAI,KAAK,MAAM,IAAI,EAAE;AAC3B,MAAI,IAAI,GAAI,QAAO,GAAG,CAAC;AACvB,QAAM,KAAK,KAAK,MAAM,IAAI,EAAE;AAC5B,MAAI,KAAK,GAAI,QAAO,GAAG,EAAE;AACzB,SAAO,GAAG,KAAK,MAAM,KAAK,EAAE,CAAC;AAC/B;","names":[]}
|
package/dist/utils/time.d.cts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
/** Human-readable countdown, e.g. "2d 4h", "3h 12m", "Expired". */
|
|
2
|
+
declare function timeUntil(dateStr: string | number): string;
|
|
1
3
|
/**
|
|
2
4
|
* Returns a human-readable relative time string.
|
|
3
5
|
* e.g. "just now", "2m ago", "3h ago", "5d ago"
|
|
4
6
|
*/
|
|
5
7
|
declare function timeAgo(iso: string): string;
|
|
6
8
|
|
|
7
|
-
export { timeAgo };
|
|
9
|
+
export { timeAgo, timeUntil };
|
package/dist/utils/time.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
/** Human-readable countdown, e.g. "2d 4h", "3h 12m", "Expired". */
|
|
2
|
+
declare function timeUntil(dateStr: string | number): string;
|
|
1
3
|
/**
|
|
2
4
|
* Returns a human-readable relative time string.
|
|
3
5
|
* e.g. "just now", "2m ago", "3h ago", "5d ago"
|
|
4
6
|
*/
|
|
5
7
|
declare function timeAgo(iso: string): string;
|
|
6
8
|
|
|
7
|
-
export { timeAgo };
|
|
9
|
+
export { timeAgo, timeUntil };
|
package/dist/utils/time.js
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
function timeUntil(dateStr) {
|
|
2
|
+
const raw = typeof dateStr === "string" && /^\d+$/.test(dateStr.trim()) ? Number(dateStr) : dateStr;
|
|
3
|
+
const ms = typeof raw === "number" ? raw * 1e3 : new Date(raw).getTime();
|
|
4
|
+
const diff = ms - Date.now();
|
|
5
|
+
if (diff <= 0) return "Expired";
|
|
6
|
+
const days = Math.floor(diff / 864e5);
|
|
7
|
+
const hours = Math.floor(diff % 864e5 / 36e5);
|
|
8
|
+
if (days > 0) return `${days}d ${hours}h`;
|
|
9
|
+
const mins = Math.floor(diff % 36e5 / 6e4);
|
|
10
|
+
return `${hours}h ${mins}m`;
|
|
11
|
+
}
|
|
1
12
|
function timeAgo(iso) {
|
|
2
13
|
const diff = Date.now() - new Date(iso).getTime();
|
|
3
14
|
const s = Math.floor(diff / 1e3);
|
|
@@ -13,6 +24,7 @@ function timeAgo(iso) {
|
|
|
13
24
|
return `${Math.floor(mo / 12)}y ago`;
|
|
14
25
|
}
|
|
15
26
|
export {
|
|
16
|
-
timeAgo
|
|
27
|
+
timeAgo,
|
|
28
|
+
timeUntil
|
|
17
29
|
};
|
|
18
30
|
//# sourceMappingURL=time.js.map
|
package/dist/utils/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/time.ts"],"sourcesContent":["/**\n * Returns a human-readable relative time string.\n * e.g. \"just now\", \"2m ago\", \"3h ago\", \"5d ago\"\n */\nexport function timeAgo(iso: string): string {\n const diff = Date.now() - new Date(iso).getTime();\n const s = Math.floor(diff / 1000);\n if (s < 60) return \"just now\";\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n const d = Math.floor(h / 24);\n if (d < 30) return `${d}d ago`;\n const mo = Math.floor(d / 30);\n if (mo < 12) return `${mo}mo ago`;\n return `${Math.floor(mo / 12)}y ago`;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/utils/time.ts"],"sourcesContent":["/** Human-readable countdown, e.g. \"2d 4h\", \"3h 12m\", \"Expired\". */\nexport function timeUntil(dateStr: string | number): string {\n // Accept Unix seconds as number, numeric string (BigInt serialized), or ISO date string.\n const raw = typeof dateStr === \"string\" && /^\\d+$/.test(dateStr.trim())\n ? Number(dateStr)\n : dateStr;\n const ms = typeof raw === \"number\" ? raw * 1000 : new Date(raw).getTime();\n const diff = ms - Date.now();\n if (diff <= 0) return \"Expired\";\n const days = Math.floor(diff / 86400000);\n const hours = Math.floor((diff % 86400000) / 3600000);\n if (days > 0) return `${days}d ${hours}h`;\n const mins = Math.floor((diff % 3600000) / 60000);\n return `${hours}h ${mins}m`;\n}\n\n/**\n * Returns a human-readable relative time string.\n * e.g. \"just now\", \"2m ago\", \"3h ago\", \"5d ago\"\n */\nexport function timeAgo(iso: string): string {\n const diff = Date.now() - new Date(iso).getTime();\n const s = Math.floor(diff / 1000);\n if (s < 60) return \"just now\";\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n const d = Math.floor(h / 24);\n if (d < 30) return `${d}d ago`;\n const mo = Math.floor(d / 30);\n if (mo < 12) return `${mo}mo ago`;\n return `${Math.floor(mo / 12)}y ago`;\n}\n"],"mappings":"AACO,SAAS,UAAU,SAAkC;AAE1D,QAAM,MAAM,OAAO,YAAY,YAAY,QAAQ,KAAK,QAAQ,KAAK,CAAC,IAClE,OAAO,OAAO,IACd;AACJ,QAAM,KAAK,OAAO,QAAQ,WAAW,MAAM,MAAO,IAAI,KAAK,GAAG,EAAE,QAAQ;AACxE,QAAM,OAAO,KAAK,KAAK,IAAI;AAC3B,MAAI,QAAQ,EAAG,QAAO;AACtB,QAAM,OAAO,KAAK,MAAM,OAAO,KAAQ;AACvC,QAAM,QAAQ,KAAK,MAAO,OAAO,QAAY,IAAO;AACpD,MAAI,OAAO,EAAG,QAAO,GAAG,IAAI,KAAK,KAAK;AACtC,QAAM,OAAO,KAAK,MAAO,OAAO,OAAW,GAAK;AAChD,SAAO,GAAG,KAAK,KAAK,IAAI;AAC1B;AAMO,SAAS,QAAQ,KAAqB;AAC3C,QAAM,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,QAAQ;AAChD,QAAM,IAAI,KAAK,MAAM,OAAO,GAAI;AAChC,MAAI,IAAI,GAAI,QAAO;AACnB,QAAM,IAAI,KAAK,MAAM,IAAI,EAAE;AAC3B,MAAI,IAAI,GAAI,QAAO,GAAG,CAAC;AACvB,QAAM,IAAI,KAAK,MAAM,IAAI,EAAE;AAC3B,MAAI,IAAI,GAAI,QAAO,GAAG,CAAC;AACvB,QAAM,IAAI,KAAK,MAAM,IAAI,EAAE;AAC3B,MAAI,IAAI,GAAI,QAAO,GAAG,CAAC;AACvB,QAAM,KAAK,KAAK,MAAM,IAAI,EAAE;AAC5B,MAAI,KAAK,GAAI,QAAO,GAAG,EAAE;AACzB,SAAO,GAAG,KAAK,MAAM,KAAK,EAAE,CAAC;AAC/B;","names":[]}
|