@praxisjs/devtools 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @praxisjs/devtools
2
2
 
3
+ ## 0.2.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 9fa8dd1: fix(devtools): guard against undefined `entry` in `TimelineRow`
8
+
9
+ `entry` is typed as `TimelineEntry | undefined`, but `render()` accessed `entry.data` unconditionally, which would throw at runtime when no entry is provided. Added an early `null` return guard and a local `const entry = this.entry` binding that also fixes bare `entry` references in JSX that were missing the `this.` prefix.
10
+
11
+ - Updated dependencies [fe39901]
12
+ - Updated dependencies [fe39901]
13
+ - @praxisjs/decorators@0.4.2
14
+ - @praxisjs/core@0.4.1
15
+ - @praxisjs/runtime@0.2.3
16
+ - @praxisjs/jsx@0.3.2
17
+
3
18
  ## 0.2.3
4
19
 
5
20
  ### Patch Changes
package/dist/index.js CHANGED
@@ -1,33 +1,33 @@
1
- var Yt = Object.create;
1
+ var Tt = Object.create;
2
2
  var pe = Object.defineProperty;
3
- var Jt = Object.getOwnPropertyDescriptor;
4
- var Ae = (r, t) => (t = Symbol[r]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + r), J = (r) => {
3
+ var qt = Object.getOwnPropertyDescriptor;
4
+ var Ae = (r, t) => (t = Symbol[r]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + r), q = (r) => {
5
5
  throw TypeError(r);
6
6
  };
7
7
  var Be = (r, t, e) => t in r ? pe(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
8
8
  var Ue = (r, t) => pe(r, "name", { value: t, configurable: !0 });
9
- var b = (r) => [, , , Yt(r?.[Ae("metadata")] ?? null)], He = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], Y = (r) => r !== void 0 && typeof r != "function" ? J("Function expected") : r, qt = (r, t, e, n, i) => ({ kind: He[r], name: t, metadata: n, addInitializer: (a) => e._ ? J("Already initialized") : i.push(Y(a || null)) }), Xt = (r, t) => Be(t, Ae("metadata"), r[3]), s = (r, t, e, n) => {
9
+ var b = (r) => [, , , Tt(r?.[Ae("metadata")] ?? null)], He = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], T = (r) => r !== void 0 && typeof r != "function" ? q("Function expected") : r, Xt = (r, t, e, n, i) => ({ kind: He[r], name: t, metadata: n, addInitializer: (a) => e._ ? q("Already initialized") : i.push(T(a || null)) }), Kt = (r, t) => Be(t, Ae("metadata"), r[3]), s = (r, t, e, n) => {
10
10
  for (var i = 0, a = r[t >> 1], c = a && a.length; i < c; i++) t & 1 ? a[i].call(e) : n = a[i].call(e, n);
11
11
  return n;
12
12
  }, l = (r, t, e, n, i, a) => {
13
- var c, p, g, h, f, u = t & 7, k = !!(t & 8), z = !!(t & 16), j = u > 3 ? r.length + 1 : u ? k ? 1 : 2 : 0, F = He[u + 5], W = u > 3 && (r[j - 1] = []), Wt = r[j] || (r[j] = []), $ = u && (!z && !k && (i = i.prototype), u < 5 && (u > 3 || !z) && Jt(u < 4 ? i : { get [e]() {
13
+ var c, p, g, h, w, u = t & 7, k = !!(t & 8), z = !!(t & 16), j = u > 3 ? r.length + 1 : u ? k ? 1 : 2 : 0, A = He[u + 5], R = u > 3 && (r[j - 1] = []), Rt = r[j] || (r[j] = []), $ = u && (!z && !k && (i = i.prototype), u < 5 && (u > 3 || !z) && qt(u < 4 ? i : { get [e]() {
14
14
  return Oe(this, a);
15
15
  }, set [e](M) {
16
16
  return Fe(this, a, M);
17
17
  } }, e));
18
18
  u ? z && u < 4 && Ue(a, (u > 2 ? "set " : u > 1 ? "get " : "") + e) : Ue(i, e);
19
19
  for (var de = n.length - 1; de >= 0; de--)
20
- h = qt(u, e, g = {}, r[3], Wt), u && (h.static = k, h.private = z, f = h.access = { has: z ? (M) => Kt(i, M) : (M) => e in M }, u ^ 3 && (f.get = z ? (M) => (u ^ 1 ? Oe : Zt)(M, i, u ^ 4 ? a : $.get) : (M) => M[e]), u > 2 && (f.set = z ? (M, ue) => Fe(M, i, ue, u ^ 4 ? a : $.set) : (M, ue) => M[e] = ue)), p = (0, n[de])(u ? u < 4 ? z ? a : $[F] : u > 4 ? void 0 : { get: $.get, set: $.set } : i, h), g._ = 1, u ^ 4 || p === void 0 ? Y(p) && (u > 4 ? W.unshift(p) : u ? z ? a = p : $[F] = p : i = p) : typeof p != "object" || p === null ? J("Object expected") : (Y(c = p.get) && ($.get = c), Y(c = p.set) && ($.set = c), Y(c = p.init) && W.unshift(c));
21
- return u || Xt(r, i), $ && pe(i, e, $), z ? u ^ 4 ? a : $ : i;
22
- }, w = (r, t, e) => Be(r, typeof t != "symbol" ? t + "" : t, e), he = (r, t, e) => t.has(r) || J("Cannot " + e), Kt = (r, t) => Object(t) !== t ? J('Cannot use the "in" operator on this value') : r.has(t), Oe = (r, t, e) => (he(r, t, "read from private field"), e ? e.call(r) : t.get(r));
23
- var Fe = (r, t, e, n) => (he(r, t, "write to private field"), n ? n.call(r, e) : t.set(r, e), e), Zt = (r, t, e) => (he(r, t, "access private method"), e);
20
+ h = Xt(u, e, g = {}, r[3], Rt), u && (h.static = k, h.private = z, w = h.access = { has: z ? (M) => Zt(i, M) : (M) => e in M }, u ^ 3 && (w.get = z ? (M) => (u ^ 1 ? Oe : Qt)(M, i, u ^ 4 ? a : $.get) : (M) => M[e]), u > 2 && (w.set = z ? (M, ue) => Fe(M, i, ue, u ^ 4 ? a : $.set) : (M, ue) => M[e] = ue)), p = (0, n[de])(u ? u < 4 ? z ? a : $[A] : u > 4 ? void 0 : { get: $.get, set: $.set } : i, h), g._ = 1, u ^ 4 || p === void 0 ? T(p) && (u > 4 ? R.unshift(p) : u ? z ? a = p : $[A] = p : i = p) : typeof p != "object" || p === null ? q("Object expected") : (T(c = p.get) && ($.get = c), T(c = p.set) && ($.set = c), T(c = p.init) && R.unshift(c));
21
+ return u || Kt(r, i), $ && pe(i, e, $), z ? u ^ 4 ? a : $ : i;
22
+ }, f = (r, t, e) => Be(r, typeof t != "symbol" ? t + "" : t, e), he = (r, t, e) => t.has(r) || q("Cannot " + e), Zt = (r, t) => Object(t) !== t ? q('Cannot use the "in" operator on this value') : r.has(t), Oe = (r, t, e) => (he(r, t, "read from private field"), e ? e.call(r) : t.get(r));
23
+ var Fe = (r, t, e, n) => (he(r, t, "write to private field"), n ? n.call(r, e) : t.set(r, e), e), Qt = (r, t, e) => (he(r, t, "access private method"), e);
24
24
  import { jsxs as d, jsx as o } from "@praxisjs/jsx/jsx-runtime";
25
- import { StatelessComponent as y, StatefulComponent as T } from "@praxisjs/core";
26
- import { Component as m, State as C, Prop as ce, Emit as Qt } from "@praxisjs/decorators";
25
+ import { StatelessComponent as y, StatefulComponent as J } from "@praxisjs/core";
26
+ import { Component as m, State as C, Prop as Z, Emit as Vt } from "@praxisjs/decorators";
27
27
  import { render as Ge } from "@praxisjs/runtime";
28
- import { computed as Vt } from "@praxisjs/core/internal";
29
- const Tt = "data:image/svg+xml,%3csvg%20width='1024'%20height='1024'%20viewBox='0%200%201024%201024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M605.411%20445.66L641.322%20498.293L641.342%20498.278L697.538%20578.57L742.673%20512.806L512.5%20178.878L281.327%20512.806L512.5%20848.182L603.519%20715.561L650.559%20782.134L512.701%20983L187%20510.478L512.701%2040L837%20510.478L698.206%20712.709L668.895%20671.104L604.033%20578.775L512%20712.504L373.199%20511.5L512.233%20309.092L584.13%20414.469L536.746%20480.456L513.69%20445.66L466.305%20511.5L512.166%20577.425L556.48%20513.91L605.411%20445.66Z'%20fill='url(%23paint0_linear_3024_20)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_3024_20'%20x1='512'%20y1='40'%20x2='512'%20y2='983'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%239B76FF'%20stop-opacity='0.86'/%3e%3cstop%20offset='1'%20stop-color='%232D246B'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e", Pt = '*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }:host{all:initial;display:block;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}input::placeholder{color:#6f6a8f}input:focus{outline:none;box-shadow:0 0 0 2px #9b90e64d}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#9b90e633;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#9b90e666}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.right-0{right:0}.right-5{right:1.25rem}.top-0{top:0}.top-full{top:100%}.z-\\[2147483647\\]{z-index:2147483647}.z-10{z-index:10}.grid{display:grid}.grid-cols-\\[1\\.2fr_0\\.8fr_1fr_auto\\]{grid-template-columns:1.2fr .8fr 1fr auto}.m6{margin:1.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mr-\\[2px\\]{margin-right:2px}.ms{margin-inline-start:1rem}.mt-1{margin-top:.25rem}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.h-\\[13px\\]{height:13px}.h-\\[22px\\]{height:22px}.h-\\[2px\\]{height:2px}.h-\\[32px\\]{height:32px}.h-\\[6px\\]{height:6px}.h-1{height:.25rem}.h-10{height:2.5rem}.h-3{height:.75rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.max-w-\\[200px\\]{max-width:200px}.min-w-0{min-width:0}.w-\\[13px\\]{width:13px}.w-\\[22px\\]{width:22px}.w-\\[2px\\]{width:2px}.w-\\[6px\\]{width:6px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-4{width:1rem}.w-full{width:100%}.w-px{width:1px}.flex{display:flex}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.cursor-\\[ew-resize\\]{cursor:ew-resize}.cursor-\\[ns-resize\\]{cursor:ns-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\\[2px\\]{gap:2px}.gap-\\[3px\\]{gap:3px}.gap-\\[6px\\]{gap:6px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{--un-border-opacity:.25;border-color:rgba(155,144,230,var(--un-border-opacity))}.border-warn{--un-border-opacity:1;border-color:rgb(217 119 6 / var(--un-border-opacity))}.hover\\:border-accent:hover{--un-border-opacity:1;border-color:rgb(155 144 230 / var(--un-border-opacity))}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.bg-\\[rgba\\(124\\,109\\,214\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(124,109,214,var(--un-bg-opacity))}.bg-\\[rgba\\(14\\,165\\,122\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(14,165,122,var(--un-bg-opacity))}.bg-\\[rgba\\(155\\,144\\,230\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(155,144,230,var(--un-bg-opacity))}.bg-\\[rgba\\(217\\,119\\,6\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(217,119,6,var(--un-bg-opacity))}.bg-\\[rgba\\(220\\,38\\,38\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(220,38,38,var(--un-bg-opacity))}.bg-\\[rgba\\(74\\,222\\,128\\,0\\.12\\)\\]{--un-bg-opacity:.12;background-color:rgba(74,222,128,var(--un-bg-opacity))}.bg-accent{--un-bg-opacity:1;background-color:rgb(155 144 230 / var(--un-bg-opacity))}.bg-bg{--un-bg-opacity:1;background-color:rgb(15 13 23 / var(--un-bg-opacity))}.bg-border{--un-bg-opacity:.25;background-color:rgba(155,144,230,var(--un-bg-opacity))}.bg-header{--un-bg-opacity:1;background-color:rgb(22 19 38 / var(--un-bg-opacity))}.bg-input,.bg-section{--un-bg-opacity:1;background-color:rgb(27 24 48 / var(--un-bg-opacity))}.bg-selected{--un-bg-opacity:1;background-color:rgb(34 30 61 / var(--un-bg-opacity))}.bg-soft{--un-bg-opacity:.18;background-color:rgba(155,144,230,var(--un-bg-opacity))}.bg-subtle{--un-bg-opacity:1;background-color:rgb(111 106 143 / var(--un-bg-opacity))}.bg-success{--un-bg-opacity:1;background-color:rgb(14 165 122 / var(--un-bg-opacity))}.bg-transparent{background-color:transparent}.hover\\:bg-accent:hover{--un-bg-opacity:1;background-color:rgb(155 144 230 / var(--un-bg-opacity))}.hover\\:bg-section:hover{--un-bg-opacity:1;background-color:rgb(27 24 48 / var(--un-bg-opacity))}.hover\\:bg-soft:hover{--un-bg-opacity:.18;background-color:rgba(155,144,230,var(--un-bg-opacity))}.p-1{padding:.25rem}.px{padding-left:1rem;padding-right:1rem}.px-\\[6px\\]{padding-left:6px;padding-right:6px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-\\[2px\\]{padding-top:2px;padding-bottom:2px}.py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.py-\\[4px\\]{padding-top:4px;padding-bottom:4px}.py-\\[5px\\]{padding-top:5px;padding-bottom:5px}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pl-\\[10px\\]{padding-left:10px}.pl-\\[56px\\]{padding-left:56px}.pl-1{padding-left:.25rem}.pr-\\[14px\\]{padding-right:14px}.pr-3{padding-right:.75rem}.text-center{text-align:center}.text-right{text-align:right}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[20px\\]{font-size:20px}.text-\\[9px\\]{font-size:9px}.text-\\[\\#0ea57a\\]{--un-text-opacity:1;color:rgb(14 165 122 / var(--un-text-opacity))}.text-\\[\\#4ade80\\]{--un-text-opacity:1;color:rgb(74 222 128 / var(--un-text-opacity))}.text-\\[\\#7c6dd6\\]{--un-text-opacity:1;color:rgb(124 109 214 / var(--un-text-opacity))}.text-\\[\\#9b90e6\\],.text-accent{--un-text-opacity:1;color:rgb(155 144 230 / var(--un-text-opacity))}.text-\\[\\#d97706\\],.text-warn{--un-text-opacity:1;color:rgb(217 119 6 / var(--un-text-opacity))}.text-\\[\\#dc2626\\]{--un-text-opacity:1;color:rgb(220 38 38 / var(--un-text-opacity))}.text-muted{--un-text-opacity:1;color:rgb(199 195 230 / var(--un-text-opacity))}.text-subtle{--un-text-opacity:1;color:rgb(111 106 143 / var(--un-text-opacity))}.text-text,.hover\\:text-text:hover{--un-text-opacity:1;color:rgb(244 242 255 / var(--un-text-opacity))}.color-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.hover\\:color-muted:hover{--un-text-opacity:1;color:rgb(199 195 230 / var(--un-text-opacity))}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-\\[0\\.07em\\]{letter-spacing:.07em}.tracking-\\[0\\.12em\\]{letter-spacing:.12em}.tracking-widest{letter-spacing:.1em}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.uppercase{text-transform:uppercase}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-\\[0_8px_32px_rgba\\(0\\,0\\,0\\,0\\.7\\)\\]{--un-shadow:0 8px 32px var(--un-shadow-color, rgba(0, 0, 0, .7));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover\\:shadow-\\[0_8px_32px_rgba\\(56\\,189\\,248\\,0\\.1\\)\\]:hover{--un-shadow:0 8px 32px var(--un-shadow-color, rgba(56, 189, 248, .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}';
30
- class en {
28
+ import { computed as Pt } from "@praxisjs/core/internal";
29
+ const Jt = "data:image/svg+xml,%3csvg%20width='1024'%20height='1024'%20viewBox='0%200%201024%201024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M605.411%20445.66L641.322%20498.293L641.342%20498.278L697.538%20578.57L742.673%20512.806L512.5%20178.878L281.327%20512.806L512.5%20848.182L603.519%20715.561L650.559%20782.134L512.701%20983L187%20510.478L512.701%2040L837%20510.478L698.206%20712.709L668.895%20671.104L604.033%20578.775L512%20712.504L373.199%20511.5L512.233%20309.092L584.13%20414.469L536.746%20480.456L513.69%20445.66L466.305%20511.5L512.166%20577.425L556.48%20513.91L605.411%20445.66Z'%20fill='url(%23paint0_linear_3024_20)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_3024_20'%20x1='512'%20y1='40'%20x2='512'%20y2='983'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%239B76FF'%20stop-opacity='0.86'/%3e%3cstop%20offset='1'%20stop-color='%232D246B'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e", en = '*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }:host{all:initial;display:block;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}input::placeholder{color:#6f6a8f}input:focus{outline:none;box-shadow:0 0 0 2px #9b90e64d}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#9b90e633;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#9b90e666}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.right-0{right:0}.right-5{right:1.25rem}.top-0{top:0}.top-full{top:100%}.z-\\[2147483647\\]{z-index:2147483647}.z-10{z-index:10}.grid{display:grid}.grid-cols-\\[1\\.2fr_0\\.8fr_1fr_auto\\]{grid-template-columns:1.2fr .8fr 1fr auto}.m6{margin:1.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mr-\\[2px\\]{margin-right:2px}.ms{margin-inline-start:1rem}.mt-1{margin-top:.25rem}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.h-\\[13px\\]{height:13px}.h-\\[22px\\]{height:22px}.h-\\[2px\\]{height:2px}.h-\\[32px\\]{height:32px}.h-\\[6px\\]{height:6px}.h-1{height:.25rem}.h-10{height:2.5rem}.h-3{height:.75rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.max-w-\\[200px\\]{max-width:200px}.min-w-0{min-width:0}.w-\\[13px\\]{width:13px}.w-\\[22px\\]{width:22px}.w-\\[2px\\]{width:2px}.w-\\[6px\\]{width:6px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-4{width:1rem}.w-full{width:100%}.w-px{width:1px}.flex{display:flex}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.cursor-\\[ew-resize\\]{cursor:ew-resize}.cursor-\\[ns-resize\\]{cursor:ns-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\\[2px\\]{gap:2px}.gap-\\[3px\\]{gap:3px}.gap-\\[6px\\]{gap:6px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{--un-border-opacity:.25;border-color:rgba(155,144,230,var(--un-border-opacity))}.border-warn{--un-border-opacity:1;border-color:rgb(217 119 6 / var(--un-border-opacity))}.hover\\:border-accent:hover{--un-border-opacity:1;border-color:rgb(155 144 230 / var(--un-border-opacity))}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.bg-\\[rgba\\(124\\,109\\,214\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(124,109,214,var(--un-bg-opacity))}.bg-\\[rgba\\(14\\,165\\,122\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(14,165,122,var(--un-bg-opacity))}.bg-\\[rgba\\(155\\,144\\,230\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(155,144,230,var(--un-bg-opacity))}.bg-\\[rgba\\(217\\,119\\,6\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(217,119,6,var(--un-bg-opacity))}.bg-\\[rgba\\(220\\,38\\,38\\,0\\.14\\)\\]{--un-bg-opacity:.14;background-color:rgba(220,38,38,var(--un-bg-opacity))}.bg-\\[rgba\\(74\\,222\\,128\\,0\\.12\\)\\]{--un-bg-opacity:.12;background-color:rgba(74,222,128,var(--un-bg-opacity))}.bg-accent{--un-bg-opacity:1;background-color:rgb(155 144 230 / var(--un-bg-opacity))}.bg-bg{--un-bg-opacity:1;background-color:rgb(15 13 23 / var(--un-bg-opacity))}.bg-border{--un-bg-opacity:.25;background-color:rgba(155,144,230,var(--un-bg-opacity))}.bg-header{--un-bg-opacity:1;background-color:rgb(22 19 38 / var(--un-bg-opacity))}.bg-input,.bg-section{--un-bg-opacity:1;background-color:rgb(27 24 48 / var(--un-bg-opacity))}.bg-selected{--un-bg-opacity:1;background-color:rgb(34 30 61 / var(--un-bg-opacity))}.bg-soft{--un-bg-opacity:.18;background-color:rgba(155,144,230,var(--un-bg-opacity))}.bg-subtle{--un-bg-opacity:1;background-color:rgb(111 106 143 / var(--un-bg-opacity))}.bg-success{--un-bg-opacity:1;background-color:rgb(14 165 122 / var(--un-bg-opacity))}.bg-transparent{background-color:transparent}.hover\\:bg-accent:hover{--un-bg-opacity:1;background-color:rgb(155 144 230 / var(--un-bg-opacity))}.hover\\:bg-section:hover{--un-bg-opacity:1;background-color:rgb(27 24 48 / var(--un-bg-opacity))}.hover\\:bg-soft:hover{--un-bg-opacity:.18;background-color:rgba(155,144,230,var(--un-bg-opacity))}.p-1{padding:.25rem}.px{padding-left:1rem;padding-right:1rem}.px-\\[6px\\]{padding-left:6px;padding-right:6px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-\\[2px\\]{padding-top:2px;padding-bottom:2px}.py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.py-\\[4px\\]{padding-top:4px;padding-bottom:4px}.py-\\[5px\\]{padding-top:5px;padding-bottom:5px}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pl-\\[10px\\]{padding-left:10px}.pl-\\[56px\\]{padding-left:56px}.pl-1{padding-left:.25rem}.pr-\\[14px\\]{padding-right:14px}.pr-3{padding-right:.75rem}.text-center{text-align:center}.text-right{text-align:right}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[20px\\]{font-size:20px}.text-\\[9px\\]{font-size:9px}.text-\\[\\#0ea57a\\]{--un-text-opacity:1;color:rgb(14 165 122 / var(--un-text-opacity))}.text-\\[\\#4ade80\\]{--un-text-opacity:1;color:rgb(74 222 128 / var(--un-text-opacity))}.text-\\[\\#7c6dd6\\]{--un-text-opacity:1;color:rgb(124 109 214 / var(--un-text-opacity))}.text-\\[\\#9b90e6\\],.text-accent{--un-text-opacity:1;color:rgb(155 144 230 / var(--un-text-opacity))}.text-\\[\\#d97706\\],.text-warn{--un-text-opacity:1;color:rgb(217 119 6 / var(--un-text-opacity))}.text-\\[\\#dc2626\\]{--un-text-opacity:1;color:rgb(220 38 38 / var(--un-text-opacity))}.text-muted{--un-text-opacity:1;color:rgb(199 195 230 / var(--un-text-opacity))}.text-subtle{--un-text-opacity:1;color:rgb(111 106 143 / var(--un-text-opacity))}.text-text,.hover\\:text-text:hover{--un-text-opacity:1;color:rgb(244 242 255 / var(--un-text-opacity))}.color-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.hover\\:color-muted:hover{--un-text-opacity:1;color:rgb(199 195 230 / var(--un-text-opacity))}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-\\[0\\.07em\\]{letter-spacing:.07em}.tracking-\\[0\\.12em\\]{letter-spacing:.12em}.tracking-widest{letter-spacing:.1em}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.uppercase{text-transform:uppercase}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-\\[0_8px_32px_rgba\\(0\\,0\\,0\\,0\\.7\\)\\]{--un-shadow:0 8px 32px var(--un-shadow-color, rgba(0, 0, 0, .7));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover\\:shadow-\\[0_8px_32px_rgba\\(56\\,189\\,248\\,0\\.1\\)\\]:hover{--un-shadow:0 8px 32px var(--un-shadow-color, rgba(56, 189, 248, .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}';
30
+ class tn {
31
31
  handlers = /* @__PURE__ */ new Map();
32
32
  on(t, e) {
33
33
  return this.handlers.has(t) || this.handlers.set(t, /* @__PURE__ */ new Set()), this.handlers.get(t).add(e), () => this.handlers.get(t)?.delete(e);
@@ -38,23 +38,23 @@ class en {
38
38
  });
39
39
  }
40
40
  }
41
- const tn = 200;
42
- let nn = 0;
43
- function Re() {
44
- return `v${(++nn).toString()}_${Date.now().toString(36)}`;
41
+ const nn = 200;
42
+ let rn = 0;
43
+ function We() {
44
+ return `v${(++rn).toString()}_${Date.now().toString(36)}`;
45
45
  }
46
46
  class v {
47
47
  static _instance = null;
48
48
  static get instance() {
49
49
  return v._instance ??= new v(), v._instance;
50
50
  }
51
- bus = new en();
51
+ bus = new tn();
52
52
  instanceIds = /* @__PURE__ */ new WeakMap();
53
53
  signals = /* @__PURE__ */ new Map();
54
54
  components = /* @__PURE__ */ new Map();
55
55
  timeline = [];
56
56
  getInstanceId(t) {
57
- return this.instanceIds.has(t) || this.instanceIds.set(t, Re()), this.instanceIds.get(t);
57
+ return this.instanceIds.has(t) || this.instanceIds.set(t, We()), this.instanceIds.get(t);
58
58
  }
59
59
  registerSignal(t, e, n, i) {
60
60
  const a = this.getInstanceId(t), c = `${a}:${e}`, p = {
@@ -153,16 +153,16 @@ class v {
153
153
  }
154
154
  pushTimeline(t) {
155
155
  const e = {
156
- id: Re(),
156
+ id: We(),
157
157
  timestamp: Date.now(),
158
158
  ...t
159
159
  };
160
- this.timeline.push(e), this.timeline.length > tn && this.timeline.shift(), this.bus.emit("timeline:push", e);
160
+ this.timeline.push(e), this.timeline.length > nn && this.timeline.shift(), this.bus.emit("timeline:push", e);
161
161
  }
162
162
  }
163
- var Je, ge, gn;
164
- Je = [m()];
165
- class H extends (gn = y) {
163
+ var Te, ge, bn;
164
+ Te = [m()];
165
+ class G extends (bn = y) {
166
166
  render() {
167
167
  return /* @__PURE__ */ d("div", { class: "flex flex-col items-center justify-center gap-2 py-12", children: [
168
168
  /* @__PURE__ */ o("span", { class: "text-subtle text-[20px] leading-none select-none font-mono", children: "—" }),
@@ -170,10 +170,10 @@ class H extends (gn = y) {
170
170
  ] });
171
171
  }
172
172
  }
173
- ge = b(gn), H = l(ge, 0, "EmptyState", Je, H), s(ge, 1, H);
174
- var qe, be, bn;
173
+ ge = b(bn), G = l(ge, 0, "EmptyState", Te, G), s(ge, 1, G);
174
+ var qe, be, xn;
175
175
  qe = [m()];
176
- class X extends (bn = y) {
176
+ class X extends (xn = y) {
177
177
  render() {
178
178
  const { children: t, width: e = "280px" } = this.props;
179
179
  return /* @__PURE__ */ o(
@@ -186,7 +186,7 @@ class X extends (bn = y) {
186
186
  );
187
187
  }
188
188
  }
189
- be = b(bn), X = l(be, 0, "SidePanel", qe, X), s(be, 1, X);
189
+ be = b(xn), X = l(be, 0, "SidePanel", qe, X), s(be, 1, X);
190
190
  function Ne(r) {
191
191
  if (r === null) return "null";
192
192
  if (r === void 0) return "undefined";
@@ -199,9 +199,9 @@ function Ne(r) {
199
199
  }
200
200
  return String(r);
201
201
  }
202
- var Xe, xe, xn;
202
+ var Xe, xe, mn;
203
203
  Xe = [m()];
204
- class O extends (xn = y) {
204
+ class F extends (mn = y) {
205
205
  render() {
206
206
  const { k: t, v: e, signal: n } = this.props;
207
207
  return /* @__PURE__ */ d("div", { class: "flex justify-between items-center px-3 py-2 border-b border-border gap-3", children: [
@@ -216,10 +216,10 @@ class O extends (xn = y) {
216
216
  ] });
217
217
  }
218
218
  }
219
- xe = b(xn), O = l(xe, 0, "DetailRow", Xe, O), s(xe, 1, O);
220
- var Ke, me, mn;
219
+ xe = b(mn), F = l(xe, 0, "DetailRow", Xe, F), s(xe, 1, F);
220
+ var Ke, me, fn;
221
221
  Ke = [m()];
222
- class G extends (mn = y) {
222
+ class W extends (fn = y) {
223
223
  render() {
224
224
  return /* @__PURE__ */ d("div", { class: "border-b border-border", children: [
225
225
  /* @__PURE__ */ o("div", { class: "px-3 py-[4px] text-[9px] text-subtle font-bold tracking-[0.12em] uppercase bg-section border-b border-border", children: this.props.label }),
@@ -227,10 +227,10 @@ class G extends (mn = y) {
227
227
  ] });
228
228
  }
229
229
  }
230
- me = b(mn), G = l(me, 0, "DetailSection", Ke, G), s(me, 1, G);
231
- var Ze, fe, fn;
230
+ me = b(fn), W = l(me, 0, "DetailSection", Ke, W), s(me, 1, W);
231
+ var Ze, fe, wn;
232
232
  Ze = [m()];
233
- class K extends (fn = y) {
233
+ class K extends (wn = y) {
234
234
  render() {
235
235
  const { status: t } = this.props;
236
236
  return /* @__PURE__ */ o(
@@ -242,10 +242,10 @@ class K extends (fn = y) {
242
242
  );
243
243
  }
244
244
  }
245
- fe = b(fn), K = l(fe, 0, "StatusDot", Ze, K), s(fe, 1, K);
246
- var Qe, we, wn;
245
+ fe = b(wn), K = l(fe, 0, "StatusDot", Ze, K), s(fe, 1, K);
246
+ var Qe, we, yn;
247
247
  Qe = [m()];
248
- class Z extends (wn = y) {
248
+ class Q extends (yn = y) {
249
249
  render() {
250
250
  const { entry: t, signals: e } = this.props;
251
251
  return /* @__PURE__ */ d(X, { children: [
@@ -258,19 +258,19 @@ class Z extends (wn = y) {
258
258
  ] })
259
259
  ] }),
260
260
  /* @__PURE__ */ d("div", { class: "flex-1 overflow-y-auto", children: [
261
- /* @__PURE__ */ d(G, { label: "Stats", children: [
262
- /* @__PURE__ */ o(O, { k: "renders", v: String(t.renderCount) }),
261
+ /* @__PURE__ */ d(W, { label: "Stats", children: [
262
+ /* @__PURE__ */ o(F, { k: "renders", v: String(t.renderCount) }),
263
263
  /* @__PURE__ */ o(
264
- O,
264
+ F,
265
265
  {
266
266
  k: "last render",
267
267
  v: `${t.lastRenderDuration.toFixed(3)}ms`
268
268
  }
269
269
  ),
270
- /* @__PURE__ */ o(O, { k: "status", v: t.status })
270
+ /* @__PURE__ */ o(F, { k: "status", v: t.status })
271
271
  ] }),
272
- e.length > 0 && /* @__PURE__ */ o(G, { label: "State", children: e.map((n) => /* @__PURE__ */ o(
273
- O,
272
+ e.length > 0 && /* @__PURE__ */ o(W, { label: "State", children: e.map((n) => /* @__PURE__ */ o(
273
+ F,
274
274
  {
275
275
  k: n.label,
276
276
  v: Ne(n.value),
@@ -278,7 +278,7 @@ class Z extends (wn = y) {
278
278
  },
279
279
  n.id
280
280
  )) }),
281
- t.lifecycle.length > 0 && /* @__PURE__ */ o(G, { label: "Lifecycle", children: [...t.lifecycle].reverse().slice(0, 20).map((n, i) => /* @__PURE__ */ d(
281
+ t.lifecycle.length > 0 && /* @__PURE__ */ o(W, { label: "Lifecycle", children: [...t.lifecycle].reverse().slice(0, 20).map((n, i) => /* @__PURE__ */ d(
282
282
  "div",
283
283
  {
284
284
  class: "px-3 py-2 flex justify-between items-center border-b border-border",
@@ -293,10 +293,10 @@ class Z extends (wn = y) {
293
293
  ] });
294
294
  }
295
295
  }
296
- we = b(wn), Z = l(we, 0, "ComponentDetail", Qe, Z), s(we, 1, Z);
297
- var Ve, ye, yn;
296
+ we = b(yn), Q = l(we, 0, "ComponentDetail", Qe, Q), s(we, 1, Q);
297
+ var Ve, ye, vn;
298
298
  Ve = [m()];
299
- class Q extends (yn = y) {
299
+ class V extends (vn = y) {
300
300
  render() {
301
301
  const { entry: t, selected: e, onClick: n } = this.props;
302
302
  return /* @__PURE__ */ d(
@@ -331,15 +331,15 @@ class Q extends (yn = y) {
331
331
  );
332
332
  }
333
333
  }
334
- ye = b(yn), Q = l(ye, 0, "ComponentRow", Ve, Q), s(ye, 1, Q);
334
+ ye = b(vn), V = l(ye, 0, "ComponentRow", Ve, V), s(ye, 1, V);
335
335
  var Pe, et, tt, nt, E;
336
336
  nt = [m()];
337
- class B extends (tt = T, et = [C()], Pe = [C()], tt) {
337
+ class B extends (tt = J, et = [C()], Pe = [C()], tt) {
338
338
  constructor() {
339
339
  super(...arguments);
340
- w(this, "components", s(E, 8, this, [])), s(E, 11, this);
341
- w(this, "selectedId", s(E, 12, this, null)), s(E, 15, this);
342
- w(this, "_handlers", []);
340
+ f(this, "components", s(E, 8, this, [])), s(E, 11, this);
341
+ f(this, "selectedId", s(E, 12, this, null)), s(E, 15, this);
342
+ f(this, "_handlers", []);
343
343
  }
344
344
  get registry() {
345
345
  return this.props.registry;
@@ -372,8 +372,8 @@ class B extends (tt = T, et = [C()], Pe = [C()], tt) {
372
372
  /* @__PURE__ */ o("span", { children: "Renders" }),
373
373
  /* @__PURE__ */ o("span", { class: "w-12 text-right", children: "Last" })
374
374
  ] }),
375
- /* @__PURE__ */ o("div", { class: "flex-1 overflow-y-auto", children: () => this.components.length === 0 ? /* @__PURE__ */ o(H, { message: "No components tracked. Add @Trace() to component classes." }) : this.components.map((n) => /* @__PURE__ */ o(
376
- Q,
375
+ /* @__PURE__ */ o("div", { class: "flex-1 overflow-y-auto", children: () => this.components.length === 0 ? /* @__PURE__ */ o(G, { message: "No components tracked. Add @Trace() to component classes." }) : this.components.map((n) => /* @__PURE__ */ o(
376
+ V,
377
377
  {
378
378
  entry: n,
379
379
  selected: () => this.selectedId === n.id,
@@ -386,20 +386,20 @@ class B extends (tt = T, et = [C()], Pe = [C()], tt) {
386
386
  ] }),
387
387
  () => {
388
388
  const n = this.selectedId, i = n ? this.components.find((c) => c.id === n) ?? null : null, a = n ? e.getSignalsByComponent(n) : [];
389
- return i ? /* @__PURE__ */ o(Z, { entry: i, signals: a }) : null;
389
+ return i ? /* @__PURE__ */ o(Q, { entry: i, signals: a }) : null;
390
390
  }
391
391
  ] });
392
392
  }
393
393
  }
394
394
  E = b(tt), l(E, 5, "components", et, B), l(E, 5, "selectedId", Pe, B), B = l(E, 0, "ComponentsTab", nt, B), s(E, 1, B);
395
- const rn = {
395
+ const on = {
396
396
  id: "components",
397
397
  label: "Components",
398
398
  component: B
399
399
  };
400
- var rt, ve, vn;
400
+ var rt, ve, kn;
401
401
  rt = [m()];
402
- class V extends (vn = y) {
402
+ class P extends (kn = y) {
403
403
  render() {
404
404
  const { placeholder: t, onInput: e } = this.props;
405
405
  return /* @__PURE__ */ o(
@@ -415,10 +415,10 @@ class V extends (vn = y) {
415
415
  );
416
416
  }
417
417
  }
418
- ve = b(vn), V = l(ve, 0, "SearchInput", rt, V), s(ve, 1, V);
419
- var ot, ke, kn;
418
+ ve = b(kn), P = l(ve, 0, "SearchInput", rt, P), s(ve, 1, P);
419
+ var ot, ke, zn;
420
420
  ot = [m()];
421
- class P extends (kn = y) {
421
+ class ee extends (zn = y) {
422
422
  render() {
423
423
  return /* @__PURE__ */ d("div", { class: "border-b border-border", children: [
424
424
  /* @__PURE__ */ o("div", { class: "px-3 py-[4px] text-[9px] text-subtle font-bold tracking-[0.12em] uppercase bg-section border-b border-border", children: this.props.label }),
@@ -426,17 +426,17 @@ class P extends (kn = y) {
426
426
  ] });
427
427
  }
428
428
  }
429
- ke = b(kn), P = l(ke, 0, "PanelSection", ot, P), s(ke, 1, P);
429
+ ke = b(zn), ee = l(ke, 0, "PanelSection", ot, ee), s(ke, 1, ee);
430
430
  function De(r, t) {
431
431
  const e = t ? ` ${t}` : "", n = Date.now() - r;
432
432
  return n < 1e3 ? `${n.toString()}ms${e}` : n < 6e4 ? `${(n / 1e3).toFixed(1)}s${e}` : `${Math.floor(n / 6e4).toString()}m${e}`;
433
433
  }
434
- var it, ze, zn;
434
+ var it, ze, Cn;
435
435
  it = [m()];
436
- class ee extends (zn = y) {
436
+ class te extends (Cn = y) {
437
437
  render() {
438
438
  const { entry: t } = this.props;
439
- return /* @__PURE__ */ o(X, { width: "260px", children: /* @__PURE__ */ o(P, { label: "History", children: /* @__PURE__ */ d("div", { class: "overflow-y-auto", children: [
439
+ return /* @__PURE__ */ o(X, { width: "260px", children: /* @__PURE__ */ o(ee, { label: "History", children: /* @__PURE__ */ d("div", { class: "overflow-y-auto", children: [
440
440
  [...t.history].reverse().map((e, n) => /* @__PURE__ */ d(
441
441
  "div",
442
442
  {
@@ -452,10 +452,10 @@ class ee extends (zn = y) {
452
452
  ] }) }) });
453
453
  }
454
454
  }
455
- ze = b(zn), ee = l(ze, 0, "SignalDetail", it, ee), s(ze, 1, ee);
456
- var st, Ce, Cn;
455
+ ze = b(Cn), te = l(ze, 0, "SignalDetail", it, te), s(ze, 1, te);
456
+ var st, Ce, Mn;
457
457
  st = [m()];
458
- class te extends (Cn = y) {
458
+ class ne extends (Mn = y) {
459
459
  render() {
460
460
  const { entry: t, selected: e, onClick: n } = this.props;
461
461
  return /* @__PURE__ */ d(
@@ -474,16 +474,16 @@ class te extends (Cn = y) {
474
474
  );
475
475
  }
476
476
  }
477
- Ce = b(Cn), te = l(Ce, 0, "SignalRow", st, te), s(Ce, 1, te);
477
+ Ce = b(Mn), ne = l(Ce, 0, "SignalRow", st, ne), s(Ce, 1, ne);
478
478
  var at, lt, ct, dt, ut, S;
479
479
  ut = [m()];
480
- class D extends (dt = T, ct = [C()], lt = [C()], at = [C()], dt) {
480
+ class U extends (dt = J, ct = [C()], lt = [C()], at = [C()], dt) {
481
481
  constructor() {
482
482
  super(...arguments);
483
- w(this, "signals", s(S, 8, this, [])), s(S, 11, this);
484
- w(this, "search", s(S, 12, this, "")), s(S, 15, this);
485
- w(this, "selectedId", s(S, 16, this, null)), s(S, 19, this);
486
- w(this, "_handlers", []);
483
+ f(this, "signals", s(S, 8, this, [])), s(S, 11, this);
484
+ f(this, "search", s(S, 12, this, "")), s(S, 15, this);
485
+ f(this, "selectedId", s(S, 16, this, null)), s(S, 19, this);
486
+ f(this, "_handlers", []);
487
487
  }
488
488
  get registry() {
489
489
  return this.props.registry;
@@ -507,7 +507,7 @@ class D extends (dt = T, ct = [C()], lt = [C()], at = [C()], dt) {
507
507
  return /* @__PURE__ */ d("div", { class: "flex h-full overflow-hidden", children: [
508
508
  /* @__PURE__ */ d("div", { class: "flex-1 flex flex-col overflow-hidden min-w-0", children: [
509
509
  /* @__PURE__ */ o("div", { class: "px-3 py-2 border-b border-border bg-bg shrink-0", children: /* @__PURE__ */ o(
510
- V,
510
+ P,
511
511
  {
512
512
  placeholder: "Search signals…",
513
513
  onInput: (e) => {
@@ -526,12 +526,12 @@ class D extends (dt = T, ct = [C()], lt = [C()], at = [C()], dt) {
526
526
  (i) => i.label.toLowerCase().includes(e) || i.componentName.toLowerCase().includes(e)
527
527
  );
528
528
  return n.length === 0 ? /* @__PURE__ */ o(
529
- H,
529
+ G,
530
530
  {
531
531
  message: this.signals.length === 0 ? "No signals tracked. Add @Debug() on top of @State() properties." : "No signals match your search."
532
532
  }
533
533
  ) : n.map((i) => /* @__PURE__ */ o(
534
- te,
534
+ ne,
535
535
  {
536
536
  entry: i,
537
537
  selected: this.selectedId === i.id,
@@ -545,24 +545,24 @@ class D extends (dt = T, ct = [C()], lt = [C()], at = [C()], dt) {
545
545
  ] }),
546
546
  () => {
547
547
  const e = this.selectedId, n = e ? this.signals.find((i) => i.id === e) ?? null : null;
548
- return n ? /* @__PURE__ */ o(ee, { entry: n }) : null;
548
+ return n ? /* @__PURE__ */ o(te, { entry: n }) : null;
549
549
  }
550
550
  ] });
551
551
  }
552
552
  }
553
- S = b(dt), l(S, 5, "signals", ct, D), l(S, 5, "search", lt, D), l(S, 5, "selectedId", at, D), D = l(S, 0, "SignalsTab", ut, D), s(S, 1, D);
554
- const on = {
553
+ S = b(dt), l(S, 5, "signals", ct, U), l(S, 5, "search", lt, U), l(S, 5, "selectedId", at, U), U = l(S, 0, "SignalsTab", ut, U), s(S, 1, U);
554
+ const sn = {
555
555
  id: "signals",
556
556
  label: "Signals",
557
- component: D
558
- }, sn = {
557
+ component: U
558
+ }, an = {
559
559
  "signal:change": { label: "signal", cls: "text-[#9b90e6] bg-[rgba(155,144,230,0.14)]" },
560
560
  "component:render": { label: "render", cls: "text-[#4ade80] bg-[rgba(74,222,128,0.12)]" },
561
561
  "component:mount": { label: "mount", cls: "text-[#0ea57a] bg-[rgba(14,165,122,0.14)]" },
562
562
  "component:unmount": { label: "unmount", cls: "text-[#dc2626] bg-[rgba(220,38,38,0.14)]" },
563
563
  lifecycle: { label: "lifecycle", cls: "text-[#d97706] bg-[rgba(217,119,6,0.14)]" },
564
564
  "method:call": { label: "method", cls: "text-[#7c6dd6] bg-[rgba(124,109,214,0.14)]" }
565
- }, an = [
565
+ }, ln = [
566
566
  { value: "all", label: "All" },
567
567
  { value: "signal:change", label: "Signals" },
568
568
  { value: "component:render", label: "Renders" },
@@ -570,11 +570,11 @@ const on = {
570
570
  { value: "lifecycle", label: "Lifecycle" },
571
571
  { value: "method:call", label: "Methods" }
572
572
  ];
573
- var pt, Me, Mn;
573
+ var pt, Me, Sn;
574
574
  pt = [m()];
575
- class ne extends (Mn = y) {
575
+ class re extends (Sn = y) {
576
576
  render() {
577
- const t = sn[this.props.type];
577
+ const t = an[this.props.type];
578
578
  return /* @__PURE__ */ o(
579
579
  "span",
580
580
  {
@@ -584,16 +584,19 @@ class ne extends (Mn = y) {
584
584
  );
585
585
  }
586
586
  }
587
- Me = b(Mn), ne = l(Me, 0, "Badge", pt, ne), s(Me, 1, ne);
588
- var ht, gt, bt, A;
589
- bt = [m()];
590
- class q extends (gt = T, ht = [C()], gt) {
587
+ Me = b(Sn), re = l(Me, 0, "Badge", pt, re), s(Me, 1, re);
588
+ var ht, gt, bt, xt, N;
589
+ xt = [m()];
590
+ class H extends (bt = J, gt = [C()], ht = [Z()], bt) {
591
591
  constructor() {
592
592
  super(...arguments);
593
- w(this, "open", s(A, 8, this, !1)), s(A, 11, this);
593
+ f(this, "open", s(N, 8, this, !1)), s(N, 11, this);
594
+ f(this, "entry", s(N, 12, this)), s(N, 15, this);
594
595
  }
595
596
  render() {
596
- const { entry: e } = this.props, n = Object.keys(e.data).length > 0;
597
+ const e = this.entry;
598
+ if (!e) return null;
599
+ const n = Object.keys(e.data).length > 0;
597
600
  return /* @__PURE__ */ d("div", { class: "border-b border-border", children: [
598
601
  /* @__PURE__ */ d(
599
602
  "div",
@@ -604,7 +607,7 @@ class q extends (gt = T, ht = [C()], gt) {
604
607
  class: `flex items-center gap-2 px-3 py-2 transition-colors duration-100 ${n ? "cursor-pointer hover:bg-section" : "cursor-default"}`,
605
608
  children: [
606
609
  /* @__PURE__ */ o("span", { class: "text-subtle text-[10px] w-10 shrink-0 text-right tabular-nums font-mono", children: De(e.timestamp) }),
607
- /* @__PURE__ */ o(ne, { type: e.type }),
610
+ /* @__PURE__ */ o(re, { type: e.type }),
608
611
  /* @__PURE__ */ o("span", { class: "flex-1 text-text font-mono text-[11px] truncate", children: e.label }),
609
612
  n && /* @__PURE__ */ o("span", { class: "text-subtle text-[11px] shrink-0 w-4 text-center", children: () => this.open ? "▾" : "▸" })
610
613
  ]
@@ -620,16 +623,16 @@ class q extends (gt = T, ht = [C()], gt) {
620
623
  ] });
621
624
  }
622
625
  }
623
- A = b(gt), l(A, 5, "open", ht, q), q = l(A, 0, "TimelineRow", bt, q), s(A, 1, q);
624
- var xt, mt, ft, wt, yt, I;
625
- yt = [m()];
626
- class U extends (wt = T, ft = [C()], mt = [C()], xt = [C()], wt) {
626
+ N = b(bt), l(N, 5, "open", gt, H), l(N, 5, "entry", ht, H), H = l(N, 0, "TimelineRow", xt, H), s(N, 1, H);
627
+ var mt, ft, wt, yt, vt, I;
628
+ vt = [m()];
629
+ class O extends (yt = J, wt = [C()], ft = [C()], mt = [C()], yt) {
627
630
  constructor() {
628
631
  super(...arguments);
629
- w(this, "entries", s(I, 8, this, [])), s(I, 11, this);
630
- w(this, "filter", s(I, 12, this, "all")), s(I, 15, this);
631
- w(this, "paused", s(I, 16, this, !1)), s(I, 19, this);
632
- w(this, "_handlers", []);
632
+ f(this, "entries", s(I, 8, this, [])), s(I, 11, this);
633
+ f(this, "filter", s(I, 12, this, "all")), s(I, 15, this);
634
+ f(this, "paused", s(I, 16, this, !1)), s(I, 19, this);
635
+ f(this, "_handlers", []);
633
636
  }
634
637
  get registry() {
635
638
  return this.props.registry;
@@ -649,7 +652,7 @@ class U extends (wt = T, ft = [C()], mt = [C()], xt = [C()], wt) {
649
652
  render() {
650
653
  return /* @__PURE__ */ d("div", { class: "flex flex-col h-full overflow-hidden", children: [
651
654
  /* @__PURE__ */ d("div", { class: "flex items-center gap-[3px] px-2 py-2 border-b border-border bg-bg shrink-0 flex-wrap", children: [
652
- an.map((e) => /* @__PURE__ */ o(
655
+ ln.map((e) => /* @__PURE__ */ o(
653
656
  "button",
654
657
  {
655
658
  onClick: () => {
@@ -686,20 +689,20 @@ class U extends (wt = T, ft = [C()], mt = [C()], xt = [C()], wt) {
686
689
  const e = this.filter, n = e === "all" ? this.entries : this.entries.filter(
687
690
  (i) => i.type === e || e === "component:mount" && i.type === "component:unmount"
688
691
  );
689
- return n.length === 0 ? /* @__PURE__ */ o(H, { message: "No events yet. Interact with your app to see the timeline." }) : [...n].reverse().map((i) => /* @__PURE__ */ o(q, { entry: i }, i.id));
692
+ return n.length === 0 ? /* @__PURE__ */ o(G, { message: "No events yet. Interact with your app to see the timeline." }) : [...n].reverse().map((i) => /* @__PURE__ */ o(H, { entry: i }, i.id));
690
693
  } })
691
694
  ] });
692
695
  }
693
696
  }
694
- I = b(wt), l(I, 5, "entries", ft, U), l(I, 5, "filter", mt, U), l(I, 5, "paused", xt, U), U = l(I, 0, "TimelineTab", yt, U), s(I, 1, U);
695
- const ln = {
697
+ I = b(yt), l(I, 5, "entries", wt, O), l(I, 5, "filter", ft, O), l(I, 5, "paused", mt, O), O = l(I, 0, "TimelineTab", vt, O), s(I, 1, O);
698
+ const cn = {
696
699
  id: "timeline",
697
700
  label: "Timeline",
698
- component: U
699
- }, cn = '*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}';
700
- var vt, Se, Sn;
701
- vt = [m()];
702
- class re extends (Sn = y) {
701
+ component: O
702
+ }, dn = '*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}';
703
+ var kt, Se, In;
704
+ kt = [m()];
705
+ class oe extends (In = y) {
703
706
  render() {
704
707
  return /* @__PURE__ */ d(
705
708
  "svg",
@@ -723,10 +726,10 @@ class re extends (Sn = y) {
723
726
  );
724
727
  }
725
728
  }
726
- Se = b(Sn), re = l(Se, 0, "EllipsisVerticalIcon", vt, re), s(Se, 1, re);
727
- var kt, Ie, In;
728
- kt = [m()];
729
- class oe extends (In = y) {
729
+ Se = b(In), oe = l(Se, 0, "EllipsisVerticalIcon", kt, oe), s(Se, 1, oe);
730
+ var zt, Ie, Ln;
731
+ zt = [m()];
732
+ class ie extends (Ln = y) {
730
733
  render() {
731
734
  return /* @__PURE__ */ d(
732
735
  "svg",
@@ -749,10 +752,10 @@ class oe extends (In = y) {
749
752
  );
750
753
  }
751
754
  }
752
- Ie = b(In), oe = l(Ie, 0, "PanelBottomIcon", kt, oe), s(Ie, 1, oe);
753
- var zt, Le, Ln;
754
- zt = [m()];
755
- class ie extends (Ln = y) {
755
+ Ie = b(Ln), ie = l(Ie, 0, "PanelBottomIcon", zt, ie), s(Ie, 1, ie);
756
+ var Ct, Le, _n;
757
+ Ct = [m()];
758
+ class se extends (_n = y) {
756
759
  render() {
757
760
  return /* @__PURE__ */ d(
758
761
  "svg",
@@ -775,10 +778,10 @@ class ie extends (Ln = y) {
775
778
  );
776
779
  }
777
780
  }
778
- Le = b(Ln), ie = l(Le, 0, "PanelLeftIcon", zt, ie), s(Le, 1, ie);
779
- var Ct, _e, _n;
780
- Ct = [m()];
781
- class se extends (_n = y) {
781
+ Le = b(_n), se = l(Le, 0, "PanelLeftIcon", Ct, se), s(Le, 1, se);
782
+ var Mt, _e, $n;
783
+ Mt = [m()];
784
+ class ae extends ($n = y) {
782
785
  render() {
783
786
  return /* @__PURE__ */ d(
784
787
  "svg",
@@ -801,10 +804,10 @@ class se extends (_n = y) {
801
804
  );
802
805
  }
803
806
  }
804
- _e = b(_n), se = l(_e, 0, "PanelRightIcon", Ct, se), s(_e, 1, se);
805
- var Mt, $e, $n;
806
- Mt = [m()];
807
- class ae extends ($n = y) {
807
+ _e = b($n), ae = l(_e, 0, "PanelRightIcon", Mt, ae), s(_e, 1, ae);
808
+ var St, $e, jn;
809
+ St = [m()];
810
+ class le extends (jn = y) {
808
811
  render() {
809
812
  return /* @__PURE__ */ d(
810
813
  "svg",
@@ -827,10 +830,10 @@ class ae extends ($n = y) {
827
830
  );
828
831
  }
829
832
  }
830
- $e = b($n), ae = l($e, 0, "PanelTopIcon", Mt, ae), s($e, 1, ae);
831
- var St, je, jn;
832
- St = [m()];
833
- class le extends (jn = y) {
833
+ $e = b(jn), le = l($e, 0, "PanelTopIcon", St, le), s($e, 1, le);
834
+ var It, je, En;
835
+ It = [m()];
836
+ class ce extends (En = y) {
834
837
  render() {
835
838
  return /* @__PURE__ */ d(
836
839
  "svg",
@@ -853,10 +856,10 @@ class le extends (jn = y) {
853
856
  );
854
857
  }
855
858
  }
856
- je = b(jn), le = l(je, 0, "XIcon", St, le), s(je, 1, le);
857
- var It, Ee, En;
858
- It = [m()];
859
- class R extends (En = y) {
859
+ je = b(En), ce = l(je, 0, "XIcon", It, ce), s(je, 1, ce);
860
+ var Lt, Ee, Nn;
861
+ Lt = [m()];
862
+ class Y extends (Nn = y) {
860
863
  render() {
861
864
  const { title: t, active: e, icon: n, onClick: i } = this.props;
862
865
  return /* @__PURE__ */ o(
@@ -870,26 +873,26 @@ class R extends (En = y) {
870
873
  );
871
874
  }
872
875
  }
873
- Ee = b(En), R = l(Ee, 0, "IconButton", It, R), s(Ee, 1, R);
874
- const Te = 180, dn = 300, We = 240, un = 380, pn = {
875
- bottom: oe,
876
- top: ae,
877
- left: ie,
878
- right: se
876
+ Ee = b(Nn), Y = l(Ee, 0, "IconButton", Lt, Y), s(Ee, 1, Y);
877
+ const Ye = 180, un = 300, Je = 240, pn = 380, hn = {
878
+ bottom: ie,
879
+ top: le,
880
+ left: se,
881
+ right: ae
879
882
  };
880
- var Lt, _t, $t, jt, Et, Nt, Dt, Ut, Ot, Ft, x;
881
- Ft = [m()];
882
- class _ extends (Ot = T, Ut = [C()], Dt = [C()], Nt = [C()], Et = [C()], jt = [C()], $t = [ce()], _t = [ce()], Lt = [Qt("onClose")], Ot) {
883
+ var _t, $t, jt, Et, Nt, Dt, Ut, Ot, Ft, At, x;
884
+ At = [m()];
885
+ class _ extends (Ft = J, Ot = [C()], Ut = [C()], Dt = [C()], Nt = [C()], Et = [C()], jt = [Z()], $t = [Z()], _t = [Vt("onClose")], Ft) {
883
886
  constructor() {
884
887
  super(...arguments);
885
888
  s(x, 5, this);
886
- w(this, "activeTab", s(x, 8, this, "")), s(x, 11, this);
887
- w(this, "dock", s(x, 12, this, "bottom")), s(x, 15, this);
888
- w(this, "dockMenuOpen", s(x, 16, this, !1)), s(x, 19, this);
889
- w(this, "bottomSize", s(x, 20, this, dn)), s(x, 23, this);
890
- w(this, "vertSize", s(x, 24, this, un)), s(x, 27, this);
891
- w(this, "plugins", s(x, 28, this, [])), s(x, 31, this);
892
- w(this, "registry", s(x, 32, this)), s(x, 35, this);
889
+ f(this, "activeTab", s(x, 8, this, "")), s(x, 11, this);
890
+ f(this, "dock", s(x, 12, this, "bottom")), s(x, 15, this);
891
+ f(this, "dockMenuOpen", s(x, 16, this, !1)), s(x, 19, this);
892
+ f(this, "bottomSize", s(x, 20, this, un)), s(x, 23, this);
893
+ f(this, "vertSize", s(x, 24, this, pn)), s(x, 27, this);
894
+ f(this, "plugins", s(x, 28, this, [])), s(x, 31, this);
895
+ f(this, "registry", s(x, 32, this)), s(x, 35, this);
893
896
  }
894
897
  handleClose() {
895
898
  }
@@ -899,24 +902,24 @@ class _ extends (Ot = T, Ut = [C()], Dt = [C()], Nt = [C()], Et = [C()], jt = [C
899
902
  handleMouseDown(e) {
900
903
  e.preventDefault();
901
904
  const n = e.clientX, i = e.clientY, a = this.dock, c = a === "bottom" || a === "top" ? this.bottomSize : this.vertSize, p = (h) => {
902
- const f = this.dock;
903
- f === "bottom" ? this.bottomSize = Math.max(
904
- Te,
905
+ const w = this.dock;
906
+ w === "bottom" ? this.bottomSize = Math.max(
907
+ Ye,
905
908
  Math.min(
906
909
  window.innerHeight * 0.85,
907
910
  c + (i - h.clientY)
908
911
  )
909
- ) : f === "top" ? this.bottomSize = Math.max(
910
- Te,
912
+ ) : w === "top" ? this.bottomSize = Math.max(
913
+ Ye,
911
914
  Math.min(
912
915
  window.innerHeight * 0.85,
913
916
  c + (h.clientY - i)
914
917
  )
915
- ) : f === "left" ? this.vertSize = Math.max(
916
- We,
918
+ ) : w === "left" ? this.vertSize = Math.max(
919
+ Je,
917
920
  Math.min(window.innerWidth * 0.6, c + (h.clientX - n))
918
921
  ) : this.vertSize = Math.max(
919
- We,
922
+ Je,
920
923
  Math.min(window.innerWidth * 0.6, c + (n - h.clientX))
921
924
  );
922
925
  }, g = () => {
@@ -959,7 +962,7 @@ class _ extends (Ot = T, Ut = [C()], Dt = [C()], Nt = [C()], Et = [C()], jt = [C
959
962
  children: /* @__PURE__ */ d("div", { class: "flex flex-col flex-1 w-full h-full overflow-hidden", children: [
960
963
  /* @__PURE__ */ d("div", { class: "flex h-10 items-stretch border-b border-border bg-header shrink-0 px-2 gap-[2px]", children: [
961
964
  /* @__PURE__ */ d("div", { class: "flex items-center gap-[6px] pr-3 mr-[2px] border-r border-border shrink-0", children: [
962
- /* @__PURE__ */ o("img", { class: "h-[13px] w-[13px]", src: Tt }),
965
+ /* @__PURE__ */ o("img", { class: "h-[13px] w-[13px]", src: Jt }),
963
966
  /* @__PURE__ */ o("span", { class: "text-[10px] font-bold text-accent tracking-widest uppercase", children: "praxisjs" })
964
967
  ] }),
965
968
  /* @__PURE__ */ o("div", { class: "flex items-stretch flex-1", children: () => this.plugins.map((e) => /* @__PURE__ */ d(
@@ -979,10 +982,10 @@ class _ extends (Ot = T, Ut = [C()], Dt = [C()], Nt = [C()], Et = [C()], jt = [C
979
982
  /* @__PURE__ */ d("div", { class: "flex items-center gap-[2px] shrink-0", children: [
980
983
  /* @__PURE__ */ d("div", { class: "relative", children: [
981
984
  /* @__PURE__ */ o(
982
- R,
985
+ Y,
983
986
  {
984
987
  title: "Dock position",
985
- icon: re,
988
+ icon: oe,
986
989
  active: () => this.dockMenuOpen,
987
990
  onClick: () => {
988
991
  this.dockMenuOpen = !this.dockMenuOpen;
@@ -991,11 +994,11 @@ class _ extends (Ot = T, Ut = [C()], Dt = [C()], Nt = [C()], Et = [C()], jt = [C
991
994
  ),
992
995
  () => this.dockMenuOpen ? /* @__PURE__ */ o("div", { class: "absolute right-0 top-full mt-1 flex gap-[2px] bg-bg border border-border rounded-md shadow-lg p-1 z-10", children: ["bottom", "top", "left", "right"].map(
993
996
  (e) => /* @__PURE__ */ o(
994
- R,
997
+ Y,
995
998
  {
996
999
  title: `Dock ${e}`,
997
1000
  active: () => this.dock === e,
998
- icon: pn[e],
1001
+ icon: hn[e],
999
1002
  onClick: () => {
1000
1003
  this.dock = e, this.dockMenuOpen = !1;
1001
1004
  }
@@ -1006,10 +1009,10 @@ class _ extends (Ot = T, Ut = [C()], Dt = [C()], Nt = [C()], Et = [C()], jt = [C
1006
1009
  ] }),
1007
1010
  /* @__PURE__ */ o("div", { class: "w-px h-3 bg-border mx-1" }),
1008
1011
  /* @__PURE__ */ o(
1009
- R,
1012
+ Y,
1010
1013
  {
1011
1014
  title: "Close",
1012
- icon: le,
1015
+ icon: ce,
1013
1016
  onClick: () => {
1014
1017
  this.handleClose();
1015
1018
  }
@@ -1031,20 +1034,20 @@ class _ extends (Ot = T, Ut = [C()], Dt = [C()], Nt = [C()], Et = [C()], jt = [C
1031
1034
  );
1032
1035
  }
1033
1036
  }
1034
- x = b(Ot), l(x, 1, "handleClose", Lt, _), l(x, 5, "activeTab", Ut, _), l(x, 5, "dock", Dt, _), l(x, 5, "dockMenuOpen", Nt, _), l(x, 5, "bottomSize", Et, _), l(x, 5, "vertSize", jt, _), l(x, 5, "plugins", $t, _), l(x, 5, "registry", _t, _), _ = l(x, 0, "Panel", Ft, _), s(x, 1, _);
1035
- const hn = [
1037
+ x = b(Ft), l(x, 1, "handleClose", _t, _), l(x, 5, "activeTab", Ot, _), l(x, 5, "dock", Ut, _), l(x, 5, "dockMenuOpen", Dt, _), l(x, 5, "bottomSize", Nt, _), l(x, 5, "vertSize", Et, _), l(x, 5, "plugins", jt, _), l(x, 5, "registry", $t, _), _ = l(x, 0, "Panel", At, _), s(x, 1, _);
1038
+ const gn = [
1039
+ sn,
1036
1040
  on,
1037
- rn,
1038
- ln
1041
+ cn
1039
1042
  ];
1040
- var At, Bt, Ht, Gt, Rt, L;
1041
- Rt = [m()];
1042
- class N extends (Gt = T, Ht = [C()], Bt = [ce()], At = [ce()], Gt) {
1043
+ var Bt, Ht, Gt, Wt, Yt, L;
1044
+ Yt = [m()];
1045
+ class D extends (Wt = J, Gt = [C()], Ht = [Z()], Bt = [Z()], Wt) {
1043
1046
  constructor() {
1044
1047
  super(...arguments);
1045
- w(this, "open", s(L, 8, this, !1)), s(L, 11, this);
1046
- w(this, "plugins", s(L, 12, this, [])), s(L, 15, this);
1047
- w(this, "registry", s(L, 16, this)), s(L, 19, this);
1048
+ f(this, "open", s(L, 8, this, !1)), s(L, 11, this);
1049
+ f(this, "plugins", s(L, 12, this, [])), s(L, 15, this);
1050
+ f(this, "registry", s(L, 16, this)), s(L, 19, this);
1048
1051
  }
1049
1052
  render() {
1050
1053
  return /* @__PURE__ */ o("div", { children: () => this.open ? /* @__PURE__ */ o(
@@ -1064,16 +1067,16 @@ class N extends (Gt = T, Ht = [C()], Bt = [ce()], At = [ce()], Gt) {
1064
1067
  },
1065
1068
  class: "fixed bottom-5 right-5 z-[2147483647] flex items-center gap-1 pl-[10px] pr-[14px] h-[32px] rounded-xl font-sans font-semibold text-[12px] text-accent bg-header border border-border cursor-pointer select-none shadow-[0_8px_32px_rgba(0,0,0,0.7)] transition-all duration-200 hover:border-accent hover:bg-soft hover:shadow-[0_8px_32px_rgba(56,189,248,0.1)]",
1066
1069
  children: [
1067
- /* @__PURE__ */ o("img", { class: "h-[13px] w-[13px]", src: Tt }),
1070
+ /* @__PURE__ */ o("img", { class: "h-[13px] w-[13px]", src: Jt }),
1068
1071
  /* @__PURE__ */ o("span", { class: "text-[10px] font-bold text-accent tracking-widest uppercase", children: "devtools" })
1069
1072
  ]
1070
1073
  }
1071
1074
  ) });
1072
1075
  }
1073
1076
  }
1074
- L = b(Gt), l(L, 5, "open", Ht, N), l(L, 5, "plugins", Bt, N), l(L, 5, "registry", At, N), N = l(L, 0, "DevToolsApp", Rt, N), s(L, 1, N);
1075
- const Bn = {
1076
- plugins: [...hn],
1077
+ L = b(Wt), l(L, 5, "open", Gt, D), l(L, 5, "plugins", Ht, D), l(L, 5, "registry", Bt, D), D = l(L, 0, "DevToolsApp", Yt, D), s(L, 1, D);
1078
+ const Hn = {
1079
+ plugins: [...gn],
1077
1080
  host: null,
1078
1081
  cleanup: null,
1079
1082
  init(r = {}) {
@@ -1082,10 +1085,10 @@ const Bn = {
1082
1085
  const t = document.createElement("div");
1083
1086
  t.id = "praxisjs-devtools", document.body.appendChild(t), this.host = t;
1084
1087
  const e = t.attachShadow({ mode: "open" }), n = document.createElement("style");
1085
- n.textContent = cn + Pt, e.appendChild(n);
1088
+ n.textContent = dn + en, e.appendChild(n);
1086
1089
  const i = document.createElement("div");
1087
1090
  e.appendChild(i), this.cleanup = Ge(
1088
- () => /* @__PURE__ */ o(N, { plugins: this.plugins, registry: v.instance }),
1091
+ () => /* @__PURE__ */ o(D, { plugins: this.plugins, registry: v.instance }),
1089
1092
  i
1090
1093
  );
1091
1094
  },
@@ -1099,33 +1102,33 @@ const Bn = {
1099
1102
  if (!this.host) return;
1100
1103
  const t = this.host.shadowRoot.querySelector("div:last-child");
1101
1104
  this.cleanup?.(), this.cleanup = Ge(
1102
- () => /* @__PURE__ */ o(N, { plugins: this.plugins, registry: v.instance }),
1105
+ () => /* @__PURE__ */ o(D, { plugins: this.plugins, registry: v.instance }),
1103
1106
  t
1104
1107
  );
1105
1108
  }
1106
1109
  };
1107
- function Ye(r) {
1110
+ function Re(r) {
1108
1111
  return typeof r == "function" && typeof r.subscribe == "function" && !("set" in r);
1109
1112
  }
1110
- function Hn(r = {}) {
1113
+ function Gn(r = {}) {
1111
1114
  return function(e, n) {
1112
1115
  const i = r.label ?? n.name;
1113
1116
  if (n.kind === "method") {
1114
1117
  const a = e;
1115
1118
  return function(...c) {
1116
1119
  const p = this.constructor.name, g = performance.now();
1117
- let h, f = !1;
1120
+ let h, w = !1;
1118
1121
  try {
1119
1122
  h = a.apply(this, c);
1120
1123
  } catch (u) {
1121
- throw f = !0, h = u, u;
1124
+ throw w = !0, h = u, u;
1122
1125
  } finally {
1123
1126
  const u = performance.now() - g;
1124
1127
  v.instance.recordMethodCall(
1125
1128
  this,
1126
1129
  i,
1127
1130
  c,
1128
- f ? `throw ${String(h)}` : h,
1131
+ w ? `throw ${String(h)}` : h,
1129
1132
  u,
1130
1133
  p
1131
1134
  );
@@ -1138,14 +1141,14 @@ function Hn(r = {}) {
1138
1141
  n.addInitializer(function() {
1139
1142
  const c = this, p = c.constructor.name;
1140
1143
  queueMicrotask(() => {
1141
- const g = Vt(() => a.call(c));
1142
- let h = !0, f = g();
1143
- v.instance.registerSignal(c, i, f, p), g.subscribe((u) => {
1144
+ const g = Pt(() => a.call(c));
1145
+ let h = !0, w = g();
1146
+ v.instance.registerSignal(c, i, w, p), g.subscribe((u) => {
1144
1147
  if (h) {
1145
1148
  h = !1;
1146
1149
  return;
1147
1150
  }
1148
- v.instance.updateSignal(c, i, u, f), f = u;
1151
+ v.instance.updateSignal(c, i, u, w), w = u;
1149
1152
  });
1150
1153
  });
1151
1154
  });
@@ -1165,8 +1168,8 @@ function Hn(r = {}) {
1165
1168
  return k.call(this);
1166
1169
  },
1167
1170
  set(j) {
1168
- const F = k.call(this);
1169
- z.call(this, j), v.instance.updateSignal(this, i, j, F);
1171
+ const A = k.call(this);
1172
+ z.call(this, j), v.instance.updateSignal(this, i, j, A);
1170
1173
  },
1171
1174
  enumerable: !0,
1172
1175
  configurable: !0
@@ -1174,36 +1177,36 @@ function Hn(r = {}) {
1174
1177
  return;
1175
1178
  }
1176
1179
  const h = a[c];
1177
- if (Reflect.deleteProperty(a, c), !Ye(h)) {
1180
+ if (Reflect.deleteProperty(a, c), !Re(h)) {
1178
1181
  h !== void 0 && console.warn(
1179
1182
  `[PraxisJS DevTools] @Debug() on "${p}.${c}": expected a computed() value but got ${typeof h}. Skipping.`
1180
1183
  ), a[c] = h;
1181
1184
  return;
1182
1185
  }
1183
- let f;
1186
+ let w;
1184
1187
  function u(k) {
1185
1188
  let z = !0, j = k();
1186
- const F = k.subscribe((W) => {
1189
+ const A = k.subscribe((R) => {
1187
1190
  if (z) {
1188
1191
  z = !1;
1189
1192
  return;
1190
1193
  }
1191
- v.instance.updateSignal(a, i, W, j), j = W;
1194
+ v.instance.updateSignal(a, i, R, j), j = R;
1192
1195
  });
1193
- return v.instance.registerSignal(a, i, j, p), F;
1196
+ return v.instance.registerSignal(a, i, j, p), A;
1194
1197
  }
1195
- f = { computed: h, unsub: u(h) }, Object.defineProperty(a, c, {
1198
+ w = { computed: h, unsub: u(h) }, Object.defineProperty(a, c, {
1196
1199
  get() {
1197
- return f.computed;
1200
+ return w.computed;
1198
1201
  },
1199
1202
  set(k) {
1200
- if (f.unsub(), !Ye(k)) {
1203
+ if (w.unsub(), !Re(k)) {
1201
1204
  console.warn(
1202
1205
  `[PraxisJS DevTools] @Debug() on "${p}.${c}": expected a computed() value but got ${typeof k}. Skipping.`
1203
1206
  );
1204
1207
  return;
1205
1208
  }
1206
- f = { computed: k, unsub: u(k) };
1209
+ w = { computed: k, unsub: u(k) };
1207
1210
  },
1208
1211
  enumerable: !0,
1209
1212
  configurable: !0
@@ -1211,12 +1214,12 @@ function Hn(r = {}) {
1211
1214
  });
1212
1215
  };
1213
1216
  }
1214
- function Gn() {
1217
+ function Wn() {
1215
1218
  return function(r, t) {
1216
1219
  const e = r.name, n = v.instance, i = r.prototype, a = i.render;
1217
1220
  a && (i.render = function(...g) {
1218
- const h = performance.now(), f = a.call(this, ...g), u = performance.now() - h;
1219
- return n.recordRender(this, u), f;
1221
+ const h = performance.now(), w = a.call(this, ...g), u = performance.now() - h;
1222
+ return n.recordRender(this, u), w;
1220
1223
  });
1221
1224
  const c = i.onBeforeMount;
1222
1225
  i.onBeforeMount = function(...g) {
@@ -1231,19 +1234,19 @@ function Gn() {
1231
1234
  ];
1232
1235
  for (const g of p) {
1233
1236
  const h = i[g];
1234
- i[g] = function(...f) {
1235
- return n.recordLifecycle(this, g), h?.call(this, ...f);
1237
+ i[g] = function(...w) {
1238
+ return n.recordLifecycle(this, g), h?.call(this, ...w);
1236
1239
  };
1237
1240
  }
1238
1241
  return r;
1239
1242
  };
1240
1243
  }
1241
1244
  export {
1242
- rn as ComponentsPlugin,
1243
- Hn as Debug,
1244
- Bn as DevTools,
1245
+ on as ComponentsPlugin,
1246
+ Gn as Debug,
1247
+ Hn as DevTools,
1245
1248
  v as Registry,
1246
- on as SignalsPlugin,
1247
- ln as TimelinePlugin,
1248
- Gn as Trace
1249
+ sn as SignalsPlugin,
1250
+ cn as TimelinePlugin,
1251
+ Wn as Trace
1249
1252
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisjs/devtools",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,10 +12,10 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@unocss/reset": "^66.6.2",
15
- "@praxisjs/core": "0.4.0",
16
- "@praxisjs/decorators": "0.4.1",
17
- "@praxisjs/jsx": "0.3.1",
18
- "@praxisjs/runtime": "0.2.2",
15
+ "@praxisjs/core": "0.4.1",
16
+ "@praxisjs/decorators": "0.4.2",
17
+ "@praxisjs/jsx": "0.3.2",
18
+ "@praxisjs/runtime": "0.2.3",
19
19
  "@praxisjs/shared": "0.2.0"
20
20
  },
21
21
  "devDependencies": {
@@ -1,8 +1,7 @@
1
1
  import { time } from "@utils/format-time";
2
2
 
3
3
  import { StatefulComponent } from "@praxisjs/core";
4
- import { Component, State } from "@praxisjs/decorators";
5
-
4
+ import { Component, Prop, State } from "@praxisjs/decorators";
6
5
 
7
6
  import { Badge } from "./badge";
8
7
 
@@ -11,9 +10,12 @@ import type { TimelineEntry } from "@core/types";
11
10
  @Component()
12
11
  export class TimelineRow extends StatefulComponent {
13
12
  @State() open = false;
13
+ @Prop() entry: TimelineEntry | undefined;
14
14
 
15
15
  render() {
16
- const { entry } = this.props as { entry: TimelineEntry };
16
+ const entry = this.entry;
17
+ if (!entry) return null;
18
+
17
19
  const hasData = Object.keys(entry.data).length > 0;
18
20
 
19
21
  return (