@arach/arc-iso 0.7.0 → 0.9.1

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.
@@ -1,86 +1,92 @@
1
- import Nt, { useId as yt, useMemo as It, useState as dt, useEffect as Ft } from "react";
2
- const Ct = 30 * (Math.PI / 180), Dt = Math.cos(Ct), Bt = Math.sin(Ct);
3
- function y(t, r, a = 0) {
1
+ import qt, { useId as $t, forwardRef as Ot, createElement as mt, useMemo as Gt, useState as ft, useEffect as Vt } from "react";
2
+ const Nt = 30 * (Math.PI / 180), Zt = Math.cos(Nt), Jt = Math.sin(Nt);
3
+ function k(t, n, s = 0) {
4
4
  return {
5
- screenX: (t - r) * Dt,
6
- screenY: -(t + r) * Bt - a
5
+ screenX: (t - n) * Zt,
6
+ screenY: -(t + n) * Jt - s
7
7
  // Negated so +X,+Y go UP on screen
8
8
  };
9
9
  }
10
- function rt(t, r, a, i = 0, s = 0, f = 0) {
11
- const x = {
10
+ function Kt(t = "x") {
11
+ let n = 1, s = 0, a = 0, i = -1;
12
+ t === "y" ? (n = 0, s = 1, a = 1, i = 0) : t === "x-" ? (n = -1, s = 0, a = 0, i = 1) : t === "y-" && (n = 0, s = -1, a = -1, i = 0);
13
+ const l = k(n, s, 0), y = k(a, i, 0);
14
+ return `${l.screenX},${l.screenY},${y.screenX},${y.screenY},0,0`;
15
+ }
16
+ function rt(t, n, s, a = 0, i = 0, l = 0) {
17
+ const y = {
12
18
  // Bottom face
13
- frontBottom: y(t, 0, 0),
14
- rightBottom: y(t, r, 0),
15
- backBottom: y(0, r, 0),
16
- leftBottom: y(0, 0, 0),
19
+ frontBottom: k(t, 0, 0),
20
+ rightBottom: k(t, n, 0),
21
+ backBottom: k(0, n, 0),
22
+ leftBottom: k(0, 0, 0),
17
23
  // Top face
18
- frontTop: y(t, 0, a),
19
- rightTop: y(t, r, a),
20
- backTop: y(0, r, a),
21
- leftTop: y(0, 0, a)
22
- }, b = ($) => ({
23
- x: $.screenX + i,
24
- y: $.screenY + s
25
- }), k = Object.fromEntries(
26
- Object.entries(x).map(([$, w]) => [$, b(w)])
27
- ), u = ($, w, A, E) => {
28
- if (E <= 0) {
29
- const H = y(0, 0, A), z = y($, 0, A), v = y($, w, A), D = y(0, w, A);
30
- return `M ${H.screenX + i},${H.screenY + s} L ${z.screenX + i},${z.screenY + s} L ${v.screenX + i},${v.screenY + s} L ${D.screenX + i},${D.screenY + s} Z`;
24
+ frontTop: k(t, 0, s),
25
+ rightTop: k(t, n, s),
26
+ backTop: k(0, n, s),
27
+ leftTop: k(0, 0, s)
28
+ }, m = ($) => ({
29
+ x: $.screenX + a,
30
+ y: $.screenY + i
31
+ }), u = Object.fromEntries(
32
+ Object.entries(y).map(([$, A]) => [$, m(A)])
33
+ ), x = ($, A, P, I) => {
34
+ if (I <= 0) {
35
+ const V = k(0, 0, P), H = k($, 0, P), F = k($, A, P), M = k(0, A, P);
36
+ return `M ${V.screenX + a},${V.screenY + i} L ${H.screenX + a},${H.screenY + i} L ${F.screenX + a},${F.screenY + i} L ${M.screenX + a},${M.screenY + i} Z`;
31
37
  }
32
- const F = Math.min($, w) / 2, Y = Math.min(E, F), P = 8, L = [], J = (H, z, v, D) => {
33
- for (let G = 0; G <= P; G++) {
34
- const T = v + (D - v) * (G / P), p = H + Y * Math.cos(T), n = z + Y * Math.sin(T), h = y(p, n, A);
35
- L.push(`${h.screenX + i},${h.screenY + s}`);
38
+ const S = Math.min($, A) / 2, L = Math.min(I, S), q = 8, N = [], Y = (V, H, F, M) => {
39
+ for (let D = 0; D <= q; D++) {
40
+ const K = F + (M - F) * (D / q), w = V + L * Math.cos(K), e = H + L * Math.sin(K), p = k(w, e, P);
41
+ N.push(`${p.screenX + a},${p.screenY + i}`);
36
42
  }
37
43
  };
38
- return J(Y, Y, Math.PI, Math.PI * 1.5), J($ - Y, Y, Math.PI * 1.5, Math.PI * 2), J($ - Y, w - Y, 0, Math.PI * 0.5), J(Y, w - Y, Math.PI * 0.5, Math.PI), `M ${L[0]} L ${L.slice(1).join(" L ")} Z`;
39
- }, l = ($) => `M ${$.map((w) => `${w.x},${w.y}`).join(" L ")} Z`, O = ($, w, A, E, F, Y) => {
40
- const L = [];
41
- for (let v = 0; v < 6; v++) {
42
- const D = F + (Y - F) * (v / 6), G = F + (Y - F) * ((v + 1) / 6), T = (D + G) / 2, p = Math.cos(T), n = Math.sin(T), _ = p * -0.577 + n * -0.577 + 0 * 0.577, Q = 0.3 + Math.max(0, _ + 0.4) * 0.5, tt = y($ + A * Math.cos(D), w + A * Math.sin(D), 0), W = y($ + A * Math.cos(G), w + A * Math.sin(G), 0), q = y($ + A * Math.cos(D), w + A * Math.sin(D), E), K = y($ + A * Math.cos(G), w + A * Math.sin(G), E), st = `M ${tt.screenX + i},${tt.screenY + s} L ${W.screenX + i},${W.screenY + s} L ${K.screenX + i},${K.screenY + s} L ${q.screenX + i},${q.screenY + s} Z`;
43
- L.push({ path: st, intensity: Q });
44
+ return Y(L, L, Math.PI, Math.PI * 1.5), Y($ - L, L, Math.PI * 1.5, Math.PI * 2), Y($ - L, A - L, 0, Math.PI * 0.5), Y(L, A - L, Math.PI * 0.5, Math.PI), `M ${N[0]} L ${N.slice(1).join(" L ")} Z`;
45
+ }, c = ($) => `M ${$.map((A) => `${A.x},${A.y}`).join(" L ")} Z`, O = ($, A, P, I, S, L) => {
46
+ const N = [];
47
+ for (let F = 0; F < 6; F++) {
48
+ const M = S + (L - S) * (F / 6), D = S + (L - S) * ((F + 1) / 6), K = (M + D) / 2, w = Math.cos(K), e = Math.sin(K), T = w * -0.577 + e * -0.577 + 0 * 0.577, Q = 0.3 + Math.max(0, T + 0.4) * 0.5, tt = k($ + P * Math.cos(M), A + P * Math.sin(M), 0), z = k($ + P * Math.cos(D), A + P * Math.sin(D), 0), Z = k($ + P * Math.cos(M), A + P * Math.sin(M), I), et = k($ + P * Math.cos(D), A + P * Math.sin(D), I), st = `M ${tt.screenX + a},${tt.screenY + i} L ${z.screenX + a},${z.screenY + i} L ${et.screenX + a},${et.screenY + i} L ${Z.screenX + a},${Z.screenY + i} Z`;
49
+ N.push({ path: st, intensity: Q });
44
50
  }
45
- return L;
46
- }, d = Math.min(f, Math.min(t, r) / 2), c = u(t, r, a, d);
47
- let S, m, M, g, C, N;
48
- if (d > 0) {
51
+ return N;
52
+ }, f = Math.min(l, Math.min(t, n) / 2), E = x(t, n, s, f);
53
+ let d, h, j, g, C, W;
54
+ if (f > 0) {
49
55
  const $ = [
50
- { x: y(0, d, 0).screenX + i, y: y(0, d, 0).screenY + s },
51
- { x: y(0, r - d, 0).screenX + i, y: y(0, r - d, 0).screenY + s },
52
- { x: y(0, r - d, a).screenX + i, y: y(0, r - d, a).screenY + s },
53
- { x: y(0, d, a).screenX + i, y: y(0, d, a).screenY + s }
56
+ { x: k(0, f, 0).screenX + a, y: k(0, f, 0).screenY + i },
57
+ { x: k(0, n - f, 0).screenX + a, y: k(0, n - f, 0).screenY + i },
58
+ { x: k(0, n - f, s).screenX + a, y: k(0, n - f, s).screenY + i },
59
+ { x: k(0, f, s).screenX + a, y: k(0, f, s).screenY + i }
54
60
  ];
55
- S = l($);
56
- const w = [
57
- { x: y(d, 0, 0).screenX + i, y: y(d, 0, 0).screenY + s },
58
- { x: y(t - d, 0, 0).screenX + i, y: y(t - d, 0, 0).screenY + s },
59
- { x: y(t - d, 0, a).screenX + i, y: y(t - d, 0, a).screenY + s },
60
- { x: y(d, 0, a).screenX + i, y: y(d, 0, a).screenY + s }
61
+ d = c($);
62
+ const A = [
63
+ { x: k(f, 0, 0).screenX + a, y: k(f, 0, 0).screenY + i },
64
+ { x: k(t - f, 0, 0).screenX + a, y: k(t - f, 0, 0).screenY + i },
65
+ { x: k(t - f, 0, s).screenX + a, y: k(t - f, 0, s).screenY + i },
66
+ { x: k(f, 0, s).screenX + a, y: k(f, 0, s).screenY + i }
61
67
  ];
62
- m = l(w), M = O(d, d, d, a, Math.PI, Math.PI * 1.5), g = O(t - d, d, d, a, Math.PI * 1.5, Math.PI * 2), C = O(d, r - d, d, a, Math.PI * 0.5, Math.PI), N = O(t - d, r - d, d, a, 0, Math.PI * 0.5);
68
+ h = c(A), j = O(f, f, f, s, Math.PI, Math.PI * 1.5), g = O(t - f, f, f, s, Math.PI * 1.5, Math.PI * 2), C = O(f, n - f, f, s, Math.PI * 0.5, Math.PI), W = O(t - f, n - f, f, s, 0, Math.PI * 0.5);
63
69
  } else {
64
- const $ = [k.leftBottom, k.backBottom, k.backTop, k.leftTop], w = [k.leftBottom, k.frontBottom, k.frontTop, k.leftTop];
65
- S = l($), m = l(w), M = [], g = [], C = [], N = [];
70
+ const $ = [u.leftBottom, u.backBottom, u.backTop, u.leftTop], A = [u.leftBottom, u.frontBottom, u.frontTop, u.leftTop];
71
+ d = c($), h = c(A), j = [], g = [], C = [], W = [];
66
72
  }
67
- const R = `M ${k.leftBottom.x},${k.leftBottom.y} L ${k.frontBottom.x},${k.frontBottom.y} L ${k.rightBottom.x},${k.rightBottom.y} L ${k.backBottom.x},${k.backBottom.y} Z`;
73
+ const _ = `M ${u.leftBottom.x},${u.leftBottom.y} L ${u.frontBottom.x},${u.frontBottom.y} L ${u.rightBottom.x},${u.rightBottom.y} L ${u.backBottom.x},${u.backBottom.y} Z`;
68
74
  return {
69
- top: c,
70
- left: S,
71
- right: m,
72
- cornerFrontLeft: M,
75
+ top: E,
76
+ left: d,
77
+ right: h,
78
+ cornerFrontLeft: j,
73
79
  cornerFrontRight: g,
74
80
  cornerBackLeft: C,
75
- cornerBackRight: N,
76
- outline: R
81
+ cornerBackRight: W,
82
+ outline: _
77
83
  };
78
84
  }
79
- function Xt(t, r = 60, a = 50) {
85
+ function Qt(t, n = 60, s = 50) {
80
86
  return {
81
- top: `hsl(${t}, ${r}%, ${Math.min(a + 15, 95)}%)`,
82
- right: `hsl(${t}, ${r}%, ${a}%)`,
83
- left: `hsl(${t}, ${r}%, ${Math.max(a - 15, 15)}%)`
87
+ top: `hsl(${t}, ${n}%, ${Math.min(s + 15, 95)}%)`,
88
+ right: `hsl(${t}, ${n}%, ${s}%)`,
89
+ left: `hsl(${t}, ${n}%, ${Math.max(s - 15, 15)}%)`
84
90
  };
85
91
  }
86
92
  const jt = {
@@ -93,271 +99,283 @@ const jt = {
93
99
  slate: { hue: 220, saturation: 15, lightness: 50 },
94
100
  zinc: { hue: 240, saturation: 5, lightness: 50 }
95
101
  };
96
- function ge(t) {
97
- const r = jt[t] || jt.slate;
98
- return Xt(r.hue, r.saturation, r.lightness);
102
+ function jo(t) {
103
+ const n = jt[t] || jt.slate;
104
+ return Qt(n.hue, n.saturation, n.lightness);
99
105
  }
100
- var ht = { exports: {} }, it = {};
101
- var St;
102
- function zt() {
103
- if (St) return it;
104
- St = 1;
105
- var t = /* @__PURE__ */ Symbol.for("react.transitional.element"), r = /* @__PURE__ */ Symbol.for("react.fragment");
106
- function a(i, s, f) {
107
- var x = null;
108
- if (f !== void 0 && (x = "" + f), s.key !== void 0 && (x = "" + s.key), "key" in s) {
109
- f = {};
110
- for (var b in s)
111
- b !== "key" && (f[b] = s[b]);
112
- } else f = s;
113
- return s = f.ref, {
106
+ var pt = { exports: {} }, ct = {};
107
+ var Mt;
108
+ function te() {
109
+ if (Mt) return ct;
110
+ Mt = 1;
111
+ var t = /* @__PURE__ */ Symbol.for("react.transitional.element"), n = /* @__PURE__ */ Symbol.for("react.fragment");
112
+ function s(a, i, l) {
113
+ var y = null;
114
+ if (l !== void 0 && (y = "" + l), i.key !== void 0 && (y = "" + i.key), "key" in i) {
115
+ l = {};
116
+ for (var m in i)
117
+ m !== "key" && (l[m] = i[m]);
118
+ } else l = i;
119
+ return i = l.ref, {
114
120
  $$typeof: t,
115
- type: i,
116
- key: x,
117
- ref: s !== void 0 ? s : null,
118
- props: f
121
+ type: a,
122
+ key: y,
123
+ ref: i !== void 0 ? i : null,
124
+ props: l
119
125
  };
120
126
  }
121
- return it.Fragment = r, it.jsx = a, it.jsxs = a, it;
127
+ return ct.Fragment = n, ct.jsx = s, ct.jsxs = s, ct;
122
128
  }
123
- var ct = {};
124
- var vt;
125
- function Ut() {
126
- return vt || (vt = 1, process.env.NODE_ENV !== "production" && (function() {
127
- function t(n) {
128
- if (n == null) return null;
129
- if (typeof n == "function")
130
- return n.$$typeof === P ? null : n.displayName || n.name || null;
131
- if (typeof n == "string") return n;
132
- switch (n) {
133
- case M:
129
+ var lt = {};
130
+ var wt;
131
+ function ee() {
132
+ return wt || (wt = 1, process.env.NODE_ENV !== "production" && (function() {
133
+ function t(e) {
134
+ if (e == null) return null;
135
+ if (typeof e == "function")
136
+ return e.$$typeof === q ? null : e.displayName || e.name || null;
137
+ if (typeof e == "string") return e;
138
+ switch (e) {
139
+ case j:
134
140
  return "Fragment";
135
141
  case C:
136
142
  return "Profiler";
137
143
  case g:
138
144
  return "StrictMode";
139
- case w:
140
- return "Suspense";
141
145
  case A:
146
+ return "Suspense";
147
+ case P:
142
148
  return "SuspenseList";
143
- case Y:
149
+ case L:
144
150
  return "Activity";
145
151
  }
146
- if (typeof n == "object")
147
- switch (typeof n.tag == "number" && console.error(
152
+ if (typeof e == "object")
153
+ switch (typeof e.tag == "number" && console.error(
148
154
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
149
- ), n.$$typeof) {
150
- case m:
155
+ ), e.$$typeof) {
156
+ case h:
151
157
  return "Portal";
152
- case R:
153
- return n.displayName || "Context";
154
- case N:
155
- return (n._context.displayName || "Context") + ".Consumer";
158
+ case _:
159
+ return e.displayName || "Context";
160
+ case W:
161
+ return (e._context.displayName || "Context") + ".Consumer";
156
162
  case $:
157
- var h = n.render;
158
- return n = n.displayName, n || (n = h.displayName || h.name || "", n = n !== "" ? "ForwardRef(" + n + ")" : "ForwardRef"), n;
159
- case E:
160
- return h = n.displayName || null, h !== null ? h : t(n.type) || "Memo";
161
- case F:
162
- h = n._payload, n = n._init;
163
+ var p = e.render;
164
+ return e = e.displayName, e || (e = p.displayName || p.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
165
+ case I:
166
+ return p = e.displayName || null, p !== null ? p : t(e.type) || "Memo";
167
+ case S:
168
+ p = e._payload, e = e._init;
163
169
  try {
164
- return t(n(h));
170
+ return t(e(p));
165
171
  } catch {
166
172
  }
167
173
  }
168
174
  return null;
169
175
  }
170
- function r(n) {
171
- return "" + n;
176
+ function n(e) {
177
+ return "" + e;
172
178
  }
173
- function a(n) {
179
+ function s(e) {
174
180
  try {
175
- r(n);
176
- var h = !1;
181
+ n(e);
182
+ var p = !1;
177
183
  } catch {
178
- h = !0;
184
+ p = !0;
179
185
  }
180
- if (h) {
181
- h = console;
182
- var _ = h.error, I = typeof Symbol == "function" && Symbol.toStringTag && n[Symbol.toStringTag] || n.constructor.name || "Object";
183
- return _.call(
184
- h,
186
+ if (p) {
187
+ p = console;
188
+ var T = p.error, R = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
189
+ return T.call(
190
+ p,
185
191
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
186
- I
187
- ), r(n);
192
+ R
193
+ ), n(e);
188
194
  }
189
195
  }
190
- function i(n) {
191
- if (n === M) return "<>";
192
- if (typeof n == "object" && n !== null && n.$$typeof === F)
196
+ function a(e) {
197
+ if (e === j) return "<>";
198
+ if (typeof e == "object" && e !== null && e.$$typeof === S)
193
199
  return "<...>";
194
200
  try {
195
- var h = t(n);
196
- return h ? "<" + h + ">" : "<...>";
201
+ var p = t(e);
202
+ return p ? "<" + p + ">" : "<...>";
197
203
  } catch {
198
204
  return "<...>";
199
205
  }
200
206
  }
201
- function s() {
202
- var n = L.A;
203
- return n === null ? null : n.getOwner();
207
+ function i() {
208
+ var e = N.A;
209
+ return e === null ? null : e.getOwner();
204
210
  }
205
- function f() {
211
+ function l() {
206
212
  return Error("react-stack-top-frame");
207
213
  }
208
- function x(n) {
209
- if (J.call(n, "key")) {
210
- var h = Object.getOwnPropertyDescriptor(n, "key").get;
211
- if (h && h.isReactWarning) return !1;
214
+ function y(e) {
215
+ if (Y.call(e, "key")) {
216
+ var p = Object.getOwnPropertyDescriptor(e, "key").get;
217
+ if (p && p.isReactWarning) return !1;
212
218
  }
213
- return n.key !== void 0;
219
+ return e.key !== void 0;
214
220
  }
215
- function b(n, h) {
216
- function _() {
217
- v || (v = !0, console.error(
221
+ function m(e, p) {
222
+ function T() {
223
+ F || (F = !0, console.error(
218
224
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
219
- h
225
+ p
220
226
  ));
221
227
  }
222
- _.isReactWarning = !0, Object.defineProperty(n, "key", {
223
- get: _,
228
+ T.isReactWarning = !0, Object.defineProperty(e, "key", {
229
+ get: T,
224
230
  configurable: !0
225
231
  });
226
232
  }
227
- function k() {
228
- var n = t(this.type);
229
- return D[n] || (D[n] = !0, console.error(
233
+ function u() {
234
+ var e = t(this.type);
235
+ return M[e] || (M[e] = !0, console.error(
230
236
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
231
- )), n = this.props.ref, n !== void 0 ? n : null;
237
+ )), e = this.props.ref, e !== void 0 ? e : null;
232
238
  }
233
- function u(n, h, _, I, Q, tt) {
234
- var W = _.ref;
235
- return n = {
236
- $$typeof: S,
237
- type: n,
238
- key: h,
239
- props: _,
240
- _owner: I
241
- }, (W !== void 0 ? W : null) !== null ? Object.defineProperty(n, "ref", {
239
+ function x(e, p, T, R, Q, tt) {
240
+ var z = T.ref;
241
+ return e = {
242
+ $$typeof: d,
243
+ type: e,
244
+ key: p,
245
+ props: T,
246
+ _owner: R
247
+ }, (z !== void 0 ? z : null) !== null ? Object.defineProperty(e, "ref", {
242
248
  enumerable: !1,
243
- get: k
244
- }) : Object.defineProperty(n, "ref", { enumerable: !1, value: null }), n._store = {}, Object.defineProperty(n._store, "validated", {
249
+ get: u
250
+ }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
245
251
  configurable: !1,
246
252
  enumerable: !1,
247
253
  writable: !0,
248
254
  value: 0
249
- }), Object.defineProperty(n, "_debugInfo", {
255
+ }), Object.defineProperty(e, "_debugInfo", {
250
256
  configurable: !1,
251
257
  enumerable: !1,
252
258
  writable: !0,
253
259
  value: null
254
- }), Object.defineProperty(n, "_debugStack", {
260
+ }), Object.defineProperty(e, "_debugStack", {
255
261
  configurable: !1,
256
262
  enumerable: !1,
257
263
  writable: !0,
258
264
  value: Q
259
- }), Object.defineProperty(n, "_debugTask", {
265
+ }), Object.defineProperty(e, "_debugTask", {
260
266
  configurable: !1,
261
267
  enumerable: !1,
262
268
  writable: !0,
263
269
  value: tt
264
- }), Object.freeze && (Object.freeze(n.props), Object.freeze(n)), n;
270
+ }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
265
271
  }
266
- function l(n, h, _, I, Q, tt) {
267
- var W = h.children;
268
- if (W !== void 0)
269
- if (I)
270
- if (H(W)) {
271
- for (I = 0; I < W.length; I++)
272
- O(W[I]);
273
- Object.freeze && Object.freeze(W);
272
+ function c(e, p, T, R, Q, tt) {
273
+ var z = p.children;
274
+ if (z !== void 0)
275
+ if (R)
276
+ if (V(z)) {
277
+ for (R = 0; R < z.length; R++)
278
+ O(z[R]);
279
+ Object.freeze && Object.freeze(z);
274
280
  } else
275
281
  console.error(
276
282
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
277
283
  );
278
- else O(W);
279
- if (J.call(h, "key")) {
280
- W = t(n);
281
- var q = Object.keys(h).filter(function(st) {
284
+ else O(z);
285
+ if (Y.call(p, "key")) {
286
+ z = t(e);
287
+ var Z = Object.keys(p).filter(function(st) {
282
288
  return st !== "key";
283
289
  });
284
- I = 0 < q.length ? "{key: someKey, " + q.join(": ..., ") + ": ...}" : "{key: someKey}", p[W + I] || (q = 0 < q.length ? "{" + q.join(": ..., ") + ": ...}" : "{}", console.error(
290
+ R = 0 < Z.length ? "{key: someKey, " + Z.join(": ..., ") + ": ...}" : "{key: someKey}", w[z + R] || (Z = 0 < Z.length ? "{" + Z.join(": ..., ") + ": ...}" : "{}", console.error(
285
291
  `A props object containing a "key" prop is being spread into JSX:
286
292
  let props = %s;
287
293
  <%s {...props} />
288
294
  React keys must be passed directly to JSX without using spread:
289
295
  let props = %s;
290
296
  <%s key={someKey} {...props} />`,
291
- I,
292
- W,
293
- q,
294
- W
295
- ), p[W + I] = !0);
297
+ R,
298
+ z,
299
+ Z,
300
+ z
301
+ ), w[z + R] = !0);
296
302
  }
297
- if (W = null, _ !== void 0 && (a(_), W = "" + _), x(h) && (a(h.key), W = "" + h.key), "key" in h) {
298
- _ = {};
299
- for (var K in h)
300
- K !== "key" && (_[K] = h[K]);
301
- } else _ = h;
302
- return W && b(
303
- _,
304
- typeof n == "function" ? n.displayName || n.name || "Unknown" : n
305
- ), u(
306
- n,
307
- W,
308
- _,
309
- s(),
303
+ if (z = null, T !== void 0 && (s(T), z = "" + T), y(p) && (s(p.key), z = "" + p.key), "key" in p) {
304
+ T = {};
305
+ for (var et in p)
306
+ et !== "key" && (T[et] = p[et]);
307
+ } else T = p;
308
+ return z && m(
309
+ T,
310
+ typeof e == "function" ? e.displayName || e.name || "Unknown" : e
311
+ ), x(
312
+ e,
313
+ z,
314
+ T,
315
+ i(),
310
316
  Q,
311
317
  tt
312
318
  );
313
319
  }
314
- function O(n) {
315
- d(n) ? n._store && (n._store.validated = 1) : typeof n == "object" && n !== null && n.$$typeof === F && (n._payload.status === "fulfilled" ? d(n._payload.value) && n._payload.value._store && (n._payload.value._store.validated = 1) : n._store && (n._store.validated = 1));
320
+ function O(e) {
321
+ f(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === S && (e._payload.status === "fulfilled" ? f(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
316
322
  }
317
- function d(n) {
318
- return typeof n == "object" && n !== null && n.$$typeof === S;
323
+ function f(e) {
324
+ return typeof e == "object" && e !== null && e.$$typeof === d;
319
325
  }
320
- var c = Nt, S = /* @__PURE__ */ Symbol.for("react.transitional.element"), m = /* @__PURE__ */ Symbol.for("react.portal"), M = /* @__PURE__ */ Symbol.for("react.fragment"), g = /* @__PURE__ */ Symbol.for("react.strict_mode"), C = /* @__PURE__ */ Symbol.for("react.profiler"), N = /* @__PURE__ */ Symbol.for("react.consumer"), R = /* @__PURE__ */ Symbol.for("react.context"), $ = /* @__PURE__ */ Symbol.for("react.forward_ref"), w = /* @__PURE__ */ Symbol.for("react.suspense"), A = /* @__PURE__ */ Symbol.for("react.suspense_list"), E = /* @__PURE__ */ Symbol.for("react.memo"), F = /* @__PURE__ */ Symbol.for("react.lazy"), Y = /* @__PURE__ */ Symbol.for("react.activity"), P = /* @__PURE__ */ Symbol.for("react.client.reference"), L = c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, J = Object.prototype.hasOwnProperty, H = Array.isArray, z = console.createTask ? console.createTask : function() {
326
+ var E = qt, d = /* @__PURE__ */ Symbol.for("react.transitional.element"), h = /* @__PURE__ */ Symbol.for("react.portal"), j = /* @__PURE__ */ Symbol.for("react.fragment"), g = /* @__PURE__ */ Symbol.for("react.strict_mode"), C = /* @__PURE__ */ Symbol.for("react.profiler"), W = /* @__PURE__ */ Symbol.for("react.consumer"), _ = /* @__PURE__ */ Symbol.for("react.context"), $ = /* @__PURE__ */ Symbol.for("react.forward_ref"), A = /* @__PURE__ */ Symbol.for("react.suspense"), P = /* @__PURE__ */ Symbol.for("react.suspense_list"), I = /* @__PURE__ */ Symbol.for("react.memo"), S = /* @__PURE__ */ Symbol.for("react.lazy"), L = /* @__PURE__ */ Symbol.for("react.activity"), q = /* @__PURE__ */ Symbol.for("react.client.reference"), N = E.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Y = Object.prototype.hasOwnProperty, V = Array.isArray, H = console.createTask ? console.createTask : function() {
321
327
  return null;
322
328
  };
323
- c = {
324
- react_stack_bottom_frame: function(n) {
325
- return n();
329
+ E = {
330
+ react_stack_bottom_frame: function(e) {
331
+ return e();
326
332
  }
327
333
  };
328
- var v, D = {}, G = c.react_stack_bottom_frame.bind(
329
- c,
330
- f
331
- )(), T = z(i(f)), p = {};
332
- ct.Fragment = M, ct.jsx = function(n, h, _) {
333
- var I = 1e4 > L.recentlyCreatedOwnerStacks++;
334
- return l(
335
- n,
336
- h,
337
- _,
334
+ var F, M = {}, D = E.react_stack_bottom_frame.bind(
335
+ E,
336
+ l
337
+ )(), K = H(a(l)), w = {};
338
+ lt.Fragment = j, lt.jsx = function(e, p, T) {
339
+ var R = 1e4 > N.recentlyCreatedOwnerStacks++;
340
+ return c(
341
+ e,
342
+ p,
343
+ T,
338
344
  !1,
339
- I ? Error("react-stack-top-frame") : G,
340
- I ? z(i(n)) : T
345
+ R ? Error("react-stack-top-frame") : D,
346
+ R ? H(a(e)) : K
341
347
  );
342
- }, ct.jsxs = function(n, h, _) {
343
- var I = 1e4 > L.recentlyCreatedOwnerStacks++;
344
- return l(
345
- n,
346
- h,
347
- _,
348
+ }, lt.jsxs = function(e, p, T) {
349
+ var R = 1e4 > N.recentlyCreatedOwnerStacks++;
350
+ return c(
351
+ e,
352
+ p,
353
+ T,
348
354
  !0,
349
- I ? Error("react-stack-top-frame") : G,
350
- I ? z(i(n)) : T
355
+ R ? Error("react-stack-top-frame") : D,
356
+ R ? H(a(e)) : K
351
357
  );
352
358
  };
353
- })()), ct;
359
+ })()), lt;
354
360
  }
355
- var Et;
356
- function Ht() {
357
- return Et || (Et = 1, process.env.NODE_ENV === "production" ? ht.exports = zt() : ht.exports = Ut()), ht.exports;
361
+ var St;
362
+ function ne() {
363
+ return St || (St = 1, process.env.NODE_ENV === "production" ? pt.exports = te() : pt.exports = ee()), pt.exports;
358
364
  }
359
- var e = Ht();
360
- const Gt = ["solid", "blueprint", "cyanotype"], kt = '"JetBrains Mono", "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace', Jt = 0.78, o = (t) => Math.round(t * Jt * 10) / 10, _t = {
365
+ var o = ne();
366
+ const Rt = {
367
+ rose: { top: "#c58a70", side: "#a86c55", front: "#b57860" },
368
+ slate: { top: "#9aaab6", side: "#718693", front: "#8196a2" },
369
+ cyan: { top: "#679c99", side: "#467f7d", front: "#568e8a" },
370
+ emerald: { top: "#a2b08b", side: "#7d9168", front: "#8e9f78" },
371
+ blue: { top: "#829eae", side: "#5b798b", front: "#6b8999" },
372
+ violet: { top: "#a698ac", side: "#807187", front: "#918297" },
373
+ amber: { top: "#c6ac71", side: "#a08950", front: "#b09a61" }
374
+ }, Pt = Array.from({ length: 180 }, (t, n) => ({
375
+ x: (n * 73.37 + 11.7) % 64,
376
+ y: (n * n * 13.19 + 5.3) % 64,
377
+ r: n % 3 === 0 ? 0.48 : 0.28
378
+ })), oe = ["solid", "blueprint", "cyanotype"], gt = '"JetBrains Mono", "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace', re = 0.78, r = (t) => Math.round(t * re * 10) / 10, Lt = {
361
379
  id: "solid",
362
380
  name: "Solid",
363
381
  description: "Shaded isometric boxes",
@@ -373,9 +391,9 @@ const Gt = ["solid", "blueprint", "cyanotype"], kt = '"JetBrains Mono", "IBM Ple
373
391
  },
374
392
  face: { top: "transparent", right: "transparent", left: "transparent" },
375
393
  hatchOpacity: { top: 0, right: 0, left: 0 },
376
- font: kt,
394
+ font: gt,
377
395
  strokeWidth: 0.5
378
- }, Zt = {
396
+ }, se = {
379
397
  id: "blueprint",
380
398
  name: "Blueprint",
381
399
  description: "Sepia engineering plate on parchment",
@@ -390,10 +408,10 @@ const Gt = ["solid", "blueprint", "cyanotype"], kt = '"JetBrains Mono", "IBM Ple
390
408
  accent: "#a8412a"
391
409
  },
392
410
  face: { top: "#f4ebd7", right: "#e6dabb", left: "#d6c6a2" },
393
- hatchOpacity: { top: 0.3, right: 0.55, left: 0.85 },
394
- font: kt,
411
+ hatchOpacity: { top: 0.48, right: 0.68, left: 0.92 },
412
+ font: gt,
395
413
  strokeWidth: 1
396
- }, qt = {
414
+ }, ae = {
397
415
  id: "cyanotype",
398
416
  name: "Cyanotype",
399
417
  description: "White linework on classic blueprint blue",
@@ -408,19 +426,19 @@ const Gt = ["solid", "blueprint", "cyanotype"], kt = '"JetBrains Mono", "IBM Ple
408
426
  accent: "#ffc857"
409
427
  },
410
428
  face: { top: "#1b4675", right: "#153a61", left: "#0f2b49" },
411
- hatchOpacity: { top: 0.28, right: 0.5, left: 0.78 },
412
- font: kt,
429
+ hatchOpacity: { top: 0.46, right: 0.64, left: 0.88 },
430
+ font: gt,
413
431
  strokeWidth: 1
414
- }, Rt = { solid: _t, blueprint: Zt, cyanotype: qt };
415
- function Vt(t) {
416
- return Rt[t] || _t;
432
+ }, zt = { solid: Lt, blueprint: se, cyanotype: ae };
433
+ function ie(t) {
434
+ return zt[t] || Lt;
417
435
  }
418
- const Kt = Gt.filter((t) => Rt[t].technical);
419
- Kt[0];
420
- const Qt = {
436
+ const ce = oe.filter((t) => zt[t].technical);
437
+ ce[0];
438
+ const le = {
421
439
  violet: "cross",
422
440
  blue: "lines",
423
- sky: "lines",
441
+ sky: "dashes",
424
442
  cyan: "dashes",
425
443
  emerald: "dots",
426
444
  amber: "dense",
@@ -429,10 +447,10 @@ const Qt = {
429
447
  zinc: "plain",
430
448
  slate: "plain"
431
449
  };
432
- function Mt(t) {
433
- return Qt[t || "zinc"] || "lines";
450
+ function Yt(t) {
451
+ return le[t || "zinc"] || "lines";
434
452
  }
435
- const te = {
453
+ const de = {
436
454
  plain: "PLAIN",
437
455
  lines: "HATCH-A",
438
456
  cross: "HATCH-X",
@@ -440,211 +458,211 @@ const te = {
440
458
  dots: "STIPPLE",
441
459
  dashes: "BROKEN"
442
460
  };
443
- function Tt(t, r, a, i = 0, s = 0) {
444
- const f = (g, C, N) => {
445
- const R = y(g, C, N);
446
- return { x: R.screenX + i, y: R.screenY + s };
447
- }, x = f(0, 0, 0), b = f(t, 0, 0), k = f(t, r, 0), u = f(0, r, 0), l = f(0, 0, a), O = f(t, 0, a), d = f(t, r, a), c = f(0, r, a), S = (g) => `M ${g.map((C) => `${C.x},${C.y}`).join(" L ")} Z`, m = (g, C) => `M ${g.x},${g.y} L ${C.x},${C.y}`, M = [x, b, k, u, l, O, d, c];
461
+ function Ct(t, n, s, a = 0, i = 0) {
462
+ const l = (g, C, W) => {
463
+ const _ = k(g, C, W);
464
+ return { x: _.screenX + a, y: _.screenY + i };
465
+ }, y = l(0, 0, 0), m = l(t, 0, 0), u = l(t, n, 0), x = l(0, n, 0), c = l(0, 0, s), O = l(t, 0, s), f = l(t, n, s), E = l(0, n, s), d = (g) => `M ${g.map((C) => `${C.x},${C.y}`).join(" L ")} Z`, h = (g, C) => `M ${g.x},${g.y} L ${C.x},${C.y}`, j = [y, m, u, x, c, O, f, E];
448
466
  return {
449
- top: S([l, O, d, c]),
450
- right: S([x, b, O, l]),
451
- left: S([x, u, c, l]),
467
+ top: d([c, O, f, E]),
468
+ right: d([y, m, O, c]),
469
+ left: d([y, x, E, c]),
452
470
  visible: [
453
471
  // silhouette
454
- S([x, b, O, d, c, u]),
472
+ d([y, m, O, f, E, x]),
455
473
  // interior creases radiating from the near top corner
456
- m(l, O),
457
- m(l, c),
458
- m(l, x)
474
+ h(c, O),
475
+ h(c, E),
476
+ h(c, y)
459
477
  ].join(" "),
460
- hidden: [m(k, b), m(k, u), m(k, d)].join(" "),
461
- topCenter: { x: (l.x + d.x) / 2, y: (l.y + d.y) / 2 },
462
- topApex: { x: d.x, y: d.y },
463
- minX: Math.min(...M.map((g) => g.x)),
464
- minY: Math.min(...M.map((g) => g.y)),
465
- maxX: Math.max(...M.map((g) => g.x)),
466
- maxY: Math.max(...M.map((g) => g.y))
478
+ hidden: [h(u, m), h(u, x), h(u, f)].join(" "),
479
+ topCenter: { x: (c.x + f.x) / 2, y: (c.y + f.y) / 2 },
480
+ topApex: { x: f.x, y: f.y },
481
+ minX: Math.min(...j.map((g) => g.x)),
482
+ minY: Math.min(...j.map((g) => g.y)),
483
+ maxX: Math.max(...j.map((g) => g.x)),
484
+ maxY: Math.max(...j.map((g) => g.y))
467
485
  };
468
486
  }
469
- function mt(t) {
487
+ function kt(t) {
470
488
  return String(t).padStart(2, "0");
471
489
  }
472
- const ee = {
490
+ const he = {
473
491
  top: ["n30", "p30"],
474
492
  right: ["n30", "v"],
475
493
  left: ["p30", "v"]
476
- }, ne = { n30: -30, p30: 30, v: 90 }, re = [
494
+ }, fe = { n30: -30, p30: 30, v: 90 }, pe = [
477
495
  { key: "line", spacing: 6.2, strokeWidth: 0.55 },
478
496
  { key: "dense", spacing: 3.1, strokeWidth: 0.45 },
479
497
  { key: "dash", spacing: 6.2, strokeWidth: 0.55, dash: "2.6 2.6" }
480
- ], lt = 22;
481
- function Pt(t, r, a) {
482
- const [i, s] = ee[a];
483
- switch (r) {
498
+ ], dt = 22;
499
+ function Wt(t, n, s) {
500
+ const [a, i] = he[s];
501
+ switch (n) {
484
502
  case "plain":
485
503
  return [];
486
504
  case "lines":
487
- return [`${t}-line-${i}`];
505
+ return [`${t}-line-${a}`];
488
506
  case "cross":
489
- return [`${t}-line-${i}`, `${t}-line-${s}`];
507
+ return [`${t}-line-${a}`, `${t}-line-${i}`];
490
508
  case "dense":
491
- return [`${t}-dense-${i}`];
509
+ return [`${t}-dense-${a}`];
492
510
  case "dashes":
493
- return [`${t}-dash-${i}`];
511
+ return [`${t}-dash-${a}`];
494
512
  case "dots":
495
513
  return [`${t}-dot`];
496
514
  default:
497
- return [`${t}-line-${i}`];
515
+ return [`${t}-line-${a}`];
498
516
  }
499
517
  }
500
- const At = (t) => `${t}-paper`, Lt = (t) => `${t}-grain`, oe = (t, r = "line") => `${t}-arrow-${r}`, se = (t) => [`${t}-grid-n30`, `${t}-grid-p30`];
518
+ const It = (t) => `${t}-paper`, Ft = (t) => `${t}-grain`, ue = (t, n = "line") => `${t}-arrow-${n}`, ye = (t) => [`${t}-grid-n30`, `${t}-grid-p30`];
501
519
  function bt({
502
520
  uid: t,
503
- style: r,
521
+ style: n,
504
522
  /** Extra transform applied to the graph-paper grid, so it can be pinned to
505
523
  * panned/zoomed content while the paper itself fills the viewport. */
506
- gridTransform: a = ""
524
+ gridTransform: s = ""
507
525
  }) {
508
- return /* @__PURE__ */ e.jsxs("defs", { children: [
509
- re.flatMap(
510
- (i) => Object.entries(ne).map(([s, f]) => /* @__PURE__ */ e.jsx(
526
+ return /* @__PURE__ */ o.jsxs("defs", { children: [
527
+ pe.flatMap(
528
+ (a) => Object.entries(fe).map(([i, l]) => /* @__PURE__ */ o.jsx(
511
529
  "pattern",
512
530
  {
513
- id: `${t}-${i.key}-${s}`,
514
- width: i.spacing,
515
- height: i.spacing,
531
+ id: `${t}-${a.key}-${i}`,
532
+ width: a.spacing,
533
+ height: a.spacing,
516
534
  patternUnits: "userSpaceOnUse",
517
- patternTransform: `rotate(${f})`,
518
- children: /* @__PURE__ */ e.jsx(
535
+ patternTransform: `rotate(${l})`,
536
+ children: /* @__PURE__ */ o.jsx(
519
537
  "line",
520
538
  {
521
539
  x1: -1,
522
- y1: i.spacing / 2,
523
- x2: i.spacing + 1,
524
- y2: i.spacing / 2,
525
- stroke: r.ink.hatch,
526
- strokeWidth: i.strokeWidth,
527
- strokeDasharray: i.dash
540
+ y1: a.spacing / 2,
541
+ x2: a.spacing + 1,
542
+ y2: a.spacing / 2,
543
+ stroke: n.ink.hatch,
544
+ strokeWidth: a.strokeWidth,
545
+ strokeDasharray: a.dash
528
546
  }
529
547
  )
530
548
  },
531
- `${i.key}-${s}`
549
+ `${a.key}-${i}`
532
550
  ))
533
551
  ),
534
- /* @__PURE__ */ e.jsx("pattern", { id: `${t}-dot`, width: 4.5, height: 4.5, patternUnits: "userSpaceOnUse", children: /* @__PURE__ */ e.jsx("circle", { cx: 2.25, cy: 2.25, r: 0.55, fill: r.ink.hatch }) }),
552
+ /* @__PURE__ */ o.jsx("pattern", { id: `${t}-dot`, width: 4.5, height: 4.5, patternUnits: "userSpaceOnUse", children: /* @__PURE__ */ o.jsx("circle", { cx: 2.25, cy: 2.25, r: 0.55, fill: n.ink.hatch }) }),
535
553
  [
536
554
  { id: `${t}-grid-n30`, angle: -30 },
537
555
  { id: `${t}-grid-p30`, angle: 30 }
538
- ].map(({ id: i, angle: s }) => /* @__PURE__ */ e.jsx(
556
+ ].map(({ id: a, angle: i }) => /* @__PURE__ */ o.jsx(
539
557
  "pattern",
540
558
  {
541
- id: i,
542
- width: lt,
543
- height: lt,
559
+ id: a,
560
+ width: dt,
561
+ height: dt,
544
562
  patternUnits: "userSpaceOnUse",
545
- patternTransform: `${a} rotate(${s})`.trim(),
546
- children: /* @__PURE__ */ e.jsx(
563
+ patternTransform: `${s} rotate(${i})`.trim(),
564
+ children: /* @__PURE__ */ o.jsx(
547
565
  "line",
548
566
  {
549
567
  x1: -1,
550
- y1: lt / 2,
551
- x2: lt + 1,
552
- y2: lt / 2,
553
- stroke: r.paper.grid,
568
+ y1: dt / 2,
569
+ x2: dt + 1,
570
+ y2: dt / 2,
571
+ stroke: n.paper.grid,
554
572
  strokeWidth: 0.5
555
573
  }
556
574
  )
557
575
  },
558
- i
576
+ a
559
577
  )),
560
- /* @__PURE__ */ e.jsxs("linearGradient", { id: At(t), x1: "0", y1: "0", x2: "0.35", y2: "1", children: [
561
- /* @__PURE__ */ e.jsx("stop", { offset: "0%", stopColor: r.paper.from }),
562
- /* @__PURE__ */ e.jsx("stop", { offset: "100%", stopColor: r.paper.to })
578
+ /* @__PURE__ */ o.jsxs("linearGradient", { id: It(t), x1: "0", y1: "0", x2: "0.35", y2: "1", children: [
579
+ /* @__PURE__ */ o.jsx("stop", { offset: "0%", stopColor: n.paper.from }),
580
+ /* @__PURE__ */ o.jsx("stop", { offset: "100%", stopColor: n.paper.to })
563
581
  ] }),
564
- /* @__PURE__ */ e.jsxs("filter", { id: Lt(t), x: "0%", y: "0%", width: "100%", height: "100%", children: [
565
- /* @__PURE__ */ e.jsx("feTurbulence", { type: "fractalNoise", baseFrequency: "0.85", numOctaves: 3, stitchTiles: "stitch" }),
566
- /* @__PURE__ */ e.jsx("feColorMatrix", { type: "saturate", values: "0" })
582
+ /* @__PURE__ */ o.jsxs("filter", { id: Ft(t), x: "0%", y: "0%", width: "100%", height: "100%", children: [
583
+ /* @__PURE__ */ o.jsx("feTurbulence", { type: "fractalNoise", baseFrequency: "0.85", numOctaves: 3, stitchTiles: "stitch" }),
584
+ /* @__PURE__ */ o.jsx("feColorMatrix", { type: "saturate", values: "0" })
567
585
  ] }),
568
- ["line", "accent"].map((i) => /* @__PURE__ */ e.jsx(
586
+ ["line", "accent"].map((a) => /* @__PURE__ */ o.jsx(
569
587
  "marker",
570
588
  {
571
- id: oe(t, i),
589
+ id: ue(t, a),
572
590
  markerWidth: "10",
573
591
  markerHeight: "10",
574
592
  refX: "8",
575
593
  refY: "4",
576
594
  orient: "auto",
577
595
  markerUnits: "userSpaceOnUse",
578
- children: /* @__PURE__ */ e.jsx(
596
+ children: /* @__PURE__ */ o.jsx(
579
597
  "path",
580
598
  {
581
599
  d: "M 1 1 L 8 4 L 1 7",
582
600
  fill: "none",
583
- stroke: i === "accent" ? r.ink.accent : r.ink.line,
601
+ stroke: a === "accent" ? n.ink.accent : n.ink.line,
584
602
  strokeWidth: 1,
585
603
  strokeLinecap: "round",
586
604
  strokeLinejoin: "round"
587
605
  }
588
606
  )
589
607
  },
590
- i
608
+ a
591
609
  ))
592
610
  ] });
593
611
  }
594
- function ae({
612
+ function xe({
595
613
  style: t,
596
- rect: r,
597
- pan: a,
598
- zoom: i = 1,
599
- className: s = "absolute inset-0 w-full h-full pointer-events-none"
614
+ rect: n,
615
+ pan: s,
616
+ zoom: a = 1,
617
+ className: i = "absolute inset-0 w-full h-full pointer-events-none"
600
618
  }) {
601
- const f = yt().replace(/:/g, ""), x = a ? `translate(${a.x} ${a.y}) scale(${i})` : i !== 1 ? `scale(${i})` : "", b = r ? { x: r.x, y: r.y, width: r.width, height: r.height } : { x: 0, y: 0, width: "100%", height: "100%" };
602
- return /* @__PURE__ */ e.jsxs("svg", { className: s, "aria-hidden": "true", children: [
603
- /* @__PURE__ */ e.jsx(bt, { uid: f, style: t, gridTransform: x }),
604
- /* @__PURE__ */ e.jsx("rect", { ...b, fill: `url(#${At(f)})` }),
605
- se(f).map((k) => /* @__PURE__ */ e.jsx("rect", { ...b, fill: `url(#${k})`, opacity: 0.6 }, k)),
606
- t.paper.grain > 0 && /* @__PURE__ */ e.jsx("rect", { ...b, filter: `url(#${Lt(f)})`, opacity: t.paper.grain })
619
+ const l = $t().replace(/:/g, ""), y = s ? `translate(${s.x} ${s.y}) scale(${a})` : a !== 1 ? `scale(${a})` : "", m = n ? { x: n.x, y: n.y, width: n.width, height: n.height } : { x: 0, y: 0, width: "100%", height: "100%" };
620
+ return /* @__PURE__ */ o.jsxs("svg", { className: i, "aria-hidden": "true", children: [
621
+ /* @__PURE__ */ o.jsx(bt, { uid: l, style: t, gridTransform: y }),
622
+ /* @__PURE__ */ o.jsx("rect", { ...m, fill: `url(#${It(l)})` }),
623
+ ye(l).map((u) => /* @__PURE__ */ o.jsx("rect", { ...m, fill: `url(#${u})`, opacity: 0.6 }, u)),
624
+ t.paper.grain > 0 && /* @__PURE__ */ o.jsx("rect", { ...m, filter: `url(#${Ft(l)})`, opacity: t.paper.grain })
607
625
  ] });
608
626
  }
609
- const pt = o(10), ie = 9, wt = (t, r) => t.length > r ? `${t.slice(0, r - 1)}…` : t;
610
- function ce({
627
+ const ut = r(10), ke = 9, Tt = (t, n) => t.length > n ? `${t.slice(0, n - 1)}…` : t;
628
+ function me({
611
629
  style: t,
612
- plate: r,
613
- rows: a,
614
- title: i,
615
- tally: s,
616
- className: f = "absolute inset-0 w-full h-full pointer-events-none"
630
+ plate: n,
631
+ rows: s,
632
+ title: a,
633
+ tally: i,
634
+ className: l = "absolute inset-0 w-full h-full pointer-events-none"
617
635
  }) {
618
- const x = yt().replace(/:/g, ""), b = a.slice(0, ie), k = a.length - b.length, u = {
619
- x: r.minX + pt,
620
- y: r.minY + pt,
621
- width: r.maxX - r.minX - pt * 2,
622
- height: r.maxY - r.minY - pt * 2
623
- }, l = {
636
+ const y = $t().replace(/:/g, ""), m = s.slice(0, ke), u = s.length - m.length, x = {
637
+ x: n.minX + ut,
638
+ y: n.minY + ut,
639
+ width: n.maxX - n.minX - ut * 2,
640
+ height: n.maxY - n.minY - ut * 2
641
+ }, c = {
624
642
  fontFamily: t.font,
625
643
  letterSpacing: "0.08em"
626
- }, O = o(236), d = o(13), c = o(16), S = c + Math.max(b.length, 1) * d + (k > 0 ? d : 0), m = u.x + o(14), M = u.y + o(14), g = o(264), C = o(74), N = o(126), R = u.x + u.width - g - o(14), $ = u.y + u.height - C - o(14);
627
- return /* @__PURE__ */ e.jsxs("svg", { className: f, style: { overflow: "visible" }, "aria-hidden": "true", children: [
628
- /* @__PURE__ */ e.jsx(bt, { uid: x, style: t }),
629
- /* @__PURE__ */ e.jsx(
644
+ }, O = r(236), f = r(13), E = r(16), d = E + Math.max(m.length, 1) * f + (u > 0 ? f : 0), h = x.x + r(14), j = x.y + r(14), g = r(264), C = r(74), W = r(126), _ = x.x + x.width - g - r(14), $ = x.y + x.height - C - r(14);
645
+ return /* @__PURE__ */ o.jsxs("svg", { className: l, style: { overflow: "visible" }, "aria-hidden": "true", children: [
646
+ /* @__PURE__ */ o.jsx(bt, { uid: y, style: t }),
647
+ /* @__PURE__ */ o.jsx(
630
648
  "rect",
631
649
  {
632
- x: r.minX,
633
- y: r.minY,
634
- width: r.maxX - r.minX,
635
- height: r.maxY - r.minY,
650
+ x: n.minX,
651
+ y: n.minY,
652
+ width: n.maxX - n.minX,
653
+ height: n.maxY - n.minY,
636
654
  fill: "none",
637
655
  stroke: t.paper.edge,
638
656
  strokeWidth: 1.4
639
657
  }
640
658
  ),
641
- /* @__PURE__ */ e.jsx(
659
+ /* @__PURE__ */ o.jsx(
642
660
  "rect",
643
661
  {
644
- x: u.x,
645
- y: u.y,
646
- width: u.width,
647
- height: u.height,
662
+ x: x.x,
663
+ y: x.y,
664
+ width: x.width,
665
+ height: x.height,
648
666
  fill: "none",
649
667
  stroke: t.paper.edge,
650
668
  strokeWidth: 0.6,
@@ -652,121 +670,121 @@ function ce({
652
670
  }
653
671
  ),
654
672
  [
655
- [u.x, u.y, 1, 1],
656
- [u.x + u.width, u.y, -1, 1],
657
- [u.x, u.y + u.height, 1, -1],
658
- [u.x + u.width, u.y + u.height, -1, -1]
659
- ].map(([w, A, E, F], Y) => /* @__PURE__ */ e.jsx(
673
+ [x.x, x.y, 1, 1],
674
+ [x.x + x.width, x.y, -1, 1],
675
+ [x.x, x.y + x.height, 1, -1],
676
+ [x.x + x.width, x.y + x.height, -1, -1]
677
+ ].map(([A, P, I, S], L) => /* @__PURE__ */ o.jsx(
660
678
  "path",
661
679
  {
662
- d: `M ${w + E * o(16)} ${A} L ${w} ${A} L ${w} ${A + F * o(16)}`,
680
+ d: `M ${A + I * r(16)} ${P} L ${A} ${P} L ${A} ${P + S * r(16)}`,
663
681
  fill: "none",
664
682
  stroke: t.ink.line,
665
683
  strokeWidth: 1.2
666
684
  },
667
- Y
685
+ L
668
686
  )),
669
- b.length > 0 && /* @__PURE__ */ e.jsxs("g", { children: [
670
- /* @__PURE__ */ e.jsx(
687
+ m.length > 0 && /* @__PURE__ */ o.jsxs("g", { children: [
688
+ /* @__PURE__ */ o.jsx(
671
689
  "rect",
672
690
  {
673
- x: m,
674
- y: M,
691
+ x: h,
692
+ y: j,
675
693
  width: O,
676
- height: S,
694
+ height: d,
677
695
  fill: t.paper.from,
678
696
  fillOpacity: 0.55,
679
697
  stroke: t.ink.line,
680
698
  strokeWidth: 0.8
681
699
  }
682
700
  ),
683
- /* @__PURE__ */ e.jsx(
701
+ /* @__PURE__ */ o.jsx(
684
702
  "line",
685
703
  {
686
- x1: m,
687
- y1: M + c,
688
- x2: m + O,
689
- y2: M + c,
704
+ x1: h,
705
+ y1: j + E,
706
+ x2: h + O,
707
+ y2: j + E,
690
708
  stroke: t.ink.line,
691
709
  strokeWidth: 0.8
692
710
  }
693
711
  ),
694
- /* @__PURE__ */ e.jsx("text", { x: m + o(8), y: M + o(11), fill: t.ink.text, fontSize: o(8), fontWeight: 600, style: l, children: "COMPONENT INDEX" }),
695
- /* @__PURE__ */ e.jsxs(
712
+ /* @__PURE__ */ o.jsx("text", { x: h + r(8), y: j + r(11), fill: t.ink.text, fontSize: r(8), fontWeight: 600, style: c, children: "COMPONENT INDEX" }),
713
+ /* @__PURE__ */ o.jsxs(
696
714
  "text",
697
715
  {
698
- x: m + O - o(8),
699
- y: M + o(11),
716
+ x: h + O - r(8),
717
+ y: j + r(11),
700
718
  textAnchor: "end",
701
719
  fill: t.ink.muted,
702
- fontSize: o(8),
703
- style: l,
720
+ fontSize: r(8),
721
+ style: c,
704
722
  children: [
705
- mt(a.length),
723
+ kt(s.length),
706
724
  " ITEMS"
707
725
  ]
708
726
  }
709
727
  ),
710
- b.map((w, A) => {
711
- const E = M + c + A * d, F = Mt(w.color), Y = Pt(x, F, "top");
712
- return /* @__PURE__ */ e.jsxs("g", { children: [
713
- /* @__PURE__ */ e.jsx("text", { x: m + o(8), y: E + o(9.5), fill: t.ink.muted, fontSize: o(7.5), style: l, children: mt(w.n) }),
714
- /* @__PURE__ */ e.jsx(
728
+ m.map((A, P) => {
729
+ const I = j + E + P * f, S = Yt(A.color), L = Wt(y, S, "top");
730
+ return /* @__PURE__ */ o.jsxs("g", { children: [
731
+ /* @__PURE__ */ o.jsx("text", { x: h + r(8), y: I + r(9.5), fill: t.ink.muted, fontSize: r(7.5), style: c, children: kt(A.n) }),
732
+ /* @__PURE__ */ o.jsx(
715
733
  "rect",
716
734
  {
717
- x: m + o(28),
718
- y: E + o(3),
719
- width: o(14),
720
- height: o(7),
735
+ x: h + r(28),
736
+ y: I + r(3),
737
+ width: r(14),
738
+ height: r(7),
721
739
  fill: t.face.right,
722
740
  stroke: t.ink.line,
723
741
  strokeWidth: 0.4
724
742
  }
725
743
  ),
726
- Y.map((P) => /* @__PURE__ */ e.jsx(
744
+ L.map((q) => /* @__PURE__ */ o.jsx(
727
745
  "rect",
728
746
  {
729
- x: m + o(28),
730
- y: E + o(3),
731
- width: o(14),
732
- height: o(7),
733
- fill: `url(#${P})`,
747
+ x: h + r(28),
748
+ y: I + r(3),
749
+ width: r(14),
750
+ height: r(7),
751
+ fill: `url(#${q})`,
734
752
  opacity: 0.85
735
753
  },
736
- P
754
+ q
737
755
  )),
738
- /* @__PURE__ */ e.jsx("text", { x: m + o(50), y: E + o(9.5), fill: t.ink.text, fontSize: o(7.5), style: l, children: wt((w.name || "").toUpperCase(), 18) }),
739
- /* @__PURE__ */ e.jsx(
756
+ /* @__PURE__ */ o.jsx("text", { x: h + r(50), y: I + r(9.5), fill: t.ink.text, fontSize: r(7.5), style: c, children: Tt((A.name || "").toUpperCase(), 18) }),
757
+ /* @__PURE__ */ o.jsx(
740
758
  "text",
741
759
  {
742
- x: m + O - o(8),
743
- y: E + o(9.5),
760
+ x: h + O - r(8),
761
+ y: I + r(9.5),
744
762
  textAnchor: "end",
745
763
  fill: t.ink.muted,
746
- fontSize: o(7),
747
- style: l,
748
- children: te[F]
764
+ fontSize: r(7),
765
+ style: c,
766
+ children: de[S]
749
767
  }
750
768
  )
751
- ] }, w.n);
769
+ ] }, A.n);
752
770
  }),
753
- k > 0 && /* @__PURE__ */ e.jsx(
771
+ u > 0 && /* @__PURE__ */ o.jsx(
754
772
  "text",
755
773
  {
756
- x: m + o(8),
757
- y: M + c + b.length * d + o(9.5),
774
+ x: h + r(8),
775
+ y: j + E + m.length * f + r(9.5),
758
776
  fill: t.ink.muted,
759
- fontSize: o(7.5),
760
- style: l,
761
- children: `+ ${k} NOT LISTED`
777
+ fontSize: r(7.5),
778
+ style: c,
779
+ children: `+ ${u} NOT LISTED`
762
780
  }
763
781
  )
764
782
  ] }),
765
- /* @__PURE__ */ e.jsxs("g", { children: [
766
- /* @__PURE__ */ e.jsx(
783
+ /* @__PURE__ */ o.jsxs("g", { children: [
784
+ /* @__PURE__ */ o.jsx(
767
785
  "rect",
768
786
  {
769
- x: R,
787
+ x: _,
770
788
  y: $,
771
789
  width: g,
772
790
  height: C,
@@ -776,161 +794,617 @@ function ce({
776
794
  strokeWidth: 0.8
777
795
  }
778
796
  ),
779
- /* @__PURE__ */ e.jsx("line", { x1: R, y1: $ + o(30), x2: R + g, y2: $ + o(30), stroke: t.ink.line, strokeWidth: 0.8 }),
780
- /* @__PURE__ */ e.jsx("line", { x1: R, y1: $ + o(52), x2: R + g, y2: $ + o(52), stroke: t.ink.line, strokeWidth: 0.5 }),
781
- /* @__PURE__ */ e.jsx("line", { x1: R + N, y1: $ + o(30), x2: R + N, y2: $ + C, stroke: t.ink.line, strokeWidth: 0.5 }),
782
- /* @__PURE__ */ e.jsx("text", { x: R + o(9), y: $ + o(12), fill: t.ink.muted, fontSize: o(6.5), style: l, children: "DRAWING TITLE" }),
783
- /* @__PURE__ */ e.jsx("text", { x: R + o(9), y: $ + o(24), fill: t.ink.text, fontSize: o(10), fontWeight: 600, style: l, children: wt((i || "UNTITLED ASSEMBLY").toUpperCase(), 26) }),
784
- /* @__PURE__ */ e.jsx("text", { x: R + o(9), y: $ + o(43), fill: t.ink.muted, fontSize: o(6.5), style: l, children: "PROJECTION" }),
785
- /* @__PURE__ */ e.jsx("text", { x: R + N - o(9), y: $ + o(43), textAnchor: "end", fill: t.ink.text, fontSize: o(7), style: l, children: "ISOMETRIC 30°" }),
786
- /* @__PURE__ */ e.jsx("text", { x: R + o(9), y: $ + o(65), fill: t.ink.muted, fontSize: o(6.5), style: l, children: "SCALE" }),
787
- /* @__PURE__ */ e.jsx("text", { x: R + N - o(9), y: $ + o(65), textAnchor: "end", fill: t.ink.text, fontSize: o(7), style: l, children: "1:1" }),
788
- /* @__PURE__ */ e.jsx("text", { x: R + N + o(9), y: $ + o(43), fill: t.ink.muted, fontSize: o(6.5), style: l, children: "QTY" }),
789
- /* @__PURE__ */ e.jsx("text", { x: R + g - o(9), y: $ + o(43), textAnchor: "end", fill: t.ink.text, fontSize: o(7), style: l, children: s || `${mt(a.length)} CMP` }),
790
- /* @__PURE__ */ e.jsx("text", { x: R + N + o(9), y: $ + o(65), fill: t.ink.muted, fontSize: o(6.5), style: l, children: "SHEET" }),
791
- /* @__PURE__ */ e.jsx("text", { x: R + g - o(9), y: $ + o(65), textAnchor: "end", fill: t.ink.text, fontSize: o(7), style: l, children: "1 OF 1" })
797
+ /* @__PURE__ */ o.jsx("line", { x1: _, y1: $ + r(30), x2: _ + g, y2: $ + r(30), stroke: t.ink.line, strokeWidth: 0.8 }),
798
+ /* @__PURE__ */ o.jsx("line", { x1: _, y1: $ + r(52), x2: _ + g, y2: $ + r(52), stroke: t.ink.line, strokeWidth: 0.5 }),
799
+ /* @__PURE__ */ o.jsx("line", { x1: _ + W, y1: $ + r(30), x2: _ + W, y2: $ + C, stroke: t.ink.line, strokeWidth: 0.5 }),
800
+ /* @__PURE__ */ o.jsx("text", { x: _ + r(9), y: $ + r(12), fill: t.ink.muted, fontSize: r(6.5), style: c, children: "DRAWING TITLE" }),
801
+ /* @__PURE__ */ o.jsx("text", { x: _ + r(9), y: $ + r(24), fill: t.ink.text, fontSize: r(10), fontWeight: 600, style: c, children: Tt((a || "UNTITLED ASSEMBLY").toUpperCase(), 26) }),
802
+ /* @__PURE__ */ o.jsx("text", { x: _ + r(9), y: $ + r(43), fill: t.ink.muted, fontSize: r(6.5), style: c, children: "PROJECTION" }),
803
+ /* @__PURE__ */ o.jsx("text", { x: _ + W - r(9), y: $ + r(43), textAnchor: "end", fill: t.ink.text, fontSize: r(7), style: c, children: "ISOMETRIC 30°" }),
804
+ /* @__PURE__ */ o.jsx("text", { x: _ + r(9), y: $ + r(65), fill: t.ink.muted, fontSize: r(6.5), style: c, children: "SCALE" }),
805
+ /* @__PURE__ */ o.jsx("text", { x: _ + W - r(9), y: $ + r(65), textAnchor: "end", fill: t.ink.text, fontSize: r(7), style: c, children: "1:1" }),
806
+ /* @__PURE__ */ o.jsx("text", { x: _ + W + r(9), y: $ + r(43), fill: t.ink.muted, fontSize: r(6.5), style: c, children: "QTY" }),
807
+ /* @__PURE__ */ o.jsx("text", { x: _ + g - r(9), y: $ + r(43), textAnchor: "end", fill: t.ink.text, fontSize: r(7), style: c, children: i || `${kt(s.length)} CMP` }),
808
+ /* @__PURE__ */ o.jsx("text", { x: _ + W + r(9), y: $ + r(65), fill: t.ink.muted, fontSize: r(6.5), style: c, children: "SHEET" }),
809
+ /* @__PURE__ */ o.jsx("text", { x: _ + g - r(9), y: $ + r(65), textAnchor: "end", fill: t.ink.text, fontSize: r(7), style: c, children: "1 OF 1" })
792
810
  ] })
793
811
  ] });
794
812
  }
795
- function le({
813
+ const $e = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), ge = (t) => t.replace(
814
+ /^([A-Z])|[\s-_]+(\w)/g,
815
+ (n, s, a) => a ? a.toUpperCase() : s.toLowerCase()
816
+ ), Et = (t) => {
817
+ const n = ge(t);
818
+ return n.charAt(0).toUpperCase() + n.slice(1);
819
+ }, Dt = (...t) => t.filter((n, s, a) => !!n && n.trim() !== "" && a.indexOf(n) === s).join(" ").trim(), be = (t) => {
820
+ for (const n in t)
821
+ if (n.startsWith("aria-") || n === "role" || n === "title")
822
+ return !0;
823
+ };
824
+ var ve = {
825
+ xmlns: "http://www.w3.org/2000/svg",
826
+ width: 24,
827
+ height: 24,
828
+ viewBox: "0 0 24 24",
829
+ fill: "none",
830
+ stroke: "currentColor",
831
+ strokeWidth: 2,
832
+ strokeLinecap: "round",
833
+ strokeLinejoin: "round"
834
+ };
835
+ const _e = Ot(
836
+ ({
837
+ color: t = "currentColor",
838
+ size: n = 24,
839
+ strokeWidth: s = 2,
840
+ absoluteStrokeWidth: a,
841
+ className: i = "",
842
+ children: l,
843
+ iconNode: y,
844
+ ...m
845
+ }, u) => mt(
846
+ "svg",
847
+ {
848
+ ref: u,
849
+ ...ve,
850
+ width: n,
851
+ height: n,
852
+ stroke: t,
853
+ strokeWidth: a ? Number(s) * 24 / Number(n) : s,
854
+ className: Dt("lucide", i),
855
+ ...!l && !be(m) && { "aria-hidden": "true" },
856
+ ...m
857
+ },
858
+ [
859
+ ...y.map(([x, c]) => mt(x, c)),
860
+ ...Array.isArray(l) ? l : [l]
861
+ ]
862
+ )
863
+ );
864
+ const b = (t, n) => {
865
+ const s = Ot(
866
+ ({ className: a, ...i }, l) => mt(_e, {
867
+ ref: l,
868
+ iconNode: n,
869
+ className: Dt(
870
+ `lucide-${$e(Et(t))}`,
871
+ `lucide-${t}`,
872
+ a
873
+ ),
874
+ ...i
875
+ })
876
+ );
877
+ return s.displayName = Et(t), s;
878
+ };
879
+ const je = [
880
+ [
881
+ "path",
882
+ {
883
+ d: "M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",
884
+ key: "169zse"
885
+ }
886
+ ]
887
+ ], Me = b("activity", je);
888
+ const we = [
889
+ ["path", { d: "M12 5v14", key: "s699le" }],
890
+ ["path", { d: "m19 12-7 7-7-7", key: "1idqje" }]
891
+ ], Se = b("arrow-down", we);
892
+ const Ce = [
893
+ ["path", { d: "M5 12h14", key: "1ays0h" }],
894
+ ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
895
+ ], Te = b("arrow-right", Ce);
896
+ const Ee = [
897
+ ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
898
+ [
899
+ "path",
900
+ {
901
+ d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",
902
+ key: "11g9vi"
903
+ }
904
+ ]
905
+ ], Ae = b("bell", Ee);
906
+ const Oe = [
907
+ [
908
+ "path",
909
+ {
910
+ d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
911
+ key: "hh9hay"
912
+ }
913
+ ],
914
+ ["path", { d: "m3.3 7 8.7 5 8.7-5", key: "g66t2b" }],
915
+ ["path", { d: "M12 22V12", key: "d0xqtd" }]
916
+ ], Bt = b("box", Oe);
917
+ const Ne = [
918
+ [
919
+ "path",
920
+ {
921
+ d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
922
+ key: "18u6gg"
923
+ }
924
+ ],
925
+ ["circle", { cx: "12", cy: "13", r: "3", key: "1vg3eu" }]
926
+ ], Re = b("camera", Ne);
927
+ const Pe = [
928
+ ["path", { d: "M5 21v-6", key: "1hz6c0" }],
929
+ ["path", { d: "M12 21V9", key: "uvy0l4" }],
930
+ ["path", { d: "M19 21V3", key: "11j9sm" }]
931
+ ], Le = b("chart-no-axes-column-increasing", Pe);
932
+ const ze = [
933
+ [
934
+ "path",
935
+ {
936
+ d: "M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",
937
+ key: "pzmjnu"
938
+ }
939
+ ],
940
+ ["path", { d: "M21.21 15.89A10 10 0 1 1 8 2.83", key: "k2fpak" }]
941
+ ], Ye = b("chart-pie", ze);
942
+ const We = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]], Ie = b("circle", We);
943
+ const Fe = [
944
+ ["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }]
945
+ ], De = b("cloud", Fe);
946
+ const Be = [
947
+ ["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
948
+ ["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
949
+ ], Xe = b("code", Be);
950
+ const He = [
951
+ ["path", { d: "M12 20v2", key: "1lh1kg" }],
952
+ ["path", { d: "M12 2v2", key: "tus03m" }],
953
+ ["path", { d: "M17 20v2", key: "1rnc9c" }],
954
+ ["path", { d: "M17 2v2", key: "11trls" }],
955
+ ["path", { d: "M2 12h2", key: "1t8f8n" }],
956
+ ["path", { d: "M2 17h2", key: "7oei6x" }],
957
+ ["path", { d: "M2 7h2", key: "asdhe0" }],
958
+ ["path", { d: "M20 12h2", key: "1q8mjw" }],
959
+ ["path", { d: "M20 17h2", key: "1fpfkl" }],
960
+ ["path", { d: "M20 7h2", key: "1o8tra" }],
961
+ ["path", { d: "M7 20v2", key: "4gnj0m" }],
962
+ ["path", { d: "M7 2v2", key: "1i4yhu" }],
963
+ ["rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", key: "1vbyd7" }],
964
+ ["rect", { x: "8", y: "8", width: "8", height: "8", rx: "1", key: "z9xiuo" }]
965
+ ], Ue = b("cpu", He);
966
+ const qe = [
967
+ ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
968
+ ["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
969
+ ["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
970
+ ], Ge = b("database", qe);
971
+ const Ve = [
972
+ ["path", { d: "M12 15V3", key: "m9g1x1" }],
973
+ ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
974
+ ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
975
+ ], Ze = b("download", Ve);
976
+ const Je = [
977
+ [
978
+ "path",
979
+ {
980
+ d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
981
+ key: "1oefj6"
982
+ }
983
+ ],
984
+ ["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }],
985
+ ["path", { d: "M10 12.5 8 15l2 2.5", key: "1tg20x" }],
986
+ ["path", { d: "m14 12.5 2 2.5-2 2.5", key: "yinavb" }]
987
+ ], Ke = b("file-code", Je);
988
+ const Qe = [
989
+ [
990
+ "path",
991
+ {
992
+ d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",
993
+ key: "1kt360"
994
+ }
995
+ ]
996
+ ], tn = b("folder", Qe);
997
+ const en = [
998
+ [
999
+ "path",
1000
+ {
1001
+ d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
1002
+ key: "sc7q7i"
1003
+ }
1004
+ ]
1005
+ ], nn = b("funnel", en);
1006
+ const on = [
1007
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1008
+ ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
1009
+ ["path", { d: "M2 12h20", key: "9i4pu4" }]
1010
+ ], rn = b("globe", on);
1011
+ const sn = [
1012
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
1013
+ ["path", { d: "M3 9h18", key: "1pudct" }],
1014
+ ["path", { d: "M3 15h18", key: "5xshup" }],
1015
+ ["path", { d: "M9 3v18", key: "fh3hqa" }],
1016
+ ["path", { d: "M15 3v18", key: "14nvp0" }]
1017
+ ], an = b("grid-3x3", sn);
1018
+ const cn = [
1019
+ ["line", { x1: "22", x2: "2", y1: "12", y2: "12", key: "1y58io" }],
1020
+ [
1021
+ "path",
1022
+ {
1023
+ d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",
1024
+ key: "oot6mr"
1025
+ }
1026
+ ],
1027
+ ["line", { x1: "6", x2: "6.01", y1: "16", y2: "16", key: "sgf278" }],
1028
+ ["line", { x1: "10", x2: "10.01", y1: "16", y2: "16", key: "1l4acy" }]
1029
+ ], ln = b("hard-drive", cn);
1030
+ const dn = [
1031
+ [
1032
+ "path",
1033
+ {
1034
+ d: "M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",
1035
+ key: "1xhozi"
1036
+ }
1037
+ ]
1038
+ ], hn = b("headphones", dn);
1039
+ const fn = [
1040
+ ["path", { d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4", key: "g0fldk" }],
1041
+ ["path", { d: "m21 2-9.6 9.6", key: "1j0ho8" }],
1042
+ ["circle", { cx: "7.5", cy: "15.5", r: "5.5", key: "yqb3hr" }]
1043
+ ], pn = b("key", fn);
1044
+ const un = [
1045
+ [
1046
+ "path",
1047
+ {
1048
+ d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",
1049
+ key: "zw3jo"
1050
+ }
1051
+ ],
1052
+ [
1053
+ "path",
1054
+ {
1055
+ d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",
1056
+ key: "1wduqc"
1057
+ }
1058
+ ],
1059
+ [
1060
+ "path",
1061
+ {
1062
+ d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",
1063
+ key: "kqbvx6"
1064
+ }
1065
+ ]
1066
+ ], yn = b("layers", un);
1067
+ const xn = [
1068
+ ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
1069
+ ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
1070
+ ], kn = b("lock", xn);
1071
+ const mn = [
1072
+ ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
1073
+ ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
1074
+ ], $n = b("mail", mn);
1075
+ const gn = [
1076
+ [
1077
+ "path",
1078
+ {
1079
+ d: "M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",
1080
+ key: "18887p"
1081
+ }
1082
+ ]
1083
+ ], bn = b("message-square", gn);
1084
+ const vn = [
1085
+ ["path", { d: "M12 19v3", key: "npa21l" }],
1086
+ ["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2", key: "1vc78b" }],
1087
+ ["rect", { x: "9", y: "2", width: "6", height: "13", rx: "3", key: "s6n7sd" }]
1088
+ ], _n = b("mic", vn);
1089
+ const jn = [
1090
+ ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
1091
+ ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
1092
+ ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
1093
+ ], Mn = b("monitor", jn);
1094
+ const wn = [
1095
+ [
1096
+ "path",
1097
+ {
1098
+ d: "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",
1099
+ key: "1a0edw"
1100
+ }
1101
+ ],
1102
+ ["path", { d: "M12 22V12", key: "d0xqtd" }],
1103
+ ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }],
1104
+ ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }]
1105
+ ], Sn = b("package", wn);
1106
+ const Cn = [
1107
+ ["rect", { x: "14", y: "3", width: "5", height: "18", rx: "1", key: "kaeet6" }],
1108
+ ["rect", { x: "5", y: "3", width: "5", height: "18", rx: "1", key: "1wsw3u" }]
1109
+ ], Tn = b("pause", Cn);
1110
+ const En = [
1111
+ [
1112
+ "path",
1113
+ {
1114
+ d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",
1115
+ key: "10ikf1"
1116
+ }
1117
+ ]
1118
+ ], An = b("play", En);
1119
+ const On = [
1120
+ ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
1121
+ ["path", { d: "M21 3v5h-5", key: "1q7to0" }],
1122
+ ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
1123
+ ["path", { d: "M8 16H3v5", key: "1cv678" }]
1124
+ ], Nn = b("refresh-cw", On);
1125
+ const Rn = [
1126
+ ["path", { d: "m17 2 4 4-4 4", key: "nntrym" }],
1127
+ ["path", { d: "M3 11v-1a4 4 0 0 1 4-4h14", key: "84bu3i" }],
1128
+ ["path", { d: "m7 22-4-4 4-4", key: "1wqhfi" }],
1129
+ ["path", { d: "M21 13v1a4 4 0 0 1-4 4H3", key: "1rx37r" }]
1130
+ ], Pn = b("repeat", Rn);
1131
+ const Ln = [
1132
+ ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
1133
+ ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
1134
+ ], zn = b("search", Ln);
1135
+ const Yn = [
1136
+ ["rect", { width: "20", height: "8", x: "2", y: "2", rx: "2", ry: "2", key: "ngkwjq" }],
1137
+ ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", ry: "2", key: "iecqi9" }],
1138
+ ["line", { x1: "6", x2: "6.01", y1: "6", y2: "6", key: "16zg32" }],
1139
+ ["line", { x1: "6", x2: "6.01", y1: "18", y2: "18", key: "nzw8ys" }]
1140
+ ], Wn = b("server", Yn);
1141
+ const In = [
1142
+ [
1143
+ "path",
1144
+ {
1145
+ d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
1146
+ key: "1i5ecw"
1147
+ }
1148
+ ],
1149
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
1150
+ ], Fn = b("settings", In);
1151
+ const Dn = [
1152
+ [
1153
+ "path",
1154
+ {
1155
+ d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
1156
+ key: "oel41y"
1157
+ }
1158
+ ]
1159
+ ], Bn = b("shield", Dn);
1160
+ const Xn = [
1161
+ ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }],
1162
+ ["path", { d: "M12 18h.01", key: "mhygvu" }]
1163
+ ], Hn = b("smartphone", Xn);
1164
+ const Un = [
1165
+ ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }],
1166
+ ["path", { d: "M12 6h.01", key: "1vi96p" }],
1167
+ ["circle", { cx: "12", cy: "14", r: "4", key: "1jruaj" }],
1168
+ ["path", { d: "M12 14h.01", key: "1etili" }]
1169
+ ], qn = b("speaker", Un);
1170
+ const Gn = [
1171
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }]
1172
+ ], Vn = b("square", Gn);
1173
+ const Zn = [
1174
+ ["path", { d: "M12 19h8", key: "baeox8" }],
1175
+ ["path", { d: "m4 17 6-6-6-6", key: "1yngyt" }]
1176
+ ], Jn = b("terminal", Zn);
1177
+ const Kn = [
1178
+ ["path", { d: "M12 3v12", key: "1x0j5s" }],
1179
+ ["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
1180
+ ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
1181
+ ], Qn = b("upload", Kn);
1182
+ const to = [
1183
+ ["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2", key: "975kel" }],
1184
+ ["circle", { cx: "12", cy: "7", r: "4", key: "17ys0d" }]
1185
+ ], eo = b("user", to);
1186
+ const no = [
1187
+ ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }],
1188
+ ["path", { d: "M16 3.128a4 4 0 0 1 0 7.744", key: "16gr8j" }],
1189
+ ["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }],
1190
+ ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }]
1191
+ ], oo = b("users", no);
1192
+ const ro = [
1193
+ ["path", { d: "M12 10v2.2l1.6 1", key: "n3r21l" }],
1194
+ [
1195
+ "path",
1196
+ { d: "m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05", key: "18k57s" }
1197
+ ],
1198
+ ["path", { d: "m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05", key: "16ny36" }],
1199
+ ["circle", { cx: "12", cy: "12", r: "6", key: "1vlfrh" }]
1200
+ ], so = b("watch", ro);
1201
+ const ao = [
1202
+ ["path", { d: "M12 20h.01", key: "zekei9" }],
1203
+ ["path", { d: "M2 8.82a15 15 0 0 1 20 0", key: "dnpr2z" }],
1204
+ ["path", { d: "M5 12.859a10 10 0 0 1 14 0", key: "1x1e6c" }],
1205
+ ["path", { d: "M8.5 16.429a5 5 0 0 1 7 0", key: "1bycff" }]
1206
+ ], io = b("wifi", ao);
1207
+ const co = [
1208
+ [
1209
+ "path",
1210
+ {
1211
+ d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
1212
+ key: "1xq2db"
1213
+ }
1214
+ ]
1215
+ ], lo = b("zap", co), ho = {
1216
+ Monitor: Mn,
1217
+ Server: Wn,
1218
+ Smartphone: Hn,
1219
+ Watch: so,
1220
+ Cloud: De,
1221
+ Cpu: Ue,
1222
+ Database: Ge,
1223
+ HardDrive: ln,
1224
+ Wifi: io,
1225
+ Globe: rn,
1226
+ User: eo,
1227
+ Users: oo,
1228
+ Lock: kn,
1229
+ Key: pn,
1230
+ Shield: Bn,
1231
+ Mic: _n,
1232
+ Camera: Re,
1233
+ Speaker: qn,
1234
+ Headphones: hn,
1235
+ Code: Xe,
1236
+ Terminal: Jn,
1237
+ FileCode: Ke,
1238
+ Folder: tn,
1239
+ Zap: lo,
1240
+ Activity: Me,
1241
+ BarChart: Le,
1242
+ PieChart: Ye,
1243
+ ArrowRight: Te,
1244
+ ArrowDown: Se,
1245
+ RefreshCw: Nn,
1246
+ Repeat: Pn,
1247
+ Box: Bt,
1248
+ Package: Sn,
1249
+ Layers: yn,
1250
+ Grid: an,
1251
+ Settings: Fn,
1252
+ Bell: Ae,
1253
+ Mail: $n,
1254
+ MessageSquare: bn,
1255
+ Search: zn,
1256
+ Filter: nn,
1257
+ Download: Ze,
1258
+ Upload: Qn,
1259
+ Play: An,
1260
+ Pause: Tn,
1261
+ Square: Vn,
1262
+ Circle: Ie
1263
+ };
1264
+ function fo(t) {
1265
+ return ho[t] || Bt;
1266
+ }
1267
+ function po({
796
1268
  uid: t,
797
- style: r,
798
- box: a,
799
- color: i,
800
- tag: s,
801
- selected: f = !1,
802
- opacity: x,
803
- onClick: b,
804
- onPointerDown: k
1269
+ style: n,
1270
+ box: s,
1271
+ color: a,
1272
+ tag: i,
1273
+ selected: l = !1,
1274
+ opacity: y,
1275
+ onClick: m,
1276
+ onPointerDown: u
805
1277
  }) {
806
- const u = Mt(i), l = f ? r.ink.accent : r.ink.line, O = f ? r.ink.accent : r.ink.text, d = [
807
- { face: "left", path: a.left },
808
- { face: "right", path: a.right },
809
- { face: "top", path: a.top }
1278
+ const x = Yt(a), c = l ? n.ink.accent : n.ink.line, O = l ? n.ink.accent : n.ink.text, f = [
1279
+ { face: "left", path: s.left },
1280
+ { face: "right", path: s.right },
1281
+ { face: "top", path: s.top }
810
1282
  ];
811
- return /* @__PURE__ */ e.jsxs(
1283
+ return /* @__PURE__ */ o.jsxs(
812
1284
  "g",
813
1285
  {
814
- className: b || k ? "cursor-pointer" : void 0,
815
- opacity: x,
816
- onClick: b,
817
- onPointerDown: k,
1286
+ className: m || u ? "cursor-pointer" : void 0,
1287
+ opacity: y,
1288
+ onClick: m,
1289
+ onPointerDown: u,
818
1290
  children: [
819
- d.map(({ face: c, path: S }) => /* @__PURE__ */ e.jsxs("g", { children: [
820
- /* @__PURE__ */ e.jsx("path", { d: S, fill: r.face[c] }),
821
- Pt(t, u, c).map((m) => /* @__PURE__ */ e.jsx("path", { d: S, fill: `url(#${m})`, opacity: r.hatchOpacity[c] }, m))
822
- ] }, c)),
823
- /* @__PURE__ */ e.jsx(
1291
+ f.map(({ face: E, path: d }) => /* @__PURE__ */ o.jsxs("g", { children: [
1292
+ /* @__PURE__ */ o.jsx("path", { d, fill: n.face[E] }),
1293
+ Wt(t, x, E).map((h) => /* @__PURE__ */ o.jsx("path", { d, fill: `url(#${h})`, opacity: n.hatchOpacity[E] }, h))
1294
+ ] }, E)),
1295
+ /* @__PURE__ */ o.jsx(
824
1296
  "path",
825
1297
  {
826
- d: a.hidden,
1298
+ d: s.hidden,
827
1299
  fill: "none",
828
- stroke: r.ink.hidden,
829
- strokeWidth: r.strokeWidth * 0.55,
1300
+ stroke: n.ink.hidden,
1301
+ strokeWidth: n.strokeWidth * 0.55,
830
1302
  strokeDasharray: "3.5 3",
831
1303
  opacity: 0.85
832
1304
  }
833
1305
  ),
834
- /* @__PURE__ */ e.jsx(
1306
+ /* @__PURE__ */ o.jsx(
835
1307
  "path",
836
1308
  {
837
- d: a.visible,
1309
+ d: s.visible,
838
1310
  fill: "none",
839
- stroke: l,
840
- strokeWidth: f ? r.strokeWidth * 1.7 : r.strokeWidth,
1311
+ stroke: c,
1312
+ strokeWidth: l ? n.strokeWidth * 1.7 : n.strokeWidth,
841
1313
  strokeLinejoin: "round",
842
1314
  strokeLinecap: "round"
843
1315
  }
844
1316
  ),
845
- s != null && /* @__PURE__ */ e.jsx(
1317
+ i != null && /* @__PURE__ */ o.jsx(
846
1318
  "text",
847
1319
  {
848
- x: a.topCenter.x,
849
- y: a.topCenter.y + o(3),
1320
+ x: s.topCenter.x,
1321
+ y: s.topCenter.y + r(3),
850
1322
  textAnchor: "middle",
851
1323
  fill: O,
852
- fontSize: o(8),
1324
+ fontSize: r(8),
853
1325
  fontWeight: 600,
854
- fontFamily: r.font,
1326
+ fontFamily: n.font,
855
1327
  style: { letterSpacing: "0.1em" },
856
1328
  pointerEvents: "none",
857
- children: mt(s)
1329
+ children: kt(i)
858
1330
  }
859
1331
  )
860
1332
  ]
861
1333
  }
862
1334
  );
863
1335
  }
864
- function fe({
1336
+ function uo({
865
1337
  style: t,
866
- box: r,
867
- name: a,
868
- subtitle: i,
869
- selected: s = !1,
870
- opacity: f
1338
+ box: n,
1339
+ name: s,
1340
+ subtitle: a,
1341
+ icon: i,
1342
+ selected: l = !1,
1343
+ opacity: y
871
1344
  }) {
872
- const x = s ? t.ink.accent : t.ink.line, b = s ? t.ink.accent : t.ink.text, k = (a || "").toUpperCase(), u = (i || "").toUpperCase(), l = r.minY - o(11), O = l - o(4), d = u ? l - o(15) : l - o(4), c = Math.max(k.length * o(5.6), u.length * o(4.4), o(24));
873
- return /* @__PURE__ */ e.jsxs("g", { pointerEvents: "none", opacity: f, children: [
874
- /* @__PURE__ */ e.jsx(
1345
+ const m = l ? t.ink.accent : t.ink.line, u = l ? t.ink.accent : t.ink.text, x = i ? fo(i) : null, c = (s || "").toUpperCase(), O = (a || "").toUpperCase(), f = n.minY - r(11), E = f - r(4), d = O ? f - r(15) : f - r(4), h = r(9), j = r(3), g = x ? h + j : 0, C = Math.max(c.length * r(5.6) + g, O.length * r(4.4), r(24)), W = n.topCenter.x + g / 2, _ = W - c.length * r(5.6) / 2 - j - h, $ = d - h + r(1);
1346
+ return /* @__PURE__ */ o.jsxs("g", { pointerEvents: "none", opacity: y, children: [
1347
+ /* @__PURE__ */ o.jsx(
875
1348
  "line",
876
1349
  {
877
- x1: r.topCenter.x,
878
- y1: r.topCenter.y - o(6),
879
- x2: r.topCenter.x,
880
- y2: l,
881
- stroke: x,
1350
+ x1: n.topCenter.x,
1351
+ y1: n.topCenter.y - r(6),
1352
+ x2: n.topCenter.x,
1353
+ y2: f,
1354
+ stroke: m,
882
1355
  strokeWidth: t.strokeWidth * 0.6
883
1356
  }
884
1357
  ),
885
- /* @__PURE__ */ e.jsx(
1358
+ /* @__PURE__ */ o.jsx(
886
1359
  "line",
887
1360
  {
888
- x1: r.topCenter.x - c / 2,
889
- y1: l,
890
- x2: r.topCenter.x + c / 2,
891
- y2: l,
892
- stroke: x,
1361
+ x1: n.topCenter.x - C / 2,
1362
+ y1: f,
1363
+ x2: n.topCenter.x + C / 2,
1364
+ y2: f,
1365
+ stroke: m,
893
1366
  strokeWidth: t.strokeWidth * 0.6
894
1367
  }
895
1368
  ),
896
- /* @__PURE__ */ e.jsx(
1369
+ x && /* @__PURE__ */ o.jsx("g", { transform: `translate(${_}, ${$})`, color: u, children: /* @__PURE__ */ o.jsx(x, { width: h, height: h, strokeWidth: 1.75 }) }),
1370
+ /* @__PURE__ */ o.jsx(
897
1371
  "text",
898
1372
  {
899
- x: r.topCenter.x,
1373
+ x: W,
900
1374
  y: d,
901
1375
  textAnchor: "middle",
902
- fill: b,
903
- fontSize: o(9.5),
1376
+ fill: u,
1377
+ fontSize: r(9.5),
904
1378
  fontWeight: 600,
905
1379
  fontFamily: t.font,
906
1380
  stroke: t.paper.from,
907
- strokeWidth: o(3),
1381
+ strokeWidth: r(3),
908
1382
  paintOrder: "stroke",
909
1383
  strokeLinejoin: "round",
910
1384
  style: { letterSpacing: "0.12em" },
911
- children: k
1385
+ children: c
912
1386
  }
913
1387
  ),
914
- u && /* @__PURE__ */ e.jsx(
1388
+ O && /* @__PURE__ */ o.jsx(
915
1389
  "text",
916
1390
  {
917
- x: r.topCenter.x,
918
- y: O,
1391
+ x: n.topCenter.x,
1392
+ y: E,
919
1393
  textAnchor: "middle",
920
1394
  fill: t.ink.muted,
921
- fontSize: o(7.5),
1395
+ fontSize: r(7.5),
922
1396
  fontFamily: t.font,
923
1397
  stroke: t.paper.from,
924
- strokeWidth: o(2.5),
1398
+ strokeWidth: r(2.5),
925
1399
  paintOrder: "stroke",
926
1400
  strokeLinejoin: "round",
927
1401
  style: { letterSpacing: "0.1em" },
928
- children: u
1402
+ children: O
929
1403
  }
930
1404
  )
931
1405
  ] });
932
1406
  }
933
- const Yt = '"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace', de = {
1407
+ const Xt = '"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace', yo = {
934
1408
  blue: { top: "#3b82f6", side: "#2563eb", front: "#1d4ed8" },
935
1409
  violet: { top: "#8b5cf6", side: "#7c3aed", front: "#6d28d9" },
936
1410
  cyan: { top: "#06b6d4", side: "#0891b2", front: "#0e7490" },
@@ -938,7 +1412,7 @@ const Yt = '"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace', de =
938
1412
  amber: { top: "#f59e0b", side: "#d97706", front: "#b45309" },
939
1413
  rose: { top: "#f43f5e", side: "#e11d48", front: "#be123c" },
940
1414
  slate: { top: "#475569", side: "#334155", front: "#1e293b" }
941
- }, he = {
1415
+ }, xo = {
942
1416
  blue: { top: "#93c5fd", side: "#60a5fa", front: "#3b82f6" },
943
1417
  violet: { top: "#c4b5fd", side: "#a78bfa", front: "#8b5cf6" },
944
1418
  cyan: { top: "#67e8f9", side: "#22d3ee", front: "#06b6d4" },
@@ -947,183 +1421,184 @@ const Yt = '"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace', de =
947
1421
  rose: { top: "#fda4af", side: "#fb7185", front: "#f43f5e" },
948
1422
  slate: { top: "#e2e8f0", side: "#cbd5e1", front: "#94a3b8" }
949
1423
  };
950
- function ut(t, r, a) {
951
- const i = (u) => {
952
- const l = u.replace("#", "");
1424
+ function yt(t, n, s) {
1425
+ const a = (x) => {
1426
+ const c = x.replace("#", "");
953
1427
  return {
954
- r: parseInt(l.substring(0, 2), 16),
955
- g: parseInt(l.substring(2, 4), 16),
956
- b: parseInt(l.substring(4, 6), 16)
1428
+ r: parseInt(c.substring(0, 2), 16),
1429
+ g: parseInt(c.substring(2, 4), 16),
1430
+ b: parseInt(c.substring(4, 6), 16)
957
1431
  };
958
- }, s = i(t), f = i(r), x = Math.round(s.r + (f.r - s.r) * a), b = Math.round(s.g + (f.g - s.g) * a), k = Math.round(s.b + (f.b - s.b) * a);
959
- return `rgb(${x},${b},${k})`;
1432
+ }, i = a(t), l = a(n), y = Math.round(i.r + (l.r - i.r) * s), m = Math.round(i.g + (l.g - i.g) * s), u = Math.round(i.b + (l.b - i.b) * s);
1433
+ return `rgb(${y},${m},${u})`;
960
1434
  }
961
- function pe({ x: t, y: r, z: a, children: i, fontSize: s = 8, color: f = "#1e293b", shadow: x }) {
962
- const b = y(t, r, a);
963
- return /* @__PURE__ */ e.jsx("g", { transform: `translate(${b.screenX}, ${b.screenY})`, filter: x, children: /* @__PURE__ */ e.jsx("g", { transform: "matrix(0.866, -0.5, 0.866, 0.5, 0, 0)", children: /* @__PURE__ */ e.jsx(
1435
+ function ko({ x: t, y: n, z: s, children: a, fontSize: i = 8, color: l = "#1e293b", shadow: y }) {
1436
+ const m = k(t, n, s);
1437
+ return /* @__PURE__ */ o.jsx("g", { transform: `translate(${m.screenX}, ${m.screenY})`, filter: y, children: /* @__PURE__ */ o.jsx("g", { transform: `matrix(${Kt()})`, children: /* @__PURE__ */ o.jsx(
964
1438
  "text",
965
1439
  {
966
1440
  x: 0,
967
1441
  y: 0,
968
1442
  textAnchor: "middle",
969
- fill: f,
970
- fontSize: s,
1443
+ fill: l,
1444
+ fontSize: i,
971
1445
  fontWeight: 600,
972
- fontFamily: Yt,
1446
+ fontFamily: Xt,
973
1447
  style: { textTransform: "uppercase", letterSpacing: "0.06em" },
974
- children: i
1448
+ children: a
975
1449
  }
976
1450
  ) }) });
977
1451
  }
978
- function ue({ width: t, depth: r, elevation: a, color: i, opacity: s, borderColor: f, theme: x, isGround: b }) {
979
- const u = rt(t, r, b ? 8 : 2, 0, 0), l = y(0, 0, a);
980
- return /* @__PURE__ */ e.jsxs("g", { transform: `translate(${l.screenX}, ${l.screenY})`, children: [
981
- b && /* @__PURE__ */ e.jsx("g", { transform: "translate(4, 4)", opacity: 0.2, children: /* @__PURE__ */ e.jsx("path", { d: u.top, fill: "#000" }) }),
982
- /* @__PURE__ */ e.jsx("path", { d: u.top, fill: i, opacity: s }),
983
- b && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
984
- /* @__PURE__ */ e.jsx("path", { d: u.left, fill: x === "dark" ? "#0f172a" : "#cbd5e1", opacity: 0.8 }),
985
- /* @__PURE__ */ e.jsx("path", { d: u.right, fill: x === "dark" ? "#1e293b" : "#94a3b8", opacity: 0.8 })
1452
+ function mo({ width: t, depth: n, elevation: s, color: a, opacity: i, borderColor: l, theme: y, isGround: m }) {
1453
+ const x = rt(t, n, m ? 8 : 2, 0, 0), c = k(0, 0, s);
1454
+ return /* @__PURE__ */ o.jsxs("g", { transform: `translate(${c.screenX}, ${c.screenY})`, children: [
1455
+ m && /* @__PURE__ */ o.jsx("g", { transform: "translate(4, 4)", opacity: 0.2, children: /* @__PURE__ */ o.jsx("path", { d: x.top, fill: "#000" }) }),
1456
+ /* @__PURE__ */ o.jsx("path", { d: x.top, fill: a, opacity: i }),
1457
+ m && /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
1458
+ /* @__PURE__ */ o.jsx("path", { d: x.left, fill: y === "dark" ? "#0f172a" : "#cbd5e1", opacity: 0.8 }),
1459
+ /* @__PURE__ */ o.jsx("path", { d: x.right, fill: y === "dark" ? "#1e293b" : "#94a3b8", opacity: 0.8 })
986
1460
  ] }),
987
- /* @__PURE__ */ e.jsx(
1461
+ /* @__PURE__ */ o.jsx(
988
1462
  "path",
989
1463
  {
990
- d: u.top,
1464
+ d: x.top,
991
1465
  fill: "none",
992
- stroke: f || (x === "dark" ? "#475569" : "#94a3b8"),
993
- strokeWidth: b ? 1.5 : 0.75,
994
- opacity: b ? 1 : 0.6
1466
+ stroke: l || (y === "dark" ? "#475569" : "#94a3b8"),
1467
+ strokeWidth: m ? 1.5 : 0.75,
1468
+ opacity: m ? 1 : 0.6
995
1469
  }
996
1470
  )
997
1471
  ] });
998
1472
  }
999
- function $e({ config: t, options: r = {}, className: a, style: i, onNodeClick: s, onLayerClick: f }) {
1000
- const { interactive: x = !0, animate: b = !0, showLabels: k = !0, expandOnHover: u = !0 } = r, { theme: l, canvas: O, origin: d, tiers: c, floorSize: S, nodes: m, cornerRadius: M = 0 } = t, g = Vt(t.style), C = g.technical, N = yt().replace(/:/g, ""), R = l === "dark" ? de : he, $ = C ? g.paper.to : l === "dark" ? "#0f172a" : "#fafafa", w = C ? g.ink.text : l === "dark" ? "#e2e8f0" : "#1e293b", A = C ? g.ink.muted : l === "dark" ? "#64748b" : "#94a3b8", E = It(() => {
1001
- const T = m.map((n, h) => ({ node: n, i: h })).sort((n, h) => n.node.tier - h.node.tier || n.node.y - h.node.y || n.node.x - h.node.x), p = /* @__PURE__ */ new Map();
1002
- return T.forEach(({ i: n }, h) => p.set(n, h + 1)), p;
1003
- }, [m]), F = { minX: 16, minY: 16, maxX: O.width - 16, maxY: O.height - 16 }, [Y, P] = dt(/* @__PURE__ */ new Set());
1004
- Ft(() => {
1005
- b ? (P(/* @__PURE__ */ new Set()), c.forEach((T, p) => {
1473
+ function Mo({ config: t, options: n = {}, className: s, style: a, onNodeClick: i, onLayerClick: l }) {
1474
+ const { interactive: y = !0, animate: m = !0, showLabels: u = !0, expandOnHover: x = !0 } = n, { theme: c, canvas: O, origin: f, tiers: E, floorSize: d, nodes: h, cornerRadius: j = 0 } = t, g = ie(t.style), C = g.technical, W = $t().replace(/:/g, ""), _ = !C && t.material === "retro-print", $ = _ ? Rt : c === "dark" ? yo : xo, A = C ? g.paper.to : _ ? c === "dark" ? "#202624" : "#f4efe6" : c === "dark" ? "#0f172a" : "#fafafa", P = C ? g.ink.text : _ ? "#202a29" : c === "dark" ? "#e2e8f0" : "#1e293b", I = C ? g.ink.muted : _ ? c === "dark" ? "#c5c4b7" : "#505b56" : c === "dark" ? "#64748b" : "#94a3b8", S = Gt(() => {
1475
+ const w = h.map((p, T) => ({ node: p, i: T })).sort((p, T) => p.node.tier - T.node.tier || p.node.y - T.node.y || p.node.x - T.node.x), e = /* @__PURE__ */ new Map();
1476
+ return w.forEach(({ i: p }, T) => e.set(p, T + 1)), e;
1477
+ }, [h]), L = { minX: 16, minY: 16, maxX: O.width - 16, maxY: O.height - 16 }, [q, N] = ft(/* @__PURE__ */ new Set());
1478
+ Vt(() => {
1479
+ m ? (N(/* @__PURE__ */ new Set()), E.forEach((w, e) => {
1006
1480
  setTimeout(() => {
1007
- P((n) => /* @__PURE__ */ new Set([...n, p]));
1008
- }, p * 150 + 100);
1009
- })) : P(new Set(c.map((T, p) => p)));
1010
- }, [t.id, b, c.length]);
1011
- const [L, J] = dt(null), [H, z] = dt(null), [v, D] = dt(null), G = [...m].sort((T, p) => {
1012
- const n = c[T.tier]?.elevation || 0, h = c[p.tier]?.elevation || 0;
1013
- if (n !== h) return n - h;
1014
- const _ = T.x + T.width + (T.y + T.depth);
1015
- return p.x + p.width + (p.y + p.depth) - _;
1481
+ N((p) => /* @__PURE__ */ new Set([...p, e]));
1482
+ }, e * 150 + 100);
1483
+ })) : N(new Set(E.map((w, e) => e)));
1484
+ }, [t.id, m, E.length]);
1485
+ const [Y, V] = ft(null), [H, F] = ft(null), [M, D] = ft(null), K = [...h].sort((w, e) => {
1486
+ const p = E[w.tier]?.elevation || 0, T = E[e.tier]?.elevation || 0;
1487
+ if (p !== T) return p - T;
1488
+ const R = w.x + w.width + (w.y + w.depth);
1489
+ return e.x + e.width + (e.y + e.depth) - R;
1016
1490
  });
1017
- return /* @__PURE__ */ e.jsx("div", { className: a, style: { display: "inline-block", ...i }, children: /* @__PURE__ */ e.jsxs(
1491
+ return /* @__PURE__ */ o.jsx("div", { className: s, style: { display: "inline-block", ...a }, children: /* @__PURE__ */ o.jsxs(
1018
1492
  "svg",
1019
1493
  {
1020
1494
  width: O.width,
1021
1495
  height: O.height,
1022
- style: { backgroundColor: $ },
1496
+ style: { backgroundColor: A },
1023
1497
  onClick: () => {
1024
- x && (D(null), z(null));
1498
+ y && (D(null), F(null));
1025
1499
  },
1026
1500
  children: [
1027
- /* @__PURE__ */ e.jsxs("defs", { children: [
1028
- /* @__PURE__ */ e.jsx("pattern", { id: `grid-${t.id}`, width: "24", height: "24", patternUnits: "userSpaceOnUse", children: /* @__PURE__ */ e.jsx("circle", { cx: "12", cy: "12", r: "0.5", fill: l === "dark" ? "#1e293b" : "#e2e8f0" }) }),
1029
- /* @__PURE__ */ e.jsx("filter", { id: `glow-${t.id}`, x: "-20%", y: "-20%", width: "140%", height: "140%", children: /* @__PURE__ */ e.jsx(
1501
+ /* @__PURE__ */ o.jsxs("defs", { children: [
1502
+ _ && /* @__PURE__ */ o.jsx("pattern", { id: `print-${t.id}`, width: "64", height: "64", patternUnits: "userSpaceOnUse", children: Pt.map((w, e) => /* @__PURE__ */ o.jsx("circle", { cx: w.x, cy: w.y, r: w.r, fill: "#26362e", opacity: 0.32 }, e)) }),
1503
+ /* @__PURE__ */ o.jsx("pattern", { id: `grid-${t.id}`, width: "24", height: "24", patternUnits: "userSpaceOnUse", children: /* @__PURE__ */ o.jsx("circle", { cx: "12", cy: "12", r: "0.5", fill: c === "dark" ? "#1e293b" : "#e2e8f0" }) }),
1504
+ /* @__PURE__ */ o.jsx("filter", { id: `glow-${t.id}`, x: "-20%", y: "-20%", width: "140%", height: "140%", children: /* @__PURE__ */ o.jsx(
1030
1505
  "feDropShadow",
1031
1506
  {
1032
1507
  dx: "0",
1033
1508
  dy: "4",
1034
1509
  stdDeviation: "8",
1035
- floodColor: l === "dark" ? "#60a5fa" : "#3b82f6",
1510
+ floodColor: c === "dark" ? "#60a5fa" : "#3b82f6",
1036
1511
  floodOpacity: "0.3"
1037
1512
  }
1038
1513
  ) }),
1039
- /* @__PURE__ */ e.jsxs("radialGradient", { id: `bg-${t.id}`, cx: "48%", cy: "34%", r: "82%", children: [
1040
- /* @__PURE__ */ e.jsx("stop", { offset: "0%", stopColor: l === "dark" ? "#16203a" : "#ffffff" }),
1041
- /* @__PURE__ */ e.jsx("stop", { offset: "55%", stopColor: l === "dark" ? "#0e1526" : "#f2f5f9" }),
1042
- /* @__PURE__ */ e.jsx("stop", { offset: "100%", stopColor: l === "dark" ? "#080d18" : "#e7ecf2" })
1514
+ /* @__PURE__ */ o.jsxs("radialGradient", { id: `bg-${t.id}`, cx: "48%", cy: "34%", r: "82%", children: [
1515
+ /* @__PURE__ */ o.jsx("stop", { offset: "0%", stopColor: c === "dark" ? "#16203a" : "#ffffff" }),
1516
+ /* @__PURE__ */ o.jsx("stop", { offset: "55%", stopColor: c === "dark" ? "#0e1526" : "#f2f5f9" }),
1517
+ /* @__PURE__ */ o.jsx("stop", { offset: "100%", stopColor: c === "dark" ? "#080d18" : "#e7ecf2" })
1043
1518
  ] }),
1044
- /* @__PURE__ */ e.jsx("filter", { id: `contact-${t.id}`, x: "-60%", y: "-60%", width: "220%", height: "220%", children: /* @__PURE__ */ e.jsx("feGaussianBlur", { stdDeviation: "5" }) }),
1045
- /* @__PURE__ */ e.jsxs("linearGradient", { id: `sheen-${t.id}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [
1046
- /* @__PURE__ */ e.jsx("stop", { offset: "0%", stopColor: "#ffffff", stopOpacity: "0.18" }),
1047
- /* @__PURE__ */ e.jsx("stop", { offset: "55%", stopColor: "#ffffff", stopOpacity: "0.04" }),
1048
- /* @__PURE__ */ e.jsx("stop", { offset: "100%", stopColor: "#ffffff", stopOpacity: "0" })
1519
+ /* @__PURE__ */ o.jsx("filter", { id: `contact-${t.id}`, x: "-60%", y: "-60%", width: "220%", height: "220%", children: /* @__PURE__ */ o.jsx("feGaussianBlur", { stdDeviation: "5" }) }),
1520
+ /* @__PURE__ */ o.jsxs("linearGradient", { id: `sheen-${t.id}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [
1521
+ /* @__PURE__ */ o.jsx("stop", { offset: "0%", stopColor: "#ffffff", stopOpacity: "0.18" }),
1522
+ /* @__PURE__ */ o.jsx("stop", { offset: "55%", stopColor: "#ffffff", stopOpacity: "0.04" }),
1523
+ /* @__PURE__ */ o.jsx("stop", { offset: "100%", stopColor: "#ffffff", stopOpacity: "0" })
1049
1524
  ] }),
1050
- /* @__PURE__ */ e.jsxs("linearGradient", { id: `shade-${t.id}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [
1051
- /* @__PURE__ */ e.jsx("stop", { offset: "0%", stopColor: "#000000", stopOpacity: "0" }),
1052
- /* @__PURE__ */ e.jsx("stop", { offset: "100%", stopColor: "#000000", stopOpacity: "0.24" })
1525
+ /* @__PURE__ */ o.jsxs("linearGradient", { id: `shade-${t.id}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [
1526
+ /* @__PURE__ */ o.jsx("stop", { offset: "0%", stopColor: "#000000", stopOpacity: "0" }),
1527
+ /* @__PURE__ */ o.jsx("stop", { offset: "100%", stopColor: "#000000", stopOpacity: "0.24" })
1053
1528
  ] }),
1054
- /* @__PURE__ */ e.jsx("filter", { id: `label-${t.id}`, x: "-40%", y: "-40%", width: "180%", height: "180%", children: /* @__PURE__ */ e.jsx("feDropShadow", { dx: "0", dy: "0.5", stdDeviation: "0.7", floodColor: "#000000", floodOpacity: "0.7" }) })
1529
+ /* @__PURE__ */ o.jsx("filter", { id: `label-${t.id}`, x: "-40%", y: "-40%", width: "180%", height: "180%", children: /* @__PURE__ */ o.jsx("feDropShadow", { dx: "0", dy: "0.5", stdDeviation: "0.7", floodColor: "#000000", floodOpacity: "0.7" }) })
1055
1530
  ] }),
1056
- C ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1057
- /* @__PURE__ */ e.jsx(bt, { uid: N, style: g }),
1058
- /* @__PURE__ */ e.jsx(
1059
- ae,
1531
+ C ? /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
1532
+ /* @__PURE__ */ o.jsx(bt, { uid: W, style: g }),
1533
+ /* @__PURE__ */ o.jsx(
1534
+ xe,
1060
1535
  {
1061
1536
  style: g,
1062
1537
  rect: { x: 0, y: 0, width: O.width, height: O.height },
1063
1538
  className: ""
1064
1539
  }
1065
1540
  )
1066
- ] }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1067
- /* @__PURE__ */ e.jsx("rect", { width: "100%", height: "100%", fill: `url(#bg-${t.id})` }),
1068
- /* @__PURE__ */ e.jsx("rect", { width: "100%", height: "100%", fill: `url(#grid-${t.id})`, opacity: "0.5" })
1541
+ ] }) : /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
1542
+ /* @__PURE__ */ o.jsx("rect", { width: "100%", height: "100%", fill: _ ? A : `url(#bg-${t.id})` }),
1543
+ /* @__PURE__ */ o.jsx("rect", { width: "100%", height: "100%", fill: `url(#grid-${t.id})`, opacity: "0.5" })
1069
1544
  ] }),
1070
- /* @__PURE__ */ e.jsx("g", { transform: `translate(${d.x}, ${d.y})`, children: c.map((T, p) => {
1071
- const n = G.filter((j) => j.tier === p), h = Y.has(p), _ = x && (H === p || H === null && v === null && L === p), I = x && (H !== null || L !== null || v !== null), Q = v?.tier === p, tt = I && !_ && !Q, W = h ? 0 : 60, q = h ? 1 : 0, K = _ && u ? { x: 10, y: -34 } : { x: 0, y: 0 }, st = _ ? 1.03 : 1, ft = y(S.width / 2, S.depth / 2, T.elevation), gt = T.offset || { x: 0, y: 0 };
1072
- return /* @__PURE__ */ e.jsxs(
1545
+ /* @__PURE__ */ o.jsx("g", { transform: `translate(${f.x}, ${f.y})`, children: E.map((w, e) => {
1546
+ const p = K.filter((v) => v.tier === e), T = q.has(e), R = y && (H === e || H === null && M === null && Y === e), Q = y && (H !== null || Y !== null || M !== null), tt = M?.tier === e, z = Q && !R && !tt, Z = T ? 0 : 60, et = T ? 1 : 0, st = R && x ? { x: 10, y: -34 } : { x: 0, y: 0 }, Ht = R ? 1.03 : 1, ht = k(d.width / 2, d.depth / 2, w.elevation), vt = w.offset || { x: 0, y: 0 };
1547
+ return /* @__PURE__ */ o.jsxs(
1073
1548
  "g",
1074
1549
  {
1075
- "data-tier": p,
1076
- onMouseEnter: () => x && J(p),
1077
- onMouseLeave: () => x && J(null),
1078
- onClick: (j) => {
1079
- x && (j.stopPropagation(), D(null), z((B) => B === p ? null : p), f?.(p));
1550
+ "data-tier": e,
1551
+ onMouseEnter: () => y && V(e),
1552
+ onMouseLeave: () => y && V(null),
1553
+ onClick: (v) => {
1554
+ y && (v.stopPropagation(), D(null), F((B) => B === e ? null : e), l?.(e));
1080
1555
  },
1081
1556
  style: {
1082
- transform: `translate(${gt.x + K.x}px, ${gt.y + K.y}px) translate(${ft.screenX}px, ${ft.screenY + W}px) scale(${st}) translate(${-ft.screenX}px, ${-ft.screenY}px)`,
1557
+ transform: `translate(${vt.x + st.x}px, ${vt.y + st.y}px) translate(${ht.screenX}px, ${ht.screenY + Z}px) scale(${Ht}) translate(${-ht.screenX}px, ${-ht.screenY}px)`,
1083
1558
  transition: "transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease-out",
1084
- opacity: q * (tt ? 0.35 : 1),
1085
- filter: _ ? `url(#glow-${t.id})` : "none",
1086
- cursor: x ? "pointer" : "default"
1559
+ opacity: et * (z ? 0.35 : 1),
1560
+ filter: R ? `url(#glow-${t.id})` : "none",
1561
+ cursor: y ? "pointer" : "default"
1087
1562
  },
1088
1563
  children: [
1089
- C ? /* @__PURE__ */ e.jsx(
1090
- xe,
1564
+ C ? /* @__PURE__ */ o.jsx(
1565
+ $o,
1091
1566
  {
1092
- width: S.width,
1093
- depth: S.depth,
1094
- elevation: p === 0 ? -2 : T.elevation,
1095
- ink: p === 0 ? g.ink.line : g.ink.hidden,
1096
- isGround: p === 0
1567
+ width: d.width,
1568
+ depth: d.depth,
1569
+ elevation: e === 0 ? -2 : w.elevation,
1570
+ ink: e === 0 ? g.ink.line : g.ink.hidden,
1571
+ isGround: e === 0
1097
1572
  }
1098
- ) : /* @__PURE__ */ e.jsx(
1099
- ue,
1573
+ ) : /* @__PURE__ */ o.jsx(
1574
+ mo,
1100
1575
  {
1101
- width: S.width,
1102
- depth: S.depth,
1103
- elevation: p === 0 ? -2 : T.elevation,
1104
- color: T.floorColor || (l === "dark" ? "#0f172a" : "#f8fafc"),
1105
- opacity: T.floorOpacity || (p === 0 ? 0.95 : 0.5),
1106
- borderColor: T.borderColor,
1107
- theme: l,
1108
- isGround: p === 0
1576
+ width: d.width,
1577
+ depth: d.depth,
1578
+ elevation: e === 0 ? -2 : w.elevation,
1579
+ color: w.floorColor || (c === "dark" ? "#0f172a" : "#f8fafc"),
1580
+ opacity: w.floorOpacity || (e === 0 ? 0.95 : 0.5),
1581
+ borderColor: w.borderColor,
1582
+ theme: c,
1583
+ isGround: e === 0
1109
1584
  }
1110
1585
  ),
1111
- C && n.map((j, B) => {
1112
- const ot = T.elevation + 5, et = y(j.x, j.y, ot), U = Tt(j.width, j.depth, j.height, et.screenX, et.screenY), X = v?.tier === p && v?.index === B, nt = x && v !== null && !X;
1113
- return /* @__PURE__ */ e.jsx(
1114
- le,
1586
+ C && p.map((v, B) => {
1587
+ const at = w.elevation + 5, nt = k(v.x, v.y, at), U = Ct(v.width, v.depth, v.height, nt.screenX, nt.screenY), X = M?.tier === e && M?.index === B, ot = y && M !== null && !X;
1588
+ return /* @__PURE__ */ o.jsx(
1589
+ po,
1115
1590
  {
1116
- uid: N,
1591
+ uid: W,
1117
1592
  style: g,
1118
1593
  box: U,
1119
- color: j.color,
1120
- tag: E.get(m.indexOf(j)),
1594
+ color: v.color,
1595
+ tag: S.get(h.indexOf(v)),
1121
1596
  selected: X,
1122
- opacity: (j.opacity ?? 1) * (nt ? 0.3 : 1),
1123
- onClick: x ? () => {
1124
- if (z(null), D((at) => at && at.tier === p && at.index === B ? null : { tier: p, index: B }), s?.(j, { tier: p, index: B }), j.link)
1597
+ opacity: (v.opacity ?? 1) * (ot ? 0.3 : 1),
1598
+ onClick: y ? () => {
1599
+ if (F(null), D((it) => it && it.tier === e && it.index === B ? null : { tier: e, index: B }), i?.(v, { tier: e, index: B }), v.link)
1125
1600
  try {
1126
- window.open(j.link, "_blank");
1601
+ window.open(v.link, "_blank");
1127
1602
  } catch {
1128
1603
  }
1129
1604
  } : void 0
@@ -1131,95 +1606,95 @@ function $e({ config: t, options: r = {}, className: a, style: i, onNodeClick: s
1131
1606
  `tech-${B}`
1132
1607
  );
1133
1608
  }),
1134
- C && k && n.map((j, B) => {
1135
- const ot = T.elevation + 5, et = y(j.x, j.y, ot), U = Tt(j.width, j.depth, j.height, et.screenX, et.screenY), X = v?.tier === p && v?.index === B, nt = x && v !== null && !X;
1136
- return /* @__PURE__ */ e.jsx(
1137
- fe,
1609
+ C && u && p.map((v, B) => {
1610
+ const at = w.elevation + 5, nt = k(v.x, v.y, at), U = Ct(v.width, v.depth, v.height, nt.screenX, nt.screenY), X = M?.tier === e && M?.index === B, ot = y && M !== null && !X;
1611
+ return /* @__PURE__ */ o.jsx(
1612
+ uo,
1138
1613
  {
1139
1614
  style: g,
1140
1615
  box: U,
1141
- name: j.label,
1616
+ name: v.label,
1142
1617
  selected: X,
1143
- opacity: nt ? 0.3 : 1
1618
+ opacity: ot ? 0.3 : 1
1144
1619
  },
1145
1620
  `tech-label-${B}`
1146
1621
  );
1147
1622
  }),
1148
- !C && n.map((j, B) => {
1149
- const ot = T.elevation + 5, et = y(j.x, j.y, ot), U = rt(j.width, j.depth, j.height, et.screenX, et.screenY, M), X = R[j.color] || R.slate, nt = v?.tier === p && v?.index === B, at = x && v !== null && !nt, $t = y(j.x - 3, j.y - 3, T.elevation), Wt = rt(j.width + 6, j.depth + 6, 0, $t.screenX, $t.screenY, M).top;
1150
- return /* @__PURE__ */ e.jsxs(
1623
+ !C && p.map((v, B) => {
1624
+ const at = w.elevation + 5, nt = k(v.x, v.y, at), U = rt(v.width, v.depth, v.height, nt.screenX, nt.screenY, j), X = $[v.color] || $.slate, ot = M?.tier === e && M?.index === B, it = y && M !== null && !ot, _t = k(v.x - 3, v.y - 3, w.elevation), Ut = rt(v.width + 6, v.depth + 6, 0, _t.screenX, _t.screenY, j).top;
1625
+ return /* @__PURE__ */ o.jsxs(
1151
1626
  "g",
1152
1627
  {
1153
- "data-node": `${p}-${B}`,
1154
- opacity: (j.opacity ?? 1) * (at ? 0.3 : 1),
1155
- onClick: x ? (Z) => {
1156
- if (Z.stopPropagation(), z(null), D((V) => V && V.tier === p && V.index === B ? null : { tier: p, index: B }), s?.(j, { tier: p, index: B }), j.link)
1628
+ "data-node": `${e}-${B}`,
1629
+ opacity: (v.opacity ?? 1) * (it ? 0.3 : 1),
1630
+ onClick: y ? (G) => {
1631
+ if (G.stopPropagation(), F(null), D((J) => J && J.tier === e && J.index === B ? null : { tier: e, index: B }), i?.(v, { tier: e, index: B }), v.link)
1157
1632
  try {
1158
- window.open(j.link, "_blank");
1633
+ window.open(v.link, "_blank");
1159
1634
  } catch {
1160
1635
  }
1161
1636
  } : void 0,
1162
- style: { cursor: x ? "pointer" : "default", transition: "opacity 0.3s ease-out" },
1637
+ style: { cursor: y ? "pointer" : "default", transition: "opacity 0.3s ease-out" },
1163
1638
  children: [
1164
- /* @__PURE__ */ e.jsx("path", { d: Wt, fill: "#000000", opacity: 0.3, filter: `url(#contact-${t.id})` }),
1165
- U.cornerBackRight?.map((Z, V) => /* @__PURE__ */ e.jsx(
1639
+ /* @__PURE__ */ o.jsx("path", { d: Ut, fill: "#000000", opacity: 0.3, filter: `url(#contact-${t.id})` }),
1640
+ U.cornerBackRight?.map((G, J) => /* @__PURE__ */ o.jsx(
1166
1641
  "path",
1167
1642
  {
1168
- d: Z.path,
1169
- fill: ut(X.front, X.side, Z.intensity)
1643
+ d: G.path,
1644
+ fill: yt(X.front, X.side, G.intensity)
1170
1645
  },
1171
- `cbr-${V}`
1646
+ `cbr-${J}`
1172
1647
  )),
1173
- U.cornerBackLeft?.map((Z, V) => /* @__PURE__ */ e.jsx(
1648
+ U.cornerBackLeft?.map((G, J) => /* @__PURE__ */ o.jsx(
1174
1649
  "path",
1175
1650
  {
1176
- d: Z.path,
1177
- fill: ut(X.side, X.front, Z.intensity)
1651
+ d: G.path,
1652
+ fill: yt(X.side, X.front, G.intensity)
1178
1653
  },
1179
- `cbl-${V}`
1654
+ `cbl-${J}`
1180
1655
  )),
1181
- /* @__PURE__ */ e.jsx("path", { d: U.left, fill: X.side }),
1182
- /* @__PURE__ */ e.jsx("path", { d: U.left, fill: `url(#shade-${t.id})` }),
1183
- /* @__PURE__ */ e.jsx("path", { d: U.right, fill: X.front }),
1184
- /* @__PURE__ */ e.jsx("path", { d: U.right, fill: `url(#shade-${t.id})` }),
1185
- U.cornerFrontRight?.map((Z, V) => /* @__PURE__ */ e.jsx(
1656
+ /* @__PURE__ */ o.jsx("path", { d: U.left, fill: X.side }),
1657
+ /* @__PURE__ */ o.jsx("path", { d: U.left, fill: `url(#${_ ? "print" : "shade"}-${t.id})` }),
1658
+ /* @__PURE__ */ o.jsx("path", { d: U.right, fill: X.front }),
1659
+ /* @__PURE__ */ o.jsx("path", { d: U.right, fill: `url(#${_ ? "print" : "shade"}-${t.id})` }),
1660
+ U.cornerFrontRight?.map((G, J) => /* @__PURE__ */ o.jsx(
1186
1661
  "path",
1187
1662
  {
1188
- d: Z.path,
1189
- fill: ut(X.front, X.side, Z.intensity)
1663
+ d: G.path,
1664
+ fill: yt(X.front, X.side, G.intensity)
1190
1665
  },
1191
- `cfr-${V}`
1666
+ `cfr-${J}`
1192
1667
  )),
1193
- U.cornerFrontLeft?.map((Z, V) => /* @__PURE__ */ e.jsx(
1668
+ U.cornerFrontLeft?.map((G, J) => /* @__PURE__ */ o.jsx(
1194
1669
  "path",
1195
1670
  {
1196
- d: Z.path,
1197
- fill: ut(X.front, X.side, Z.intensity)
1671
+ d: G.path,
1672
+ fill: yt(X.front, X.side, G.intensity)
1198
1673
  },
1199
- `cfl-${V}`
1674
+ `cfl-${J}`
1200
1675
  )),
1201
- /* @__PURE__ */ e.jsx("path", { d: U.top, fill: X.top }),
1202
- /* @__PURE__ */ e.jsx("path", { d: U.top, fill: `url(#sheen-${t.id})` }),
1203
- /* @__PURE__ */ e.jsx(
1676
+ /* @__PURE__ */ o.jsx("path", { d: U.top, fill: X.top }),
1677
+ /* @__PURE__ */ o.jsx("path", { d: U.top, fill: `url(#${_ ? "print" : "sheen"}-${t.id})` }),
1678
+ /* @__PURE__ */ o.jsx(
1204
1679
  "path",
1205
1680
  {
1206
1681
  d: U.top,
1207
1682
  fill: "none",
1208
- stroke: nt ? "#ffffff" : "rgba(255,255,255,0.28)",
1209
- strokeWidth: nt ? 1.4 : 0.75,
1683
+ stroke: ot ? "#ffffff" : "rgba(255,255,255,0.28)",
1684
+ strokeWidth: ot ? 1.4 : 0.75,
1210
1685
  strokeLinejoin: "round"
1211
1686
  }
1212
1687
  ),
1213
- k && j.label && /* @__PURE__ */ e.jsx(
1214
- pe,
1688
+ u && v.label && /* @__PURE__ */ o.jsx(
1689
+ ko,
1215
1690
  {
1216
- x: j.x + j.width / 2,
1217
- y: j.y + j.depth / 2,
1218
- z: ot + j.height + 2,
1219
- fontSize: j.width > 70 ? 9 : 8,
1220
- color: w,
1221
- shadow: `url(#label-${t.id})`,
1222
- children: j.label
1691
+ x: v.x + v.width / 2,
1692
+ y: v.y + v.depth / 2,
1693
+ z: at + v.height + 2,
1694
+ fontSize: v.width > 70 ? 9 : 8,
1695
+ color: P,
1696
+ shadow: _ ? void 0 : `url(#label-${t.id})`,
1697
+ children: v.label
1223
1698
  }
1224
1699
  )
1225
1700
  ]
@@ -1227,38 +1702,38 @@ function $e({ config: t, options: r = {}, className: a, style: i, onNodeClick: s
1227
1702
  B
1228
1703
  );
1229
1704
  }),
1230
- k && /* @__PURE__ */ e.jsx(
1705
+ u && /* @__PURE__ */ o.jsx(
1231
1706
  "text",
1232
1707
  {
1233
- x: y(-25, S.depth / 2, T.elevation + 15).screenX - 35,
1234
- y: y(-25, S.depth / 2, T.elevation + 15).screenY,
1235
- fill: A,
1708
+ x: k(-25, d.depth / 2, w.elevation + 15).screenX - 35,
1709
+ y: k(-25, d.depth / 2, w.elevation + 15).screenY,
1710
+ fill: I,
1236
1711
  fontSize: 9,
1237
1712
  fontWeight: 500,
1238
- fontFamily: Yt,
1713
+ fontFamily: Xt,
1239
1714
  opacity: C ? 0.9 : 0.6,
1240
1715
  style: { letterSpacing: "0.05em", textTransform: C ? "uppercase" : "none" },
1241
- children: T.name
1716
+ children: w.name
1242
1717
  }
1243
1718
  )
1244
1719
  ]
1245
1720
  },
1246
- p
1721
+ e
1247
1722
  );
1248
1723
  }) }),
1249
- C && /* @__PURE__ */ e.jsx(
1250
- ce,
1724
+ C && /* @__PURE__ */ o.jsx(
1725
+ me,
1251
1726
  {
1252
1727
  style: g,
1253
- plate: F,
1254
- rows: m.map((T, p) => ({
1255
- n: E.get(p) || p + 1,
1256
- name: T.label,
1257
- subtitle: c[T.tier]?.name,
1258
- color: T.color
1259
- })).sort((T, p) => T.n - p.n),
1728
+ plate: L,
1729
+ rows: h.map((w, e) => ({
1730
+ n: S.get(e) || e + 1,
1731
+ name: w.label,
1732
+ subtitle: E[w.tier]?.name,
1733
+ color: w.color
1734
+ })).sort((w, e) => w.n - e.n),
1260
1735
  title: t.title,
1261
- tally: `${String(m.length).padStart(2, "0")} CMP / ${String(c.length).padStart(2, "0")} TIER`,
1736
+ tally: `${String(h.length).padStart(2, "0")} CMP / ${String(E.length).padStart(2, "0")} TIER`,
1262
1737
  className: ""
1263
1738
  }
1264
1739
  )
@@ -1266,21 +1741,21 @@ function $e({ config: t, options: r = {}, className: a, style: i, onNodeClick: s
1266
1741
  }
1267
1742
  ) });
1268
1743
  }
1269
- function xe({ width: t, depth: r, elevation: a, ink: i, isGround: s }) {
1270
- const f = y(0, 0, a), x = rt(t, r, 0, f.screenX, f.screenY).top;
1271
- return /* @__PURE__ */ e.jsx(
1744
+ function $o({ width: t, depth: n, elevation: s, ink: a, isGround: i }) {
1745
+ const l = k(0, 0, s), y = rt(t, n, 0, l.screenX, l.screenY).top;
1746
+ return /* @__PURE__ */ o.jsx(
1272
1747
  "path",
1273
1748
  {
1274
- d: x,
1749
+ d: y,
1275
1750
  fill: "none",
1276
- stroke: i,
1277
- strokeWidth: s ? 1 : 0.7,
1278
- strokeDasharray: s ? void 0 : "5 4",
1279
- opacity: s ? 0.9 : 0.7
1751
+ stroke: a,
1752
+ strokeWidth: i ? 1 : 0.7,
1753
+ strokeDasharray: i ? void 0 : "5 4",
1754
+ opacity: i ? 0.9 : 0.7
1280
1755
  }
1281
1756
  );
1282
1757
  }
1283
- const Ot = '"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace', me = {
1758
+ const At = '"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace', go = {
1284
1759
  blue: { top: "#3b82f6", side: "#2563eb", front: "#1d4ed8" },
1285
1760
  violet: { top: "#8b5cf6", side: "#7c3aed", front: "#6d28d9" },
1286
1761
  cyan: { top: "#06b6d4", side: "#0891b2", front: "#0e7490" },
@@ -1288,7 +1763,7 @@ const Ot = '"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace', me =
1288
1763
  amber: { top: "#f59e0b", side: "#d97706", front: "#b45309" },
1289
1764
  rose: { top: "#f43f5e", side: "#e11d48", front: "#be123c" },
1290
1765
  slate: { top: "#475569", side: "#334155", front: "#1e293b" }
1291
- }, ye = {
1766
+ }, bo = {
1292
1767
  blue: { top: "#93c5fd", side: "#60a5fa", front: "#3b82f6" },
1293
1768
  violet: { top: "#c4b5fd", side: "#a78bfa", front: "#8b5cf6" },
1294
1769
  cyan: { top: "#67e8f9", side: "#22d3ee", front: "#06b6d4" },
@@ -1297,77 +1772,77 @@ const Ot = '"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace', me =
1297
1772
  rose: { top: "#fda4af", side: "#fb7185", front: "#f43f5e" },
1298
1773
  slate: { top: "#e2e8f0", side: "#cbd5e1", front: "#94a3b8" }
1299
1774
  };
1300
- function xt(t, r, a) {
1301
- const i = (u) => {
1302
- const l = u.replace("#", "");
1775
+ function xt(t, n, s) {
1776
+ const a = (x) => {
1777
+ const c = x.replace("#", "");
1303
1778
  return {
1304
- r: parseInt(l.substring(0, 2), 16),
1305
- g: parseInt(l.substring(2, 4), 16),
1306
- b: parseInt(l.substring(4, 6), 16)
1779
+ r: parseInt(c.substring(0, 2), 16),
1780
+ g: parseInt(c.substring(2, 4), 16),
1781
+ b: parseInt(c.substring(4, 6), 16)
1307
1782
  };
1308
- }, s = i(t), f = i(r), x = Math.round(s.r + (f.r - s.r) * a), b = Math.round(s.g + (f.g - s.g) * a), k = Math.round(s.b + (f.b - s.b) * a);
1309
- return `rgb(${x},${b},${k})`;
1783
+ }, i = a(t), l = a(n), y = Math.round(i.r + (l.r - i.r) * s), m = Math.round(i.g + (l.g - i.g) * s), u = Math.round(i.b + (l.b - i.b) * s);
1784
+ return `rgb(${y},${m},${u})`;
1310
1785
  }
1311
- function ke(t) {
1312
- const { theme: r, canvas: a, origin: i, tiers: s, floorSize: f, nodes: x, cornerRadius: b = 0 } = t, k = r === "dark" ? me : ye, u = r === "dark" ? "#0f172a" : "#fafafa", l = r === "dark" ? "#e2e8f0" : "#1e293b", O = r === "dark" ? "#64748b" : "#94a3b8", d = [...x].sort((S, m) => {
1313
- const M = s[S.tier]?.elevation || 0, g = s[m.tier]?.elevation || 0;
1314
- return M !== g ? M - g : m.x + m.width + (m.y + m.depth) - (S.x + S.width + (S.y + S.depth));
1786
+ function vo(t) {
1787
+ const { theme: n, canvas: s, origin: a, tiers: i, floorSize: l, nodes: y, cornerRadius: m = 0 } = t, u = t.material === "retro-print", x = u ? Rt : n === "dark" ? go : bo, c = u ? n === "dark" ? "#202624" : "#f4efe6" : n === "dark" ? "#0f172a" : "#fafafa", O = u ? "#202a29" : n === "dark" ? "#e2e8f0" : "#1e293b", f = u ? n === "dark" ? "#c5c4b7" : "#505b56" : n === "dark" ? "#64748b" : "#94a3b8", E = [...y].sort((h, j) => {
1788
+ const g = i[h.tier]?.elevation || 0, C = i[j.tier]?.elevation || 0;
1789
+ return g !== C ? g - C : j.x + j.width + (j.y + j.depth) - (h.x + h.width + (h.y + h.depth));
1315
1790
  });
1316
- let c = `<svg xmlns="http://www.w3.org/2000/svg" width="${a.width}" height="${a.height}" style="background:${u}">`;
1317
- c += `<defs>
1791
+ let d = `<svg xmlns="http://www.w3.org/2000/svg" width="${s.width}" height="${s.height}" style="background:${c}">`;
1792
+ d += `<defs>${u ? `<pattern id="print" width="64" height="64" patternUnits="userSpaceOnUse">${Pt.map((h) => `<circle cx="${h.x}" cy="${h.y}" r="${h.r}" fill="#26362e" opacity="0.32"/>`).join("")}</pattern>` : ""}
1318
1793
  <pattern id="grid" width="24" height="24" patternUnits="userSpaceOnUse">
1319
- <circle cx="12" cy="12" r="0.5" fill="${r === "dark" ? "#1e293b" : "#e2e8f0"}"/>
1794
+ <circle cx="12" cy="12" r="0.5" fill="${n === "dark" ? "#1e293b" : "#e2e8f0"}"/>
1320
1795
  </pattern>
1321
1796
  <radialGradient id="bg" cx="48%" cy="34%" r="82%">
1322
- <stop offset="0%" stop-color="${r === "dark" ? "#16203a" : "#ffffff"}"/>
1323
- <stop offset="55%" stop-color="${r === "dark" ? "#0e1526" : "#f2f5f9"}"/>
1324
- <stop offset="100%" stop-color="${r === "dark" ? "#080d18" : "#e7ecf2"}"/>
1797
+ <stop offset="0%" stop-color="${n === "dark" ? "#16203a" : "#ffffff"}"/>
1798
+ <stop offset="55%" stop-color="${n === "dark" ? "#0e1526" : "#f2f5f9"}"/>
1799
+ <stop offset="100%" stop-color="${n === "dark" ? "#080d18" : "#e7ecf2"}"/>
1325
1800
  </radialGradient>
1326
1801
  <filter id="contact" x="-60%" y="-60%" width="220%" height="220%"><feGaussianBlur stdDeviation="5"/></filter>
1327
1802
  <linearGradient id="sheen" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#ffffff" stop-opacity="0.18"/><stop offset="55%" stop-color="#ffffff" stop-opacity="0.04"/><stop offset="100%" stop-color="#ffffff" stop-opacity="0"/></linearGradient>
1328
1803
  <linearGradient id="shade" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#000000" stop-opacity="0"/><stop offset="100%" stop-color="#000000" stop-opacity="0.24"/></linearGradient>
1329
1804
  <filter id="labelshadow" x="-40%" y="-40%" width="180%" height="180%"><feDropShadow dx="0" dy="0.5" stdDeviation="0.7" flood-color="#000000" flood-opacity="0.7"/></filter>
1330
- </defs>`, c += '<rect width="100%" height="100%" fill="url(#bg)"/>', c += '<rect width="100%" height="100%" fill="url(#grid)" opacity="0.5"/>', c += `<g transform="translate(${i.x},${i.y})">`;
1331
- for (let S = 0; S < s.length; S++) {
1332
- const m = s[S], M = d.filter((E) => E.tier === S), g = m.offset || { x: 0, y: 0 };
1333
- c += `<g transform="translate(${g.x},${g.y})">`;
1334
- const C = S === 0 ? 8 : 2, N = rt(f.width, f.depth, C, 0, 0), R = y(0, 0, S === 0 ? -2 : m.elevation), $ = m.floorColor || (r === "dark" ? "#0f172a" : "#f8fafc"), w = m.floorOpacity || (S === 0 ? 0.95 : 0.5);
1335
- c += `<g transform="translate(${R.screenX},${R.screenY})">`, S === 0 && (c += `<g transform="translate(4,4)" opacity="0.2"><path d="${N.top}" fill="#000"/></g>`), c += `<path d="${N.top}" fill="${$}" opacity="${w}"/>`, S === 0 && (c += `<path d="${N.left}" fill="${r === "dark" ? "#0f172a" : "#cbd5e1"}" opacity="0.8"/>`, c += `<path d="${N.right}" fill="${r === "dark" ? "#1e293b" : "#94a3b8"}" opacity="0.8"/>`), c += `<path d="${N.top}" fill="none" stroke="${m.borderColor || (r === "dark" ? "#475569" : "#94a3b8")}" stroke-width="${S === 0 ? 1.5 : 0.75}" opacity="${S === 0 ? 1 : 0.6}"/>`, c += "</g>";
1336
- for (const E of M) {
1337
- const F = m.elevation + 5, Y = y(E.x, E.y, F), P = rt(E.width, E.depth, E.height, Y.screenX, Y.screenY, b), L = k[E.color] || k.slate, J = E.opacity ?? 1;
1338
- c += `<g opacity="${J}">`;
1339
- const H = y(E.x - 3, E.y - 3, m.elevation), z = rt(E.width + 6, E.depth + 6, 0, H.screenX, H.screenY, b).top;
1340
- if (c += `<path d="${z}" fill="#000000" opacity="0.3" filter="url(#contact)"/>`, P.cornerBackRight)
1341
- for (const v of P.cornerBackRight)
1342
- c += `<path d="${v.path}" fill="${xt(L.front, L.side, v.intensity)}"/>`;
1343
- if (P.cornerBackLeft)
1344
- for (const v of P.cornerBackLeft)
1345
- c += `<path d="${v.path}" fill="${xt(L.side, L.front, v.intensity)}"/>`;
1346
- if (c += `<path d="${P.left}" fill="${L.side}"/>`, c += `<path d="${P.left}" fill="url(#shade)"/>`, c += `<path d="${P.right}" fill="${L.front}"/>`, c += `<path d="${P.right}" fill="url(#shade)"/>`, P.cornerFrontRight)
1347
- for (const v of P.cornerFrontRight)
1348
- c += `<path d="${v.path}" fill="${xt(L.front, L.side, v.intensity)}"/>`;
1349
- if (P.cornerFrontLeft)
1350
- for (const v of P.cornerFrontLeft)
1351
- c += `<path d="${v.path}" fill="${xt(L.front, L.side, v.intensity)}"/>`;
1352
- if (c += `<path d="${P.top}" fill="${L.top}"/>`, c += `<path d="${P.top}" fill="url(#sheen)"/>`, c += `<path d="${P.top}" fill="none" stroke="rgba(255,255,255,0.28)" stroke-width="0.75" stroke-linejoin="round"/>`, E.label) {
1353
- const v = y(E.x + E.width / 2, E.y + E.depth / 2, F + E.height + 2), D = E.width > 70 ? 9 : 8;
1354
- c += `<g transform="translate(${v.screenX},${v.screenY})" filter="url(#labelshadow)">`, c += '<g transform="matrix(0.866,-0.5,0.866,0.5,0,0)">', c += `<text x="0" y="0" text-anchor="middle" fill="${l}" font-size="${D}" font-weight="600" font-family='${Ot}' style="text-transform:uppercase;letter-spacing:0.06em">${E.label}</text>`, c += "</g></g>";
1805
+ </defs>`, d += `<rect width="100%" height="100%" fill="${u ? c : "url(#bg)"}"/>`, d += '<rect width="100%" height="100%" fill="url(#grid)" opacity="0.5"/>', d += `<g transform="translate(${a.x},${a.y})">`;
1806
+ for (let h = 0; h < i.length; h++) {
1807
+ const j = i[h], g = E.filter((S) => S.tier === h), C = j.offset || { x: 0, y: 0 };
1808
+ d += `<g transform="translate(${C.x},${C.y})">`;
1809
+ const W = h === 0 ? 8 : 2, _ = rt(l.width, l.depth, W, 0, 0), $ = k(0, 0, h === 0 ? -2 : j.elevation), A = j.floorColor || (n === "dark" ? "#0f172a" : "#f8fafc"), P = j.floorOpacity || (h === 0 ? 0.95 : 0.5);
1810
+ d += `<g transform="translate(${$.screenX},${$.screenY})">`, h === 0 && (d += `<g transform="translate(4,4)" opacity="0.2"><path d="${_.top}" fill="#000"/></g>`), d += `<path d="${_.top}" fill="${A}" opacity="${P}"/>`, h === 0 && (d += `<path d="${_.left}" fill="${n === "dark" ? "#0f172a" : "#cbd5e1"}" opacity="0.8"/>`, d += `<path d="${_.right}" fill="${n === "dark" ? "#1e293b" : "#94a3b8"}" opacity="0.8"/>`), d += `<path d="${_.top}" fill="none" stroke="${j.borderColor || (n === "dark" ? "#475569" : "#94a3b8")}" stroke-width="${h === 0 ? 1.5 : 0.75}" opacity="${h === 0 ? 1 : 0.6}"/>`, d += "</g>";
1811
+ for (const S of g) {
1812
+ const L = j.elevation + 5, q = k(S.x, S.y, L), N = rt(S.width, S.depth, S.height, q.screenX, q.screenY, m), Y = x[S.color] || x.slate, V = S.opacity ?? 1;
1813
+ d += `<g opacity="${V}">`;
1814
+ const H = k(S.x - 3, S.y - 3, j.elevation), F = rt(S.width + 6, S.depth + 6, 0, H.screenX, H.screenY, m).top;
1815
+ if (d += `<path d="${F}" fill="#000000" opacity="0.3" filter="url(#contact)"/>`, N.cornerBackRight)
1816
+ for (const M of N.cornerBackRight)
1817
+ d += `<path d="${M.path}" fill="${xt(Y.front, Y.side, M.intensity)}"/>`;
1818
+ if (N.cornerBackLeft)
1819
+ for (const M of N.cornerBackLeft)
1820
+ d += `<path d="${M.path}" fill="${xt(Y.side, Y.front, M.intensity)}"/>`;
1821
+ if (d += `<path d="${N.left}" fill="${Y.side}"/>`, d += `<path d="${N.left}" fill="url(#${u ? "print" : "shade"})"/>`, d += `<path d="${N.right}" fill="${Y.front}"/>`, d += `<path d="${N.right}" fill="url(#${u ? "print" : "shade"})"/>`, N.cornerFrontRight)
1822
+ for (const M of N.cornerFrontRight)
1823
+ d += `<path d="${M.path}" fill="${xt(Y.front, Y.side, M.intensity)}"/>`;
1824
+ if (N.cornerFrontLeft)
1825
+ for (const M of N.cornerFrontLeft)
1826
+ d += `<path d="${M.path}" fill="${xt(Y.front, Y.side, M.intensity)}"/>`;
1827
+ if (d += `<path d="${N.top}" fill="${Y.top}"/>`, d += `<path d="${N.top}" fill="url(#${u ? "print" : "sheen"})"/>`, d += `<path d="${N.top}" fill="none" stroke="rgba(255,255,255,0.28)" stroke-width="0.75" stroke-linejoin="round"/>`, S.label) {
1828
+ const M = k(S.x + S.width / 2, S.y + S.depth / 2, L + S.height + 2), D = S.width > 70 ? 9 : 8;
1829
+ d += `<g transform="translate(${M.screenX},${M.screenY})" filter="${u ? "none" : "url(#labelshadow)"}">`, d += '<g transform="matrix(0.866,-0.5,0.866,0.5,0,0)">', d += `<text x="0" y="0" text-anchor="middle" fill="${O}" font-size="${D}" font-weight="600" font-family='${At}' style="text-transform:uppercase;letter-spacing:0.06em">${S.label}</text>`, d += "</g></g>";
1355
1830
  }
1356
- c += "</g>";
1831
+ d += "</g>";
1357
1832
  }
1358
- const A = y(-25, f.depth / 2, m.elevation + 15);
1359
- c += `<text x="${A.screenX - 35}" y="${A.screenY}" fill="${O}" font-size="9" font-weight="500" font-family='${Ot}' opacity="0.6" style="letter-spacing:0.05em">${m.name}</text>`, c += "</g>";
1833
+ const I = k(-25, l.depth / 2, j.elevation + 15);
1834
+ d += `<text x="${I.screenX - 35}" y="${I.screenY}" fill="${f}" font-size="9" font-weight="500" font-family='${At}' opacity="0.6" style="letter-spacing:0.05em">${j.name}</text>`, d += "</g>";
1360
1835
  }
1361
- return c += "</g></svg>", c;
1836
+ return d += "</g></svg>", d;
1362
1837
  }
1363
- function je(t, r) {
1364
- t.innerHTML = ke(r);
1838
+ function wo(t, n) {
1839
+ t.innerHTML = vo(n);
1365
1840
  }
1366
1841
  export {
1367
- $e as ArcDiagram,
1368
- ge as getColorShading,
1842
+ Mo as ArcDiagram,
1843
+ jo as getColorShading,
1369
1844
  rt as isoBox,
1370
- y as isoToScreen,
1371
- je as renderToElement,
1372
- ke as renderToString
1845
+ k as isoToScreen,
1846
+ wo as renderToElement,
1847
+ vo as renderToString
1373
1848
  };