@servantcdh/ez-planet-cosmos 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -0
- package/dist/index.js +364 -353
- package/dist/style.css +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,10 @@ export declare interface CosmosCanvasProps {
|
|
|
19
19
|
onPlanetEnter?: (planet: PlanetConfig) => void;
|
|
20
20
|
onPlanetExit?: () => void;
|
|
21
21
|
onSatelliteClick?: (event: CosmosNavigateEvent) => void;
|
|
22
|
+
onPlanetDrag?: (planetId: string, position: {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}) => void;
|
|
22
26
|
tutorialSteps?: TutorialStep[];
|
|
23
27
|
showTutorial?: boolean;
|
|
24
28
|
onTutorialComplete?: () => void;
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { jsxs as p, jsx as t, Fragment as
|
|
2
|
-
import { memo as Q, useRef as E, useMemo as
|
|
3
|
-
import { Handle as q, Position as V, getBezierPath as
|
|
4
|
-
import { motion as
|
|
5
|
-
import { Canvas as
|
|
1
|
+
import { jsxs as p, jsx as t, Fragment as St } from "react/jsx-runtime";
|
|
2
|
+
import { memo as Q, useRef as E, useMemo as D, useState as R, useCallback as v, useEffect as It } from "react";
|
|
3
|
+
import { Handle as q, Position as V, getBezierPath as wt, BaseEdge as Z, ReactFlowProvider as xt, useReactFlow as kt, useNodesState as Bt, useEdgesState as Tt, ReactFlow as $t, Background as zt, BackgroundVariant as Ft, Controls as Lt, MiniMap as Dt } from "@xyflow/react";
|
|
4
|
+
import { motion as N, AnimatePresence as M } from "framer-motion";
|
|
5
|
+
import { Canvas as Mt, useFrame as Y } from "@react-three/fiber";
|
|
6
6
|
import { Points as tt, PointMaterial as et } from "@react-three/drei";
|
|
7
|
-
function
|
|
8
|
-
const { label: m, subtitle: d, color:
|
|
7
|
+
function Wt({ data: e }) {
|
|
8
|
+
const { label: m, subtitle: d, color: l, status: n, isSelected: s } = e, u = s ? 35 : n === "running" ? 30 : n === "error" ? 20 : 15, o = n === "running" ? [1, 1.08, 1] : [1, 1.02, 1], P = s ? 110 : 100;
|
|
9
9
|
return /* @__PURE__ */ p("div", { style: { position: "relative", cursor: "pointer" }, children: [
|
|
10
10
|
/* @__PURE__ */ t(
|
|
11
11
|
q,
|
|
12
12
|
{
|
|
13
13
|
type: "target",
|
|
14
14
|
position: V.Left,
|
|
15
|
-
style: { background:
|
|
15
|
+
style: { background: l, border: "none", width: 8, height: 8, opacity: 0.6 }
|
|
16
16
|
}
|
|
17
17
|
),
|
|
18
18
|
s && /* @__PURE__ */ t(
|
|
19
|
-
|
|
19
|
+
N.div,
|
|
20
20
|
{
|
|
21
21
|
initial: { scale: 0.8, opacity: 0 },
|
|
22
22
|
animate: { scale: 1, opacity: 1, rotate: 360 },
|
|
@@ -28,33 +28,33 @@ function Lt({ data: e }) {
|
|
|
28
28
|
position: "absolute",
|
|
29
29
|
top: -12,
|
|
30
30
|
left: -12,
|
|
31
|
-
width:
|
|
32
|
-
height:
|
|
31
|
+
width: P + 24,
|
|
32
|
+
height: P + 24,
|
|
33
33
|
borderRadius: "50%",
|
|
34
|
-
border: `1.5px dashed ${
|
|
34
|
+
border: `1.5px dashed ${l}88`,
|
|
35
35
|
pointerEvents: "none"
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
),
|
|
39
39
|
/* @__PURE__ */ p(
|
|
40
|
-
|
|
40
|
+
N.div,
|
|
41
41
|
{
|
|
42
|
-
animate: { scale:
|
|
42
|
+
animate: { scale: o },
|
|
43
43
|
transition: { duration: 3, repeat: 1 / 0, ease: "easeInOut" },
|
|
44
44
|
whileHover: {
|
|
45
|
-
boxShadow: `0 0 ${
|
|
45
|
+
boxShadow: `0 0 ${u + 15}px ${l}aa, inset 0 0 25px rgba(255,255,255,0.15)`
|
|
46
46
|
},
|
|
47
47
|
style: {
|
|
48
|
-
width:
|
|
49
|
-
height:
|
|
48
|
+
width: P,
|
|
49
|
+
height: P,
|
|
50
50
|
borderRadius: "50%",
|
|
51
|
-
background: `radial-gradient(circle at 35% 35%, ${
|
|
52
|
-
boxShadow: `0 0 ${
|
|
51
|
+
background: `radial-gradient(circle at 35% 35%, ${l}cc, ${l}44)`,
|
|
52
|
+
boxShadow: `0 0 ${u}px ${l}88, inset 0 0 20px rgba(255,255,255,0.1)`,
|
|
53
53
|
display: "flex",
|
|
54
54
|
flexDirection: "column",
|
|
55
55
|
alignItems: "center",
|
|
56
56
|
justifyContent: "center",
|
|
57
|
-
border: `2px solid ${s ? `${
|
|
57
|
+
border: `2px solid ${s ? `${l}aa` : `${l}66`}`,
|
|
58
58
|
transition: "width 0.3s, height 0.3s, border-color 0.3s"
|
|
59
59
|
},
|
|
60
60
|
children: [
|
|
@@ -75,8 +75,8 @@ function Lt({ data: e }) {
|
|
|
75
75
|
]
|
|
76
76
|
}
|
|
77
77
|
),
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
n !== "idle" && n !== "disabled" && /* @__PURE__ */ t(
|
|
79
|
+
N.div,
|
|
80
80
|
{
|
|
81
81
|
animate: { opacity: [0.5, 1, 0.5] },
|
|
82
82
|
transition: { duration: 1.5, repeat: 1 / 0 },
|
|
@@ -87,13 +87,13 @@ function Lt({ data: e }) {
|
|
|
87
87
|
width: 14,
|
|
88
88
|
height: 14,
|
|
89
89
|
borderRadius: "50%",
|
|
90
|
-
background:
|
|
90
|
+
background: n === "running" ? "#2ecc71" : n === "error" ? "#e74c3c" : "#27ae60",
|
|
91
91
|
border: "2px solid rgba(0,0,0,0.4)"
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
),
|
|
95
95
|
s && /* @__PURE__ */ t(
|
|
96
|
-
|
|
96
|
+
N.div,
|
|
97
97
|
{
|
|
98
98
|
initial: { opacity: 0, y: 8 },
|
|
99
99
|
animate: { opacity: 0.5, y: 0 },
|
|
@@ -116,43 +116,43 @@ function Lt({ data: e }) {
|
|
|
116
116
|
{
|
|
117
117
|
type: "source",
|
|
118
118
|
position: V.Right,
|
|
119
|
-
style: { background:
|
|
119
|
+
style: { background: l, border: "none", width: 8, height: 8, opacity: 0.6 }
|
|
120
120
|
}
|
|
121
121
|
)
|
|
122
122
|
] });
|
|
123
123
|
}
|
|
124
|
-
const
|
|
125
|
-
function
|
|
124
|
+
const At = Q(Wt);
|
|
125
|
+
function Rt({
|
|
126
126
|
id: e,
|
|
127
127
|
sourceX: m,
|
|
128
128
|
sourceY: d,
|
|
129
|
-
targetX:
|
|
130
|
-
targetY:
|
|
129
|
+
targetX: l,
|
|
130
|
+
targetY: n,
|
|
131
131
|
sourcePosition: s,
|
|
132
|
-
targetPosition:
|
|
133
|
-
data:
|
|
134
|
-
style:
|
|
132
|
+
targetPosition: u,
|
|
133
|
+
data: o,
|
|
134
|
+
style: P = {}
|
|
135
135
|
}) {
|
|
136
|
-
const [
|
|
136
|
+
const [r] = wt({
|
|
137
137
|
sourceX: m,
|
|
138
138
|
sourceY: d,
|
|
139
139
|
sourcePosition: s,
|
|
140
|
-
targetX:
|
|
141
|
-
targetY:
|
|
142
|
-
targetPosition:
|
|
143
|
-
}),
|
|
144
|
-
return /* @__PURE__ */ p(
|
|
140
|
+
targetX: l,
|
|
141
|
+
targetY: n,
|
|
142
|
+
targetPosition: u
|
|
143
|
+
}), h = (o == null ? void 0 : o.isActive) ?? !1, f = (o == null ? void 0 : o.isDimmed) ?? !1, k = h ? "rgba(46, 204, 113, 0.25)" : "rgba(100, 149, 237, 0.15)", w = h ? "rgba(46, 204, 113, 0.7)" : f ? "rgba(100, 149, 237, 0.12)" : "rgba(100, 149, 237, 0.4)", a = h ? 3 : 2, $ = h ? "12 4" : "8 4";
|
|
144
|
+
return /* @__PURE__ */ p(St, { children: [
|
|
145
145
|
/* @__PURE__ */ t(
|
|
146
146
|
Z,
|
|
147
147
|
{
|
|
148
148
|
id: `${e}-glow`,
|
|
149
|
-
path:
|
|
149
|
+
path: r,
|
|
150
150
|
style: {
|
|
151
151
|
stroke: k,
|
|
152
|
-
strokeWidth:
|
|
153
|
-
filter: `blur(${
|
|
152
|
+
strokeWidth: h ? 10 : 6,
|
|
153
|
+
filter: `blur(${h ? 5 : 3}px)`,
|
|
154
154
|
transition: "stroke 0.6s, stroke-width 0.6s",
|
|
155
|
-
...
|
|
155
|
+
...P
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
),
|
|
@@ -160,17 +160,17 @@ function Wt({
|
|
|
160
160
|
Z,
|
|
161
161
|
{
|
|
162
162
|
id: e,
|
|
163
|
-
path:
|
|
163
|
+
path: r,
|
|
164
164
|
style: {
|
|
165
|
-
stroke:
|
|
166
|
-
strokeWidth:
|
|
167
|
-
strokeDasharray:
|
|
165
|
+
stroke: w,
|
|
166
|
+
strokeWidth: a,
|
|
167
|
+
strokeDasharray: $,
|
|
168
168
|
transition: "stroke 0.6s, stroke-width 0.6s",
|
|
169
|
-
...
|
|
169
|
+
...P
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
),
|
|
173
|
-
(
|
|
173
|
+
(o == null ? void 0 : o.label) && /* @__PURE__ */ t("text", { children: /* @__PURE__ */ t(
|
|
174
174
|
"textPath",
|
|
175
175
|
{
|
|
176
176
|
href: `#${e}`,
|
|
@@ -181,22 +181,22 @@ function Wt({
|
|
|
181
181
|
fill: "rgba(255, 255, 255, 0.4)",
|
|
182
182
|
fontFamily: "monospace"
|
|
183
183
|
},
|
|
184
|
-
children:
|
|
184
|
+
children: o.label
|
|
185
185
|
}
|
|
186
186
|
) })
|
|
187
187
|
] });
|
|
188
188
|
}
|
|
189
|
-
const
|
|
190
|
-
function
|
|
191
|
-
const m = E(null), d = e.starCount ?? 2e3,
|
|
189
|
+
const Ot = Q(Rt);
|
|
190
|
+
function Et({ config: e }) {
|
|
191
|
+
const m = E(null), d = e.starCount ?? 2e3, l = e.rotationSpeed ?? 0.02, n = D(() => {
|
|
192
192
|
const s = new Float32Array(d * 3);
|
|
193
|
-
for (let
|
|
194
|
-
s[
|
|
193
|
+
for (let u = 0; u < d; u++)
|
|
194
|
+
s[u * 3] = (Math.random() - 0.5) * 50, s[u * 3 + 1] = (Math.random() - 0.5) * 50, s[u * 3 + 2] = (Math.random() - 0.5) * 50;
|
|
195
195
|
return s;
|
|
196
196
|
}, [d]);
|
|
197
|
-
return Y((s,
|
|
198
|
-
m.current && (m.current.rotation.x -=
|
|
199
|
-
}), /* @__PURE__ */ t(tt, { ref: m, positions:
|
|
197
|
+
return Y((s, u) => {
|
|
198
|
+
m.current && (m.current.rotation.x -= u * l, m.current.rotation.y -= u * (l * 0.5));
|
|
199
|
+
}), /* @__PURE__ */ t(tt, { ref: m, positions: n, stride: 3, frustumCulled: !1, children: /* @__PURE__ */ t(
|
|
200
200
|
et,
|
|
201
201
|
{
|
|
202
202
|
transparent: !0,
|
|
@@ -208,18 +208,18 @@ function Rt({ config: e }) {
|
|
|
208
208
|
}
|
|
209
209
|
) });
|
|
210
210
|
}
|
|
211
|
-
function
|
|
212
|
-
const m = E(null), d = e.nebulaCount ?? 500,
|
|
213
|
-
const
|
|
211
|
+
function Gt({ config: e }) {
|
|
212
|
+
const m = E(null), d = e.nebulaCount ?? 500, l = D(() => {
|
|
213
|
+
const n = new Float32Array(d * 3);
|
|
214
214
|
for (let s = 0; s < d; s++) {
|
|
215
|
-
const
|
|
216
|
-
|
|
215
|
+
const u = Math.random() * Math.PI * 2, o = Math.random() * 8 + 5;
|
|
216
|
+
n[s * 3] = Math.cos(u) * o + (Math.random() - 0.5) * 3, n[s * 3 + 1] = (Math.random() - 0.5) * 4, n[s * 3 + 2] = Math.sin(u) * o + (Math.random() - 0.5) * 3 - 15;
|
|
217
217
|
}
|
|
218
|
-
return
|
|
218
|
+
return n;
|
|
219
219
|
}, [d]);
|
|
220
|
-
return Y((
|
|
220
|
+
return Y((n, s) => {
|
|
221
221
|
m.current && (m.current.rotation.y += s * 5e-3);
|
|
222
|
-
}), /* @__PURE__ */ t(tt, { ref: m, positions:
|
|
222
|
+
}), /* @__PURE__ */ t(tt, { ref: m, positions: l, stride: 3, frustumCulled: !1, children: /* @__PURE__ */ t(
|
|
223
223
|
et,
|
|
224
224
|
{
|
|
225
225
|
transparent: !0,
|
|
@@ -231,79 +231,81 @@ function Ot({ config: e }) {
|
|
|
231
231
|
}
|
|
232
232
|
) });
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
function Jt({ config: e = {}, background: m }) {
|
|
235
235
|
return /* @__PURE__ */ p(
|
|
236
|
-
|
|
236
|
+
Mt,
|
|
237
237
|
{
|
|
238
238
|
camera: { position: [0, 0, 15], fov: 60 },
|
|
239
|
-
style: { background: m ?? "radial-gradient(ellipse at center, #0a0a2e 0%, #000008 100%)" },
|
|
239
|
+
style: { background: m ?? "radial-gradient(ellipse at center, #0a0a2e 0%, #000008 100%)", pointerEvents: "none" },
|
|
240
|
+
events: () => ({ enabled: !1, priority: 0, compute: () => {
|
|
241
|
+
} }),
|
|
240
242
|
children: [
|
|
241
243
|
/* @__PURE__ */ t("ambientLight", { intensity: 0.1 }),
|
|
242
|
-
/* @__PURE__ */ t(
|
|
243
|
-
/* @__PURE__ */ t(
|
|
244
|
+
/* @__PURE__ */ t(Et, { config: e }),
|
|
245
|
+
/* @__PURE__ */ t(Gt, { config: e })
|
|
244
246
|
]
|
|
245
247
|
}
|
|
246
248
|
);
|
|
247
249
|
}
|
|
248
|
-
const
|
|
249
|
-
root:
|
|
250
|
-
layerStarField:
|
|
251
|
-
layerReactFlow:
|
|
252
|
-
sidePanel:
|
|
253
|
-
sidePanelHeader:
|
|
254
|
-
sidePanelTitle:
|
|
255
|
-
sidePanelPlanetIcon:
|
|
256
|
-
sidePanelName:
|
|
257
|
-
sidePanelSubtitle:
|
|
258
|
-
sidePanelClose:
|
|
259
|
-
sidePanelContent:
|
|
260
|
-
sidePanelFooter:
|
|
261
|
-
satelliteList:
|
|
262
|
-
satelliteItem:
|
|
263
|
-
satelliteIcon:
|
|
264
|
-
satelliteInfo:
|
|
265
|
-
satelliteName:
|
|
266
|
-
satelliteSummary:
|
|
267
|
-
enterButton:
|
|
268
|
-
zoomTransition:
|
|
269
|
-
zoomPlanetLabel:
|
|
270
|
-
planetInterior:
|
|
271
|
-
interiorBackButton:
|
|
272
|
-
interiorCenter:
|
|
273
|
-
interiorPlanet:
|
|
274
|
-
interiorPlanetLabel:
|
|
275
|
-
interiorPlanetSubtitle:
|
|
276
|
-
orbitRing:
|
|
277
|
-
satelliteNode:
|
|
278
|
-
satelliteNodeIcon:
|
|
279
|
-
satelliteNodeLabel:
|
|
280
|
-
satelliteNodeBadge:
|
|
281
|
-
tutorialOverlay:
|
|
282
|
-
tutorialWelcome:
|
|
283
|
-
tutorialWelcomeTitle:
|
|
284
|
-
tutorialWelcomeDesc:
|
|
285
|
-
tutorialActions:
|
|
286
|
-
tutorialButton:
|
|
287
|
-
tutorialCard:
|
|
288
|
-
tutorialChip:
|
|
289
|
-
tutorialCardTitle:
|
|
290
|
-
tutorialCardDesc:
|
|
291
|
-
tutorialProgress:
|
|
292
|
-
tutorialProgressBar:
|
|
293
|
-
tutorialCardFooter:
|
|
294
|
-
tutorialStepCounter:
|
|
295
|
-
tutorialDots:
|
|
296
|
-
tutorialDot:
|
|
297
|
-
topBarSlot:
|
|
250
|
+
const Ut = "cc-root-eSR-1", jt = "cc-layerStarField-jOb4M", Ht = "cc-layerReactFlow-CeHI9", Xt = "cc-sidePanel-PzU72", _t = "cc-sidePanelHeader-cWPCq", Kt = "cc-sidePanelTitle-Yfh5N", qt = "cc-sidePanelPlanetIcon-aRuLt", Vt = "cc-sidePanelName-TFFeE", Zt = "cc-sidePanelSubtitle-8fp2Y", Qt = "cc-sidePanelClose-Sdg-J", Yt = "cc-sidePanelContent-QIEEQ", te = "cc-sidePanelFooter-DVOHi", ee = "cc-satelliteList--vkXn", ie = "cc-satelliteItem-JGdmG", oe = "cc-satelliteIcon-arUe3", ae = "cc-satelliteInfo-NaKLd", ne = "cc-satelliteName-zfOPN", re = "cc-satelliteSummary-XARVm", le = "cc-enterButton-5Vnri", se = "cc-zoomTransition-Wcju8", ce = "cc-zoomPlanetLabel-3SJT2", de = "cc-planetInterior-GlnW1", ue = "cc-interiorBackButton-qJAiZ", me = "cc-interiorCenter-xdKsX", pe = "cc-interiorPlanet--XIzf", ye = "cc-interiorPlanetLabel-e7yxq", be = "cc-interiorPlanetSubtitle-e2vON", he = "cc-orbitRing-hbvmD", fe = "cc-satelliteNode-01STS", ge = "cc-satelliteNodeIcon-Xq45f", ve = "cc-satelliteNodeLabel-LLOJ5", Ne = "cc-satelliteNodeBadge-HsUFp", Pe = "cc-tutorialOverlay-3GHo7", Ce = "cc-tutorialWelcome-21KDP", Se = "cc-tutorialWelcomeTitle-7GwS9", Ie = "cc-tutorialWelcomeDesc--pznv", we = "cc-tutorialActions-szJ0-", xe = "cc-tutorialButton-wL9-p", ke = "cc-tutorialCard-LGIkK", Be = "cc-tutorialChip-bUoEb", Te = "cc-tutorialCardTitle-r2Y1I", $e = "cc-tutorialCardDesc-nOS-M", ze = "cc-tutorialProgress-wIAT9", Fe = "cc-tutorialProgressBar-PFBdE", Le = "cc-tutorialCardFooter-bSdyM", De = "cc-tutorialStepCounter-i7c5G", Me = "cc-tutorialDots-8M0QU", We = "cc-tutorialDot-518t4", Ae = "cc-topBarSlot-EJGvM", i = {
|
|
251
|
+
root: Ut,
|
|
252
|
+
layerStarField: jt,
|
|
253
|
+
layerReactFlow: Ht,
|
|
254
|
+
sidePanel: Xt,
|
|
255
|
+
sidePanelHeader: _t,
|
|
256
|
+
sidePanelTitle: Kt,
|
|
257
|
+
sidePanelPlanetIcon: qt,
|
|
258
|
+
sidePanelName: Vt,
|
|
259
|
+
sidePanelSubtitle: Zt,
|
|
260
|
+
sidePanelClose: Qt,
|
|
261
|
+
sidePanelContent: Yt,
|
|
262
|
+
sidePanelFooter: te,
|
|
263
|
+
satelliteList: ee,
|
|
264
|
+
satelliteItem: ie,
|
|
265
|
+
satelliteIcon: oe,
|
|
266
|
+
satelliteInfo: ae,
|
|
267
|
+
satelliteName: ne,
|
|
268
|
+
satelliteSummary: re,
|
|
269
|
+
enterButton: le,
|
|
270
|
+
zoomTransition: se,
|
|
271
|
+
zoomPlanetLabel: ce,
|
|
272
|
+
planetInterior: de,
|
|
273
|
+
interiorBackButton: ue,
|
|
274
|
+
interiorCenter: me,
|
|
275
|
+
interiorPlanet: pe,
|
|
276
|
+
interiorPlanetLabel: ye,
|
|
277
|
+
interiorPlanetSubtitle: be,
|
|
278
|
+
orbitRing: he,
|
|
279
|
+
satelliteNode: fe,
|
|
280
|
+
satelliteNodeIcon: ge,
|
|
281
|
+
satelliteNodeLabel: ve,
|
|
282
|
+
satelliteNodeBadge: Ne,
|
|
283
|
+
tutorialOverlay: Pe,
|
|
284
|
+
tutorialWelcome: Ce,
|
|
285
|
+
tutorialWelcomeTitle: Se,
|
|
286
|
+
tutorialWelcomeDesc: Ie,
|
|
287
|
+
tutorialActions: we,
|
|
288
|
+
tutorialButton: xe,
|
|
289
|
+
tutorialCard: ke,
|
|
290
|
+
tutorialChip: Be,
|
|
291
|
+
tutorialCardTitle: Te,
|
|
292
|
+
tutorialCardDesc: $e,
|
|
293
|
+
tutorialProgress: ze,
|
|
294
|
+
tutorialProgressBar: Fe,
|
|
295
|
+
tutorialCardFooter: Le,
|
|
296
|
+
tutorialStepCounter: De,
|
|
297
|
+
tutorialDots: Me,
|
|
298
|
+
tutorialDot: We,
|
|
299
|
+
topBarSlot: Ae
|
|
298
300
|
};
|
|
299
|
-
function
|
|
301
|
+
function Re({
|
|
300
302
|
planet: e,
|
|
301
303
|
onClose: m,
|
|
302
304
|
onEnterPlanet: d,
|
|
303
|
-
onSatelliteClick:
|
|
305
|
+
onSatelliteClick: l
|
|
304
306
|
}) {
|
|
305
307
|
return /* @__PURE__ */ p(
|
|
306
|
-
|
|
308
|
+
N.div,
|
|
307
309
|
{
|
|
308
310
|
className: i.sidePanel,
|
|
309
311
|
initial: { x: 340 },
|
|
@@ -334,28 +336,28 @@ function We({
|
|
|
334
336
|
] }),
|
|
335
337
|
/* @__PURE__ */ t("button", { className: i.sidePanelClose, onClick: m, children: "✕" })
|
|
336
338
|
] }),
|
|
337
|
-
/* @__PURE__ */ t("div", { className: i.sidePanelContent, children: /* @__PURE__ */ t("div", { className: i.satelliteList, children: e.satellites.map((
|
|
339
|
+
/* @__PURE__ */ t("div", { className: i.sidePanelContent, children: /* @__PURE__ */ t("div", { className: i.satelliteList, children: e.satellites.map((n) => /* @__PURE__ */ p(
|
|
338
340
|
"div",
|
|
339
341
|
{
|
|
340
342
|
className: i.satelliteItem,
|
|
341
|
-
onClick: () =>
|
|
343
|
+
onClick: () => l == null ? void 0 : l({
|
|
342
344
|
planetId: e.id,
|
|
343
|
-
satelliteId:
|
|
344
|
-
satellite:
|
|
345
|
+
satelliteId: n.id,
|
|
346
|
+
satellite: n
|
|
345
347
|
}),
|
|
346
348
|
children: [
|
|
347
|
-
/* @__PURE__ */ t("div", { className: i.satelliteIcon, children:
|
|
349
|
+
/* @__PURE__ */ t("div", { className: i.satelliteIcon, children: n.icon ?? "●" }),
|
|
348
350
|
/* @__PURE__ */ p("div", { className: i.satelliteInfo, children: [
|
|
349
|
-
/* @__PURE__ */ t("div", { className: i.satelliteName, children:
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
351
|
+
/* @__PURE__ */ t("div", { className: i.satelliteName, children: n.label }),
|
|
352
|
+
n.summary && /* @__PURE__ */ p("div", { className: i.satelliteSummary, children: [
|
|
353
|
+
n.summary.total != null && `${n.summary.total} total`,
|
|
354
|
+
n.summary.running != null && ` · ${n.summary.running} running`,
|
|
355
|
+
n.summary.failed != null && n.summary.failed > 0 && ` · ${n.summary.failed} failed`
|
|
354
356
|
] })
|
|
355
357
|
] })
|
|
356
358
|
]
|
|
357
359
|
},
|
|
358
|
-
|
|
360
|
+
n.id
|
|
359
361
|
)) }) }),
|
|
360
362
|
/* @__PURE__ */ t("div", { className: i.sidePanelFooter, children: /* @__PURE__ */ p(
|
|
361
363
|
"button",
|
|
@@ -373,39 +375,39 @@ function We({
|
|
|
373
375
|
}
|
|
374
376
|
);
|
|
375
377
|
}
|
|
376
|
-
function
|
|
378
|
+
function Oe({
|
|
377
379
|
planet: e,
|
|
378
380
|
onExit: m,
|
|
379
381
|
onSatelliteClick: d,
|
|
380
|
-
renderCustom:
|
|
382
|
+
renderCustom: l
|
|
381
383
|
}) {
|
|
382
|
-
const [
|
|
383
|
-
if (
|
|
384
|
+
const [n, s] = R(null);
|
|
385
|
+
if (l)
|
|
384
386
|
return /* @__PURE__ */ t(
|
|
385
|
-
|
|
387
|
+
N.div,
|
|
386
388
|
{
|
|
387
389
|
className: i.planetInterior,
|
|
388
390
|
initial: { opacity: 0 },
|
|
389
391
|
animate: { opacity: 1 },
|
|
390
392
|
exit: { opacity: 0 },
|
|
391
393
|
transition: { duration: 0.4 },
|
|
392
|
-
children:
|
|
394
|
+
children: l(e, m)
|
|
393
395
|
}
|
|
394
396
|
);
|
|
395
|
-
const
|
|
396
|
-
(
|
|
397
|
-
s(
|
|
398
|
-
const
|
|
397
|
+
const u = e.satellites, o = Math.max(180, u.length * 35), P = v(
|
|
398
|
+
(r) => {
|
|
399
|
+
s(r);
|
|
400
|
+
const h = u.find((f) => f.id === r);
|
|
399
401
|
d == null || d({
|
|
400
402
|
planetId: e.id,
|
|
401
|
-
satelliteId:
|
|
402
|
-
satellite:
|
|
403
|
+
satelliteId: r,
|
|
404
|
+
satellite: h
|
|
403
405
|
});
|
|
404
406
|
},
|
|
405
|
-
[e.id,
|
|
407
|
+
[e.id, u, d]
|
|
406
408
|
);
|
|
407
409
|
return /* @__PURE__ */ p(
|
|
408
|
-
|
|
410
|
+
N.div,
|
|
409
411
|
{
|
|
410
412
|
className: i.planetInterior,
|
|
411
413
|
initial: { opacity: 0 },
|
|
@@ -415,18 +417,18 @@ function Ae({
|
|
|
415
417
|
children: [
|
|
416
418
|
/* @__PURE__ */ t("button", { className: i.interiorBackButton, onClick: m, children: "← Back to Universe" }),
|
|
417
419
|
/* @__PURE__ */ p("div", { className: i.interiorCenter, children: [
|
|
418
|
-
[1, 2, 3].map((
|
|
420
|
+
[1, 2, 3].map((r) => /* @__PURE__ */ t(
|
|
419
421
|
"div",
|
|
420
422
|
{
|
|
421
423
|
className: i.orbitRing,
|
|
422
424
|
style: {
|
|
423
|
-
width:
|
|
424
|
-
height:
|
|
425
|
-
top: `calc(50% - ${
|
|
426
|
-
left: `calc(50% - ${
|
|
425
|
+
width: o * r * 0.7,
|
|
426
|
+
height: o * r * 0.7,
|
|
427
|
+
top: `calc(50% - ${o * r * 0.7 / 2}px)`,
|
|
428
|
+
left: `calc(50% - ${o * r * 0.7 / 2}px)`
|
|
427
429
|
}
|
|
428
430
|
},
|
|
429
|
-
|
|
431
|
+
r
|
|
430
432
|
)),
|
|
431
433
|
/* @__PURE__ */ p(
|
|
432
434
|
"div",
|
|
@@ -442,11 +444,11 @@ function Ae({
|
|
|
442
444
|
]
|
|
443
445
|
}
|
|
444
446
|
),
|
|
445
|
-
/* @__PURE__ */ t(M, { children:
|
|
446
|
-
var
|
|
447
|
-
const
|
|
447
|
+
/* @__PURE__ */ t(M, { children: u.map((r, h) => {
|
|
448
|
+
var a;
|
|
449
|
+
const f = h / u.length * Math.PI * 2 - Math.PI / 2, k = Math.cos(f) * o, w = Math.sin(f) * o;
|
|
448
450
|
return /* @__PURE__ */ p(
|
|
449
|
-
|
|
451
|
+
N.div,
|
|
450
452
|
{
|
|
451
453
|
className: i.satelliteNode,
|
|
452
454
|
initial: { scale: 0, opacity: 0 },
|
|
@@ -455,32 +457,32 @@ function Ae({
|
|
|
455
457
|
type: "spring",
|
|
456
458
|
damping: 15,
|
|
457
459
|
stiffness: 200,
|
|
458
|
-
delay:
|
|
460
|
+
delay: h * 0.08
|
|
459
461
|
},
|
|
460
462
|
style: {
|
|
461
463
|
left: `calc(50% + ${k}px - 32px)`,
|
|
462
|
-
top: `calc(50% + ${
|
|
464
|
+
top: `calc(50% + ${w}px - 40px)`
|
|
463
465
|
},
|
|
464
|
-
onClick: () =>
|
|
466
|
+
onClick: () => P(r.id),
|
|
465
467
|
children: [
|
|
466
468
|
/* @__PURE__ */ p(
|
|
467
469
|
"div",
|
|
468
470
|
{
|
|
469
471
|
className: i.satelliteNodeIcon,
|
|
470
472
|
style: {
|
|
471
|
-
borderColor:
|
|
472
|
-
boxShadow:
|
|
473
|
+
borderColor: n === r.id ? `${e.color}88` : "rgba(255,255,255,0.15)",
|
|
474
|
+
boxShadow: n === r.id ? `0 0 20px ${e.color}44` : "none"
|
|
473
475
|
},
|
|
474
476
|
children: [
|
|
475
|
-
|
|
476
|
-
((
|
|
477
|
+
r.icon ?? "●",
|
|
478
|
+
((a = r.summary) == null ? void 0 : a.running) != null && r.summary.running > 0 && /* @__PURE__ */ t("span", { className: i.satelliteNodeBadge, children: r.summary.running })
|
|
477
479
|
]
|
|
478
480
|
}
|
|
479
481
|
),
|
|
480
|
-
/* @__PURE__ */ t("span", { className: i.satelliteNodeLabel, children:
|
|
482
|
+
/* @__PURE__ */ t("span", { className: i.satelliteNodeLabel, children: r.label })
|
|
481
483
|
]
|
|
482
484
|
},
|
|
483
|
-
|
|
485
|
+
r.id
|
|
484
486
|
);
|
|
485
487
|
}) })
|
|
486
488
|
] })
|
|
@@ -488,9 +490,9 @@ function Ae({
|
|
|
488
490
|
}
|
|
489
491
|
);
|
|
490
492
|
}
|
|
491
|
-
function
|
|
493
|
+
function Ee({ planet: e }) {
|
|
492
494
|
return /* @__PURE__ */ t(
|
|
493
|
-
|
|
495
|
+
N.div,
|
|
494
496
|
{
|
|
495
497
|
className: i.zoomTransition,
|
|
496
498
|
initial: { opacity: 0 },
|
|
@@ -498,7 +500,7 @@ function Re({ planet: e }) {
|
|
|
498
500
|
exit: { opacity: 0 },
|
|
499
501
|
transition: { duration: 0.9, ease: "easeInOut" },
|
|
500
502
|
children: /* @__PURE__ */ t(
|
|
501
|
-
|
|
503
|
+
N.span,
|
|
502
504
|
{
|
|
503
505
|
className: i.zoomPlanetLabel,
|
|
504
506
|
initial: { scale: 0.5, opacity: 0 },
|
|
@@ -515,41 +517,41 @@ function Re({ planet: e }) {
|
|
|
515
517
|
}
|
|
516
518
|
);
|
|
517
519
|
}
|
|
518
|
-
function
|
|
520
|
+
function Ge({
|
|
519
521
|
steps: e,
|
|
520
522
|
onHighlightPlanet: m,
|
|
521
523
|
onStepChange: d,
|
|
522
|
-
onFinish:
|
|
523
|
-
flyTo:
|
|
524
|
+
onFinish: l,
|
|
525
|
+
flyTo: n
|
|
524
526
|
}) {
|
|
525
|
-
const [s,
|
|
526
|
-
(
|
|
527
|
-
if (
|
|
528
|
-
|
|
529
|
-
const
|
|
530
|
-
|
|
527
|
+
const [s, u] = R("welcome"), [o, P] = R(0), r = v(
|
|
528
|
+
(C) => {
|
|
529
|
+
if (C < 0 || C >= e.length) return;
|
|
530
|
+
P(C), d(C);
|
|
531
|
+
const g = e[C];
|
|
532
|
+
g.planetId && m(g.planetId);
|
|
531
533
|
},
|
|
532
534
|
[e, d, m]
|
|
533
|
-
),
|
|
534
|
-
|
|
535
|
-
}, [
|
|
536
|
-
|
|
537
|
-
}, [
|
|
538
|
-
|
|
539
|
-
}, [
|
|
540
|
-
d(-1), m(null),
|
|
541
|
-
}, [d, m,
|
|
542
|
-
|
|
535
|
+
), h = v(() => {
|
|
536
|
+
u("stepping"), r(0);
|
|
537
|
+
}, [r]), f = v(() => {
|
|
538
|
+
o < e.length - 1 ? r(o + 1) : (u("complete"), d(-1), m(null), setTimeout(() => l(), 1500));
|
|
539
|
+
}, [o, e.length, r, d, m, l]), k = v(() => {
|
|
540
|
+
o > 0 && r(o - 1);
|
|
541
|
+
}, [o, r]), w = v(() => {
|
|
542
|
+
d(-1), m(null), l();
|
|
543
|
+
}, [d, m, l]);
|
|
544
|
+
It(() => {
|
|
543
545
|
if (s !== "stepping") return;
|
|
544
|
-
const
|
|
545
|
-
|
|
546
|
+
const C = (g) => {
|
|
547
|
+
g.key === "ArrowRight" || g.key === "Enter" ? f() : g.key === "ArrowLeft" ? k() : g.key === "Escape" && w();
|
|
546
548
|
};
|
|
547
|
-
return window.addEventListener("keydown",
|
|
548
|
-
}, [s,
|
|
549
|
-
const
|
|
549
|
+
return window.addEventListener("keydown", C), () => window.removeEventListener("keydown", C);
|
|
550
|
+
}, [s, f, k, w]);
|
|
551
|
+
const a = e[o], $ = e.length > 0 ? (o + 1) / e.length * 100 : 0;
|
|
550
552
|
return /* @__PURE__ */ p(M, { mode: "wait", children: [
|
|
551
553
|
s === "welcome" && /* @__PURE__ */ t(
|
|
552
|
-
|
|
554
|
+
N.div,
|
|
553
555
|
{
|
|
554
556
|
className: i.tutorialOverlay,
|
|
555
557
|
initial: { opacity: 0 },
|
|
@@ -557,7 +559,7 @@ function Oe({
|
|
|
557
559
|
exit: { opacity: 0 },
|
|
558
560
|
children: /* @__PURE__ */ p("div", { className: i.tutorialWelcome, children: [
|
|
559
561
|
/* @__PURE__ */ t(
|
|
560
|
-
|
|
562
|
+
N.div,
|
|
561
563
|
{
|
|
562
564
|
initial: { scale: 0.8 },
|
|
563
565
|
animate: { scale: 1 },
|
|
@@ -574,7 +576,7 @@ function Oe({
|
|
|
574
576
|
{
|
|
575
577
|
className: i.tutorialButton,
|
|
576
578
|
"data-variant": "ghost",
|
|
577
|
-
onClick:
|
|
579
|
+
onClick: w,
|
|
578
580
|
children: "SKIP"
|
|
579
581
|
}
|
|
580
582
|
),
|
|
@@ -583,7 +585,7 @@ function Oe({
|
|
|
583
585
|
{
|
|
584
586
|
className: i.tutorialButton,
|
|
585
587
|
"data-variant": "primary",
|
|
586
|
-
onClick:
|
|
588
|
+
onClick: h,
|
|
587
589
|
children: "LET'S GO"
|
|
588
590
|
}
|
|
589
591
|
)
|
|
@@ -592,8 +594,8 @@ function Oe({
|
|
|
592
594
|
},
|
|
593
595
|
"welcome"
|
|
594
596
|
),
|
|
595
|
-
s === "stepping" &&
|
|
596
|
-
|
|
597
|
+
s === "stepping" && a && /* @__PURE__ */ p(
|
|
598
|
+
N.div,
|
|
597
599
|
{
|
|
598
600
|
className: i.tutorialCard,
|
|
599
601
|
initial: { opacity: 0, y: 20 },
|
|
@@ -601,44 +603,44 @@ function Oe({
|
|
|
601
603
|
exit: { opacity: 0, y: -10 },
|
|
602
604
|
transition: { duration: 0.25 },
|
|
603
605
|
children: [
|
|
604
|
-
|
|
606
|
+
a.chipText && /* @__PURE__ */ t(
|
|
605
607
|
"span",
|
|
606
608
|
{
|
|
607
609
|
className: i.tutorialChip,
|
|
608
610
|
style: {
|
|
609
|
-
background: `${
|
|
610
|
-
color:
|
|
611
|
+
background: `${a.chipColor ?? "#3b82f6"}22`,
|
|
612
|
+
color: a.chipColor ?? "#3b82f6"
|
|
611
613
|
},
|
|
612
|
-
children:
|
|
614
|
+
children: a.chipText
|
|
613
615
|
}
|
|
614
616
|
),
|
|
615
|
-
/* @__PURE__ */ t("h3", { className: i.tutorialCardTitle, children:
|
|
616
|
-
/* @__PURE__ */ t("p", { className: i.tutorialCardDesc, children:
|
|
617
|
+
/* @__PURE__ */ t("h3", { className: i.tutorialCardTitle, children: a.title }),
|
|
618
|
+
/* @__PURE__ */ t("p", { className: i.tutorialCardDesc, children: a.description }),
|
|
617
619
|
/* @__PURE__ */ t("div", { className: i.tutorialProgress, children: /* @__PURE__ */ t(
|
|
618
620
|
"div",
|
|
619
621
|
{
|
|
620
622
|
className: i.tutorialProgressBar,
|
|
621
|
-
style: { width: `${
|
|
623
|
+
style: { width: `${$}%` }
|
|
622
624
|
}
|
|
623
625
|
) }),
|
|
624
626
|
/* @__PURE__ */ p("div", { className: i.tutorialCardFooter, children: [
|
|
625
627
|
/* @__PURE__ */ p("span", { className: i.tutorialStepCounter, children: [
|
|
626
|
-
|
|
628
|
+
o + 1,
|
|
627
629
|
" / ",
|
|
628
630
|
e.length
|
|
629
631
|
] }),
|
|
630
|
-
/* @__PURE__ */ t("div", { className: i.tutorialDots, children: e.map((
|
|
632
|
+
/* @__PURE__ */ t("div", { className: i.tutorialDots, children: e.map((C, g) => /* @__PURE__ */ t(
|
|
631
633
|
"div",
|
|
632
634
|
{
|
|
633
635
|
className: i.tutorialDot,
|
|
634
|
-
"data-active":
|
|
635
|
-
"data-done":
|
|
636
|
-
onClick: () =>
|
|
636
|
+
"data-active": g === o || void 0,
|
|
637
|
+
"data-done": g < o || void 0,
|
|
638
|
+
onClick: () => r(g)
|
|
637
639
|
},
|
|
638
|
-
|
|
640
|
+
g
|
|
639
641
|
)) }),
|
|
640
642
|
/* @__PURE__ */ p("div", { style: { display: "flex", gap: "0.5rem" }, children: [
|
|
641
|
-
|
|
643
|
+
o > 0 && /* @__PURE__ */ t(
|
|
642
644
|
"button",
|
|
643
645
|
{
|
|
644
646
|
className: i.tutorialButton,
|
|
@@ -654,18 +656,18 @@ function Oe({
|
|
|
654
656
|
className: i.tutorialButton,
|
|
655
657
|
"data-variant": "primary",
|
|
656
658
|
style: { padding: "0.375rem 0.75rem", fontSize: "0.75rem" },
|
|
657
|
-
onClick:
|
|
658
|
-
children:
|
|
659
|
+
onClick: f,
|
|
660
|
+
children: o === e.length - 1 ? "Finish" : "→"
|
|
659
661
|
}
|
|
660
662
|
)
|
|
661
663
|
] })
|
|
662
664
|
] })
|
|
663
665
|
]
|
|
664
666
|
},
|
|
665
|
-
`step-${
|
|
667
|
+
`step-${o}`
|
|
666
668
|
),
|
|
667
669
|
s === "complete" && /* @__PURE__ */ t(
|
|
668
|
-
|
|
670
|
+
N.div,
|
|
669
671
|
{
|
|
670
672
|
className: i.tutorialOverlay,
|
|
671
673
|
initial: { opacity: 0 },
|
|
@@ -673,7 +675,7 @@ function Oe({
|
|
|
673
675
|
exit: { opacity: 0 },
|
|
674
676
|
transition: { duration: 1 },
|
|
675
677
|
children: /* @__PURE__ */ t(
|
|
676
|
-
|
|
678
|
+
N.h1,
|
|
677
679
|
{
|
|
678
680
|
className: i.tutorialWelcomeTitle,
|
|
679
681
|
initial: { scale: 0.8 },
|
|
@@ -687,169 +689,178 @@ function Oe({
|
|
|
687
689
|
)
|
|
688
690
|
] });
|
|
689
691
|
}
|
|
690
|
-
const
|
|
691
|
-
function
|
|
692
|
+
const Je = { planet: At }, Ue = { orbit: Ot };
|
|
693
|
+
function je({
|
|
692
694
|
planets: e,
|
|
693
695
|
orbits: m,
|
|
694
696
|
onPlanetClick: d,
|
|
695
|
-
onPlanetEnter:
|
|
696
|
-
onPlanetExit:
|
|
697
|
+
onPlanetEnter: l,
|
|
698
|
+
onPlanetExit: n,
|
|
697
699
|
onSatelliteClick: s,
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
700
|
+
onPlanetDrag: u,
|
|
701
|
+
tutorialSteps: o,
|
|
702
|
+
showTutorial: P,
|
|
703
|
+
onTutorialComplete: r,
|
|
704
|
+
initialView: h,
|
|
705
|
+
onViewChange: f,
|
|
706
|
+
renderPlanetInterior: k,
|
|
707
|
+
topBar: w,
|
|
708
|
+
theme: a,
|
|
709
|
+
starField: $ = !0,
|
|
710
|
+
nodeTypes: C,
|
|
711
|
+
edgeTypes: g,
|
|
712
|
+
className: it,
|
|
713
|
+
style: ot
|
|
711
714
|
}) {
|
|
712
|
-
const [
|
|
713
|
-
(
|
|
714
|
-
|
|
715
|
+
const [S, at] = R(h ?? { mode: "universe" }), [H, nt] = R(P ?? !1), X = E(0), _ = E(""), { setCenter: O } = kt(), I = v(
|
|
716
|
+
(c) => {
|
|
717
|
+
at(c), f == null || f(c);
|
|
715
718
|
},
|
|
716
|
-
[
|
|
717
|
-
), G =
|
|
718
|
-
(
|
|
719
|
+
[f]
|
|
720
|
+
), G = v(
|
|
721
|
+
(c) => e.find((y) => y.id === c),
|
|
719
722
|
[e]
|
|
720
|
-
),
|
|
721
|
-
() => e.map((
|
|
722
|
-
id:
|
|
723
|
+
), rt = D(
|
|
724
|
+
() => e.map((c) => ({
|
|
725
|
+
id: c.id,
|
|
723
726
|
type: "planet",
|
|
724
|
-
position: { x:
|
|
727
|
+
position: { x: c.x, y: c.y },
|
|
725
728
|
data: {
|
|
726
|
-
label:
|
|
727
|
-
subtitle:
|
|
728
|
-
color:
|
|
729
|
-
status:
|
|
729
|
+
label: c.label,
|
|
730
|
+
subtitle: c.subtitle,
|
|
731
|
+
color: c.color,
|
|
732
|
+
status: c.status ?? "idle",
|
|
730
733
|
isSelected: !1
|
|
731
734
|
}
|
|
732
735
|
})),
|
|
733
736
|
[e]
|
|
734
|
-
),
|
|
735
|
-
() => m.map((
|
|
737
|
+
), lt = D(
|
|
738
|
+
() => m.map((c, y) => ({
|
|
736
739
|
id: `orbit-${y}`,
|
|
737
|
-
source:
|
|
738
|
-
target:
|
|
740
|
+
source: c.source,
|
|
741
|
+
target: c.target,
|
|
739
742
|
type: "orbit",
|
|
740
|
-
data: { label:
|
|
743
|
+
data: { label: c.label },
|
|
741
744
|
animated: !0
|
|
742
745
|
})),
|
|
743
746
|
[m]
|
|
744
|
-
), [
|
|
745
|
-
(
|
|
747
|
+
), [st, W, ct] = Bt(rt), [dt, J, ut] = Tt(lt), B = v(
|
|
748
|
+
(c) => {
|
|
746
749
|
W(
|
|
747
750
|
(y) => y.map((x) => ({
|
|
748
751
|
...x,
|
|
749
|
-
data: { ...x.data, isSelected: x.id ===
|
|
752
|
+
data: { ...x.data, isSelected: x.id === c }
|
|
750
753
|
}))
|
|
751
754
|
);
|
|
752
755
|
},
|
|
753
756
|
[W]
|
|
754
|
-
),
|
|
755
|
-
(
|
|
756
|
-
var
|
|
757
|
-
if (!
|
|
758
|
-
if (
|
|
757
|
+
), mt = v(
|
|
758
|
+
(c) => {
|
|
759
|
+
var L;
|
|
760
|
+
if (!o) return;
|
|
761
|
+
if (c < 0) {
|
|
759
762
|
W(
|
|
760
|
-
(T) => T.map((
|
|
761
|
-
...
|
|
762
|
-
data: { ...
|
|
763
|
+
(T) => T.map((b) => ({
|
|
764
|
+
...b,
|
|
765
|
+
data: { ...b.data, status: "idle", isSelected: !1 }
|
|
763
766
|
}))
|
|
764
767
|
), J(
|
|
765
|
-
(T) => T.map((
|
|
766
|
-
...
|
|
768
|
+
(T) => T.map((b) => ({
|
|
769
|
+
...b,
|
|
767
770
|
animated: !0,
|
|
768
|
-
data: { ...
|
|
771
|
+
data: { ...b.data, isActive: !1, isDimmed: !1 }
|
|
769
772
|
}))
|
|
770
773
|
);
|
|
771
774
|
return;
|
|
772
775
|
}
|
|
773
|
-
const y = new Set(
|
|
776
|
+
const y = new Set(o.slice(0, c).map((T) => T.planetId)), x = (L = o[c]) == null ? void 0 : L.planetId;
|
|
774
777
|
W(
|
|
775
|
-
(T) => T.map((
|
|
778
|
+
(T) => T.map((b) => {
|
|
776
779
|
let A = "idle";
|
|
777
|
-
return
|
|
778
|
-
...
|
|
779
|
-
data: { ...
|
|
780
|
+
return b.id === x ? A = "running" : y.has(b.id) && (A = "success"), {
|
|
781
|
+
...b,
|
|
782
|
+
data: { ...b.data, status: A, isSelected: b.id === x }
|
|
780
783
|
};
|
|
781
784
|
})
|
|
782
785
|
);
|
|
783
786
|
const U = /* @__PURE__ */ new Set([...y, x]);
|
|
784
787
|
J(
|
|
785
|
-
(T) => T.map((
|
|
786
|
-
const A = y.has(
|
|
788
|
+
(T) => T.map((b) => {
|
|
789
|
+
const A = y.has(b.source), Ct = U.has(b.target), j = A && Ct;
|
|
787
790
|
return {
|
|
788
|
-
...
|
|
791
|
+
...b,
|
|
789
792
|
animated: j,
|
|
790
|
-
data: { ...
|
|
793
|
+
data: { ...b.data, isActive: j, isDimmed: !j }
|
|
791
794
|
};
|
|
792
795
|
})
|
|
793
796
|
);
|
|
794
797
|
},
|
|
795
|
-
[
|
|
796
|
-
),
|
|
797
|
-
(
|
|
798
|
-
const x = Date.now(), U = x - X.current < 300 &&
|
|
799
|
-
X.current = x,
|
|
800
|
-
const
|
|
801
|
-
U &&
|
|
798
|
+
[o, W, J]
|
|
799
|
+
), pt = v(
|
|
800
|
+
(c, y) => {
|
|
801
|
+
const x = Date.now(), U = x - X.current < 300 && _.current === y.id;
|
|
802
|
+
X.current = x, _.current = y.id;
|
|
803
|
+
const L = G(y.id);
|
|
804
|
+
U && L ? K(L) : S.mode === "inspecting" && S.planetId === y.id ? (I({ mode: "universe" }), B(null)) : (I({ mode: "inspecting", planetId: y.id }), B(y.id), L && (d == null || d(L)));
|
|
802
805
|
},
|
|
803
|
-
[
|
|
804
|
-
),
|
|
805
|
-
(
|
|
806
|
-
|
|
807
|
-
|
|
806
|
+
[S, B, G, I, d]
|
|
807
|
+
), K = v(
|
|
808
|
+
(c) => {
|
|
809
|
+
I({ mode: "entering", planetId: c.id }), B(null), l == null || l(c), O(c.x + 50, c.y + 50, { zoom: 6, duration: 800 }), setTimeout(() => {
|
|
810
|
+
I({ mode: "planet", planetId: c.id });
|
|
808
811
|
}, 900);
|
|
809
812
|
},
|
|
810
|
-
[O, B,
|
|
811
|
-
),
|
|
812
|
-
|
|
813
|
+
[O, B, I, l]
|
|
814
|
+
), yt = v(() => {
|
|
815
|
+
I({ mode: "universe" }), n == null || n(), setTimeout(() => {
|
|
813
816
|
O(800, 400, { zoom: 0.8, duration: 600 });
|
|
814
817
|
}, 100);
|
|
815
|
-
}, [O,
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
[
|
|
820
|
-
),
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
818
|
+
}, [O, I, n]), bt = v(
|
|
819
|
+
(c, y) => {
|
|
820
|
+
u == null || u(y.id, { x: y.position.x, y: y.position.y });
|
|
821
|
+
},
|
|
822
|
+
[u]
|
|
823
|
+
), ht = v(() => {
|
|
824
|
+
S.mode === "inspecting" && (I({ mode: "universe" }), B(null));
|
|
825
|
+
}, [S, B, I]), z = S.mode !== "universe" ? G(S.planetId) : void 0, ft = S.mode !== "planet", gt = D(
|
|
826
|
+
() => ({ ...Je, ...C }),
|
|
827
|
+
[C]
|
|
828
|
+
), vt = D(
|
|
829
|
+
() => ({ ...Ue, ...g }),
|
|
830
|
+
[g]
|
|
831
|
+
), Nt = $ !== !1, Pt = typeof $ == "object" ? $ : {}, F = {};
|
|
832
|
+
return a != null && a.background && (F["--cc-bg"] = a.background), a != null && a.textColor && (F["--cc-text"] = a.textColor), a != null && a.panelBackground && (F["--cc-panel-bg"] = a.panelBackground), a != null && a.panelBorder && (F["--cc-panel-border"] = a.panelBorder), a != null && a.controlsBackground && (F["--cc-controls-bg"] = a.controlsBackground), a != null && a.fontFamily && (F["--cc-font-family"] = a.fontFamily), /* @__PURE__ */ p(
|
|
825
833
|
"div",
|
|
826
834
|
{
|
|
827
|
-
className: `${i.root} ${
|
|
828
|
-
style: { ...
|
|
835
|
+
className: `${i.root} ${it ?? ""}`,
|
|
836
|
+
style: { ...F, ...ot },
|
|
829
837
|
children: [
|
|
830
|
-
|
|
831
|
-
|
|
838
|
+
Nt && /* @__PURE__ */ t("div", { className: i.layerStarField, children: /* @__PURE__ */ t(
|
|
839
|
+
Jt,
|
|
832
840
|
{
|
|
833
|
-
config:
|
|
834
|
-
background:
|
|
841
|
+
config: Pt,
|
|
842
|
+
background: a == null ? void 0 : a.background
|
|
835
843
|
}
|
|
836
844
|
) }),
|
|
837
845
|
/* @__PURE__ */ t(
|
|
838
846
|
"div",
|
|
839
847
|
{
|
|
840
848
|
className: i.layerReactFlow,
|
|
841
|
-
"data-hidden": !
|
|
849
|
+
"data-hidden": !ft || void 0,
|
|
842
850
|
children: /* @__PURE__ */ p(
|
|
843
|
-
|
|
851
|
+
$t,
|
|
844
852
|
{
|
|
845
|
-
nodes:
|
|
846
|
-
edges:
|
|
847
|
-
onNodesChange:
|
|
848
|
-
onEdgesChange:
|
|
849
|
-
onNodeClick:
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
+
nodes: st,
|
|
854
|
+
edges: dt,
|
|
855
|
+
onNodesChange: ct,
|
|
856
|
+
onEdgesChange: ut,
|
|
857
|
+
onNodeClick: pt,
|
|
858
|
+
onNodeDragStop: bt,
|
|
859
|
+
onPaneClick: ht,
|
|
860
|
+
nodeTypes: gt,
|
|
861
|
+
edgeTypes: vt,
|
|
862
|
+
nodesDraggable: !0,
|
|
863
|
+
nodeDragThreshold: 5,
|
|
853
864
|
fitView: !0,
|
|
854
865
|
proOptions: { hideAttribution: !0 },
|
|
855
866
|
style: { background: "transparent" },
|
|
@@ -857,34 +868,34 @@ function Je({
|
|
|
857
868
|
maxZoom: 8,
|
|
858
869
|
children: [
|
|
859
870
|
/* @__PURE__ */ t(
|
|
860
|
-
|
|
871
|
+
zt,
|
|
861
872
|
{
|
|
862
|
-
variant:
|
|
873
|
+
variant: Ft.Dots,
|
|
863
874
|
gap: 50,
|
|
864
875
|
size: 1,
|
|
865
876
|
color: "rgba(255, 255, 255, 0.05)"
|
|
866
877
|
}
|
|
867
878
|
),
|
|
868
879
|
/* @__PURE__ */ t(
|
|
869
|
-
|
|
880
|
+
Lt,
|
|
870
881
|
{
|
|
871
882
|
style: {
|
|
872
883
|
top: 60,
|
|
873
|
-
background: (
|
|
884
|
+
background: (a == null ? void 0 : a.controlsBackground) ?? "rgba(20, 20, 40, 0.8)",
|
|
874
885
|
borderColor: "rgba(255, 255, 255, 0.1)"
|
|
875
886
|
}
|
|
876
887
|
}
|
|
877
888
|
),
|
|
878
889
|
/* @__PURE__ */ t(
|
|
879
|
-
|
|
890
|
+
Dt,
|
|
880
891
|
{
|
|
881
892
|
style: {
|
|
882
893
|
background: "rgba(10, 10, 26, 0.9)",
|
|
883
894
|
border: "1px solid rgba(255, 255, 255, 0.1)"
|
|
884
895
|
},
|
|
885
|
-
nodeColor: (
|
|
896
|
+
nodeColor: (c) => {
|
|
886
897
|
var y;
|
|
887
|
-
return ((y =
|
|
898
|
+
return ((y = c.data) == null ? void 0 : y.color) || "#666";
|
|
888
899
|
},
|
|
889
900
|
maskColor: "rgba(10, 10, 26, 0.7)"
|
|
890
901
|
}
|
|
@@ -894,36 +905,36 @@ function Je({
|
|
|
894
905
|
)
|
|
895
906
|
}
|
|
896
907
|
),
|
|
897
|
-
/* @__PURE__ */ t(M, { children:
|
|
898
|
-
/* @__PURE__ */ t(M, { children:
|
|
899
|
-
|
|
908
|
+
/* @__PURE__ */ t(M, { children: S.mode === "entering" && z && /* @__PURE__ */ t(Ee, { planet: z }) }),
|
|
909
|
+
/* @__PURE__ */ t(M, { children: S.mode === "planet" && z && /* @__PURE__ */ t(
|
|
910
|
+
Oe,
|
|
900
911
|
{
|
|
901
|
-
planet:
|
|
902
|
-
onExit:
|
|
912
|
+
planet: z,
|
|
913
|
+
onExit: yt,
|
|
903
914
|
onSatelliteClick: s,
|
|
904
|
-
renderCustom:
|
|
915
|
+
renderCustom: k
|
|
905
916
|
}
|
|
906
917
|
) }),
|
|
907
|
-
/* @__PURE__ */ t(M, { children:
|
|
908
|
-
|
|
918
|
+
/* @__PURE__ */ t(M, { children: S.mode === "inspecting" && z && /* @__PURE__ */ t(
|
|
919
|
+
Re,
|
|
909
920
|
{
|
|
910
|
-
planet:
|
|
921
|
+
planet: z,
|
|
911
922
|
onClose: () => {
|
|
912
|
-
|
|
923
|
+
I({ mode: "universe" }), B(null);
|
|
913
924
|
},
|
|
914
|
-
onEnterPlanet: () =>
|
|
925
|
+
onEnterPlanet: () => K(z),
|
|
915
926
|
onSatelliteClick: s
|
|
916
927
|
}
|
|
917
928
|
) }),
|
|
918
|
-
|
|
919
|
-
/* @__PURE__ */ t(M, { children: H &&
|
|
920
|
-
|
|
929
|
+
w && !H && /* @__PURE__ */ t("div", { className: i.topBarSlot, children: w }),
|
|
930
|
+
/* @__PURE__ */ t(M, { children: H && o && o.length > 0 && /* @__PURE__ */ t(
|
|
931
|
+
Ge,
|
|
921
932
|
{
|
|
922
|
-
steps:
|
|
933
|
+
steps: o,
|
|
923
934
|
onHighlightPlanet: B,
|
|
924
|
-
onStepChange:
|
|
935
|
+
onStepChange: mt,
|
|
925
936
|
onFinish: () => {
|
|
926
|
-
|
|
937
|
+
nt(!1), r == null || r();
|
|
927
938
|
}
|
|
928
939
|
}
|
|
929
940
|
) })
|
|
@@ -931,16 +942,16 @@ function Je({
|
|
|
931
942
|
}
|
|
932
943
|
);
|
|
933
944
|
}
|
|
934
|
-
function
|
|
935
|
-
return /* @__PURE__ */ t(
|
|
945
|
+
function Ze(e) {
|
|
946
|
+
return /* @__PURE__ */ t(xt, { children: /* @__PURE__ */ t(je, { ...e }) });
|
|
936
947
|
}
|
|
937
948
|
export {
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
949
|
+
Ze as CosmosCanvas,
|
|
950
|
+
Ge as CosmosTutorial,
|
|
951
|
+
Ot as OrbitEdge,
|
|
952
|
+
Oe as PlanetInterior,
|
|
953
|
+
At as PlanetNode,
|
|
954
|
+
Re as SidePanel,
|
|
955
|
+
Jt as StarField,
|
|
956
|
+
Ee as ZoomTransition
|
|
946
957
|
};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.cc-root-eSR-1{position:relative;width:100%;height:100%;overflow:hidden;font-family:var(--cc-font-family, system-ui, -apple-system, sans-serif);color:var(--cc-text, #fff)}.cc-layerStarField-jOb4M{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.cc-layerReactFlow-CeHI9{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;transition:opacity .4s ease}.cc-layerReactFlow-CeHI9[data-hidden=true]{opacity:0;pointer-events:none}.cc-sidePanel-PzU72{position:absolute;right:0;top:0;bottom:0;width:340px;z-index:15;background:var(--cc-panel-bg, rgba(10, 10, 30, .92));border-left:1px solid var(--cc-panel-border, rgba(255, 255, 255, .08));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;overflow-y:auto}.cc-sidePanelHeader-cWPCq{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.cc-sidePanelTitle-Yfh5N{display:flex;align-items:center;gap:.75rem}.cc-sidePanelPlanetIcon-aRuLt{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.cc-sidePanelName-TFFeE{font-size:1.125rem;font-weight:700;letter-spacing:.5px}.cc-sidePanelSubtitle-8fp2Y{font-size:.75rem;color:#ffffff80;margin-top:.125rem}.cc-sidePanelClose-Sdg-J{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff0f;color:#ffffff80;border-radius:.375rem;cursor:pointer;font-size:1rem;transition:background .15s}.cc-sidePanelClose-Sdg-J:hover{background:#ffffff1f;color:#fff}.cc-sidePanelContent-QIEEQ{padding:1rem;flex:1}.cc-sidePanelFooter-DVOHi{padding:1rem;border-top:1px solid rgba(255,255,255,.06)}.cc-satelliteList--vkXn{display:flex;flex-direction:column;gap:.5rem}.cc-satelliteItem-JGdmG{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:background .15s,border-color .15s}.cc-satelliteItem-JGdmG:hover{background:#ffffff14;border-color:#ffffff1f}.cc-satelliteIcon-arUe3{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;background:#ffffff0f;flex-shrink:0}.cc-satelliteInfo-NaKLd{flex:1;min-width:0}.cc-satelliteName-zfOPN{font-size:.875rem;font-weight:500}.cc-satelliteSummary-XARVm{font-size:.6875rem;color:#fff6;margin-top:.125rem}.cc-enterButton-5Vnri{width:100%;padding:.625rem;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;background:#ffffff0f;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:background .15s,border-color .2s}.cc-enterButton-5Vnri:hover{background:#ffffff1f;border-color:#ffffff40}.cc-zoomTransition-Wcju8{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,10,.8) 100%);pointer-events:none}.cc-zoomPlanetLabel-3SJT2{font-size:3rem;font-weight:800;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 40px var(--planet-color, #fff)}.cc-planetInterior-GlnW1{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0a0a28f2,#000008fa)}.cc-interiorBackButton-qJAiZ{position:absolute;top:1rem;left:1rem;padding:.5rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;background:#ffffff0f;color:#fff;font-size:.8125rem;cursor:pointer;z-index:10;transition:background .15s}.cc-interiorBackButton-qJAiZ:hover{background:#ffffff1f}.cc-interiorCenter-xdKsX{position:relative;display:flex;align-items:center;justify-content:center}.cc-interiorPlanet--XIzf{width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.cc-interiorPlanetLabel-e7yxq{font-size:1rem;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}.cc-interiorPlanetSubtitle-e2vON{font-size:.6875rem;color:#fff9;margin-top:.125rem}.cc-orbitRing-hbvmD{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.08);pointer-events:none}.cc-satelliteNode-01STS{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.375rem;cursor:pointer;transition:transform .2s}.cc-satelliteNode-01STS:hover{transform:scale(1.12)}.cc-satelliteNodeIcon-Xq45f{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:2px solid rgba(255,255,255,.15);background:#ffffff0f;transition:border-color .2s,box-shadow .2s}.cc-satelliteNode-01STS:hover .cc-satelliteNodeIcon-Xq45f{border-color:#ffffff4d}.cc-satelliteNodeLabel-LLOJ5{font-size:.6875rem;color:#ffffffb3;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis;text-align:center}.cc-satelliteNodeBadge-HsUFp{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#2ecc71;color:#fff;font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center}.cc-tutorialOverlay-3GHo7{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000ab3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.cc-tutorialWelcome-21KDP{text-align:center;max-width:480px}.cc-tutorialWelcomeTitle-7GwS9{font-size:2rem;font-weight:800;letter-spacing:2px;margin-bottom:1rem}.cc-tutorialWelcomeDesc--pznv{font-size:1rem;color:#fff9;line-height:1.6;margin-bottom:2rem}.cc-tutorialActions-szJ0-{display:flex;align-items:center;justify-content:center;gap:1rem}.cc-tutorialButton-wL9-p{padding:.625rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.cc-tutorialButton-wL9-p:active{transform:scale(.97)}.cc-tutorialButton-wL9-p[data-variant=primary]{background:#fff;color:#0a0a2e;border:none}.cc-tutorialButton-wL9-p[data-variant=primary]:hover{background:#e2e8f0}.cc-tutorialButton-wL9-p[data-variant=ghost]{background:transparent;color:#ffffff80;border:1px solid rgba(255,255,255,.15)}.cc-tutorialButton-wL9-p[data-variant=ghost]:hover{background:#ffffff0f}.cc-tutorialCard-LGIkK{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:50;width:420px;padding:1.5rem;background:#0a0a1ef2;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.cc-tutorialChip-bUoEb{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem}.cc-tutorialCardTitle-r2Y1I{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.cc-tutorialCardDesc-nOS-M{font-size:.8125rem;color:#fff9;line-height:1.5;margin-bottom:1.25rem}.cc-tutorialProgress-wIAT9{width:100%;height:3px;background:#ffffff1a;border-radius:2px;margin-bottom:1rem}.cc-tutorialProgressBar-PFBdE{height:100%;border-radius:2px;background:#fff;transition:width .3s ease}.cc-tutorialCardFooter-bSdyM{display:flex;align-items:center;justify-content:space-between}.cc-tutorialStepCounter-i7c5G{font-size:.75rem;color:#fff6;font-family:monospace}.cc-tutorialDots-8M0QU{display:flex;gap:.375rem}.cc-tutorialDot-518t4{width:6px;height:6px;border-radius:50%;background:#fff3;cursor:pointer;transition:background .15s}.cc-tutorialDot-518t4[data-active=true]{background:#fff}.cc-tutorialDot-518t4[data-done=true]{background:#ffffff80}.cc-topBarSlot-EJGvM{position:absolute;top:0;left:0;right:0;z-index:50}
|
|
1
|
+
.cc-root-eSR-1{position:relative;width:100%;height:100%;overflow:hidden;font-family:var(--cc-font-family, system-ui, -apple-system, sans-serif);color:var(--cc-text, #fff)}.cc-layerStarField-jOb4M{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.cc-layerReactFlow-CeHI9{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;transition:opacity .4s ease}.cc-layerReactFlow-CeHI9[data-hidden=true]{opacity:0;pointer-events:none}.cc-sidePanel-PzU72{position:absolute;right:0;top:0;bottom:0;width:340px;z-index:15;background:var(--cc-panel-bg, rgba(10, 10, 30, .92));border-left:1px solid var(--cc-panel-border, rgba(255, 255, 255, .08));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;overflow-y:auto}.cc-sidePanelHeader-cWPCq{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.cc-sidePanelTitle-Yfh5N{display:flex;align-items:center;gap:.75rem}.cc-sidePanelPlanetIcon-aRuLt{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.cc-sidePanelName-TFFeE{font-size:1.125rem;font-weight:700;letter-spacing:.5px}.cc-sidePanelSubtitle-8fp2Y{font-size:.75rem;color:#ffffff80;margin-top:.125rem}.cc-sidePanelClose-Sdg-J{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff0f;color:#ffffff80;border-radius:.375rem;cursor:pointer;font-size:1rem;transition:background .15s}.cc-sidePanelClose-Sdg-J:hover{background:#ffffff1f;color:#fff}.cc-sidePanelContent-QIEEQ{padding:1rem;flex:1}.cc-sidePanelFooter-DVOHi{padding:1rem;border-top:1px solid rgba(255,255,255,.06)}.cc-satelliteList--vkXn{display:flex;flex-direction:column;gap:.5rem}.cc-satelliteItem-JGdmG{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:background .15s,border-color .15s}.cc-satelliteItem-JGdmG:hover{background:#ffffff14;border-color:#ffffff1f}.cc-satelliteIcon-arUe3{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;background:#ffffff0f;flex-shrink:0}.cc-satelliteInfo-NaKLd{flex:1;min-width:0}.cc-satelliteName-zfOPN{font-size:.875rem;font-weight:500}.cc-satelliteSummary-XARVm{font-size:.6875rem;color:#fff6;margin-top:.125rem}.cc-enterButton-5Vnri{width:100%;padding:.625rem;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;background:#ffffff0f;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:background .15s,border-color .2s}.cc-enterButton-5Vnri:hover{background:#ffffff1f;border-color:#ffffff40}.cc-zoomTransition-Wcju8{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,10,.8) 100%);pointer-events:none}.cc-zoomPlanetLabel-3SJT2{font-size:3rem;font-weight:800;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 40px var(--planet-color, #fff)}.cc-planetInterior-GlnW1{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0a0a28f2,#000008fa)}.cc-interiorBackButton-qJAiZ{position:absolute;top:1rem;left:1rem;padding:.5rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;background:#ffffff0f;color:#fff;font-size:.8125rem;cursor:pointer;z-index:10;transition:background .15s}.cc-interiorBackButton-qJAiZ:hover{background:#ffffff1f}.cc-interiorCenter-xdKsX{position:relative;display:flex;align-items:center;justify-content:center}.cc-interiorPlanet--XIzf{width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.cc-interiorPlanetLabel-e7yxq{font-size:1rem;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}.cc-interiorPlanetSubtitle-e2vON{font-size:.6875rem;color:#fff9;margin-top:.125rem}.cc-orbitRing-hbvmD{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.08);pointer-events:none}.cc-satelliteNode-01STS{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.375rem;cursor:pointer;transition:transform .2s}.cc-satelliteNode-01STS:hover{transform:scale(1.12)}.cc-satelliteNodeIcon-Xq45f{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:2px solid rgba(255,255,255,.15);background:#ffffff0f;transition:border-color .2s,box-shadow .2s}.cc-satelliteNode-01STS:hover .cc-satelliteNodeIcon-Xq45f{border-color:#ffffff4d}.cc-satelliteNodeLabel-LLOJ5{font-size:.6875rem;color:#ffffffb3;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis;text-align:center}.cc-satelliteNodeBadge-HsUFp{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#2ecc71;color:#fff;font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center}.cc-tutorialOverlay-3GHo7{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000ab3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.cc-tutorialWelcome-21KDP{text-align:center;max-width:480px}.cc-tutorialWelcomeTitle-7GwS9{font-size:2rem;font-weight:800;letter-spacing:2px;margin-bottom:1rem}.cc-tutorialWelcomeDesc--pznv{font-size:1rem;color:#fff9;line-height:1.6;margin-bottom:2rem}.cc-tutorialActions-szJ0-{display:flex;align-items:center;justify-content:center;gap:1rem}.cc-tutorialButton-wL9-p{padding:.625rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.cc-tutorialButton-wL9-p:active{transform:scale(.97)}.cc-tutorialButton-wL9-p[data-variant=primary]{background:#fff;color:#0a0a2e;border:none}.cc-tutorialButton-wL9-p[data-variant=primary]:hover{background:#e2e8f0}.cc-tutorialButton-wL9-p[data-variant=ghost]{background:transparent;color:#ffffff80;border:1px solid rgba(255,255,255,.15)}.cc-tutorialButton-wL9-p[data-variant=ghost]:hover{background:#ffffff0f}.cc-tutorialCard-LGIkK{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:50;width:420px;padding:1.5rem;background:#0a0a1ef2;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.cc-tutorialChip-bUoEb{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem}.cc-tutorialCardTitle-r2Y1I{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.cc-tutorialCardDesc-nOS-M{font-size:.8125rem;color:#fff9;line-height:1.5;margin-bottom:1.25rem}.cc-tutorialProgress-wIAT9{width:100%;height:3px;background:#ffffff1a;border-radius:2px;margin-bottom:1rem}.cc-tutorialProgressBar-PFBdE{height:100%;border-radius:2px;background:#fff;transition:width .3s ease}.cc-tutorialCardFooter-bSdyM{display:flex;align-items:center;justify-content:space-between}.cc-tutorialStepCounter-i7c5G{font-size:.75rem;color:#fff6;font-family:monospace}.cc-tutorialDots-8M0QU{display:flex;gap:.375rem}.cc-tutorialDot-518t4{width:6px;height:6px;border-radius:50%;background:#fff3;cursor:pointer;transition:background .15s}.cc-tutorialDot-518t4[data-active=true]{background:#fff}.cc-tutorialDot-518t4[data-done=true]{background:#ffffff80}.cc-topBarSlot-EJGvM{position:absolute;top:0;left:0;right:0;z-index:50}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servantcdh/ez-planet-cosmos",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
".": {
|
|
12
12
|
"import": "./dist/index.js",
|
|
13
13
|
"types": "./dist/index.d.ts"
|
|
14
|
-
}
|
|
14
|
+
},
|
|
15
|
+
"./dist/style.css": "./dist/style.css"
|
|
15
16
|
},
|
|
16
17
|
"repository": {
|
|
17
18
|
"type": "git",
|