@arach/arc-iso 0.6.0 → 0.8.0

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