@pinia/colada-devtools 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/index.js +131 -131
  2. package/dist/index.js.map +1 -1
  3. package/dist-panel/{(unselected)-1XtzP47s.js → (unselected)-BQ3qDKQ9.js} +4 -4
  4. package/dist-panel/{(unselected)-1XtzP47s.js.map → (unselected)-BQ3qDKQ9.js.map} +1 -1
  5. package/dist-panel/(unselected)-DAm41Y3x.js +17 -0
  6. package/dist-panel/{(unselected)-CF4tcOEp.js.map → (unselected)-DAm41Y3x.js.map} +1 -1
  7. package/dist-panel/{_mutationId_-DmzWbpVT.js → _mutationId_int_-erdQKyLR.js} +39 -39
  8. package/dist-panel/_mutationId_int_-erdQKyLR.js.map +1 -0
  9. package/dist-panel/{_queryId_-5tGPPWCM.js → _queryId_-B4Df55YE.js} +51 -51
  10. package/dist-panel/{_queryId_-5tGPPWCM.js.map → _queryId_-B4Df55YE.js.map} +1 -1
  11. package/dist-panel/{circle-x-eNhJ6QJ3.js → circle-x-InxlHvaS.js} +35 -35
  12. package/dist-panel/{circle-x-eNhJ6QJ3.js.map → circle-x-InxlHvaS.js.map} +1 -1
  13. package/dist-panel/index-CYb5D1Be.js +6270 -0
  14. package/dist-panel/index-CYb5D1Be.js.map +1 -0
  15. package/dist-panel/index-DLKyTdsm.js +10 -0
  16. package/dist-panel/{index-C5FekW9K.js.map → index-DLKyTdsm.js.map} +1 -1
  17. package/dist-panel/index.js +1 -1
  18. package/dist-panel/{loader-DjhAUFXk.js → loader-Ca7c0zg-.js} +4 -4
  19. package/dist-panel/loader-Ca7c0zg-.js.map +1 -0
  20. package/dist-panel/{mouse-pointer-click-BwcHzNw_.js → mouse-pointer-click-ClYfwImy.js} +3 -3
  21. package/dist-panel/mouse-pointer-click-ClYfwImy.js.map +1 -0
  22. package/dist-panel/{mutations-Fiuj8fCV.js → mutations-pMmse5fr.js} +15 -15
  23. package/dist-panel/mutations-pMmse5fr.js.map +1 -0
  24. package/dist-panel/queries-BM6WYBXZ.js +312 -0
  25. package/dist-panel/queries-BM6WYBXZ.js.map +1 -0
  26. package/dist-panel/settings-C2hLj-3B.js +10 -0
  27. package/dist-panel/{settings-BHmLo73t.js.map → settings-C2hLj-3B.js.map} +1 -1
  28. package/dist-panel/{use-container-media-query-DHWhgIKV.js → use-container-media-query-CrxtYrv0.js} +43 -43
  29. package/dist-panel/{use-container-media-query-DHWhgIKV.js.map → use-container-media-query-CrxtYrv0.js.map} +1 -1
  30. package/package.json +11 -12
  31. package/dist-panel/(unselected)-CF4tcOEp.js +0 -17
  32. package/dist-panel/_mutationId_-DmzWbpVT.js.map +0 -1
  33. package/dist-panel/index-C5FekW9K.js +0 -10
  34. package/dist-panel/index-D0GQZaew.js +0 -6438
  35. package/dist-panel/index-D0GQZaew.js.map +0 -1
  36. package/dist-panel/loader-DjhAUFXk.js.map +0 -1
  37. package/dist-panel/mouse-pointer-click-BwcHzNw_.js.map +0 -1
  38. package/dist-panel/mutations-Fiuj8fCV.js.map +0 -1
  39. package/dist-panel/queries-Czfs9c3l.js +0 -286
  40. package/dist-panel/queries-Czfs9c3l.js.map +0 -1
  41. package/dist-panel/settings-BHmLo73t.js +0 -10
@@ -1,4 +1,4 @@
1
- import { m as A, c as C, o as R, a as g, d as j, b as w, D as Se, _ as ye, E as F, G as ee, H as Q, I as we, J as _e, K as Pe, L as Me, j as L, v as T, M as te, N as ne, O as E, P as ae, n as be, Q as q, R as $, S as ke, T as Ce, g as Y, U as Re, V as Ee, W as Ne } from "./index-D0GQZaew.js";
1
+ import { m as A, o as C, c as R, a as g, d as U, D as Se, i as w, _ as ye, E as ee, G as F, H as Q, I as we, J as _e, K as Pe, L as $, M as Me, x as T, N as te, O as ne, P as ae, Q as ke, e as Y, p as L, R as be, n as Ce, S as q, T as E, U as Re, V as Ee, W as Ne } from "./index-CYb5D1Be.js";
2
2
  import { miniJsonParse as $e } from "@pinia/colada-devtools/shared";
3
3
  const Le = {
4
4
  viewBox: "0 0 24 24",
@@ -6,7 +6,7 @@ const Le = {
6
6
  height: "1.2em"
7
7
  };
8
8
  function De(p, r) {
9
- return R(), C("svg", Le, [...r[0] || (r[0] = [
9
+ return C(), R("svg", Le, [...r[0] || (r[0] = [
10
10
  g("g", {
11
11
  fill: "none",
12
12
  stroke: "currentColor",
@@ -22,7 +22,7 @@ function De(p, r) {
22
22
  const Ye = A({ name: "lucide-inbox", render: De }), Oe = {
23
23
  class: "progress-bar",
24
24
  "aria-hidden": ""
25
- }, Be = /* @__PURE__ */ j({
25
+ }, Be = /* @__PURE__ */ U({
26
26
  __name: "UCircleProgress.ce",
27
27
  props: {
28
28
  value: { type: Number },
@@ -36,7 +36,7 @@ const Ye = A({ name: "lucide-inbox", render: De }), Oe = {
36
36
  b5e811ce: c.strokeWidth
37
37
  }));
38
38
  const r = w(() => Math.round((p.value - p.min) / (p.max - p.min) * 100));
39
- return (c, l) => (R(), C("div", Oe, [...l[0] || (l[0] = [
39
+ return (c, l) => (C(), R("div", Oe, [...l[0] || (l[0] = [
40
40
  g("svg", null, [
41
41
  g("circle", { class: "bg" }),
42
42
  g("circle", { class: "fg" })
@@ -49,7 +49,7 @@ const Ye = A({ name: "lucide-inbox", render: De }), Oe = {
49
49
  height: "1.2em"
50
50
  };
51
51
  function Te(p, r) {
52
- return R(), C("svg", Ie, [...r[0] || (r[0] = [
52
+ return C(), R("svg", Ie, [...r[0] || (r[0] = [
53
53
  g("g", {
54
54
  fill: "none",
55
55
  stroke: "currentColor",
@@ -79,8 +79,8 @@ const Ze = A({ name: "lucide-pause", render: Te }), Ae = {
79
79
  width: "1.2em",
80
80
  height: "1.2em"
81
81
  };
82
- function je(p, r) {
83
- return R(), C("svg", Ae, [...r[0] || (r[0] = [
82
+ function Ue(p, r) {
83
+ return C(), R("svg", Ae, [...r[0] || (r[0] = [
84
84
  g("path", {
85
85
  fill: "none",
86
86
  stroke: "currentColor",
@@ -91,7 +91,7 @@ function je(p, r) {
91
91
  }, null, -1)
92
92
  ])]);
93
93
  }
94
- const et = A({ name: "lucide-check", render: je }), G = F(performance.timeOrigin + performance.now());
94
+ const et = A({ name: "lucide-check", render: Ue }), G = F(performance.timeOrigin + performance.now());
95
95
  let I, Z = 0;
96
96
  function tt() {
97
97
  return I || (I = setInterval(() => {
@@ -110,7 +110,7 @@ function nt(p) {
110
110
  return c && typeof c == "object" ? $e(c) : String(c);
111
111
  }));
112
112
  }
113
- const at = /* @__PURE__ */ j({
113
+ const at = /* @__PURE__ */ U({
114
114
  __name: "UInput.ce",
115
115
  props: {
116
116
  modelValue: {},
@@ -119,7 +119,7 @@ const at = /* @__PURE__ */ j({
119
119
  emits: ["update:modelValue"],
120
120
  setup(p) {
121
121
  const r = we(p, "modelValue");
122
- return (c, l) => _e((R(), C("input", {
122
+ return (c, l) => _e((C(), R("input", {
123
123
  "onUpdate:modelValue": l[0] || (l[0] = (i) => r.value = i),
124
124
  class: "py-1.5 pl-8 pr-2 rounded border border-(--ui-border) focus:ring-1 focus:ring-theme focus:outline-none transition-colors theme-primary",
125
125
  placeholder: "Search Queries"
@@ -127,13 +127,13 @@ const at = /* @__PURE__ */ j({
127
127
  [Pe, r.value]
128
128
  ]);
129
129
  }
130
- }), Ue = {
130
+ }), je = {
131
131
  viewBox: "0 0 24 24",
132
132
  width: "1.2em",
133
133
  height: "1.2em"
134
134
  };
135
135
  function He(p, r) {
136
- return R(), C("svg", Ue, [...r[0] || (r[0] = [
136
+ return C(), R("svg", je, [...r[0] || (r[0] = [
137
137
  g("g", {
138
138
  fill: "none",
139
139
  stroke: "currentColor",
@@ -150,7 +150,7 @@ function He(p, r) {
150
150
  ], -1)
151
151
  ])]);
152
152
  }
153
- const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ j({
153
+ const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ U({
154
154
  __name: "splitpanes",
155
155
  props: {
156
156
  horizontal: { type: Boolean, default: !1 },
@@ -174,7 +174,7 @@ const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ j({
174
174
  ],
175
175
  setup(p, { emit: r }) {
176
176
  const c = r, l = p;
177
- Me();
177
+ be();
178
178
  const i = L([]), f = w(
179
179
  () => i.value.reduce((e, t) => (e[~~t.id] = t) && e, {})
180
180
  ), x = w(() => i.value.length), S = L(null), h = L(!1), v = L({
@@ -193,19 +193,19 @@ const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ j({
193
193
  }));
194
194
  let _ = () => {
195
195
  };
196
- function b(e) {
196
+ function k(e) {
197
197
  e.addEventListener("mousemove", N, { passive: !1 }), e.addEventListener("mouseup", m), "ontouchstart" in window && (e.addEventListener("touchmove", N, { passive: !1 }), e.addEventListener("touchend", m)), _ = () => {
198
198
  e.removeEventListener("mousemove", N), e.removeEventListener("mouseup", m), "ontouchstart" in window && (e.removeEventListener("touchmove", N), e.removeEventListener("touchend", m)), _ = () => {
199
199
  };
200
200
  };
201
201
  }
202
- const k = (e, t) => {
202
+ const b = (e, t) => {
203
203
  const a = e.target.closest(".splitpanes__splitter");
204
204
  if (a) {
205
205
  const { left: n, top: s } = a.getBoundingClientRect(), { clientX: u, clientY: o } = "touches" in e ? e.touches[0] : e;
206
206
  v.value.cursorOffset = l.horizontal ? o - s : u - n;
207
207
  }
208
- b(e.target.ownerDocument || document), v.value.mouseDown = !0, v.value.activeSplitter = t;
208
+ k(e.target.ownerDocument || document), v.value.mouseDown = !0, v.value.activeSplitter = t;
209
209
  }, N = (e) => {
210
210
  v.value.mouseDown && (e.preventDefault(), v.value.dragging = !0, requestAnimationFrame(() => {
211
211
  re(ie(e)), P("resize", { event: e }, !0);
@@ -296,7 +296,7 @@ const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ j({
296
296
  }
297
297
  }, J = (e, t, a = !1) => {
298
298
  const n = e - 1, s = document.createElement("div");
299
- s.classList.add("splitpanes__splitter"), a || (s.onmousedown = (u) => k(u, n), typeof window < "u" && "ontouchstart" in window && (s.ontouchstart = (u) => k(u, n)), s.onclick = (u) => O(u, n + 1)), s.ondblclick = (u) => B(u, n + 1), t.parentNode.insertBefore(s, t);
299
+ s.classList.add("splitpanes__splitter"), a || (s.onmousedown = (u) => b(u, n), typeof window < "u" && "ontouchstart" in window && (s.ontouchstart = (u) => b(u, n)), s.onclick = (u) => O(u, n + 1)), s.ondblclick = (u) => B(u, n + 1), t.parentNode.insertBefore(s, t);
300
300
  }, ve = (e) => {
301
301
  e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();
302
302
  }, V = () => {
@@ -314,16 +314,16 @@ const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ j({
314
314
  var t;
315
315
  let a = -1;
316
316
  Array.from(((t = S.value) == null ? void 0 : t.children) || []).some((n) => (n.className.includes("splitpanes__pane") && a++, n.isSameNode(e.el))), i.value.splice(a, 0, { ...e, index: a }), i.value.forEach((n, s) => n.index = s), h.value && q(() => {
317
- V(), U({ addedPane: i.value[a] }), P("pane-add", { pane: i.value[a] });
317
+ V(), j({ addedPane: i.value[a] }), P("pane-add", { pane: i.value[a] });
318
318
  });
319
319
  }, he = (e) => {
320
320
  const t = i.value.findIndex((n) => n.id === e);
321
321
  i.value[t].el = null;
322
322
  const a = i.value.splice(t, 1)[0];
323
323
  i.value.forEach((n, s) => n.index = s), q(() => {
324
- V(), P("pane-remove", { pane: a }), U({ removedPane: { ...a } });
324
+ V(), P("pane-remove", { pane: a }), j({ removedPane: { ...a } });
325
325
  });
326
- }, U = (e = {}) => {
326
+ }, j = (e = {}) => {
327
327
  !e.addedPane && !e.removedPane ? ze() : i.value.some((t) => t.givenSize !== null || t.min || t.max < 100) ? xe(e) : fe(), h.value && P("resized");
328
328
  }, fe = () => {
329
329
  const e = 100 / x.value;
@@ -391,19 +391,19 @@ const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ j({
391
391
  () => l.firstSplitter,
392
392
  () => V()
393
393
  ), te(() => {
394
- de(), V(), U(), P("ready"), h.value = !0;
394
+ de(), V(), j(), P("ready"), h.value = !0;
395
395
  }), ne(() => h.value = !1), E("panes", i), E("indexedPanes", f), E(
396
396
  "horizontal",
397
397
  w(() => l.horizontal)
398
- ), E("requestUpdate", me), E("onPaneAdd", pe), E("onPaneRemove", he), E("onPaneClick", se), (e, t) => (R(), C("div", {
399
- class: be(M.value),
398
+ ), E("requestUpdate", me), E("onPaneAdd", pe), E("onPaneRemove", he), E("onPaneClick", se), (e, t) => (C(), R("div", {
399
+ class: Ce(M.value),
400
400
  ref_key: "containerEl",
401
401
  ref: S
402
402
  }, [
403
403
  ae(e.$slots, "default")
404
404
  ], 2));
405
405
  }
406
- }), ot = /* @__PURE__ */ j({
406
+ }), ot = /* @__PURE__ */ U({
407
407
  __name: "pane",
408
408
  props: {
409
409
  size: { type: [Number, String] },
@@ -412,13 +412,13 @@ const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ j({
412
412
  },
413
413
  setup(p) {
414
414
  var r;
415
- const c = p, l = $("requestUpdate"), i = $("onPaneAdd"), f = $("horizontal"), x = $("onPaneRemove"), S = $("onPaneClick"), h = (r = ke()) == null ? void 0 : r.uid, v = $("indexedPanes"), z = w(() => v.value[h]), M = L(null), _ = w(() => {
415
+ const c = p, l = $("requestUpdate"), i = $("onPaneAdd"), f = $("horizontal"), x = $("onPaneRemove"), S = $("onPaneClick"), h = (r = Me()) == null ? void 0 : r.uid, v = $("indexedPanes"), z = w(() => v.value[h]), M = L(null), _ = w(() => {
416
416
  const m = isNaN(c.size) || c.size === void 0 ? 0 : parseFloat(c.size);
417
- return Math.max(Math.min(m, k.value), b.value);
418
- }), b = w(() => {
417
+ return Math.max(Math.min(m, b.value), k.value);
418
+ }), k = w(() => {
419
419
  const m = parseFloat(c.minSize);
420
420
  return isNaN(m) ? 0 : m;
421
- }), k = w(() => {
421
+ }), b = w(() => {
422
422
  const m = parseFloat(c.maxSize);
423
423
  return isNaN(m) ? 100 : m;
424
424
  }), N = w(() => {
@@ -429,28 +429,28 @@ const st = A({ name: "lucide-search", render: He }), it = /* @__PURE__ */ j({
429
429
  () => _.value,
430
430
  (m) => l({ uid: h, size: m })
431
431
  ), T(
432
- () => b.value,
432
+ () => k.value,
433
433
  (m) => l({ uid: h, min: m })
434
434
  ), T(
435
- () => k.value,
435
+ () => b.value,
436
436
  (m) => l({ uid: h, max: m })
437
437
  ), te(() => {
438
438
  i({
439
439
  id: h,
440
440
  el: M.value,
441
- min: b.value,
442
- max: k.value,
441
+ min: k.value,
442
+ max: b.value,
443
443
  // The given size (useful to know the user intention).
444
444
  givenSize: c.size === void 0 ? null : _.value,
445
445
  size: _.value
446
446
  // The computed current size at any time.
447
447
  });
448
- }), ne(() => x(h)), (m, O) => (R(), C("div", {
448
+ }), ne(() => x(h)), (m, O) => (C(), R("div", {
449
449
  ref_key: "paneEl",
450
450
  ref: M,
451
451
  class: "splitpanes__pane",
452
452
  onClick: O[0] || (O[0] = (B) => Y(S)(B, Y(h))),
453
- style: Ce(N.value)
453
+ style: ke(N.value)
454
454
  }, [
455
455
  ae(m.$slots, "default")
456
456
  ], 4));
@@ -503,10 +503,10 @@ class Je extends EventTarget {
503
503
  if (l === S.target) {
504
504
  const h = getComputedStyle(l), v = {}, z = h.getPropertyValue(r), M = i[r];
505
505
  if (z !== M && (v[r] = z, i[r] = z, r in v)) {
506
- const b = v[r] === "--true";
507
- this.matches = b;
508
- const k = new We("change", c, b);
509
- this.dispatchEvent(k);
506
+ const k = v[r] === "--true";
507
+ this.matches = k;
508
+ const b = new We("change", c, k);
509
+ this.dispatchEvent(b);
510
510
  }
511
511
  }
512
512
  },
@@ -541,9 +541,9 @@ function rt(p, r) {
541
541
  }
542
542
  export {
543
543
  et as _,
544
- nt as a,
545
- Ze as b,
546
- Ge as c,
544
+ Ze as a,
545
+ Ge as b,
546
+ nt as c,
547
547
  rt as d,
548
548
  st as e,
549
549
  at as f,
@@ -552,4 +552,4 @@ export {
552
552
  tt as u,
553
553
  ot as x
554
554
  };
555
- //# sourceMappingURL=use-container-media-query-DHWhgIKV.js.map
555
+ //# sourceMappingURL=use-container-media-query-CrxtYrv0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-container-media-query-DHWhgIKV.js","sources":["../src/panel/components/UCircleProgress.ce.vue","../src/panel/composables/performance-now.ts","../src/panel/composables/entries.ts","../src/panel/components/UInput.ce.vue","../../node_modules/.pnpm/@posva+splitpanes@4.0.6_vue@3.5.26_typescript@5.9.3_/node_modules/@posva/splitpanes/dist/splitpanes.js","../src/panel/composables/use-container-media-query.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nconst {\n value,\n min = 0,\n max = 100,\n strokeWidth = 2,\n} = defineProps<{\n value: number\n min?: number\n max?: number\n strokeWidth?: number\n}>()\n\nconst valuePercentage = computed(() => Math.round(((value - min) / (max - min)) * 100))\n</script>\n\n<template>\n <div class=\"progress-bar\" aria-hidden>\n <svg>\n <circle class=\"bg\" />\n <circle class=\"fg\" />\n </svg>\n </div>\n</template>\n\n<style scoped>\n.progress-bar > svg {\n --progress-value: v-bind(valuePercentage);\n --size: 1em;\n --half-size: calc(var(--size) / 2);\n --stroke-width: calc(v-bind(strokeWidth) * var(--size) / 10);\n --radius: calc((var(--size) - var(--stroke-width)) / 2);\n --circumference: calc(var(--radius) * pi * 2);\n --dash: calc((var(--progress-value) * var(--circumference)) / 100);\n animation: progress-animation 100s linear 0s 1 forwards;\n\n width: var(--size);\n height: var(--size);\n}\n\n.progress-bar circle {\n cx: var(--half-size);\n cy: var(--half-size);\n r: var(--radius);\n stroke-width: var(--stroke-width);\n fill: none;\n stroke-linecap: butt;\n}\n\n.progress-bar circle.bg {\n stroke: color-mix(in hsl, currentColor 25%, var(--ui-bg));\n}\n\n.progress-bar circle.fg {\n transform: rotate(-90deg);\n transform-origin: var(--half-size) var(--half-size);\n stroke-dasharray: var(--dash) calc(var(--circumference) - var(--dash));\n transition: stroke-dasharray 0.3s linear 0s;\n stroke: currentColor;\n}\n</style>\n","import { onScopeDispose, shallowRef } from 'vue'\n\n// share this variable among all instances\nconst now = shallowRef(performance.timeOrigin + performance.now())\nlet intervalId: ReturnType<typeof setInterval> | undefined\nlet useCount = 0\n\n/**\n * Reactive and shared `performance.now()` that updates on the specified interval.\n */\nexport function usePerformanceNow() {\n if (!intervalId) {\n intervalId = setInterval(() => {\n now.value = performance.timeOrigin + performance.now()\n }, 50)\n }\n\n useCount++\n onScopeDispose(() => {\n if (--useCount <= 0) {\n clearInterval(intervalId)\n intervalId = undefined\n }\n })\n\n return now\n}\n","import type { EntryKey } from '@pinia/colada'\nimport { miniJsonParse } from '@pinia/colada-devtools/shared'\nimport { computed, toValue, type ComputedRef, type MaybeRefOrGetter } from 'vue'\n\nexport function useFormattedKey(entryKey: MaybeRefOrGetter<EntryKey>): ComputedRef<string[]>\nexport function useFormattedKey(\n entryKey: MaybeRefOrGetter<EntryKey | undefined>,\n): ComputedRef<string[] | undefined>\nexport function useFormattedKey(\n entryKey: MaybeRefOrGetter<EntryKey | undefined>,\n): ComputedRef<string[] | undefined> {\n // TODO: colorize the output based on the type of value\n return computed(() => {\n return toValue(entryKey)?.map((rawValue) => {\n let value: unknown = rawValue\n try {\n value = typeof rawValue === 'string' ? JSON.parse(rawValue) : rawValue\n } catch {\n // If parsing fails, keep the original value\n }\n return value && typeof value === 'object' ? miniJsonParse(value) : String(value)\n })\n })\n}\n","<script setup lang=\"ts\">\nconst modelValue = defineModel<string | number>()\n</script>\n\n<template>\n <input\n v-model=\"modelValue\"\n class=\"py-1.5 pl-8 pr-2 rounded border border-(--ui-border) focus:ring-1 focus:ring-theme focus:outline-none transition-colors theme-primary\"\n placeholder=\"Search Queries\"\n />\n</template>\n","import { defineComponent as G, useSlots as fe, ref as k, computed as h, watch as A, onMounted as X, onBeforeUnmount as Y, provide as g, createElementBlock as W, openBlock as I, normalizeClass as pe, renderSlot as J, nextTick as T, inject as E, getCurrentInstance as me, normalizeStyle as de, unref as j } from \"vue\";\nconst he = /* @__PURE__ */ G({\n __name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean, default: !1 },\n pushOtherPanes: { type: Boolean, default: !0 },\n maximizePanes: { type: Boolean, default: !0 },\n // Maximize pane on splitter double click/tap.\n rtl: { type: Boolean, default: !1 },\n // Right to left direction.\n firstSplitter: { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"resize\",\n \"resized\",\n \"pane-click\",\n \"pane-maximize\",\n \"pane-add\",\n \"pane-remove\",\n \"splitter-click\",\n \"splitter-dblclick\"\n ],\n setup(L, { emit: x }) {\n const y = x, c = L;\n fe();\n const l = k([]), w = h(\n () => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})\n ), z = h(() => l.value.length), f = k(null), S = k(!1), v = k({\n mouseDown: !1,\n dragging: !1,\n activeSplitter: null,\n cursorOffset: 0\n // Cursor offset within the splitter.\n }), d = k({\n // Used to detect double click on touch devices.\n splitter: null,\n timeoutId: null\n }), _ = h(() => ({\n [`splitpanes splitpanes--${c.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n \"splitpanes--dragging\": v.value.dragging\n }));\n let P = () => {\n };\n function R(e) {\n e.addEventListener(\"mousemove\", M, { passive: !1 }), e.addEventListener(\"mouseup\", u), \"ontouchstart\" in window && (e.addEventListener(\"touchmove\", M, { passive: !1 }), e.addEventListener(\"touchend\", u)), P = () => {\n e.removeEventListener(\"mousemove\", M), e.removeEventListener(\"mouseup\", u), \"ontouchstart\" in window && (e.removeEventListener(\"touchmove\", M), e.removeEventListener(\"touchend\", u)), P = () => {\n };\n };\n }\n const N = (e, n) => {\n const t = e.target.closest(\".splitpanes__splitter\");\n if (t) {\n const { left: i, top: a } = t.getBoundingClientRect(), { clientX: o, clientY: s } = \"touches\" in e ? e.touches[0] : e;\n v.value.cursorOffset = c.horizontal ? s - a : o - i;\n }\n R(e.target.ownerDocument || document), v.value.mouseDown = !0, v.value.activeSplitter = n;\n }, M = (e) => {\n v.value.mouseDown && (e.preventDefault(), v.value.dragging = !0, requestAnimationFrame(() => {\n Z(Q(e)), m(\"resize\", { event: e }, !0);\n }));\n }, u = (e) => {\n v.value.dragging && m(\"resized\", { event: e }, !0), v.value.mouseDown = !1, v.value.activeSplitter = null, setTimeout(() => {\n v.value.dragging = !1, P();\n }, 100);\n }, C = (e, n) => {\n \"ontouchstart\" in window && (e.preventDefault(), d.value.splitter === n ? (clearTimeout(d.value.timeoutId), d.value.timeoutId = null, B(e, n), d.value.splitter = null) : (d.value.splitter = n, d.value.timeoutId = setTimeout(() => d.value.splitter = null, 500))), v.value.dragging || m(\"splitter-click\", { event: e, index: n }, !0);\n }, B = (e, n) => {\n if (m(\"splitter-dblclick\", { event: e, index: n }, !0), c.maximizePanes) {\n let t = 0;\n l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, m(\"pane-maximize\", {\n event: e,\n index: n,\n pane: l.value[n]\n }), m(\"resized\", { event: e, index: n }, !0);\n }\n }, K = (e, n) => {\n m(\"pane-click\", {\n event: e,\n index: w.value[n].index,\n pane: w.value[n]\n });\n }, Q = (e) => {\n var a;\n const n = (a = f.value) == null ? void 0 : a.getBoundingClientRect(), { clientX: t, clientY: i } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n return {\n x: t - (c.horizontal ? 0 : v.value.cursorOffset) - n.left,\n y: i - (c.horizontal ? v.value.cursorOffset : 0) - n.top\n };\n }, V = (e) => {\n e = e[c.horizontal ? \"y\" : \"x\"];\n const n = f.value[c.horizontal ? \"clientHeight\" : \"clientWidth\"];\n return c.rtl && !c.horizontal && (e = n - e), e * 100 / n;\n }, Z = (e) => {\n const n = v.value.activeSplitter;\n let t = {\n prevPanesSize: U(n),\n nextPanesSize: b(n),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const i = 0 + (c.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (c.pushOtherPanes ? 0 : t.nextPanesSize), o = Math.max(Math.min(V(e), a), i);\n let s = [n, n + 1], r = l.value[s[0]], p = l.value[s[1]];\n if (!r || !p) return;\n const F = r.max < 100 && o >= r.max + t.prevPanesSize, ve = p.max < 100 && o <= 100 - (p.max + b(n + 1));\n if (F || ve) {\n F ? (r.size = r.max, p.size = Math.max(100 - r.max - t.prevPanesSize - t.nextPanesSize, 0)) : (r.size = Math.max(\n 100 - p.max - t.prevPanesSize - b(n + 1),\n 0\n ), p.size = p.max);\n return;\n }\n if (c.pushOtherPanes) {\n const H = ee(t, o);\n if (!H) return;\n ({ sums: t, panesToResize: s } = H), r = l.value[s[0]], p = l.value[s[1]];\n }\n r && (r.size = Math.min(\n Math.max(o - t.prevPanesSize - t.prevReachedMinPanes, r.min),\n r.max\n )), p && (p.size = Math.min(\n Math.max(100 - o - t.nextPanesSize - t.nextReachedMinPanes, p.min),\n p.max\n ));\n }, ee = (e, n) => {\n const t = v.value.activeSplitter, i = [t, t + 1];\n let a = l.value[i[0]], o = l.value[i[1]];\n return a && n < e.prevPanesSize + a.min && (i[0] = ne(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((s, r) => {\n r > i[0] && r <= t && (s.size = s.min, e.prevReachedMinPanes += s.min);\n }), e.prevPanesSize = U(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((s, r) => {\n r > 0 && r <= t && (s.size = s.min, e.prevReachedMinPanes += s.min);\n }), o.size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = ie(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((s, r) => {\n r > t && r < i[1] && (s.size = s.min, e.nextReachedMinPanes += s.min);\n }), e.nextPanesSize = b(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((s, r) => {\n r < z.value - 1 && r >= t + 1 && (s.size = s.min, e.nextReachedMinPanes += s.min);\n }), l.value[i[0]].size = 100 - e.prevPanesSize - b(i[0] - 1), null) : { sums: e, panesToResize: i };\n }, U = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), b = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), ne = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, ie = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, te = () => {\n var n;\n const e = Array.from(((n = f.value) == null ? void 0 : n.children) || []);\n for (const t of e) {\n const i = t.classList.contains(\"splitpanes__pane\"), a = t.classList.contains(\"splitpanes__splitter\");\n !i && !a && (t.remove(), console.warn(\n \"Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed.\"\n ));\n }\n }, $ = (e, n, t = !1) => {\n const i = e - 1, a = document.createElement(\"div\");\n a.classList.add(\"splitpanes__splitter\"), t || (a.onmousedown = (o) => N(o, i), typeof window < \"u\" && \"ontouchstart\" in window && (a.ontouchstart = (o) => N(o, i)), a.onclick = (o) => C(o, i + 1)), a.ondblclick = (o) => B(o, i + 1), n.parentNode.insertBefore(a, n);\n }, ae = (e) => {\n e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();\n }, O = () => {\n var t;\n const e = Array.from(((t = f.value) == null ? void 0 : t.children) || []);\n for (const i of e)\n i.className.includes(\"splitpanes__splitter\") && ae(i);\n let n = 0;\n for (const i of e)\n i.className.includes(\"splitpanes__pane\") && (!n && c.firstSplitter ? $(n, i, !0) : n && $(n, i), n++);\n }, se = ({ uid: e, ...n }) => {\n const t = w.value[e];\n for (const [i, a] of Object.entries(n)) t[i] = a;\n }, le = (e) => {\n var t;\n let n = -1;\n Array.from(((t = f.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes(\"splitpanes__pane\") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, { ...e, index: n }), l.value.forEach((i, a) => i.index = a), S.value && T(() => {\n O(), q({ addedPane: l.value[n] }), m(\"pane-add\", { pane: l.value[n] });\n });\n }, oe = (e) => {\n const n = l.value.findIndex((i) => i.id === e);\n l.value[n].el = null;\n const t = l.value.splice(n, 1)[0];\n l.value.forEach((i, a) => i.index = a), T(() => {\n O(), m(\"pane-remove\", { pane: t }), q({ removedPane: { ...t } });\n });\n }, q = (e = {}) => {\n !e.addedPane && !e.removedPane ? ue() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? ce(e) : re(), S.value && m(\"resized\");\n }, re = () => {\n const e = 100 / z.value;\n let n = 0;\n const t = [], i = [];\n for (const a of l.value)\n a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);\n n > 0.1 && D(n, t, i);\n }, ue = () => {\n let e = 100;\n const n = [], t = [];\n let i = 0;\n for (const o of l.value)\n e -= o.size, o.givenSize !== null && i++, o.size >= o.max && n.push(o.id), o.size <= o.min && t.push(o.id);\n let a = 100;\n if (e > 0.1) {\n for (const o of l.value)\n o.givenSize === null && (o.size = Math.max(\n Math.min(e / (z.value - i), o.max),\n o.min\n )), a -= o.size;\n a > 0.1 && D(a, n, t);\n }\n }, ce = ({ addedPane: e, removedPane: n } = {}) => {\n let t = 100 / z.value, i = 0;\n const a = [], o = [];\n ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (z.value - 1));\n for (const s of l.value)\n i -= s.size, s.size >= s.max && a.push(s.id), s.size <= s.min && o.push(s.id);\n if (!(Math.abs(i) < 0.1)) {\n for (const s of l.value)\n (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === s.id || (s.size = Math.max(Math.min(t, s.max), s.min)), i -= s.size, s.size >= s.max && a.push(s.id), s.size <= s.min && o.push(s.id);\n i > 0.1 && D(i, a, o);\n }\n }, D = (e, n, t) => {\n let i;\n e > 0 ? i = e / (z.value - n.length) : i = e / (z.value - t.length), l.value.forEach((a, o) => {\n if (e > 0 && !n.includes(a.id)) {\n const s = Math.max(Math.min(a.size + i, a.max), a.min), r = s - a.size;\n e -= r, a.size = s;\n } else if (!t.includes(a.id)) {\n const s = Math.max(Math.min(a.size + i, a.max), a.min), r = s - a.size;\n e -= r, a.size = s;\n }\n }), Math.abs(e) > 0.1 && T(() => {\n S.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n });\n }, m = (e, n = void 0, t = !1) => {\n const i = (n == null ? void 0 : n.index) ?? v.value.activeSplitter ?? null;\n y(e, {\n ...n,\n ...i !== null && { index: i },\n ...t && i !== null && {\n prevPane: l.value[i - (c.firstSplitter ? 1 : 0)],\n nextPane: l.value[i + (c.firstSplitter ? 0 : 1)]\n },\n panes: l.value.map((a) => ({\n min: a.min,\n max: a.max,\n size: a.size\n }))\n });\n };\n return A(\n () => c.firstSplitter,\n () => O()\n ), X(() => {\n te(), O(), q(), m(\"ready\"), S.value = !0;\n }), Y(() => S.value = !1), g(\"panes\", l), g(\"indexedPanes\", w), g(\n \"horizontal\",\n h(() => c.horizontal)\n ), g(\"requestUpdate\", se), g(\"onPaneAdd\", le), g(\"onPaneRemove\", oe), g(\"onPaneClick\", K), (e, n) => (I(), W(\"div\", {\n class: pe(_.value),\n ref_key: \"containerEl\",\n ref: f\n }, [\n J(e.$slots, \"default\")\n ], 2));\n }\n}), xe = /* @__PURE__ */ G({\n __name: \"pane\",\n props: {\n size: { type: [Number, String] },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n setup(L) {\n var M;\n const x = L, y = E(\"requestUpdate\"), c = E(\"onPaneAdd\"), l = E(\"horizontal\"), w = E(\"onPaneRemove\"), z = E(\"onPaneClick\"), f = (M = me()) == null ? void 0 : M.uid, S = E(\"indexedPanes\"), v = h(() => S.value[f]), d = k(null), _ = h(() => {\n const u = isNaN(x.size) || x.size === void 0 ? 0 : parseFloat(x.size);\n return Math.max(Math.min(u, R.value), P.value);\n }), P = h(() => {\n const u = parseFloat(x.minSize);\n return isNaN(u) ? 0 : u;\n }), R = h(() => {\n const u = parseFloat(x.maxSize);\n return isNaN(u) ? 100 : u;\n }), N = h(() => {\n var u;\n return `${l.value ? \"height\" : \"width\"}: ${(u = v.value) == null ? void 0 : u.size}%`;\n });\n return A(\n () => _.value,\n (u) => y({ uid: f, size: u })\n ), A(\n () => P.value,\n (u) => y({ uid: f, min: u })\n ), A(\n () => R.value,\n (u) => y({ uid: f, max: u })\n ), X(() => {\n c({\n id: f,\n el: d.value,\n min: P.value,\n max: R.value,\n // The given size (useful to know the user intention).\n givenSize: x.size === void 0 ? null : _.value,\n size: _.value\n // The computed current size at any time.\n });\n }), Y(() => w(f)), (u, C) => (I(), W(\"div\", {\n ref_key: \"paneEl\",\n ref: d,\n class: \"splitpanes__pane\",\n onClick: C[0] || (C[0] = (B) => j(z)(B, j(f))),\n style: de(N.value)\n }, [\n J(u.$slots, \"default\")\n ], 4));\n }\n});\nexport {\n xe as Pane,\n he as Splitpanes\n};\n","import type { MaybeRefOrGetter } from 'vue'\nimport { computed, onScopeDispose, shallowRef, toValue, watchEffect } from 'vue'\nimport { useEventListener, useSupported } from '@vueuse/core'\n\n// copied from match-container and adapted to shadow DOM\n// import 'match-container'\n\nconst polyfill_key = 'bae45330cd3d4e0e96b60d26b57009b5'\nlet count = 0\n// To guard against the case that this polyfill might be included more than once\n// we must ensure that the ID generating function is a singleton\n// to guarantee that no duplicated IDs are generated - however slim the chance might be.\n// The IDs are unique in the current javascript runtime context.\n// The IDs are constructed from the following parts:\n// - a timestamp\n// - the current value of a counter, incremented after each created ID\n// - a static prefix\n// Even if two IDs are generated within the same milisecond the increased counter ensures\n// that they cannot clash.\n\nconst createID = () => `${polyfill_key}-${Date.now()}-${count++}`\n\nclass ContainerQueryListEvent extends Event {\n constructor(\n type: string,\n public container: string,\n public matches: boolean,\n ) {\n super(type)\n }\n}\n\nclass ContainerQueryList extends EventTarget {\n #observedElement: HTMLElement\n #abortController = new AbortController()\n container: string\n matches: boolean\n\n constructor(element: HTMLElement, containerQueryString: string) {\n super()\n this.container = containerQueryString\n const unique_name = `container-query-observer-${createID()}`\n const markerAttribute = `data-${unique_name}`\n element.setAttribute(markerAttribute, '')\n const sentinelProperty = `--${unique_name}`\n const propertyCss = `\n @property ${sentinelProperty} {\n syntax: '<custom-ident>';\n inherits: false;\n initial-value: --false;\n }\n`.trim()\n const containerCss = `\n @container ${containerQueryString} {\n [${markerAttribute}] {\n ${sentinelProperty}: --true;\n }\n }\n`.trim()\n\n const rootNode = element.getRootNode()\n if (!(rootNode instanceof ShadowRoot) && !(rootNode instanceof Document)) {\n console.error(`root node of element isn't a ShadowRoot or Document`, rootNode)\n throw new TypeError('Root node must be a ShadowRoot or Document')\n }\n\n const propertyCssSheet = new CSSStyleSheet()\n propertyCssSheet.replaceSync(propertyCss)\n const doc = document\n doc.adoptedStyleSheets.push(propertyCssSheet)\n\n // FIXME: adoptedStyleSheets cannot be shared\n // the behavior breaks when using the PiP\n if (rootNode.ownerDocument === document) {\n const containerQuerySheet = new CSSStyleSheet()\n containerQuerySheet.replaceSync(containerCss)\n rootNode.adoptedStyleSheets.push(containerQuerySheet)\n }\n\n const style = getComputedStyle(element)\n this.matches = style.getPropertyValue(sentinelProperty) === '--true'\n\n this.#observedElement = element\n this.#startObserving(sentinelProperty, containerQueryString, element)\n }\n\n #startObserving(\n sentinelProperty: string,\n containerQueryString: string,\n observedElement: HTMLElement,\n ) {\n const _previousValues: Record<string, string | undefined> = {}\n\n observedElement.style.setProperty('transition', `${sentinelProperty} 0.001ms step-start`)\n observedElement.style.setProperty('transition-behavior', 'allow-discrete')\n observedElement.addEventListener(\n 'transitionrun',\n (transitionEvent) => {\n if (observedElement === transitionEvent.target) {\n const computedStyle = getComputedStyle(observedElement)\n const changes: Record<string, string | undefined> = {}\n const currentValue = computedStyle.getPropertyValue(sentinelProperty)\n const previousValue = _previousValues[sentinelProperty]\n const hasChanged = currentValue !== previousValue\n\n if (hasChanged) {\n changes[sentinelProperty] = currentValue\n _previousValues[sentinelProperty] = currentValue\n if (sentinelProperty in changes) {\n const matches = changes[sentinelProperty] === '--true'\n this.matches = matches\n // raise 'change' event\n const event = new ContainerQueryListEvent('change', containerQueryString, matches)\n this.dispatchEvent(event)\n }\n }\n }\n },\n { signal: this.#abortController.signal },\n )\n\n // init _previousValues\n const computedStyle = getComputedStyle(observedElement)\n const currentValue = computedStyle.getPropertyValue(sentinelProperty)\n _previousValues[sentinelProperty] = currentValue\n }\n\n dispose() {\n this.#observedElement.style.removeProperty('transition')\n this.#observedElement.style.removeProperty('transition-behavior')\n // stop the event listener\n this.#abortController.abort()\n }\n}\n\nif (typeof window !== 'undefined') {\n if (!HTMLElement.prototype.matchContainer) {\n HTMLElement.prototype.matchContainer = function matchContainer(\n this: HTMLElement,\n containerQueryString: string,\n ) {\n return new ContainerQueryList(this, containerQueryString)\n }\n }\n}\n\n// For some reason, the types are not being picked up from the package\ndeclare global {\n interface HTMLElement {\n matchContainer: (containerQueryString: string) => ContainerQueryList\n }\n}\n\n/**\n * Reactive Container Media Query.\n *\n * @param query - The container query string to match against.\n * @param target - The target element to match the query against.\n */\nexport function useContainerMediaQuery(\n query: MaybeRefOrGetter<string>,\n target: MaybeRefOrGetter<HTMLElement | null | undefined>,\n) {\n const isSupported = useSupported(\n () => typeof document !== 'undefined' && typeof document.body.matchContainer === 'function',\n )\n const mediaQuery = shallowRef<ContainerQueryList>()\n const matches = shallowRef(false)\n\n watchEffect(() => {\n if (!isSupported.value) return\n\n mediaQuery.value?.dispose()\n\n mediaQuery.value = toValue(target)?.matchContainer(toValue(query))\n matches.value = !!mediaQuery.value?.matches\n })\n\n onScopeDispose(() => {\n mediaQuery.value?.dispose()\n })\n\n useEventListener(\n mediaQuery,\n 'change',\n (event: ContainerQueryListEvent) => {\n matches.value = event.matches\n },\n { passive: true },\n )\n\n return computed(() => matches.value)\n}\n"],"names":["valuePercentage","computed","__props","_openBlock","_createElementBlock","_hoisted_1","_cache","_createElementVNode","now","shallowRef","intervalId","useCount","usePerformanceNow","onScopeDispose","useFormattedKey","entryKey","toValue","rawValue","value","miniJsonParse","modelValue","_useModel","$event","he","G","L","x","y","c","fe","l","k","w","h","n","z","f","S","d","_","P","R","M","u","N","t","i","a","o","s","Z","Q","m","C","K","V","U","b","r","p","F","ve","H","ee","ne","ie","te","e","$","ae","O","se","le","T","q","oe","ue","ce","re","D","A","X","Y","g","I","W","pe","J","xe","E","me","v","j","de","polyfill_key","count","createID","ContainerQueryListEvent","type","container","matches","ContainerQueryList","#observedElement","#abortController","element","containerQueryString","unique_name","markerAttribute","sentinelProperty","propertyCss","containerCss","rootNode","propertyCssSheet","containerQuerySheet","style","#startObserving","observedElement","_previousValues","transitionEvent","computedStyle","changes","currentValue","previousValue","event","useContainerMediaQuery","query","target","isSupported","useSupported","mediaQuery","watchEffect","useEventListener"],"mappings":"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","x_google_ignoreList":[4]}
1
+ {"version":3,"file":"use-container-media-query-CrxtYrv0.js","sources":["../src/panel/components/UCircleProgress.ce.vue","../src/panel/composables/performance-now.ts","../src/panel/composables/entries.ts","../src/panel/components/UInput.ce.vue","../../node_modules/.pnpm/@posva+splitpanes@4.0.6_vue@3.5.28_typescript@5.9.3_/node_modules/@posva/splitpanes/dist/splitpanes.js","../src/panel/composables/use-container-media-query.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nconst {\n value,\n min = 0,\n max = 100,\n strokeWidth = 2,\n} = defineProps<{\n value: number\n min?: number\n max?: number\n strokeWidth?: number\n}>()\n\nconst valuePercentage = computed(() => Math.round(((value - min) / (max - min)) * 100))\n</script>\n\n<template>\n <div class=\"progress-bar\" aria-hidden>\n <svg>\n <circle class=\"bg\" />\n <circle class=\"fg\" />\n </svg>\n </div>\n</template>\n\n<style scoped>\n.progress-bar > svg {\n --progress-value: v-bind(valuePercentage);\n --size: 1em;\n --half-size: calc(var(--size) / 2);\n --stroke-width: calc(v-bind(strokeWidth) * var(--size) / 10);\n --radius: calc((var(--size) - var(--stroke-width)) / 2);\n --circumference: calc(var(--radius) * pi * 2);\n --dash: calc((var(--progress-value) * var(--circumference)) / 100);\n animation: progress-animation 100s linear 0s 1 forwards;\n\n width: var(--size);\n height: var(--size);\n}\n\n.progress-bar circle {\n cx: var(--half-size);\n cy: var(--half-size);\n r: var(--radius);\n stroke-width: var(--stroke-width);\n fill: none;\n stroke-linecap: butt;\n}\n\n.progress-bar circle.bg {\n stroke: color-mix(in hsl, currentColor 25%, var(--ui-bg));\n}\n\n.progress-bar circle.fg {\n transform: rotate(-90deg);\n transform-origin: var(--half-size) var(--half-size);\n stroke-dasharray: var(--dash) calc(var(--circumference) - var(--dash));\n transition: stroke-dasharray 0.3s linear 0s;\n stroke: currentColor;\n}\n</style>\n","import { onScopeDispose, shallowRef } from 'vue'\n\n// share this variable among all instances\nconst now = shallowRef(performance.timeOrigin + performance.now())\nlet intervalId: ReturnType<typeof setInterval> | undefined\nlet useCount = 0\n\n/**\n * Reactive and shared `performance.now()` that updates on the specified interval.\n */\nexport function usePerformanceNow() {\n if (!intervalId) {\n intervalId = setInterval(() => {\n now.value = performance.timeOrigin + performance.now()\n }, 50)\n }\n\n useCount++\n onScopeDispose(() => {\n if (--useCount <= 0) {\n clearInterval(intervalId)\n intervalId = undefined\n }\n })\n\n return now\n}\n","import type { EntryKey } from '@pinia/colada'\nimport { miniJsonParse } from '@pinia/colada-devtools/shared'\nimport { computed, toValue, type ComputedRef, type MaybeRefOrGetter } from 'vue'\n\nexport function useFormattedKey(entryKey: MaybeRefOrGetter<EntryKey>): ComputedRef<string[]>\nexport function useFormattedKey(\n entryKey: MaybeRefOrGetter<EntryKey | undefined>,\n): ComputedRef<string[] | undefined>\nexport function useFormattedKey(\n entryKey: MaybeRefOrGetter<EntryKey | undefined>,\n): ComputedRef<string[] | undefined> {\n // TODO: colorize the output based on the type of value\n return computed(() => {\n return toValue(entryKey)?.map((rawValue) => {\n let value: unknown = rawValue\n try {\n value = typeof rawValue === 'string' ? JSON.parse(rawValue) : rawValue\n } catch {\n // If parsing fails, keep the original value\n }\n return value && typeof value === 'object' ? miniJsonParse(value) : String(value)\n })\n })\n}\n","<script setup lang=\"ts\">\nconst modelValue = defineModel<string | number>()\n</script>\n\n<template>\n <input\n v-model=\"modelValue\"\n class=\"py-1.5 pl-8 pr-2 rounded border border-(--ui-border) focus:ring-1 focus:ring-theme focus:outline-none transition-colors theme-primary\"\n placeholder=\"Search Queries\"\n />\n</template>\n","import { defineComponent as G, useSlots as fe, ref as k, computed as h, watch as A, onMounted as X, onBeforeUnmount as Y, provide as g, createElementBlock as W, openBlock as I, normalizeClass as pe, renderSlot as J, nextTick as T, inject as E, getCurrentInstance as me, normalizeStyle as de, unref as j } from \"vue\";\nconst he = /* @__PURE__ */ G({\n __name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean, default: !1 },\n pushOtherPanes: { type: Boolean, default: !0 },\n maximizePanes: { type: Boolean, default: !0 },\n // Maximize pane on splitter double click/tap.\n rtl: { type: Boolean, default: !1 },\n // Right to left direction.\n firstSplitter: { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"resize\",\n \"resized\",\n \"pane-click\",\n \"pane-maximize\",\n \"pane-add\",\n \"pane-remove\",\n \"splitter-click\",\n \"splitter-dblclick\"\n ],\n setup(L, { emit: x }) {\n const y = x, c = L;\n fe();\n const l = k([]), w = h(\n () => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})\n ), z = h(() => l.value.length), f = k(null), S = k(!1), v = k({\n mouseDown: !1,\n dragging: !1,\n activeSplitter: null,\n cursorOffset: 0\n // Cursor offset within the splitter.\n }), d = k({\n // Used to detect double click on touch devices.\n splitter: null,\n timeoutId: null\n }), _ = h(() => ({\n [`splitpanes splitpanes--${c.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n \"splitpanes--dragging\": v.value.dragging\n }));\n let P = () => {\n };\n function R(e) {\n e.addEventListener(\"mousemove\", M, { passive: !1 }), e.addEventListener(\"mouseup\", u), \"ontouchstart\" in window && (e.addEventListener(\"touchmove\", M, { passive: !1 }), e.addEventListener(\"touchend\", u)), P = () => {\n e.removeEventListener(\"mousemove\", M), e.removeEventListener(\"mouseup\", u), \"ontouchstart\" in window && (e.removeEventListener(\"touchmove\", M), e.removeEventListener(\"touchend\", u)), P = () => {\n };\n };\n }\n const N = (e, n) => {\n const t = e.target.closest(\".splitpanes__splitter\");\n if (t) {\n const { left: i, top: a } = t.getBoundingClientRect(), { clientX: o, clientY: s } = \"touches\" in e ? e.touches[0] : e;\n v.value.cursorOffset = c.horizontal ? s - a : o - i;\n }\n R(e.target.ownerDocument || document), v.value.mouseDown = !0, v.value.activeSplitter = n;\n }, M = (e) => {\n v.value.mouseDown && (e.preventDefault(), v.value.dragging = !0, requestAnimationFrame(() => {\n Z(Q(e)), m(\"resize\", { event: e }, !0);\n }));\n }, u = (e) => {\n v.value.dragging && m(\"resized\", { event: e }, !0), v.value.mouseDown = !1, v.value.activeSplitter = null, setTimeout(() => {\n v.value.dragging = !1, P();\n }, 100);\n }, C = (e, n) => {\n \"ontouchstart\" in window && (e.preventDefault(), d.value.splitter === n ? (clearTimeout(d.value.timeoutId), d.value.timeoutId = null, B(e, n), d.value.splitter = null) : (d.value.splitter = n, d.value.timeoutId = setTimeout(() => d.value.splitter = null, 500))), v.value.dragging || m(\"splitter-click\", { event: e, index: n }, !0);\n }, B = (e, n) => {\n if (m(\"splitter-dblclick\", { event: e, index: n }, !0), c.maximizePanes) {\n let t = 0;\n l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, m(\"pane-maximize\", {\n event: e,\n index: n,\n pane: l.value[n]\n }), m(\"resized\", { event: e, index: n }, !0);\n }\n }, K = (e, n) => {\n m(\"pane-click\", {\n event: e,\n index: w.value[n].index,\n pane: w.value[n]\n });\n }, Q = (e) => {\n var a;\n const n = (a = f.value) == null ? void 0 : a.getBoundingClientRect(), { clientX: t, clientY: i } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n return {\n x: t - (c.horizontal ? 0 : v.value.cursorOffset) - n.left,\n y: i - (c.horizontal ? v.value.cursorOffset : 0) - n.top\n };\n }, V = (e) => {\n e = e[c.horizontal ? \"y\" : \"x\"];\n const n = f.value[c.horizontal ? \"clientHeight\" : \"clientWidth\"];\n return c.rtl && !c.horizontal && (e = n - e), e * 100 / n;\n }, Z = (e) => {\n const n = v.value.activeSplitter;\n let t = {\n prevPanesSize: U(n),\n nextPanesSize: b(n),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const i = 0 + (c.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (c.pushOtherPanes ? 0 : t.nextPanesSize), o = Math.max(Math.min(V(e), a), i);\n let s = [n, n + 1], r = l.value[s[0]], p = l.value[s[1]];\n if (!r || !p) return;\n const F = r.max < 100 && o >= r.max + t.prevPanesSize, ve = p.max < 100 && o <= 100 - (p.max + b(n + 1));\n if (F || ve) {\n F ? (r.size = r.max, p.size = Math.max(100 - r.max - t.prevPanesSize - t.nextPanesSize, 0)) : (r.size = Math.max(\n 100 - p.max - t.prevPanesSize - b(n + 1),\n 0\n ), p.size = p.max);\n return;\n }\n if (c.pushOtherPanes) {\n const H = ee(t, o);\n if (!H) return;\n ({ sums: t, panesToResize: s } = H), r = l.value[s[0]], p = l.value[s[1]];\n }\n r && (r.size = Math.min(\n Math.max(o - t.prevPanesSize - t.prevReachedMinPanes, r.min),\n r.max\n )), p && (p.size = Math.min(\n Math.max(100 - o - t.nextPanesSize - t.nextReachedMinPanes, p.min),\n p.max\n ));\n }, ee = (e, n) => {\n const t = v.value.activeSplitter, i = [t, t + 1];\n let a = l.value[i[0]], o = l.value[i[1]];\n return a && n < e.prevPanesSize + a.min && (i[0] = ne(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((s, r) => {\n r > i[0] && r <= t && (s.size = s.min, e.prevReachedMinPanes += s.min);\n }), e.prevPanesSize = U(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((s, r) => {\n r > 0 && r <= t && (s.size = s.min, e.prevReachedMinPanes += s.min);\n }), o.size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = ie(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((s, r) => {\n r > t && r < i[1] && (s.size = s.min, e.nextReachedMinPanes += s.min);\n }), e.nextPanesSize = b(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((s, r) => {\n r < z.value - 1 && r >= t + 1 && (s.size = s.min, e.nextReachedMinPanes += s.min);\n }), l.value[i[0]].size = 100 - e.prevPanesSize - b(i[0] - 1), null) : { sums: e, panesToResize: i };\n }, U = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), b = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), ne = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, ie = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, te = () => {\n var n;\n const e = Array.from(((n = f.value) == null ? void 0 : n.children) || []);\n for (const t of e) {\n const i = t.classList.contains(\"splitpanes__pane\"), a = t.classList.contains(\"splitpanes__splitter\");\n !i && !a && (t.remove(), console.warn(\n \"Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed.\"\n ));\n }\n }, $ = (e, n, t = !1) => {\n const i = e - 1, a = document.createElement(\"div\");\n a.classList.add(\"splitpanes__splitter\"), t || (a.onmousedown = (o) => N(o, i), typeof window < \"u\" && \"ontouchstart\" in window && (a.ontouchstart = (o) => N(o, i)), a.onclick = (o) => C(o, i + 1)), a.ondblclick = (o) => B(o, i + 1), n.parentNode.insertBefore(a, n);\n }, ae = (e) => {\n e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();\n }, O = () => {\n var t;\n const e = Array.from(((t = f.value) == null ? void 0 : t.children) || []);\n for (const i of e)\n i.className.includes(\"splitpanes__splitter\") && ae(i);\n let n = 0;\n for (const i of e)\n i.className.includes(\"splitpanes__pane\") && (!n && c.firstSplitter ? $(n, i, !0) : n && $(n, i), n++);\n }, se = ({ uid: e, ...n }) => {\n const t = w.value[e];\n for (const [i, a] of Object.entries(n)) t[i] = a;\n }, le = (e) => {\n var t;\n let n = -1;\n Array.from(((t = f.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes(\"splitpanes__pane\") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, { ...e, index: n }), l.value.forEach((i, a) => i.index = a), S.value && T(() => {\n O(), q({ addedPane: l.value[n] }), m(\"pane-add\", { pane: l.value[n] });\n });\n }, oe = (e) => {\n const n = l.value.findIndex((i) => i.id === e);\n l.value[n].el = null;\n const t = l.value.splice(n, 1)[0];\n l.value.forEach((i, a) => i.index = a), T(() => {\n O(), m(\"pane-remove\", { pane: t }), q({ removedPane: { ...t } });\n });\n }, q = (e = {}) => {\n !e.addedPane && !e.removedPane ? ue() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? ce(e) : re(), S.value && m(\"resized\");\n }, re = () => {\n const e = 100 / z.value;\n let n = 0;\n const t = [], i = [];\n for (const a of l.value)\n a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);\n n > 0.1 && D(n, t, i);\n }, ue = () => {\n let e = 100;\n const n = [], t = [];\n let i = 0;\n for (const o of l.value)\n e -= o.size, o.givenSize !== null && i++, o.size >= o.max && n.push(o.id), o.size <= o.min && t.push(o.id);\n let a = 100;\n if (e > 0.1) {\n for (const o of l.value)\n o.givenSize === null && (o.size = Math.max(\n Math.min(e / (z.value - i), o.max),\n o.min\n )), a -= o.size;\n a > 0.1 && D(a, n, t);\n }\n }, ce = ({ addedPane: e, removedPane: n } = {}) => {\n let t = 100 / z.value, i = 0;\n const a = [], o = [];\n ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (z.value - 1));\n for (const s of l.value)\n i -= s.size, s.size >= s.max && a.push(s.id), s.size <= s.min && o.push(s.id);\n if (!(Math.abs(i) < 0.1)) {\n for (const s of l.value)\n (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === s.id || (s.size = Math.max(Math.min(t, s.max), s.min)), i -= s.size, s.size >= s.max && a.push(s.id), s.size <= s.min && o.push(s.id);\n i > 0.1 && D(i, a, o);\n }\n }, D = (e, n, t) => {\n let i;\n e > 0 ? i = e / (z.value - n.length) : i = e / (z.value - t.length), l.value.forEach((a, o) => {\n if (e > 0 && !n.includes(a.id)) {\n const s = Math.max(Math.min(a.size + i, a.max), a.min), r = s - a.size;\n e -= r, a.size = s;\n } else if (!t.includes(a.id)) {\n const s = Math.max(Math.min(a.size + i, a.max), a.min), r = s - a.size;\n e -= r, a.size = s;\n }\n }), Math.abs(e) > 0.1 && T(() => {\n S.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n });\n }, m = (e, n = void 0, t = !1) => {\n const i = (n == null ? void 0 : n.index) ?? v.value.activeSplitter ?? null;\n y(e, {\n ...n,\n ...i !== null && { index: i },\n ...t && i !== null && {\n prevPane: l.value[i - (c.firstSplitter ? 1 : 0)],\n nextPane: l.value[i + (c.firstSplitter ? 0 : 1)]\n },\n panes: l.value.map((a) => ({\n min: a.min,\n max: a.max,\n size: a.size\n }))\n });\n };\n return A(\n () => c.firstSplitter,\n () => O()\n ), X(() => {\n te(), O(), q(), m(\"ready\"), S.value = !0;\n }), Y(() => S.value = !1), g(\"panes\", l), g(\"indexedPanes\", w), g(\n \"horizontal\",\n h(() => c.horizontal)\n ), g(\"requestUpdate\", se), g(\"onPaneAdd\", le), g(\"onPaneRemove\", oe), g(\"onPaneClick\", K), (e, n) => (I(), W(\"div\", {\n class: pe(_.value),\n ref_key: \"containerEl\",\n ref: f\n }, [\n J(e.$slots, \"default\")\n ], 2));\n }\n}), xe = /* @__PURE__ */ G({\n __name: \"pane\",\n props: {\n size: { type: [Number, String] },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n setup(L) {\n var M;\n const x = L, y = E(\"requestUpdate\"), c = E(\"onPaneAdd\"), l = E(\"horizontal\"), w = E(\"onPaneRemove\"), z = E(\"onPaneClick\"), f = (M = me()) == null ? void 0 : M.uid, S = E(\"indexedPanes\"), v = h(() => S.value[f]), d = k(null), _ = h(() => {\n const u = isNaN(x.size) || x.size === void 0 ? 0 : parseFloat(x.size);\n return Math.max(Math.min(u, R.value), P.value);\n }), P = h(() => {\n const u = parseFloat(x.minSize);\n return isNaN(u) ? 0 : u;\n }), R = h(() => {\n const u = parseFloat(x.maxSize);\n return isNaN(u) ? 100 : u;\n }), N = h(() => {\n var u;\n return `${l.value ? \"height\" : \"width\"}: ${(u = v.value) == null ? void 0 : u.size}%`;\n });\n return A(\n () => _.value,\n (u) => y({ uid: f, size: u })\n ), A(\n () => P.value,\n (u) => y({ uid: f, min: u })\n ), A(\n () => R.value,\n (u) => y({ uid: f, max: u })\n ), X(() => {\n c({\n id: f,\n el: d.value,\n min: P.value,\n max: R.value,\n // The given size (useful to know the user intention).\n givenSize: x.size === void 0 ? null : _.value,\n size: _.value\n // The computed current size at any time.\n });\n }), Y(() => w(f)), (u, C) => (I(), W(\"div\", {\n ref_key: \"paneEl\",\n ref: d,\n class: \"splitpanes__pane\",\n onClick: C[0] || (C[0] = (B) => j(z)(B, j(f))),\n style: de(N.value)\n }, [\n J(u.$slots, \"default\")\n ], 4));\n }\n});\nexport {\n xe as Pane,\n he as Splitpanes\n};\n","import type { MaybeRefOrGetter } from 'vue'\nimport { computed, onScopeDispose, shallowRef, toValue, watchEffect } from 'vue'\nimport { useEventListener, useSupported } from '@vueuse/core'\n\n// copied from match-container and adapted to shadow DOM\n// import 'match-container'\n\nconst polyfill_key = 'bae45330cd3d4e0e96b60d26b57009b5'\nlet count = 0\n// To guard against the case that this polyfill might be included more than once\n// we must ensure that the ID generating function is a singleton\n// to guarantee that no duplicated IDs are generated - however slim the chance might be.\n// The IDs are unique in the current javascript runtime context.\n// The IDs are constructed from the following parts:\n// - a timestamp\n// - the current value of a counter, incremented after each created ID\n// - a static prefix\n// Even if two IDs are generated within the same milisecond the increased counter ensures\n// that they cannot clash.\n\nconst createID = () => `${polyfill_key}-${Date.now()}-${count++}`\n\nclass ContainerQueryListEvent extends Event {\n constructor(\n type: string,\n public container: string,\n public matches: boolean,\n ) {\n super(type)\n }\n}\n\nclass ContainerQueryList extends EventTarget {\n #observedElement: HTMLElement\n #abortController = new AbortController()\n container: string\n matches: boolean\n\n constructor(element: HTMLElement, containerQueryString: string) {\n super()\n this.container = containerQueryString\n const unique_name = `container-query-observer-${createID()}`\n const markerAttribute = `data-${unique_name}`\n element.setAttribute(markerAttribute, '')\n const sentinelProperty = `--${unique_name}`\n const propertyCss = `\n @property ${sentinelProperty} {\n syntax: '<custom-ident>';\n inherits: false;\n initial-value: --false;\n }\n`.trim()\n const containerCss = `\n @container ${containerQueryString} {\n [${markerAttribute}] {\n ${sentinelProperty}: --true;\n }\n }\n`.trim()\n\n const rootNode = element.getRootNode()\n if (!(rootNode instanceof ShadowRoot) && !(rootNode instanceof Document)) {\n console.error(`root node of element isn't a ShadowRoot or Document`, rootNode)\n throw new TypeError('Root node must be a ShadowRoot or Document')\n }\n\n const propertyCssSheet = new CSSStyleSheet()\n propertyCssSheet.replaceSync(propertyCss)\n const doc = document\n doc.adoptedStyleSheets.push(propertyCssSheet)\n\n // FIXME: adoptedStyleSheets cannot be shared\n // the behavior breaks when using the PiP\n if (rootNode.ownerDocument === document) {\n const containerQuerySheet = new CSSStyleSheet()\n containerQuerySheet.replaceSync(containerCss)\n rootNode.adoptedStyleSheets.push(containerQuerySheet)\n }\n\n const style = getComputedStyle(element)\n this.matches = style.getPropertyValue(sentinelProperty) === '--true'\n\n this.#observedElement = element\n this.#startObserving(sentinelProperty, containerQueryString, element)\n }\n\n #startObserving(\n sentinelProperty: string,\n containerQueryString: string,\n observedElement: HTMLElement,\n ) {\n const _previousValues: Record<string, string | undefined> = {}\n\n observedElement.style.setProperty('transition', `${sentinelProperty} 0.001ms step-start`)\n observedElement.style.setProperty('transition-behavior', 'allow-discrete')\n observedElement.addEventListener(\n 'transitionrun',\n (transitionEvent) => {\n if (observedElement === transitionEvent.target) {\n const computedStyle = getComputedStyle(observedElement)\n const changes: Record<string, string | undefined> = {}\n const currentValue = computedStyle.getPropertyValue(sentinelProperty)\n const previousValue = _previousValues[sentinelProperty]\n const hasChanged = currentValue !== previousValue\n\n if (hasChanged) {\n changes[sentinelProperty] = currentValue\n _previousValues[sentinelProperty] = currentValue\n if (sentinelProperty in changes) {\n const matches = changes[sentinelProperty] === '--true'\n this.matches = matches\n // raise 'change' event\n const event = new ContainerQueryListEvent('change', containerQueryString, matches)\n this.dispatchEvent(event)\n }\n }\n }\n },\n { signal: this.#abortController.signal },\n )\n\n // init _previousValues\n const computedStyle = getComputedStyle(observedElement)\n const currentValue = computedStyle.getPropertyValue(sentinelProperty)\n _previousValues[sentinelProperty] = currentValue\n }\n\n dispose() {\n this.#observedElement.style.removeProperty('transition')\n this.#observedElement.style.removeProperty('transition-behavior')\n // stop the event listener\n this.#abortController.abort()\n }\n}\n\nif (typeof window !== 'undefined') {\n if (!HTMLElement.prototype.matchContainer) {\n HTMLElement.prototype.matchContainer = function matchContainer(\n this: HTMLElement,\n containerQueryString: string,\n ) {\n return new ContainerQueryList(this, containerQueryString)\n }\n }\n}\n\n// For some reason, the types are not being picked up from the package\ndeclare global {\n interface HTMLElement {\n matchContainer: (containerQueryString: string) => ContainerQueryList\n }\n}\n\n/**\n * Reactive Container Media Query.\n *\n * @param query - The container query string to match against.\n * @param target - The target element to match the query against.\n */\nexport function useContainerMediaQuery(\n query: MaybeRefOrGetter<string>,\n target: MaybeRefOrGetter<HTMLElement | null | undefined>,\n) {\n const isSupported = useSupported(\n () => typeof document !== 'undefined' && typeof document.body.matchContainer === 'function',\n )\n const mediaQuery = shallowRef<ContainerQueryList>()\n const matches = shallowRef(false)\n\n watchEffect(() => {\n if (!isSupported.value) return\n\n mediaQuery.value?.dispose()\n\n mediaQuery.value = toValue(target)?.matchContainer(toValue(query))\n matches.value = !!mediaQuery.value?.matches\n })\n\n onScopeDispose(() => {\n mediaQuery.value?.dispose()\n })\n\n useEventListener(\n mediaQuery,\n 'change',\n (event: ContainerQueryListEvent) => {\n matches.value = event.matches\n },\n { passive: true },\n )\n\n return computed(() => matches.value)\n}\n"],"names":["valuePercentage","computed","__props","_openBlock","_createElementBlock","_hoisted_1","_cache","_createElementVNode","now","shallowRef","intervalId","useCount","usePerformanceNow","onScopeDispose","useFormattedKey","entryKey","toValue","rawValue","value","miniJsonParse","modelValue","_useModel","$event","he","G","L","x","y","c","fe","l","k","w","h","n","z","f","S","d","_","P","R","M","u","N","t","i","a","o","s","Z","Q","m","C","K","V","U","b","r","p","F","ve","H","ee","ne","ie","te","e","$","ae","O","se","le","T","q","oe","ue","ce","re","D","A","X","Y","g","I","W","pe","J","xe","E","me","v","j","de","polyfill_key","count","createID","ContainerQueryListEvent","type","container","matches","ContainerQueryList","#observedElement","#abortController","element","containerQueryString","unique_name","markerAttribute","sentinelProperty","propertyCss","containerCss","rootNode","propertyCssSheet","containerQuerySheet","style","#startObserving","observedElement","_previousValues","transitionEvent","computedStyle","changes","currentValue","previousValue","event","useContainerMediaQuery","query","target","isSupported","useSupported","mediaQuery","watchEffect","useEventListener"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,UAAMA,IAAkBC,EAAS,MAAM,KAAK,OAAQC,EAAA,QAAQA,EAAA,QAAQA,EAAA,MAAMA,EAAA,OAAQ,GAAG,CAAC;sBAIpFC,EAAA,GAAAC,EAKM,OALNC,IAKM,CAAA,GAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,MAJJC,EAGM,OAAA,MAAA;AAAA,QAFJA,EAAqB,UAAA,EAAb,OAAM,MAAI;AAAA,QAClBA,EAAqB,UAAA,EAAb,OAAM,MAAI;AAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDCnBlBC,IAAMC,EAAW,YAAY,aAAa,YAAY,KAAK;AACjE,IAAIC,GACAC,IAAW;AAKR,SAASC,KAAoB;AAClC,SAAKF,MACHA,IAAa,YAAY,MAAM;AAC7B,IAAAF,EAAI,QAAQ,YAAY,aAAa,YAAY,IAAA;AAAA,EACnD,GAAG,EAAE,IAGPG,KACAE,GAAe,MAAM;AACnB,IAAI,EAAEF,KAAY,MAChB,cAAcD,CAAU,GACxBA,IAAa;AAAA,EAEjB,CAAC,GAEMF;AACT;AClBO,SAASM,GACdC,GACmC;AAEnC,SAAOd,EAAS,MACPe,EAAQD,CAAQ,GAAG,IAAI,CAACE,MAAa;AAC1C,QAAIC,IAAiBD;AACrB,QAAI;AACF,MAAAC,IAAQ,OAAOD,KAAa,WAAW,KAAK,MAAMA,CAAQ,IAAIA;AAAA,IAChE,QAAQ;AAAA,IAER;AACA,WAAOC,KAAS,OAAOA,KAAU,WAAWC,GAAcD,CAAK,IAAI,OAAOA,CAAK;AAAA,EACjF,CAAC,CACF;AACH;;;;;;;;;ACtBA,UAAME,IAAaC,GAA4BnB,GAAA,YAAC;8BAI9CE,EAIE,SAAA;AAAA,oDAHSgB,EAAU,QAAAE;AAAA,MACnB,OAAM;AAAA,MACN,aAAY;AAAA,IAAA;WAFHF,EAAA,KAAU;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;qDCLjBG,KAAqBC,gBAAAA,EAAE;AAAA,EAC3B,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,YAAY,EAAE,MAAM,SAAS,SAAS,GAAE;AAAA,IACxC,gBAAgB,EAAE,MAAM,SAAS,SAAS,GAAE;AAAA,IAC5C,eAAe,EAAE,MAAM,SAAS,SAAS,GAAE;AAAA;AAAA,IAE3C,KAAK,EAAE,MAAM,SAAS,SAAS,GAAE;AAAA;AAAA,IAEjC,eAAe,EAAE,MAAM,SAAS,SAAS,GAAE;AAAA,EAC/C;AAAA,EACE,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACE,MAAMC,GAAG,EAAE,MAAMC,EAAC,GAAI;AACpB,UAAMC,IAAID,GAAGE,IAAIH;AACjBI,IAAAA,GAAE;AACF,UAAMC,IAAIC,EAAE,EAAE,GAAGC,IAAIC;AAAAA,MACnB,MAAMH,EAAE,MAAM,OAAO,CAAC,GAAGI,OAAO,EAAE,CAAC,CAACA,EAAE,EAAE,IAAIA,MAAM,GAAG,CAAA,CAAE;AAAA,IAC7D,GAAOC,IAAIF,EAAE,MAAMH,EAAE,MAAM,MAAM,GAAGM,IAAIL,EAAE,IAAI,GAAGM,IAAIN,EAAE,EAAE,GAAG,IAAIA,EAAE;AAAA,MAC5D,WAAW;AAAA,MACX,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,cAAc;AAAA;AAAA,IAEpB,CAAK,GAAGO,IAAIP,EAAE;AAAA;AAAA,MAER,UAAU;AAAA,MACV,WAAW;AAAA,IACjB,CAAK,GAAGQ,IAAIN,EAAE,OAAO;AAAA,MACf,CAAC,0BAA0BL,EAAE,aAAa,eAAe,UAAU,EAAE,GAAG;AAAA,MACxE,wBAAwB,EAAE,MAAM;AAAA,IACtC,EAAM;AACF,QAAIY,IAAI,MAAM;AAAA,IACd;AACA,aAASC,EAAE,GAAG;AACZ,QAAE,iBAAiB,aAAaC,GAAG,EAAE,SAAS,IAAI,GAAG,EAAE,iBAAiB,WAAWC,CAAC,GAAG,kBAAkB,WAAW,EAAE,iBAAiB,aAAaD,GAAG,EAAE,SAAS,GAAE,CAAE,GAAG,EAAE,iBAAiB,YAAYC,CAAC,IAAIH,IAAI,MAAM;AACrN,UAAE,oBAAoB,aAAaE,CAAC,GAAG,EAAE,oBAAoB,WAAWC,CAAC,GAAG,kBAAkB,WAAW,EAAE,oBAAoB,aAAaD,CAAC,GAAG,EAAE,oBAAoB,YAAYC,CAAC,IAAIH,IAAI,MAAM;AAAA,QACjM;AAAA,MACF;AAAA,IACF;AACA,UAAMI,IAAI,CAAC,GAAGV,MAAM;AAClB,YAAMW,IAAI,EAAE,OAAO,QAAQ,uBAAuB;AAClD,UAAIA,GAAG;AACL,cAAM,EAAE,MAAMC,GAAG,KAAKC,EAAC,IAAKF,EAAE,sBAAqB,GAAI,EAAE,SAASG,GAAG,SAASC,EAAC,IAAK,aAAa,IAAI,EAAE,QAAQ,CAAC,IAAI;AACpH,UAAE,MAAM,eAAerB,EAAE,aAAaqB,IAAIF,IAAIC,IAAIF;AAAA,MACpD;AACA,MAAAL,EAAE,EAAE,OAAO,iBAAiB,QAAQ,GAAG,EAAE,MAAM,YAAY,IAAI,EAAE,MAAM,iBAAiBP;AAAA,IAC1F,GAAGQ,IAAI,CAAC,MAAM;AACZ,QAAE,MAAM,cAAc,EAAE,eAAc,GAAI,EAAE,MAAM,WAAW,IAAI,sBAAsB,MAAM;AAC3F,QAAAQ,GAAEC,GAAE,CAAC,CAAC,GAAGC,EAAE,UAAU,EAAE,OAAO,EAAC,GAAI,EAAE;AAAA,MACvC,CAAC;AAAA,IACH,GAAGT,IAAI,CAAC,MAAM;AACZ,QAAE,MAAM,YAAYS,EAAE,WAAW,EAAE,OAAO,EAAC,GAAI,EAAE,GAAG,EAAE,MAAM,YAAY,IAAI,EAAE,MAAM,iBAAiB,MAAM,WAAW,MAAM;AAC1H,UAAE,MAAM,WAAW,IAAIZ,EAAC;AAAA,MAC1B,GAAG,GAAG;AAAA,IACR,GAAGa,IAAI,CAAC,GAAGnB,MAAM;AACf,wBAAkB,WAAW,EAAE,eAAc,GAAII,EAAE,MAAM,aAAaJ,KAAK,aAAaI,EAAE,MAAM,SAAS,GAAGA,EAAE,MAAM,YAAY,MAAM,EAAE,GAAGJ,CAAC,GAAGI,EAAE,MAAM,WAAW,SAASA,EAAE,MAAM,WAAWJ,GAAGI,EAAE,MAAM,YAAY,WAAW,MAAMA,EAAE,MAAM,WAAW,MAAM,GAAG,KAAK,EAAE,MAAM,YAAYc,EAAE,kBAAkB,EAAE,OAAO,GAAG,OAAOlB,EAAC,GAAI,EAAE;AAAA,IAC3U,GAAG,IAAI,CAAC,GAAGA,MAAM;AACf,UAAIkB,EAAE,qBAAqB,EAAE,OAAO,GAAG,OAAOlB,KAAK,EAAE,GAAGN,EAAE,eAAe;AACvE,YAAIiB,IAAI;AACR,QAAAf,EAAE,QAAQA,EAAE,MAAM,IAAI,CAACgB,GAAGC,OAAOD,EAAE,OAAOC,MAAMb,IAAIY,EAAE,MAAMA,EAAE,KAAKC,MAAMb,MAAMW,KAAKC,EAAE,MAAMA,EAAE,GAAGhB,EAAE,MAAMI,CAAC,EAAE,QAAQW,GAAGO,EAAE,iBAAiB;AAAA,UACxI,OAAO;AAAA,UACP,OAAOlB;AAAA,UACP,MAAMJ,EAAE,MAAMI,CAAC;AAAA,QACzB,CAAS,GAAGkB,EAAE,WAAW,EAAE,OAAO,GAAG,OAAOlB,EAAC,GAAI,EAAE;AAAA,MAC7C;AAAA,IACF,GAAGoB,KAAI,CAAC,GAAGpB,MAAM;AACf,MAAAkB,EAAE,cAAc;AAAA,QACd,OAAO;AAAA,QACP,OAAOpB,EAAE,MAAME,CAAC,EAAE;AAAA,QAClB,MAAMF,EAAE,MAAME,CAAC;AAAA,MACvB,CAAO;AAAA,IACH,GAAGiB,KAAI,CAAC,MAAM;AACZ,UAAIJ;AACJ,YAAMb,KAAKa,IAAIX,EAAE,UAAU,OAAO,SAASW,EAAE,sBAAqB,GAAI,EAAE,SAASF,GAAG,SAASC,EAAC,IAAK,kBAAkB,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI;AAC1J,aAAO;AAAA,QACL,GAAGD,KAAKjB,EAAE,aAAa,IAAI,EAAE,MAAM,gBAAgBM,EAAE;AAAA,QACrD,GAAGY,KAAKlB,EAAE,aAAa,EAAE,MAAM,eAAe,KAAKM,EAAE;AAAA,MAC7D;AAAA,IACI,GAAGqB,KAAI,CAAC,MAAM;AACZ,UAAI,EAAE3B,EAAE,aAAa,MAAM,GAAG;AAC9B,YAAMM,IAAIE,EAAE,MAAMR,EAAE,aAAa,iBAAiB,aAAa;AAC/D,aAAOA,EAAE,OAAO,CAACA,EAAE,eAAe,IAAIM,IAAI,IAAI,IAAI,MAAMA;AAAA,IAC1D,GAAGgB,KAAI,CAAC,MAAM;AACZ,YAAMhB,IAAI,EAAE,MAAM;AAClB,UAAIW,IAAI;AAAA,QACN,eAAeW,EAAEtB,CAAC;AAAA,QAClB,eAAeuB,EAAEvB,CAAC;AAAA,QAClB,qBAAqB;AAAA,QACrB,qBAAqB;AAAA,MAC7B;AACM,YAAMY,IAAI,KAAKlB,EAAE,iBAAiB,IAAIiB,EAAE,gBAAgBE,IAAI,OAAOnB,EAAE,iBAAiB,IAAIiB,EAAE,gBAAgBG,IAAI,KAAK,IAAI,KAAK,IAAIO,GAAE,CAAC,GAAGR,CAAC,GAAGD,CAAC;AAC7I,UAAIG,IAAI,CAACf,GAAGA,IAAI,CAAC,GAAGwB,IAAI5B,EAAE,MAAMmB,EAAE,CAAC,CAAC,GAAGU,IAAI7B,EAAE,MAAMmB,EAAE,CAAC,CAAC;AACvD,UAAI,CAACS,KAAK,CAACC,EAAG;AACd,YAAMC,IAAIF,EAAE,MAAM,OAAOV,KAAKU,EAAE,MAAMb,EAAE,eAAegB,KAAKF,EAAE,MAAM,OAAOX,KAAK,OAAOW,EAAE,MAAMF,EAAEvB,IAAI,CAAC;AACtG,UAAI0B,KAAKC,IAAI;AACX,QAAAD,KAAKF,EAAE,OAAOA,EAAE,KAAKC,EAAE,OAAO,KAAK,IAAI,MAAMD,EAAE,MAAMb,EAAE,gBAAgBA,EAAE,eAAe,CAAC,MAAMa,EAAE,OAAO,KAAK;AAAA,UAC3G,MAAMC,EAAE,MAAMd,EAAE,gBAAgBY,EAAEvB,IAAI,CAAC;AAAA,UACvC;AAAA,QACV,GAAWyB,EAAE,OAAOA,EAAE;AACd;AAAA,MACF;AACA,UAAI/B,EAAE,gBAAgB;AACpB,cAAMkC,IAAIC,GAAGlB,GAAGG,CAAC;AACjB,YAAI,CAACc,EAAG;AACR,SAAC,EAAE,MAAMjB,GAAG,eAAeI,MAAMa,IAAIJ,IAAI5B,EAAE,MAAMmB,EAAE,CAAC,CAAC,GAAGU,IAAI7B,EAAE,MAAMmB,EAAE,CAAC,CAAC;AAAA,MAC1E;AACA,MAAAS,MAAMA,EAAE,OAAO,KAAK;AAAA,QAClB,KAAK,IAAIV,IAAIH,EAAE,gBAAgBA,EAAE,qBAAqBa,EAAE,GAAG;AAAA,QAC3DA,EAAE;AAAA,MACV,IAAUC,MAAMA,EAAE,OAAO,KAAK;AAAA,QACtB,KAAK,IAAI,MAAMX,IAAIH,EAAE,gBAAgBA,EAAE,qBAAqBc,EAAE,GAAG;AAAA,QACjEA,EAAE;AAAA,MACV;AAAA,IACI,GAAGI,KAAK,CAAC,GAAG7B,MAAM;AAChB,YAAMW,IAAI,EAAE,MAAM,gBAAgBC,IAAI,CAACD,GAAGA,IAAI,CAAC;AAC/C,UAAIE,IAAIjB,EAAE,MAAMgB,EAAE,CAAC,CAAC,GAAGE,IAAIlB,EAAE,MAAMgB,EAAE,CAAC,CAAC;AACvC,aAAOC,KAAKb,IAAI,EAAE,gBAAgBa,EAAE,QAAQD,EAAE,CAAC,IAAIkB,GAAGnB,CAAC,EAAE,OAAO,EAAE,sBAAsB,GAAGC,EAAE,CAAC,IAAID,KAAKf,EAAE,MAAM,QAAQ,CAACmB,GAAGS,MAAM;AAC/H,QAAAA,IAAIZ,EAAE,CAAC,KAAKY,KAAKb,MAAMI,EAAE,OAAOA,EAAE,KAAK,EAAE,uBAAuBA,EAAE;AAAA,MACpE,CAAC,GAAG,EAAE,gBAAgBO,EAAEV,EAAE,CAAC,CAAC,GAAGA,EAAE,CAAC,MAAM,WAAW,EAAE,sBAAsB,GAAGhB,EAAE,MAAM,CAAC,EAAE,OAAOA,EAAE,MAAM,CAAC,EAAE,KAAKA,EAAE,MAAM,QAAQ,CAACmB,GAAGS,MAAM;AACxI,QAAAA,IAAI,KAAKA,KAAKb,MAAMI,EAAE,OAAOA,EAAE,KAAK,EAAE,uBAAuBA,EAAE;AAAA,MACjE,CAAC,GAAGD,EAAE,OAAO,MAAM,EAAE,sBAAsBlB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,QAAQI,IAAI,MAAM,EAAE,gBAAgBJ,EAAE,MAAMgB,EAAE,CAAC,CAAC,EAAE,QAAQA,EAAE,CAAC,IAAImB,GAAGpB,CAAC,EAAE,OAAO,EAAE,sBAAsB,GAAGC,EAAE,CAAC,IAAID,IAAI,KAAKf,EAAE,MAAM,QAAQ,CAACmB,GAAGS,MAAM;AAChP,QAAAA,IAAIb,KAAKa,IAAIZ,EAAE,CAAC,MAAMG,EAAE,OAAOA,EAAE,KAAK,EAAE,uBAAuBA,EAAE;AAAA,MACnE,CAAC,GAAG,EAAE,gBAAgBQ,EAAEX,EAAE,CAAC,IAAI,CAAC,GAAGA,EAAE,CAAC,MAAM,WAAW,EAAE,sBAAsB,GAAGhB,EAAE,MAAM,QAAQ,CAACmB,GAAGS,MAAM;AAC1G,QAAAA,IAAIvB,EAAE,QAAQ,KAAKuB,KAAKb,IAAI,MAAMI,EAAE,OAAOA,EAAE,KAAK,EAAE,uBAAuBA,EAAE;AAAA,MAC/E,CAAC,GAAGnB,EAAE,MAAMgB,EAAE,CAAC,CAAC,EAAE,OAAO,MAAM,EAAE,gBAAgBW,EAAEX,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,MAAM,GAAG,eAAeA,EAAC;AAAA,IACnG,GAAGU,IAAI,CAAC,MAAM1B,EAAE,MAAM,OAAO,CAACI,GAAGW,GAAGC,MAAMZ,KAAKY,IAAI,IAAID,EAAE,OAAO,IAAI,CAAC,GAAGY,IAAI,CAAC,MAAM3B,EAAE,MAAM,OAAO,CAACI,GAAGW,GAAGC,MAAMZ,KAAKY,IAAI,IAAI,IAAID,EAAE,OAAO,IAAI,CAAC,GAAGmB,KAAK,CAAC,MAAM,CAAC,GAAGlC,EAAE,KAAK,EAAE,QAAO,EAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA,GAAImC,KAAK,CAAC,MAAMnC,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA,GAAIoC,KAAK,MAAM;AACzT,UAAIhC;AACJ,YAAMiC,IAAI,MAAM,OAAOjC,IAAIE,EAAE,UAAU,OAAO,SAASF,EAAE,aAAa,CAAA,CAAE;AACxE,iBAAWW,KAAKsB,GAAG;AACjB,cAAMrB,IAAID,EAAE,UAAU,SAAS,kBAAkB,GAAGE,IAAIF,EAAE,UAAU,SAAS,sBAAsB;AACnG,SAACC,KAAK,CAACC,MAAMF,EAAE,OAAM,GAAI,QAAQ;AAAA,UAC/B;AAAA,QACV;AAAA,MACM;AAAA,IACF,GAAGuB,IAAI,CAAC,GAAGlC,GAAGW,IAAI,OAAO;AACvB,YAAMC,IAAI,IAAI,GAAGC,IAAI,SAAS,cAAc,KAAK;AACjD,MAAAA,EAAE,UAAU,IAAI,sBAAsB,GAAGF,MAAME,EAAE,cAAc,CAACC,MAAMJ,EAAEI,GAAGF,CAAC,GAAG,OAAO,SAAS,OAAO,kBAAkB,WAAWC,EAAE,eAAe,CAACC,MAAMJ,EAAEI,GAAGF,CAAC,IAAIC,EAAE,UAAU,CAACC,MAAMK,EAAEL,GAAGF,IAAI,CAAC,IAAIC,EAAE,aAAa,CAACC,MAAM,EAAEA,GAAGF,IAAI,CAAC,GAAGZ,EAAE,WAAW,aAAaa,GAAGb,CAAC;AAAA,IACzQ,GAAGmC,KAAK,CAAC,MAAM;AACb,QAAE,cAAc,QAAQ,EAAE,UAAU,QAAQ,EAAE,aAAa,QAAQ,EAAE,OAAM;AAAA,IAC7E,GAAGC,IAAI,MAAM;AACX,UAAIzB;AACJ,YAAMsB,IAAI,MAAM,OAAOtB,IAAIT,EAAE,UAAU,OAAO,SAASS,EAAE,aAAa,CAAA,CAAE;AACxE,iBAAWC,KAAKqB;AACd,QAAArB,EAAE,UAAU,SAAS,sBAAsB,KAAKuB,GAAGvB,CAAC;AACtD,UAAIZ,IAAI;AACR,iBAAWY,KAAKqB;AACd,QAAArB,EAAE,UAAU,SAAS,kBAAkB,MAAM,CAACZ,KAAKN,EAAE,gBAAgBwC,EAAElC,GAAGY,GAAG,EAAE,IAAIZ,KAAKkC,EAAElC,GAAGY,CAAC,GAAGZ;AAAA,IACrG,GAAGqC,KAAK,CAAC,EAAE,KAAK,GAAG,GAAGrC,QAAQ;AAC5B,YAAMW,IAAIb,EAAE,MAAM,CAAC;AACnB,iBAAW,CAACc,GAAGC,CAAC,KAAK,OAAO,QAAQb,CAAC,EAAG,CAAAW,EAAEC,CAAC,IAAIC;AAAA,IACjD,GAAGyB,KAAK,CAAC,MAAM;AACb,UAAI;AACJ,UAAItC,IAAI;AACR,YAAM,OAAO,IAAIE,EAAE,UAAU,OAAO,SAAS,EAAE,aAAa,CAAA,CAAE,EAAE,KAAK,CAACU,OAAOA,EAAE,UAAU,SAAS,kBAAkB,KAAKZ,KAAKY,EAAE,WAAW,EAAE,EAAE,EAAE,GAAGhB,EAAE,MAAM,OAAOI,GAAG,GAAG,EAAE,GAAG,GAAG,OAAOA,EAAC,CAAE,GAAGJ,EAAE,MAAM,QAAQ,CAACgB,GAAGC,MAAMD,EAAE,QAAQC,CAAC,GAAGV,EAAE,SAASoC,EAAE,MAAM;AACvP,QAAAH,EAAC,GAAII,EAAE,EAAE,WAAW5C,EAAE,MAAMI,CAAC,EAAC,CAAE,GAAGkB,EAAE,YAAY,EAAE,MAAMtB,EAAE,MAAMI,CAAC,GAAG;AAAA,MACvE,CAAC;AAAA,IACH,GAAGyC,KAAK,CAAC,MAAM;AACb,YAAMzC,IAAIJ,EAAE,MAAM,UAAU,CAACgB,MAAMA,EAAE,OAAO,CAAC;AAC7C,MAAAhB,EAAE,MAAMI,CAAC,EAAE,KAAK;AAChB,YAAMW,IAAIf,EAAE,MAAM,OAAOI,GAAG,CAAC,EAAE,CAAC;AAChC,MAAAJ,EAAE,MAAM,QAAQ,CAACgB,GAAGC,MAAMD,EAAE,QAAQC,CAAC,GAAG0B,EAAE,MAAM;AAC9C,QAAAH,EAAC,GAAIlB,EAAE,eAAe,EAAE,MAAMP,EAAC,CAAE,GAAG6B,EAAE,EAAE,aAAa,EAAE,GAAG7B,EAAC,EAAE,CAAE;AAAA,MACjE,CAAC;AAAA,IACH,GAAG6B,IAAI,CAAC,IAAI,OAAO;AACjB,OAAC,EAAE,aAAa,CAAC,EAAE,cAAcE,GAAE,IAAK9C,EAAE,MAAM,KAAK,CAACI,MAAMA,EAAE,cAAc,QAAQA,EAAE,OAAOA,EAAE,MAAM,GAAG,IAAI2C,GAAG,CAAC,IAAIC,GAAE,GAAIzC,EAAE,SAASe,EAAE,SAAS;AAAA,IAClJ,GAAG0B,KAAK,MAAM;AACZ,YAAM,IAAI,MAAM3C,EAAE;AAClB,UAAID,IAAI;AACR,YAAMW,IAAI,IAAIC,IAAI,CAAA;AAClB,iBAAWC,KAAKjB,EAAE;AAChB,QAAAiB,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGb,KAAKa,EAAE,MAAMA,EAAE,QAAQA,EAAE,OAAOF,EAAE,KAAKE,EAAE,EAAE,GAAGA,EAAE,QAAQA,EAAE,OAAOD,EAAE,KAAKC,EAAE,EAAE;AAC5H,MAAAb,IAAI,OAAO6C,EAAE7C,GAAGW,GAAGC,CAAC;AAAA,IACtB,GAAG8B,KAAK,MAAM;AACZ,UAAI,IAAI;AACR,YAAM1C,IAAI,IAAIW,IAAI,CAAA;AAClB,UAAIC,IAAI;AACR,iBAAWE,KAAKlB,EAAE;AAChB,aAAKkB,EAAE,MAAMA,EAAE,cAAc,QAAQF,KAAKE,EAAE,QAAQA,EAAE,OAAOd,EAAE,KAAKc,EAAE,EAAE,GAAGA,EAAE,QAAQA,EAAE,OAAOH,EAAE,KAAKG,EAAE,EAAE;AAC3G,UAAID,IAAI;AACR,UAAI,IAAI,KAAK;AACX,mBAAWC,KAAKlB,EAAE;AAChB,UAAAkB,EAAE,cAAc,SAASA,EAAE,OAAO,KAAK;AAAA,YACrC,KAAK,IAAI,KAAKb,EAAE,QAAQW,IAAIE,EAAE,GAAG;AAAA,YACjCA,EAAE;AAAA,UACd,IAAcD,KAAKC,EAAE;AACb,QAAAD,IAAI,OAAOgC,EAAEhC,GAAGb,GAAGW,CAAC;AAAA,MACtB;AAAA,IACF,GAAGgC,KAAK,CAAC,EAAE,WAAW,GAAG,aAAa3C,EAAC,IAAK,OAAO;AACjD,UAAIW,IAAI,MAAMV,EAAE,OAAOW,IAAI;AAC3B,YAAMC,IAAI,IAAIC,IAAI,CAAA;AAClB,OAAuB,GAAE,aAAc,UAAU,SAASH,KAAK,MAAM,EAAE,cAAcV,EAAE,QAAQ;AAC/F,iBAAWc,KAAKnB,EAAE;AAChB,QAAAgB,KAAKG,EAAE,MAAMA,EAAE,QAAQA,EAAE,OAAOF,EAAE,KAAKE,EAAE,EAAE,GAAGA,EAAE,QAAQA,EAAE,OAAOD,EAAE,KAAKC,EAAE,EAAE;AAC9E,UAAI,EAAE,KAAK,IAAIH,CAAC,IAAI,MAAM;AACxB,mBAAWG,KAAKnB,EAAE;AAChB,UAAsB,GAAE,cAAe,QAA8B,GAAE,OAAQmB,EAAE,OAAOA,EAAE,OAAO,KAAK,IAAI,KAAK,IAAIJ,GAAGI,EAAE,GAAG,GAAGA,EAAE,GAAG,IAAIH,KAAKG,EAAE,MAAMA,EAAE,QAAQA,EAAE,OAAOF,EAAE,KAAKE,EAAE,EAAE,GAAGA,EAAE,QAAQA,EAAE,OAAOD,EAAE,KAAKC,EAAE,EAAE;AACrN,QAAAH,IAAI,OAAOiC,EAAEjC,GAAGC,GAAGC,CAAC;AAAA,MACtB;AAAA,IACF,GAAG+B,IAAI,CAAC,GAAG7C,GAAGW,MAAM;AAClB,UAAIC;AACJ,UAAI,IAAIA,IAAI,KAAKX,EAAE,QAAQD,EAAE,UAAUY,IAAI,KAAKX,EAAE,QAAQU,EAAE,SAASf,EAAE,MAAM,QAAQ,CAACiB,GAAGC,MAAM;AAC7F,YAAI,IAAI,KAAK,CAACd,EAAE,SAASa,EAAE,EAAE,GAAG;AAC9B,gBAAME,IAAI,KAAK,IAAI,KAAK,IAAIF,EAAE,OAAOD,GAAGC,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGW,IAAIT,IAAIF,EAAE;AAClE,eAAKW,GAAGX,EAAE,OAAOE;AAAA,QACnB,WAAW,CAACJ,EAAE,SAASE,EAAE,EAAE,GAAG;AAC5B,gBAAME,IAAI,KAAK,IAAI,KAAK,IAAIF,EAAE,OAAOD,GAAGC,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGW,IAAIT,IAAIF,EAAE;AAClE,eAAKW,GAAGX,EAAE,OAAOE;AAAA,QACnB;AAAA,MACF,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,OAAOwB,EAAE,MAAM;AAC/B,QAAApC,EAAE,SAAS,QAAQ,KAAK,wEAAwE;AAAA,MAClG,CAAC;AAAA,IACH,GAAGe,IAAI,CAAC,GAAGlB,IAAI,QAAQW,IAAI,OAAO;AAChC,YAAMC,IAA0BZ,GAAE,SAAU,EAAE,MAAM,kBAAkB;AACtE,MAAAP,EAAE,GAAG;AAAA,QACH,GAAGO;AAAA,QACH,GAAGY,MAAM,QAAQ,EAAE,OAAOA,EAAC;AAAA,QAC3B,GAAGD,KAAKC,MAAM,QAAQ;AAAA,UACpB,UAAUhB,EAAE,MAAMgB,KAAKlB,EAAE,gBAAgB,IAAI,EAAE;AAAA,UAC/C,UAAUE,EAAE,MAAMgB,KAAKlB,EAAE,gBAAgB,IAAI,EAAE;AAAA,QACzD;AAAA,QACQ,OAAOE,EAAE,MAAM,IAAI,CAACiB,OAAO;AAAA,UACzB,KAAKA,EAAE;AAAA,UACP,KAAKA,EAAE;AAAA,UACP,MAAMA,EAAE;AAAA,QAClB,EAAU;AAAA,MACV,CAAO;AAAA,IACH;AACA,WAAOiC;AAAAA,MACL,MAAMpD,EAAE;AAAA,MACR,MAAM0C,EAAC;AAAA,IACb,GAAOW,GAAE,MAAM;AACT,MAAAf,GAAE,GAAII,EAAC,GAAII,EAAC,GAAItB,EAAE,OAAO,GAAGf,EAAE,QAAQ;AAAA,IACxC,CAAC,GAAG6C,GAAE,MAAM7C,EAAE,QAAQ,EAAE,GAAG8C,EAAE,SAASrD,CAAC,GAAGqD,EAAE,gBAAgBnD,CAAC,GAAGmD;AAAAA,MAC9D;AAAA,MACAlD,EAAE,MAAML,EAAE,UAAU;AAAA,IAC1B,GAAOuD,EAAE,iBAAiBZ,EAAE,GAAGY,EAAE,aAAaX,EAAE,GAAGW,EAAE,gBAAgBR,EAAE,GAAGQ,EAAE,eAAe7B,EAAC,GAAG,CAAC,GAAGpB,OAAOkD,EAAC,GAAIC,EAAE,OAAO;AAAA,MAClH,OAAOC,GAAG/C,EAAE,KAAK;AAAA,MACjB,SAAS;AAAA,MACT,KAAKH;AAAA,IACX,GAAO;AAAA,MACDmD,GAAE,EAAE,QAAQ,SAAS;AAAA,IAC3B,GAAO,CAAC;AAAA,EACN;AACF,CAAC,GAAGC,KAAqBhE,gBAAAA,EAAE;AAAA,EACzB,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,CAAC,QAAQ,MAAM,EAAC;AAAA,IAC9B,SAAS,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,EAAC;AAAA,IAC7C,SAAS,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,IAAG;AAAA,EACnD;AAAA,EACE,MAAMC,GAAG;AACP,QAAIiB;AACJ,UAAMhB,IAAID,GAAGE,IAAI8D,EAAE,eAAe,GAAG7D,IAAI6D,EAAE,WAAW,GAAG3D,IAAI2D,EAAE,YAAY,GAAGzD,IAAIyD,EAAE,cAAc,GAAGtD,IAAIsD,EAAE,aAAa,GAAGrD,KAAKM,IAAIgD,GAAE,MAAO,OAAO,SAAShD,EAAE,KAAKL,IAAIoD,EAAE,cAAc,GAAGE,IAAI1D,EAAE,MAAMI,EAAE,MAAMD,CAAC,CAAC,GAAGE,IAAIP,EAAE,IAAI,GAAG,IAAIE,EAAE,MAAM;AAC3O,YAAMU,IAAI,MAAMjB,EAAE,IAAI,KAAKA,EAAE,SAAS,SAAS,IAAI,WAAWA,EAAE,IAAI;AACpE,aAAO,KAAK,IAAI,KAAK,IAAIiB,GAAGF,EAAE,KAAK,GAAGD,EAAE,KAAK;AAAA,IAC/C,CAAC,GAAGA,IAAIP,EAAE,MAAM;AACd,YAAMU,IAAI,WAAWjB,EAAE,OAAO;AAC9B,aAAO,MAAMiB,CAAC,IAAI,IAAIA;AAAA,IACxB,CAAC,GAAGF,IAAIR,EAAE,MAAM;AACd,YAAMU,IAAI,WAAWjB,EAAE,OAAO;AAC9B,aAAO,MAAMiB,CAAC,IAAI,MAAMA;AAAA,IAC1B,CAAC,GAAG,IAAIV,EAAE,MAAM;AACd,UAAIU;AACJ,aAAO,GAAGb,EAAE,QAAQ,WAAW,OAAO,MAAMa,IAAIgD,EAAE,UAAU,OAAO,SAAShD,EAAE,IAAI;AAAA,IACpF,CAAC;AACD,WAAOqC;AAAAA,MACL,MAAM,EAAE;AAAA,MACR,CAACrC,MAAMhB,EAAE,EAAE,KAAKS,GAAG,MAAMO,EAAC,CAAE;AAAA,IAClC,GAAOqC;AAAAA,MACD,MAAMxC,EAAE;AAAA,MACR,CAACG,MAAMhB,EAAE,EAAE,KAAKS,GAAG,KAAKO,EAAC,CAAE;AAAA,IACjC,GAAOqC;AAAAA,MACD,MAAMvC,EAAE;AAAA,MACR,CAACE,MAAMhB,EAAE,EAAE,KAAKS,GAAG,KAAKO,EAAC,CAAE;AAAA,IACjC,GAAOsC,GAAE,MAAM;AACT,MAAArD,EAAE;AAAA,QACA,IAAIQ;AAAA,QACJ,IAAIE,EAAE;AAAA,QACN,KAAKE,EAAE;AAAA,QACP,KAAKC,EAAE;AAAA;AAAA,QAEP,WAAWf,EAAE,SAAS,SAAS,OAAO,EAAE;AAAA,QACxC,MAAM,EAAE;AAAA;AAAA,MAEhB,CAAO;AAAA,IACH,CAAC,GAAGwD,GAAE,MAAMlD,EAAEI,CAAC,CAAC,GAAG,CAACO,GAAGU,OAAO+B,KAAKC,EAAE,OAAO;AAAA,MAC1C,SAAS;AAAA,MACT,KAAK/C;AAAA,MACL,OAAO;AAAA,MACP,SAASe,EAAE,CAAC,MAAMA,EAAE,CAAC,IAAI,CAAC,MAAMuC,EAAEzD,CAAC,EAAE,GAAGyD,EAAExD,CAAC,CAAC;AAAA,MAC5C,OAAOyD,GAAG,EAAE,KAAK;AAAA,IACvB,GAAO;AAAA,MACDN,GAAE5C,EAAE,QAAQ,SAAS;AAAA,IAC3B,GAAO,CAAC;AAAA,EACN;AACF,CAAC,GC3SKmD,KAAe;AACrB,IAAIC,KAAQ;AAYZ,MAAMC,KAAW,MAAM,GAAGF,EAAY,IAAI,KAAK,KAAK,IAAIC,IAAO;AAE/D,MAAME,WAAgC,MAAM;AAAA,EAC1C,YACEC,GACOC,GACAC,GACP;AACA,UAAMF,CAAI,GAHH,KAAA,YAAAC,GACA,KAAA,UAAAC;AAAA,EAGT;AACF;AAEA,MAAMC,WAA2B,YAAY;AAAA,EAC3CC;AAAA,EACAC,KAAmB,IAAI,gBAAA;AAAA,EACvB;AAAA,EACA;AAAA,EAEA,YAAYC,GAAsBC,GAA8B;AAC9D,UAAA,GACA,KAAK,YAAYA;AACjB,UAAMC,IAAc,4BAA4BV,GAAA,CAAU,IACpDW,IAAkB,QAAQD,CAAW;AAC3C,IAAAF,EAAQ,aAAaG,GAAiB,EAAE;AACxC,UAAMC,IAAmB,KAAKF,CAAW,IACnCG,IAAc;AAAA,kBACND,CAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhC,KAAA,GACQE,IAAe;AAAA,mBACNL,CAAoB;AAAA,WAC5BE,CAAe;AAAA,YACdC,CAAgB;AAAA;AAAA;AAAA,EAG1B,KAAA,GAEQG,IAAWP,EAAQ,YAAA;AACzB,QAAI,EAAEO,aAAoB,eAAe,EAAEA,aAAoB;AAC7D,oBAAQ,MAAM,uDAAuDA,CAAQ,GACvE,IAAI,UAAU,4CAA4C;AAGlE,UAAMC,IAAmB,IAAI,cAAA;AAO7B,QANAA,EAAiB,YAAYH,CAAW,GAC5B,SACR,mBAAmB,KAAKG,CAAgB,GAIxCD,EAAS,kBAAkB,UAAU;AACvC,YAAME,IAAsB,IAAI,cAAA;AAChC,MAAAA,EAAoB,YAAYH,CAAY,GAC5CC,EAAS,mBAAmB,KAAKE,CAAmB;AAAA,IACtD;AAEA,UAAMC,IAAQ,iBAAiBV,CAAO;AACtC,SAAK,UAAUU,EAAM,iBAAiBN,CAAgB,MAAM,UAE5D,KAAKN,KAAmBE,GACxB,KAAKW,GAAgBP,GAAkBH,GAAsBD,CAAO;AAAA,EACtE;AAAA,EAEAW,GACEP,GACAH,GACAW,GACA;AACA,UAAMC,IAAsD,CAAA;AAE5D,IAAAD,EAAgB,MAAM,YAAY,cAAc,GAAGR,CAAgB,qBAAqB,GACxFQ,EAAgB,MAAM,YAAY,uBAAuB,gBAAgB,GACzEA,EAAgB;AAAA,MACd;AAAA,MACA,CAACE,MAAoB;AACnB,YAAIF,MAAoBE,EAAgB,QAAQ;AAC9C,gBAAMC,IAAgB,iBAAiBH,CAAe,GAChDI,IAA8C,CAAA,GAC9CC,IAAeF,EAAc,iBAAiBX,CAAgB,GAC9Dc,IAAgBL,EAAgBT,CAAgB;AAGtD,cAFmBa,MAAiBC,MAGlCF,EAAQZ,CAAgB,IAAIa,GAC5BJ,EAAgBT,CAAgB,IAAIa,GAChCb,KAAoBY,IAAS;AAC/B,kBAAMpB,IAAUoB,EAAQZ,CAAgB,MAAM;AAC9C,iBAAK,UAAUR;AAEf,kBAAMuB,IAAQ,IAAI1B,GAAwB,UAAUQ,GAAsBL,CAAO;AACjF,iBAAK,cAAcuB,CAAK;AAAA,UAC1B;AAAA,QAEJ;AAAA,MACF;AAAA,MACA,EAAE,QAAQ,KAAKpB,GAAiB,OAAA;AAAA,IAAO;AAKzC,UAAMkB,IADgB,iBAAiBL,CAAe,EACnB,iBAAiBR,CAAgB;AACpE,IAAAS,EAAgBT,CAAgB,IAAIa;AAAA,EACtC;AAAA,EAEA,UAAU;AACR,SAAKnB,GAAiB,MAAM,eAAe,YAAY,GACvD,KAAKA,GAAiB,MAAM,eAAe,qBAAqB,GAEhE,KAAKC,GAAiB,MAAA;AAAA,EACxB;AACF;AAEI,OAAO,SAAW,QACf,YAAY,UAAU,mBACzB,YAAY,UAAU,iBAAiB,SAErCE,GACA;AACA,SAAO,IAAIJ,GAAmB,MAAMI,CAAoB;AAC1D;AAiBG,SAASmB,GACdC,GACAC,GACA;AACA,QAAMC,IAAcC;AAAA,IAClB,MAAM,OAAO,WAAa,OAAe,OAAO,SAAS,KAAK,kBAAmB;AAAA,EAAA,GAE7EC,IAAaxH,EAAA,GACb2F,IAAU3F,EAAW,EAAK;AAEhC,SAAAyH,GAAY,MAAM;AAChB,IAAKH,EAAY,UAEjBE,EAAW,OAAO,QAAA,GAElBA,EAAW,QAAQjH,EAAQ8G,CAAM,GAAG,eAAe9G,EAAQ6G,CAAK,CAAC,GACjEzB,EAAQ,QAAQ,CAAC,CAAC6B,EAAW,OAAO;AAAA,EACtC,CAAC,GAEDpH,GAAe,MAAM;AACnB,IAAAoH,EAAW,OAAO,QAAA;AAAA,EACpB,CAAC,GAEDE;AAAA,IACEF;AAAA,IACA;AAAA,IACA,CAACN,MAAmC;AAClC,MAAAvB,EAAQ,QAAQuB,EAAM;AAAA,IACxB;AAAA,IACA,EAAE,SAAS,GAAA;AAAA,EAAK,GAGX1H,EAAS,MAAMmG,EAAQ,KAAK;AACrC;","x_google_ignoreList":[4]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pinia/colada-devtools",
3
3
  "type": "module",
4
- "version": "0.4.1",
4
+ "version": "0.4.3",
5
5
  "description": "Devtools for Pinia Colada",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -43,22 +43,21 @@
43
43
  "dist-shared"
44
44
  ],
45
45
  "devDependencies": {
46
- "@iconify-json/lucide": "^1.2.82",
46
+ "@iconify-json/lucide": "^1.2.92",
47
+ "@pinia/colada": "^*",
47
48
  "@posva/splitpanes": "^4.0.6",
48
- "@tailwindcss/vite": "^4.1.18",
49
- "@vueuse/core": "^14.1.0",
49
+ "@tailwindcss/vite": "^4.2.0",
50
+ "@vueuse/core": "^14.2.1",
50
51
  "mande": "^2.0.9",
51
52
  "match-container": "^0.1.0",
52
53
  "pinia": "^3.0.4",
53
- "tailwindcss": "^4.1.18",
54
- "unplugin-icons": "^22.5.0",
55
- "unplugin-vue-components": "^30.0.0",
56
- "unplugin-vue-router": "^0.19.1",
54
+ "tailwindcss": "^4.2.0",
55
+ "unplugin-icons": "^23.0.1",
56
+ "unplugin-vue-components": "^31.0.0",
57
57
  "vite-plugin-dts": "^4.5.4",
58
- "vue": "^3.5.26",
59
- "vue-router": "^4.6.4",
60
- "vue-tsc": "^3.2.1",
61
- "@pinia/colada": "0.21.0"
58
+ "vue": "^3.5.28",
59
+ "vue-router": "^5.0.3",
60
+ "vue-tsc": "^3.2.5"
62
61
  },
63
62
  "scripts": {
64
63
  "dev:app": "vite",
@@ -1,17 +0,0 @@
1
- import { _ as o } from "./mouse-pointer-click-BwcHzNw_.js";
2
- import { _ as c, c as s, o as n, a as _, q as a, i as r } from "./index-D0GQZaew.js";
3
- const i = {}, l = { class: "py-6 mx-auto" }, p = { class: "flex flex-col text-center items-center gap-2 text-lg px-2" };
4
- function d(m, e) {
5
- const t = o;
6
- return n(), s("div", l, [
7
- _("p", p, [
8
- e[0] || (e[0] = a(" Select a Query to inspect ", -1)),
9
- r(t)
10
- ])
11
- ]);
12
- }
13
- const f = /* @__PURE__ */ c(i, [["render", d]]);
14
- export {
15
- f as default
16
- };
17
- //# sourceMappingURL=(unselected)-CF4tcOEp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_mutationId_-DmzWbpVT.js","sources":["../src/panel/pages/mutations/[mutationId].vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { UseMutationEntryPayload } from '@pinia/colada-devtools/shared'\nimport { computed, ref, watch } from 'vue'\nimport { useDuplexChannel, useMutationEntries } from '../../composables/duplex-channel'\nimport { useRoute, useRouter } from 'vue-router'\nimport type { DataStateStatus } from '@pinia/colada'\n\nimport IWrench from '~icons/lucide/wrench'\nimport IInfoCircle from '~icons/lucide/info'\nimport IFileText from '~icons/lucide/file-text'\nimport ICircleX from '~icons/lucide/circle-x'\nimport IBraces from '~icons/lucide/braces'\nimport IVariable from '~icons/lucide/variable'\nimport { useTimeAgo, useLocalStorage, formatTimeAgo } from '@vueuse/core'\nimport type { FormatTimeAgoOptions } from '@vueuse/core'\n\nconst route = useRoute()\nconst router = useRouter()\nconst mutations = useMutationEntries()\n\nconst selectedMutation = computed<UseMutationEntryPayload | null>(() => {\n const mutationId = route.params.mutationId\n return mutations.value.find((entry) => entry.id === Number(mutationId)) ?? null\n})\n\nconst TIME_AGO_OPTIONS: FormatTimeAgoOptions = {\n showSecond: true,\n rounding: 'floor',\n max: 1000 * 60 * 60 * 24, // 1 day\n}\n\nconst lastUpdate = useTimeAgo(() => selectedMutation.value?.devtools.updatedAt ?? 0, {\n ...TIME_AGO_OPTIONS,\n updateInterval: 3000,\n})\n\nconst channel = useDuplexChannel()\n\n// Track when we're replaying to auto-navigate to new mutation\nlet justReplayed = false\nconst mutationCountBeforeReplay = ref(0)\n\nfunction replayMutation(id: UseMutationEntryPayload['id']) {\n // Track state before replay\n mutationCountBeforeReplay.value = mutations.value.length\n justReplayed = true\n\n // Emit the replay event\n channel.emit('mutations:replay', id)\n}\n\n// FIXME: we should move this logic up and auto detect replays maybe with some linking\n// isReplayOf: mutationId\n// and we can display this in the interface too\nwatch(\n () => mutations.value,\n () => {\n if (justReplayed) {\n // Find the latest id\n const newest = mutations.value.toSorted((a, b) => b.id - a.id)[0]\n\n if (newest) {\n router.push({\n name: '/mutations/[mutationId]',\n params: { mutationId: newest.id },\n })\n }\n\n justReplayed = false\n }\n },\n {\n deep: true,\n },\n)\n\nconst isDataOpen = useLocalStorage<boolean>('pc:mutation:details:data:open', false, {})\nconst isVarsOpen = useLocalStorage<boolean>('pc:mutation:details:vars:open', true, {})\nlet wasDataOpen = isDataOpen.value\nlet lastStatus: DataStateStatus | null = null\nconst isErrorOpen = useLocalStorage<boolean>('pc:mutation:details:error:open', false, {})\n\nwatch(\n () => selectedMutation.value?.state,\n (state) => {\n if (!state || lastStatus === state.status) return\n lastStatus = state.status\n if (state.status === 'error') {\n isErrorOpen.value = true\n wasDataOpen = isDataOpen.value\n isDataOpen.value = false\n } else if (state.status === 'success') {\n isDataOpen.value = wasDataOpen\n isErrorOpen.value = false\n }\n },\n)\n</script>\n\n<template>\n <div class=\"flex flex-col divide-y dark:divide-(--ui-border) divide-(--ui-border-accented)\">\n <template v-if=\"selectedMutation\">\n <UCollapse title=\"Details\" :icon=\"IInfoCircle\">\n <div class=\"py-1 text-sm\">\n <p class=\"grid grid-cols-[auto_1fr] gap-1\">\n <span>id:</span>\n <span>\n <code class=\"rounded bg-neutral-500/20 p-0.5\">{{ selectedMutation.id }}</code>\n </span>\n </p>\n\n <p class=\"grid grid-cols-[auto_1fr] gap-1\">\n <span>key:</span>\n <span class=\"flex items-center gap-1.5\">\n <code class=\"rounded p-0.5 bg-neutral-500/20\">\n {{ selectedMutation.key ?? 'undefined' }}\n </code>\n <span\n v-if=\"!selectedMutation.key\"\n class=\"text-xs text-(--ui-text-muted) italic cursor-help\"\n title=\"This mutation was created without a custom key\"\n >\n (anonymous)\n </span>\n </span>\n </p>\n\n <p class=\"grid grid-cols-[auto_1fr] gap-x-2\" title=\"When was the mutation last updated\">\n <span>Last update:</span>\n <span class=\"font-bold\">{{ lastUpdate }}</span>\n </p>\n\n <p\n v-if=\"!selectedMutation.active && selectedMutation.options\"\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"When is this mutation entry garbage collected\"\n >\n <template\n v-if=\"\n typeof selectedMutation.options.gcTime === 'number' &&\n Number.isFinite(selectedMutation.options.gcTime)\n \"\n >\n <span>Will be <i>gced</i></span>\n <span class=\"font-bold\">{{\n formatTimeAgo(\n new Date(selectedMutation.devtools.inactiveAt + selectedMutation.options.gcTime),\n {\n ...TIME_AGO_OPTIONS,\n max: undefined,\n },\n )\n }}</span>\n </template>\n </p>\n </div>\n </UCollapse>\n\n <UCollapse title=\"Actions\" :icon=\"IWrench\">\n <div class=\"py-2 gap-2 flex flex-wrap items-center justify-items-start\">\n <UButton\n v-if=\"selectedMutation.devtools.simulate !== 'loading'\"\n class=\"theme-purple\"\n size=\"sm\"\n title=\"Simulate a loading state\"\n @click=\"channel.emit('mutations:simulate:loading', selectedMutation.id)\"\n >\n <i-lucide-loader />\n Simulate loading\n </UButton>\n <UButton\n v-else\n class=\"theme-purple\"\n size=\"sm\"\n title=\"Stop simulating loading state\"\n @click=\"channel.emit('mutations:simulate:loading:stop', selectedMutation.id)\"\n >\n <i-lucide-loader class=\"animate-spin\" />\n Stop loading\n </UButton>\n\n <UButton\n v-if=\"selectedMutation.devtools.simulate !== 'error'\"\n class=\"theme-error\"\n size=\"sm\"\n title=\"Simulate an Error state\"\n @click=\"channel.emit('mutations:simulate:error', selectedMutation.id)\"\n >\n <i-lucide-x-octagon /> Simulate error\n </UButton>\n <UButton\n v-else\n class=\"theme-error\"\n size=\"sm\"\n title=\"Restore the previous state\"\n @click=\"channel.emit('mutations:simulate:error:stop', selectedMutation.id)\"\n >\n <i-lucide-rotate-ccw /> Remove error\n </UButton>\n\n <UButton\n class=\"theme-success\"\n size=\"sm\"\n title=\"Re-trigger this mutation with the same variables\"\n @click=\"replayMutation(selectedMutation.id)\"\n >\n <i-lucide-repeat-2 />\n Replay\n </UButton>\n\n <UButton\n class=\"theme-warning\"\n size=\"sm\"\n title=\"Remove this mutation from the cache\"\n @click=\"channel.emit('mutations:remove', selectedMutation.id)\"\n >\n <i-lucide-trash /> Remove\n </UButton>\n </div>\n </UCollapse>\n\n <UCollapse\n v-model:open=\"isVarsOpen\"\n :title=\"`Variables${selectedMutation.vars === undefined ? ' (empty)' : ''}`\"\n :class=\"[selectedMutation.vars === undefined && 'text-(--ui-text-muted)']\"\n :icon=\"IVariable\"\n no-padding\n >\n <JsonViewer :data=\"selectedMutation.vars\" readonly />\n </UCollapse>\n\n <UCollapse\n v-model:open=\"isDataOpen\"\n :title=\"`Data${selectedMutation.state.data === undefined ? ' (empty)' : ''}`\"\n :icon=\"IFileText\"\n :class=\"[selectedMutation.state.data === undefined && 'text-(--ui-text-muted)']\"\n no-padding\n >\n <JsonViewer :data=\"selectedMutation.state.data\" />\n </UCollapse>\n\n <UCollapse\n v-model:open=\"isErrorOpen\"\n :title=\"`Error${selectedMutation.state.status === 'error' ? ' (!)' : ''}`\"\n :icon=\"ICircleX\"\n >\n <div class=\"py-1\">\n <pre\n v-if=\"selectedMutation.state.error\"\n class=\"rounded p-1 overflow-auto max-h-[1200px]\"\n >{{ selectedMutation.state.error }}</pre\n >\n <p v-else class=\"text-neutral-500/50\">No error</p>\n </div>\n </UCollapse>\n\n <UCollapse title=\"Options\" :open=\"false\" :icon=\"IBraces\" no-padding>\n <JsonViewer v-if=\"selectedMutation.options\" :data=\"selectedMutation.options\" readonly />\n <p v-else>No options configured for this mutation.</p>\n </UCollapse>\n </template>\n\n <template v-else>\n <div class=\"py-6 mx-auto\">\n <p class=\"flex flex-col text-center items-center gap-2 text-lg px-2\">\n Select a Mutation to inspect\n <i-lucide-mouse-pointer-click />\n </p>\n </div>\n </template>\n </div>\n</template>\n"],"names":["route","useRoute","router","useRouter","mutations","useMutationEntries","selectedMutation","computed","mutationId","entry","TIME_AGO_OPTIONS","lastUpdate","useTimeAgo","channel","useDuplexChannel","justReplayed","mutationCountBeforeReplay","ref","replayMutation","id","watch","newest","a","b","isDataOpen","useLocalStorage","isVarsOpen","wasDataOpen","lastStatus","isErrorOpen","state","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_createVNode","_component_UCollapse","_unref","IInfoCircle","_createElementVNode","_hoisted_2","_hoisted_3","_cache","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","formatTimeAgo","IWrench","_hoisted_13","_createBlock","_component_UButton","_component_i_lucide_loader","_component_i_lucide_x_octagon","_component_i_lucide_rotate_ccw","$event","_component_i_lucide_repeat_2","_component_i_lucide_trash","_normalizeClass","IVariable","_component_JsonViewer","IFileText","ICircleX","_hoisted_14","_hoisted_15","_hoisted_16","IBraces","_hoisted_18","_hoisted_19","_component_i_lucide_mouse_pointer_click"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { _ as e, c, o as n } from "./index-D0GQZaew.js";
2
- const o = {};
3
- function r(t, a) {
4
- return n(), c("h1", null, "Homepage");
5
- }
6
- const _ = /* @__PURE__ */ e(o, [["render", r]]);
7
- export {
8
- _ as default
9
- };
10
- //# sourceMappingURL=index-C5FekW9K.js.map