@b3-crow/ui-kit 0.0.36-pr50.2 → 0.0.36-pr50.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.
Files changed (45) hide show
  1. package/dist/components/backgrounds/Globe.d.ts.map +1 -1
  2. package/dist/components/backgrounds/Globe.js +15 -291
  3. package/dist/components/backgrounds/Globe.js.map +1 -1
  4. package/dist/components/backgrounds/GlobeRenderer.d.ts +3 -0
  5. package/dist/components/backgrounds/GlobeRenderer.d.ts.map +1 -0
  6. package/dist/components/backgrounds/GlobeRenderer.js +218 -0
  7. package/dist/components/backgrounds/GlobeRenderer.js.map +1 -0
  8. package/dist/components/cards/Card.d.ts +1 -1
  9. package/dist/components/cards/Card.d.ts.map +1 -1
  10. package/dist/components/cards/Card.js +2 -2
  11. package/dist/components/cards/Card.js.map +1 -1
  12. package/dist/components/display/CodeBlock.d.ts.map +1 -1
  13. package/dist/components/display/CodeBlock.js +21 -11
  14. package/dist/components/display/CodeBlock.js.map +1 -1
  15. package/dist/components/display/PackageManagerSelector.d.ts.map +1 -1
  16. package/dist/components/display/PackageManagerSelector.js +4 -4
  17. package/dist/components/display/PackageManagerSelector.js.map +1 -1
  18. package/dist/components/inputs/EmailTagInput.d.ts.map +1 -1
  19. package/dist/components/inputs/EmailTagInput.js +18 -11
  20. package/dist/components/inputs/EmailTagInput.js.map +1 -1
  21. package/dist/components/inputs/InputField.d.ts +2 -1
  22. package/dist/components/inputs/InputField.d.ts.map +1 -1
  23. package/dist/components/inputs/InputField.js.map +1 -1
  24. package/dist/components/inputs/TagInput.d.ts.map +1 -1
  25. package/dist/components/inputs/TagInput.js +1 -1
  26. package/dist/components/inputs/TagInput.js.map +1 -1
  27. package/dist/components/layout/MobileSidebar.d.ts.map +1 -1
  28. package/dist/components/layout/MobileSidebar.js +4 -4
  29. package/dist/components/layout/MobileSidebar.js.map +1 -1
  30. package/dist/lib/constants.d.ts.map +1 -1
  31. package/dist/lib/constants.js +6 -0
  32. package/dist/lib/constants.js.map +1 -1
  33. package/dist/lib/types.d.ts +1 -1
  34. package/dist/lib/types.d.ts.map +1 -1
  35. package/dist/styles.css +1 -1
  36. package/package.json +43 -7
  37. package/.gitkeep +0 -0
  38. package/.prettierignore +0 -28
  39. package/.templatesyncignore +0 -2
  40. package/.whitesource +0 -14
  41. package/docs/components.md +0 -265
  42. package/docs/development.md +0 -291
  43. package/docs/examples.md +0 -333
  44. package/docs/screenshot.svg +0 -57
  45. package/docs/setup.md +0 -73
@@ -1 +1 @@
1
- {"version":3,"file":"Globe.d.ts","sourceRoot":"","sources":["../../../src/components/backgrounds/Globe.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAwOD,wBAAgB,KAAK,CAAC,EAAE,MAAM,EAAE,IAAU,EAAE,EAAE,UAAU,2CA8LvD"}
1
+ {"version":3,"file":"Globe.d.ts","sourceRoot":"","sources":["../../../src/components/backgrounds/Globe.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA0CD,wBAAgB,KAAK,CAAC,EAAE,MAAuB,EAAE,IAAU,EAAE,EAAE,UAAU,2CAMxE"}
@@ -1,305 +1,29 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { motion } from 'framer-motion';
4
3
  import { Cctv, Globe as GlobeIcon, Share2 } from 'lucide-react';
5
- import { useEffect, useRef, useState } from 'react';
6
- // Generate icosphere vertices and edges for wireframe mesh
7
- const generateIcosphere = (subdivisions = 2) => {
8
- const t = (1 + Math.sqrt(5)) / 2;
9
- // Base icosahedron vertices
10
- let vertices = [
11
- { x: -1, y: t, z: 0 },
12
- { x: 1, y: t, z: 0 },
13
- { x: -1, y: -t, z: 0 },
14
- { x: 1, y: -t, z: 0 },
15
- { x: 0, y: -1, z: t },
16
- { x: 0, y: 1, z: t },
17
- { x: 0, y: -1, z: -t },
18
- { x: 0, y: 1, z: -t },
19
- { x: t, y: 0, z: -1 },
20
- { x: t, y: 0, z: 1 },
21
- { x: -t, y: 0, z: -1 },
22
- { x: -t, y: 0, z: 1 },
23
- ];
24
- // Base faces (triangles)
25
- let faces = [
26
- [0, 11, 5],
27
- [0, 5, 1],
28
- [0, 1, 7],
29
- [0, 7, 10],
30
- [0, 10, 11],
31
- [1, 5, 9],
32
- [5, 11, 4],
33
- [11, 10, 2],
34
- [10, 7, 6],
35
- [7, 1, 8],
36
- [3, 9, 4],
37
- [3, 4, 2],
38
- [3, 2, 6],
39
- [3, 6, 8],
40
- [3, 8, 9],
41
- [4, 9, 5],
42
- [2, 4, 11],
43
- [6, 2, 10],
44
- [8, 6, 7],
45
- [9, 8, 1],
46
- ];
47
- // Normalize vertex
48
- const normalize = (v) => {
49
- const len = Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
50
- return { x: v.x / len, y: v.y / len, z: v.z / len };
51
- };
52
- // Get midpoint and add to vertices
53
- const getMidpoint = (v1, v2) => {
54
- return normalize({
55
- x: (v1.x + v2.x) / 2,
56
- y: (v1.y + v2.y) / 2,
57
- z: (v1.z + v2.z) / 2,
58
- });
59
- };
60
- // Normalize initial vertices
61
- vertices = vertices.map(normalize);
62
- // Subdivide
63
- for (let i = 0; i < subdivisions; i++) {
64
- const newFaces = [];
65
- faces.forEach(face => {
66
- const [a, b, c] = face;
67
- const va = vertices[a];
68
- const vb = vertices[b];
69
- const vc = vertices[c];
70
- // Get midpoints
71
- const mab = getMidpoint(va, vb);
72
- const mbc = getMidpoint(vb, vc);
73
- const mca = getMidpoint(vc, va);
74
- // Add midpoints to vertices
75
- const iab = vertices.length;
76
- vertices.push(mab);
77
- const ibc = vertices.length;
78
- vertices.push(mbc);
79
- const ica = vertices.length;
80
- vertices.push(mca);
81
- // Create 4 new triangles
82
- newFaces.push([a, iab, ica]);
83
- newFaces.push([b, ibc, iab]);
84
- newFaces.push([c, ica, ibc]);
85
- newFaces.push([iab, ibc, ica]);
86
- });
87
- faces = newFaces;
88
- }
89
- // Extract unique edges from faces
90
- const edgeSet = new Set();
91
- const edges = [];
92
- faces.forEach(face => {
93
- const [a, b, c] = face;
94
- const pairs = [
95
- [a, b],
96
- [b, c],
97
- [c, a],
98
- ];
99
- pairs.forEach(([i, j]) => {
100
- const key = i < j ? `${i}-${j}` : `${j}-${i}`;
101
- if (!edgeSet.has(key)) {
102
- edgeSet.add(key);
103
- edges.push({ a: i, b: j });
104
- }
105
- });
106
- });
107
- return { vertices, edges };
108
- };
109
- // Rotate a 3D point around Y axis
110
- const rotateY = (v, angle) => {
111
- const cos = Math.cos(angle);
112
- const sin = Math.sin(angle);
113
- return {
114
- x: v.x * cos - v.z * sin,
115
- y: v.y,
116
- z: v.x * sin + v.z * cos,
117
- };
118
- };
119
- // Rotate a 3D point around X axis
120
- const rotateX = (v, angle) => {
121
- const cos = Math.cos(angle);
122
- const sin = Math.sin(angle);
123
- return {
124
- x: v.x,
125
- y: v.y * cos - v.z * sin,
126
- z: v.y * sin + v.z * cos,
127
- };
128
- };
129
- // Project 3D to 2D (orthographic projection to maintain perfect circle)
130
- const project = (v, radius, size) => {
131
- return {
132
- x: size / 2 + v.x * radius,
133
- y: size / 2 - v.y * radius,
134
- };
135
- };
136
- // Convert lat/long to 3D and calculate screen position
137
- const calculatePointPosition = (lat, long, rotation, size) => {
138
- const latRad = (lat * Math.PI) / 180;
139
- const longRad = (long * Math.PI) / 180;
140
- let vertex = {
141
- x: Math.cos(latRad) * Math.sin(longRad),
142
- y: Math.sin(latRad),
143
- z: Math.cos(latRad) * Math.cos(longRad),
144
- };
145
- vertex = rotateY(vertex, rotation);
146
- vertex = rotateX(vertex, 0.3);
147
- const projected = project(vertex, size * 0.4, size);
148
- const baseScale = vertex.z > 0 ? 1 + vertex.z * 0.3 : 0.7 + vertex.z * 0.3;
149
- // Smooth fade transition instead of instant disappearance
150
- let opacity = 1;
151
- if (vertex.z > 0.3) {
152
- opacity = 1; // Fully visible in front
153
- }
154
- else if (vertex.z > -0.3) {
155
- // Gradual fade in the transition zone
156
- opacity = (vertex.z + 0.3) / 0.6;
157
- }
158
- else {
159
- opacity = 0; // Fully hidden behind
160
- }
161
- return {
162
- x: projected.x,
163
- y: projected.y,
164
- z: vertex.z,
165
- scale: Math.max(0.5, baseScale),
166
- opacity,
167
- };
168
- };
169
- const defaultPoints = [
4
+ import { lazy, Suspense } from 'react';
5
+ const DEFAULT_POINTS = [
170
6
  {
171
7
  label: 'Internet',
172
8
  icon: _jsx(GlobeIcon, { size: 30 }),
173
- location: [20, 0],
9
+ location: [0, -90],
10
+ },
11
+ {
12
+ label: 'CCTV',
13
+ icon: _jsx(Cctv, { size: 30 }),
14
+ location: [0, 30],
174
15
  },
175
- { label: 'CCTV', icon: _jsx(Cctv, { size: 30 }), location: [0, -60] },
176
16
  {
177
17
  label: 'Social Media',
178
18
  icon: _jsx(Share2, { size: 30 }),
179
- location: [-10, 50],
19
+ location: [0, 150],
180
20
  },
181
21
  ];
182
- export function Globe({ points, size = 600 }) {
183
- const containerRef = useRef(null);
184
- const canvasRef = useRef(null);
185
- const [pointPositions, setPointPositions] = useState([]);
186
- const rotationRef = useRef(-0.2);
187
- const scaleIndexRef = useRef(0);
188
- const scalingRef = useRef(false);
189
- const scaleStartTimeRef = useRef(0);
190
- const animationRef = useRef(undefined);
191
- const visibleRef = useRef(true);
192
- const displayPoints = points || defaultPoints;
193
- // Pause animation when globe is off-screen
194
- useEffect(() => {
195
- const container = containerRef.current;
196
- if (!container)
197
- return;
198
- const observer = new IntersectionObserver(([entry]) => {
199
- visibleRef.current = entry.isIntersecting;
200
- }, { threshold: 0.05 });
201
- observer.observe(container);
202
- return () => observer.disconnect();
203
- }, []);
204
- useEffect(() => {
205
- const canvas = canvasRef.current;
206
- if (!canvas)
207
- return;
208
- const ctx = canvas.getContext('2d');
209
- if (!ctx)
210
- return;
211
- const { vertices, edges } = generateIcosphere(2);
212
- const radius = size * 0.4;
213
- const render = () => {
214
- if (!visibleRef.current) {
215
- animationRef.current = requestAnimationFrame(render);
216
- return;
217
- }
218
- ctx.clearRect(0, 0, size, size);
219
- // Rotate and project vertices
220
- const rotated = vertices.map(v => {
221
- let rv = rotateY(v, rotationRef.current);
222
- rv = rotateX(rv, 0.3);
223
- return rv;
224
- });
225
- // Draw edges
226
- ctx.strokeStyle = 'rgba(255, 255, 255, 0.4)';
227
- ctx.lineWidth = 1.5;
228
- edges.forEach(edge => {
229
- const v1 = rotated[edge.a];
230
- const v2 = rotated[edge.b];
231
- if (v1.z > -0.5 || v2.z > -0.5) {
232
- const p1 = project(v1, radius, size);
233
- const p2 = project(v2, radius, size);
234
- ctx.beginPath();
235
- ctx.moveTo(p1.x, p1.y);
236
- ctx.lineTo(p2.x, p2.y);
237
- ctx.stroke();
238
- }
239
- });
240
- // Draw vertices as small dots
241
- ctx.fillStyle = 'rgba(255, 255, 255, 0.5)';
242
- rotated.forEach(v => {
243
- if (v.z > -0.5) {
244
- const p = project(v, radius, size);
245
- ctx.beginPath();
246
- ctx.arc(p.x, p.y, 2, 0, Math.PI * 2);
247
- ctx.fill();
248
- }
249
- });
250
- // Update point positions
251
- const positions = displayPoints.map(point => calculatePointPosition(point.location[0], point.location[1], rotationRef.current, size));
252
- // Sequential scaling - brief pulse when icon reaches front
253
- const currentPos = positions[scaleIndexRef.current];
254
- const now = Date.now();
255
- if (currentPos && currentPos.z > 0.4 && !scalingRef.current) {
256
- scalingRef.current = true;
257
- scaleStartTimeRef.current = now;
258
- }
259
- if (scalingRef.current) {
260
- const elapsed = now - scaleStartTimeRef.current;
261
- const scaleDuration = 500;
262
- if (elapsed < scaleDuration && currentPos) {
263
- const progress = elapsed / scaleDuration;
264
- const pulseAmount = Math.sin(progress * Math.PI);
265
- currentPos.scale *= 1 + pulseAmount * 0.35;
266
- }
267
- else {
268
- scalingRef.current = false;
269
- scaleIndexRef.current =
270
- (scaleIndexRef.current + 1) % displayPoints.length;
271
- }
272
- }
273
- setPointPositions(positions);
274
- rotationRef.current += 0.003;
275
- animationRef.current = requestAnimationFrame(render);
276
- };
277
- render();
278
- return () => {
279
- if (animationRef.current) {
280
- cancelAnimationFrame(animationRef.current);
281
- }
282
- };
283
- }, [size, displayPoints]);
284
- return (_jsxs("div", { ref: containerRef, className: "relative", style: { width: size, height: size }, children: [_jsx("canvas", { ref: canvasRef, width: size, height: size, style: {
285
- width: size,
286
- height: size,
287
- maxWidth: '100%',
288
- aspectRatio: '1',
289
- } }), displayPoints.map((point, index) => {
290
- const pos = pointPositions[index];
291
- if (!pos)
292
- return null;
293
- return (_jsx(motion.div, { className: "absolute -translate-x-1/2 -translate-y-1/2 pointer-events-none", style: {
294
- left: pos.x,
295
- top: pos.y,
296
- opacity: pos.opacity,
297
- zIndex: pos.z > 0 ? 10 : 5,
298
- }, animate: {
299
- scale: pos.scale,
300
- }, transition: {
301
- scale: { duration: 0.3, ease: 'easeOut' },
302
- }, children: _jsxs("div", { className: "relative", children: [_jsx("div", { className: "w-16 h-16 rounded-full bg-black/70 border-2 border-white/50 backdrop-blur-sm flex items-center justify-center text-white shadow-lg", children: point.icon }), _jsx("div", { className: "absolute top-full mt-2 left-1/2 -translate-x-1/2 whitespace-nowrap", children: _jsx("span", { className: "text-sm text-white font-medium drop-shadow-lg", children: point.label }) })] }) }, point.label));
303
- })] }));
22
+ const GlobeRenderer = lazy(() => import('./GlobeRenderer'));
23
+ function GlobeLoader({ size }) {
24
+ return (_jsx("div", { className: "flex items-center justify-center", style: { width: size, height: size }, children: _jsxs("div", { className: "relative", children: [_jsx("div", { className: "rounded-full border-2 border-white/20 animate-pulse", style: { width: size * 0.6, height: size * 0.6 } }), _jsx("div", { className: "absolute inset-0 rounded-full border-t-2 border-blue-500/50 animate-spin", style: { width: size * 0.6, height: size * 0.6 } })] }) }));
25
+ }
26
+ export function Globe({ points = DEFAULT_POINTS, size = 600 }) {
27
+ return (_jsx(Suspense, { fallback: _jsx(GlobeLoader, { size: size }), children: _jsx(GlobeRenderer, { points: points, size: size }) }));
304
28
  }
305
29
  //# sourceMappingURL=Globe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Globe.js","sourceRoot":"","sources":["../../../src/components/backgrounds/Globe.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Globe.js","sourceRoot":"","sources":["../../../src/components/backgrounds/Globe.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAavC,MAAM,cAAc,GAAiB;IACnC;QACE,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI;QAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;KACnB;IACD;QACE,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI;QACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;KAClB;IACD;QACE,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI;QAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;KACnB;CACF,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAE5D,SAAS,WAAW,CAAC,EAAE,IAAI,EAAoB;IAC7C,OAAO,CACL,cACE,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAEpC,eAAK,SAAS,EAAC,UAAU,aACvB,cACE,SAAS,EAAC,qDAAqD,EAC/D,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,GAAG,GAAG,EAAE,GAChD,EACF,cACE,SAAS,EAAC,0EAA0E,EACpF,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,GAAG,GAAG,EAAE,GAChD,IACE,GACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,IAAI,GAAG,GAAG,EAAc;IACvE,OAAO,CACL,KAAC,QAAQ,IAAC,QAAQ,EAAE,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,GAAI,YAC7C,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,GACpC,CACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GlobeProps } from './Globe';
2
+ export default function GlobeRenderer({ points, size }: GlobeProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=GlobeRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobeRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/backgrounds/GlobeRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAgFtD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,MAAW,EAAE,IAAU,EAAE,EAAE,UAAU,2CAwP5E"}
@@ -0,0 +1,218 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { motion } from 'framer-motion';
4
+ import { useEffect, useRef, useState } from 'react';
5
+ import { AmbientLight, DirectionalLight, PerspectiveCamera, Scene, Vector3, WebGLRenderer, } from 'three';
6
+ import ThreeGlobe from 'three-globe';
7
+ function generateArcs(points, randomArcCount = 6) {
8
+ const arcs = [];
9
+ const colors = [
10
+ 'rgba(255, 107, 107, 0.4)',
11
+ 'rgba(78, 205, 196, 0.4)',
12
+ 'rgba(69, 183, 209, 0.4)',
13
+ 'rgba(150, 206, 180, 0.4)',
14
+ 'rgba(168, 85, 247, 0.4)',
15
+ 'rgba(59, 130, 246, 0.4)',
16
+ ];
17
+ for (let i = 0; i < points.length; i++) {
18
+ for (let j = i + 1; j < points.length; j++) {
19
+ arcs.push({
20
+ startLat: points[i].location[0],
21
+ startLng: points[i].location[1],
22
+ endLat: points[j].location[0],
23
+ endLng: points[j].location[1],
24
+ color: colors[Math.floor(Math.random() * colors.length)],
25
+ });
26
+ }
27
+ }
28
+ for (let i = 0; i < randomArcCount; i++) {
29
+ const startLat = Math.random() * 140 - 70;
30
+ const startLng = Math.random() * 360 - 180;
31
+ const endLat = Math.random() * 140 - 70;
32
+ const endLng = Math.random() * 360 - 180;
33
+ arcs.push({
34
+ startLat,
35
+ startLng,
36
+ endLat,
37
+ endLng,
38
+ color: colors[Math.floor(Math.random() * colors.length)],
39
+ });
40
+ }
41
+ return arcs;
42
+ }
43
+ function generatePointsData(points) {
44
+ return points.map(p => ({
45
+ lat: p.location[0],
46
+ lng: p.location[1],
47
+ size: 0.5,
48
+ color: '#ffffff',
49
+ }));
50
+ }
51
+ export default function GlobeRenderer({ points = [], size = 600 }) {
52
+ const containerRef = useRef(null);
53
+ const rendererRef = useRef(null);
54
+ const animationRef = useRef(undefined);
55
+ const globeRef = useRef(null);
56
+ const positionsRef = useRef([]);
57
+ const lastFlushRef = useRef(0);
58
+ const [pointPositions, setPointPositions] = useState([]);
59
+ const [visiblePoints, setVisiblePoints] = useState(() => new Set());
60
+ const displayPoints = points;
61
+ useEffect(() => {
62
+ const timeouts = [];
63
+ for (let i = 0; i < displayPoints.length; i++) {
64
+ // eslint-disable-next-line react-web-api/no-leaked-timeout -- Cleanup is handled below
65
+ const timeout = setTimeout(() => {
66
+ setVisiblePoints(prev => new Set(prev).add(i));
67
+ }, i * 800);
68
+ timeouts.push(timeout);
69
+ }
70
+ return () => {
71
+ for (const t of timeouts) {
72
+ clearTimeout(t);
73
+ }
74
+ };
75
+ }, [displayPoints]);
76
+ useEffect(() => {
77
+ const container = containerRef.current;
78
+ if (!container)
79
+ return;
80
+ const scene = new Scene();
81
+ const camera = new PerspectiveCamera(50, 1, 1, 1000);
82
+ const isMobile = window.innerWidth < 768;
83
+ camera.position.z = isMobile ? 455 : 350;
84
+ const maxPixelRatio = isMobile ? 1 : 2;
85
+ const renderer = new WebGLRenderer({ antialias: true, alpha: true });
86
+ renderer.setSize(size, size);
87
+ renderer.setPixelRatio(Math.min(window.devicePixelRatio, maxPixelRatio));
88
+ container.appendChild(renderer.domElement);
89
+ rendererRef.current = renderer;
90
+ const ambientLight = new AmbientLight(0xffffff, 2.0);
91
+ scene.add(ambientLight);
92
+ const directionalLight = new DirectionalLight(0xffffff, 2.2);
93
+ directionalLight.position.set(1, 1, 1);
94
+ scene.add(directionalLight);
95
+ const GLOBE_RADIUS = 100;
96
+ const globe = new ThreeGlobe({ animateIn: true })
97
+ .globeImageUrl('/textures/earth-night.jpg')
98
+ .bumpImageUrl('/textures/earth-topology.png')
99
+ .showAtmosphere(true)
100
+ .atmosphereColor('#3a82f7')
101
+ .atmosphereAltitude(0.15)
102
+ .pointsData(generatePointsData(displayPoints))
103
+ .pointAltitude(0.01)
104
+ .pointColor('color')
105
+ .pointRadius('size')
106
+ .arcsData(generateArcs(displayPoints))
107
+ .arcColor('color')
108
+ .arcDashLength(0.4)
109
+ .arcDashGap(0.2)
110
+ .arcDashAnimateTime(2000)
111
+ .arcStroke(0.3)
112
+ .arcAltitudeAutoScale(0.3);
113
+ globeRef.current = globe;
114
+ scene.add(globe);
115
+ scene.rotation.x = 0;
116
+ // Pre-allocate reusable Vector3 objects
117
+ const tempPos = new Vector3();
118
+ const yAxis = new Vector3(0, 1, 0);
119
+ let isVisible = true;
120
+ const animate = () => {
121
+ if (!isVisible) {
122
+ animationRef.current = undefined;
123
+ return;
124
+ }
125
+ globe.rotation.y += 0.003;
126
+ const positions = displayPoints.map(point => {
127
+ const [lat, lng] = point.location;
128
+ const phi = ((90 - lat) * Math.PI) / 180;
129
+ const theta = ((lng + 180) * Math.PI) / 180;
130
+ tempPos.set(-GLOBE_RADIUS * Math.sin(phi) * Math.cos(theta), GLOBE_RADIUS * Math.cos(phi), GLOBE_RADIUS * Math.sin(phi) * Math.sin(theta));
131
+ tempPos.applyAxisAngle(yAxis, globe.rotation.y);
132
+ const normalizedZ = tempPos.z / GLOBE_RADIUS;
133
+ const projected = tempPos.clone().project(camera);
134
+ const screenX = (projected.x * 0.5 + 0.5) * size;
135
+ const screenY = (-projected.y * 0.5 + 0.5) * size;
136
+ let opacity = 1;
137
+ if (normalizedZ > 0.3) {
138
+ opacity = 1;
139
+ }
140
+ else if (normalizedZ > -0.3) {
141
+ opacity = (normalizedZ + 0.3) / 0.6;
142
+ }
143
+ else {
144
+ opacity = 0;
145
+ }
146
+ let scale = normalizedZ > 0 ? 1 + normalizedZ * 0.3 : 0.7 + normalizedZ * 0.3;
147
+ scale = Math.max(0.5, scale);
148
+ const centerX = size / 2;
149
+ const centerY = size / 2;
150
+ const distanceFromCenter = Math.sqrt((screenX - centerX) ** 2 + (screenY - centerY) ** 2);
151
+ const centerThreshold = 80;
152
+ const isInCenter = distanceFromCenter < centerThreshold && normalizedZ > 0;
153
+ if (isInCenter) {
154
+ const centerProgress = 1 - distanceFromCenter / centerThreshold;
155
+ scale *= 1 + centerProgress * 0.3;
156
+ }
157
+ return {
158
+ x: screenX,
159
+ y: screenY,
160
+ z: normalizedZ,
161
+ scale,
162
+ opacity,
163
+ isInCenter,
164
+ };
165
+ });
166
+ positionsRef.current = positions;
167
+ // Throttle React state updates to ~10fps (every 100ms)
168
+ // WebGL canvas still renders at 60fps — only HTML label overlays update at 10fps
169
+ const now = performance.now();
170
+ if (now - lastFlushRef.current >= 100) {
171
+ lastFlushRef.current = now;
172
+ // eslint-disable-next-line react-hooks-extra/no-direct-set-state-in-use-effect -- Animation loop requires setState for label overlay updates
173
+ setPointPositions(positions);
174
+ }
175
+ renderer.render(scene, camera);
176
+ animationRef.current = requestAnimationFrame(animate);
177
+ };
178
+ const observer = new IntersectionObserver(([entry]) => {
179
+ isVisible = entry.isIntersecting;
180
+ if (isVisible && !animationRef.current) {
181
+ animationRef.current = requestAnimationFrame(animate);
182
+ }
183
+ }, { threshold: 0 });
184
+ observer.observe(container);
185
+ animate();
186
+ return () => {
187
+ observer.disconnect();
188
+ if (animationRef.current) {
189
+ cancelAnimationFrame(animationRef.current);
190
+ }
191
+ if (rendererRef.current && container) {
192
+ container.removeChild(rendererRef.current.domElement);
193
+ rendererRef.current.dispose();
194
+ }
195
+ };
196
+ }, [size, displayPoints]);
197
+ return (_jsxs("div", { className: "relative", style: { width: size, height: size }, children: [_jsx("div", { ref: containerRef, className: "absolute inset-0" }), displayPoints.map((point, index) => {
198
+ const pos = pointPositions[index];
199
+ if (!pos)
200
+ return null;
201
+ if (!visiblePoints.has(index))
202
+ return null;
203
+ const showText = pos.isInCenter;
204
+ return (_jsx(motion.div, { className: "absolute -translate-x-1/2 -translate-y-1/2 pointer-events-none", style: {
205
+ left: pos.x,
206
+ top: pos.y,
207
+ opacity: pos.opacity,
208
+ zIndex: pos.z > 0 ? 10 : 5,
209
+ }, initial: { opacity: 0, scale: 0 }, animate: {
210
+ opacity: pos.opacity,
211
+ scale: pos.scale,
212
+ }, transition: {
213
+ opacity: { duration: 0.3 },
214
+ scale: { duration: 0.3, ease: 'easeOut' },
215
+ }, children: _jsxs("div", { className: "relative", children: [_jsx("div", { className: "w-16 h-16 rounded-full bg-black/70 border-2 border-white/50 backdrop-blur-sm flex items-center justify-center text-white shadow-lg", children: point.icon }), showText && (_jsx(motion.div, { className: "absolute top-full mt-2 left-1/2 -translate-x-1/2 whitespace-nowrap", initial: { opacity: 0, y: -10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, transition: { duration: 0.3 }, children: _jsx("span", { className: "text-sm text-white font-medium drop-shadow-lg", children: point.label }) }))] }) }, point.label));
216
+ })] }));
217
+ }
218
+ //# sourceMappingURL=GlobeRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobeRenderer.js","sourceRoot":"","sources":["../../../src/components/backgrounds/GlobeRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type VariantProps } from 'class-variance-authority';
1
+ import type { VariantProps } from 'class-variance-authority';
2
2
  declare const cardVariants: (props?: ({
3
3
  border?: "top" | "left" | "none" | "all" | "right" | "bottom" | "top-bottom" | "left-right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | null | undefined;
4
4
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/cards/Card.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,YAAY;;mFAuBjB,CAAC;AA+BF,MAAM,WAAW,SAAU,SAAQ,YAAY,CAAC,OAAO,YAAY,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,eAAe,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAClC;AAED,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAe,EACf,MAAc,EACd,MAAkB,EAClB,SAAc,EACd,cAAmB,EACnB,oBAAyB,EACzB,aAAkB,EAClB,YAAqB,EACrB,MAAM,GACP,EAAE,SAAS,2CA+EX"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/cards/Card.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D,QAAA,MAAM,YAAY;;mFAuBjB,CAAC;AA+BF,MAAM,WAAW,SAAU,SAAQ,YAAY,CAAC,OAAO,YAAY,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,eAAe,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAClC;AAED,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAe,EACf,MAAc,EACd,MAAkB,EAClB,SAAc,EACd,cAAmB,EACnB,oBAAyB,EACzB,aAAkB,EAClB,YAAqB,EACrB,MAAM,GACP,EAAE,SAAS,2CA+EX"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { motion } from 'framer-motion';
4
3
  import { cva } from 'class-variance-authority';
4
+ import { motion } from 'framer-motion';
5
5
  import { cn } from '../../lib/utils';
6
6
  const cardVariants = cva('relative p-8 flex flex-col h-full backdrop-blur-sm group border-white/10 overflow-visible', {
7
7
  variants: {
@@ -35,7 +35,7 @@ const contentVariants = cva('', {
35
35
  align: 'left',
36
36
  },
37
37
  });
38
- const descriptionVariants = cva('text-sm leading-relaxed mb-8', {
38
+ const descriptionVariants = cva('text-sm leading-relaxed mb-8 text-white/70', {
39
39
  variants: {
40
40
  layout: {
41
41
  feature: '',
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/cards/Card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/cards/Card.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,YAAY,GAAG,GAAG,CACtB,2FAA2F,EAC3F;IACE,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE,mBAAmB;YACjC,YAAY,EAAE,mBAAmB;YACjC,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,mBAAmB;YAChC,aAAa,EAAE,mBAAmB;YAClC,cAAc,EAAE,mBAAmB;YACnC,IAAI,EAAE,EAAE;SACT;KACF;IACD,eAAe,EAAE;QACf,MAAM,EAAE,MAAM;KACf;CACF,CACF,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE,EAAE;IAC9B,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,aAAa;SACtB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,GAAG,CAAC,4CAA4C,EAAE;IAC5E,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,WAAW;SAC3B;QACD,KAAK,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,aAAa;SACtB;KACF;IACD,eAAe,EAAE;QACf,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC;AAkBH,MAAM,UAAU,IAAI,CAAC,EACnB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,GAAG,KAAK,EACf,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,SAAS,EAClB,SAAS,GAAG,EAAE,EACd,cAAc,GAAG,EAAE,EACnB,oBAAoB,GAAG,EAAE,EACzB,aAAa,GAAG,EAAE,EAClB,YAAY,GAAG,MAAM,EACrB,MAAM,GACI;IACV,2FAA2F;IAC3F,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAElE,OAAO,CACL,MAAC,MAAM,CAAC,GAAG,IACT,SAAS,EAAE,EAAE,CACX,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EACvC,SAAS,EACT,UAAU,CACX,EACD,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAC9B,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EACxB,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,aAGjD,cAAK,SAAS,EAAC,qHAAqH,GAAG,EAGvI,cAAK,SAAS,EAAC,wHAAwH,GAAG,EAI1I,cAAK,SAAS,EAAC,iHAAiH,GAAG,EAGnI,cAAK,SAAS,EAAC,kHAAkH,GAAG,EAGpI,cAAK,SAAS,EAAC,oHAAoH,GAAG,EAGtI,cAAK,SAAS,EAAC,qHAAqH,GAAG,EAEtI,MAAM,KAAK,eAAe,IAAI,IAAI,IAAI,CACrC,cACE,SAAS,EAAE,EAAE,CAAC,uCAAuC,EAAE,aAAa,CAAC,YAErE,cAAK,SAAS,EAAC,eAAe,YAAE,IAAI,GAAO,GACvC,CACP,EAED,aACE,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EACxC,cAAc,CACf,YAEA,KAAK,GACH,EAEL,YACE,SAAS,EAAE,EAAE,CACX,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EACpD,oBAAoB,CACrB,YAEA,WAAW,GACV,EAEH,MAAM,KAAK,SAAS,IAAI,IAAI,IAAI,CAC/B,cACE,SAAS,EAAE,EAAE,CACX,iDAAiD,EACjD,aAAa,CACd,YAED,cAAK,SAAS,EAAC,8CAA8C,YAC1D,IAAI,GACD,GACF,CACP,EAEA,MAAM,IAAI,cAAK,SAAS,EAAC,qBAAqB,YAAE,MAAM,GAAO,IACnD,CACd,CAAC;AACJ,CAAC"}