@medialane/ui 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/components/asset-markets-tab.cjs +111 -0
  2. package/dist/components/asset-markets-tab.cjs.map +1 -0
  3. package/dist/components/asset-markets-tab.d.cts +16 -0
  4. package/dist/components/asset-markets-tab.d.ts +16 -0
  5. package/dist/components/asset-markets-tab.js +87 -0
  6. package/dist/components/asset-markets-tab.js.map +1 -0
  7. package/dist/components/asset-overview-content.cjs +102 -0
  8. package/dist/components/asset-overview-content.cjs.map +1 -0
  9. package/dist/components/asset-overview-content.d.cts +14 -0
  10. package/dist/components/asset-overview-content.d.ts +14 -0
  11. package/dist/components/asset-overview-content.js +78 -0
  12. package/dist/components/asset-overview-content.js.map +1 -0
  13. package/dist/components/ip-type-display.cjs +201 -0
  14. package/dist/components/ip-type-display.cjs.map +1 -0
  15. package/dist/components/ip-type-display.d.cts +12 -0
  16. package/dist/components/ip-type-display.d.ts +12 -0
  17. package/dist/components/ip-type-display.js +181 -0
  18. package/dist/components/ip-type-display.js.map +1 -0
  19. package/dist/data/ip-templates.cjs +206 -0
  20. package/dist/data/ip-templates.cjs.map +1 -0
  21. package/dist/data/ip-templates.d.cts +45 -0
  22. package/dist/data/ip-templates.d.ts +45 -0
  23. package/dist/data/ip-templates.js +200 -0
  24. package/dist/data/ip-templates.js.map +1 -0
  25. package/dist/data/ip.cjs +163 -0
  26. package/dist/data/ip.cjs.map +1 -0
  27. package/dist/data/ip.d.cts +18 -0
  28. package/dist/data/ip.d.ts +18 -0
  29. package/dist/data/ip.js +134 -0
  30. package/dist/data/ip.js.map +1 -0
  31. package/dist/index.cjs +33 -0
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +8 -3
  34. package/dist/index.d.ts +8 -3
  35. package/dist/index.js +32 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/utils/time.cjs +15 -2
  38. package/dist/utils/time.cjs.map +1 -1
  39. package/dist/utils/time.d.cts +3 -1
  40. package/dist/utils/time.d.ts +3 -1
  41. package/dist/utils/time.js +13 -1
  42. package/dist/utils/time.js.map +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1,134 @@
1
+ const IP_TYPES = [
2
+ "Audio",
3
+ "Art",
4
+ "Documents",
5
+ "NFT",
6
+ "Video",
7
+ "Photography",
8
+ "Patents",
9
+ "Posts",
10
+ "Publications",
11
+ "RWA",
12
+ "Software",
13
+ "Custom"
14
+ ];
15
+ const LICENSE_TYPES = [
16
+ {
17
+ value: "All Rights Reserved",
18
+ label: "All Rights Reserved",
19
+ description: "No permissions granted beyond viewing.",
20
+ commercialUse: "No",
21
+ derivatives: "Not Allowed",
22
+ attribution: "Required"
23
+ },
24
+ {
25
+ value: "CC0",
26
+ label: "CC0 \u2014 Public Domain",
27
+ description: "No rights reserved. Anyone can use for any purpose.",
28
+ commercialUse: "Yes",
29
+ derivatives: "Allowed",
30
+ attribution: "Not Required"
31
+ },
32
+ {
33
+ value: "CC BY",
34
+ label: "CC BY \u2014 Attribution",
35
+ description: "Free to use commercially with attribution.",
36
+ commercialUse: "Yes",
37
+ derivatives: "Allowed",
38
+ attribution: "Required"
39
+ },
40
+ {
41
+ value: "CC BY-SA",
42
+ label: "CC BY-SA \u2014 Attribution ShareAlike",
43
+ description: "Free to use with attribution; derivatives must use the same license.",
44
+ commercialUse: "Yes",
45
+ derivatives: "Share-Alike",
46
+ attribution: "Required"
47
+ },
48
+ {
49
+ value: "CC BY-NC",
50
+ label: "CC BY-NC \u2014 Attribution NonCommercial",
51
+ description: "Free for non-commercial use with attribution.",
52
+ commercialUse: "No",
53
+ derivatives: "Allowed",
54
+ attribution: "Required"
55
+ },
56
+ {
57
+ value: "CC BY-ND",
58
+ label: "CC BY-ND \u2014 Attribution NoDerivatives",
59
+ description: "Free to share with attribution; no modifications allowed.",
60
+ commercialUse: "Yes",
61
+ derivatives: "Not Allowed",
62
+ attribution: "Required"
63
+ },
64
+ {
65
+ value: "CC BY-NC-SA",
66
+ label: "CC BY-NC-SA \u2014 Attribution NonCommercial ShareAlike",
67
+ description: "Non-commercial use with attribution; derivatives must use same license.",
68
+ commercialUse: "No",
69
+ derivatives: "Share-Alike",
70
+ attribution: "Required"
71
+ },
72
+ {
73
+ value: "CC BY-NC-ND",
74
+ label: "CC BY-NC-ND \u2014 Attribution NonCommercial NoDerivatives",
75
+ description: "Non-commercial sharing only; no modifications allowed.",
76
+ commercialUse: "No",
77
+ derivatives: "Not Allowed",
78
+ attribution: "Required"
79
+ },
80
+ {
81
+ value: "MIT",
82
+ label: "MIT License",
83
+ description: "Open source software license permitting reuse with attribution.",
84
+ commercialUse: "Yes",
85
+ derivatives: "Allowed",
86
+ attribution: "Required"
87
+ },
88
+ {
89
+ value: "Apache 2.0",
90
+ label: "Apache 2.0",
91
+ description: "Open source license with patent protection.",
92
+ commercialUse: "Yes",
93
+ derivatives: "Allowed",
94
+ attribution: "Required"
95
+ },
96
+ {
97
+ value: "Custom",
98
+ label: "Custom License",
99
+ description: "Define your own terms in the description.",
100
+ commercialUse: "No",
101
+ derivatives: "Not Allowed",
102
+ attribution: "Required"
103
+ }
104
+ ];
105
+ const GEOGRAPHIC_SCOPES = [
106
+ "Worldwide",
107
+ "North America",
108
+ "Europe",
109
+ "Asia-Pacific",
110
+ "Latin America",
111
+ "Middle East & Africa"
112
+ ];
113
+ const AI_POLICIES = ["Allowed", "Not Allowed", "Training Only"];
114
+ const DERIVATIVES_OPTIONS = ["Allowed", "Not Allowed", "Share-Alike"];
115
+ const LICENSE_TRAIT_TYPES = /* @__PURE__ */ new Set([
116
+ "License",
117
+ "Commercial Use",
118
+ "Derivatives",
119
+ "Attribution",
120
+ "Territory",
121
+ "AI Policy",
122
+ "Royalty",
123
+ "Standard",
124
+ "Registration"
125
+ ]);
126
+ export {
127
+ AI_POLICIES,
128
+ DERIVATIVES_OPTIONS,
129
+ GEOGRAPHIC_SCOPES,
130
+ IP_TYPES,
131
+ LICENSE_TRAIT_TYPES,
132
+ LICENSE_TYPES
133
+ };
134
+ //# sourceMappingURL=ip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/data/ip.ts"],"sourcesContent":["// Local const for z.enum() — [string, ...string[]] tuple required by Zod.\nexport const IP_TYPES = [\n \"Audio\",\n \"Art\",\n \"Documents\",\n \"NFT\",\n \"Video\",\n \"Photography\",\n \"Patents\",\n \"Posts\",\n \"Publications\",\n \"RWA\",\n \"Software\",\n \"Custom\",\n] as const;\n\nexport type IPType = (typeof IP_TYPES)[number];\n\nexport interface LicenseType {\n value: string;\n label: string;\n description: string;\n commercialUse: \"Yes\" | \"No\";\n derivatives: \"Allowed\" | \"Not Allowed\" | \"Share-Alike\";\n attribution: \"Required\" | \"Not Required\";\n}\n\nexport const LICENSE_TYPES: LicenseType[] = [\n {\n value: \"All Rights Reserved\",\n label: \"All Rights Reserved\",\n description: \"No permissions granted beyond viewing.\",\n commercialUse: \"No\",\n derivatives: \"Not Allowed\",\n attribution: \"Required\",\n },\n {\n value: \"CC0\",\n label: \"CC0 — Public Domain\",\n description: \"No rights reserved. Anyone can use for any purpose.\",\n commercialUse: \"Yes\",\n derivatives: \"Allowed\",\n attribution: \"Not Required\",\n },\n {\n value: \"CC BY\",\n label: \"CC BY — Attribution\",\n description: \"Free to use commercially with attribution.\",\n commercialUse: \"Yes\",\n derivatives: \"Allowed\",\n attribution: \"Required\",\n },\n {\n value: \"CC BY-SA\",\n label: \"CC BY-SA — Attribution ShareAlike\",\n description: \"Free to use with attribution; derivatives must use the same license.\",\n commercialUse: \"Yes\",\n derivatives: \"Share-Alike\",\n attribution: \"Required\",\n },\n {\n value: \"CC BY-NC\",\n label: \"CC BY-NC — Attribution NonCommercial\",\n description: \"Free for non-commercial use with attribution.\",\n commercialUse: \"No\",\n derivatives: \"Allowed\",\n attribution: \"Required\",\n },\n {\n value: \"CC BY-ND\",\n label: \"CC BY-ND — Attribution NoDerivatives\",\n description: \"Free to share with attribution; no modifications allowed.\",\n commercialUse: \"Yes\",\n derivatives: \"Not Allowed\",\n attribution: \"Required\",\n },\n {\n value: \"CC BY-NC-SA\",\n label: \"CC BY-NC-SA — Attribution NonCommercial ShareAlike\",\n description: \"Non-commercial use with attribution; derivatives must use same license.\",\n commercialUse: \"No\",\n derivatives: \"Share-Alike\",\n attribution: \"Required\",\n },\n {\n value: \"CC BY-NC-ND\",\n label: \"CC BY-NC-ND — Attribution NonCommercial NoDerivatives\",\n description: \"Non-commercial sharing only; no modifications allowed.\",\n commercialUse: \"No\",\n derivatives: \"Not Allowed\",\n attribution: \"Required\",\n },\n {\n value: \"MIT\",\n label: \"MIT License\",\n description: \"Open source software license permitting reuse with attribution.\",\n commercialUse: \"Yes\",\n derivatives: \"Allowed\",\n attribution: \"Required\",\n },\n {\n value: \"Apache 2.0\",\n label: \"Apache 2.0\",\n description: \"Open source license with patent protection.\",\n commercialUse: \"Yes\",\n derivatives: \"Allowed\",\n attribution: \"Required\",\n },\n {\n value: \"Custom\",\n label: \"Custom License\",\n description: \"Define your own terms in the description.\",\n commercialUse: \"No\",\n derivatives: \"Not Allowed\",\n attribution: \"Required\",\n },\n];\n\nexport const GEOGRAPHIC_SCOPES = [\n \"Worldwide\",\n \"North America\",\n \"Europe\",\n \"Asia-Pacific\",\n \"Latin America\",\n \"Middle East & Africa\",\n] as const;\n\nexport const AI_POLICIES = [\"Allowed\", \"Not Allowed\", \"Training Only\"] as const;\n\nexport const DERIVATIVES_OPTIONS = [\"Allowed\", \"Not Allowed\", \"Share-Alike\"] as const;\n\n/** Trait types that represent IP licensing metadata in the attributes array. */\nexport const LICENSE_TRAIT_TYPES = new Set([\n \"License\",\n \"Commercial Use\",\n \"Derivatives\",\n \"Attribution\",\n \"Territory\",\n \"AI Policy\",\n \"Royalty\",\n \"Standard\",\n \"Registration\",\n]);\n"],"mappings":"AACO,MAAM,WAAW;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAaO,MAAM,gBAA+B;AAAA,EAC1C;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AACF;AAEO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,cAAc,CAAC,WAAW,eAAe,eAAe;AAE9D,MAAM,sBAAsB,CAAC,WAAW,eAAe,aAAa;AAGpE,MAAM,sBAAsB,oBAAI,IAAI;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;","names":[]}
package/dist/index.cjs CHANGED
@@ -20,28 +20,37 @@ 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
+ AssetMarketsTab: () => import_asset_markets_tab.AssetMarketsTab,
31
+ AssetOverviewContent: () => import_asset_overview_content.AssetOverviewContent,
29
32
  BRAND: () => import_brand.BRAND,
30
33
  CollectionCard: () => import_collection_card.CollectionCard,
31
34
  CollectionCardSkeleton: () => import_collection_card.CollectionCardSkeleton,
32
35
  CtaCardGrid: () => import_cta_card_grid.CtaCardGrid,
33
36
  CurrencyAmount: () => import_currency_icon.CurrencyAmount,
34
37
  CurrencyIcon: () => import_currency_icon.CurrencyIcon,
38
+ DERIVATIVES_OPTIONS: () => import_ip.DERIVATIVES_OPTIONS,
35
39
  DiscoverCollectionsStrip: () => import_discover_collections_strip.DiscoverCollectionsStrip,
36
40
  DiscoverCreatorsStrip: () => import_discover_creators_strip.DiscoverCreatorsStrip,
37
41
  DiscoverFeedSection: () => import_discover_feed_section.DiscoverFeedSection,
38
42
  DiscoverHero: () => import_discover_hero.DiscoverHero,
39
43
  EASE_OUT: () => import_motion_primitives.EASE_OUT,
44
+ EMBED_PLATFORM_META: () => import_ip_templates.EMBED_PLATFORM_META,
40
45
  FadeIn: () => import_motion_primitives.FadeIn,
41
46
  FeaturedCarousel: () => import_featured_carousel.FeaturedCarousel,
42
47
  FeaturedCarouselSkeleton: () => import_featured_carousel.FeaturedCarouselSkeleton,
48
+ GEOGRAPHIC_SCOPES: () => import_ip.GEOGRAPHIC_SCOPES,
43
49
  HeroSlider: () => import_hero_slider.HeroSlider,
44
50
  HeroSliderSkeleton: () => import_hero_slider.HeroSliderSkeleton,
51
+ IPTypeDisplay: () => import_ip_type_display.IPTypeDisplay,
52
+ IP_TEMPLATES: () => import_ip_templates.IP_TEMPLATES,
53
+ IP_TYPES: () => import_ip.IP_TYPES,
45
54
  IP_TYPE_CONFIG: () => import_ip_type_badge.IP_TYPE_CONFIG,
46
55
  IP_TYPE_DATA: () => import_ip_types.IP_TYPE_DATA,
47
56
  IP_TYPE_DATA_MAP: () => import_ip_types.IP_TYPE_DATA_MAP,
@@ -50,6 +59,8 @@ __export(index_exports, {
50
59
  KineticWords: () => import_motion_primitives.KineticWords,
51
60
  LAUNCHPAD_SERVICE_DEFINITIONS: () => import_launchpad_services2.LAUNCHPAD_SERVICE_DEFINITIONS,
52
61
  LAUNCHPAD_SERVICE_GROUPS: () => import_launchpad_services2.LAUNCHPAD_SERVICE_GROUPS,
62
+ LICENSE_TRAIT_TYPES: () => import_ip.LICENSE_TRAIT_TYPES,
63
+ LICENSE_TYPES: () => import_ip.LICENSE_TYPES,
53
64
  LaunchpadGroupedSections: () => import_launchpad_services.LaunchpadGroupedSections,
54
65
  LaunchpadServiceCard: () => import_launchpad_services.LaunchpadServiceCard,
55
66
  LaunchpadStrip: () => import_launchpad_strip.LaunchpadStrip,
@@ -62,11 +73,13 @@ __export(index_exports, {
62
73
  PageContainer: () => import_page_container.PageContainer,
63
74
  PortfolioSubnav: () => import_portfolio_subnav.PortfolioSubnav,
64
75
  SERVICE_HUES: () => import_launchpad_services.SERVICE_HUES,
76
+ SOCIAL_PLATFORM_META: () => import_ip_templates.SOCIAL_PLATFORM_META,
65
77
  SPRING: () => import_motion_primitives.SPRING,
66
78
  ScrollSection: () => import_scroll_section.ScrollSection,
67
79
  ShareButton: () => import_share_button.ShareButton,
68
80
  Stagger: () => import_motion_primitives.Stagger,
69
81
  StaggerItem: () => import_motion_primitives.StaggerItem,
82
+ TEMPLATE_TRAIT_TYPES: () => import_ip_templates.TEMPLATE_TRAIT_TYPES,
70
83
  TYPE_FILTERS: () => import_activity.TYPE_FILTERS,
71
84
  TokenCard: () => import_token_card.TokenCard,
72
85
  TokenCardSkeleton: () => import_token_card.TokenCardSkeleton,
@@ -76,6 +89,7 @@ __export(index_exports, {
76
89
  ipfsToHttp: () => import_ipfs.ipfsToHttp,
77
90
  shortenAddress: () => import_address.shortenAddress,
78
91
  timeAgo: () => import_time.timeAgo,
92
+ timeUntil: () => import_time.timeUntil,
79
93
  useNavCommandMenu: () => import_nav_command_menu.useNavCommandMenu
80
94
  });
81
95
  module.exports = __toCommonJS(index_exports);
@@ -84,6 +98,11 @@ var import_format = require("./utils/format.js");
84
98
  var import_address = require("./utils/address.js");
85
99
  var import_ipfs = require("./utils/ipfs.js");
86
100
  var import_ip_types = require("./data/ip-types.js");
101
+ var import_ip = require("./data/ip.js");
102
+ var import_ip_templates = require("./data/ip-templates.js");
103
+ var import_ip_type_display = require("./components/ip-type-display.js");
104
+ var import_asset_overview_content = require("./components/asset-overview-content.js");
105
+ var import_asset_markets_tab = require("./components/asset-markets-tab.js");
87
106
  var import_brand = require("./data/brand.js");
88
107
  var import_currency_icon = require("./components/currency-icon.js");
89
108
  var import_ip_type_badge = require("./components/ip-type-badge.js");
@@ -120,28 +139,37 @@ var import_portfolio_counts = require("./utils/portfolio-counts.js");
120
139
  0 && (module.exports = {
121
140
  ACTIVITY_MESSAGES,
122
141
  ACTIVITY_TYPE_CONFIG,
142
+ AI_POLICIES,
123
143
  ActivityCard,
124
144
  ActivityCardSkeleton,
125
145
  ActivityFeedShell,
126
146
  ActivityRow,
127
147
  ActivityTicker,
128
148
  AddressDisplay,
149
+ AssetMarketsTab,
150
+ AssetOverviewContent,
129
151
  BRAND,
130
152
  CollectionCard,
131
153
  CollectionCardSkeleton,
132
154
  CtaCardGrid,
133
155
  CurrencyAmount,
134
156
  CurrencyIcon,
157
+ DERIVATIVES_OPTIONS,
135
158
  DiscoverCollectionsStrip,
136
159
  DiscoverCreatorsStrip,
137
160
  DiscoverFeedSection,
138
161
  DiscoverHero,
139
162
  EASE_OUT,
163
+ EMBED_PLATFORM_META,
140
164
  FadeIn,
141
165
  FeaturedCarousel,
142
166
  FeaturedCarouselSkeleton,
167
+ GEOGRAPHIC_SCOPES,
143
168
  HeroSlider,
144
169
  HeroSliderSkeleton,
170
+ IPTypeDisplay,
171
+ IP_TEMPLATES,
172
+ IP_TYPES,
145
173
  IP_TYPE_CONFIG,
146
174
  IP_TYPE_DATA,
147
175
  IP_TYPE_DATA_MAP,
@@ -150,6 +178,8 @@ var import_portfolio_counts = require("./utils/portfolio-counts.js");
150
178
  KineticWords,
151
179
  LAUNCHPAD_SERVICE_DEFINITIONS,
152
180
  LAUNCHPAD_SERVICE_GROUPS,
181
+ LICENSE_TRAIT_TYPES,
182
+ LICENSE_TYPES,
153
183
  LaunchpadGroupedSections,
154
184
  LaunchpadServiceCard,
155
185
  LaunchpadStrip,
@@ -162,11 +192,13 @@ var import_portfolio_counts = require("./utils/portfolio-counts.js");
162
192
  PageContainer,
163
193
  PortfolioSubnav,
164
194
  SERVICE_HUES,
195
+ SOCIAL_PLATFORM_META,
165
196
  SPRING,
166
197
  ScrollSection,
167
198
  ShareButton,
168
199
  Stagger,
169
200
  StaggerItem,
201
+ TEMPLATE_TRAIT_TYPES,
170
202
  TYPE_FILTERS,
171
203
  TokenCard,
172
204
  TokenCardSkeleton,
@@ -176,6 +208,7 @@ var import_portfolio_counts = require("./utils/portfolio-counts.js");
176
208
  ipfsToHttp,
177
209
  shortenAddress,
178
210
  timeAgo,
211
+ timeUntil,
179
212
  useNavCommandMenu
180
213
  });
181
214
  //# sourceMappingURL=index.cjs.map
@@ -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,kBAAwB;AACxB,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"]}
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 { 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;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,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,11 @@ 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';
6
11
  export { BRAND } from './data/brand.cjs';
7
12
  export { CurrencyAmount, CurrencyAmountProps, CurrencyIcon, CurrencyIconProps } from './components/currency-icon.cjs';
8
13
  export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, IpTypeBadgeProps, IpTypeConfig } from './components/ip-type-badge.cjs';
@@ -15,7 +20,7 @@ export { ScrollSection, ScrollSectionProps } from './components/scroll-section.c
15
20
  export { ShareButton, ShareButtonProps } from './components/share-button.cjs';
16
21
  export { CollectionCard, CollectionCardProps, CollectionCardSkeleton } from './components/collection-card.cjs';
17
22
  export { RarityTier, TokenCard, TokenCardProps, TokenCardSkeleton } from './components/token-card.cjs';
18
- export { timeAgo } from './utils/time.cjs';
23
+ export { timeAgo, timeUntil } from './utils/time.cjs';
19
24
  export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.cjs';
20
25
  export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.cjs';
21
26
  export { ActivityTicker, ActivityTickerProps } from './components/activity-ticker.cjs';
@@ -36,8 +41,8 @@ export { NavCommand, NavCommandGroup, NavCommandMenu, NavCommandMenuProps, useNa
36
41
  export { PortfolioBadgeVariant, PortfolioNavGroup, PortfolioNavItem, PortfolioSubnav, PortfolioSubnavProps } from './components/portfolio-subnav.cjs';
37
42
  export { CountableOrder, PortfolioCounts, derivePortfolioCounts } from './utils/portfolio-counts.cjs';
38
43
  import 'clsx';
44
+ import 'lucide-react';
39
45
  import 'react/jsx-runtime';
46
+ import '@medialane/sdk';
40
47
  import 'framer-motion';
41
48
  import 'react';
42
- import '@medialane/sdk';
43
- import 'lucide-react';
package/dist/index.d.ts CHANGED
@@ -3,6 +3,11 @@ 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';
6
11
  export { BRAND } from './data/brand.js';
7
12
  export { CurrencyAmount, CurrencyAmountProps, CurrencyIcon, CurrencyIconProps } from './components/currency-icon.js';
8
13
  export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, IpTypeBadgeProps, IpTypeConfig } from './components/ip-type-badge.js';
@@ -15,7 +20,7 @@ export { ScrollSection, ScrollSectionProps } from './components/scroll-section.j
15
20
  export { ShareButton, ShareButtonProps } from './components/share-button.js';
16
21
  export { CollectionCard, CollectionCardProps, CollectionCardSkeleton } from './components/collection-card.js';
17
22
  export { RarityTier, TokenCard, TokenCardProps, TokenCardSkeleton } from './components/token-card.js';
18
- export { timeAgo } from './utils/time.js';
23
+ export { timeAgo, timeUntil } from './utils/time.js';
19
24
  export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.js';
20
25
  export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.js';
21
26
  export { ActivityTicker, ActivityTickerProps } from './components/activity-ticker.js';
@@ -36,8 +41,8 @@ export { NavCommand, NavCommandGroup, NavCommandMenu, NavCommandMenuProps, useNa
36
41
  export { PortfolioBadgeVariant, PortfolioNavGroup, PortfolioNavItem, PortfolioSubnav, PortfolioSubnavProps } from './components/portfolio-subnav.js';
37
42
  export { CountableOrder, PortfolioCounts, derivePortfolioCounts } from './utils/portfolio-counts.js';
38
43
  import 'clsx';
44
+ import 'lucide-react';
39
45
  import 'react/jsx-runtime';
46
+ import '@medialane/sdk';
40
47
  import 'framer-motion';
41
48
  import 'react';
42
- import '@medialane/sdk';
43
- import 'lucide-react';
package/dist/index.js CHANGED
@@ -3,6 +3,23 @@ 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";
6
23
  import { BRAND } from "./data/brand.js";
7
24
  import { CurrencyIcon, CurrencyAmount } from "./components/currency-icon.js";
8
25
  import { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from "./components/ip-type-badge.js";
@@ -15,7 +32,7 @@ import { ScrollSection } from "./components/scroll-section.js";
15
32
  import { ShareButton } from "./components/share-button.js";
16
33
  import { CollectionCard, CollectionCardSkeleton } from "./components/collection-card.js";
17
34
  import { TokenCard, TokenCardSkeleton } from "./components/token-card.js";
18
- import { timeAgo } from "./utils/time.js";
35
+ import { timeAgo, timeUntil } from "./utils/time.js";
19
36
  import { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from "./data/activity.js";
20
37
  import { HeroSlider, HeroSliderSkeleton } from "./components/hero-slider.js";
21
38
  import { ActivityTicker } from "./components/activity-ticker.js";
@@ -38,28 +55,37 @@ import { derivePortfolioCounts } from "./utils/portfolio-counts.js";
38
55
  export {
39
56
  ACTIVITY_MESSAGES,
40
57
  ACTIVITY_TYPE_CONFIG,
58
+ AI_POLICIES,
41
59
  ActivityCard,
42
60
  ActivityCardSkeleton,
43
61
  ActivityFeedShell,
44
62
  ActivityRow,
45
63
  ActivityTicker,
46
64
  AddressDisplay,
65
+ AssetMarketsTab,
66
+ AssetOverviewContent,
47
67
  BRAND,
48
68
  CollectionCard,
49
69
  CollectionCardSkeleton,
50
70
  CtaCardGrid,
51
71
  CurrencyAmount,
52
72
  CurrencyIcon,
73
+ DERIVATIVES_OPTIONS,
53
74
  DiscoverCollectionsStrip,
54
75
  DiscoverCreatorsStrip,
55
76
  DiscoverFeedSection,
56
77
  DiscoverHero,
57
78
  EASE_OUT,
79
+ EMBED_PLATFORM_META,
58
80
  FadeIn,
59
81
  FeaturedCarousel,
60
82
  FeaturedCarouselSkeleton,
83
+ GEOGRAPHIC_SCOPES,
61
84
  HeroSlider,
62
85
  HeroSliderSkeleton,
86
+ IPTypeDisplay,
87
+ IP_TEMPLATES,
88
+ IP_TYPES,
63
89
  IP_TYPE_CONFIG,
64
90
  IP_TYPE_DATA,
65
91
  IP_TYPE_DATA_MAP,
@@ -68,6 +94,8 @@ export {
68
94
  KineticWords,
69
95
  LAUNCHPAD_SERVICE_DEFINITIONS,
70
96
  LAUNCHPAD_SERVICE_GROUPS,
97
+ LICENSE_TRAIT_TYPES,
98
+ LICENSE_TYPES,
71
99
  LaunchpadGroupedSections,
72
100
  LaunchpadServiceCard,
73
101
  LaunchpadStrip,
@@ -80,11 +108,13 @@ export {
80
108
  PageContainer,
81
109
  PortfolioSubnav,
82
110
  SERVICE_HUES,
111
+ SOCIAL_PLATFORM_META,
83
112
  SPRING,
84
113
  ScrollSection,
85
114
  ShareButton,
86
115
  Stagger,
87
116
  StaggerItem,
117
+ TEMPLATE_TRAIT_TYPES,
88
118
  TYPE_FILTERS,
89
119
  TokenCard,
90
120
  TokenCardSkeleton,
@@ -94,6 +124,7 @@ export {
94
124
  ipfsToHttp,
95
125
  shortenAddress,
96
126
  timeAgo,
127
+ timeUntil,
97
128
  useNavCommandMenu
98
129
  };
99
130
  //# 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,eAAe;AACxB,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":[]}
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 { 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,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":[]}
@@ -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
@@ -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;AAIO,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":[]}
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":[]}
@@ -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 };
@@ -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 };
@@ -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