@gkucmierz/nano-ui 1.7.1 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/nano-ui.js CHANGED
@@ -96,97 +96,170 @@ var k = new class {
96
96
  }
97
97
  }();
98
98
  typeof window < "u" && (window.Analytics = k);
99
+ var A = {
100
+ name: "@gkucmierz/nano-ui",
101
+ version: "1.7.2",
102
+ license: "ISC",
103
+ author: "Grzegorz Kućmierz",
104
+ description: "High-performance, minimal footprint Vue 3 UI library, interactive 3D charts, and directives.",
105
+ type: "module",
106
+ main: "./dist/nano-ui.js",
107
+ module: "./dist/nano-ui.js",
108
+ exports: {
109
+ ".": { import: "./dist/nano-ui.js" },
110
+ "./style.css": "./dist/nano-ui.css",
111
+ "./nano-ui.css": "./dist/nano-ui.css",
112
+ "./dist/*": "./dist/*"
113
+ },
114
+ publishConfig: { access: "public" },
115
+ files: ["dist"],
116
+ scripts: {
117
+ dev: "vite",
118
+ prebuild: "node scripts/generate-icons.mjs",
119
+ build: "vite build",
120
+ "prebuild:app": "node scripts/generate-icons.mjs",
121
+ "build:app": "vite build -c vite.config.app.js && node scripts/prerender.mjs",
122
+ prerender: "node scripts/prerender.mjs",
123
+ icons: "node scripts/generate-icons.mjs",
124
+ "test:e2e": "playwright test"
125
+ },
126
+ peerDependencies: { vue: "^3.0.0" },
127
+ devDependencies: {
128
+ "@playwright/test": "^1.61.1",
129
+ "@vitejs/plugin-vue": "^6.0.5",
130
+ vite: "^8.0.12",
131
+ vue: "^3.4.0"
132
+ },
133
+ repository: {
134
+ type: "git",
135
+ url: "https://gitea.7u.pl/gkucmierz/nano-ui.git"
136
+ },
137
+ homepage: "https://gitea.7u.pl/gkucmierz/nano-ui",
138
+ keywords: [
139
+ "vue",
140
+ "ui",
141
+ "components",
142
+ "directives",
143
+ "ripple",
144
+ "nano",
145
+ "glassmorphism",
146
+ "chart",
147
+ "donut-chart",
148
+ "pie-chart",
149
+ "3d-chart",
150
+ "svg-chart",
151
+ "interactive-charts",
152
+ "scrubber",
153
+ "precision-scrubber",
154
+ "high-precision",
155
+ "slider",
156
+ "jog-dial"
157
+ ],
158
+ dependencies: {
159
+ "@gkucmierz/analytics": "^1.0.1",
160
+ "vue-router": "^5.0.6"
161
+ }
162
+ }, j = ({ storageKey: e = "nano-ui-theme", defaultTheme: t = "dark" } = {}) => {
163
+ if (typeof window > "u" || typeof document > "u") return t;
164
+ try {
165
+ let n = localStorage.getItem(e), r = window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches, i = n === "light" || n === "dark" ? n : r ? "dark" : t || "light";
166
+ return i === "light" ? document.documentElement.setAttribute("data-theme", "light") : document.documentElement.removeAttribute("data-theme"), document.documentElement.style.colorScheme = i, document.documentElement.classList.add("preload"), i;
167
+ } catch {
168
+ return t;
169
+ }
170
+ };
171
+ j();
99
172
  //#endregion
100
173
  //#region src/directives/ripple.js
101
- var A = { mounted(e, t) {
174
+ var M = { mounted(e, t) {
102
175
  e.style.position = "relative", e.style.overflow = "hidden", e.addEventListener("click", function(n) {
103
176
  let r = e.getBoundingClientRect(), i = n.clientX - r.left, a = n.clientY - r.top, o = document.createElement("span"), s = Math.max(r.width, r.height), c = s / 2;
104
177
  o.style.width = o.style.height = `${s}px`, o.style.left = `${i - c}px`, o.style.top = `${a - c}px`, o.classList.add("ripple"), t.value && typeof t.value == "string" && (o.style.backgroundColor = t.value), o.addEventListener("animationend", () => o.remove(), { once: !0 }), e.appendChild(o);
105
178
  });
106
- } }, j = _({
179
+ } }, N = _({
107
180
  isVisible: !1,
108
181
  text: "",
109
182
  customClass: "",
110
183
  targetRect: null
111
184
  });
112
- function M(e, t) {
185
+ function P(e, t) {
113
186
  if (!t) return;
114
187
  let n = typeof t == "object" ? t.text : t, r = typeof t == "object" && t.class || "";
115
188
  if (!n) return;
116
189
  e.hasAttribute("aria-label") || e.setAttribute("aria-label", n);
117
190
  let i = e.getBoundingClientRect();
118
- j.targetRect = {
191
+ N.targetRect = {
119
192
  top: i.top,
120
193
  left: i.left,
121
194
  width: i.width,
122
195
  bottom: i.bottom,
123
196
  right: i.right
124
- }, j.text = n, j.customClass = r, j.isVisible = !0;
197
+ }, N.text = n, N.customClass = r, N.isVisible = !0;
125
198
  }
126
- typeof window < "u" && window.addEventListener("scroll", N, {
199
+ typeof window < "u" && window.addEventListener("scroll", F, {
127
200
  passive: !0,
128
201
  capture: !0
129
202
  });
130
- function N() {
131
- j.isVisible = !1;
203
+ function F() {
204
+ N.isVisible = !1;
132
205
  }
133
206
  //#endregion
134
207
  //#region src/directives/tooltip.js
135
- var P = {
208
+ var I = {
136
209
  mounted(e, t) {
137
210
  e._tooltipOptions = t.value;
138
211
  let n = null, r = !1;
139
212
  e._handleMouseEnter = () => {
140
- r || M(e, e._tooltipOptions);
213
+ r || P(e, e._tooltipOptions);
141
214
  }, e._handleMouseLeave = () => {
142
- r || N();
215
+ r || F();
143
216
  }, e._handleFocus = () => {
144
- r || M(e, e._tooltipOptions);
217
+ r || P(e, e._tooltipOptions);
145
218
  }, e._handleBlur = () => {
146
- r || N();
219
+ r || F();
147
220
  }, e._handleTouchStart = () => {
148
221
  r = !0, n && clearTimeout(n), n = setTimeout(() => {
149
- M(e, e._tooltipOptions);
222
+ P(e, e._tooltipOptions);
150
223
  }, 400);
151
224
  }, e._handleTouchEnd = () => {
152
- n && clearTimeout(n), N(), setTimeout(() => {
225
+ n && clearTimeout(n), F(), setTimeout(() => {
153
226
  r = !1;
154
227
  }, 500);
155
228
  }, e._handleTouchCancel = () => {
156
- n && clearTimeout(n), N(), setTimeout(() => {
229
+ n && clearTimeout(n), F(), setTimeout(() => {
157
230
  r = !1;
158
231
  }, 500);
159
232
  }, e._handleContextMenu = (t) => {
160
233
  let n = typeof e._tooltipOptions == "object" ? e._tooltipOptions.text : e._tooltipOptions;
161
- r && j.isVisible && j.text === n && t.preventDefault();
234
+ r && N.isVisible && N.text === n && t.preventDefault();
162
235
  }, e.addEventListener("mouseenter", e._handleMouseEnter), e.addEventListener("mouseleave", e._handleMouseLeave), e.addEventListener("focus", e._handleFocus), e.addEventListener("blur", e._handleBlur), e.addEventListener("touchstart", e._handleTouchStart, { passive: !0 }), e.addEventListener("touchend", e._handleTouchEnd), e.addEventListener("touchmove", e._handleTouchCancel, { passive: !0 }), e.addEventListener("touchcancel", e._handleTouchCancel), e.addEventListener("contextmenu", e._handleContextMenu);
163
236
  },
164
237
  updated(e, t) {
165
238
  e._tooltipOptions = t.value;
166
239
  let n = typeof t.value == "object" ? t.value.text : t.value;
167
- j.isVisible && j.text !== n && (e.matches(":hover") || document.activeElement === e) && M(e, t.value);
240
+ N.isVisible && N.text !== n && (e.matches(":hover") || document.activeElement === e) && P(e, t.value);
168
241
  },
169
242
  unmounted(e) {
170
- e._handleMouseEnter && (e.removeEventListener("mouseenter", e._handleMouseEnter), e.removeEventListener("mouseleave", e._handleMouseLeave), e.removeEventListener("focus", e._handleFocus), e.removeEventListener("blur", e._handleBlur), e.removeEventListener("touchstart", e._handleTouchStart), e.removeEventListener("touchend", e._handleTouchEnd), e.removeEventListener("touchmove", e._handleTouchCancel), e.removeEventListener("touchcancel", e._handleTouchCancel), e.removeEventListener("contextmenu", e._handleContextMenu)), N();
243
+ e._handleMouseEnter && (e.removeEventListener("mouseenter", e._handleMouseEnter), e.removeEventListener("mouseleave", e._handleMouseLeave), e.removeEventListener("focus", e._handleFocus), e.removeEventListener("blur", e._handleBlur), e.removeEventListener("touchstart", e._handleTouchStart), e.removeEventListener("touchend", e._handleTouchEnd), e.removeEventListener("touchmove", e._handleTouchCancel), e.removeEventListener("touchcancel", e._handleTouchCancel), e.removeEventListener("contextmenu", e._handleContextMenu)), F();
171
244
  }
172
- }, F = (e, t) => {
245
+ }, L = (e, t) => {
173
246
  let n = e.__vccOpts || e;
174
247
  for (let [e, r] of t) n[e] = r;
175
248
  return n;
176
- }, I = /* @__PURE__ */ F({
249
+ }, R = /* @__PURE__ */ L({
177
250
  __name: "GlobalTooltip",
178
251
  setup(e) {
179
252
  let t = v(null), n = v(0), r = v(0), i = v(0), a = v(!1), s = async () => {
180
- if (!j.isVisible || !t.value || !j.targetRect || (await d(), !t.value || !j.targetRect)) return;
181
- let e = j.targetRect, o = t.value, s = o.offsetWidth || o.getBoundingClientRect().width, c = o.offsetHeight || o.getBoundingClientRect().height, l = window.innerWidth, u = window.innerHeight, f = e.top, p = u - e.bottom, m = e.top - c - 8;
253
+ if (!N.isVisible || !t.value || !N.targetRect || (await d(), !t.value || !N.targetRect)) return;
254
+ let e = N.targetRect, o = t.value, s = o.offsetWidth || o.getBoundingClientRect().width, c = o.offsetHeight || o.getBoundingClientRect().height, l = window.innerWidth, u = window.innerHeight, f = e.top, p = u - e.bottom, m = e.top - c - 8;
182
255
  a.value = !1, (m < 8 || f < c + 8 && p > f) && (m = e.bottom + 8, a.value = !0), m + c > u - 8 && (m = Math.max(8, u - c - 8)), m < 8 && (m = 8);
183
256
  let h = e.left + e.width / 2, g = h - s / 2, _ = Math.max(8, l - s - 8), v = Math.max(8, Math.min(_, g)), y = h - (v + s / 2), b = Math.max(0, s / 2 - 19);
184
257
  i.value = Math.max(-b, Math.min(b, y)), n.value = v, r.value = m;
185
258
  };
186
259
  return w([
187
- () => j.isVisible,
188
- () => j.text,
189
- () => j.targetRect
260
+ () => N.isVisible,
261
+ () => N.text,
262
+ () => N.targetRect
190
263
  ], async ([e]) => {
191
264
  e && await s();
192
265
  }, { deep: !0 }), m(() => {
@@ -199,24 +272,24 @@ var P = {
199
272
  class: f([
200
273
  "global-tooltip",
201
274
  {
202
- visible: C(j).isVisible,
275
+ visible: C(N).isVisible,
203
276
  "tooltip-bottom": a.value
204
277
  },
205
- C(j).customClass
278
+ C(N).customClass
206
279
  ]),
207
280
  style: p({
208
281
  transform: `translate(${n.value}px, ${r.value}px)`,
209
282
  "--arrow-offset": `${i.value}px`
210
283
  })
211
- }, S(C(j).text), 7));
284
+ }, S(C(N).text), 7));
212
285
  }
213
- }, [["__scopeId", "data-v-d7961ba4"]]), L = { class: "nano-modal-title" }, R = {
286
+ }, [["__scopeId", "data-v-d7961ba4"]]), z = { class: "nano-modal-title" }, B = {
214
287
  key: 1,
215
288
  class: "nano-modal-body"
216
- }, z = {
289
+ }, ee = {
217
290
  key: 2,
218
291
  class: "nano-modal-footer"
219
- }, B = { class: "nano-modal-actions" }, V = /* @__PURE__ */ F({
292
+ }, te = { class: "nano-modal-actions" }, V = /* @__PURE__ */ L({
220
293
  __name: "NanoModal",
221
294
  props: {
222
295
  visible: {
@@ -298,7 +371,7 @@ var P = {
298
371
  "cancel"
299
372
  ],
300
373
  setup(e, { emit: u }) {
301
- let m = e, _ = u, y = v(null), C = v(null), k = v(null), A = v(null), j = v(null), M = v(null), N = v(!1), P = v(!1), F = 0, I = 0, V = 0, ee = 0, te = 0, ne = 0, re = 0, ie = 0, ae = r(() => {
374
+ let m = e, _ = u, y = v(null), C = v(null), k = v(null), A = v(null), j = v(null), M = v(null), N = v(!1), P = v(!1), F = 0, I = 0, L = 0, R = 0, V = 0, ne = 0, re = 0, ie = 0, ae = r(() => {
302
375
  let e = {};
303
376
  return j.value === null ? (e.maxWidth = typeof m.width == "number" ? `${m.width}px` : m.width, e.width = "100%") : (e.width = `${j.value}px`, e.maxWidth = "none"), M.value === null ? m.height !== "auto" && (e.height = typeof m.height == "number" ? `${m.height}px` : m.height) : (e.height = `${M.value}px`, e.maxHeight = "none"), k.value !== null && A.value !== null && (e.position = "absolute", e.left = `${k.value}px`, e.top = `${A.value}px`, e.transform = "none", e.margin = "0"), e;
304
377
  }), oe = (e) => {
@@ -307,22 +380,22 @@ var P = {
307
380
  let e = C.value.getBoundingClientRect();
308
381
  k.value = e.left, A.value = e.top, j.value === null && (j.value = e.width), M.value === null && (M.value = e.height);
309
382
  }
310
- V = k.value, ee = A.value, window.addEventListener("mousemove", se), window.addEventListener("mouseup", ce);
383
+ L = k.value, R = A.value, window.addEventListener("mousemove", se), window.addEventListener("mouseup", ce);
311
384
  }
312
385
  }, se = (e) => {
313
386
  if (!N.value) return;
314
- let t = V + (e.clientX - F), n = ee + (e.clientY - I), r = window.innerWidth, i = window.innerHeight, a = C.value.getBoundingClientRect();
387
+ let t = L + (e.clientX - F), n = R + (e.clientY - I), r = window.innerWidth, i = window.innerHeight, a = C.value.getBoundingClientRect();
315
388
  t < 0 && (t = 0), n < 0 && (n = 0), t + a.width > r && (t = r - a.width), n + a.height > i && (n = i - a.height), k.value = t, A.value = n;
316
389
  }, ce = () => {
317
390
  N.value = !1, window.removeEventListener("mousemove", se), window.removeEventListener("mouseup", ce);
318
391
  }, le = (e) => {
319
392
  if (!m.resizable) return;
320
- e.preventDefault(), e.stopPropagation(), P.value = !0, te = e.clientX, ne = e.clientY;
393
+ e.preventDefault(), e.stopPropagation(), P.value = !0, V = e.clientX, ne = e.clientY;
321
394
  let t = C.value.getBoundingClientRect();
322
395
  k.value === null && (k.value = t.left, A.value = t.top), re = t.width, ie = t.height, window.addEventListener("mousemove", ue), window.addEventListener("mouseup", de);
323
396
  }, ue = (e) => {
324
397
  if (!P.value) return;
325
- let t = re + (e.clientX - te), n = ie + (e.clientY - ne);
398
+ let t = re + (e.clientX - V), n = ie + (e.clientY - ne);
326
399
  t < m.minWidth && (t = m.minWidth), n < m.minHeight && (n = m.minHeight);
327
400
  let r = window.innerWidth - k.value, i = window.innerHeight - A.value;
328
401
  t > r && (t = r), n > i && (n = i), j.value = t, M.value = n;
@@ -365,7 +438,7 @@ var P = {
365
438
  key: 0,
366
439
  class: f(["nano-modal-header", { "is-draggable": e.draggable }]),
367
440
  onMousedown: oe
368
- }, [b(r.$slots, "header", {}, () => [s("h2", L, S(e.title), 1)], !0), s("button", {
441
+ }, [b(r.$slots, "header", {}, () => [s("h2", z, S(e.title), 1)], !0), s("button", {
369
442
  class: "nano-modal-close-btn",
370
443
  onClick: O(pe, ["stop"]),
371
444
  "aria-label": "Close",
@@ -391,8 +464,8 @@ var P = {
391
464
  x2: "18",
392
465
  y2: "18"
393
466
  })], -1)]], 32)], 34)) : a("", !0),
394
- e.showBody ? (g(), o("div", R, [b(r.$slots, "body", {}, void 0, !0)])) : a("", !0),
395
- e.showFooter ? (g(), o("div", z, [b(r.$slots, "footer", {}, () => [s("div", B, [e.showCancel ? E((g(), o("button", {
467
+ e.showBody ? (g(), o("div", B, [b(r.$slots, "body", {}, void 0, !0)])) : a("", !0),
468
+ e.showFooter ? (g(), o("div", ee, [b(r.$slots, "footer", {}, () => [s("div", te, [e.showCancel ? E((g(), o("button", {
396
469
  key: 0,
397
470
  class: "nano-btn nano-btn-secondary",
398
471
  onClick: ge
@@ -423,21 +496,21 @@ var P = {
423
496
  })]);
424
497
  };
425
498
  }
426
- }, [["__scopeId", "data-v-52e94a15"]]), ee = ["viewBox"], te = { key: 0 }, ne = [
499
+ }, [["__scopeId", "data-v-52e94a15"]]), ne = ["viewBox"], re = { key: 0 }, ie = [
427
500
  "id",
428
501
  "x1",
429
502
  "y1",
430
503
  "x2",
431
504
  "y2"
432
- ], re = ["stop-color"], ie = ["stop-color"], ae = [
505
+ ], ae = ["stop-color"], oe = ["stop-color"], se = [
433
506
  "id",
434
507
  "y1",
435
508
  "y2"
436
- ], oe = ["stop-color"], se = ["stop-color"], ce = [
509
+ ], ce = ["stop-color"], le = ["stop-color"], ue = [
437
510
  "id",
438
511
  "y1",
439
512
  "y2"
440
- ], le = ["stop-color"], ue = ["stop-color"], de = { key: 1 }, fe = ["x", "y"], pe = { key: 2 }, me = ["d", "fill"], he = ["d", "stroke"], ge = ["d", "fill"], _e = ["d", "fill"], ve = ["d", "fill"], ye = ["d", "stroke"], be = ["d", "fill"], xe = ["d", "stroke"], Se = ["d", "stroke-width"], Ce = ["transform"], we = ["font-size"], Te = ["font-size"], Ee = ["d", "fill"], De = ["d", "stroke"], Oe = ["d", "fill"], ke = ["d", "fill"], Ae = ["d", "fill"], je = ["d", "stroke"], Me = ["d", "fill"], Ne = ["d", "stroke"], Pe = ["d", "stroke-width"], Fe = ["onMouseenter", "onClick"], Ie = ["d"], Le = ["d"], Re = ["onMouseenter", "onClick"], ze = ["d", "stroke"], Be = ["y", "fill"], Ve = ["onMouseenter", "onClick"], He = ["d", "stroke"], Ue = ["y", "fill"], We = /* @__PURE__ */ F({
513
+ ], de = ["stop-color"], fe = ["stop-color"], pe = { key: 1 }, me = ["x", "y"], he = { key: 2 }, ge = ["d", "fill"], _e = ["d", "stroke"], ve = ["d", "fill"], ye = ["d", "fill"], be = ["d", "fill"], xe = ["d", "stroke"], Se = ["d", "fill"], Ce = ["d", "stroke"], we = ["d", "stroke-width"], Te = ["transform"], Ee = ["font-size"], De = ["font-size"], Oe = ["d", "fill"], ke = ["d", "stroke"], Ae = ["d", "fill"], je = ["d", "fill"], Me = ["d", "fill"], Ne = ["d", "stroke"], Pe = ["d", "fill"], Fe = ["d", "stroke"], Ie = ["d", "stroke-width"], Le = ["onMouseenter", "onClick"], Re = ["d"], ze = ["d"], Be = ["onMouseenter", "onClick"], Ve = ["d", "stroke"], He = ["y", "fill"], Ue = ["onMouseenter", "onClick"], We = ["d", "stroke"], Ge = ["y", "fill"], Ke = /* @__PURE__ */ L({
441
514
  __name: "ThreeDDonutChart",
442
515
  props: {
443
516
  data: {
@@ -635,12 +708,12 @@ var P = {
635
708
  percentage: n
636
709
  };
637
710
  });
638
- }), V = r(() => A.value.reduce((e, t) => e + t.value, 0)), We = r(() => {
711
+ }), ee = r(() => A.value.reduce((e, t) => e + t.value, 0)), te = r(() => {
639
712
  if (c.centerValue !== void 0 && c.centerValue !== "") return c.centerValue;
640
- let e = X.value.find((e) => e.item.id === C.value);
641
- return e ? c.centerValueFormatter ? c.centerValueFormatter(e.item.value, e.item) : L(e.item.value) : c.centerValueFormatter ? c.centerValueFormatter(V.value, null) : c.valueDecimals === void 0 ? Math.round(V.value) : L(V.value);
642
- }), Ge = r(() => {
643
- let e = X.value.find((e) => e.item.id === C.value);
713
+ let e = ot.value.find((e) => e.item.id === C.value);
714
+ return e ? c.centerValueFormatter ? c.centerValueFormatter(e.item.value, e.item) : L(e.item.value) : c.centerValueFormatter ? c.centerValueFormatter(ee.value, null) : c.valueDecimals === void 0 ? Math.round(ee.value) : L(ee.value);
715
+ }), V = r(() => {
716
+ let e = ot.value.find((e) => e.item.id === C.value);
644
717
  return e ? R(e.item.name, 12).toUpperCase() : (c.centerLabel || "").toUpperCase();
645
718
  }), Ke = (e, t = !1) => {
646
719
  let n = new Map(A.value.map((e) => [e.id, e])), r = new Map(e.map((e) => [e.id, e])), i = [];
@@ -701,18 +774,18 @@ var P = {
701
774
  l < o ? (o = l, a = e, s = u) : l === o && u < s && (a = e, s = u);
702
775
  }
703
776
  return a;
704
- }, Je = r(() => c.autoRotate && B.value && B.value.length > 0 ? qe(B.value, c.rotationAngle) : c.rotationAngle), Ye = v(Je.value), Xe = v(!1), Ze = v(!1), Qe = null, $e = c.is3D, H = v(c.isExpanded ? 380 : 60), U = v(c.isExpanded ? 160 : 60), W = v(c.isExpanded ? 180 : 48), G = v(c.isExpanded ? $e ? 180 * c.slopeRatio : 180 : $e ? 48 * c.slopeRatio : 48), K = v(c.isExpanded ? 180 * (1 - c.thickness) : 48 * (1 - c.thickness)), q = v(c.isExpanded ? $e ? 180 * (1 - c.thickness) * c.slopeRatio : 180 * (1 - c.thickness) : $e ? 48 * (1 - c.thickness) * c.slopeRatio : 48 * (1 - c.thickness)), et = c.isExpanded && $e ? 32 : 0, J = v($e && c.slopeRatio > .5 ? et * (2 - 2 * c.slopeRatio) : et), tt = v(c.isExpanded ? 760 : 120), nt = v(c.isExpanded ? 320 : 120), Y = v(c.isExpanded && c.showLabels ? 1 : 0), rt = r(() => {
705
- let e = (W.value - 48) / 132;
777
+ }, Je = r(() => c.autoRotate && B.value && B.value.length > 0 ? qe(B.value, c.rotationAngle) : c.rotationAngle), Ye = v(Je.value), Xe = v(!1), Ze = v(!1), Qe = null, H = c.is3D, U = v(c.isExpanded ? 380 : 60), W = v(c.isExpanded ? 160 : 60), G = v(c.isExpanded ? 180 : 48), $e = v(c.isExpanded ? H ? 180 * c.slopeRatio : 180 : H ? 48 * c.slopeRatio : 48), K = v(c.isExpanded ? 180 * (1 - c.thickness) : 48 * (1 - c.thickness)), q = v(c.isExpanded ? H ? 180 * (1 - c.thickness) * c.slopeRatio : 180 * (1 - c.thickness) : H ? 48 * (1 - c.thickness) * c.slopeRatio : 48 * (1 - c.thickness)), et = c.isExpanded && H ? 32 : 0, J = v(H && c.slopeRatio > .5 ? et * (2 - 2 * c.slopeRatio) : et), tt = v(c.isExpanded ? 760 : 120), nt = v(c.isExpanded ? 320 : 120), Y = v(c.isExpanded && c.showLabels ? 1 : 0), rt = r(() => {
778
+ let e = (G.value - 48) / 132;
706
779
  return 13 + 6 * Math.max(0, Math.min(1, e));
707
780
  }), it = r(() => {
708
- let e = (W.value - 48) / 132;
781
+ let e = (G.value - 48) / 132;
709
782
  return 7 + 1.5 * Math.max(0, Math.min(1, e));
710
- }), at = r(() => U.value - J.value / 2), X = r(() => {
711
- let e = A.value, t = V.value;
783
+ }), at = r(() => W.value - J.value / 2), ot = r(() => {
784
+ let e = A.value, t = ee.value;
712
785
  if (t === 0) return [];
713
- let n = [], r = Ye.value * Math.PI / 180, i = H.value;
714
- U.value;
715
- let a = W.value, o = G.value, s = K.value, l = q.value, u = J.value, d = at.value, f = e.filter((e) => e.value > .001);
786
+ let n = [], r = Ye.value * Math.PI / 180, i = U.value;
787
+ W.value;
788
+ let a = G.value, o = $e.value, s = K.value, l = q.value, u = J.value, d = at.value, f = e.filter((e) => e.value > .001);
716
789
  if (f.length === 1) {
717
790
  let t = f[0], n = e.indexOf(t), r = F(t, n), p = `M ${i - a} ${d} A ${a} ${o} 0 0 1 ${i + a} ${d} A ${a} ${o} 0 0 1 ${i - a} ${d} M ${i - s} ${d} A ${s} ${l} 0 0 0 ${i + s} ${d} A ${s} ${l} 0 0 0 ${i - s} ${d} Z`, m = "", h = "";
718
791
  u > 0 && (m = `M ${i + a} ${d} A ${a} ${o} 0 0 1 ${i - a} ${d} L ${i - a} ${d + u} A ${a} ${o} 0 0 0 ${i + a} ${d + u} Z`, h = `M ${i - s} ${d} A ${s} ${l} 0 0 1 ${i + s} ${d} L ${i + s} ${d + u} A ${s} ${l} 0 0 0 ${i - s} ${d + u} Z`);
@@ -810,7 +883,7 @@ var P = {
810
883
  M ? (P = `M ${h} ${v} A ${a} ${o} 0 ${T} 1 ${y} ${b} M ${x} ${S} A ${s} ${l} 0 ${T} 0 ${C} ${w}`, N || (P += ` L ${h} ${v}`)) : (P = `M ${h} ${v} A ${a} ${o} 0 ${T} 1 ${y} ${b} L ${x} ${S} A ${s} ${l} 0 ${T} 0 ${C} ${w}`, N || (P += " Z"));
811
884
  let F = "", I = "", L = "", R = "", z = "", B = "";
812
885
  u > 0 && (F = `M ${h} ${v} A ${a} ${o} 0 ${T} 1 ${y} ${b} L ${y} ${b + u} A ${a} ${o} 0 ${T} 0 ${h} ${v + u} Z`, I = `M ${C} ${w} A ${s} ${l} 0 ${T} 1 ${x} ${S} L ${x} ${S + u} A ${s} ${l} 0 ${T} 0 ${C} ${w + u} Z`, M ? (L = `M ${h} ${v} A ${a} ${o} 0 ${T} 1 ${y} ${b} M ${y} ${b + u} A ${a} ${o} 0 ${T} 0 ${h} ${v + u}`, N || (L += ` L ${h} ${v}`)) : (L = `M ${h} ${v} A ${a} ${o} 0 ${T} 1 ${y} ${b} L ${y} ${b + u} A ${a} ${o} 0 ${T} 0 ${h} ${v + u}`, N || (L += " Z")), M ? (R = `M ${C} ${w} A ${s} ${l} 0 ${T} 1 ${x} ${S} M ${x} ${S + u} A ${s} ${l} 0 ${T} 0 ${C} ${w + u}`, N || (R += ` L ${C} ${w}`)) : (R = `M ${C} ${w} A ${s} ${l} 0 ${T} 1 ${x} ${S} L ${x} ${S + u} A ${s} ${l} 0 ${T} 0 ${C} ${w + u}`, N || (R += " Z")), Math.abs(r - A) < .001 && (z = `M ${h} ${v} L ${C} ${w} L ${C} ${w + u} L ${h} ${v + u} Z`), Math.abs(p - j) < .001 && (B = `M ${y} ${b} L ${x} ${S} L ${x} ${S + u} L ${y} ${b + u} Z`));
813
- let V = d + o * Math.sin(m), ee = i + a * Math.cos(g), te = d + o * Math.sin(g), ne = i + (a + 25) * Math.cos(g), re = d + (o + 35 * c.slopeRatio) * Math.sin(g), ie = i + (a + s) / 2 * Math.cos(g), ae = d + (o + l) / 2 * Math.sin(g), oe = a - s, se = o - l;
886
+ let ee = d + o * Math.sin(m), te = i + a * Math.cos(g), V = d + o * Math.sin(g), ne = i + (a + 25) * Math.cos(g), re = d + (o + 35 * c.slopeRatio) * Math.sin(g), ie = i + (a + s) / 2 * Math.cos(g), ae = d + (o + l) / 2 * Math.sin(g), oe = a - s, se = o - l;
814
887
  n.push({
815
888
  item: e,
816
889
  index: f,
@@ -823,37 +896,37 @@ var P = {
823
896
  topStrokePath: P,
824
897
  outerWallStrokePath: L,
825
898
  innerWallStrokePath: R,
826
- midY: V,
899
+ midY: ee,
827
900
  topPath: E,
828
901
  outerWallPath: F,
829
902
  innerWallPath: I,
830
903
  startCutPath: z,
831
904
  endCutPath: B,
832
- x0: ee,
833
- y0: te,
905
+ x0: te,
906
+ y0: V,
834
907
  x1: ne,
835
908
  y1: re,
836
909
  topGradX1: ie - oe / 2,
837
910
  topGradY1: ae - se / 2,
838
911
  topGradX2: ie + oe / 2,
839
912
  topGradY2: ae + se / 2,
840
- wallY1: te,
841
- wallY2: te + u
913
+ wallY1: V,
914
+ wallY2: V + u
842
915
  });
843
916
  }), r += p;
844
917
  }), n.sort((e, t) => e.midY - t.midY);
845
- }), ot = r(() => {
918
+ }), st = r(() => {
846
919
  let e = /* @__PURE__ */ new Set(), t = [];
847
- return X.value.forEach((n) => {
920
+ return ot.value.forEach((n) => {
848
921
  e.has(n.item.id) || (e.add(n.item.id), t.push(n));
849
922
  }), t;
850
- }), st = (e) => C.value === e.item.id ? { transform: `translate(${10 * Math.cos(e.originalMidAngle)}px, ${10 * Math.sin(e.originalMidAngle)}px)` } : {}, ct = r(() => {
923
+ }), ct = (e) => C.value === e.item.id ? { transform: `translate(${10 * Math.cos(e.originalMidAngle)}px, ${10 * Math.sin(e.originalMidAngle)}px)` } : {}, lt = r(() => {
851
924
  if (Y.value <= .001) return {
852
925
  left: [],
853
926
  right: []
854
927
  };
855
928
  let e = [], t = [];
856
- return ot.value.forEach((n) => {
929
+ return st.value.forEach((n) => {
857
930
  let r = Math.cos(n.originalMidAngle) < 0, i = Math.sin(n.originalMidAngle) > 0, a = J.value, o = n.y0 + (i ? a : 0), s = n.y1 + (i ? a : 0), c = {
858
931
  item: n.item,
859
932
  index: n.index,
@@ -872,73 +945,70 @@ var P = {
872
945
  left: e,
873
946
  right: t
874
947
  };
875
- }), lt = r(() => ct.value.left), ut = r(() => ct.value.right), dt = (e) => {
948
+ }), ut = r(() => lt.value.left), dt = r(() => lt.value.right), ft = (e) => {
876
949
  let t = C.value === e.item.id, n = e.x0, r = e.y0, i = e.finalY;
877
950
  if (t) {
878
951
  let t = 10 * Math.cos(e.originalMidAngle || 0), a = 10 * Math.sin(e.originalMidAngle || 0);
879
952
  n += t, r += a, i -= 5;
880
953
  }
881
- let a = n + 30 * Math.cos(e.originalMidAngle || 0), o = r + 30 * Math.sin(e.originalMidAngle || 0), s = e.isLeft, c = Math.sin(e.originalMidAngle || 0) < 0, l = H.value, u = W.value, d = s ? l - u - 15 : l + u + 15, f = s ? Math.min(d, a - 30) : Math.max(d, a + 30);
954
+ let a = n + 30 * Math.cos(e.originalMidAngle || 0), o = r + 30 * Math.sin(e.originalMidAngle || 0), s = e.isLeft, c = Math.sin(e.originalMidAngle || 0) < 0, l = U.value, u = G.value, d = s ? l - u - 15 : l + u + 15, f = s ? Math.min(d, a - 30) : Math.max(d, a + 30);
882
955
  return `M ${n} ${r} C ${a} ${o}, ${f} ${c ? Math.min(o, i) : Math.max(o, i)}, ${s ? 90 : 670} ${i}`;
883
- }, ft = (e = 450) => {
956
+ }, pt = (e = 450) => {
884
957
  if (c.currentLowFxMode || c.immediate) {
885
958
  A.value.forEach((e) => {
886
959
  e.value = e.targetValue, e.percentage = e.targetPercentage === void 0 ? 0 : e.targetPercentage;
887
960
  }), A.value = A.value.filter((e) => e.targetValue > 0), Ye.value = Je.value;
888
961
  let e = c.is3D;
889
- H.value = c.isExpanded ? 380 : 60, U.value = c.isExpanded ? 160 : 60, W.value = c.isExpanded ? 180 : 48, G.value = c.isExpanded ? e ? 180 * c.slopeRatio : 180 : e ? 48 * c.slopeRatio : 48, K.value = c.isExpanded ? 180 * (1 - c.thickness) : 48 * (1 - c.thickness), q.value = c.isExpanded ? e ? 180 * (1 - c.thickness) * c.slopeRatio : 180 * (1 - c.thickness) : e ? 48 * (1 - c.thickness) * c.slopeRatio : 48 * (1 - c.thickness);
962
+ U.value = c.isExpanded ? 380 : 60, W.value = c.isExpanded ? 160 : 60, G.value = c.isExpanded ? 180 : 48, $e.value = c.isExpanded ? e ? 180 * c.slopeRatio : 180 : e ? 48 * c.slopeRatio : 48, K.value = c.isExpanded ? 180 * (1 - c.thickness) : 48 * (1 - c.thickness), q.value = c.isExpanded ? e ? 180 * (1 - c.thickness) * c.slopeRatio : 180 * (1 - c.thickness) : e ? 48 * (1 - c.thickness) * c.slopeRatio : 48 * (1 - c.thickness);
890
963
  let t = c.isExpanded && e ? 32 : 0;
891
964
  J.value = e && c.slopeRatio > .5 ? t * (2 - 2 * c.slopeRatio) : t, tt.value = c.isExpanded ? 760 : 120, nt.value = c.isExpanded ? 320 : 120, Y.value = c.isExpanded && c.showLabels ? 1 : 0, Xe.value = !1;
892
965
  return;
893
966
  }
894
967
  u && cancelAnimationFrame(u), Xe.value = !0;
895
- let t = performance.now(), n = Ye.value, r = Je.value, i = H.value, a = U.value, o = W.value, s = G.value, l = K.value, d = q.value, f = J.value, p = tt.value, m = nt.value, h = Y.value, g = c.is3D, _ = c.isExpanded ? 380 : 60, v = c.isExpanded ? 160 : 60, y = c.isExpanded ? 180 : 48, b = c.isExpanded ? g ? 180 * c.slopeRatio : 180 : g ? 48 * c.slopeRatio : 48, x = c.isExpanded ? 180 * (1 - c.thickness) : 48 * (1 - c.thickness), S = c.isExpanded ? g ? 180 * (1 - c.thickness) * c.slopeRatio : 180 * (1 - c.thickness) : g ? 48 * (1 - c.thickness) * c.slopeRatio : 48 * (1 - c.thickness), C = c.isExpanded && g ? 32 : 0, w = g && c.slopeRatio > .5 ? C * (2 - 2 * c.slopeRatio) : C, T = c.isExpanded ? 760 : 120, E = c.isExpanded ? 320 : 120, D = c.isExpanded && c.showLabels ? 1 : 0, O = (c) => {
968
+ let t = performance.now(), n = Ye.value, r = Je.value, i = U.value, a = W.value, o = G.value, s = $e.value, l = K.value, d = q.value, f = J.value, p = tt.value, m = nt.value, h = Y.value, g = c.is3D, _ = c.isExpanded ? 380 : 60, v = c.isExpanded ? 160 : 60, y = c.isExpanded ? 180 : 48, b = c.isExpanded ? g ? 180 * c.slopeRatio : 180 : g ? 48 * c.slopeRatio : 48, x = c.isExpanded ? 180 * (1 - c.thickness) : 48 * (1 - c.thickness), S = c.isExpanded ? g ? 180 * (1 - c.thickness) * c.slopeRatio : 180 * (1 - c.thickness) : g ? 48 * (1 - c.thickness) * c.slopeRatio : 48 * (1 - c.thickness), C = c.isExpanded && g ? 32 : 0, w = g && c.slopeRatio > .5 ? C * (2 - 2 * c.slopeRatio) : C, T = c.isExpanded ? 760 : 120, E = c.isExpanded ? 320 : 120, D = c.isExpanded && c.showLabels ? 1 : 0, O = (c) => {
896
969
  let g = c - t, C = Math.min(1, g / e), k = 1 - (1 - C) ** 3;
897
970
  A.value.forEach((e) => {
898
971
  e.value = e.startValue + (e.targetValue - e.startValue) * k;
899
972
  let t = e.startPercentage === void 0 ? 0 : e.startPercentage, n = e.targetPercentage === void 0 ? 0 : e.targetPercentage;
900
973
  e.percentage = Math.round(t + (n - t) * k);
901
- }), Ye.value = n + (r - n) * k, H.value = i + (_ - i) * k, U.value = a + (v - a) * k, W.value = o + (y - o) * k, G.value = s + (b - s) * k, K.value = l + (x - l) * k, q.value = d + (S - d) * k, J.value = f + (w - f) * k, tt.value = p + (T - p) * k, nt.value = m + (E - m) * k, Y.value = h + (D - h) * k, C < 1 ? u = requestAnimationFrame(O) : (u = null, A.value.forEach((e) => {
974
+ }), Ye.value = n + (r - n) * k, U.value = i + (_ - i) * k, W.value = a + (v - a) * k, G.value = o + (y - o) * k, $e.value = s + (b - s) * k, K.value = l + (x - l) * k, q.value = d + (S - d) * k, J.value = f + (w - f) * k, tt.value = p + (T - p) * k, nt.value = m + (E - m) * k, Y.value = h + (D - h) * k, C < 1 ? u = requestAnimationFrame(O) : (u = null, A.value.forEach((e) => {
902
975
  e.value = e.targetValue, e.percentage = e.targetPercentage === void 0 ? 0 : e.targetPercentage;
903
- }), A.value = A.value.filter((e) => e.targetValue > 0), H.value = _, U.value = v, W.value = y, G.value = b, K.value = x, q.value = S, J.value = w, tt.value = T, nt.value = E, Y.value = D, Xe.value = !1);
976
+ }), A.value = A.value.filter((e) => e.targetValue > 0), U.value = _, W.value = v, G.value = y, $e.value = b, K.value = x, q.value = S, J.value = w, tt.value = T, nt.value = E, Y.value = D, Xe.value = !1);
904
977
  };
905
978
  u = requestAnimationFrame(O);
906
- }, pt = (e) => {
979
+ }, X = (e) => {
907
980
  if (e.isSingleSlice) return !0;
908
- let t = X.value, n = -1;
981
+ let t = ot.value, n = -1;
909
982
  for (let r = t.length - 1; r >= 0; r--) if (t[r].item.id === e.item.id) {
910
983
  n = r;
911
984
  break;
912
985
  }
913
986
  return t.indexOf(e) === n;
914
987
  };
915
- return w(B, (e) => {
988
+ return Ke(B.value || [], !0), w(B, (e) => {
916
989
  let t = c.immediate || c.currentLowFxMode;
917
- Ke(e || [], t), t || ft();
918
- }, {
919
- deep: !0,
920
- immediate: !0
921
- }), w(() => c.rotationAngle, () => {
990
+ Ke(e || [], t), t || pt();
991
+ }, { deep: !0 }), w(() => c.rotationAngle, () => {
922
992
  Ze.value = !0, Qe && clearTimeout(Qe), Qe = setTimeout(() => {
923
993
  Ze.value = !1;
924
994
  }, 100);
925
995
  }), w(Je, (e) => {
926
- c.immediate || c.currentLowFxMode ? Ye.value = e : ft();
996
+ c.immediate || c.currentLowFxMode ? Ye.value = e : pt();
927
997
  }), w(() => c.isExpanded, () => {
928
998
  d(() => {
929
- ft();
999
+ pt();
930
1000
  });
931
1001
  }), w(() => c.is3D, () => {
932
1002
  d(() => {
933
- ft();
1003
+ pt();
934
1004
  });
935
1005
  }), w(() => c.showLabels, () => {
936
1006
  d(() => {
937
- ft();
1007
+ pt();
938
1008
  });
939
1009
  }), w(() => c.slopeRatio, (e) => {
940
1010
  if (c.is3D) {
941
- G.value = c.isExpanded ? 180 * e : 48;
1011
+ $e.value = c.isExpanded ? 180 * e : 48;
942
1012
  let t = c.isExpanded ? 180 : 48, n = c.isExpanded ? 180 * e : 48;
943
1013
  K.value = t * (1 - c.thickness), q.value = n * (1 - c.thickness);
944
1014
  let r = c.isExpanded ? 32 : 0;
@@ -953,7 +1023,7 @@ var P = {
953
1023
  c.hoveredItemId !== e && l("update:hoveredItemId", e);
954
1024
  }), m(() => {
955
1025
  document.addEventListener("click", k), d(() => {
956
- ft();
1026
+ pt();
957
1027
  });
958
1028
  }), h(() => {
959
1029
  document.removeEventListener("click", k), u && cancelAnimationFrame(u);
@@ -972,8 +1042,8 @@ var P = {
972
1042
  viewBox: `0 0 ${tt.value} ${nt.value}`,
973
1043
  class: "items-svg-chart",
974
1044
  xmlns: "http://www.w3.org/2000/svg"
975
- }, [B.value && B.value.length > 0 ? (g(), o("defs", te, [
976
- (g(!0), o(e, null, y(ot.value, (e) => (g(), o("linearGradient", {
1045
+ }, [B.value && B.value.length > 0 ? (g(), o("defs", re, [
1046
+ (g(!0), o(e, null, y(st.value, (e) => (g(), o("linearGradient", {
977
1047
  key: "top-grad-" + z(e.item.id),
978
1048
  id: "top-grad-" + z(e.item.id),
979
1049
  gradientUnits: "userSpaceOnUse",
@@ -984,11 +1054,11 @@ var P = {
984
1054
  }, [s("stop", {
985
1055
  offset: "0%",
986
1056
  "stop-color": P(e.color, 1.15)
987
- }, null, 8, re), s("stop", {
1057
+ }, null, 8, ae), s("stop", {
988
1058
  offset: "100%",
989
1059
  "stop-color": N(e.color, .85)
990
- }, null, 8, ie)], 8, ne))), 128)),
991
- (g(!0), o(e, null, y(ot.value, (e) => (g(), o("linearGradient", {
1060
+ }, null, 8, oe)], 8, ie))), 128)),
1061
+ (g(!0), o(e, null, y(st.value, (e) => (g(), o("linearGradient", {
992
1062
  key: "outer-grad-" + z(e.item.id),
993
1063
  id: "outer-grad-" + z(e.item.id),
994
1064
  gradientUnits: "userSpaceOnUse",
@@ -999,11 +1069,11 @@ var P = {
999
1069
  }, [s("stop", {
1000
1070
  offset: "0%",
1001
1071
  "stop-color": N(e.color, .75)
1002
- }, null, 8, oe), s("stop", {
1072
+ }, null, 8, ce), s("stop", {
1003
1073
  offset: "100%",
1004
1074
  "stop-color": N(e.color, .5)
1005
- }, null, 8, se)], 8, ae))), 128)),
1006
- (g(!0), o(e, null, y(ot.value, (e) => (g(), o("linearGradient", {
1075
+ }, null, 8, le)], 8, se))), 128)),
1076
+ (g(!0), o(e, null, y(st.value, (e) => (g(), o("linearGradient", {
1007
1077
  key: "inner-grad-" + z(e.item.id),
1008
1078
  id: "inner-grad-" + z(e.item.id),
1009
1079
  gradientUnits: "userSpaceOnUse",
@@ -1014,11 +1084,11 @@ var P = {
1014
1084
  }, [s("stop", {
1015
1085
  offset: "0%",
1016
1086
  "stop-color": N(e.color, .6)
1017
- }, null, 8, le), s("stop", {
1087
+ }, null, 8, de), s("stop", {
1018
1088
  offset: "100%",
1019
1089
  "stop-color": N(e.color, .4)
1020
- }, null, 8, ue)], 8, ce))), 128))
1021
- ])) : a("", !0), !B.value || B.value.length === 0 ? (g(), o("g", de, [s("text", {
1090
+ }, null, 8, fe)], 8, ue))), 128))
1091
+ ])) : a("", !0), !B.value || B.value.length === 0 ? (g(), o("g", pe, [s("text", {
1022
1092
  x: t.isExpanded ? 380 : 60,
1023
1093
  y: t.isExpanded ? 160 : 60,
1024
1094
  fill: "#64748b",
@@ -1026,20 +1096,20 @@ var P = {
1026
1096
  "font-family": "system-ui, -apple-system, sans-serif",
1027
1097
  "text-anchor": "middle",
1028
1098
  "dominant-baseline": "middle"
1029
- }, S(t.emptyText || "No data"), 9, fe)])) : (g(), o("g", pe, [
1030
- (g(!0), o(e, null, y(X.value.filter((e) => e.midY < at.value), (e) => (g(), o("g", {
1099
+ }, S(t.emptyText || "No data"), 9, me)])) : (g(), o("g", he, [
1100
+ (g(!0), o(e, null, y(ot.value.filter((e) => e.midY < at.value), (e) => (g(), o("g", {
1031
1101
  key: "slice-sub-back-" + e.item.id + "-" + e.midAngle,
1032
1102
  class: f(["slice-group-3d", {
1033
1103
  "is-hovered": C.value === e.item.id,
1034
1104
  "is-dimmed": C.value !== null && C.value !== e.item.id
1035
1105
  }]),
1036
- style: p(st(e))
1106
+ style: p(ct(e))
1037
1107
  }, [
1038
1108
  t.isExpanded && e.innerWallPath ? (g(), o("path", {
1039
1109
  key: 0,
1040
1110
  d: e.innerWallPath,
1041
1111
  fill: `url(#inner-grad-${z(e.item.id)})`
1042
- }, null, 8, me)) : a("", !0),
1112
+ }, null, 8, ge)) : a("", !0),
1043
1113
  t.isExpanded && e.innerWallStrokePath ? (g(), o("path", {
1044
1114
  key: 1,
1045
1115
  d: e.innerWallStrokePath,
@@ -1047,22 +1117,22 @@ var P = {
1047
1117
  stroke: `url(#inner-grad-${z(e.item.id)})`,
1048
1118
  "stroke-width": "0.8",
1049
1119
  "stroke-linejoin": "round"
1050
- }, null, 8, he)) : a("", !0),
1120
+ }, null, 8, _e)) : a("", !0),
1051
1121
  t.isExpanded && e.startCutPath ? (g(), o("path", {
1052
1122
  key: 2,
1053
1123
  d: e.startCutPath,
1054
1124
  fill: N(e.color, .65)
1055
- }, null, 8, ge)) : a("", !0),
1125
+ }, null, 8, ve)) : a("", !0),
1056
1126
  t.isExpanded && e.endCutPath ? (g(), o("path", {
1057
1127
  key: 3,
1058
1128
  d: e.endCutPath,
1059
1129
  fill: N(e.color, .75)
1060
- }, null, 8, _e)) : a("", !0),
1130
+ }, null, 8, ye)) : a("", !0),
1061
1131
  t.isExpanded && e.outerWallPath ? (g(), o("path", {
1062
1132
  key: 4,
1063
1133
  d: e.outerWallPath,
1064
1134
  fill: `url(#outer-grad-${z(e.item.id)})`
1065
- }, null, 8, ve)) : a("", !0),
1135
+ }, null, 8, be)) : a("", !0),
1066
1136
  t.isExpanded && e.outerWallStrokePath ? (g(), o("path", {
1067
1137
  key: 5,
1068
1138
  d: e.outerWallStrokePath,
@@ -1070,32 +1140,32 @@ var P = {
1070
1140
  stroke: `url(#outer-grad-${z(e.item.id)})`,
1071
1141
  "stroke-width": "0.8",
1072
1142
  "stroke-linejoin": "round"
1073
- }, null, 8, ye)) : a("", !0),
1074
- pt(e) ? (g(), o("path", {
1143
+ }, null, 8, xe)) : a("", !0),
1144
+ X(e) ? (g(), o("path", {
1075
1145
  key: 6,
1076
1146
  d: e.originalTopPath,
1077
1147
  fill: `url(#top-grad-${z(e.item.id)})`
1078
- }, null, 8, be)) : a("", !0),
1079
- pt(e) ? (g(), o("path", {
1148
+ }, null, 8, Se)) : a("", !0),
1149
+ X(e) ? (g(), o("path", {
1080
1150
  key: 7,
1081
1151
  d: e.topStrokePath,
1082
1152
  fill: "none",
1083
1153
  stroke: `url(#top-grad-${z(e.item.id)})`,
1084
1154
  "stroke-width": "0.8",
1085
1155
  "stroke-linejoin": "round"
1086
- }, null, 8, xe)) : a("", !0),
1087
- pt(e) ? (g(), o("path", {
1156
+ }, null, 8, Ce)) : a("", !0),
1157
+ X(e) ? (g(), o("path", {
1088
1158
  key: 8,
1089
1159
  d: e.topStrokePath,
1090
1160
  fill: "none",
1091
1161
  stroke: "rgba(255, 255, 255, 0.16)",
1092
1162
  "stroke-width": t.isExpanded ? .8 : .5,
1093
1163
  "stroke-linejoin": "round"
1094
- }, null, 8, Se)) : a("", !0)
1164
+ }, null, 8, we)) : a("", !0)
1095
1165
  ], 6))), 128)),
1096
1166
  c.showCenterText ? (g(), o("g", {
1097
1167
  key: 0,
1098
- transform: `translate(${H.value}, ${U.value})`,
1168
+ transform: `translate(${U.value}, ${W.value})`,
1099
1169
  class: "center-text-group"
1100
1170
  }, [s("text", {
1101
1171
  x: "0",
@@ -1106,7 +1176,7 @@ var P = {
1106
1176
  "font-family": "'JetBrains Mono', monospace",
1107
1177
  "text-anchor": "middle",
1108
1178
  "dominant-baseline": "middle"
1109
- }, S(We.value), 9, we), s("text", {
1179
+ }, S(te.value), 9, Ee), s("text", {
1110
1180
  x: "0",
1111
1181
  y: "10",
1112
1182
  class: "center-text-label",
@@ -1115,20 +1185,20 @@ var P = {
1115
1185
  "font-weight": "600",
1116
1186
  "text-anchor": "middle",
1117
1187
  "dominant-baseline": "middle"
1118
- }, S(Ge.value), 9, Te)], 8, Ce)) : a("", !0),
1119
- (g(!0), o(e, null, y(X.value.filter((e) => e.midY >= at.value), (e) => (g(), o("g", {
1188
+ }, S(V.value), 9, De)], 8, Te)) : a("", !0),
1189
+ (g(!0), o(e, null, y(ot.value.filter((e) => e.midY >= at.value), (e) => (g(), o("g", {
1120
1190
  key: "slice-sub-front-" + e.item.id + "-" + e.midAngle,
1121
1191
  class: f(["slice-group-3d", {
1122
1192
  "is-hovered": C.value === e.item.id,
1123
1193
  "is-dimmed": C.value !== null && C.value !== e.item.id
1124
1194
  }]),
1125
- style: p(st(e))
1195
+ style: p(ct(e))
1126
1196
  }, [
1127
1197
  t.isExpanded && e.innerWallPath ? (g(), o("path", {
1128
1198
  key: 0,
1129
1199
  d: e.innerWallPath,
1130
1200
  fill: `url(#inner-grad-${z(e.item.id)})`
1131
- }, null, 8, Ee)) : a("", !0),
1201
+ }, null, 8, Oe)) : a("", !0),
1132
1202
  t.isExpanded && e.innerWallStrokePath ? (g(), o("path", {
1133
1203
  key: 1,
1134
1204
  d: e.innerWallStrokePath,
@@ -1136,22 +1206,22 @@ var P = {
1136
1206
  stroke: `url(#inner-grad-${z(e.item.id)})`,
1137
1207
  "stroke-width": "0.8",
1138
1208
  "stroke-linejoin": "round"
1139
- }, null, 8, De)) : a("", !0),
1209
+ }, null, 8, ke)) : a("", !0),
1140
1210
  t.isExpanded && e.startCutPath ? (g(), o("path", {
1141
1211
  key: 2,
1142
1212
  d: e.startCutPath,
1143
1213
  fill: N(e.color, .65)
1144
- }, null, 8, Oe)) : a("", !0),
1214
+ }, null, 8, Ae)) : a("", !0),
1145
1215
  t.isExpanded && e.endCutPath ? (g(), o("path", {
1146
1216
  key: 3,
1147
1217
  d: e.endCutPath,
1148
1218
  fill: N(e.color, .75)
1149
- }, null, 8, ke)) : a("", !0),
1219
+ }, null, 8, je)) : a("", !0),
1150
1220
  t.isExpanded && e.outerWallPath ? (g(), o("path", {
1151
1221
  key: 4,
1152
1222
  d: e.outerWallPath,
1153
1223
  fill: `url(#outer-grad-${z(e.item.id)})`
1154
- }, null, 8, Ae)) : a("", !0),
1224
+ }, null, 8, Me)) : a("", !0),
1155
1225
  t.isExpanded && e.outerWallStrokePath ? (g(), o("path", {
1156
1226
  key: 5,
1157
1227
  d: e.outerWallStrokePath,
@@ -1159,30 +1229,30 @@ var P = {
1159
1229
  stroke: `url(#outer-grad-${z(e.item.id)})`,
1160
1230
  "stroke-width": "0.8",
1161
1231
  "stroke-linejoin": "round"
1162
- }, null, 8, je)) : a("", !0),
1163
- pt(e) ? (g(), o("path", {
1232
+ }, null, 8, Ne)) : a("", !0),
1233
+ X(e) ? (g(), o("path", {
1164
1234
  key: 6,
1165
1235
  d: e.originalTopPath,
1166
1236
  fill: `url(#top-grad-${z(e.item.id)})`
1167
- }, null, 8, Me)) : a("", !0),
1168
- pt(e) ? (g(), o("path", {
1237
+ }, null, 8, Pe)) : a("", !0),
1238
+ X(e) ? (g(), o("path", {
1169
1239
  key: 7,
1170
1240
  d: e.topStrokePath,
1171
1241
  fill: "none",
1172
1242
  stroke: `url(#top-grad-${z(e.item.id)})`,
1173
1243
  "stroke-width": "0.8",
1174
1244
  "stroke-linejoin": "round"
1175
- }, null, 8, Ne)) : a("", !0),
1176
- pt(e) ? (g(), o("path", {
1245
+ }, null, 8, Fe)) : a("", !0),
1246
+ X(e) ? (g(), o("path", {
1177
1247
  key: 8,
1178
1248
  d: e.topStrokePath,
1179
1249
  fill: "none",
1180
1250
  stroke: "rgba(255, 255, 255, 0.16)",
1181
1251
  "stroke-width": t.isExpanded ? .8 : .5,
1182
1252
  "stroke-linejoin": "round"
1183
- }, null, 8, Pe)) : a("", !0)
1253
+ }, null, 8, Ie)) : a("", !0)
1184
1254
  ], 6))), 128)),
1185
- (g(!0), o(e, null, y(ot.value, (e) => (g(), o("g", {
1255
+ (g(!0), o(e, null, y(st.value, (e) => (g(), o("g", {
1186
1256
  key: "hover-trigger-" + e.item.id,
1187
1257
  class: "hover-trigger-group",
1188
1258
  style: p({ cursor: c.selectable && !j.value ? "pointer" : "default" }),
@@ -1192,18 +1262,18 @@ var P = {
1192
1262
  }, [s("path", {
1193
1263
  d: e.hoverPath || e.originalTopPath,
1194
1264
  fill: "transparent"
1195
- }, null, 8, Ie), e.originalOuterWallPath ? (g(), o("path", {
1265
+ }, null, 8, Re), e.originalOuterWallPath ? (g(), o("path", {
1196
1266
  key: 0,
1197
1267
  d: e.originalOuterWallPath,
1198
1268
  fill: "transparent"
1199
- }, null, 8, Le)) : a("", !0)], 44, Fe))), 128)),
1269
+ }, null, 8, ze)) : a("", !0)], 44, Le))), 128)),
1200
1270
  s("g", {
1201
1271
  class: "labels-layer",
1202
1272
  style: p({
1203
1273
  opacity: Y.value,
1204
1274
  pointerEvents: Y.value > .01 ? "auto" : "none"
1205
1275
  })
1206
- }, [(g(!0), o(e, null, y(lt.value, (e, t) => (g(), o("g", {
1276
+ }, [(g(!0), o(e, null, y(ut.value, (e, t) => (g(), o("g", {
1207
1277
  key: "label-left-" + e.item.id,
1208
1278
  class: f(["label-group", {
1209
1279
  "is-hovered": C.value === e.item.id,
@@ -1214,11 +1284,11 @@ var P = {
1214
1284
  onClick: (t) => E(e.item.id),
1215
1285
  style: p({ cursor: c.selectable && !j.value ? "pointer" : "default" })
1216
1286
  }, [s("path", {
1217
- d: dt(e),
1287
+ d: ft(e),
1218
1288
  fill: "none",
1219
1289
  stroke: e.color,
1220
1290
  "stroke-width": "1.2"
1221
- }, null, 8, ze), s("text", {
1291
+ }, null, 8, Ve), s("text", {
1222
1292
  x: "85",
1223
1293
  y: e.finalY,
1224
1294
  fill: e.color,
@@ -1228,7 +1298,7 @@ var P = {
1228
1298
  "text-anchor": "end",
1229
1299
  "dominant-baseline": "middle",
1230
1300
  style: p(C.value === e.item.id ? "transform: translate(0, -5px);" : "")
1231
- }, S(R(e.item.name, 24)) + " " + S(L(e.item.value)) + " " + S(e.item.unit || "") + " (" + S(e.item.percentage) + "%) ", 13, Be)], 46, Re))), 128)), (g(!0), o(e, null, y(ut.value, (e, t) => (g(), o("g", {
1301
+ }, S(R(e.item.name, 24)) + " " + S(L(e.item.value)) + " " + S(e.item.unit || "") + " (" + S(e.item.percentage) + "%) ", 13, He)], 46, Be))), 128)), (g(!0), o(e, null, y(dt.value, (e, t) => (g(), o("g", {
1232
1302
  key: "label-right-" + e.item.id,
1233
1303
  class: f(["label-group", {
1234
1304
  "is-hovered": C.value === e.item.id,
@@ -1239,11 +1309,11 @@ var P = {
1239
1309
  onClick: (t) => E(e.item.id),
1240
1310
  style: p({ cursor: c.selectable && !j.value ? "pointer" : "default" })
1241
1311
  }, [s("path", {
1242
- d: dt(e),
1312
+ d: ft(e),
1243
1313
  fill: "none",
1244
1314
  stroke: e.color,
1245
1315
  "stroke-width": "1.2"
1246
- }, null, 8, He), s("text", {
1316
+ }, null, 8, We), s("text", {
1247
1317
  x: "675",
1248
1318
  y: e.finalY,
1249
1319
  fill: e.color,
@@ -1253,21 +1323,21 @@ var P = {
1253
1323
  "text-anchor": "start",
1254
1324
  "dominant-baseline": "middle",
1255
1325
  style: p(C.value === e.item.id ? "transform: translate(0, -5px);" : "")
1256
- }, S(R(e.item.name, 24)) + " " + S(L(e.item.value)) + " " + S(e.item.unit || "") + " (" + S(e.item.percentage) + "%) ", 13, Ue)], 46, Ve))), 128))], 4)
1257
- ]))], 8, ee))], 2));
1326
+ }, S(R(e.item.name, 24)) + " " + S(L(e.item.value)) + " " + S(e.item.unit || "") + " (" + S(e.item.percentage) + "%) ", 13, Ge)], 46, Ue))), 128))], 4)
1327
+ ]))], 8, ne))], 2));
1258
1328
  }
1259
- }, [["__scopeId", "data-v-acd0447d"]]), Ge = { class: "nano-scrub-label" }, Ke = {
1329
+ }, [["__scopeId", "data-v-6b25a1b8"]]), qe = { class: "nano-scrub-label" }, Je = {
1260
1330
  key: 0,
1261
1331
  class: "nano-scrub-overlay"
1262
- }, qe = {
1332
+ }, Ye = {
1263
1333
  key: 1,
1264
1334
  class: "nano-scrub-svg-line"
1265
- }, Je = [
1335
+ }, Xe = [
1266
1336
  "x1",
1267
1337
  "y1",
1268
1338
  "x2",
1269
1339
  "y2"
1270
- ], Ye = { class: "nano-scrub-popup-val" }, Xe = { class: "nano-scrub-popup-res" }, Ze = /* @__PURE__ */ F(/* @__PURE__ */ Object.assign({ inheritAttrs: !1 }, {
1340
+ ], Ze = { class: "nano-scrub-popup-val" }, Qe = { class: "nano-scrub-popup-res" }, H = /* @__PURE__ */ L(/* @__PURE__ */ Object.assign({ inheritAttrs: !1 }, {
1271
1341
  __name: "PrecisionScrubber",
1272
1342
  props: {
1273
1343
  modelValue: {
@@ -1345,7 +1415,7 @@ var P = {
1345
1415
  }, r.$attrs), [s("div", {
1346
1416
  class: "nano-scrub-progress",
1347
1417
  style: p({ width: O.value + "%" })
1348
- }, null, 4), s("span", Ge, S(n.label), 1)], 16), (g(), i(t, { to: "body" }, [m.value ? (g(), o("div", Ke, [
1418
+ }, null, 4), s("span", qe, S(n.label), 1)], 16), (g(), i(t, { to: "body" }, [m.value ? (g(), o("div", Je, [
1349
1419
  h.value ? (g(), o("div", {
1350
1420
  key: 0,
1351
1421
  class: "nano-scrub-anchor",
@@ -1354,7 +1424,7 @@ var P = {
1354
1424
  top: x.value + "px"
1355
1425
  })
1356
1426
  }, null, 4)) : a("", !0),
1357
- h.value ? (g(), o("svg", qe, [s("line", {
1427
+ h.value ? (g(), o("svg", Ye, [s("line", {
1358
1428
  x1: b.value,
1359
1429
  y1: x.value,
1360
1430
  x2: w.value,
@@ -1363,7 +1433,7 @@ var P = {
1363
1433
  "stroke-dasharray": "4,4",
1364
1434
  "stroke-width": "1.5",
1365
1435
  opacity: "0.6"
1366
- }, null, 8, Je)])) : a("", !0),
1436
+ }, null, 8, Xe)])) : a("", !0),
1367
1437
  s("div", {
1368
1438
  class: "nano-scrub-popup",
1369
1439
  style: p({
@@ -1372,21 +1442,21 @@ var P = {
1372
1442
  })
1373
1443
  }, [
1374
1444
  c[0] ||= s("div", { class: "nano-scrub-popup-title" }, "Scrubbing Mode", -1),
1375
- s("div", Ye, S(k.value), 1),
1376
- s("div", Xe, S(E.value), 1)
1445
+ s("div", Ze, S(k.value), 1),
1446
+ s("div", Qe, S(E.value), 1)
1377
1447
  ], 4)
1378
1448
  ])) : a("", !0)]))], 64));
1379
1449
  }
1380
- }), [["__scopeId", "data-v-21b41bc4"]]), Qe = { class: "header-inner" }, $e = {
1450
+ }), [["__scopeId", "data-v-21b41bc4"]]), U = { class: "header-inner" }, W = {
1381
1451
  key: 0,
1382
1452
  class: "header-left"
1383
- }, H = {
1453
+ }, G = {
1384
1454
  key: 1,
1385
1455
  class: "header-center"
1386
- }, U = {
1456
+ }, $e = {
1387
1457
  key: 2,
1388
1458
  class: "header-right"
1389
- }, W = /* @__PURE__ */ F({
1459
+ }, K = /* @__PURE__ */ L({
1390
1460
  __name: "MutatingHeader",
1391
1461
  props: {
1392
1462
  threshold: {
@@ -1457,39 +1527,39 @@ var P = {
1457
1527
  "--floating-margin": e.floatingMargin,
1458
1528
  "--floating-radius": e.floatingRadius
1459
1529
  })
1460
- }, [s("div", Qe, [
1461
- t.$slots.left ? (g(), o("div", $e, [b(t.$slots, "left", { isStuck: l.value }, void 0, !0)])) : a("", !0),
1462
- t.$slots.center ? (g(), o("div", H, [b(t.$slots, "center", { isStuck: l.value }, void 0, !0)])) : a("", !0),
1463
- t.$slots.right ? (g(), o("div", U, [b(t.$slots, "right", { isStuck: l.value }, void 0, !0)])) : a("", !0),
1530
+ }, [s("div", U, [
1531
+ t.$slots.left ? (g(), o("div", W, [b(t.$slots, "left", { isStuck: l.value }, void 0, !0)])) : a("", !0),
1532
+ t.$slots.center ? (g(), o("div", G, [b(t.$slots, "center", { isStuck: l.value }, void 0, !0)])) : a("", !0),
1533
+ t.$slots.right ? (g(), o("div", $e, [b(t.$slots, "right", { isStuck: l.value }, void 0, !0)])) : a("", !0),
1464
1534
  !t.$slots.left && !t.$slots.center && !t.$slots.right ? b(t.$slots, "default", {
1465
1535
  key: 3,
1466
1536
  isStuck: l.value
1467
1537
  }, void 0, !0) : a("", !0)
1468
1538
  ])], 6));
1469
1539
  }
1470
- }, [["__scopeId", "data-v-fd47d0d0"]]), G = [
1540
+ }, [["__scopeId", "data-v-fd47d0d0"]]), q = [
1471
1541
  "viewBox",
1472
1542
  "width",
1473
1543
  "height"
1474
- ], K = ["points"], q = ["points"], et = ["points"], J = ["points"], tt = [
1544
+ ], et = ["points"], J = ["points"], tt = ["points"], nt = ["points"], Y = [
1475
1545
  "x1",
1476
1546
  "y1",
1477
1547
  "x2",
1478
1548
  "y2"
1479
- ], nt = ["x", "y"], Y = [
1549
+ ], rt = ["x", "y"], it = [
1480
1550
  "points",
1481
1551
  "fill",
1482
1552
  "stroke",
1483
1553
  "opacity"
1484
- ], rt = [
1554
+ ], at = [
1485
1555
  "points",
1486
1556
  "fill",
1487
1557
  "stroke"
1488
- ], it = [
1558
+ ], ot = [
1489
1559
  "cx",
1490
1560
  "cy",
1491
1561
  "fill"
1492
- ], at = /* @__PURE__ */ F({
1562
+ ], st = /* @__PURE__ */ L({
1493
1563
  __name: "TopologyRadar",
1494
1564
  props: {
1495
1565
  size: {
@@ -1558,25 +1628,25 @@ var P = {
1558
1628
  fill: "var(--nano-radar-grid-bg, rgba(15,23,42,0.8))",
1559
1629
  stroke: "var(--nano-radar-grid-stroke, rgba(255,255,255,0.1))",
1560
1630
  "stroke-width": "1"
1561
- }, null, 8, K),
1631
+ }, null, 8, et),
1562
1632
  s("polygon", {
1563
1633
  points: f(.75),
1564
1634
  fill: "none",
1565
1635
  stroke: "var(--nano-radar-grid-subtle, rgba(255,255,255,0.05))",
1566
1636
  "stroke-width": "1"
1567
- }, null, 8, q),
1637
+ }, null, 8, J),
1568
1638
  s("polygon", {
1569
1639
  points: f(.5),
1570
1640
  fill: "none",
1571
1641
  stroke: "var(--nano-radar-grid-subtle, rgba(255,255,255,0.05))",
1572
1642
  "stroke-width": "1"
1573
- }, null, 8, et),
1643
+ }, null, 8, tt),
1574
1644
  s("polygon", {
1575
1645
  points: f(.25),
1576
1646
  fill: "none",
1577
1647
  stroke: "var(--nano-radar-grid-subtle, rgba(255,255,255,0.05))",
1578
1648
  "stroke-width": "1"
1579
- }, null, 8, J),
1649
+ }, null, 8, nt),
1580
1650
  (g(!0), o(e, null, y(t.labels, (e, n) => (g(), o("line", {
1581
1651
  key: "axis-" + n,
1582
1652
  x1: t.size / 2,
@@ -1585,7 +1655,7 @@ var P = {
1585
1655
  y2: d(100, n).y,
1586
1656
  stroke: "var(--nano-radar-grid-stroke, rgba(255,255,255,0.1))",
1587
1657
  "stroke-width": "1"
1588
- }, null, 8, tt))), 128)),
1658
+ }, null, 8, Y))), 128)),
1589
1659
  (g(!0), o(e, null, y(t.labels, (e, t) => (g(), o("text", {
1590
1660
  key: "label-" + t,
1591
1661
  x: d(115, t).x,
@@ -1596,7 +1666,7 @@ var P = {
1596
1666
  "font-weight": "bold",
1597
1667
  "text-anchor": "middle",
1598
1668
  "dominant-baseline": "middle"
1599
- }, S(e), 9, nt))), 128)),
1669
+ }, S(e), 9, rt))), 128)),
1600
1670
  (g(!0), o(e, null, y(t.history, (e, n) => (g(), o("polygon", {
1601
1671
  key: "hist-" + n,
1602
1672
  points: m(e),
@@ -1604,7 +1674,7 @@ var P = {
1604
1674
  stroke: t.color,
1605
1675
  "stroke-width": 1,
1606
1676
  opacity: .1 + n / Math.max(1, t.history.length) * .4
1607
- }, null, 8, Y))), 128)),
1677
+ }, null, 8, it))), 128)),
1608
1678
  t.history.length > 0 ? (g(), o("polygon", {
1609
1679
  key: 0,
1610
1680
  points: m(t.history[t.history.length - 1]),
@@ -1612,7 +1682,7 @@ var P = {
1612
1682
  stroke: t.color,
1613
1683
  "stroke-width": "2.5",
1614
1684
  style: { filter: "drop-shadow(0 0 8px rgba(0, 229, 255, 0.5))" }
1615
- }, null, 8, rt)) : a("", !0),
1685
+ }, null, 8, at)) : a("", !0),
1616
1686
  t.history.length > 0 ? (g(!0), o(e, { key: 1 }, y(t.history[t.history.length - 1], (e, n) => (g(), o("circle", {
1617
1687
  key: "pt-" + n,
1618
1688
  cx: d(e, n).x,
@@ -1620,19 +1690,19 @@ var P = {
1620
1690
  r: "3",
1621
1691
  fill: t.color,
1622
1692
  style: { filter: "drop-shadow(0 0 5px rgba(0, 229, 255, 0.8))" }
1623
- }, null, 8, it))), 128)) : a("", !0)
1624
- ], 8, G))], 4));
1693
+ }, null, 8, ot))), 128)) : a("", !0)
1694
+ ], 8, q))], 4));
1625
1695
  }
1626
- }, [["__scopeId", "data-v-bb4bd598"]]), X = ["for"], ot = [
1696
+ }, [["__scopeId", "data-v-bb4bd598"]]), ct = ["for"], lt = [
1627
1697
  "checked",
1628
1698
  "disabled",
1629
1699
  "name",
1630
1700
  "id",
1631
1701
  "aria-checked"
1632
- ], st = {
1702
+ ], ut = {
1633
1703
  key: 0,
1634
1704
  class: "nano-switch-label"
1635
- }, ct = /* @__PURE__ */ F({
1705
+ }, dt = /* @__PURE__ */ L({
1636
1706
  __name: "NanoSwitch",
1637
1707
  props: {
1638
1708
  modelValue: {
@@ -1714,12 +1784,12 @@ var P = {
1714
1784
  onChange: p,
1715
1785
  role: "switch",
1716
1786
  "aria-checked": u.value ? "mixed" : d.value
1717
- }, null, 40, ot),
1787
+ }, null, 40, lt),
1718
1788
  n[0] ||= s("div", { class: "nano-switch-slider" }, null, -1),
1719
- e.label || t.$slots.default ? (g(), o("span", st, [b(t.$slots, "default", {}, () => [c(S(e.label), 1)], !0)])) : a("", !0)
1720
- ], 10, X));
1789
+ e.label || t.$slots.default ? (g(), o("span", ut, [b(t.$slots, "default", {}, () => [c(S(e.label), 1)], !0)])) : a("", !0)
1790
+ ], 10, ct));
1721
1791
  }
1722
- }, [["__scopeId", "data-v-50b63887"]]), lt = { class: "rotator-fallback" }, ut = { class: "fallback-angle" }, dt = /* @__PURE__ */ F({
1792
+ }, [["__scopeId", "data-v-50b63887"]]), ft = { class: "rotator-fallback" }, pt = { class: "fallback-angle" }, X = /* @__PURE__ */ L({
1723
1793
  __name: "KineticRotator",
1724
1794
  props: {
1725
1795
  modelValue: {
@@ -1908,18 +1978,18 @@ var P = {
1908
1978
  acceleration: D.value,
1909
1979
  isMoving: O.value,
1910
1980
  progress: k.value
1911
- }, () => [s("div", lt, [t[0] ||= s("span", { class: "fallback-icon" }, "⚡", -1), s("span", ut, S(Math.round(y(C.value))) + "°", 1)])], !0)], 4)], 4));
1981
+ }, () => [s("div", ft, [t[0] ||= s("span", { class: "fallback-icon" }, "⚡", -1), s("span", pt, S(Math.round(y(C.value))) + "°", 1)])], !0)], 4)], 4));
1912
1982
  }
1913
- }, [["__scopeId", "data-v-abbbb111"]]), ft = {
1983
+ }, [["__scopeId", "data-v-abbbb111"]]), mt = {
1914
1984
  key: 0,
1915
1985
  class: "code-block-header"
1916
- }, pt = { class: "code-block-title-group" }, mt = {
1986
+ }, ht = { class: "code-block-title-group" }, gt = {
1917
1987
  key: 0,
1918
1988
  class: "code-block-title"
1919
- }, ht = {
1989
+ }, _t = {
1920
1990
  key: 1,
1921
1991
  class: "code-block-lang"
1922
- }, gt = { class: "code-block-actions" }, _t = ["aria-label"], vt = {
1992
+ }, vt = { class: "code-block-actions" }, yt = ["aria-label"], bt = {
1923
1993
  key: 0,
1924
1994
  class: "action-svg",
1925
1995
  viewBox: "0 0 24 24",
@@ -1928,7 +1998,7 @@ var P = {
1928
1998
  "stroke-width": "2",
1929
1999
  "stroke-linecap": "round",
1930
2000
  "stroke-linejoin": "round"
1931
- }, yt = {
2001
+ }, xt = {
1932
2002
  key: 1,
1933
2003
  class: "action-svg",
1934
2004
  viewBox: "0 0 24 24",
@@ -1937,7 +2007,7 @@ var P = {
1937
2007
  "stroke-width": "2",
1938
2008
  "stroke-linecap": "round",
1939
2009
  "stroke-linejoin": "round"
1940
- }, bt = ["aria-label"], xt = {
2010
+ }, St = ["aria-label"], Ct = {
1941
2011
  key: 0,
1942
2012
  class: "action-svg",
1943
2013
  viewBox: "0 0 24 24",
@@ -1946,7 +2016,7 @@ var P = {
1946
2016
  "stroke-width": "2",
1947
2017
  "stroke-linecap": "round",
1948
2018
  "stroke-linejoin": "round"
1949
- }, St = {
2019
+ }, wt = {
1950
2020
  key: 1,
1951
2021
  class: "action-svg success-icon",
1952
2022
  viewBox: "0 0 24 24",
@@ -1955,7 +2025,7 @@ var P = {
1955
2025
  "stroke-width": "2.5",
1956
2026
  "stroke-linecap": "round",
1957
2027
  "stroke-linejoin": "round"
1958
- }, Ct = /* @__PURE__ */ F({
2028
+ }, Tt = /* @__PURE__ */ L({
1959
2029
  __name: "NanoCodeBlock",
1960
2030
  props: {
1961
2031
  title: {
@@ -2010,13 +2080,13 @@ var P = {
2010
2080
  });
2011
2081
  return (t, n) => {
2012
2082
  let r = x("tooltip");
2013
- return g(), o("div", { class: f(["nano-code-block", { "is-wrapped": l.value }]) }, [e.title || e.lang || t.$slots.header || e.allowWrap || e.allowCopy ? (g(), o("div", ft, [s("div", pt, [b(t.$slots, "header", {}, () => [e.title ? (g(), o("span", mt, S(e.title), 1)) : a("", !0), e.lang ? (g(), o("span", ht, S(e.lang), 1)) : a("", !0)], !0)]), s("div", gt, [e.allowWrap ? E((g(), o("button", {
2083
+ return g(), o("div", { class: f(["nano-code-block", { "is-wrapped": l.value }]) }, [e.title || e.lang || t.$slots.header || e.allowWrap || e.allowCopy ? (g(), o("div", mt, [s("div", ht, [b(t.$slots, "header", {}, () => [e.title ? (g(), o("span", gt, S(e.title), 1)) : a("", !0), e.lang ? (g(), o("span", _t, S(e.lang), 1)) : a("", !0)], !0)]), s("div", vt, [e.allowWrap ? E((g(), o("button", {
2014
2084
  key: 0,
2015
2085
  type: "button",
2016
2086
  class: f(["code-action-btn", { active: l.value }]),
2017
2087
  onClick: h,
2018
2088
  "aria-label": l.value ? "Unwrap lines (Scroll mode)" : "Wrap lines (Word-wrap mode)"
2019
- }, [l.value ? (g(), o("svg", yt, [...n[1] ||= [
2089
+ }, [l.value ? (g(), o("svg", xt, [...n[1] ||= [
2020
2090
  s("line", {
2021
2091
  x1: "3",
2022
2092
  y1: "6",
@@ -2035,30 +2105,30 @@ var P = {
2035
2105
  x2: "21",
2036
2106
  y2: "18"
2037
2107
  }, null, -1)
2038
- ]])) : (g(), o("svg", vt, [...n[0] ||= [s("polyline", { points: "9 10 4 15 9 20" }, null, -1), s("path", { d: "M20 4v7a4 4 0 0 1-4 4H4" }, null, -1)]]))], 10, _t)), [[r, l.value ? "Unwrap lines (Scroll)" : "Wrap lines"]]) : a("", !0), e.allowCopy ? E((g(), o("button", {
2108
+ ]])) : (g(), o("svg", bt, [...n[0] ||= [s("polyline", { points: "9 10 4 15 9 20" }, null, -1), s("path", { d: "M20 4v7a4 4 0 0 1-4 4H4" }, null, -1)]]))], 10, yt)), [[r, l.value ? "Unwrap lines (Scroll)" : "Wrap lines"]]) : a("", !0), e.allowCopy ? E((g(), o("button", {
2039
2109
  key: 1,
2040
2110
  type: "button",
2041
2111
  class: f(["code-action-btn", { copied: u.value }]),
2042
2112
  onClick: _,
2043
2113
  "aria-label": u.value ? "Copied to clipboard" : "Copy code to clipboard"
2044
- }, [u.value ? (g(), o("svg", St, [...n[3] ||= [s("polyline", { points: "20 6 9 17 4 12" }, null, -1)]])) : (g(), o("svg", xt, [...n[2] ||= [s("rect", {
2114
+ }, [u.value ? (g(), o("svg", wt, [...n[3] ||= [s("polyline", { points: "20 6 9 17 4 12" }, null, -1)]])) : (g(), o("svg", Ct, [...n[2] ||= [s("rect", {
2045
2115
  x: "9",
2046
2116
  y: "9",
2047
2117
  width: "13",
2048
2118
  height: "13",
2049
2119
  rx: "2",
2050
2120
  ry: "2"
2051
- }, null, -1), s("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" }, null, -1)]]))], 10, bt)), [[r, u.value ? "Copied!" : "Copy code"]]) : a("", !0)])])) : a("", !0), s("div", {
2121
+ }, null, -1), s("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" }, null, -1)]]))], 10, St)), [[r, u.value ? "Copied!" : "Copy code"]]) : a("", !0)])])) : a("", !0), s("div", {
2052
2122
  class: "code-block-body",
2053
2123
  style: p({ maxHeight: y.value })
2054
2124
  }, [s("pre", {
2055
2125
  ref_key: "preRef",
2056
2126
  ref: d,
2057
2127
  class: "code-block-pre"
2058
- }, [s("code", null, [b(t.$slots, "default", {}, () => [c(S(e.code), 1)], !0)])], 512)], 4)], 2);
2128
+ }, [b(t.$slots, "default", {}, () => [c(S(e.code), 1)], !0)], 512)], 4)], 2);
2059
2129
  };
2060
2130
  }
2061
- }, [["__scopeId", "data-v-9bc464f3"]]), Z = {
2131
+ }, [["__scopeId", "data-v-3f0f2177"]]), Z = {
2062
2132
  instant: 100,
2063
2133
  fast: 150,
2064
2134
  normal: 200,
@@ -2120,7 +2190,7 @@ var P = {
2120
2190
  ease: Q.linear,
2121
2191
  css: `${Z.ripple}ms ${Q.linear}`
2122
2192
  }
2123
- }, wt = {
2193
+ }, Et = {
2124
2194
  "--nano-duration-fast": `${Z.fast}ms`,
2125
2195
  "--nano-duration": `${Z.normal}ms`,
2126
2196
  "--nano-duration-toggle": `${Z.toggle}ms`,
@@ -2142,8 +2212,12 @@ var P = {
2142
2212
  //#endregion
2143
2213
  //#region src/index.js
2144
2214
  k.init("nano-ui", "https://analytics.7u.pl");
2145
- var Tt = { install(e) {
2146
- e.directive("ripple", A), e.directive("tooltip", P), e.component("GlobalTooltip", I), e.component("NanoModal", V), e.component("ThreeDDonutChart", We), e.component("PrecisionScrubber", Ze), e.component("TopologyRadar", at), e.component("MutatingHeader", W), e.component("NanoSwitch", ct), e.component("KineticRotator", dt), e.component("NanoCodeBlock", Ct);
2147
- } };
2215
+ var Dt = A.version, Ot = { isPreTag: (e) => e === "pre" || e === "NanoCodeBlock" || e === "nano-code-block" }, kt = {
2216
+ version: A.version,
2217
+ install(e, { directivePrefix: t = "", componentPrefix: n = "" } = {}) {
2218
+ let r = t ? `${t}-` : "", i = n ? `${n}` : "";
2219
+ e.directive(`${r}ripple`, M), e.directive(`${r}tooltip`, I), e.component(`${i}GlobalTooltip`, R), e.component(`${i}NanoModal`, V), e.component(`${i}ThreeDDonutChart`, Ke), e.component(`${i}PrecisionScrubber`, H), e.component(`${i}TopologyRadar`, st), e.component(`${i}MutatingHeader`, K), e.component(`${i}NanoSwitch`, dt), e.component(`${i}KineticRotator`, X), e.component(`${i}NanoCodeBlock`, Tt);
2220
+ }
2221
+ };
2148
2222
  //#endregion
2149
- export { I as GlobalTooltip, dt as KineticRotator, W as MutatingHeader, Ct as NanoCodeBlock, V as NanoModal, ct as NanoSwitch, Ze as PrecisionScrubber, A as Ripple, We as ThreeDDonutChart, at as TopologyRadar, Tt as default, Z as durations, Q as easings, N as hideTooltip, M as showTooltip, P as tooltipDirective, j as tooltipState, wt as transitionVariables, $ as transitions };
2223
+ export { R as GlobalTooltip, X as KineticRotator, K as MutatingHeader, Tt as NanoCodeBlock, V as NanoModal, dt as NanoSwitch, H as PrecisionScrubber, M as Ripple, Ke as ThreeDDonutChart, st as TopologyRadar, kt as default, Z as durations, Q as easings, F as hideTooltip, j as initTheme, Ot as nanoCompilerOptions, P as showTooltip, I as tooltipDirective, N as tooltipState, Et as transitionVariables, $ as transitions, Dt as version };