@medialane/ui 0.1.2 → 0.1.3

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.
@@ -35,10 +35,8 @@ module.exports = __toCommonJS(brand_icon_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_image = __toESM(require("next/image"), 1);
37
37
  var import_link = __toESM(require("next/link"), 1);
38
- var import_next_themes = require("next-themes");
39
38
  var import_react = require("react");
40
39
  function MedialaneIcon({ size = 256, href = "/", className }) {
41
- const { resolvedTheme } = (0, import_next_themes.useTheme)();
42
40
  const [mounted, setMounted] = (0, import_react.useState)(false);
43
41
  (0, import_react.useEffect)(() => {
44
42
  setMounted(true);
@@ -54,7 +52,7 @@ function MedialaneIcon({ size = 256, href = "/", className }) {
54
52
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
55
53
  import_image.default,
56
54
  {
57
- src: resolvedTheme === "dark" ? "/icon.png" : "/icon.png",
55
+ src: "/icon.png",
58
56
  alt: "Medialane",
59
57
  width: size,
60
58
  height: size,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/brand-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport Link from \"next/link\";\nimport { useTheme } from \"next-themes\";\nimport { useEffect, useState } from \"react\";\n\nexport interface MedialaneIconProps {\n size?: number;\n href?: string;\n className?: string;\n}\n\nexport function MedialaneIcon({ size = 256, href = \"/\", className }: MedialaneIconProps) {\n const { resolvedTheme } = useTheme();\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted) {\n return (\n <Link href={href} className={className}>\n <div style={{ width: size, height: size }} />\n </Link>\n );\n }\n\n return (\n <Link\n href={href}\n className={`transition-opacity hover:opacity-80 drop-shadow-md ${className ?? \"\"}`}\n >\n <Image\n src={resolvedTheme === \"dark\" ? \"/icon.png\" : \"/icon.png\"}\n alt=\"Medialane\"\n width={size}\n height={size}\n priority\n />\n </Link>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBQ;AAtBR,mBAAkB;AAClB,kBAAiB;AACjB,yBAAyB;AACzB,mBAAoC;AAQ7B,SAAS,cAAc,EAAE,OAAO,KAAK,OAAO,KAAK,UAAU,GAAuB;AACvF,QAAM,EAAE,cAAc,QAAI,6BAAS;AACnC,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,KAAK;AAE5C,8BAAU,MAAM;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,MAAI,CAAC,SAAS;AACZ,WACE,4CAAC,YAAAA,SAAA,EAAK,MAAY,WAChB,sDAAC,SAAI,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK,GAAG,GAC7C;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC,YAAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW,sDAAsD,aAAa,EAAE;AAAA,MAEhF;AAAA,QAAC,aAAAC;AAAA,QAAA;AAAA,UACC,KAAK,kBAAkB,SAAS,cAAc;AAAA,UAC9C,KAAI;AAAA,UACJ,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAQ;AAAA;AAAA,MACV;AAAA;AAAA,EACF;AAEJ;","names":["Link","Image"]}
1
+ {"version":3,"sources":["../../src/components/brand-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport Link from \"next/link\";\nimport { useEffect, useState } from \"react\";\n\nexport interface MedialaneIconProps {\n size?: number;\n href?: string;\n className?: string;\n}\n\nexport function MedialaneIcon({ size = 256, href = \"/\", className }: MedialaneIconProps) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted) {\n return (\n <Link href={href} className={className}>\n <div style={{ width: size, height: size }} />\n </Link>\n );\n }\n\n return (\n <Link\n href={href}\n className={`transition-opacity hover:opacity-80 drop-shadow-md ${className ?? \"\"}`}\n >\n <Image\n src=\"/icon.png\"\n alt=\"Medialane\"\n width={size}\n height={size}\n priority\n />\n </Link>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBQ;AApBR,mBAAkB;AAClB,kBAAiB;AACjB,mBAAoC;AAQ7B,SAAS,cAAc,EAAE,OAAO,KAAK,OAAO,KAAK,UAAU,GAAuB;AACvF,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,KAAK;AAE5C,8BAAU,MAAM;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,MAAI,CAAC,SAAS;AACZ,WACE,4CAAC,YAAAA,SAAA,EAAK,MAAY,WAChB,sDAAC,SAAI,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK,GAAG,GAC7C;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC,YAAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW,sDAAsD,aAAa,EAAE;AAAA,MAEhF;AAAA,QAAC,aAAAC;AAAA,QAAA;AAAA,UACC,KAAI;AAAA,UACJ,KAAI;AAAA,UACJ,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAQ;AAAA;AAAA,MACV;AAAA;AAAA,EACF;AAEJ;","names":["Link","Image"]}
@@ -2,10 +2,8 @@
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import Image from "next/image";
4
4
  import Link from "next/link";
5
- import { useTheme } from "next-themes";
6
5
  import { useEffect, useState } from "react";
7
6
  function MedialaneIcon({ size = 256, href = "/", className }) {
8
- const { resolvedTheme } = useTheme();
9
7
  const [mounted, setMounted] = useState(false);
10
8
  useEffect(() => {
11
9
  setMounted(true);
@@ -21,7 +19,7 @@ function MedialaneIcon({ size = 256, href = "/", className }) {
21
19
  children: /* @__PURE__ */ jsx(
22
20
  Image,
23
21
  {
24
- src: resolvedTheme === "dark" ? "/icon.png" : "/icon.png",
22
+ src: "/icon.png",
25
23
  alt: "Medialane",
26
24
  width: size,
27
25
  height: size,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/brand-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport Link from \"next/link\";\nimport { useTheme } from \"next-themes\";\nimport { useEffect, useState } from \"react\";\n\nexport interface MedialaneIconProps {\n size?: number;\n href?: string;\n className?: string;\n}\n\nexport function MedialaneIcon({ size = 256, href = \"/\", className }: MedialaneIconProps) {\n const { resolvedTheme } = useTheme();\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted) {\n return (\n <Link href={href} className={className}>\n <div style={{ width: size, height: size }} />\n </Link>\n );\n }\n\n return (\n <Link\n href={href}\n className={`transition-opacity hover:opacity-80 drop-shadow-md ${className ?? \"\"}`}\n >\n <Image\n src={resolvedTheme === \"dark\" ? \"/icon.png\" : \"/icon.png\"}\n alt=\"Medialane\"\n width={size}\n height={size}\n priority\n />\n </Link>\n );\n}\n"],"mappings":";AAwBQ;AAtBR,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,SAAS,gBAAgB;AACzB,SAAS,WAAW,gBAAgB;AAQ7B,SAAS,cAAc,EAAE,OAAO,KAAK,OAAO,KAAK,UAAU,GAAuB;AACvF,QAAM,EAAE,cAAc,IAAI,SAAS;AACnC,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,YAAU,MAAM;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,MAAI,CAAC,SAAS;AACZ,WACE,oBAAC,QAAK,MAAY,WAChB,8BAAC,SAAI,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK,GAAG,GAC7C;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,sDAAsD,aAAa,EAAE;AAAA,MAEhF;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,kBAAkB,SAAS,cAAc;AAAA,UAC9C,KAAI;AAAA,UACJ,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAQ;AAAA;AAAA,MACV;AAAA;AAAA,EACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/brand-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport Link from \"next/link\";\nimport { useEffect, useState } from \"react\";\n\nexport interface MedialaneIconProps {\n size?: number;\n href?: string;\n className?: string;\n}\n\nexport function MedialaneIcon({ size = 256, href = \"/\", className }: MedialaneIconProps) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted) {\n return (\n <Link href={href} className={className}>\n <div style={{ width: size, height: size }} />\n </Link>\n );\n }\n\n return (\n <Link\n href={href}\n className={`transition-opacity hover:opacity-80 drop-shadow-md ${className ?? \"\"}`}\n >\n <Image\n src=\"/icon.png\"\n alt=\"Medialane\"\n width={size}\n height={size}\n priority\n />\n </Link>\n );\n}\n"],"mappings":";AAsBQ;AApBR,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,SAAS,WAAW,gBAAgB;AAQ7B,SAAS,cAAc,EAAE,OAAO,KAAK,OAAO,KAAK,UAAU,GAAuB;AACvF,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,YAAU,MAAM;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,MAAI,CAAC,SAAS;AACZ,WACE,oBAAC,QAAK,MAAY,WAChB,8BAAC,SAAI,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK,GAAG,GAC7C;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,sDAAsD,aAAa,EAAE;AAAA,MAEhF;AAAA,QAAC;AAAA;AAAA,UACC,KAAI;AAAA,UACJ,KAAI;AAAA,UACJ,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAQ;AAAA;AAAA,MACV;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -36,20 +36,20 @@ module.exports = __toCommonJS(currency_icon_exports);
36
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
37
  var import_image = __toESM(require("next/image"), 1);
38
38
  var import_cn = require("../utils/cn.js");
39
- const CURRENCY_ICONS = {
39
+ const CURRENCY_ICON_PATHS = {
40
40
  USDC: "/usdc.svg",
41
41
  USDT: "/usdt.svg",
42
42
  ETH: "/eth.svg",
43
43
  STRK: "/strk.svg",
44
44
  WBTC: "/btc.svg"
45
45
  };
46
- function CurrencyIcon({ symbol, size = 16, className }) {
47
- const src = symbol ? CURRENCY_ICONS[symbol] : void 0;
48
- if (!src) return null;
46
+ function CurrencyIcon({ symbol, size = 16, className, iconsBasePath = "" }) {
47
+ const path = symbol ? CURRENCY_ICON_PATHS[symbol] : void 0;
48
+ if (!path) return null;
49
49
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
50
50
  import_image.default,
51
51
  {
52
- src,
52
+ src: `${iconsBasePath}${path}`,
53
53
  alt: symbol ?? "",
54
54
  width: size,
55
55
  height: size,
@@ -63,10 +63,11 @@ function CurrencyAmount({
63
63
  symbol,
64
64
  amountClassName,
65
65
  iconSize = 14,
66
- className
66
+ className,
67
+ iconsBasePath
67
68
  }) {
68
69
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: (0, import_cn.cn)("inline-flex items-center gap-1", className), children: [
69
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CurrencyIcon, { symbol, size: iconSize }),
70
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CurrencyIcon, { symbol, size: iconSize, iconsBasePath }),
70
71
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: amountClassName, children: amount })
71
72
  ] });
72
73
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/currency-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport { cn } from \"../utils/cn.js\";\n\nconst CURRENCY_ICONS: Record<string, string> = {\n USDC: \"/usdc.svg\",\n USDT: \"/usdt.svg\",\n ETH: \"/eth.svg\",\n STRK: \"/strk.svg\",\n WBTC: \"/btc.svg\",\n};\n\nexport interface CurrencyIconProps {\n symbol: string | null | undefined;\n size?: number;\n className?: string;\n}\n\nexport function CurrencyIcon({ symbol, size = 16, className }: CurrencyIconProps) {\n const src = symbol ? CURRENCY_ICONS[symbol] : undefined;\n if (!src) return null;\n return (\n <Image\n src={src}\n alt={symbol ?? \"\"}\n width={size}\n height={size}\n className={cn(\"inline-block shrink-0\", className)}\n unoptimized\n />\n );\n}\n\nexport interface CurrencyAmountProps {\n amount: string;\n symbol: string | null | undefined;\n amountClassName?: string;\n iconSize?: number;\n className?: string;\n}\n\nexport function CurrencyAmount({\n amount,\n symbol,\n amountClassName,\n iconSize = 14,\n className,\n}: CurrencyAmountProps) {\n return (\n <span className={cn(\"inline-flex items-center gap-1\", className)}>\n <CurrencyIcon symbol={symbol} size={iconSize} />\n <span className={amountClassName}>{amount}</span>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBI;AArBJ,mBAAkB;AAClB,gBAAmB;AAEnB,MAAM,iBAAyC;AAAA,EAC7C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AACR;AAQO,SAAS,aAAa,EAAE,QAAQ,OAAO,IAAI,UAAU,GAAsB;AAChF,QAAM,MAAM,SAAS,eAAe,MAAM,IAAI;AAC9C,MAAI,CAAC,IAAK,QAAO;AACjB,SACE;AAAA,IAAC,aAAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,KAAK,UAAU;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,eAAW,cAAG,yBAAyB,SAAS;AAAA,MAChD,aAAW;AAAA;AAAA,EACb;AAEJ;AAUO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AACF,GAAwB;AACtB,SACE,6CAAC,UAAK,eAAW,cAAG,kCAAkC,SAAS,GAC7D;AAAA,gDAAC,gBAAa,QAAgB,MAAM,UAAU;AAAA,IAC9C,4CAAC,UAAK,WAAW,iBAAkB,kBAAO;AAAA,KAC5C;AAEJ;","names":["Image"]}
1
+ {"version":3,"sources":["../../src/components/currency-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport { cn } from \"../utils/cn.js\";\n\nconst CURRENCY_ICON_PATHS: Record<string, string> = {\n USDC: \"/usdc.svg\",\n USDT: \"/usdt.svg\",\n ETH: \"/eth.svg\",\n STRK: \"/strk.svg\",\n WBTC: \"/btc.svg\",\n};\n\nexport interface CurrencyIconProps {\n symbol: string | null | undefined;\n size?: number;\n className?: string;\n /**\n * Base path prepended to icon paths. Default: \"\" (icons served from app's public root).\n * Example: \"https://cdn.medialane.io/icons\"\n */\n iconsBasePath?: string;\n}\n\nexport function CurrencyIcon({ symbol, size = 16, className, iconsBasePath = \"\" }: CurrencyIconProps) {\n const path = symbol ? CURRENCY_ICON_PATHS[symbol] : undefined;\n if (!path) return null;\n return (\n <Image\n src={`${iconsBasePath}${path}`}\n alt={symbol ?? \"\"}\n width={size}\n height={size}\n className={cn(\"inline-block shrink-0\", className)}\n unoptimized\n />\n );\n}\n\nexport interface CurrencyAmountProps {\n amount: string;\n symbol: string | null | undefined;\n amountClassName?: string;\n iconSize?: number;\n className?: string;\n /** Forwarded to CurrencyIcon. */\n iconsBasePath?: string;\n}\n\nexport function CurrencyAmount({\n amount,\n symbol,\n amountClassName,\n iconSize = 14,\n className,\n iconsBasePath,\n}: CurrencyAmountProps) {\n return (\n <span className={cn(\"inline-flex items-center gap-1\", className)}>\n <CurrencyIcon symbol={symbol} size={iconSize} iconsBasePath={iconsBasePath} />\n <span className={amountClassName}>{amount}</span>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BI;AA1BJ,mBAAkB;AAClB,gBAAmB;AAEnB,MAAM,sBAA8C;AAAA,EAClD,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AACR;AAaO,SAAS,aAAa,EAAE,QAAQ,OAAO,IAAI,WAAW,gBAAgB,GAAG,GAAsB;AACpG,QAAM,OAAO,SAAS,oBAAoB,MAAM,IAAI;AACpD,MAAI,CAAC,KAAM,QAAO;AAClB,SACE;AAAA,IAAC,aAAAA;AAAA,IAAA;AAAA,MACC,KAAK,GAAG,aAAa,GAAG,IAAI;AAAA,MAC5B,KAAK,UAAU;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,eAAW,cAAG,yBAAyB,SAAS;AAAA,MAChD,aAAW;AAAA;AAAA,EACb;AAEJ;AAYO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AACF,GAAwB;AACtB,SACE,6CAAC,UAAK,eAAW,cAAG,kCAAkC,SAAS,GAC7D;AAAA,gDAAC,gBAAa,QAAgB,MAAM,UAAU,eAA8B;AAAA,IAC5E,4CAAC,UAAK,WAAW,iBAAkB,kBAAO;AAAA,KAC5C;AAEJ;","names":["Image"]}
@@ -4,15 +4,22 @@ interface CurrencyIconProps {
4
4
  symbol: string | null | undefined;
5
5
  size?: number;
6
6
  className?: string;
7
+ /**
8
+ * Base path prepended to icon paths. Default: "" (icons served from app's public root).
9
+ * Example: "https://cdn.medialane.io/icons"
10
+ */
11
+ iconsBasePath?: string;
7
12
  }
8
- declare function CurrencyIcon({ symbol, size, className }: CurrencyIconProps): react_jsx_runtime.JSX.Element | null;
13
+ declare function CurrencyIcon({ symbol, size, className, iconsBasePath }: CurrencyIconProps): react_jsx_runtime.JSX.Element | null;
9
14
  interface CurrencyAmountProps {
10
15
  amount: string;
11
16
  symbol: string | null | undefined;
12
17
  amountClassName?: string;
13
18
  iconSize?: number;
14
19
  className?: string;
20
+ /** Forwarded to CurrencyIcon. */
21
+ iconsBasePath?: string;
15
22
  }
16
- declare function CurrencyAmount({ amount, symbol, amountClassName, iconSize, className, }: CurrencyAmountProps): react_jsx_runtime.JSX.Element;
23
+ declare function CurrencyAmount({ amount, symbol, amountClassName, iconSize, className, iconsBasePath, }: CurrencyAmountProps): react_jsx_runtime.JSX.Element;
17
24
 
18
25
  export { CurrencyAmount, type CurrencyAmountProps, CurrencyIcon, type CurrencyIconProps };
@@ -4,15 +4,22 @@ interface CurrencyIconProps {
4
4
  symbol: string | null | undefined;
5
5
  size?: number;
6
6
  className?: string;
7
+ /**
8
+ * Base path prepended to icon paths. Default: "" (icons served from app's public root).
9
+ * Example: "https://cdn.medialane.io/icons"
10
+ */
11
+ iconsBasePath?: string;
7
12
  }
8
- declare function CurrencyIcon({ symbol, size, className }: CurrencyIconProps): react_jsx_runtime.JSX.Element | null;
13
+ declare function CurrencyIcon({ symbol, size, className, iconsBasePath }: CurrencyIconProps): react_jsx_runtime.JSX.Element | null;
9
14
  interface CurrencyAmountProps {
10
15
  amount: string;
11
16
  symbol: string | null | undefined;
12
17
  amountClassName?: string;
13
18
  iconSize?: number;
14
19
  className?: string;
20
+ /** Forwarded to CurrencyIcon. */
21
+ iconsBasePath?: string;
15
22
  }
16
- declare function CurrencyAmount({ amount, symbol, amountClassName, iconSize, className, }: CurrencyAmountProps): react_jsx_runtime.JSX.Element;
23
+ declare function CurrencyAmount({ amount, symbol, amountClassName, iconSize, className, iconsBasePath, }: CurrencyAmountProps): react_jsx_runtime.JSX.Element;
17
24
 
18
25
  export { CurrencyAmount, type CurrencyAmountProps, CurrencyIcon, type CurrencyIconProps };
@@ -2,20 +2,20 @@
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import Image from "next/image";
4
4
  import { cn } from "../utils/cn.js";
5
- const CURRENCY_ICONS = {
5
+ const CURRENCY_ICON_PATHS = {
6
6
  USDC: "/usdc.svg",
7
7
  USDT: "/usdt.svg",
8
8
  ETH: "/eth.svg",
9
9
  STRK: "/strk.svg",
10
10
  WBTC: "/btc.svg"
11
11
  };
12
- function CurrencyIcon({ symbol, size = 16, className }) {
13
- const src = symbol ? CURRENCY_ICONS[symbol] : void 0;
14
- if (!src) return null;
12
+ function CurrencyIcon({ symbol, size = 16, className, iconsBasePath = "" }) {
13
+ const path = symbol ? CURRENCY_ICON_PATHS[symbol] : void 0;
14
+ if (!path) return null;
15
15
  return /* @__PURE__ */ jsx(
16
16
  Image,
17
17
  {
18
- src,
18
+ src: `${iconsBasePath}${path}`,
19
19
  alt: symbol ?? "",
20
20
  width: size,
21
21
  height: size,
@@ -29,10 +29,11 @@ function CurrencyAmount({
29
29
  symbol,
30
30
  amountClassName,
31
31
  iconSize = 14,
32
- className
32
+ className,
33
+ iconsBasePath
33
34
  }) {
34
35
  return /* @__PURE__ */ jsxs("span", { className: cn("inline-flex items-center gap-1", className), children: [
35
- /* @__PURE__ */ jsx(CurrencyIcon, { symbol, size: iconSize }),
36
+ /* @__PURE__ */ jsx(CurrencyIcon, { symbol, size: iconSize, iconsBasePath }),
36
37
  /* @__PURE__ */ jsx("span", { className: amountClassName, children: amount })
37
38
  ] });
38
39
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/currency-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport { cn } from \"../utils/cn.js\";\n\nconst CURRENCY_ICONS: Record<string, string> = {\n USDC: \"/usdc.svg\",\n USDT: \"/usdt.svg\",\n ETH: \"/eth.svg\",\n STRK: \"/strk.svg\",\n WBTC: \"/btc.svg\",\n};\n\nexport interface CurrencyIconProps {\n symbol: string | null | undefined;\n size?: number;\n className?: string;\n}\n\nexport function CurrencyIcon({ symbol, size = 16, className }: CurrencyIconProps) {\n const src = symbol ? CURRENCY_ICONS[symbol] : undefined;\n if (!src) return null;\n return (\n <Image\n src={src}\n alt={symbol ?? \"\"}\n width={size}\n height={size}\n className={cn(\"inline-block shrink-0\", className)}\n unoptimized\n />\n );\n}\n\nexport interface CurrencyAmountProps {\n amount: string;\n symbol: string | null | undefined;\n amountClassName?: string;\n iconSize?: number;\n className?: string;\n}\n\nexport function CurrencyAmount({\n amount,\n symbol,\n amountClassName,\n iconSize = 14,\n className,\n}: CurrencyAmountProps) {\n return (\n <span className={cn(\"inline-flex items-center gap-1\", className)}>\n <CurrencyIcon symbol={symbol} size={iconSize} />\n <span className={amountClassName}>{amount}</span>\n </span>\n );\n}\n"],"mappings":";AAuBI,cA2BA,YA3BA;AArBJ,OAAO,WAAW;AAClB,SAAS,UAAU;AAEnB,MAAM,iBAAyC;AAAA,EAC7C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AACR;AAQO,SAAS,aAAa,EAAE,QAAQ,OAAO,IAAI,UAAU,GAAsB;AAChF,QAAM,MAAM,SAAS,eAAe,MAAM,IAAI;AAC9C,MAAI,CAAC,IAAK,QAAO;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,KAAK,UAAU;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW,GAAG,yBAAyB,SAAS;AAAA,MAChD,aAAW;AAAA;AAAA,EACb;AAEJ;AAUO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AACF,GAAwB;AACtB,SACE,qBAAC,UAAK,WAAW,GAAG,kCAAkC,SAAS,GAC7D;AAAA,wBAAC,gBAAa,QAAgB,MAAM,UAAU;AAAA,IAC9C,oBAAC,UAAK,WAAW,iBAAkB,kBAAO;AAAA,KAC5C;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/currency-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport { cn } from \"../utils/cn.js\";\n\nconst CURRENCY_ICON_PATHS: Record<string, string> = {\n USDC: \"/usdc.svg\",\n USDT: \"/usdt.svg\",\n ETH: \"/eth.svg\",\n STRK: \"/strk.svg\",\n WBTC: \"/btc.svg\",\n};\n\nexport interface CurrencyIconProps {\n symbol: string | null | undefined;\n size?: number;\n className?: string;\n /**\n * Base path prepended to icon paths. Default: \"\" (icons served from app's public root).\n * Example: \"https://cdn.medialane.io/icons\"\n */\n iconsBasePath?: string;\n}\n\nexport function CurrencyIcon({ symbol, size = 16, className, iconsBasePath = \"\" }: CurrencyIconProps) {\n const path = symbol ? CURRENCY_ICON_PATHS[symbol] : undefined;\n if (!path) return null;\n return (\n <Image\n src={`${iconsBasePath}${path}`}\n alt={symbol ?? \"\"}\n width={size}\n height={size}\n className={cn(\"inline-block shrink-0\", className)}\n unoptimized\n />\n );\n}\n\nexport interface CurrencyAmountProps {\n amount: string;\n symbol: string | null | undefined;\n amountClassName?: string;\n iconSize?: number;\n className?: string;\n /** Forwarded to CurrencyIcon. */\n iconsBasePath?: string;\n}\n\nexport function CurrencyAmount({\n amount,\n symbol,\n amountClassName,\n iconSize = 14,\n className,\n iconsBasePath,\n}: CurrencyAmountProps) {\n return (\n <span className={cn(\"inline-flex items-center gap-1\", className)}>\n <CurrencyIcon symbol={symbol} size={iconSize} iconsBasePath={iconsBasePath} />\n <span className={amountClassName}>{amount}</span>\n </span>\n );\n}\n"],"mappings":";AA4BI,cA8BA,YA9BA;AA1BJ,OAAO,WAAW;AAClB,SAAS,UAAU;AAEnB,MAAM,sBAA8C;AAAA,EAClD,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AACR;AAaO,SAAS,aAAa,EAAE,QAAQ,OAAO,IAAI,WAAW,gBAAgB,GAAG,GAAsB;AACpG,QAAM,OAAO,SAAS,oBAAoB,MAAM,IAAI;AACpD,MAAI,CAAC,KAAM,QAAO;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,GAAG,aAAa,GAAG,IAAI;AAAA,MAC5B,KAAK,UAAU;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW,GAAG,yBAAyB,SAAS;AAAA,MAChD,aAAW;AAAA;AAAA,EACb;AAEJ;AAYO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AACF,GAAwB;AACtB,SACE,qBAAC,UAAK,WAAW,GAAG,kCAAkC,SAAS,GAC7D;AAAA,wBAAC,gBAAa,QAAgB,MAAM,UAAU,eAA8B;AAAA,IAC5E,oBAAC,UAAK,WAAW,iBAAkB,kBAAO;AAAA,KAC5C;AAEJ;","names":[]}
@@ -20,6 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  var ip_type_badge_exports = {};
21
21
  __export(ip_type_badge_exports, {
22
22
  IP_TYPE_CONFIG: () => IP_TYPE_CONFIG,
23
+ IP_TYPE_DATA: () => import_ip_types.IP_TYPE_DATA,
24
+ IP_TYPE_DATA_MAP: () => import_ip_types.IP_TYPE_DATA_MAP,
23
25
  IP_TYPE_MAP: () => IP_TYPE_MAP,
24
26
  IpTypeBadge: () => IpTypeBadge
25
27
  });
@@ -27,20 +29,24 @@ module.exports = __toCommonJS(ip_type_badge_exports);
27
29
  var import_jsx_runtime = require("react/jsx-runtime");
28
30
  var import_lucide_react = require("lucide-react");
29
31
  var import_cn = require("../utils/cn.js");
30
- const IP_TYPE_CONFIG = [
31
- { slug: "audio", label: "Audio", icon: import_lucide_react.Music, colorClass: "text-violet-400", bgClass: "bg-violet-500/10", apiValue: "Audio" },
32
- { slug: "video", label: "Video", icon: import_lucide_react.Film, colorClass: "text-red-400", bgClass: "bg-red-500/10", apiValue: "Video" },
33
- { slug: "art", label: "Art", icon: import_lucide_react.Palette, colorClass: "text-pink-400", bgClass: "bg-pink-500/10", apiValue: "Art" },
34
- { slug: "photography", label: "Photography", icon: import_lucide_react.Camera, colorClass: "text-amber-400", bgClass: "bg-amber-500/10", apiValue: "Photography" },
35
- { slug: "nft", label: "NFT", icon: import_lucide_react.Gem, colorClass: "text-blue-400", bgClass: "bg-blue-500/10", apiValue: null },
36
- { slug: "software", label: "Software", icon: import_lucide_react.Code, colorClass: "text-cyan-400", bgClass: "bg-cyan-500/10", apiValue: "Software" },
37
- { slug: "rwa", label: "RWA", icon: import_lucide_react.Building, colorClass: "text-lime-400", bgClass: "bg-lime-500/10", apiValue: "RWA" },
38
- { slug: "patents", label: "Patents", icon: import_lucide_react.Award, colorClass: "text-emerald-400", bgClass: "bg-emerald-500/10", apiValue: "Patents" },
39
- { slug: "posts", label: "Posts", icon: import_lucide_react.FileText, colorClass: "text-orange-400", bgClass: "bg-orange-500/10", apiValue: "Posts" },
40
- { slug: "publications", label: "Publications", icon: import_lucide_react.BookOpen, colorClass: "text-teal-400", bgClass: "bg-teal-500/10", apiValue: "Publications" },
41
- { slug: "documents", label: "Documents", icon: import_lucide_react.File, colorClass: "text-slate-400", bgClass: "bg-slate-500/10", apiValue: "Documents" },
42
- { slug: "custom", label: "Custom", icon: import_lucide_react.Layers, colorClass: "text-indigo-400", bgClass: "bg-indigo-500/10", apiValue: "Custom" }
43
- ];
32
+ var import_ip_types = require("../data/ip-types.js");
33
+ const IP_TYPE_CONFIG = import_ip_types.IP_TYPE_DATA.map((d) => {
34
+ const icons = {
35
+ audio: import_lucide_react.Music,
36
+ video: import_lucide_react.Film,
37
+ art: import_lucide_react.Palette,
38
+ photography: import_lucide_react.Camera,
39
+ nft: import_lucide_react.Gem,
40
+ software: import_lucide_react.Code,
41
+ rwa: import_lucide_react.Building,
42
+ patents: import_lucide_react.Award,
43
+ posts: import_lucide_react.FileText,
44
+ publications: import_lucide_react.BookOpen,
45
+ documents: import_lucide_react.File,
46
+ custom: import_lucide_react.Layers
47
+ };
48
+ return { ...d, icon: icons[d.slug] ?? import_lucide_react.Layers };
49
+ });
44
50
  const IP_TYPE_MAP = Object.fromEntries(
45
51
  IP_TYPE_CONFIG.map((c) => [c.slug, c])
46
52
  );
@@ -75,6 +81,8 @@ function IpTypeBadge({ ipType, size = "sm", className, baseUrl = "" }) {
75
81
  // Annotate the CommonJS export names for ESM import in node:
76
82
  0 && (module.exports = {
77
83
  IP_TYPE_CONFIG,
84
+ IP_TYPE_DATA,
85
+ IP_TYPE_DATA_MAP,
78
86
  IP_TYPE_MAP,
79
87
  IpTypeBadge
80
88
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/ip-type-badge.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Music, Palette, Film, Camera, Gem, Award,\n FileText, BookOpen, File, Building, Code, Layers,\n} from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\n\nexport interface IpTypeConfig {\n slug: string;\n label: string;\n icon: React.ElementType;\n colorClass: string;\n bgClass: string;\n /** API ipType value null means \"nft\" special case */\n apiValue: string | null;\n}\n\nexport const IP_TYPE_CONFIG: IpTypeConfig[] = [\n { slug: \"audio\", label: \"Audio\", icon: Music, colorClass: \"text-violet-400\", bgClass: \"bg-violet-500/10\", apiValue: \"Audio\" },\n { slug: \"video\", label: \"Video\", icon: Film, colorClass: \"text-red-400\", bgClass: \"bg-red-500/10\", apiValue: \"Video\" },\n { slug: \"art\", label: \"Art\", icon: Palette, colorClass: \"text-pink-400\", bgClass: \"bg-pink-500/10\", apiValue: \"Art\" },\n { slug: \"photography\", label: \"Photography\", icon: Camera, colorClass: \"text-amber-400\", bgClass: \"bg-amber-500/10\", apiValue: \"Photography\" },\n { slug: \"nft\", label: \"NFT\", icon: Gem, colorClass: \"text-blue-400\", bgClass: \"bg-blue-500/10\", apiValue: null },\n { slug: \"software\", label: \"Software\", icon: Code, colorClass: \"text-cyan-400\", bgClass: \"bg-cyan-500/10\", apiValue: \"Software\" },\n { slug: \"rwa\", label: \"RWA\", icon: Building, colorClass: \"text-lime-400\", bgClass: \"bg-lime-500/10\", apiValue: \"RWA\" },\n { slug: \"patents\", label: \"Patents\", icon: Award, colorClass: \"text-emerald-400\", bgClass: \"bg-emerald-500/10\", apiValue: \"Patents\" },\n { slug: \"posts\", label: \"Posts\", icon: FileText, colorClass: \"text-orange-400\", bgClass: \"bg-orange-500/10\", apiValue: \"Posts\" },\n { slug: \"publications\", label: \"Publications\", icon: BookOpen, colorClass: \"text-teal-400\", bgClass: \"bg-teal-500/10\", apiValue: \"Publications\" },\n { slug: \"documents\", label: \"Documents\", icon: File, colorClass: \"text-slate-400\", bgClass: \"bg-slate-500/10\", apiValue: \"Documents\" },\n { slug: \"custom\", label: \"Custom\", icon: Layers, colorClass: \"text-indigo-400\", bgClass: \"bg-indigo-500/10\", apiValue: \"Custom\" },\n];\n\nexport const IP_TYPE_MAP = Object.fromEntries(\n IP_TYPE_CONFIG.map((c) => [c.slug, c])\n) as Record<string, IpTypeConfig>;\n\nconst SIZE = {\n sm: { container: \"h-6 w-6\", icon: \"h-3 w-3\" },\n md: { container: \"h-8 w-8\", icon: \"h-4 w-4\" },\n};\n\nexport interface IpTypeBadgeProps {\n ipType: string;\n size?: \"sm\" | \"md\";\n className?: string;\n /** Base URL for IP type pages. Default: \"\" (relative). Example: \"https://medialane.io\" */\n baseUrl?: string;\n}\n\nexport function IpTypeBadge({ ipType, size = \"sm\", className, baseUrl = \"\" }: IpTypeBadgeProps) {\n const config = IP_TYPE_CONFIG.find(\n (c) => c.label === ipType || c.apiValue === ipType\n );\n if (!config) return null;\n const { icon: Icon, colorClass, bgClass, slug, label } = config;\n const { container, icon } = SIZE[size];\n return (\n <a\n href={`${baseUrl}/${slug}`}\n title={label}\n className={cn(\n \"inline-flex items-center justify-center rounded-full\",\n \"transition-opacity hover:opacity-80\",\n bgClass,\n container,\n className\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Icon className={cn(colorClass, icon)} />\n </a>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsEM;AApEN,0BAGO;AACP,gBAAmB;AAYZ,MAAM,iBAAiC;AAAA,EAC5C,EAAE,MAAM,SAAgB,OAAO,SAAgB,MAAM,2BAAU,YAAY,mBAAoB,SAAS,oBAAqB,UAAU,QAAQ;AAAA,EAC/I,EAAE,MAAM,SAAgB,OAAO,SAAgB,MAAM,0BAAU,YAAY,gBAAoB,SAAS,iBAAqB,UAAU,QAAQ;AAAA,EAC/I,EAAE,MAAM,OAAgB,OAAO,OAAgB,MAAM,6BAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,MAAM;AAAA,EAC7I,EAAE,MAAM,eAAgB,OAAO,eAAgB,MAAM,4BAAU,YAAY,kBAAoB,SAAS,mBAAqB,UAAU,cAAc;AAAA,EACrJ,EAAE,MAAM,OAAgB,OAAO,OAAgB,MAAM,yBAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,KAAK;AAAA,EAC5I,EAAE,MAAM,YAAgB,OAAO,YAAgB,MAAM,0BAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,WAAW;AAAA,EAClJ,EAAE,MAAM,OAAgB,OAAO,OAAgB,MAAM,8BAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,MAAM;AAAA,EAC7I,EAAE,MAAM,WAAgB,OAAO,WAAgB,MAAM,2BAAU,YAAY,oBAAoB,SAAS,qBAAqB,UAAU,UAAU;AAAA,EACjJ,EAAE,MAAM,SAAgB,OAAO,SAAgB,MAAM,8BAAU,YAAY,mBAAoB,SAAS,oBAAqB,UAAU,QAAQ;AAAA,EAC/I,EAAE,MAAM,gBAAgB,OAAO,gBAAgB,MAAM,8BAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,eAAe;AAAA,EACtJ,EAAE,MAAM,aAAgB,OAAO,aAAgB,MAAM,0BAAU,YAAY,kBAAoB,SAAS,mBAAqB,UAAU,YAAY;AAAA,EACnJ,EAAE,MAAM,UAAgB,OAAO,UAAgB,MAAM,4BAAU,YAAY,mBAAoB,SAAS,oBAAqB,UAAU,SAAS;AAClJ;AAEO,MAAM,cAAc,OAAO;AAAA,EAChC,eAAe,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACvC;AAEA,MAAM,OAAO;AAAA,EACX,IAAI,EAAE,WAAW,WAAW,MAAM,UAAU;AAAA,EAC5C,IAAI,EAAE,WAAW,WAAW,MAAM,UAAU;AAC9C;AAUO,SAAS,YAAY,EAAE,QAAQ,OAAO,MAAM,WAAW,UAAU,GAAG,GAAqB;AAC9F,QAAM,SAAS,eAAe;AAAA,IAC5B,CAAC,MAAM,EAAE,UAAU,UAAU,EAAE,aAAa;AAAA,EAC9C;AACA,MAAI,CAAC,OAAQ,QAAO;AACpB,QAAM,EAAE,MAAM,MAAM,YAAY,SAAS,MAAM,MAAM,IAAI;AACzD,QAAM,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,GAAG,OAAO,IAAI,IAAI;AAAA,MACxB,OAAO;AAAA,MACP,eAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAElC,sDAAC,QAAK,eAAW,cAAG,YAAY,IAAI,GAAG;AAAA;AAAA,EACzC;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/ip-type-badge.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Music, Palette, Film, Camera, Gem, Award,\n FileText, BookOpen, File, Building, Code, Layers,\n} from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\nimport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"../data/ip-types.js\";\nimport type { IpTypeData } from \"../data/ip-types.js\";\n\n/** Client-only: extends IpTypeData with a React icon component. */\nexport interface IpTypeConfig extends IpTypeData {\n icon: React.ElementType;\n}\n\nexport const IP_TYPE_CONFIG: IpTypeConfig[] = IP_TYPE_DATA.map((d) => {\n const icons: Record<string, React.ElementType> = {\n audio: Music,\n video: Film,\n art: Palette,\n photography: Camera,\n nft: Gem,\n software: Code,\n rwa: Building,\n patents: Award,\n posts: FileText,\n publications: BookOpen,\n documents: File,\n custom: Layers,\n };\n return { ...d, icon: icons[d.slug] ?? Layers };\n});\n\nexport const IP_TYPE_MAP = Object.fromEntries(\n IP_TYPE_CONFIG.map((c) => [c.slug, c])\n) as Record<string, IpTypeConfig>;\n\n// Re-export server-safe data so consumers only need one import path\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP };\nexport type { IpTypeData };\n\nconst SIZE = {\n sm: { container: \"h-6 w-6\", icon: \"h-3 w-3\" },\n md: { container: \"h-8 w-8\", icon: \"h-4 w-4\" },\n};\n\nexport interface IpTypeBadgeProps {\n ipType: string;\n size?: \"sm\" | \"md\";\n className?: string;\n /** Base URL for IP type pages. Default: \"\" (relative). */\n baseUrl?: string;\n}\n\nexport function IpTypeBadge({ ipType, size = \"sm\", className, baseUrl = \"\" }: IpTypeBadgeProps) {\n const config = IP_TYPE_CONFIG.find(\n (c) => c.label === ipType || c.apiValue === ipType\n );\n if (!config) return null;\n const { icon: Icon, colorClass, bgClass, slug, label } = config;\n const { container, icon } = SIZE[size];\n return (\n <a\n href={`${baseUrl}/${slug}`}\n title={label}\n className={cn(\n \"inline-flex items-center justify-center rounded-full\",\n \"transition-opacity hover:opacity-80\",\n bgClass,\n container,\n className\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Icon className={cn(colorClass, icon)} />\n </a>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0EM;AAxEN,0BAGO;AACP,gBAAmB;AACnB,sBAA+C;AAQxC,MAAM,iBAAiC,6BAAa,IAAI,CAAC,MAAM;AACpE,QAAM,QAA2C;AAAA,IAC/C,OAAO;AAAA,IACP,OAAO;AAAA,IACP,KAAK;AAAA,IACL,aAAa;AAAA,IACb,KAAK;AAAA,IACL,UAAU;AAAA,IACV,KAAK;AAAA,IACL,SAAS;AAAA,IACT,OAAO;AAAA,IACP,cAAc;AAAA,IACd,WAAW;AAAA,IACX,QAAQ;AAAA,EACV;AACA,SAAO,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,IAAI,KAAK,2BAAO;AAC/C,CAAC;AAEM,MAAM,cAAc,OAAO;AAAA,EAChC,eAAe,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACvC;AAMA,MAAM,OAAO;AAAA,EACX,IAAI,EAAE,WAAW,WAAW,MAAM,UAAU;AAAA,EAC5C,IAAI,EAAE,WAAW,WAAW,MAAM,UAAU;AAC9C;AAUO,SAAS,YAAY,EAAE,QAAQ,OAAO,MAAM,WAAW,UAAU,GAAG,GAAqB;AAC9F,QAAM,SAAS,eAAe;AAAA,IAC5B,CAAC,MAAM,EAAE,UAAU,UAAU,EAAE,aAAa;AAAA,EAC9C;AACA,MAAI,CAAC,OAAQ,QAAO;AACpB,QAAM,EAAE,MAAM,MAAM,YAAY,SAAS,MAAM,MAAM,IAAI;AACzD,QAAM,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,GAAG,OAAO,IAAI,IAAI;AAAA,MACxB,OAAO;AAAA,MACP,eAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAElC,sDAAC,QAAK,eAAW,cAAG,YAAY,IAAI,GAAG;AAAA;AAAA,EACzC;AAEJ;","names":[]}
@@ -1,23 +1,21 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { IpTypeData } from '../data/ip-types.cjs';
3
+ export { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from '../data/ip-types.cjs';
2
4
 
3
- interface IpTypeConfig {
4
- slug: string;
5
- label: string;
5
+ /** Client-only: extends IpTypeData with a React icon component. */
6
+ interface IpTypeConfig extends IpTypeData {
6
7
  icon: React.ElementType;
7
- colorClass: string;
8
- bgClass: string;
9
- /** API ipType value — null means "nft" special case */
10
- apiValue: string | null;
11
8
  }
12
9
  declare const IP_TYPE_CONFIG: IpTypeConfig[];
13
10
  declare const IP_TYPE_MAP: Record<string, IpTypeConfig>;
11
+
14
12
  interface IpTypeBadgeProps {
15
13
  ipType: string;
16
14
  size?: "sm" | "md";
17
15
  className?: string;
18
- /** Base URL for IP type pages. Default: "" (relative). Example: "https://medialane.io" */
16
+ /** Base URL for IP type pages. Default: "" (relative). */
19
17
  baseUrl?: string;
20
18
  }
21
19
  declare function IpTypeBadge({ ipType, size, className, baseUrl }: IpTypeBadgeProps): react_jsx_runtime.JSX.Element | null;
22
20
 
23
- export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, type IpTypeBadgeProps, type IpTypeConfig };
21
+ export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, type IpTypeBadgeProps, type IpTypeConfig, IpTypeData };
@@ -1,23 +1,21 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { IpTypeData } from '../data/ip-types.js';
3
+ export { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from '../data/ip-types.js';
2
4
 
3
- interface IpTypeConfig {
4
- slug: string;
5
- label: string;
5
+ /** Client-only: extends IpTypeData with a React icon component. */
6
+ interface IpTypeConfig extends IpTypeData {
6
7
  icon: React.ElementType;
7
- colorClass: string;
8
- bgClass: string;
9
- /** API ipType value — null means "nft" special case */
10
- apiValue: string | null;
11
8
  }
12
9
  declare const IP_TYPE_CONFIG: IpTypeConfig[];
13
10
  declare const IP_TYPE_MAP: Record<string, IpTypeConfig>;
11
+
14
12
  interface IpTypeBadgeProps {
15
13
  ipType: string;
16
14
  size?: "sm" | "md";
17
15
  className?: string;
18
- /** Base URL for IP type pages. Default: "" (relative). Example: "https://medialane.io" */
16
+ /** Base URL for IP type pages. Default: "" (relative). */
19
17
  baseUrl?: string;
20
18
  }
21
19
  declare function IpTypeBadge({ ipType, size, className, baseUrl }: IpTypeBadgeProps): react_jsx_runtime.JSX.Element | null;
22
20
 
23
- export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, type IpTypeBadgeProps, type IpTypeConfig };
21
+ export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, type IpTypeBadgeProps, type IpTypeConfig, IpTypeData };
@@ -15,20 +15,24 @@ import {
15
15
  Layers
16
16
  } from "lucide-react";
17
17
  import { cn } from "../utils/cn.js";
18
- const IP_TYPE_CONFIG = [
19
- { slug: "audio", label: "Audio", icon: Music, colorClass: "text-violet-400", bgClass: "bg-violet-500/10", apiValue: "Audio" },
20
- { slug: "video", label: "Video", icon: Film, colorClass: "text-red-400", bgClass: "bg-red-500/10", apiValue: "Video" },
21
- { slug: "art", label: "Art", icon: Palette, colorClass: "text-pink-400", bgClass: "bg-pink-500/10", apiValue: "Art" },
22
- { slug: "photography", label: "Photography", icon: Camera, colorClass: "text-amber-400", bgClass: "bg-amber-500/10", apiValue: "Photography" },
23
- { slug: "nft", label: "NFT", icon: Gem, colorClass: "text-blue-400", bgClass: "bg-blue-500/10", apiValue: null },
24
- { slug: "software", label: "Software", icon: Code, colorClass: "text-cyan-400", bgClass: "bg-cyan-500/10", apiValue: "Software" },
25
- { slug: "rwa", label: "RWA", icon: Building, colorClass: "text-lime-400", bgClass: "bg-lime-500/10", apiValue: "RWA" },
26
- { slug: "patents", label: "Patents", icon: Award, colorClass: "text-emerald-400", bgClass: "bg-emerald-500/10", apiValue: "Patents" },
27
- { slug: "posts", label: "Posts", icon: FileText, colorClass: "text-orange-400", bgClass: "bg-orange-500/10", apiValue: "Posts" },
28
- { slug: "publications", label: "Publications", icon: BookOpen, colorClass: "text-teal-400", bgClass: "bg-teal-500/10", apiValue: "Publications" },
29
- { slug: "documents", label: "Documents", icon: File, colorClass: "text-slate-400", bgClass: "bg-slate-500/10", apiValue: "Documents" },
30
- { slug: "custom", label: "Custom", icon: Layers, colorClass: "text-indigo-400", bgClass: "bg-indigo-500/10", apiValue: "Custom" }
31
- ];
18
+ import { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from "../data/ip-types.js";
19
+ const IP_TYPE_CONFIG = IP_TYPE_DATA.map((d) => {
20
+ const icons = {
21
+ audio: Music,
22
+ video: Film,
23
+ art: Palette,
24
+ photography: Camera,
25
+ nft: Gem,
26
+ software: Code,
27
+ rwa: Building,
28
+ patents: Award,
29
+ posts: FileText,
30
+ publications: BookOpen,
31
+ documents: File,
32
+ custom: Layers
33
+ };
34
+ return { ...d, icon: icons[d.slug] ?? Layers };
35
+ });
32
36
  const IP_TYPE_MAP = Object.fromEntries(
33
37
  IP_TYPE_CONFIG.map((c) => [c.slug, c])
34
38
  );
@@ -62,6 +66,8 @@ function IpTypeBadge({ ipType, size = "sm", className, baseUrl = "" }) {
62
66
  }
63
67
  export {
64
68
  IP_TYPE_CONFIG,
69
+ IP_TYPE_DATA,
70
+ IP_TYPE_DATA_MAP,
65
71
  IP_TYPE_MAP,
66
72
  IpTypeBadge
67
73
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/ip-type-badge.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Music, Palette, Film, Camera, Gem, Award,\n FileText, BookOpen, File, Building, Code, Layers,\n} from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\n\nexport interface IpTypeConfig {\n slug: string;\n label: string;\n icon: React.ElementType;\n colorClass: string;\n bgClass: string;\n /** API ipType value null means \"nft\" special case */\n apiValue: string | null;\n}\n\nexport const IP_TYPE_CONFIG: IpTypeConfig[] = [\n { slug: \"audio\", label: \"Audio\", icon: Music, colorClass: \"text-violet-400\", bgClass: \"bg-violet-500/10\", apiValue: \"Audio\" },\n { slug: \"video\", label: \"Video\", icon: Film, colorClass: \"text-red-400\", bgClass: \"bg-red-500/10\", apiValue: \"Video\" },\n { slug: \"art\", label: \"Art\", icon: Palette, colorClass: \"text-pink-400\", bgClass: \"bg-pink-500/10\", apiValue: \"Art\" },\n { slug: \"photography\", label: \"Photography\", icon: Camera, colorClass: \"text-amber-400\", bgClass: \"bg-amber-500/10\", apiValue: \"Photography\" },\n { slug: \"nft\", label: \"NFT\", icon: Gem, colorClass: \"text-blue-400\", bgClass: \"bg-blue-500/10\", apiValue: null },\n { slug: \"software\", label: \"Software\", icon: Code, colorClass: \"text-cyan-400\", bgClass: \"bg-cyan-500/10\", apiValue: \"Software\" },\n { slug: \"rwa\", label: \"RWA\", icon: Building, colorClass: \"text-lime-400\", bgClass: \"bg-lime-500/10\", apiValue: \"RWA\" },\n { slug: \"patents\", label: \"Patents\", icon: Award, colorClass: \"text-emerald-400\", bgClass: \"bg-emerald-500/10\", apiValue: \"Patents\" },\n { slug: \"posts\", label: \"Posts\", icon: FileText, colorClass: \"text-orange-400\", bgClass: \"bg-orange-500/10\", apiValue: \"Posts\" },\n { slug: \"publications\", label: \"Publications\", icon: BookOpen, colorClass: \"text-teal-400\", bgClass: \"bg-teal-500/10\", apiValue: \"Publications\" },\n { slug: \"documents\", label: \"Documents\", icon: File, colorClass: \"text-slate-400\", bgClass: \"bg-slate-500/10\", apiValue: \"Documents\" },\n { slug: \"custom\", label: \"Custom\", icon: Layers, colorClass: \"text-indigo-400\", bgClass: \"bg-indigo-500/10\", apiValue: \"Custom\" },\n];\n\nexport const IP_TYPE_MAP = Object.fromEntries(\n IP_TYPE_CONFIG.map((c) => [c.slug, c])\n) as Record<string, IpTypeConfig>;\n\nconst SIZE = {\n sm: { container: \"h-6 w-6\", icon: \"h-3 w-3\" },\n md: { container: \"h-8 w-8\", icon: \"h-4 w-4\" },\n};\n\nexport interface IpTypeBadgeProps {\n ipType: string;\n size?: \"sm\" | \"md\";\n className?: string;\n /** Base URL for IP type pages. Default: \"\" (relative). Example: \"https://medialane.io\" */\n baseUrl?: string;\n}\n\nexport function IpTypeBadge({ ipType, size = \"sm\", className, baseUrl = \"\" }: IpTypeBadgeProps) {\n const config = IP_TYPE_CONFIG.find(\n (c) => c.label === ipType || c.apiValue === ipType\n );\n if (!config) return null;\n const { icon: Icon, colorClass, bgClass, slug, label } = config;\n const { container, icon } = SIZE[size];\n return (\n <a\n href={`${baseUrl}/${slug}`}\n title={label}\n className={cn(\n \"inline-flex items-center justify-center rounded-full\",\n \"transition-opacity hover:opacity-80\",\n bgClass,\n container,\n className\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Icon className={cn(colorClass, icon)} />\n </a>\n );\n}\n"],"mappings":";AAsEM;AApEN;AAAA,EACE;AAAA,EAAO;AAAA,EAAS;AAAA,EAAM;AAAA,EAAQ;AAAA,EAAK;AAAA,EACnC;AAAA,EAAU;AAAA,EAAU;AAAA,EAAM;AAAA,EAAU;AAAA,EAAM;AAAA,OACrC;AACP,SAAS,UAAU;AAYZ,MAAM,iBAAiC;AAAA,EAC5C,EAAE,MAAM,SAAgB,OAAO,SAAgB,MAAM,OAAU,YAAY,mBAAoB,SAAS,oBAAqB,UAAU,QAAQ;AAAA,EAC/I,EAAE,MAAM,SAAgB,OAAO,SAAgB,MAAM,MAAU,YAAY,gBAAoB,SAAS,iBAAqB,UAAU,QAAQ;AAAA,EAC/I,EAAE,MAAM,OAAgB,OAAO,OAAgB,MAAM,SAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,MAAM;AAAA,EAC7I,EAAE,MAAM,eAAgB,OAAO,eAAgB,MAAM,QAAU,YAAY,kBAAoB,SAAS,mBAAqB,UAAU,cAAc;AAAA,EACrJ,EAAE,MAAM,OAAgB,OAAO,OAAgB,MAAM,KAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,KAAK;AAAA,EAC5I,EAAE,MAAM,YAAgB,OAAO,YAAgB,MAAM,MAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,WAAW;AAAA,EAClJ,EAAE,MAAM,OAAgB,OAAO,OAAgB,MAAM,UAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,MAAM;AAAA,EAC7I,EAAE,MAAM,WAAgB,OAAO,WAAgB,MAAM,OAAU,YAAY,oBAAoB,SAAS,qBAAqB,UAAU,UAAU;AAAA,EACjJ,EAAE,MAAM,SAAgB,OAAO,SAAgB,MAAM,UAAU,YAAY,mBAAoB,SAAS,oBAAqB,UAAU,QAAQ;AAAA,EAC/I,EAAE,MAAM,gBAAgB,OAAO,gBAAgB,MAAM,UAAU,YAAY,iBAAoB,SAAS,kBAAqB,UAAU,eAAe;AAAA,EACtJ,EAAE,MAAM,aAAgB,OAAO,aAAgB,MAAM,MAAU,YAAY,kBAAoB,SAAS,mBAAqB,UAAU,YAAY;AAAA,EACnJ,EAAE,MAAM,UAAgB,OAAO,UAAgB,MAAM,QAAU,YAAY,mBAAoB,SAAS,oBAAqB,UAAU,SAAS;AAClJ;AAEO,MAAM,cAAc,OAAO;AAAA,EAChC,eAAe,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACvC;AAEA,MAAM,OAAO;AAAA,EACX,IAAI,EAAE,WAAW,WAAW,MAAM,UAAU;AAAA,EAC5C,IAAI,EAAE,WAAW,WAAW,MAAM,UAAU;AAC9C;AAUO,SAAS,YAAY,EAAE,QAAQ,OAAO,MAAM,WAAW,UAAU,GAAG,GAAqB;AAC9F,QAAM,SAAS,eAAe;AAAA,IAC5B,CAAC,MAAM,EAAE,UAAU,UAAU,EAAE,aAAa;AAAA,EAC9C;AACA,MAAI,CAAC,OAAQ,QAAO;AACpB,QAAM,EAAE,MAAM,MAAM,YAAY,SAAS,MAAM,MAAM,IAAI;AACzD,QAAM,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,GAAG,OAAO,IAAI,IAAI;AAAA,MACxB,OAAO;AAAA,MACP,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAElC,8BAAC,QAAK,WAAW,GAAG,YAAY,IAAI,GAAG;AAAA;AAAA,EACzC;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/ip-type-badge.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Music, Palette, Film, Camera, Gem, Award,\n FileText, BookOpen, File, Building, Code, Layers,\n} from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\nimport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"../data/ip-types.js\";\nimport type { IpTypeData } from \"../data/ip-types.js\";\n\n/** Client-only: extends IpTypeData with a React icon component. */\nexport interface IpTypeConfig extends IpTypeData {\n icon: React.ElementType;\n}\n\nexport const IP_TYPE_CONFIG: IpTypeConfig[] = IP_TYPE_DATA.map((d) => {\n const icons: Record<string, React.ElementType> = {\n audio: Music,\n video: Film,\n art: Palette,\n photography: Camera,\n nft: Gem,\n software: Code,\n rwa: Building,\n patents: Award,\n posts: FileText,\n publications: BookOpen,\n documents: File,\n custom: Layers,\n };\n return { ...d, icon: icons[d.slug] ?? Layers };\n});\n\nexport const IP_TYPE_MAP = Object.fromEntries(\n IP_TYPE_CONFIG.map((c) => [c.slug, c])\n) as Record<string, IpTypeConfig>;\n\n// Re-export server-safe data so consumers only need one import path\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP };\nexport type { IpTypeData };\n\nconst SIZE = {\n sm: { container: \"h-6 w-6\", icon: \"h-3 w-3\" },\n md: { container: \"h-8 w-8\", icon: \"h-4 w-4\" },\n};\n\nexport interface IpTypeBadgeProps {\n ipType: string;\n size?: \"sm\" | \"md\";\n className?: string;\n /** Base URL for IP type pages. Default: \"\" (relative). */\n baseUrl?: string;\n}\n\nexport function IpTypeBadge({ ipType, size = \"sm\", className, baseUrl = \"\" }: IpTypeBadgeProps) {\n const config = IP_TYPE_CONFIG.find(\n (c) => c.label === ipType || c.apiValue === ipType\n );\n if (!config) return null;\n const { icon: Icon, colorClass, bgClass, slug, label } = config;\n const { container, icon } = SIZE[size];\n return (\n <a\n href={`${baseUrl}/${slug}`}\n title={label}\n className={cn(\n \"inline-flex items-center justify-center rounded-full\",\n \"transition-opacity hover:opacity-80\",\n bgClass,\n container,\n className\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Icon className={cn(colorClass, icon)} />\n </a>\n );\n}\n"],"mappings":";AA0EM;AAxEN;AAAA,EACE;AAAA,EAAO;AAAA,EAAS;AAAA,EAAM;AAAA,EAAQ;AAAA,EAAK;AAAA,EACnC;AAAA,EAAU;AAAA,EAAU;AAAA,EAAM;AAAA,EAAU;AAAA,EAAM;AAAA,OACrC;AACP,SAAS,UAAU;AACnB,SAAS,cAAc,wBAAwB;AAQxC,MAAM,iBAAiC,aAAa,IAAI,CAAC,MAAM;AACpE,QAAM,QAA2C;AAAA,IAC/C,OAAO;AAAA,IACP,OAAO;AAAA,IACP,KAAK;AAAA,IACL,aAAa;AAAA,IACb,KAAK;AAAA,IACL,UAAU;AAAA,IACV,KAAK;AAAA,IACL,SAAS;AAAA,IACT,OAAO;AAAA,IACP,cAAc;AAAA,IACd,WAAW;AAAA,IACX,QAAQ;AAAA,EACV;AACA,SAAO,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,IAAI,KAAK,OAAO;AAC/C,CAAC;AAEM,MAAM,cAAc,OAAO;AAAA,EAChC,eAAe,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACvC;AAMA,MAAM,OAAO;AAAA,EACX,IAAI,EAAE,WAAW,WAAW,MAAM,UAAU;AAAA,EAC5C,IAAI,EAAE,WAAW,WAAW,MAAM,UAAU;AAC9C;AAUO,SAAS,YAAY,EAAE,QAAQ,OAAO,MAAM,WAAW,UAAU,GAAG,GAAqB;AAC9F,QAAM,SAAS,eAAe;AAAA,IAC5B,CAAC,MAAM,EAAE,UAAU,UAAU,EAAE,aAAa;AAAA,EAC9C;AACA,MAAI,CAAC,OAAQ,QAAO;AACpB,QAAM,EAAE,MAAM,MAAM,YAAY,SAAS,MAAM,MAAM,IAAI;AACzD,QAAM,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,GAAG,OAAO,IAAI,IAAI;AAAA,MACxB,OAAO;AAAA,MACP,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAElC,8BAAC,QAAK,WAAW,GAAG,YAAY,IAAI,GAAG;AAAA;AAAA,EACzC;AAEJ;","names":[]}
@@ -0,0 +1,47 @@
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_types_exports = {};
20
+ __export(ip_types_exports, {
21
+ IP_TYPE_DATA: () => IP_TYPE_DATA,
22
+ IP_TYPE_DATA_MAP: () => IP_TYPE_DATA_MAP
23
+ });
24
+ module.exports = __toCommonJS(ip_types_exports);
25
+ const IP_TYPE_DATA = [
26
+ { slug: "audio", label: "Audio", apiValue: "Audio", colorClass: "text-violet-400", bgClass: "bg-violet-500/10" },
27
+ { slug: "video", label: "Video", apiValue: "Video", colorClass: "text-red-400", bgClass: "bg-red-500/10" },
28
+ { slug: "art", label: "Art", apiValue: "Art", colorClass: "text-pink-400", bgClass: "bg-pink-500/10" },
29
+ { slug: "photography", label: "Photography", apiValue: "Photography", colorClass: "text-amber-400", bgClass: "bg-amber-500/10" },
30
+ { slug: "nft", label: "NFT", apiValue: null, colorClass: "text-blue-400", bgClass: "bg-blue-500/10" },
31
+ { slug: "software", label: "Software", apiValue: "Software", colorClass: "text-cyan-400", bgClass: "bg-cyan-500/10" },
32
+ { slug: "rwa", label: "RWA", apiValue: "RWA", colorClass: "text-lime-400", bgClass: "bg-lime-500/10" },
33
+ { slug: "patents", label: "Patents", apiValue: "Patents", colorClass: "text-emerald-400", bgClass: "bg-emerald-500/10" },
34
+ { slug: "posts", label: "Posts", apiValue: "Posts", colorClass: "text-orange-400", bgClass: "bg-orange-500/10" },
35
+ { slug: "publications", label: "Publications", apiValue: "Publications", colorClass: "text-teal-400", bgClass: "bg-teal-500/10" },
36
+ { slug: "documents", label: "Documents", apiValue: "Documents", colorClass: "text-slate-400", bgClass: "bg-slate-500/10" },
37
+ { slug: "custom", label: "Custom", apiValue: "Custom", colorClass: "text-indigo-400", bgClass: "bg-indigo-500/10" }
38
+ ];
39
+ const IP_TYPE_DATA_MAP = Object.fromEntries(
40
+ IP_TYPE_DATA.map((d) => [d.slug, d])
41
+ );
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ IP_TYPE_DATA,
45
+ IP_TYPE_DATA_MAP
46
+ });
47
+ //# sourceMappingURL=ip-types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/data/ip-types.ts"],"sourcesContent":["/** Server-safe IP type data — no React components, safe to import in Server Components. */\nexport interface IpTypeData {\n slug: string;\n label: string;\n /** API ipType value — null means \"nft\" special case */\n apiValue: string | null;\n colorClass: string;\n bgClass: string;\n}\n\nexport const IP_TYPE_DATA: IpTypeData[] = [\n { slug: \"audio\", label: \"Audio\", apiValue: \"Audio\", colorClass: \"text-violet-400\", bgClass: \"bg-violet-500/10\" },\n { slug: \"video\", label: \"Video\", apiValue: \"Video\", colorClass: \"text-red-400\", bgClass: \"bg-red-500/10\" },\n { slug: \"art\", label: \"Art\", apiValue: \"Art\", colorClass: \"text-pink-400\", bgClass: \"bg-pink-500/10\" },\n { slug: \"photography\", label: \"Photography\", apiValue: \"Photography\", colorClass: \"text-amber-400\", bgClass: \"bg-amber-500/10\" },\n { slug: \"nft\", label: \"NFT\", apiValue: null, colorClass: \"text-blue-400\", bgClass: \"bg-blue-500/10\" },\n { slug: \"software\", label: \"Software\", apiValue: \"Software\", colorClass: \"text-cyan-400\", bgClass: \"bg-cyan-500/10\" },\n { slug: \"rwa\", label: \"RWA\", apiValue: \"RWA\", colorClass: \"text-lime-400\", bgClass: \"bg-lime-500/10\" },\n { slug: \"patents\", label: \"Patents\", apiValue: \"Patents\", colorClass: \"text-emerald-400\", bgClass: \"bg-emerald-500/10\" },\n { slug: \"posts\", label: \"Posts\", apiValue: \"Posts\", colorClass: \"text-orange-400\", bgClass: \"bg-orange-500/10\" },\n { slug: \"publications\", label: \"Publications\", apiValue: \"Publications\", colorClass: \"text-teal-400\", bgClass: \"bg-teal-500/10\" },\n { slug: \"documents\", label: \"Documents\", apiValue: \"Documents\", colorClass: \"text-slate-400\", bgClass: \"bg-slate-500/10\" },\n { slug: \"custom\", label: \"Custom\", apiValue: \"Custom\", colorClass: \"text-indigo-400\", bgClass: \"bg-indigo-500/10\" },\n];\n\nexport const IP_TYPE_DATA_MAP = Object.fromEntries(\n IP_TYPE_DATA.map((d) => [d.slug, d])\n) as Record<string, IpTypeData>;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,eAA6B;AAAA,EACxC,EAAE,MAAM,SAAgB,OAAO,SAAgB,UAAU,SAAgB,YAAY,mBAAoB,SAAS,mBAAoB;AAAA,EACtI,EAAE,MAAM,SAAgB,OAAO,SAAgB,UAAU,SAAgB,YAAY,gBAAoB,SAAS,gBAAoB;AAAA,EACtI,EAAE,MAAM,OAAgB,OAAO,OAAgB,UAAU,OAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,eAAgB,OAAO,eAAgB,UAAU,eAAgB,YAAY,kBAAoB,SAAS,kBAAoB;AAAA,EACtI,EAAE,MAAM,OAAgB,OAAO,OAAgB,UAAU,MAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,YAAgB,OAAO,YAAgB,UAAU,YAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,OAAgB,OAAO,OAAgB,UAAU,OAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,WAAgB,OAAO,WAAgB,UAAU,WAAgB,YAAY,oBAAoB,SAAS,oBAAoB;AAAA,EACtI,EAAE,MAAM,SAAgB,OAAO,SAAgB,UAAU,SAAgB,YAAY,mBAAoB,SAAS,mBAAoB;AAAA,EACtI,EAAE,MAAM,gBAAgB,OAAO,gBAAgB,UAAU,gBAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,aAAgB,OAAO,aAAgB,UAAU,aAAgB,YAAY,kBAAoB,SAAS,kBAAoB;AAAA,EACtI,EAAE,MAAM,UAAgB,OAAO,UAAgB,UAAU,UAAgB,YAAY,mBAAoB,SAAS,mBAAoB;AACxI;AAEO,MAAM,mBAAmB,OAAO;AAAA,EACrC,aAAa,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACrC;","names":[]}
@@ -0,0 +1,13 @@
1
+ /** Server-safe IP type data — no React components, safe to import in Server Components. */
2
+ interface IpTypeData {
3
+ slug: string;
4
+ label: string;
5
+ /** API ipType value — null means "nft" special case */
6
+ apiValue: string | null;
7
+ colorClass: string;
8
+ bgClass: string;
9
+ }
10
+ declare const IP_TYPE_DATA: IpTypeData[];
11
+ declare const IP_TYPE_DATA_MAP: Record<string, IpTypeData>;
12
+
13
+ export { IP_TYPE_DATA, IP_TYPE_DATA_MAP, type IpTypeData };
@@ -0,0 +1,13 @@
1
+ /** Server-safe IP type data — no React components, safe to import in Server Components. */
2
+ interface IpTypeData {
3
+ slug: string;
4
+ label: string;
5
+ /** API ipType value — null means "nft" special case */
6
+ apiValue: string | null;
7
+ colorClass: string;
8
+ bgClass: string;
9
+ }
10
+ declare const IP_TYPE_DATA: IpTypeData[];
11
+ declare const IP_TYPE_DATA_MAP: Record<string, IpTypeData>;
12
+
13
+ export { IP_TYPE_DATA, IP_TYPE_DATA_MAP, type IpTypeData };
@@ -0,0 +1,22 @@
1
+ const IP_TYPE_DATA = [
2
+ { slug: "audio", label: "Audio", apiValue: "Audio", colorClass: "text-violet-400", bgClass: "bg-violet-500/10" },
3
+ { slug: "video", label: "Video", apiValue: "Video", colorClass: "text-red-400", bgClass: "bg-red-500/10" },
4
+ { slug: "art", label: "Art", apiValue: "Art", colorClass: "text-pink-400", bgClass: "bg-pink-500/10" },
5
+ { slug: "photography", label: "Photography", apiValue: "Photography", colorClass: "text-amber-400", bgClass: "bg-amber-500/10" },
6
+ { slug: "nft", label: "NFT", apiValue: null, colorClass: "text-blue-400", bgClass: "bg-blue-500/10" },
7
+ { slug: "software", label: "Software", apiValue: "Software", colorClass: "text-cyan-400", bgClass: "bg-cyan-500/10" },
8
+ { slug: "rwa", label: "RWA", apiValue: "RWA", colorClass: "text-lime-400", bgClass: "bg-lime-500/10" },
9
+ { slug: "patents", label: "Patents", apiValue: "Patents", colorClass: "text-emerald-400", bgClass: "bg-emerald-500/10" },
10
+ { slug: "posts", label: "Posts", apiValue: "Posts", colorClass: "text-orange-400", bgClass: "bg-orange-500/10" },
11
+ { slug: "publications", label: "Publications", apiValue: "Publications", colorClass: "text-teal-400", bgClass: "bg-teal-500/10" },
12
+ { slug: "documents", label: "Documents", apiValue: "Documents", colorClass: "text-slate-400", bgClass: "bg-slate-500/10" },
13
+ { slug: "custom", label: "Custom", apiValue: "Custom", colorClass: "text-indigo-400", bgClass: "bg-indigo-500/10" }
14
+ ];
15
+ const IP_TYPE_DATA_MAP = Object.fromEntries(
16
+ IP_TYPE_DATA.map((d) => [d.slug, d])
17
+ );
18
+ export {
19
+ IP_TYPE_DATA,
20
+ IP_TYPE_DATA_MAP
21
+ };
22
+ //# sourceMappingURL=ip-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/data/ip-types.ts"],"sourcesContent":["/** Server-safe IP type data — no React components, safe to import in Server Components. */\nexport interface IpTypeData {\n slug: string;\n label: string;\n /** API ipType value — null means \"nft\" special case */\n apiValue: string | null;\n colorClass: string;\n bgClass: string;\n}\n\nexport const IP_TYPE_DATA: IpTypeData[] = [\n { slug: \"audio\", label: \"Audio\", apiValue: \"Audio\", colorClass: \"text-violet-400\", bgClass: \"bg-violet-500/10\" },\n { slug: \"video\", label: \"Video\", apiValue: \"Video\", colorClass: \"text-red-400\", bgClass: \"bg-red-500/10\" },\n { slug: \"art\", label: \"Art\", apiValue: \"Art\", colorClass: \"text-pink-400\", bgClass: \"bg-pink-500/10\" },\n { slug: \"photography\", label: \"Photography\", apiValue: \"Photography\", colorClass: \"text-amber-400\", bgClass: \"bg-amber-500/10\" },\n { slug: \"nft\", label: \"NFT\", apiValue: null, colorClass: \"text-blue-400\", bgClass: \"bg-blue-500/10\" },\n { slug: \"software\", label: \"Software\", apiValue: \"Software\", colorClass: \"text-cyan-400\", bgClass: \"bg-cyan-500/10\" },\n { slug: \"rwa\", label: \"RWA\", apiValue: \"RWA\", colorClass: \"text-lime-400\", bgClass: \"bg-lime-500/10\" },\n { slug: \"patents\", label: \"Patents\", apiValue: \"Patents\", colorClass: \"text-emerald-400\", bgClass: \"bg-emerald-500/10\" },\n { slug: \"posts\", label: \"Posts\", apiValue: \"Posts\", colorClass: \"text-orange-400\", bgClass: \"bg-orange-500/10\" },\n { slug: \"publications\", label: \"Publications\", apiValue: \"Publications\", colorClass: \"text-teal-400\", bgClass: \"bg-teal-500/10\" },\n { slug: \"documents\", label: \"Documents\", apiValue: \"Documents\", colorClass: \"text-slate-400\", bgClass: \"bg-slate-500/10\" },\n { slug: \"custom\", label: \"Custom\", apiValue: \"Custom\", colorClass: \"text-indigo-400\", bgClass: \"bg-indigo-500/10\" },\n];\n\nexport const IP_TYPE_DATA_MAP = Object.fromEntries(\n IP_TYPE_DATA.map((d) => [d.slug, d])\n) as Record<string, IpTypeData>;\n"],"mappings":"AAUO,MAAM,eAA6B;AAAA,EACxC,EAAE,MAAM,SAAgB,OAAO,SAAgB,UAAU,SAAgB,YAAY,mBAAoB,SAAS,mBAAoB;AAAA,EACtI,EAAE,MAAM,SAAgB,OAAO,SAAgB,UAAU,SAAgB,YAAY,gBAAoB,SAAS,gBAAoB;AAAA,EACtI,EAAE,MAAM,OAAgB,OAAO,OAAgB,UAAU,OAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,eAAgB,OAAO,eAAgB,UAAU,eAAgB,YAAY,kBAAoB,SAAS,kBAAoB;AAAA,EACtI,EAAE,MAAM,OAAgB,OAAO,OAAgB,UAAU,MAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,YAAgB,OAAO,YAAgB,UAAU,YAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,OAAgB,OAAO,OAAgB,UAAU,OAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,WAAgB,OAAO,WAAgB,UAAU,WAAgB,YAAY,oBAAoB,SAAS,oBAAoB;AAAA,EACtI,EAAE,MAAM,SAAgB,OAAO,SAAgB,UAAU,SAAgB,YAAY,mBAAoB,SAAS,mBAAoB;AAAA,EACtI,EAAE,MAAM,gBAAgB,OAAO,gBAAgB,UAAU,gBAAgB,YAAY,iBAAoB,SAAS,iBAAoB;AAAA,EACtI,EAAE,MAAM,aAAgB,OAAO,aAAgB,UAAU,aAAgB,YAAY,kBAAoB,SAAS,kBAAoB;AAAA,EACtI,EAAE,MAAM,UAAgB,OAAO,UAAgB,UAAU,UAAgB,YAAY,mBAAoB,SAAS,mBAAoB;AACxI;AAEO,MAAM,mBAAmB,OAAO;AAAA,EACrC,aAAa,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACrC;","names":[]}
package/dist/index.cjs CHANGED
@@ -21,6 +21,8 @@ __export(index_exports, {
21
21
  CurrencyAmount: () => import_currency_icon.CurrencyAmount,
22
22
  CurrencyIcon: () => import_currency_icon.CurrencyIcon,
23
23
  IP_TYPE_CONFIG: () => import_ip_type_badge.IP_TYPE_CONFIG,
24
+ IP_TYPE_DATA: () => import_ip_type_badge.IP_TYPE_DATA,
25
+ IP_TYPE_DATA_MAP: () => import_ip_type_badge.IP_TYPE_DATA_MAP,
24
26
  IP_TYPE_MAP: () => import_ip_type_badge.IP_TYPE_MAP,
25
27
  IpTypeBadge: () => import_ip_type_badge.IpTypeBadge,
26
28
  MedialaneIcon: () => import_brand_icon.MedialaneIcon,
@@ -40,6 +42,8 @@ var import_brand_logo = require("./components/brand-logo.js");
40
42
  CurrencyAmount,
41
43
  CurrencyIcon,
42
44
  IP_TYPE_CONFIG,
45
+ IP_TYPE_DATA,
46
+ IP_TYPE_DATA_MAP,
43
47
  IP_TYPE_MAP,
44
48
  IpTypeBadge,
45
49
  MedialaneIcon,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAmB;AACnB,oBAAmC;AACnC,2BAA6C;AAE7C,2BAAyD;AAEzD,wBAA8B;AAE9B,wBAAkC;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\n\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP, IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig, IpTypeData } from \"./components/ip-type-badge.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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAmB;AACnB,oBAAmC;AAEnC,2BAA6C;AAG7C,2BAAyF;AAGzF,wBAA8B;AAE9B,wBAAkC;","names":[]}
package/dist/index.d.cts CHANGED
@@ -4,5 +4,6 @@ export { CurrencyAmount, CurrencyAmountProps, CurrencyIcon, CurrencyIconProps }
4
4
  export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, IpTypeBadgeProps, IpTypeConfig } from './components/ip-type-badge.cjs';
5
5
  export { MedialaneIcon, MedialaneIconProps } from './components/brand-icon.cjs';
6
6
  export { MedialaneLogoFull, MedialaneLogoFullProps } from './components/brand-logo.cjs';
7
+ export { IP_TYPE_DATA, IP_TYPE_DATA_MAP, IpTypeData } from './data/ip-types.cjs';
7
8
  import 'clsx';
8
9
  import 'react/jsx-runtime';
package/dist/index.d.ts CHANGED
@@ -4,5 +4,6 @@ export { CurrencyAmount, CurrencyAmountProps, CurrencyIcon, CurrencyIconProps }
4
4
  export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, IpTypeBadgeProps, IpTypeConfig } from './components/ip-type-badge.js';
5
5
  export { MedialaneIcon, MedialaneIconProps } from './components/brand-icon.js';
6
6
  export { MedialaneLogoFull, MedialaneLogoFullProps } from './components/brand-logo.js';
7
+ export { IP_TYPE_DATA, IP_TYPE_DATA_MAP, IpTypeData } from './data/ip-types.js';
7
8
  import 'clsx';
8
9
  import 'react/jsx-runtime';
package/dist/index.js CHANGED
@@ -1,13 +1,15 @@
1
1
  import { cn } from "./utils/cn.js";
2
2
  import { formatDisplayPrice } from "./utils/format.js";
3
3
  import { CurrencyIcon, CurrencyAmount } from "./components/currency-icon.js";
4
- import { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from "./components/ip-type-badge.js";
4
+ import { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP, IP_TYPE_DATA, IP_TYPE_DATA_MAP } from "./components/ip-type-badge.js";
5
5
  import { MedialaneIcon } from "./components/brand-icon.js";
6
6
  import { MedialaneLogoFull } from "./components/brand-logo.js";
7
7
  export {
8
8
  CurrencyAmount,
9
9
  CurrencyIcon,
10
10
  IP_TYPE_CONFIG,
11
+ IP_TYPE_DATA,
12
+ IP_TYPE_DATA_MAP,
11
13
  IP_TYPE_MAP,
12
14
  IpTypeBadge,
13
15
  MedialaneIcon,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\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"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,0BAA0B;AACnC,SAAS,cAAc,sBAAsB;AAE7C,SAAS,aAAa,gBAAgB,mBAAmB;AAEzD,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\n\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP, IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig, IpTypeData } from \"./components/ip-type-badge.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"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,0BAA0B;AAEnC,SAAS,cAAc,sBAAsB;AAG7C,SAAS,aAAa,gBAAgB,aAAa,cAAc,wBAAwB;AAGzF,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medialane/ui",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Shared UI components for Medialane apps",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",