@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.
- 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/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/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 +33 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -3
- package/dist/index.d.ts +8 -3
- package/dist/index.js +32 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/data/ip-templates.ts"],"sourcesContent":["import {\n Music, Palette, FileText, Hexagon, Clapperboard, Camera,\n Award, MessageSquare, BookOpen, Building2, Code2, Layers,\n Music2, AudioLines, Youtube, Video, Twitter, Instagram, Facebook, Globe,\n type LucideIcon,\n} from \"lucide-react\";\nimport type { IPType } from \"./ip.js\";\n\n// ── Embeds (inline iframe players) ──────────────────────────────────────────\n// Only platforms with clean iframe embeds. Each maps to a stored trait_type key\n// so the asset page can render the player from metadata attributes.\nexport type EmbedPlatform = \"spotify\" | \"soundcloud\" | \"youtube\" | \"tiktok\" | \"vimeo\";\n\nexport const EMBED_PLATFORM_META: Record<\n EmbedPlatform,\n { label: string; icon: LucideIcon; traitKey: string; placeholder: string }\n> = {\n spotify: { label: \"Spotify\", icon: Music2, traitKey: \"Spotify URL\", placeholder: \"https://open.spotify.com/…\" },\n soundcloud: { label: \"SoundCloud\", icon: AudioLines, traitKey: \"SoundCloud URL\", placeholder: \"https://soundcloud.com/…\" },\n youtube: { label: \"YouTube\", icon: Youtube, traitKey: \"YouTube URL\", placeholder: \"https://youtube.com/watch?v=…\" },\n tiktok: { label: \"TikTok\", icon: Video, traitKey: \"TikTok URL\", placeholder: \"https://tiktok.com/@…/video/…\" },\n vimeo: { label: \"Vimeo\", icon: Video, traitKey: \"Vimeo URL\", placeholder: \"https://vimeo.com/…\" },\n};\n\n// ── Socials (icon-chip links — open in a new tab, never iframed) ────────────\n// X / Instagram / Facebook need fragile JS SDKs and sites block iframing, so\n// these render as clickable platform chips on the asset page, not players.\nexport type SocialPlatform = \"x\" | \"instagram\" | \"facebook\" | \"tiktok\" | \"website\";\n\nexport const SOCIAL_PLATFORM_META: Record<\n SocialPlatform,\n { label: string; icon: LucideIcon; traitKey: string; placeholder: string }\n> = {\n x: { label: \"X\", icon: Twitter, traitKey: \"X\", placeholder: \"https://x.com/…\" },\n instagram: { label: \"Instagram\", icon: Instagram, traitKey: \"Instagram\", placeholder: \"https://instagram.com/…\" },\n facebook: { label: \"Facebook\", icon: Facebook, traitKey: \"Facebook\", placeholder: \"https://facebook.com/…\" },\n tiktok: { label: \"TikTok\", icon: Video, traitKey: \"TikTok\", placeholder: \"https://tiktok.com/@…\" },\n website: { label: \"Website\", icon: Globe, traitKey: \"Website\", placeholder: \"https://…\" },\n};\n\n// ── Trait suggestions (friendly, no dates / no technical fields) ────────────\n// Tapping a suggestion pre-fills a trait row. Optional `options` renders the\n// value as a select (e.g. Rarity).\nexport interface TraitSuggestion {\n key: string;\n placeholder?: string;\n options?: string[];\n}\n\nexport interface IPTemplate {\n type: IPType;\n label: string;\n description: string;\n icon: LucideIcon;\n color: { bg: string; text: string; border: string };\n embeds?: EmbedPlatform[];\n socials?: SocialPlatform[];\n traitSuggestions?: TraitSuggestion[];\n}\n\nexport const IP_TEMPLATES: Record<IPType, IPTemplate> = {\n Audio: {\n type: \"Audio\",\n label: \"Audio\",\n description: \"Music, podcasts, sound effects, audio art\",\n icon: Music,\n color: { bg: \"bg-blue-500/10\", text: \"text-blue-400\", border: \"border-blue-500/20\" },\n embeds: [\"spotify\", \"soundcloud\"],\n traitSuggestions: [\n { key: \"Artist\" }, { key: \"Genre\", placeholder: \"Soundtrack\" }, { key: \"Mood\" }, { key: \"Label\" },\n ],\n },\n Video: {\n type: \"Video\",\n label: \"Video\",\n description: \"Films, animations, short-form video content\",\n icon: Clapperboard,\n color: { bg: \"bg-red-500/10\", text: \"text-red-400\", border: \"border-red-500/20\" },\n embeds: [\"youtube\", \"tiktok\", \"vimeo\"],\n traitSuggestions: [\n { key: \"Director\" }, { key: \"Genre\" }, { key: \"Cast\" }, { key: \"Studio\" },\n ],\n },\n Art: {\n type: \"Art\",\n label: \"Art\",\n description: \"Digital and physical artwork, illustrations, generative art\",\n icon: Palette,\n color: { bg: \"bg-purple-500/10\", text: \"text-purple-400\", border: \"border-purple-500/20\" },\n traitSuggestions: [\n { key: \"Medium\", placeholder: \"Oil on canvas\" },\n { key: \"Style\", placeholder: \"Impressionism\" },\n { key: \"Materials\" },\n { key: \"Series\" },\n ],\n },\n Photography: {\n type: \"Photography\",\n label: \"Photography\",\n description: \"Photography, photo essays, visual documentation\",\n icon: Camera,\n color: { bg: \"bg-orange-500/10\", text: \"text-orange-400\", border: \"border-orange-500/20\" },\n traitSuggestions: [\n { key: \"Camera\", placeholder: \"Sony A7 IV\" },\n { key: \"Location\" },\n { key: \"Series\" },\n { key: \"Edition\" },\n ],\n },\n Posts: {\n type: \"Posts\",\n label: \"Posts\",\n description: \"Articles, blog posts, social media content, essays\",\n icon: MessageSquare,\n color: { bg: \"bg-sky-500/10\", text: \"text-sky-400\", border: \"border-sky-500/20\" },\n socials: [\"x\", \"instagram\", \"facebook\", \"tiktok\", \"website\"],\n traitSuggestions: [\n { key: \"Author\" }, { key: \"Topic\" }, { key: \"Category\" },\n ],\n },\n Publications: {\n type: \"Publications\",\n label: \"Publications\",\n description: \"Books, journals, magazines, academic papers\",\n icon: BookOpen,\n color: { bg: \"bg-indigo-500/10\", text: \"text-indigo-400\", border: \"border-indigo-500/20\" },\n socials: [\"x\", \"instagram\", \"website\"],\n traitSuggestions: [\n { key: \"Author\" }, { key: \"Publisher\" }, { key: \"Language\", placeholder: \"English\" }, { key: \"Edition\" },\n ],\n },\n Documents: {\n type: \"Documents\",\n label: \"Documents\",\n description: \"Contracts, reports, whitepapers, legal documents\",\n icon: FileText,\n color: { bg: \"bg-zinc-500/10\", text: \"text-zinc-400\", border: \"border-zinc-500/20\" },\n traitSuggestions: [\n { key: \"Author\" }, { key: \"Category\" }, { key: \"Language\", placeholder: \"English\" },\n ],\n },\n Patents: {\n type: \"Patents\",\n label: \"Patents\",\n description: \"Patents, inventions, technical innovations\",\n icon: Award,\n color: { bg: \"bg-amber-500/10\", text: \"text-amber-400\", border: \"border-amber-500/20\" },\n traitSuggestions: [\n { key: \"Inventor\" }, { key: \"Field\" }, { key: \"Status\" },\n ],\n },\n Software: {\n type: \"Software\",\n label: \"Software\",\n description: \"Applications, scripts, algorithms, code libraries\",\n icon: Code2,\n color: { bg: \"bg-violet-500/10\", text: \"text-violet-400\", border: \"border-violet-500/20\" },\n socials: [\"website\"],\n traitSuggestions: [\n { key: \"Language\", placeholder: \"TypeScript\" }, { key: \"License\" }, { key: \"Platform\" },\n ],\n },\n NFT: {\n type: \"NFT\",\n label: \"NFT\",\n description: \"Blockchain-native digital assets and collectibles\",\n icon: Hexagon,\n color: { bg: \"bg-teal-500/10\", text: \"text-teal-400\", border: \"border-teal-500/20\" },\n traitSuggestions: [\n { key: \"Collection\" },\n { key: \"Edition\" },\n { key: \"Rarity\", options: [\"Common\", \"Uncommon\", \"Rare\", \"Epic\", \"Legendary\"] },\n ],\n },\n RWA: {\n type: \"RWA\",\n label: \"Real World Asset\",\n description: \"Tokenized physical assets: real estate, commodities, collectibles\",\n icon: Building2,\n color: { bg: \"bg-emerald-500/10\", text: \"text-emerald-400\", border: \"border-emerald-500/20\" },\n traitSuggestions: [\n { key: \"Asset Type\" }, { key: \"Location\" }, { key: \"Category\" },\n ],\n },\n Custom: {\n type: \"Custom\",\n label: \"Custom\",\n description: \"Custom IP type — add your own trait pairs for any metadata\",\n icon: Layers,\n color: { bg: \"bg-muted/50\", text: \"text-muted-foreground\", border: \"border-border\" },\n },\n};\n\n/**\n * All trait_type keys owned by templates (embeds + socials + suggestions), plus\n * \"IP Type\" itself. Used to filter template-managed attributes out of other\n * attribute grids so they aren't duplicated.\n */\nexport const TEMPLATE_TRAIT_TYPES = new Set<string>([\n \"IP Type\",\n ...Object.values(EMBED_PLATFORM_META).map((m) => m.traitKey),\n ...Object.values(SOCIAL_PLATFORM_META).map((m) => m.traitKey),\n ...Object.values(IP_TEMPLATES).flatMap((t) => (t.traitSuggestions ?? []).map((s) => s.key)),\n]);\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { LucideIcon } from 'lucide-react';
|
|
2
|
+
import { IPType } from './ip.cjs';
|
|
3
|
+
|
|
4
|
+
type EmbedPlatform = "spotify" | "soundcloud" | "youtube" | "tiktok" | "vimeo";
|
|
5
|
+
declare const EMBED_PLATFORM_META: Record<EmbedPlatform, {
|
|
6
|
+
label: string;
|
|
7
|
+
icon: LucideIcon;
|
|
8
|
+
traitKey: string;
|
|
9
|
+
placeholder: string;
|
|
10
|
+
}>;
|
|
11
|
+
type SocialPlatform = "x" | "instagram" | "facebook" | "tiktok" | "website";
|
|
12
|
+
declare const SOCIAL_PLATFORM_META: Record<SocialPlatform, {
|
|
13
|
+
label: string;
|
|
14
|
+
icon: LucideIcon;
|
|
15
|
+
traitKey: string;
|
|
16
|
+
placeholder: string;
|
|
17
|
+
}>;
|
|
18
|
+
interface TraitSuggestion {
|
|
19
|
+
key: string;
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
options?: string[];
|
|
22
|
+
}
|
|
23
|
+
interface IPTemplate {
|
|
24
|
+
type: IPType;
|
|
25
|
+
label: string;
|
|
26
|
+
description: string;
|
|
27
|
+
icon: LucideIcon;
|
|
28
|
+
color: {
|
|
29
|
+
bg: string;
|
|
30
|
+
text: string;
|
|
31
|
+
border: string;
|
|
32
|
+
};
|
|
33
|
+
embeds?: EmbedPlatform[];
|
|
34
|
+
socials?: SocialPlatform[];
|
|
35
|
+
traitSuggestions?: TraitSuggestion[];
|
|
36
|
+
}
|
|
37
|
+
declare const IP_TEMPLATES: Record<IPType, IPTemplate>;
|
|
38
|
+
/**
|
|
39
|
+
* All trait_type keys owned by templates (embeds + socials + suggestions), plus
|
|
40
|
+
* "IP Type" itself. Used to filter template-managed attributes out of other
|
|
41
|
+
* attribute grids so they aren't duplicated.
|
|
42
|
+
*/
|
|
43
|
+
declare const TEMPLATE_TRAIT_TYPES: Set<string>;
|
|
44
|
+
|
|
45
|
+
export { EMBED_PLATFORM_META, type EmbedPlatform, type IPTemplate, IP_TEMPLATES, SOCIAL_PLATFORM_META, type SocialPlatform, TEMPLATE_TRAIT_TYPES, type TraitSuggestion };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { LucideIcon } from 'lucide-react';
|
|
2
|
+
import { IPType } from './ip.js';
|
|
3
|
+
|
|
4
|
+
type EmbedPlatform = "spotify" | "soundcloud" | "youtube" | "tiktok" | "vimeo";
|
|
5
|
+
declare const EMBED_PLATFORM_META: Record<EmbedPlatform, {
|
|
6
|
+
label: string;
|
|
7
|
+
icon: LucideIcon;
|
|
8
|
+
traitKey: string;
|
|
9
|
+
placeholder: string;
|
|
10
|
+
}>;
|
|
11
|
+
type SocialPlatform = "x" | "instagram" | "facebook" | "tiktok" | "website";
|
|
12
|
+
declare const SOCIAL_PLATFORM_META: Record<SocialPlatform, {
|
|
13
|
+
label: string;
|
|
14
|
+
icon: LucideIcon;
|
|
15
|
+
traitKey: string;
|
|
16
|
+
placeholder: string;
|
|
17
|
+
}>;
|
|
18
|
+
interface TraitSuggestion {
|
|
19
|
+
key: string;
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
options?: string[];
|
|
22
|
+
}
|
|
23
|
+
interface IPTemplate {
|
|
24
|
+
type: IPType;
|
|
25
|
+
label: string;
|
|
26
|
+
description: string;
|
|
27
|
+
icon: LucideIcon;
|
|
28
|
+
color: {
|
|
29
|
+
bg: string;
|
|
30
|
+
text: string;
|
|
31
|
+
border: string;
|
|
32
|
+
};
|
|
33
|
+
embeds?: EmbedPlatform[];
|
|
34
|
+
socials?: SocialPlatform[];
|
|
35
|
+
traitSuggestions?: TraitSuggestion[];
|
|
36
|
+
}
|
|
37
|
+
declare const IP_TEMPLATES: Record<IPType, IPTemplate>;
|
|
38
|
+
/**
|
|
39
|
+
* All trait_type keys owned by templates (embeds + socials + suggestions), plus
|
|
40
|
+
* "IP Type" itself. Used to filter template-managed attributes out of other
|
|
41
|
+
* attribute grids so they aren't duplicated.
|
|
42
|
+
*/
|
|
43
|
+
declare const TEMPLATE_TRAIT_TYPES: Set<string>;
|
|
44
|
+
|
|
45
|
+
export { EMBED_PLATFORM_META, type EmbedPlatform, type IPTemplate, IP_TEMPLATES, SOCIAL_PLATFORM_META, type SocialPlatform, TEMPLATE_TRAIT_TYPES, type TraitSuggestion };
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Music,
|
|
3
|
+
Palette,
|
|
4
|
+
FileText,
|
|
5
|
+
Hexagon,
|
|
6
|
+
Clapperboard,
|
|
7
|
+
Camera,
|
|
8
|
+
Award,
|
|
9
|
+
MessageSquare,
|
|
10
|
+
BookOpen,
|
|
11
|
+
Building2,
|
|
12
|
+
Code2,
|
|
13
|
+
Layers,
|
|
14
|
+
Music2,
|
|
15
|
+
AudioLines,
|
|
16
|
+
Youtube,
|
|
17
|
+
Video,
|
|
18
|
+
Twitter,
|
|
19
|
+
Instagram,
|
|
20
|
+
Facebook,
|
|
21
|
+
Globe
|
|
22
|
+
} from "lucide-react";
|
|
23
|
+
const EMBED_PLATFORM_META = {
|
|
24
|
+
spotify: { label: "Spotify", icon: Music2, traitKey: "Spotify URL", placeholder: "https://open.spotify.com/\u2026" },
|
|
25
|
+
soundcloud: { label: "SoundCloud", icon: AudioLines, traitKey: "SoundCloud URL", placeholder: "https://soundcloud.com/\u2026" },
|
|
26
|
+
youtube: { label: "YouTube", icon: Youtube, traitKey: "YouTube URL", placeholder: "https://youtube.com/watch?v=\u2026" },
|
|
27
|
+
tiktok: { label: "TikTok", icon: Video, traitKey: "TikTok URL", placeholder: "https://tiktok.com/@\u2026/video/\u2026" },
|
|
28
|
+
vimeo: { label: "Vimeo", icon: Video, traitKey: "Vimeo URL", placeholder: "https://vimeo.com/\u2026" }
|
|
29
|
+
};
|
|
30
|
+
const SOCIAL_PLATFORM_META = {
|
|
31
|
+
x: { label: "X", icon: Twitter, traitKey: "X", placeholder: "https://x.com/\u2026" },
|
|
32
|
+
instagram: { label: "Instagram", icon: Instagram, traitKey: "Instagram", placeholder: "https://instagram.com/\u2026" },
|
|
33
|
+
facebook: { label: "Facebook", icon: Facebook, traitKey: "Facebook", placeholder: "https://facebook.com/\u2026" },
|
|
34
|
+
tiktok: { label: "TikTok", icon: Video, traitKey: "TikTok", placeholder: "https://tiktok.com/@\u2026" },
|
|
35
|
+
website: { label: "Website", icon: Globe, traitKey: "Website", placeholder: "https://\u2026" }
|
|
36
|
+
};
|
|
37
|
+
const IP_TEMPLATES = {
|
|
38
|
+
Audio: {
|
|
39
|
+
type: "Audio",
|
|
40
|
+
label: "Audio",
|
|
41
|
+
description: "Music, podcasts, sound effects, audio art",
|
|
42
|
+
icon: Music,
|
|
43
|
+
color: { bg: "bg-blue-500/10", text: "text-blue-400", border: "border-blue-500/20" },
|
|
44
|
+
embeds: ["spotify", "soundcloud"],
|
|
45
|
+
traitSuggestions: [
|
|
46
|
+
{ key: "Artist" },
|
|
47
|
+
{ key: "Genre", placeholder: "Soundtrack" },
|
|
48
|
+
{ key: "Mood" },
|
|
49
|
+
{ key: "Label" }
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
Video: {
|
|
53
|
+
type: "Video",
|
|
54
|
+
label: "Video",
|
|
55
|
+
description: "Films, animations, short-form video content",
|
|
56
|
+
icon: Clapperboard,
|
|
57
|
+
color: { bg: "bg-red-500/10", text: "text-red-400", border: "border-red-500/20" },
|
|
58
|
+
embeds: ["youtube", "tiktok", "vimeo"],
|
|
59
|
+
traitSuggestions: [
|
|
60
|
+
{ key: "Director" },
|
|
61
|
+
{ key: "Genre" },
|
|
62
|
+
{ key: "Cast" },
|
|
63
|
+
{ key: "Studio" }
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
Art: {
|
|
67
|
+
type: "Art",
|
|
68
|
+
label: "Art",
|
|
69
|
+
description: "Digital and physical artwork, illustrations, generative art",
|
|
70
|
+
icon: Palette,
|
|
71
|
+
color: { bg: "bg-purple-500/10", text: "text-purple-400", border: "border-purple-500/20" },
|
|
72
|
+
traitSuggestions: [
|
|
73
|
+
{ key: "Medium", placeholder: "Oil on canvas" },
|
|
74
|
+
{ key: "Style", placeholder: "Impressionism" },
|
|
75
|
+
{ key: "Materials" },
|
|
76
|
+
{ key: "Series" }
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
Photography: {
|
|
80
|
+
type: "Photography",
|
|
81
|
+
label: "Photography",
|
|
82
|
+
description: "Photography, photo essays, visual documentation",
|
|
83
|
+
icon: Camera,
|
|
84
|
+
color: { bg: "bg-orange-500/10", text: "text-orange-400", border: "border-orange-500/20" },
|
|
85
|
+
traitSuggestions: [
|
|
86
|
+
{ key: "Camera", placeholder: "Sony A7 IV" },
|
|
87
|
+
{ key: "Location" },
|
|
88
|
+
{ key: "Series" },
|
|
89
|
+
{ key: "Edition" }
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
Posts: {
|
|
93
|
+
type: "Posts",
|
|
94
|
+
label: "Posts",
|
|
95
|
+
description: "Articles, blog posts, social media content, essays",
|
|
96
|
+
icon: MessageSquare,
|
|
97
|
+
color: { bg: "bg-sky-500/10", text: "text-sky-400", border: "border-sky-500/20" },
|
|
98
|
+
socials: ["x", "instagram", "facebook", "tiktok", "website"],
|
|
99
|
+
traitSuggestions: [
|
|
100
|
+
{ key: "Author" },
|
|
101
|
+
{ key: "Topic" },
|
|
102
|
+
{ key: "Category" }
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
Publications: {
|
|
106
|
+
type: "Publications",
|
|
107
|
+
label: "Publications",
|
|
108
|
+
description: "Books, journals, magazines, academic papers",
|
|
109
|
+
icon: BookOpen,
|
|
110
|
+
color: { bg: "bg-indigo-500/10", text: "text-indigo-400", border: "border-indigo-500/20" },
|
|
111
|
+
socials: ["x", "instagram", "website"],
|
|
112
|
+
traitSuggestions: [
|
|
113
|
+
{ key: "Author" },
|
|
114
|
+
{ key: "Publisher" },
|
|
115
|
+
{ key: "Language", placeholder: "English" },
|
|
116
|
+
{ key: "Edition" }
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
Documents: {
|
|
120
|
+
type: "Documents",
|
|
121
|
+
label: "Documents",
|
|
122
|
+
description: "Contracts, reports, whitepapers, legal documents",
|
|
123
|
+
icon: FileText,
|
|
124
|
+
color: { bg: "bg-zinc-500/10", text: "text-zinc-400", border: "border-zinc-500/20" },
|
|
125
|
+
traitSuggestions: [
|
|
126
|
+
{ key: "Author" },
|
|
127
|
+
{ key: "Category" },
|
|
128
|
+
{ key: "Language", placeholder: "English" }
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
Patents: {
|
|
132
|
+
type: "Patents",
|
|
133
|
+
label: "Patents",
|
|
134
|
+
description: "Patents, inventions, technical innovations",
|
|
135
|
+
icon: Award,
|
|
136
|
+
color: { bg: "bg-amber-500/10", text: "text-amber-400", border: "border-amber-500/20" },
|
|
137
|
+
traitSuggestions: [
|
|
138
|
+
{ key: "Inventor" },
|
|
139
|
+
{ key: "Field" },
|
|
140
|
+
{ key: "Status" }
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
Software: {
|
|
144
|
+
type: "Software",
|
|
145
|
+
label: "Software",
|
|
146
|
+
description: "Applications, scripts, algorithms, code libraries",
|
|
147
|
+
icon: Code2,
|
|
148
|
+
color: { bg: "bg-violet-500/10", text: "text-violet-400", border: "border-violet-500/20" },
|
|
149
|
+
socials: ["website"],
|
|
150
|
+
traitSuggestions: [
|
|
151
|
+
{ key: "Language", placeholder: "TypeScript" },
|
|
152
|
+
{ key: "License" },
|
|
153
|
+
{ key: "Platform" }
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
NFT: {
|
|
157
|
+
type: "NFT",
|
|
158
|
+
label: "NFT",
|
|
159
|
+
description: "Blockchain-native digital assets and collectibles",
|
|
160
|
+
icon: Hexagon,
|
|
161
|
+
color: { bg: "bg-teal-500/10", text: "text-teal-400", border: "border-teal-500/20" },
|
|
162
|
+
traitSuggestions: [
|
|
163
|
+
{ key: "Collection" },
|
|
164
|
+
{ key: "Edition" },
|
|
165
|
+
{ key: "Rarity", options: ["Common", "Uncommon", "Rare", "Epic", "Legendary"] }
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
RWA: {
|
|
169
|
+
type: "RWA",
|
|
170
|
+
label: "Real World Asset",
|
|
171
|
+
description: "Tokenized physical assets: real estate, commodities, collectibles",
|
|
172
|
+
icon: Building2,
|
|
173
|
+
color: { bg: "bg-emerald-500/10", text: "text-emerald-400", border: "border-emerald-500/20" },
|
|
174
|
+
traitSuggestions: [
|
|
175
|
+
{ key: "Asset Type" },
|
|
176
|
+
{ key: "Location" },
|
|
177
|
+
{ key: "Category" }
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
Custom: {
|
|
181
|
+
type: "Custom",
|
|
182
|
+
label: "Custom",
|
|
183
|
+
description: "Custom IP type \u2014 add your own trait pairs for any metadata",
|
|
184
|
+
icon: Layers,
|
|
185
|
+
color: { bg: "bg-muted/50", text: "text-muted-foreground", border: "border-border" }
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
const TEMPLATE_TRAIT_TYPES = /* @__PURE__ */ new Set([
|
|
189
|
+
"IP Type",
|
|
190
|
+
...Object.values(EMBED_PLATFORM_META).map((m) => m.traitKey),
|
|
191
|
+
...Object.values(SOCIAL_PLATFORM_META).map((m) => m.traitKey),
|
|
192
|
+
...Object.values(IP_TEMPLATES).flatMap((t) => (t.traitSuggestions ?? []).map((s) => s.key))
|
|
193
|
+
]);
|
|
194
|
+
export {
|
|
195
|
+
EMBED_PLATFORM_META,
|
|
196
|
+
IP_TEMPLATES,
|
|
197
|
+
SOCIAL_PLATFORM_META,
|
|
198
|
+
TEMPLATE_TRAIT_TYPES
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=ip-templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/data/ip-templates.ts"],"sourcesContent":["import {\n Music, Palette, FileText, Hexagon, Clapperboard, Camera,\n Award, MessageSquare, BookOpen, Building2, Code2, Layers,\n Music2, AudioLines, Youtube, Video, Twitter, Instagram, Facebook, Globe,\n type LucideIcon,\n} from \"lucide-react\";\nimport type { IPType } from \"./ip.js\";\n\n// ── Embeds (inline iframe players) ──────────────────────────────────────────\n// Only platforms with clean iframe embeds. Each maps to a stored trait_type key\n// so the asset page can render the player from metadata attributes.\nexport type EmbedPlatform = \"spotify\" | \"soundcloud\" | \"youtube\" | \"tiktok\" | \"vimeo\";\n\nexport const EMBED_PLATFORM_META: Record<\n EmbedPlatform,\n { label: string; icon: LucideIcon; traitKey: string; placeholder: string }\n> = {\n spotify: { label: \"Spotify\", icon: Music2, traitKey: \"Spotify URL\", placeholder: \"https://open.spotify.com/…\" },\n soundcloud: { label: \"SoundCloud\", icon: AudioLines, traitKey: \"SoundCloud URL\", placeholder: \"https://soundcloud.com/…\" },\n youtube: { label: \"YouTube\", icon: Youtube, traitKey: \"YouTube URL\", placeholder: \"https://youtube.com/watch?v=…\" },\n tiktok: { label: \"TikTok\", icon: Video, traitKey: \"TikTok URL\", placeholder: \"https://tiktok.com/@…/video/…\" },\n vimeo: { label: \"Vimeo\", icon: Video, traitKey: \"Vimeo URL\", placeholder: \"https://vimeo.com/…\" },\n};\n\n// ── Socials (icon-chip links — open in a new tab, never iframed) ────────────\n// X / Instagram / Facebook need fragile JS SDKs and sites block iframing, so\n// these render as clickable platform chips on the asset page, not players.\nexport type SocialPlatform = \"x\" | \"instagram\" | \"facebook\" | \"tiktok\" | \"website\";\n\nexport const SOCIAL_PLATFORM_META: Record<\n SocialPlatform,\n { label: string; icon: LucideIcon; traitKey: string; placeholder: string }\n> = {\n x: { label: \"X\", icon: Twitter, traitKey: \"X\", placeholder: \"https://x.com/…\" },\n instagram: { label: \"Instagram\", icon: Instagram, traitKey: \"Instagram\", placeholder: \"https://instagram.com/…\" },\n facebook: { label: \"Facebook\", icon: Facebook, traitKey: \"Facebook\", placeholder: \"https://facebook.com/…\" },\n tiktok: { label: \"TikTok\", icon: Video, traitKey: \"TikTok\", placeholder: \"https://tiktok.com/@…\" },\n website: { label: \"Website\", icon: Globe, traitKey: \"Website\", placeholder: \"https://…\" },\n};\n\n// ── Trait suggestions (friendly, no dates / no technical fields) ────────────\n// Tapping a suggestion pre-fills a trait row. Optional `options` renders the\n// value as a select (e.g. Rarity).\nexport interface TraitSuggestion {\n key: string;\n placeholder?: string;\n options?: string[];\n}\n\nexport interface IPTemplate {\n type: IPType;\n label: string;\n description: string;\n icon: LucideIcon;\n color: { bg: string; text: string; border: string };\n embeds?: EmbedPlatform[];\n socials?: SocialPlatform[];\n traitSuggestions?: TraitSuggestion[];\n}\n\nexport const IP_TEMPLATES: Record<IPType, IPTemplate> = {\n Audio: {\n type: \"Audio\",\n label: \"Audio\",\n description: \"Music, podcasts, sound effects, audio art\",\n icon: Music,\n color: { bg: \"bg-blue-500/10\", text: \"text-blue-400\", border: \"border-blue-500/20\" },\n embeds: [\"spotify\", \"soundcloud\"],\n traitSuggestions: [\n { key: \"Artist\" }, { key: \"Genre\", placeholder: \"Soundtrack\" }, { key: \"Mood\" }, { key: \"Label\" },\n ],\n },\n Video: {\n type: \"Video\",\n label: \"Video\",\n description: \"Films, animations, short-form video content\",\n icon: Clapperboard,\n color: { bg: \"bg-red-500/10\", text: \"text-red-400\", border: \"border-red-500/20\" },\n embeds: [\"youtube\", \"tiktok\", \"vimeo\"],\n traitSuggestions: [\n { key: \"Director\" }, { key: \"Genre\" }, { key: \"Cast\" }, { key: \"Studio\" },\n ],\n },\n Art: {\n type: \"Art\",\n label: \"Art\",\n description: \"Digital and physical artwork, illustrations, generative art\",\n icon: Palette,\n color: { bg: \"bg-purple-500/10\", text: \"text-purple-400\", border: \"border-purple-500/20\" },\n traitSuggestions: [\n { key: \"Medium\", placeholder: \"Oil on canvas\" },\n { key: \"Style\", placeholder: \"Impressionism\" },\n { key: \"Materials\" },\n { key: \"Series\" },\n ],\n },\n Photography: {\n type: \"Photography\",\n label: \"Photography\",\n description: \"Photography, photo essays, visual documentation\",\n icon: Camera,\n color: { bg: \"bg-orange-500/10\", text: \"text-orange-400\", border: \"border-orange-500/20\" },\n traitSuggestions: [\n { key: \"Camera\", placeholder: \"Sony A7 IV\" },\n { key: \"Location\" },\n { key: \"Series\" },\n { key: \"Edition\" },\n ],\n },\n Posts: {\n type: \"Posts\",\n label: \"Posts\",\n description: \"Articles, blog posts, social media content, essays\",\n icon: MessageSquare,\n color: { bg: \"bg-sky-500/10\", text: \"text-sky-400\", border: \"border-sky-500/20\" },\n socials: [\"x\", \"instagram\", \"facebook\", \"tiktok\", \"website\"],\n traitSuggestions: [\n { key: \"Author\" }, { key: \"Topic\" }, { key: \"Category\" },\n ],\n },\n Publications: {\n type: \"Publications\",\n label: \"Publications\",\n description: \"Books, journals, magazines, academic papers\",\n icon: BookOpen,\n color: { bg: \"bg-indigo-500/10\", text: \"text-indigo-400\", border: \"border-indigo-500/20\" },\n socials: [\"x\", \"instagram\", \"website\"],\n traitSuggestions: [\n { key: \"Author\" }, { key: \"Publisher\" }, { key: \"Language\", placeholder: \"English\" }, { key: \"Edition\" },\n ],\n },\n Documents: {\n type: \"Documents\",\n label: \"Documents\",\n description: \"Contracts, reports, whitepapers, legal documents\",\n icon: FileText,\n color: { bg: \"bg-zinc-500/10\", text: \"text-zinc-400\", border: \"border-zinc-500/20\" },\n traitSuggestions: [\n { key: \"Author\" }, { key: \"Category\" }, { key: \"Language\", placeholder: \"English\" },\n ],\n },\n Patents: {\n type: \"Patents\",\n label: \"Patents\",\n description: \"Patents, inventions, technical innovations\",\n icon: Award,\n color: { bg: \"bg-amber-500/10\", text: \"text-amber-400\", border: \"border-amber-500/20\" },\n traitSuggestions: [\n { key: \"Inventor\" }, { key: \"Field\" }, { key: \"Status\" },\n ],\n },\n Software: {\n type: \"Software\",\n label: \"Software\",\n description: \"Applications, scripts, algorithms, code libraries\",\n icon: Code2,\n color: { bg: \"bg-violet-500/10\", text: \"text-violet-400\", border: \"border-violet-500/20\" },\n socials: [\"website\"],\n traitSuggestions: [\n { key: \"Language\", placeholder: \"TypeScript\" }, { key: \"License\" }, { key: \"Platform\" },\n ],\n },\n NFT: {\n type: \"NFT\",\n label: \"NFT\",\n description: \"Blockchain-native digital assets and collectibles\",\n icon: Hexagon,\n color: { bg: \"bg-teal-500/10\", text: \"text-teal-400\", border: \"border-teal-500/20\" },\n traitSuggestions: [\n { key: \"Collection\" },\n { key: \"Edition\" },\n { key: \"Rarity\", options: [\"Common\", \"Uncommon\", \"Rare\", \"Epic\", \"Legendary\"] },\n ],\n },\n RWA: {\n type: \"RWA\",\n label: \"Real World Asset\",\n description: \"Tokenized physical assets: real estate, commodities, collectibles\",\n icon: Building2,\n color: { bg: \"bg-emerald-500/10\", text: \"text-emerald-400\", border: \"border-emerald-500/20\" },\n traitSuggestions: [\n { key: \"Asset Type\" }, { key: \"Location\" }, { key: \"Category\" },\n ],\n },\n Custom: {\n type: \"Custom\",\n label: \"Custom\",\n description: \"Custom IP type — add your own trait pairs for any metadata\",\n icon: Layers,\n color: { bg: \"bg-muted/50\", text: \"text-muted-foreground\", border: \"border-border\" },\n },\n};\n\n/**\n * All trait_type keys owned by templates (embeds + socials + suggestions), plus\n * \"IP Type\" itself. Used to filter template-managed attributes out of other\n * attribute grids so they aren't duplicated.\n */\nexport const TEMPLATE_TRAIT_TYPES = new Set<string>([\n \"IP Type\",\n ...Object.values(EMBED_PLATFORM_META).map((m) => m.traitKey),\n ...Object.values(SOCIAL_PLATFORM_META).map((m) => m.traitKey),\n ...Object.values(IP_TEMPLATES).flatMap((t) => (t.traitSuggestions ?? []).map((s) => s.key)),\n]);\n"],"mappings":"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","names":[]}
|
package/dist/data/ip.cjs
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ip_exports = {};
|
|
20
|
+
__export(ip_exports, {
|
|
21
|
+
AI_POLICIES: () => AI_POLICIES,
|
|
22
|
+
DERIVATIVES_OPTIONS: () => DERIVATIVES_OPTIONS,
|
|
23
|
+
GEOGRAPHIC_SCOPES: () => GEOGRAPHIC_SCOPES,
|
|
24
|
+
IP_TYPES: () => IP_TYPES,
|
|
25
|
+
LICENSE_TRAIT_TYPES: () => LICENSE_TRAIT_TYPES,
|
|
26
|
+
LICENSE_TYPES: () => LICENSE_TYPES
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(ip_exports);
|
|
29
|
+
const IP_TYPES = [
|
|
30
|
+
"Audio",
|
|
31
|
+
"Art",
|
|
32
|
+
"Documents",
|
|
33
|
+
"NFT",
|
|
34
|
+
"Video",
|
|
35
|
+
"Photography",
|
|
36
|
+
"Patents",
|
|
37
|
+
"Posts",
|
|
38
|
+
"Publications",
|
|
39
|
+
"RWA",
|
|
40
|
+
"Software",
|
|
41
|
+
"Custom"
|
|
42
|
+
];
|
|
43
|
+
const LICENSE_TYPES = [
|
|
44
|
+
{
|
|
45
|
+
value: "All Rights Reserved",
|
|
46
|
+
label: "All Rights Reserved",
|
|
47
|
+
description: "No permissions granted beyond viewing.",
|
|
48
|
+
commercialUse: "No",
|
|
49
|
+
derivatives: "Not Allowed",
|
|
50
|
+
attribution: "Required"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
value: "CC0",
|
|
54
|
+
label: "CC0 \u2014 Public Domain",
|
|
55
|
+
description: "No rights reserved. Anyone can use for any purpose.",
|
|
56
|
+
commercialUse: "Yes",
|
|
57
|
+
derivatives: "Allowed",
|
|
58
|
+
attribution: "Not Required"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
value: "CC BY",
|
|
62
|
+
label: "CC BY \u2014 Attribution",
|
|
63
|
+
description: "Free to use commercially with attribution.",
|
|
64
|
+
commercialUse: "Yes",
|
|
65
|
+
derivatives: "Allowed",
|
|
66
|
+
attribution: "Required"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
value: "CC BY-SA",
|
|
70
|
+
label: "CC BY-SA \u2014 Attribution ShareAlike",
|
|
71
|
+
description: "Free to use with attribution; derivatives must use the same license.",
|
|
72
|
+
commercialUse: "Yes",
|
|
73
|
+
derivatives: "Share-Alike",
|
|
74
|
+
attribution: "Required"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
value: "CC BY-NC",
|
|
78
|
+
label: "CC BY-NC \u2014 Attribution NonCommercial",
|
|
79
|
+
description: "Free for non-commercial use with attribution.",
|
|
80
|
+
commercialUse: "No",
|
|
81
|
+
derivatives: "Allowed",
|
|
82
|
+
attribution: "Required"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
value: "CC BY-ND",
|
|
86
|
+
label: "CC BY-ND \u2014 Attribution NoDerivatives",
|
|
87
|
+
description: "Free to share with attribution; no modifications allowed.",
|
|
88
|
+
commercialUse: "Yes",
|
|
89
|
+
derivatives: "Not Allowed",
|
|
90
|
+
attribution: "Required"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
value: "CC BY-NC-SA",
|
|
94
|
+
label: "CC BY-NC-SA \u2014 Attribution NonCommercial ShareAlike",
|
|
95
|
+
description: "Non-commercial use with attribution; derivatives must use same license.",
|
|
96
|
+
commercialUse: "No",
|
|
97
|
+
derivatives: "Share-Alike",
|
|
98
|
+
attribution: "Required"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
value: "CC BY-NC-ND",
|
|
102
|
+
label: "CC BY-NC-ND \u2014 Attribution NonCommercial NoDerivatives",
|
|
103
|
+
description: "Non-commercial sharing only; no modifications allowed.",
|
|
104
|
+
commercialUse: "No",
|
|
105
|
+
derivatives: "Not Allowed",
|
|
106
|
+
attribution: "Required"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
value: "MIT",
|
|
110
|
+
label: "MIT License",
|
|
111
|
+
description: "Open source software license permitting reuse with attribution.",
|
|
112
|
+
commercialUse: "Yes",
|
|
113
|
+
derivatives: "Allowed",
|
|
114
|
+
attribution: "Required"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
value: "Apache 2.0",
|
|
118
|
+
label: "Apache 2.0",
|
|
119
|
+
description: "Open source license with patent protection.",
|
|
120
|
+
commercialUse: "Yes",
|
|
121
|
+
derivatives: "Allowed",
|
|
122
|
+
attribution: "Required"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
value: "Custom",
|
|
126
|
+
label: "Custom License",
|
|
127
|
+
description: "Define your own terms in the description.",
|
|
128
|
+
commercialUse: "No",
|
|
129
|
+
derivatives: "Not Allowed",
|
|
130
|
+
attribution: "Required"
|
|
131
|
+
}
|
|
132
|
+
];
|
|
133
|
+
const GEOGRAPHIC_SCOPES = [
|
|
134
|
+
"Worldwide",
|
|
135
|
+
"North America",
|
|
136
|
+
"Europe",
|
|
137
|
+
"Asia-Pacific",
|
|
138
|
+
"Latin America",
|
|
139
|
+
"Middle East & Africa"
|
|
140
|
+
];
|
|
141
|
+
const AI_POLICIES = ["Allowed", "Not Allowed", "Training Only"];
|
|
142
|
+
const DERIVATIVES_OPTIONS = ["Allowed", "Not Allowed", "Share-Alike"];
|
|
143
|
+
const LICENSE_TRAIT_TYPES = /* @__PURE__ */ new Set([
|
|
144
|
+
"License",
|
|
145
|
+
"Commercial Use",
|
|
146
|
+
"Derivatives",
|
|
147
|
+
"Attribution",
|
|
148
|
+
"Territory",
|
|
149
|
+
"AI Policy",
|
|
150
|
+
"Royalty",
|
|
151
|
+
"Standard",
|
|
152
|
+
"Registration"
|
|
153
|
+
]);
|
|
154
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
155
|
+
0 && (module.exports = {
|
|
156
|
+
AI_POLICIES,
|
|
157
|
+
DERIVATIVES_OPTIONS,
|
|
158
|
+
GEOGRAPHIC_SCOPES,
|
|
159
|
+
IP_TYPES,
|
|
160
|
+
LICENSE_TRAIT_TYPES,
|
|
161
|
+
LICENSE_TYPES
|
|
162
|
+
});
|
|
163
|
+
//# sourceMappingURL=ip.cjs.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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare const IP_TYPES: readonly ["Audio", "Art", "Documents", "NFT", "Video", "Photography", "Patents", "Posts", "Publications", "RWA", "Software", "Custom"];
|
|
2
|
+
type IPType = (typeof IP_TYPES)[number];
|
|
3
|
+
interface LicenseType {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
description: string;
|
|
7
|
+
commercialUse: "Yes" | "No";
|
|
8
|
+
derivatives: "Allowed" | "Not Allowed" | "Share-Alike";
|
|
9
|
+
attribution: "Required" | "Not Required";
|
|
10
|
+
}
|
|
11
|
+
declare const LICENSE_TYPES: LicenseType[];
|
|
12
|
+
declare const GEOGRAPHIC_SCOPES: readonly ["Worldwide", "North America", "Europe", "Asia-Pacific", "Latin America", "Middle East & Africa"];
|
|
13
|
+
declare const AI_POLICIES: readonly ["Allowed", "Not Allowed", "Training Only"];
|
|
14
|
+
declare const DERIVATIVES_OPTIONS: readonly ["Allowed", "Not Allowed", "Share-Alike"];
|
|
15
|
+
/** Trait types that represent IP licensing metadata in the attributes array. */
|
|
16
|
+
declare const LICENSE_TRAIT_TYPES: Set<string>;
|
|
17
|
+
|
|
18
|
+
export { AI_POLICIES, DERIVATIVES_OPTIONS, GEOGRAPHIC_SCOPES, type IPType, IP_TYPES, LICENSE_TRAIT_TYPES, LICENSE_TYPES, type LicenseType };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare const IP_TYPES: readonly ["Audio", "Art", "Documents", "NFT", "Video", "Photography", "Patents", "Posts", "Publications", "RWA", "Software", "Custom"];
|
|
2
|
+
type IPType = (typeof IP_TYPES)[number];
|
|
3
|
+
interface LicenseType {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
description: string;
|
|
7
|
+
commercialUse: "Yes" | "No";
|
|
8
|
+
derivatives: "Allowed" | "Not Allowed" | "Share-Alike";
|
|
9
|
+
attribution: "Required" | "Not Required";
|
|
10
|
+
}
|
|
11
|
+
declare const LICENSE_TYPES: LicenseType[];
|
|
12
|
+
declare const GEOGRAPHIC_SCOPES: readonly ["Worldwide", "North America", "Europe", "Asia-Pacific", "Latin America", "Middle East & Africa"];
|
|
13
|
+
declare const AI_POLICIES: readonly ["Allowed", "Not Allowed", "Training Only"];
|
|
14
|
+
declare const DERIVATIVES_OPTIONS: readonly ["Allowed", "Not Allowed", "Share-Alike"];
|
|
15
|
+
/** Trait types that represent IP licensing metadata in the attributes array. */
|
|
16
|
+
declare const LICENSE_TRAIT_TYPES: Set<string>;
|
|
17
|
+
|
|
18
|
+
export { AI_POLICIES, DERIVATIVES_OPTIONS, GEOGRAPHIC_SCOPES, type IPType, IP_TYPES, LICENSE_TRAIT_TYPES, LICENSE_TYPES, type LicenseType };
|