@cellarnode/ui 0.7.2 → 0.7.4
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/globe/index.d.ts +1 -0
- package/dist/globe/index.d.ts.map +1 -1
- package/dist/globe/index.js +1 -0
- package/dist/globe/index.js.map +1 -1
- package/dist/globe/worker-polyfill.d.ts +20 -0
- package/dist/globe/worker-polyfill.d.ts.map +1 -0
- package/dist/globe/worker-polyfill.js +45 -0
- package/dist/globe/worker-polyfill.js.map +1 -0
- package/dist/profile/profile-hero.js +1 -1
- package/dist/profile/profile-hero.js.map +1 -1
- package/package.json +4 -1
package/dist/globe/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* 1. Create `src/workers/globe-worker.tsx` in your app:
|
|
16
16
|
* ```tsx
|
|
17
|
+
* import "@cellarnode/ui/globe/worker-polyfill"; // MUST be first — shims window for three-globe
|
|
17
18
|
* import { render } from "@react-three/offscreen";
|
|
18
19
|
* import { GlobeScene } from "@cellarnode/ui/globe";
|
|
19
20
|
* render(<GlobeScene />);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/globe/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/globe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,YAAY,EACV,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/globe/index.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* 1. Create `src/workers/globe-worker.tsx` in your app:
|
|
16
16
|
* ```tsx
|
|
17
|
+
* import "@cellarnode/ui/globe/worker-polyfill"; // MUST be first — shims window for three-globe
|
|
17
18
|
* import { render } from "@react-three/offscreen";
|
|
18
19
|
* import { GlobeScene } from "@cellarnode/ui/globe";
|
|
19
20
|
* render(<GlobeScene />);
|
package/dist/globe/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/globe/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/globe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAaH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Worker polyfill for three-globe compatibility.
|
|
3
|
+
*
|
|
4
|
+
* three-globe accesses `window.THREE` at module evaluation time and
|
|
5
|
+
* `window.innerWidth`/`window.innerHeight`. Web Workers have no `window`
|
|
6
|
+
* global, so this must be imported BEFORE any three.js-related modules.
|
|
7
|
+
*
|
|
8
|
+
* @react-three/offscreen applies its own shims, but only inside the
|
|
9
|
+
* `render()` function body — too late for module-level code.
|
|
10
|
+
*
|
|
11
|
+
* Usage in consumer worker files:
|
|
12
|
+
* ```ts
|
|
13
|
+
* import "@cellarnode/ui/globe/worker-polyfill"; // MUST be first import
|
|
14
|
+
* import { render } from "@react-three/offscreen";
|
|
15
|
+
* import { GlobeScene } from "@cellarnode/ui/globe";
|
|
16
|
+
* render(<GlobeScene />);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare const g: any;
|
|
20
|
+
//# sourceMappingURL=worker-polyfill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-polyfill.d.ts","sourceRoot":"","sources":["../../src/globe/worker-polyfill.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,CAAC,EAAiB,GAAG,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
/**
|
|
4
|
+
* Web Worker polyfill for three-globe compatibility.
|
|
5
|
+
*
|
|
6
|
+
* three-globe accesses `window.THREE` at module evaluation time and
|
|
7
|
+
* `window.innerWidth`/`window.innerHeight`. Web Workers have no `window`
|
|
8
|
+
* global, so this must be imported BEFORE any three.js-related modules.
|
|
9
|
+
*
|
|
10
|
+
* @react-three/offscreen applies its own shims, but only inside the
|
|
11
|
+
* `render()` function body — too late for module-level code.
|
|
12
|
+
*
|
|
13
|
+
* Usage in consumer worker files:
|
|
14
|
+
* ```ts
|
|
15
|
+
* import "@cellarnode/ui/globe/worker-polyfill"; // MUST be first import
|
|
16
|
+
* import { render } from "@react-three/offscreen";
|
|
17
|
+
* import { GlobeScene } from "@cellarnode/ui/globe";
|
|
18
|
+
* render(<GlobeScene />);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
const g = globalThis;
|
|
22
|
+
if (typeof g.window === "undefined") {
|
|
23
|
+
g.window = g;
|
|
24
|
+
}
|
|
25
|
+
if (typeof g.document === "undefined") {
|
|
26
|
+
g.document = {
|
|
27
|
+
createElement: () => ({ style: {} }),
|
|
28
|
+
createElementNS: () => ({ style: {} }),
|
|
29
|
+
createTextNode: () => ({}),
|
|
30
|
+
head: { appendChild: () => { }, removeChild: () => { } },
|
|
31
|
+
body: { appendChild: () => { }, removeChild: () => { } },
|
|
32
|
+
addEventListener: () => { },
|
|
33
|
+
removeEventListener: () => { },
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (typeof g.HTMLCanvasElement === "undefined") {
|
|
37
|
+
g.HTMLCanvasElement = g.OffscreenCanvas ?? class {
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
// three-globe reads window.innerWidth / window.innerHeight for default renderer size
|
|
41
|
+
if (typeof g.innerWidth === "undefined")
|
|
42
|
+
g.innerWidth = 1024;
|
|
43
|
+
if (typeof g.innerHeight === "undefined")
|
|
44
|
+
g.innerHeight = 768;
|
|
45
|
+
//# sourceMappingURL=worker-polyfill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-polyfill.js","sourceRoot":"","sources":["../../src/globe/worker-polyfill.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,GAAG,UAAiB,CAAC;AAE5B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;IACpC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACf,CAAC;AAED,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;IACtC,CAAC,CAAC,QAAQ,GAAG;QACX,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACpC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACtC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;QACtD,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;QACtD,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC1B,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,IAAI,OAAO,CAAC,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;IAC/C,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,eAAe,IAAI;KAAQ,CAAC;AACtD,CAAC;AAED,qFAAqF;AACrF,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,WAAW;IAAE,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;AAC7D,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,WAAW;IAAE,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC"}
|
|
@@ -14,6 +14,6 @@ function getInitials(name) {
|
|
|
14
14
|
.toUpperCase();
|
|
15
15
|
}
|
|
16
16
|
export function ProfileHero({ bannerUrl, avatarUrl, name, subtitle, verified, badges, className, }) {
|
|
17
|
-
return (_jsxs("div", { className: cn("relative", className), children: [_jsxs("div", { className: "relative h-[120px] overflow-hidden rounded-t-2xl sm:h-[160px] md:h-[200px]", children: [bannerUrl ? (_jsx("img", { src: bannerUrl, alt: "", className: "size-full object-cover" })) : (_jsx("div", { className: "size-full bg-linear-to-br from-primary/80 via-primary to-primary/60" })), badges && badges.length > 0 && (_jsx("div", { className: "absolute right-3 top-3 flex gap-2", children: badges.map((badge) => (_jsx("span", { className: cn("rounded-full border px-2.5 py-0.5 text-[11px] font-semibold backdrop-blur-xs", badgeStyles[badge.variant]), children: badge.label }, badge.label))) }))] }), _jsx("div", { className: "relative px-5 pb-2 sm:px-6", children: _jsxs("div", { className: "-mt-
|
|
17
|
+
return (_jsxs("div", { className: cn("relative", className), children: [_jsxs("div", { className: "relative h-[120px] overflow-hidden rounded-t-2xl sm:h-[160px] md:h-[200px]", children: [bannerUrl ? (_jsx("img", { src: bannerUrl, alt: "", className: "size-full object-cover" })) : (_jsx("div", { className: "size-full bg-linear-to-br from-primary/80 via-primary to-primary/60" })), badges && badges.length > 0 && (_jsx("div", { className: "absolute right-3 top-3 flex gap-2", children: badges.map((badge) => (_jsx("span", { className: cn("rounded-full border px-2.5 py-0.5 text-[11px] font-semibold backdrop-blur-xs", badgeStyles[badge.variant]), children: badge.label }, badge.label))) }))] }), _jsx("div", { className: "relative px-5 pb-2 sm:px-6", children: _jsxs("div", { className: "-mt-8 flex items-end gap-3.5 sm:-mt-10", children: [_jsx("div", { className: "size-16 shrink-0 overflow-hidden rounded-xl border-[3px] border-background bg-background shadow-xs sm:size-20", children: avatarUrl ? (_jsx("img", { src: avatarUrl, alt: name, className: "size-full object-cover" })) : (_jsx("div", { className: "flex size-full items-center justify-center bg-muted text-base font-bold text-muted-foreground sm:text-lg", children: getInitials(name) })) }), _jsxs("div", { className: "min-w-0 pb-1", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("h1", { className: "truncate text-xl font-bold font-display tracking-tight text-foreground sm:text-2xl", children: name }), verified && (_jsx("svg", { className: "size-5 shrink-0 text-blue-500 sm:size-6", viewBox: "0 0 20 20", fill: "currentColor", children: _jsx("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" }) }))] }), subtitle && (_jsx("p", { className: "truncate text-xs text-muted-foreground sm:text-sm/6", children: subtitle }))] })] }) })] }));
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=profile-hero.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-hero.js","sourceRoot":"","sources":["../../src/profile/profile-hero.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAiBlC,MAAM,WAAW,GAAgD;IAC/D,WAAW,EAAE,oDAAoD;IACjE,OAAO,EAAE,0DAA0D;IACnE,OAAO,EAAE,wCAAwC;CAClD,CAAC;AAEF,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI;SACR,KAAK,CAAC,KAAK,CAAC;SACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,IAAI,CAAC,EAAE,CAAC;SACR,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,SAAS,EACT,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,SAAS,GACQ;IACjB,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,aAEvC,eAAK,SAAS,EAAC,4EAA4E,aACxF,SAAS,CAAC,CAAC,CAAC,CACX,cAAK,GAAG,EAAE,SAAS,EAAE,GAAG,EAAC,EAAE,EAAC,SAAS,EAAC,wBAAwB,GAAG,CAClE,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,qEAAqE,GAAG,CACxF,EACA,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,cAAK,SAAS,EAAC,mCAAmC,YAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,eAEE,SAAS,EAAE,EAAE,CACX,8EAA8E,EAC9E,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAC3B,YAEA,KAAK,CAAC,KAAK,IANP,KAAK,CAAC,KAAK,CAOX,CACR,CAAC,GACE,CACP,IACG,EAGN,cAAK,SAAS,EAAC,4BAA4B,YACzC,eAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"profile-hero.js","sourceRoot":"","sources":["../../src/profile/profile-hero.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAiBlC,MAAM,WAAW,GAAgD;IAC/D,WAAW,EAAE,oDAAoD;IACjE,OAAO,EAAE,0DAA0D;IACnE,OAAO,EAAE,wCAAwC;CAClD,CAAC;AAEF,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI;SACR,KAAK,CAAC,KAAK,CAAC;SACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,IAAI,CAAC,EAAE,CAAC;SACR,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,SAAS,EACT,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,SAAS,GACQ;IACjB,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,aAEvC,eAAK,SAAS,EAAC,4EAA4E,aACxF,SAAS,CAAC,CAAC,CAAC,CACX,cAAK,GAAG,EAAE,SAAS,EAAE,GAAG,EAAC,EAAE,EAAC,SAAS,EAAC,wBAAwB,GAAG,CAClE,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,qEAAqE,GAAG,CACxF,EACA,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,cAAK,SAAS,EAAC,mCAAmC,YAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,eAEE,SAAS,EAAE,EAAE,CACX,8EAA8E,EAC9E,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAC3B,YAEA,KAAK,CAAC,KAAK,IANP,KAAK,CAAC,KAAK,CAOX,CACR,CAAC,GACE,CACP,IACG,EAGN,cAAK,SAAS,EAAC,4BAA4B,YACzC,eAAK,SAAS,EAAC,wCAAwC,aACrD,cAAK,SAAS,EAAC,+GAA+G,YAC3H,SAAS,CAAC,CAAC,CAAC,CACX,cAAK,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAC,wBAAwB,GAAG,CACtE,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,0GAA0G,YACtH,WAAW,CAAC,IAAI,CAAC,GACd,CACP,GACG,EACN,eAAK,SAAS,EAAC,cAAc,aAC3B,eAAK,SAAS,EAAC,2BAA2B,aACxC,aAAI,SAAS,EAAC,oFAAoF,YAC/F,IAAI,GACF,EACJ,QAAQ,IAAI,CACX,cACE,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,YAEnB,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,wJAAwJ,EAC1J,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,IACG,EACL,QAAQ,IAAI,CACX,YAAG,SAAS,EAAC,qDAAqD,YAC/D,QAAQ,GACP,CACL,IACG,IACF,GACF,IACF,CACP,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cellarnode/ui",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Shared UI components, theme tokens, and chat/offer primitives for CellarNode dashboards.",
|
|
@@ -43,6 +43,9 @@
|
|
|
43
43
|
"types": "./dist/globe/index.d.ts",
|
|
44
44
|
"default": "./dist/globe/index.js"
|
|
45
45
|
},
|
|
46
|
+
"./globe/worker-polyfill": {
|
|
47
|
+
"default": "./dist/globe/worker-polyfill.js"
|
|
48
|
+
},
|
|
46
49
|
"./animated-list": {
|
|
47
50
|
"types": "./dist/components/animated-list.d.ts",
|
|
48
51
|
"default": "./dist/components/animated-list.js"
|