@praxisjs/devtools 0.2.29 → 0.2.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,1588 +1,1157 @@
1
- import { jsxs as f, jsx as u } from "@praxisjs/jsx/jsx-runtime";
2
- import { StatelessComponent as k, StatefulComponent as Q } from "@praxisjs/core";
3
- import { Component as x, State as C, Prop as N, Emit as Ln, createMethodDecorator as An, createGetterObserverDecorator as Nn, createFieldDecorator as Bn, ClassBehavior as Rn, createClassDecorator as Un } from "@praxisjs/decorators";
4
- import { render as Ft } from "@praxisjs/runtime";
5
- import { computed as Gn } from "@praxisjs/core/internal";
6
- const ir = "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", Hn = '*,: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,.h1{height:.25rem}.h-10{height:2.5rem}.h-3,.h3{height:.75rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.h2{height:.5rem}.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}.b,.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)}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.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}';
7
- class Xn {
8
- constructor() {
9
- this.handlers = /* @__PURE__ */ new Map();
10
- }
11
- on(t, r) {
12
- return this.handlers.has(t) || this.handlers.set(t, /* @__PURE__ */ new Set()), this.handlers.get(t).add(r), () => this.handlers.get(t)?.delete(r);
13
- }
14
- emit(t, r) {
15
- const n = this.handlers.get(t);
16
- if (!n) return;
17
- const o = [];
18
- for (const i of n)
19
- try {
20
- i(r);
21
- } catch (s) {
22
- o.push(s);
23
- }
24
- if (o.length === 1)
25
- throw o[0];
26
- if (o.length > 1)
27
- throw new AggregateError(o, "Multiple event handler errors");
28
- }
1
+ import { StatefulComponent as e, StatelessComponent as t } from "@praxisjs/core";
2
+ import { ClassBehavior as n, Component as r, Emit as i, Prop as a, State as o, createClassDecorator as s, createFieldDecorator as c, createGetterObserverDecorator as l, createMethodDecorator as u } from "@praxisjs/decorators";
3
+ import { jsx as d, jsxs as f } from "@praxisjs/jsx/jsx-runtime";
4
+ import { render as p } from "@praxisjs/runtime";
5
+ import { computed as ee } from "@praxisjs/core/internal";
6
+ //#region assets/logo.svg
7
+ var m = "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", h = "*,:before,:after,::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 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--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;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;display:block}*{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:0 0}::-webkit-scrollbar-thumb{background:#9b90e633;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#9b90e666}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (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,.h1{height:.25rem}.h-10{height:2.5rem}.h-3,.h3{height:.75rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.h2{height:.5rem}.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}.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{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.b,.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:#0000}.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)}.tab{tab-size:4}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color,#0000001a),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color,#0000001a);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,#000000b3);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,#0000001a),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color,#0000001a);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,#38bdf81a);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.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-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}", g = class {
8
+ handlers = /* @__PURE__ */ new Map();
9
+ on(e, t) {
10
+ return this.handlers.has(e) || this.handlers.set(e, /* @__PURE__ */ new Set()), this.handlers.get(e).add(t), () => this.handlers.get(e)?.delete(t);
11
+ }
12
+ emit(e, t) {
13
+ let n = this.handlers.get(e);
14
+ if (!n) return;
15
+ let r = [];
16
+ for (let e of n) try {
17
+ e(t);
18
+ } catch (e) {
19
+ r.push(e);
20
+ }
21
+ if (r.length === 1) throw r[0];
22
+ if (r.length > 1) throw AggregateError(r, "Multiple event handler errors");
23
+ }
24
+ }, _ = 200, v = 0;
25
+ function y() {
26
+ return `v${(++v).toString()}_${Date.now().toString(36)}`;
29
27
  }
30
- const Wn = 200;
31
- let Yn = 0;
32
- function Lt() {
33
- return `v${(++Yn).toString()}_${Date.now().toString(36)}`;
34
- }
35
- const Y = class Y {
36
- constructor() {
37
- this.bus = new Xn(), this.instanceIds = /* @__PURE__ */ new WeakMap(), this.signals = /* @__PURE__ */ new Map(), this.components = /* @__PURE__ */ new Map(), this.timeline = [];
38
- }
39
- static get instance() {
40
- return Y._instance ??= new Y(), Y._instance;
41
- }
42
- getInstanceId(t) {
43
- return this.instanceIds.has(t) || this.instanceIds.set(t, Lt()), this.instanceIds.get(t);
44
- }
45
- registerSignal(t, r, n, o) {
46
- const i = this.getInstanceId(t), s = `${i}:${r}`, c = {
47
- id: s,
48
- label: r,
49
- componentId: i,
50
- componentName: o,
51
- value: n,
52
- history: [{ value: n, timestamp: Date.now() }],
53
- changedAt: Date.now()
54
- };
55
- this.signals.set(s, c), this.bus.emit("signal:registered", c);
56
- }
57
- updateSignal(t, r, n, o) {
58
- const s = `${this.getInstanceId(t)}:${r}`, c = this.signals.get(s);
59
- if (!c) return;
60
- const h = [
61
- ...c.history,
62
- { value: n, timestamp: Date.now() }
63
- ].slice(-20), l = {
64
- ...c,
65
- value: n,
66
- history: h,
67
- changedAt: Date.now()
68
- };
69
- this.signals.set(s, l), this.bus.emit("signal:changed", { entry: l, oldValue: o }), this.pushTimeline({
70
- type: "signal:change",
71
- label: `${c.componentName}.${r}`,
72
- data: { old: o, new: n, signalId: s }
73
- });
74
- }
75
- registerComponent(t, r) {
76
- const n = this.getInstanceId(t), o = {
77
- id: n,
78
- name: r,
79
- renderCount: 0,
80
- lastRenderDuration: 0,
81
- mountedAt: Date.now(),
82
- status: "mounted",
83
- lifecycle: []
84
- };
85
- this.components.set(n, o), this.bus.emit("component:registered", o);
86
- }
87
- recordRender(t, r) {
88
- const n = this.getInstanceId(t), o = this.components.get(n);
89
- o && (o.renderCount++, o.lastRenderDuration = r, this.bus.emit("component:render", { ...o }), this.pushTimeline({
90
- type: "component:render",
91
- label: `<${o.name}>`,
92
- data: {
93
- componentId: n,
94
- duration: +r.toFixed(3),
95
- renderCount: o.renderCount
96
- }
97
- }));
98
- }
99
- recordLifecycle(t, r) {
100
- const n = this.getInstanceId(t), o = this.components.get(n);
101
- if (!o) return;
102
- const i = { hook: r, timestamp: Date.now() };
103
- o.lifecycle.push(i), this.bus.emit("lifecycle", { componentId: n, name: o.name, hook: r });
104
- const s = r === "onUnmount" ? "component:unmount" : r === "onBeforeMount" ? "component:mount" : "lifecycle";
105
- if (this.pushTimeline({
106
- type: s,
107
- label: `<${o.name}>.${r}`,
108
- data: { componentId: n, hook: r }
109
- }), r === "onUnmount") {
110
- o.status = "unmounted", this.bus.emit("component:unmount", { ...o }), this.components.delete(n);
111
- for (const [c, h] of this.signals)
112
- h.componentId === n && this.signals.delete(c);
113
- }
114
- }
115
- recordMethodCall(t, r, n, o, i, s) {
116
- const c = this.getInstanceId(t);
117
- this.pushTimeline({
118
- type: "method:call",
119
- label: `${s}.${r}()`,
120
- data: {
121
- componentId: c,
122
- args: n,
123
- result: o,
124
- duration: +i.toFixed(3)
125
- }
126
- });
127
- }
128
- getSignals() {
129
- return [...this.signals.values()];
130
- }
131
- getComponents() {
132
- return [...this.components.values()];
133
- }
134
- getTimeline() {
135
- return [...this.timeline];
136
- }
137
- getSignalsByComponent(t) {
138
- return this.getSignals().filter((r) => r.componentId === t);
139
- }
140
- pushTimeline(t) {
141
- const r = {
142
- id: Lt(),
143
- timestamp: Date.now(),
144
- ...t
145
- };
146
- this.timeline.push(r), this.timeline.length > Wn && this.timeline.shift(), this.bus.emit("timeline:push", r);
147
- }
28
+ var b = class e {
29
+ static _instance = null;
30
+ static get instance() {
31
+ return e._instance ??= new e(), e._instance;
32
+ }
33
+ bus = new g();
34
+ instanceIds = /* @__PURE__ */ new WeakMap();
35
+ signals = /* @__PURE__ */ new Map();
36
+ components = /* @__PURE__ */ new Map();
37
+ timeline = [];
38
+ getInstanceId(e) {
39
+ return this.instanceIds.has(e) || this.instanceIds.set(e, y()), this.instanceIds.get(e);
40
+ }
41
+ registerSignal(e, t, n, r) {
42
+ let i = this.getInstanceId(e), a = `${i}:${t}`, o = {
43
+ id: a,
44
+ label: t,
45
+ componentId: i,
46
+ componentName: r,
47
+ value: n,
48
+ history: [{
49
+ value: n,
50
+ timestamp: Date.now()
51
+ }],
52
+ changedAt: Date.now()
53
+ };
54
+ this.signals.set(a, o), this.bus.emit("signal:registered", o);
55
+ }
56
+ updateSignal(e, t, n, r) {
57
+ let i = `${this.getInstanceId(e)}:${t}`, a = this.signals.get(i);
58
+ if (!a) return;
59
+ let o = [...a.history, {
60
+ value: n,
61
+ timestamp: Date.now()
62
+ }].slice(-20), s = {
63
+ ...a,
64
+ value: n,
65
+ history: o,
66
+ changedAt: Date.now()
67
+ };
68
+ this.signals.set(i, s), this.bus.emit("signal:changed", {
69
+ entry: s,
70
+ oldValue: r
71
+ }), this.pushTimeline({
72
+ type: "signal:change",
73
+ label: `${a.componentName}.${t}`,
74
+ data: {
75
+ old: r,
76
+ new: n,
77
+ signalId: i
78
+ }
79
+ });
80
+ }
81
+ registerComponent(e, t) {
82
+ let n = this.getInstanceId(e), r = {
83
+ id: n,
84
+ name: t,
85
+ renderCount: 0,
86
+ lastRenderDuration: 0,
87
+ mountedAt: Date.now(),
88
+ status: "mounted",
89
+ lifecycle: []
90
+ };
91
+ this.components.set(n, r), this.bus.emit("component:registered", r);
92
+ }
93
+ recordRender(e, t) {
94
+ let n = this.getInstanceId(e), r = this.components.get(n);
95
+ r && (r.renderCount++, r.lastRenderDuration = t, this.bus.emit("component:render", { ...r }), this.pushTimeline({
96
+ type: "component:render",
97
+ label: `<${r.name}>`,
98
+ data: {
99
+ componentId: n,
100
+ duration: +t.toFixed(3),
101
+ renderCount: r.renderCount
102
+ }
103
+ }));
104
+ }
105
+ recordLifecycle(e, t) {
106
+ let n = this.getInstanceId(e), r = this.components.get(n);
107
+ if (!r) return;
108
+ let i = {
109
+ hook: t,
110
+ timestamp: Date.now()
111
+ };
112
+ r.lifecycle.push(i), this.bus.emit("lifecycle", {
113
+ componentId: n,
114
+ name: r.name,
115
+ hook: t
116
+ });
117
+ let a = t === "onUnmount" ? "component:unmount" : t === "onBeforeMount" ? "component:mount" : "lifecycle";
118
+ if (this.pushTimeline({
119
+ type: a,
120
+ label: `<${r.name}>.${t}`,
121
+ data: {
122
+ componentId: n,
123
+ hook: t
124
+ }
125
+ }), t === "onUnmount") {
126
+ r.status = "unmounted", this.bus.emit("component:unmount", { ...r }), this.components.delete(n);
127
+ for (let [e, t] of this.signals) t.componentId === n && this.signals.delete(e);
128
+ }
129
+ }
130
+ recordMethodCall(e, t, n, r, i, a) {
131
+ let o = this.getInstanceId(e);
132
+ this.pushTimeline({
133
+ type: "method:call",
134
+ label: `${a}.${t}()`,
135
+ data: {
136
+ componentId: o,
137
+ args: n,
138
+ result: r,
139
+ duration: +i.toFixed(3)
140
+ }
141
+ });
142
+ }
143
+ getSignals() {
144
+ return [...this.signals.values()];
145
+ }
146
+ getComponents() {
147
+ return [...this.components.values()];
148
+ }
149
+ getTimeline() {
150
+ return [...this.timeline];
151
+ }
152
+ getSignalsByComponent(e) {
153
+ return this.getSignals().filter((t) => t.componentId === e);
154
+ }
155
+ pushTimeline(e) {
156
+ let t = {
157
+ id: y(),
158
+ timestamp: Date.now(),
159
+ ...e
160
+ };
161
+ this.timeline.push(t), this.timeline.length > _ && this.timeline.shift(), this.bus.emit("timeline:push", t);
162
+ }
163
+ }, x = @r() class extends t {
164
+ render() {
165
+ return /* @__PURE__ */ f("div", {
166
+ class: "flex flex-col items-center justify-center gap-2 py-12",
167
+ children: [/* @__PURE__ */ d("span", {
168
+ class: "text-subtle text-[20px] leading-none select-none font-mono",
169
+ children: "—"
170
+ }), /* @__PURE__ */ d("p", {
171
+ class: "text-subtle text-[11px] text-center leading-relaxed max-w-[200px]",
172
+ children: this.props.message
173
+ })]
174
+ });
175
+ }
176
+ }, S = @r() class extends t {
177
+ render() {
178
+ let { children: e, width: t = "280px" } = this.props;
179
+ return /* @__PURE__ */ d("div", {
180
+ class: "shrink-0 border-l border-border flex flex-col overflow-hidden",
181
+ style: { width: t },
182
+ children: e
183
+ });
184
+ }
148
185
  };
149
- Y._instance = null;
150
- let I = Y;
151
- var Jn = Object.create, Le = Object.defineProperty, qn = Object.getOwnPropertyDescriptor, ar = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), sr = (e) => {
152
- throw TypeError(e);
153
- }, Kn = (e, t, r) => t in e ? Le(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Zn = (e, t) => Le(e, "name", { value: t, configurable: !0 }), Qn = (e) => [, , , Jn(e?.[ar("metadata")] ?? null)], Vn = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], lr = (e) => e !== void 0 && typeof e != "function" ? sr("Function expected") : e, ei = (e, t, r, n, o) => ({ kind: Vn[e], name: t, metadata: n, addInitializer: (i) => r._ ? sr("Already initialized") : o.push(lr(i || null)) }), ti = (e, t) => Kn(t, ar("metadata"), e[3]), ri = (e, t, r, n) => {
154
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
155
- return n;
156
- }, oi = (e, t, r, n, o, i) => {
157
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && qn(o, r));
158
- Zn(o, r);
159
- for (var p = n.length - 1; p >= 0; p--)
160
- h = ei(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, lr(s) && (o = s);
161
- return ti(e, o), d && Le(o, r, d), _ ? l ^ 4 ? i : d : o;
162
- }, cr, Ae, dr;
163
- cr = [x()];
164
- class K extends (dr = k) {
165
- render() {
166
- return /* @__PURE__ */ f("div", { class: "flex flex-col items-center justify-center gap-2 py-12", children: [
167
- /* @__PURE__ */ u("span", { class: "text-subtle text-[20px] leading-none select-none font-mono", children: "—" }),
168
- /* @__PURE__ */ u("p", { class: "text-subtle text-[11px] text-center leading-relaxed max-w-[200px]", children: this.props.message })
169
- ] });
170
- }
171
- }
172
- Ae = Qn(dr);
173
- K = oi(Ae, 0, "EmptyState", cr, K);
174
- ri(Ae, 1, K);
175
- var ni = Object.create, Ne = Object.defineProperty, ii = Object.getOwnPropertyDescriptor, pr = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), ur = (e) => {
176
- throw TypeError(e);
177
- }, ai = (e, t, r) => t in e ? Ne(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, si = (e, t) => Ne(e, "name", { value: t, configurable: !0 }), li = (e) => [, , , ni(e?.[pr("metadata")] ?? null)], ci = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], hr = (e) => e !== void 0 && typeof e != "function" ? ur("Function expected") : e, di = (e, t, r, n, o) => ({ kind: ci[e], name: t, metadata: n, addInitializer: (i) => r._ ? ur("Already initialized") : o.push(hr(i || null)) }), pi = (e, t) => ai(t, pr("metadata"), e[3]), ui = (e, t, r, n) => {
178
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
179
- return n;
180
- }, hi = (e, t, r, n, o, i) => {
181
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && ii(o, r));
182
- si(o, r);
183
- for (var p = n.length - 1; p >= 0; p--)
184
- h = di(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, hr(s) && (o = s);
185
- return pi(e, o), d && Ne(o, r, d), _ ? l ^ 4 ? i : d : o;
186
- }, _r, Be, vr;
187
- _r = [x()];
188
- class ae extends (vr = k) {
189
- render() {
190
- const { children: t, width: r = "280px" } = this.props;
191
- return /* @__PURE__ */ u(
192
- "div",
193
- {
194
- class: "shrink-0 border-l border-border flex flex-col overflow-hidden",
195
- style: { width: r },
196
- children: t
197
- }
198
- );
199
- }
200
- }
201
- Be = li(vr);
202
- ae = hi(Be, 0, "SidePanel", _r, ae);
203
- ui(Be, 1, ae);
204
- function Re(e) {
205
- if (e === null) return "null";
206
- if (e === void 0) return "undefined";
207
- if (typeof e == "string") return `"${e}"`;
208
- if (typeof e == "object")
209
- try {
210
- return JSON.stringify(e);
211
- } catch {
212
- return "[object]";
213
- }
214
- return String(e);
215
- }
216
- var _i = Object.create, Ue = Object.defineProperty, vi = Object.getOwnPropertyDescriptor, br = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), gr = (e) => {
217
- throw TypeError(e);
218
- }, bi = (e, t, r) => t in e ? Ue(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, gi = (e, t) => Ue(e, "name", { value: t, configurable: !0 }), fi = (e) => [, , , _i(e?.[br("metadata")] ?? null)], mi = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], fr = (e) => e !== void 0 && typeof e != "function" ? gr("Function expected") : e, xi = (e, t, r, n, o) => ({ kind: mi[e], name: t, metadata: n, addInitializer: (i) => r._ ? gr("Already initialized") : o.push(fr(i || null)) }), wi = (e, t) => bi(t, br("metadata"), e[3]), $i = (e, t, r, n) => {
219
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
220
- return n;
221
- }, yi = (e, t, r, n, o, i) => {
222
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && vi(o, r));
223
- gi(o, r);
224
- for (var p = n.length - 1; p >= 0; p--)
225
- h = xi(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, fr(s) && (o = s);
226
- return wi(e, o), d && Ue(o, r, d), _ ? l ^ 4 ? i : d : o;
227
- }, mr, Ge, xr;
228
- mr = [x()];
229
- class X extends (xr = k) {
230
- render() {
231
- const { k: t, v: r, signal: n } = this.props;
232
- return /* @__PURE__ */ f("div", { class: "flex justify-between items-center px-3 py-2 border-b border-border gap-3", children: [
233
- /* @__PURE__ */ u(
234
- "span",
235
- {
236
- class: `text-[11px] font-mono shrink-0 ${n ? "text-accent" : "text-muted"}`,
237
- children: t
238
- }
239
- ),
240
- /* @__PURE__ */ u("span", { class: "text-[11px] text-text font-mono truncate text-right", children: r })
241
- ] });
242
- }
243
- }
244
- Ge = fi(xr);
245
- X = yi(Ge, 0, "DetailRow", mr, X);
246
- $i(Ge, 1, X);
247
- var Si = Object.create, He = Object.defineProperty, ki = Object.getOwnPropertyDescriptor, wr = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), $r = (e) => {
248
- throw TypeError(e);
249
- }, zi = (e, t, r) => t in e ? He(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Ii = (e, t) => He(e, "name", { value: t, configurable: !0 }), Oi = (e) => [, , , Si(e?.[wr("metadata")] ?? null)], Pi = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], yr = (e) => e !== void 0 && typeof e != "function" ? $r("Function expected") : e, Ci = (e, t, r, n, o) => ({ kind: Pi[e], name: t, metadata: n, addInitializer: (i) => r._ ? $r("Already initialized") : o.push(yr(i || null)) }), Ei = (e, t) => zi(t, wr("metadata"), e[3]), Di = (e, t, r, n) => {
250
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
251
- return n;
252
- }, Mi = (e, t, r, n, o, i) => {
253
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && ki(o, r));
254
- Ii(o, r);
255
- for (var p = n.length - 1; p >= 0; p--)
256
- h = Ci(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, yr(s) && (o = s);
257
- return Ei(e, o), d && He(o, r, d), _ ? l ^ 4 ? i : d : o;
258
- }, Sr, Xe, kr;
259
- Sr = [x()];
260
- class J extends (kr = k) {
261
- render() {
262
- return /* @__PURE__ */ f("div", { class: "border-b border-border", children: [
263
- /* @__PURE__ */ u("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 }),
264
- this.props.children
265
- ] });
266
- }
267
- }
268
- Xe = Oi(kr);
269
- J = Mi(Xe, 0, "DetailSection", Sr, J);
270
- Di(Xe, 1, J);
271
- var Ti = Object.create, We = Object.defineProperty, ji = Object.getOwnPropertyDescriptor, zr = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), Ir = (e) => {
272
- throw TypeError(e);
273
- }, Fi = (e, t, r) => t in e ? We(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Li = (e, t) => We(e, "name", { value: t, configurable: !0 }), Ai = (e) => [, , , Ti(e?.[zr("metadata")] ?? null)], Ni = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], Or = (e) => e !== void 0 && typeof e != "function" ? Ir("Function expected") : e, Bi = (e, t, r, n, o) => ({ kind: Ni[e], name: t, metadata: n, addInitializer: (i) => r._ ? Ir("Already initialized") : o.push(Or(i || null)) }), Ri = (e, t) => Fi(t, zr("metadata"), e[3]), Ui = (e, t, r, n) => {
274
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
275
- return n;
276
- }, Gi = (e, t, r, n, o, i) => {
277
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && ji(o, r));
278
- Li(o, r);
279
- for (var p = n.length - 1; p >= 0; p--)
280
- h = Bi(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, Or(s) && (o = s);
281
- return Ri(e, o), d && We(o, r, d), _ ? l ^ 4 ? i : d : o;
282
- }, Pr, Ye, Cr;
283
- Pr = [x()];
284
- class se extends (Cr = k) {
285
- render() {
286
- const { status: t } = this.props;
287
- return /* @__PURE__ */ u(
288
- "span",
289
- {
290
- class: `inline-block w-[6px] h-[6px] rounded-full shrink-0 ${t === "mounted" ? "bg-success" : "bg-subtle"}`,
291
- style: t === "mounted" ? { boxShadow: "0 0 6px rgba(14,165,122,0.7)" } : void 0
292
- }
293
- );
294
- }
295
- }
296
- Ye = Ai(Cr);
297
- se = Gi(Ye, 0, "StatusDot", Pr, se);
298
- Ui(Ye, 1, se);
299
- var Hi = Object.create, Je = Object.defineProperty, Xi = Object.getOwnPropertyDescriptor, Er = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), Dr = (e) => {
300
- throw TypeError(e);
301
- }, Wi = (e, t, r) => t in e ? Je(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Yi = (e, t) => Je(e, "name", { value: t, configurable: !0 }), Ji = (e) => [, , , Hi(e?.[Er("metadata")] ?? null)], qi = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], Mr = (e) => e !== void 0 && typeof e != "function" ? Dr("Function expected") : e, Ki = (e, t, r, n, o) => ({ kind: qi[e], name: t, metadata: n, addInitializer: (i) => r._ ? Dr("Already initialized") : o.push(Mr(i || null)) }), Zi = (e, t) => Wi(t, Er("metadata"), e[3]), Qi = (e, t, r, n) => {
302
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
303
- return n;
304
- }, Vi = (e, t, r, n, o, i) => {
305
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && Xi(o, r));
306
- Yi(o, r);
307
- for (var p = n.length - 1; p >= 0; p--)
308
- h = Ki(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, Mr(s) && (o = s);
309
- return Zi(e, o), d && Je(o, r, d), _ ? l ^ 4 ? i : d : o;
310
- }, Tr, qe, jr;
311
- Tr = [x()];
312
- class be extends (jr = k) {
313
- render() {
314
- const { entry: t, signals: r } = this.props;
315
- return /* @__PURE__ */ f(ae, { children: [
316
- /* @__PURE__ */ f("div", { class: "px-3 py-2 border-b border-border flex items-center gap-2 bg-bg shrink-0", children: [
317
- /* @__PURE__ */ u(se, { status: t.status }),
318
- /* @__PURE__ */ f("span", { class: "text-accent font-mono text-[11px] font-semibold truncate pl-1", children: [
319
- "<",
320
- t.name,
321
- ">"
322
- ] })
323
- ] }),
324
- /* @__PURE__ */ f("div", { class: "flex-1 overflow-y-auto", children: [
325
- /* @__PURE__ */ f(J, { label: "Stats", children: [
326
- /* @__PURE__ */ u(X, { k: "renders", v: String(t.renderCount) }),
327
- /* @__PURE__ */ u(
328
- X,
329
- {
330
- k: "last render",
331
- v: `${t.lastRenderDuration.toFixed(3)}ms`
332
- }
333
- ),
334
- /* @__PURE__ */ u(X, { k: "status", v: t.status })
335
- ] }),
336
- r.length > 0 && /* @__PURE__ */ u(J, { label: "State", children: r.map((n) => /* @__PURE__ */ u(
337
- X,
338
- {
339
- k: n.label,
340
- v: Re(n.value),
341
- signal: !0
342
- },
343
- n.id
344
- )) }),
345
- t.lifecycle.length > 0 && /* @__PURE__ */ u(J, { label: "Lifecycle", children: [...t.lifecycle].reverse().slice(0, 20).map((n, o) => /* @__PURE__ */ f(
346
- "div",
347
- {
348
- class: "px-3 py-2 flex justify-between items-center border-b border-border",
349
- children: [
350
- /* @__PURE__ */ u("span", { class: "text-[11px] text-text font-mono", children: n.hook }),
351
- /* @__PURE__ */ u("span", { class: "text-[10px] text-subtle tabular-nums", children: new Date(n.timestamp).toLocaleTimeString() })
352
- ]
353
- },
354
- String(o)
355
- )) })
356
- ] })
357
- ] });
358
- }
359
- }
360
- qe = Ji(jr);
361
- be = Vi(qe, 0, "ComponentDetail", Tr, be);
362
- Qi(qe, 1, be);
363
- var ea = Object.create, Ke = Object.defineProperty, ta = Object.getOwnPropertyDescriptor, Fr = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), Lr = (e) => {
364
- throw TypeError(e);
365
- }, ra = (e, t, r) => t in e ? Ke(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, oa = (e, t) => Ke(e, "name", { value: t, configurable: !0 }), na = (e) => [, , , ea(e?.[Fr("metadata")] ?? null)], ia = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], Ar = (e) => e !== void 0 && typeof e != "function" ? Lr("Function expected") : e, aa = (e, t, r, n, o) => ({ kind: ia[e], name: t, metadata: n, addInitializer: (i) => r._ ? Lr("Already initialized") : o.push(Ar(i || null)) }), sa = (e, t) => ra(t, Fr("metadata"), e[3]), la = (e, t, r, n) => {
366
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
367
- return n;
368
- }, ca = (e, t, r, n, o, i) => {
369
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && ta(o, r));
370
- oa(o, r);
371
- for (var p = n.length - 1; p >= 0; p--)
372
- h = aa(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, Ar(s) && (o = s);
373
- return sa(e, o), d && Ke(o, r, d), _ ? l ^ 4 ? i : d : o;
374
- }, Nr, Ze, Br;
375
- Nr = [x()];
376
- class ge extends (Br = k) {
377
- render() {
378
- const { entry: t, selected: r, onClick: n } = this.props;
379
- return /* @__PURE__ */ f(
380
- "div",
381
- {
382
- onClick: n,
383
- class: () => `relative flex items-center gap-2 px-3 py-2 cursor-pointer border-b border-border transition-colors duration-100 ${r() ? "bg-selected" : "hover:bg-section"}`,
384
- children: [
385
- () => r() && /* @__PURE__ */ u("span", { class: "absolute left-0 top-0 bottom-0 w-[2px] bg-accent rounded-r" }),
386
- /* @__PURE__ */ u(se, { status: t.status }),
387
- /* @__PURE__ */ f("span", { class: "text-accent font-mono text-[11px] flex-1 truncate pl-1", children: [
388
- "<",
389
- t.name,
390
- ">"
391
- ] }),
392
- /* @__PURE__ */ f("span", { class: "text-muted text-[11px] tabular-nums", children: [
393
- "×",
394
- t.renderCount
395
- ] }),
396
- /* @__PURE__ */ f(
397
- "span",
398
- {
399
- class: `text-[10px] tabular-nums w-12 text-right ${t.lastRenderDuration > 16 ? "text-warn" : "text-subtle"}`,
400
- children: [
401
- t.lastRenderDuration.toFixed(1),
402
- "ms"
403
- ]
404
- }
405
- )
406
- ]
407
- }
408
- );
409
- }
186
+ //#endregion
187
+ //#region src/utils/format-value.ts
188
+ function C(e) {
189
+ if (e === null) return "null";
190
+ if (e === void 0) return "undefined";
191
+ if (typeof e == "string") return `"${e}"`;
192
+ if (typeof e == "object") try {
193
+ return JSON.stringify(e);
194
+ } catch {
195
+ return "[object]";
196
+ }
197
+ return String(e);
410
198
  }
411
- Ze = na(Br);
412
- ge = ca(Ze, 0, "ComponentRow", Nr, ge);
413
- la(Ze, 1, ge);
414
- var da = Object.create, Qe = Object.defineProperty, pa = Object.getOwnPropertyDescriptor, Rr = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), le = (e) => {
415
- throw TypeError(e);
416
- }, ua = (e, t, r) => t in e ? Qe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, At = (e, t) => Qe(e, "name", { value: t, configurable: !0 }), ha = (e) => [, , , da(e?.[Rr("metadata")] ?? null)], Ur = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], V = (e) => e !== void 0 && typeof e != "function" ? le("Function expected") : e, _a = (e, t, r, n, o) => ({ kind: Ur[e], name: t, metadata: n, addInitializer: (i) => r._ ? le("Already initialized") : o.push(V(i || null)) }), va = (e, t) => ua(t, Rr("metadata"), e[3]), G = (e, t, r, n) => {
417
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) t & 1 ? i[o].call(r) : n = i[o].call(r, n);
418
- return n;
419
- }, Pe = (e, t, r, n, o, i) => {
420
- var s, c, h, l, _, a = t & 7, b = !!(t & 8), d = !!(t & 16), p = a > 3 ? e.length + 1 : a ? b ? 1 : 2 : 0, w = Ur[a + 5], S = a > 3 && (e[p - 1] = []), E = e[p] || (e[p] = []), g = a && (!d && !b && (o = o.prototype), a < 5 && (a > 3 || !d) && pa(a < 4 ? o : { get [r]() {
421
- return Nt(this, i);
422
- }, set [r](v) {
423
- return Bt(this, i, v);
424
- } }, r));
425
- a ? d && a < 4 && At(i, (a > 2 ? "set " : a > 1 ? "get " : "") + r) : At(o, r);
426
- for (var $ = n.length - 1; $ >= 0; $--)
427
- l = _a(a, r, h = {}, e[3], E), a && (l.static = b, l.private = d, _ = l.access = { has: d ? (v) => ba(o, v) : (v) => r in v }, a ^ 3 && (_.get = d ? (v) => (a ^ 1 ? Nt : ga)(v, o, a ^ 4 ? i : g.get) : (v) => v[r]), a > 2 && (_.set = d ? (v, y) => Bt(v, o, y, a ^ 4 ? i : g.set) : (v, y) => v[r] = y)), c = (0, n[$])(a ? a < 4 ? d ? i : g[w] : a > 4 ? void 0 : { get: g.get, set: g.set } : o, l), h._ = 1, a ^ 4 || c === void 0 ? V(c) && (a > 4 ? S.unshift(c) : a ? d ? i = c : g[w] = c : o = c) : typeof c != "object" || c === null ? le("Object expected") : (V(s = c.get) && (g.get = s), V(s = c.set) && (g.set = s), V(s = c.init) && S.unshift(s));
428
- return a || va(e, o), g && Qe(o, r, g), d ? a ^ 4 ? i : g : o;
429
- }, Ve = (e, t, r) => t.has(e) || le("Cannot " + r), ba = (e, t) => Object(t) !== t ? le('Cannot use the "in" operator on this value') : e.has(t), Nt = (e, t, r) => (Ve(e, t, "read from private field"), r ? r.call(e) : t.get(e)), Bt = (e, t, r, n) => (Ve(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r), ga = (e, t, r) => (Ve(e, t, "access private method"), r), Gr, Hr, Xr, Ee, Wr, D;
430
- Wr = [x()];
431
- class W extends (Ee = Q, Xr = [C()], Hr = [C()], Gr = [N()], Ee) {
432
- constructor() {
433
- super(...arguments), this.components = G(D, 8, this, []), G(D, 11, this), this.selectedId = G(D, 12, this, null), G(D, 15, this), this.registry = G(D, 16, this), G(D, 19, this), this._handlers = [];
434
- }
435
- onMount() {
436
- this.components = this.registry.getComponents();
437
- const t = () => {
438
- this.components = this.registry.getComponents();
439
- };
440
- this._handlers = [
441
- "component:registered",
442
- "component:render",
443
- "component:unmount",
444
- "lifecycle",
445
- "signal:registered",
446
- "signal:changed"
447
- ].map((r) => this.registry.bus.on(r, t));
448
- }
449
- onUnmount() {
450
- this._handlers.forEach((t) => {
451
- t();
452
- });
453
- }
454
- render() {
455
- const { registry: t } = this;
456
- return /* @__PURE__ */ f("div", { class: "flex h-full overflow-hidden", children: [
457
- /* @__PURE__ */ f("div", { class: "flex-1 flex flex-col overflow-hidden min-w-0", children: [
458
- /* @__PURE__ */ f("div", { class: "flex items-center px-3 h-7 text-[9px] text-subtle font-bold tracking-[0.12em] uppercase border-b border-border bg-section gap-2 shrink-0", children: [
459
- /* @__PURE__ */ u("span", { class: "flex-1", children: "Component" }),
460
- /* @__PURE__ */ u("span", { children: "Renders" }),
461
- /* @__PURE__ */ u("span", { class: "w-12 text-right", children: "Last" })
462
- ] }),
463
- /* @__PURE__ */ u("div", { class: "flex-1 overflow-y-auto", children: () => this.components.length === 0 ? /* @__PURE__ */ u(K, { message: "No components tracked. Add @Trace() to component classes." }) : this.components.map((r) => /* @__PURE__ */ u(
464
- ge,
465
- {
466
- entry: r,
467
- selected: () => this.selectedId === r.id,
468
- onClick: () => {
469
- this.selectedId = this.selectedId === r.id ? null : r.id;
470
- }
471
- },
472
- r.id
473
- )) })
474
- ] }),
475
- () => {
476
- const r = this.selectedId, n = r ? this.components.find((i) => i.id === r) ?? null : null, o = r ? t.getSignalsByComponent(r) : [];
477
- return n ? /* @__PURE__ */ u(be, { entry: n, signals: o }) : null;
478
- }
479
- ] });
480
- }
481
- }
482
- D = ha(Ee);
483
- Pe(D, 5, "components", Xr, W);
484
- Pe(D, 5, "selectedId", Hr, W);
485
- Pe(D, 5, "registry", Gr, W);
486
- W = Pe(D, 0, "ComponentsTab", Wr, W);
487
- G(D, 1, W);
488
- const fa = {
489
- id: "components",
490
- label: "Components",
491
- component: W
199
+ //#endregion
200
+ //#region src/plugins/components/components/detail-row.tsx
201
+ var w = @r() class extends t {
202
+ render() {
203
+ let { k: e, v: t, signal: n } = this.props;
204
+ return /* @__PURE__ */ f("div", {
205
+ class: "flex justify-between items-center px-3 py-2 border-b border-border gap-3",
206
+ children: [/* @__PURE__ */ d("span", {
207
+ class: `text-[11px] font-mono shrink-0 ${n ? "text-accent" : "text-muted"}`,
208
+ children: e
209
+ }), /* @__PURE__ */ d("span", {
210
+ class: "text-[11px] text-text font-mono truncate text-right",
211
+ children: t
212
+ })]
213
+ });
214
+ }
215
+ }, T = @r() class extends t {
216
+ render() {
217
+ return /* @__PURE__ */ f("div", {
218
+ class: "border-b border-border",
219
+ children: [/* @__PURE__ */ d("div", {
220
+ class: "px-3 py-[4px] text-[9px] text-subtle font-bold tracking-[0.12em] uppercase bg-section border-b border-border",
221
+ children: this.props.label
222
+ }), this.props.children]
223
+ });
224
+ }
225
+ }, E = @r() class extends t {
226
+ render() {
227
+ let { status: e } = this.props;
228
+ return /* @__PURE__ */ d("span", {
229
+ class: `inline-block w-[6px] h-[6px] rounded-full shrink-0 ${e === "mounted" ? "bg-success" : "bg-subtle"}`,
230
+ style: e === "mounted" ? { boxShadow: "0 0 6px rgba(14,165,122,0.7)" } : void 0
231
+ });
232
+ }
233
+ }, te = @r() class extends t {
234
+ render() {
235
+ let { entry: e, signals: t } = this.props;
236
+ return /* @__PURE__ */ f(S, { children: [/* @__PURE__ */ f("div", {
237
+ class: "px-3 py-2 border-b border-border flex items-center gap-2 bg-bg shrink-0",
238
+ children: [/* @__PURE__ */ d(E, { status: e.status }), /* @__PURE__ */ f("span", {
239
+ class: "text-accent font-mono text-[11px] font-semibold truncate pl-1",
240
+ children: [
241
+ "<",
242
+ e.name,
243
+ ">"
244
+ ]
245
+ })]
246
+ }), /* @__PURE__ */ f("div", {
247
+ class: "flex-1 overflow-y-auto",
248
+ children: [
249
+ /* @__PURE__ */ f(T, {
250
+ label: "Stats",
251
+ children: [
252
+ /* @__PURE__ */ d(w, {
253
+ k: "renders",
254
+ v: String(e.renderCount)
255
+ }),
256
+ /* @__PURE__ */ d(w, {
257
+ k: "last render",
258
+ v: `${e.lastRenderDuration.toFixed(3)}ms`
259
+ }),
260
+ /* @__PURE__ */ d(w, {
261
+ k: "status",
262
+ v: e.status
263
+ })
264
+ ]
265
+ }),
266
+ t.length > 0 && /* @__PURE__ */ d(T, {
267
+ label: "State",
268
+ children: t.map((e) => /* @__PURE__ */ d(w, {
269
+ k: e.label,
270
+ v: C(e.value),
271
+ signal: !0
272
+ }, e.id))
273
+ }),
274
+ e.lifecycle.length > 0 && /* @__PURE__ */ d(T, {
275
+ label: "Lifecycle",
276
+ children: [...e.lifecycle].reverse().slice(0, 20).map((e, t) => /* @__PURE__ */ f("div", {
277
+ class: "px-3 py-2 flex justify-between items-center border-b border-border",
278
+ children: [/* @__PURE__ */ d("span", {
279
+ class: "text-[11px] text-text font-mono",
280
+ children: e.hook
281
+ }), /* @__PURE__ */ d("span", {
282
+ class: "text-[10px] text-subtle tabular-nums",
283
+ children: new Date(e.timestamp).toLocaleTimeString()
284
+ })]
285
+ }, String(t)))
286
+ })
287
+ ]
288
+ })] });
289
+ }
290
+ }, ne = @r() class extends t {
291
+ render() {
292
+ let { entry: e, selected: t, onClick: n } = this.props;
293
+ return /* @__PURE__ */ f("div", {
294
+ onClick: n,
295
+ class: () => `relative flex items-center gap-2 px-3 py-2 cursor-pointer border-b border-border transition-colors duration-100 ${t() ? "bg-selected" : "hover:bg-section"}`,
296
+ children: [
297
+ () => t() && /* @__PURE__ */ d("span", { class: "absolute left-0 top-0 bottom-0 w-[2px] bg-accent rounded-r" }),
298
+ /* @__PURE__ */ d(E, { status: e.status }),
299
+ /* @__PURE__ */ f("span", {
300
+ class: "text-accent font-mono text-[11px] flex-1 truncate pl-1",
301
+ children: [
302
+ "<",
303
+ e.name,
304
+ ">"
305
+ ]
306
+ }),
307
+ /* @__PURE__ */ f("span", {
308
+ class: "text-muted text-[11px] tabular-nums",
309
+ children: ["×", e.renderCount]
310
+ }),
311
+ /* @__PURE__ */ f("span", {
312
+ class: `text-[10px] tabular-nums w-12 text-right ${e.lastRenderDuration > 16 ? "text-warn" : "text-subtle"}`,
313
+ children: [e.lastRenderDuration.toFixed(1), "ms"]
314
+ })
315
+ ]
316
+ });
317
+ }
318
+ }, D = {
319
+ id: "components",
320
+ label: "Components",
321
+ component: @r() class extends e {
322
+ @o() components = [];
323
+ @o() selectedId = null;
324
+ @a() registry;
325
+ _handlers = [];
326
+ onMount() {
327
+ this.components = this.registry.getComponents();
328
+ let e = () => {
329
+ this.components = this.registry.getComponents();
330
+ };
331
+ this._handlers = [
332
+ "component:registered",
333
+ "component:render",
334
+ "component:unmount",
335
+ "lifecycle",
336
+ "signal:registered",
337
+ "signal:changed"
338
+ ].map((t) => this.registry.bus.on(t, e));
339
+ }
340
+ onUnmount() {
341
+ this._handlers.forEach((e) => {
342
+ e();
343
+ });
344
+ }
345
+ render() {
346
+ let { registry: e } = this;
347
+ return /* @__PURE__ */ f("div", {
348
+ class: "flex h-full overflow-hidden",
349
+ children: [/* @__PURE__ */ f("div", {
350
+ class: "flex-1 flex flex-col overflow-hidden min-w-0",
351
+ children: [/* @__PURE__ */ f("div", {
352
+ class: "flex items-center px-3 h-7 text-[9px] text-subtle font-bold tracking-[0.12em] uppercase border-b border-border bg-section gap-2 shrink-0",
353
+ children: [
354
+ /* @__PURE__ */ d("span", {
355
+ class: "flex-1",
356
+ children: "Component"
357
+ }),
358
+ /* @__PURE__ */ d("span", { children: "Renders" }),
359
+ /* @__PURE__ */ d("span", {
360
+ class: "w-12 text-right",
361
+ children: "Last"
362
+ })
363
+ ]
364
+ }), /* @__PURE__ */ d("div", {
365
+ class: "flex-1 overflow-y-auto",
366
+ children: () => this.components.length === 0 ? /* @__PURE__ */ d(x, { message: "No components tracked. Add @Trace() to component classes." }) : this.components.map((e) => /* @__PURE__ */ d(ne, {
367
+ entry: e,
368
+ selected: () => this.selectedId === e.id,
369
+ onClick: () => {
370
+ this.selectedId = this.selectedId === e.id ? null : e.id;
371
+ }
372
+ }, e.id))
373
+ })]
374
+ }), () => {
375
+ let t = this.selectedId, n = t ? this.components.find((e) => e.id === t) ?? null : null, r = t ? e.getSignalsByComponent(t) : [];
376
+ return n ? /* @__PURE__ */ d(te, {
377
+ entry: n,
378
+ signals: r
379
+ }) : null;
380
+ }]
381
+ });
382
+ }
383
+ }
384
+ }, O = @r() class extends t {
385
+ render() {
386
+ let { placeholder: e, onInput: t } = this.props;
387
+ return /* @__PURE__ */ d("input", {
388
+ type: "text",
389
+ placeholder: e,
390
+ class: "w-full bg-input border border-border rounded-lg text-text text-[11px] px-3 py-[5px] outline-none box-border transition-shadow duration-150",
391
+ onInput: (e) => {
392
+ t(e.target.value);
393
+ }
394
+ });
395
+ }
396
+ }, k = @r() class extends t {
397
+ render() {
398
+ return /* @__PURE__ */ f("div", {
399
+ class: "border-b border-border",
400
+ children: [/* @__PURE__ */ d("div", {
401
+ class: "px-3 py-[4px] text-[9px] text-subtle font-bold tracking-[0.12em] uppercase bg-section border-b border-border",
402
+ children: this.props.label
403
+ }), this.props.children]
404
+ });
405
+ }
492
406
  };
493
- var ma = Object.create, et = Object.defineProperty, xa = Object.getOwnPropertyDescriptor, Yr = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), Jr = (e) => {
494
- throw TypeError(e);
495
- }, wa = (e, t, r) => t in e ? et(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, $a = (e, t) => et(e, "name", { value: t, configurable: !0 }), ya = (e) => [, , , ma(e?.[Yr("metadata")] ?? null)], Sa = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], qr = (e) => e !== void 0 && typeof e != "function" ? Jr("Function expected") : e, ka = (e, t, r, n, o) => ({ kind: Sa[e], name: t, metadata: n, addInitializer: (i) => r._ ? Jr("Already initialized") : o.push(qr(i || null)) }), za = (e, t) => wa(t, Yr("metadata"), e[3]), Ia = (e, t, r, n) => {
496
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
497
- return n;
498
- }, Oa = (e, t, r, n, o, i) => {
499
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && xa(o, r));
500
- $a(o, r);
501
- for (var p = n.length - 1; p >= 0; p--)
502
- h = ka(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, qr(s) && (o = s);
503
- return za(e, o), d && et(o, r, d), _ ? l ^ 4 ? i : d : o;
504
- }, Kr, tt, Zr;
505
- Kr = [x()];
506
- class fe extends (Zr = k) {
507
- render() {
508
- const { placeholder: t, onInput: r } = this.props;
509
- return /* @__PURE__ */ u(
510
- "input",
511
- {
512
- type: "text",
513
- placeholder: t,
514
- class: "w-full bg-input border border-border rounded-lg text-text text-[11px] px-3 py-[5px] outline-none box-border transition-shadow duration-150",
515
- onInput: (n) => {
516
- r(n.target.value);
517
- }
518
- }
519
- );
520
- }
521
- }
522
- tt = ya(Zr);
523
- fe = Oa(tt, 0, "SearchInput", Kr, fe);
524
- Ia(tt, 1, fe);
525
- var Pa = Object.create, rt = Object.defineProperty, Ca = Object.getOwnPropertyDescriptor, Qr = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), Vr = (e) => {
526
- throw TypeError(e);
527
- }, Ea = (e, t, r) => t in e ? rt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Da = (e, t) => rt(e, "name", { value: t, configurable: !0 }), Ma = (e) => [, , , Pa(e?.[Qr("metadata")] ?? null)], Ta = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], eo = (e) => e !== void 0 && typeof e != "function" ? Vr("Function expected") : e, ja = (e, t, r, n, o) => ({ kind: Ta[e], name: t, metadata: n, addInitializer: (i) => r._ ? Vr("Already initialized") : o.push(eo(i || null)) }), Fa = (e, t) => Ea(t, Qr("metadata"), e[3]), La = (e, t, r, n) => {
528
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
529
- return n;
530
- }, Aa = (e, t, r, n, o, i) => {
531
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && Ca(o, r));
532
- Da(o, r);
533
- for (var p = n.length - 1; p >= 0; p--)
534
- h = ja(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, eo(s) && (o = s);
535
- return Fa(e, o), d && rt(o, r, d), _ ? l ^ 4 ? i : d : o;
536
- }, to, ot, ro;
537
- to = [x()];
538
- class me extends (ro = k) {
539
- render() {
540
- return /* @__PURE__ */ f("div", { class: "border-b border-border", children: [
541
- /* @__PURE__ */ u("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 }),
542
- this.props.children
543
- ] });
544
- }
545
- }
546
- ot = Ma(ro);
547
- me = Aa(ot, 0, "PanelSection", to, me);
548
- La(ot, 1, me);
549
- function nt(e, t) {
550
- const r = t ? ` ${t}` : "", n = Date.now() - e;
551
- return n < 1e3 ? `${n.toString()}ms${r}` : n < 6e4 ? `${(n / 1e3).toFixed(1)}s${r}` : `${Math.floor(n / 6e4).toString()}m${r}`;
552
- }
553
- var Na = Object.create, it = Object.defineProperty, Ba = Object.getOwnPropertyDescriptor, oo = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), no = (e) => {
554
- throw TypeError(e);
555
- }, Ra = (e, t, r) => t in e ? it(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Ua = (e, t) => it(e, "name", { value: t, configurable: !0 }), Ga = (e) => [, , , Na(e?.[oo("metadata")] ?? null)], Ha = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], io = (e) => e !== void 0 && typeof e != "function" ? no("Function expected") : e, Xa = (e, t, r, n, o) => ({ kind: Ha[e], name: t, metadata: n, addInitializer: (i) => r._ ? no("Already initialized") : o.push(io(i || null)) }), Wa = (e, t) => Ra(t, oo("metadata"), e[3]), Ya = (e, t, r, n) => {
556
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
557
- return n;
558
- }, Ja = (e, t, r, n, o, i) => {
559
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && Ba(o, r));
560
- Ua(o, r);
561
- for (var p = n.length - 1; p >= 0; p--)
562
- h = Xa(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, io(s) && (o = s);
563
- return Wa(e, o), d && it(o, r, d), _ ? l ^ 4 ? i : d : o;
564
- }, ao, at, so;
565
- ao = [x()];
566
- class xe extends (so = k) {
567
- render() {
568
- const { entry: t } = this.props;
569
- return /* @__PURE__ */ u(ae, { width: "260px", children: /* @__PURE__ */ u(me, { label: "History", children: /* @__PURE__ */ f("div", { class: "overflow-y-auto", children: [
570
- [...t.history].reverse().map((r, n) => /* @__PURE__ */ f(
571
- "div",
572
- {
573
- class: "px-3 py-2 border-b border-border flex justify-between items-center gap-3",
574
- children: [
575
- /* @__PURE__ */ u("span", { class: "font-mono text-[11px] text-text truncate", children: Re(r.value) }),
576
- /* @__PURE__ */ u("span", { class: "text-[10px] text-subtle shrink-0 tabular-nums", children: nt(r.timestamp, "ago") })
577
- ]
578
- },
579
- String(n)
580
- )),
581
- t.history.length === 0 && /* @__PURE__ */ u("p", { class: "px-3 py-6 text-[11px] text-subtle text-center", children: "No history yet." })
582
- ] }) }) });
583
- }
584
- }
585
- at = Ga(so);
586
- xe = Ja(at, 0, "SignalDetail", ao, xe);
587
- Ya(at, 1, xe);
588
- var qa = Object.create, st = Object.defineProperty, Ka = Object.getOwnPropertyDescriptor, lo = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), co = (e) => {
589
- throw TypeError(e);
590
- }, Za = (e, t, r) => t in e ? st(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Qa = (e, t) => st(e, "name", { value: t, configurable: !0 }), Va = (e) => [, , , qa(e?.[lo("metadata")] ?? null)], es = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], po = (e) => e !== void 0 && typeof e != "function" ? co("Function expected") : e, ts = (e, t, r, n, o) => ({ kind: es[e], name: t, metadata: n, addInitializer: (i) => r._ ? co("Already initialized") : o.push(po(i || null)) }), rs = (e, t) => Za(t, lo("metadata"), e[3]), os = (e, t, r, n) => {
591
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
592
- return n;
593
- }, ns = (e, t, r, n, o, i) => {
594
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && Ka(o, r));
595
- Qa(o, r);
596
- for (var p = n.length - 1; p >= 0; p--)
597
- h = ts(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, po(s) && (o = s);
598
- return rs(e, o), d && st(o, r, d), _ ? l ^ 4 ? i : d : o;
599
- }, uo, lt, ho;
600
- uo = [x()];
601
- class we extends (ho = k) {
602
- render() {
603
- const { entry: t, selected: r, onClick: n } = this.props;
604
- return /* @__PURE__ */ f(
605
- "div",
606
- {
607
- onClick: n,
608
- class: `relative grid grid-cols-[1.2fr_0.8fr_1fr_auto] items-center px-3 py-2 cursor-pointer border-b border-border transition-colors duration-100 ${r ? "bg-selected" : "hover:bg-section"}`,
609
- children: [
610
- r && /* @__PURE__ */ u("span", { class: "absolute left-0 top-0 bottom-0 w-[2px] bg-accent rounded-r" }),
611
- /* @__PURE__ */ u("span", { class: "text-accent font-mono text-[11px] truncate pl-1", children: t.label }),
612
- /* @__PURE__ */ u("span", { class: "text-muted text-[11px] truncate", children: t.componentName }),
613
- /* @__PURE__ */ u("span", { class: "text-text font-mono text-[11px] truncate", children: Re(t.value) }),
614
- /* @__PURE__ */ u("span", { class: "text-subtle text-[10px] text-right tabular-nums", children: nt(t.changedAt, "ago") })
615
- ]
616
- }
617
- );
618
- }
619
- }
620
- lt = Va(ho);
621
- we = ns(lt, 0, "SignalRow", uo, we);
622
- os(lt, 1, we);
623
- var is = Object.create, ct = Object.defineProperty, as = Object.getOwnPropertyDescriptor, _o = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), ce = (e) => {
624
- throw TypeError(e);
625
- }, ss = (e, t, r) => t in e ? ct(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Rt = (e, t) => ct(e, "name", { value: t, configurable: !0 }), ls = (e) => [, , , is(e?.[_o("metadata")] ?? null)], vo = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], ee = (e) => e !== void 0 && typeof e != "function" ? ce("Function expected") : e, cs = (e, t, r, n, o) => ({ kind: vo[e], name: t, metadata: n, addInitializer: (i) => r._ ? ce("Already initialized") : o.push(ee(i || null)) }), ds = (e, t) => ss(t, _o("metadata"), e[3]), j = (e, t, r, n) => {
626
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) t & 1 ? i[o].call(r) : n = i[o].call(r, n);
627
- return n;
628
- }, de = (e, t, r, n, o, i) => {
629
- var s, c, h, l, _, a = t & 7, b = !!(t & 8), d = !!(t & 16), p = a > 3 ? e.length + 1 : a ? b ? 1 : 2 : 0, w = vo[a + 5], S = a > 3 && (e[p - 1] = []), E = e[p] || (e[p] = []), g = a && (!d && !b && (o = o.prototype), a < 5 && (a > 3 || !d) && as(a < 4 ? o : { get [r]() {
630
- return Ut(this, i);
631
- }, set [r](v) {
632
- return Gt(this, i, v);
633
- } }, r));
634
- a ? d && a < 4 && Rt(i, (a > 2 ? "set " : a > 1 ? "get " : "") + r) : Rt(o, r);
635
- for (var $ = n.length - 1; $ >= 0; $--)
636
- l = cs(a, r, h = {}, e[3], E), a && (l.static = b, l.private = d, _ = l.access = { has: d ? (v) => ps(o, v) : (v) => r in v }, a ^ 3 && (_.get = d ? (v) => (a ^ 1 ? Ut : us)(v, o, a ^ 4 ? i : g.get) : (v) => v[r]), a > 2 && (_.set = d ? (v, y) => Gt(v, o, y, a ^ 4 ? i : g.set) : (v, y) => v[r] = y)), c = (0, n[$])(a ? a < 4 ? d ? i : g[w] : a > 4 ? void 0 : { get: g.get, set: g.set } : o, l), h._ = 1, a ^ 4 || c === void 0 ? ee(c) && (a > 4 ? S.unshift(c) : a ? d ? i = c : g[w] = c : o = c) : typeof c != "object" || c === null ? ce("Object expected") : (ee(s = c.get) && (g.get = s), ee(s = c.set) && (g.set = s), ee(s = c.init) && S.unshift(s));
637
- return a || ds(e, o), g && ct(o, r, g), d ? a ^ 4 ? i : g : o;
638
- }, dt = (e, t, r) => t.has(e) || ce("Cannot " + r), ps = (e, t) => Object(t) !== t ? ce('Cannot use the "in" operator on this value') : e.has(t), Ut = (e, t, r) => (dt(e, t, "read from private field"), r ? r.call(e) : t.get(e)), Gt = (e, t, r, n) => (dt(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r), us = (e, t, r) => (dt(e, t, "access private method"), r), bo, go, fo, mo, De, xo, O;
639
- xo = [x()];
640
- class B extends (De = Q, mo = [C()], fo = [C()], go = [C()], bo = [N()], De) {
641
- constructor() {
642
- super(...arguments), this.signals = j(O, 8, this, []), j(O, 11, this), this.search = j(O, 12, this, ""), j(O, 15, this), this.selectedId = j(O, 16, this, null), j(O, 19, this), this.registry = j(O, 20, this), j(O, 23, this), this._handlers = [];
643
- }
644
- onMount() {
645
- this.signals = this.registry.getSignals(), this._handlers = [
646
- this.registry.bus.on("signal:registered", () => {
647
- this.signals = this.registry.getSignals();
648
- }),
649
- this.registry.bus.on("signal:changed", () => {
650
- this.signals = this.registry.getSignals();
651
- })
652
- ];
653
- }
654
- onUnmount() {
655
- this._handlers.forEach((t) => {
656
- t();
657
- });
658
- }
659
- render() {
660
- return /* @__PURE__ */ f("div", { class: "flex h-full overflow-hidden", children: [
661
- /* @__PURE__ */ f("div", { class: "flex-1 flex flex-col overflow-hidden min-w-0", children: [
662
- /* @__PURE__ */ u("div", { class: "px-3 py-2 border-b border-border bg-bg shrink-0", children: /* @__PURE__ */ u(
663
- fe,
664
- {
665
- placeholder: "Search signals…",
666
- onInput: (t) => {
667
- this.search = t;
668
- }
669
- }
670
- ) }),
671
- /* @__PURE__ */ f("div", { class: "grid grid-cols-[1.2fr_0.8fr_1fr_auto] items-center px-3 h-7 text-[9px] text-subtle font-bold tracking-[0.12em] uppercase border-b border-border bg-section gap-2 shrink-0", children: [
672
- /* @__PURE__ */ u("span", { children: "Signal" }),
673
- /* @__PURE__ */ u("span", { children: "Component" }),
674
- /* @__PURE__ */ u("span", { children: "Value" }),
675
- /* @__PURE__ */ u("span", { children: "Age" })
676
- ] }),
677
- /* @__PURE__ */ u("div", { class: "flex-1 overflow-y-auto", children: () => {
678
- const t = this.search.toLowerCase(), r = t === "" ? this.signals : this.signals.filter(
679
- (n) => n.label.toLowerCase().includes(t) || n.componentName.toLowerCase().includes(t)
680
- );
681
- return r.length === 0 ? /* @__PURE__ */ u(
682
- K,
683
- {
684
- message: this.signals.length === 0 ? "No signals tracked. Add @Debug() on top of @State() properties." : "No signals match your search."
685
- }
686
- ) : r.map((n) => /* @__PURE__ */ u(
687
- we,
688
- {
689
- entry: n,
690
- selected: this.selectedId === n.id,
691
- onClick: () => {
692
- this.selectedId = this.selectedId === n.id ? null : n.id;
693
- }
694
- },
695
- n.id
696
- ));
697
- } })
698
- ] }),
699
- () => {
700
- const t = this.selectedId, r = t ? this.signals.find((n) => n.id === t) ?? null : null;
701
- return r ? /* @__PURE__ */ u(xe, { entry: r }) : null;
702
- }
703
- ] });
704
- }
705
- }
706
- O = ls(De);
707
- de(O, 5, "signals", mo, B);
708
- de(O, 5, "search", fo, B);
709
- de(O, 5, "selectedId", go, B);
710
- de(O, 5, "registry", bo, B);
711
- B = de(O, 0, "SignalsTab", xo, B);
712
- j(O, 1, B);
713
- const hs = {
714
- id: "signals",
715
- label: "Signals",
716
- component: B
717
- }, _s = {
718
- "signal:change": { label: "signal", cls: "text-[#9b90e6] bg-[rgba(155,144,230,0.14)]" },
719
- "component:render": { label: "render", cls: "text-[#4ade80] bg-[rgba(74,222,128,0.12)]" },
720
- "component:mount": { label: "mount", cls: "text-[#0ea57a] bg-[rgba(14,165,122,0.14)]" },
721
- "component:unmount": { label: "unmount", cls: "text-[#dc2626] bg-[rgba(220,38,38,0.14)]" },
722
- lifecycle: { label: "lifecycle", cls: "text-[#d97706] bg-[rgba(217,119,6,0.14)]" },
723
- "method:call": { label: "method", cls: "text-[#7c6dd6] bg-[rgba(124,109,214,0.14)]" }
724
- }, vs = [
725
- { value: "all", label: "All" },
726
- { value: "signal:change", label: "Signals" },
727
- { value: "component:render", label: "Renders" },
728
- { value: "component:mount", label: "Mount" },
729
- { value: "lifecycle", label: "Lifecycle" },
730
- { value: "method:call", label: "Methods" }
731
- ];
732
- var bs = Object.create, pt = Object.defineProperty, gs = Object.getOwnPropertyDescriptor, wo = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), $o = (e) => {
733
- throw TypeError(e);
734
- }, fs = (e, t, r) => t in e ? pt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, ms = (e, t) => pt(e, "name", { value: t, configurable: !0 }), xs = (e) => [, , , bs(e?.[wo("metadata")] ?? null)], ws = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], yo = (e) => e !== void 0 && typeof e != "function" ? $o("Function expected") : e, $s = (e, t, r, n, o) => ({ kind: ws[e], name: t, metadata: n, addInitializer: (i) => r._ ? $o("Already initialized") : o.push(yo(i || null)) }), ys = (e, t) => fs(t, wo("metadata"), e[3]), Ss = (e, t, r, n) => {
735
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
736
- return n;
737
- }, ks = (e, t, r, n, o, i) => {
738
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && gs(o, r));
739
- ms(o, r);
740
- for (var p = n.length - 1; p >= 0; p--)
741
- h = $s(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, yo(s) && (o = s);
742
- return ys(e, o), d && pt(o, r, d), _ ? l ^ 4 ? i : d : o;
743
- }, So, ut, ko;
744
- So = [x()];
745
- class $e extends (ko = k) {
746
- render() {
747
- const t = _s[this.props.type];
748
- return /* @__PURE__ */ u(
749
- "span",
750
- {
751
- class: `text-[9px] px-[6px] py-[2px] rounded font-bold uppercase tracking-[0.07em] shrink-0 ${t.cls}`,
752
- children: t.label
753
- }
754
- );
755
- }
407
+ //#endregion
408
+ //#region src/utils/format-time.ts
409
+ function A(e, t) {
410
+ let n = t ? ` ${t}` : "", r = Date.now() - e;
411
+ return r < 1e3 ? `${r.toString()}ms${n}` : r < 6e4 ? `${(r / 1e3).toFixed(1)}s${n}` : `${Math.floor(r / 6e4).toString()}m${n}`;
756
412
  }
757
- ut = xs(ko);
758
- $e = ks(ut, 0, "Badge", So, $e);
759
- Ss(ut, 1, $e);
760
- var zs = Object.create, ht = Object.defineProperty, Is = Object.getOwnPropertyDescriptor, zo = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), pe = (e) => {
761
- throw TypeError(e);
762
- }, Os = (e, t, r) => t in e ? ht(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Ht = (e, t) => ht(e, "name", { value: t, configurable: !0 }), Ps = (e) => [, , , zs(e?.[zo("metadata")] ?? null)], Io = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], te = (e) => e !== void 0 && typeof e != "function" ? pe("Function expected") : e, Cs = (e, t, r, n, o) => ({ kind: Io[e], name: t, metadata: n, addInitializer: (i) => r._ ? pe("Already initialized") : o.push(te(i || null)) }), Es = (e, t) => Os(t, zo("metadata"), e[3]), re = (e, t, r, n) => {
763
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) t & 1 ? i[o].call(r) : n = i[o].call(r, n);
764
- return n;
765
- }, _t = (e, t, r, n, o, i) => {
766
- var s, c, h, l, _, a = t & 7, b = !!(t & 8), d = !!(t & 16), p = a > 3 ? e.length + 1 : a ? b ? 1 : 2 : 0, w = Io[a + 5], S = a > 3 && (e[p - 1] = []), E = e[p] || (e[p] = []), g = a && (!d && !b && (o = o.prototype), a < 5 && (a > 3 || !d) && Is(a < 4 ? o : { get [r]() {
767
- return Xt(this, i);
768
- }, set [r](v) {
769
- return Wt(this, i, v);
770
- } }, r));
771
- a ? d && a < 4 && Ht(i, (a > 2 ? "set " : a > 1 ? "get " : "") + r) : Ht(o, r);
772
- for (var $ = n.length - 1; $ >= 0; $--)
773
- l = Cs(a, r, h = {}, e[3], E), a && (l.static = b, l.private = d, _ = l.access = { has: d ? (v) => Ds(o, v) : (v) => r in v }, a ^ 3 && (_.get = d ? (v) => (a ^ 1 ? Xt : Ms)(v, o, a ^ 4 ? i : g.get) : (v) => v[r]), a > 2 && (_.set = d ? (v, y) => Wt(v, o, y, a ^ 4 ? i : g.set) : (v, y) => v[r] = y)), c = (0, n[$])(a ? a < 4 ? d ? i : g[w] : a > 4 ? void 0 : { get: g.get, set: g.set } : o, l), h._ = 1, a ^ 4 || c === void 0 ? te(c) && (a > 4 ? S.unshift(c) : a ? d ? i = c : g[w] = c : o = c) : typeof c != "object" || c === null ? pe("Object expected") : (te(s = c.get) && (g.get = s), te(s = c.set) && (g.set = s), te(s = c.init) && S.unshift(s));
774
- return a || Es(e, o), g && ht(o, r, g), d ? a ^ 4 ? i : g : o;
775
- }, vt = (e, t, r) => t.has(e) || pe("Cannot " + r), Ds = (e, t) => Object(t) !== t ? pe('Cannot use the "in" operator on this value') : e.has(t), Xt = (e, t, r) => (vt(e, t, "read from private field"), r ? r.call(e) : t.get(e)), Wt = (e, t, r, n) => (vt(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r), Ms = (e, t, r) => (vt(e, t, "access private method"), r), Oo, Po, Me, Co, L;
776
- Co = [x()];
777
- class Z extends (Me = Q, Po = [C()], Oo = [N()], Me) {
778
- constructor() {
779
- super(...arguments), this.open = re(L, 8, this, !1), re(L, 11, this), this.entry = re(L, 12, this), re(L, 15, this);
780
- }
781
- render() {
782
- const t = this.entry;
783
- if (!t) return null;
784
- const r = Object.keys(t.data).length > 0;
785
- return /* @__PURE__ */ f("div", { class: "border-b border-border", children: [
786
- /* @__PURE__ */ f(
787
- "div",
788
- {
789
- onClick: () => {
790
- r && (this.open = !this.open);
791
- },
792
- class: `flex items-center gap-2 px-3 py-2 transition-colors duration-100 ${r ? "cursor-pointer hover:bg-section" : "cursor-default"}`,
793
- children: [
794
- /* @__PURE__ */ u("span", { class: "text-subtle text-[10px] w-10 shrink-0 text-right tabular-nums font-mono", children: nt(t.timestamp) }),
795
- /* @__PURE__ */ u($e, { type: t.type }),
796
- /* @__PURE__ */ u("span", { class: "flex-1 text-text font-mono text-[11px] truncate", children: t.label }),
797
- r && /* @__PURE__ */ u("span", { class: "text-subtle text-[11px] shrink-0 w-4 text-center", children: () => this.open ? "▾" : "▸" })
798
- ]
799
- }
800
- ),
801
- () => this.open && r ? /* @__PURE__ */ u("div", { class: "px-3 py-2 pl-[56px] font-mono text-[11px] bg-section border-t border-border", children: Object.entries(t.data).map(([n, o]) => /* @__PURE__ */ f("div", { class: "flex gap-3 py-[3px]", children: [
802
- /* @__PURE__ */ f("span", { class: "text-accent shrink-0", children: [
803
- n,
804
- ":"
805
- ] }),
806
- /* @__PURE__ */ u("span", { class: "text-muted truncate", children: typeof o == "object" ? JSON.stringify(o) : String(o) })
807
- ] }, n)) }) : null
808
- ] });
809
- }
810
- }
811
- L = Ps(Me);
812
- _t(L, 5, "open", Po, Z);
813
- _t(L, 5, "entry", Oo, Z);
814
- Z = _t(L, 0, "TimelineRow", Co, Z);
815
- re(L, 1, Z);
816
- var Ts = Object.create, bt = Object.defineProperty, js = Object.getOwnPropertyDescriptor, Eo = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), ue = (e) => {
817
- throw TypeError(e);
818
- }, Fs = (e, t, r) => t in e ? bt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Yt = (e, t) => bt(e, "name", { value: t, configurable: !0 }), Ls = (e) => [, , , Ts(e?.[Eo("metadata")] ?? null)], Do = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], oe = (e) => e !== void 0 && typeof e != "function" ? ue("Function expected") : e, As = (e, t, r, n, o) => ({ kind: Do[e], name: t, metadata: n, addInitializer: (i) => r._ ? ue("Already initialized") : o.push(oe(i || null)) }), Ns = (e, t) => Fs(t, Eo("metadata"), e[3]), F = (e, t, r, n) => {
819
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) t & 1 ? i[o].call(r) : n = i[o].call(r, n);
820
- return n;
821
- }, he = (e, t, r, n, o, i) => {
822
- var s, c, h, l, _, a = t & 7, b = !!(t & 8), d = !!(t & 16), p = a > 3 ? e.length + 1 : a ? b ? 1 : 2 : 0, w = Do[a + 5], S = a > 3 && (e[p - 1] = []), E = e[p] || (e[p] = []), g = a && (!d && !b && (o = o.prototype), a < 5 && (a > 3 || !d) && js(a < 4 ? o : { get [r]() {
823
- return Jt(this, i);
824
- }, set [r](v) {
825
- return qt(this, i, v);
826
- } }, r));
827
- a ? d && a < 4 && Yt(i, (a > 2 ? "set " : a > 1 ? "get " : "") + r) : Yt(o, r);
828
- for (var $ = n.length - 1; $ >= 0; $--)
829
- l = As(a, r, h = {}, e[3], E), a && (l.static = b, l.private = d, _ = l.access = { has: d ? (v) => Bs(o, v) : (v) => r in v }, a ^ 3 && (_.get = d ? (v) => (a ^ 1 ? Jt : Rs)(v, o, a ^ 4 ? i : g.get) : (v) => v[r]), a > 2 && (_.set = d ? (v, y) => qt(v, o, y, a ^ 4 ? i : g.set) : (v, y) => v[r] = y)), c = (0, n[$])(a ? a < 4 ? d ? i : g[w] : a > 4 ? void 0 : { get: g.get, set: g.set } : o, l), h._ = 1, a ^ 4 || c === void 0 ? oe(c) && (a > 4 ? S.unshift(c) : a ? d ? i = c : g[w] = c : o = c) : typeof c != "object" || c === null ? ue("Object expected") : (oe(s = c.get) && (g.get = s), oe(s = c.set) && (g.set = s), oe(s = c.init) && S.unshift(s));
830
- return a || Ns(e, o), g && bt(o, r, g), d ? a ^ 4 ? i : g : o;
831
- }, gt = (e, t, r) => t.has(e) || ue("Cannot " + r), Bs = (e, t) => Object(t) !== t ? ue('Cannot use the "in" operator on this value') : e.has(t), Jt = (e, t, r) => (gt(e, t, "read from private field"), r ? r.call(e) : t.get(e)), qt = (e, t, r, n) => (gt(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r), Rs = (e, t, r) => (gt(e, t, "access private method"), r), Mo, To, jo, Fo, Te, Lo, P;
832
- Lo = [x()];
833
- class R extends (Te = Q, Fo = [C()], jo = [C()], To = [C()], Mo = [N()], Te) {
834
- constructor() {
835
- super(...arguments), this.entries = F(P, 8, this, []), F(P, 11, this), this.filter = F(P, 12, this, "all"), F(P, 15, this), this.paused = F(P, 16, this, !1), F(P, 19, this), this.registry = F(P, 20, this), F(P, 23, this), this._handlers = [];
836
- }
837
- onMount() {
838
- this.entries = this.registry.getTimeline(), this._handlers = [
839
- this.registry.bus.on("timeline:push", () => {
840
- this.paused || (this.entries = this.registry.getTimeline());
841
- })
842
- ];
843
- }
844
- onUnmount() {
845
- this._handlers.forEach((t) => {
846
- t();
847
- });
848
- }
849
- render() {
850
- return /* @__PURE__ */ f("div", { class: "flex flex-col h-full overflow-hidden", children: [
851
- /* @__PURE__ */ f("div", { class: "flex items-center gap-[3px] px-2 py-2 border-b border-border bg-bg shrink-0 flex-wrap", children: [
852
- vs.map((t) => /* @__PURE__ */ u(
853
- "button",
854
- {
855
- onClick: () => {
856
- this.filter = t.value;
857
- },
858
- class: () => this.filter === t.value ? "text-[11px] px-2 py-[3px] rounded cursor-pointer font-sans bg-soft text-accent font-semibold" : "text-[11px] px-2 py-[3px] rounded cursor-pointer font-sans text-muted hover:text-text hover:bg-section transition-colors duration-150",
859
- children: t.label
860
- },
861
- t.value
862
- )),
863
- /* @__PURE__ */ u("div", { class: "flex-1" }),
864
- /* @__PURE__ */ u(
865
- "button",
866
- {
867
- onClick: () => {
868
- this.paused && (this.entries = this.registry.getTimeline()), this.paused = !this.paused;
869
- },
870
- class: () => `text-[11px] px-2 py-[3px] rounded cursor-pointer font-sans border border-border transition-colors duration-150 ${this.paused ? "text-warn border-warn" : "text-muted hover:text-text"}`,
871
- children: () => this.paused ? "Resume" : "Pause"
872
- }
873
- ),
874
- /* @__PURE__ */ u(
875
- "button",
876
- {
877
- onClick: () => {
878
- this.entries = [];
879
- },
880
- class: "text-[11px] px-2 py-[3px] rounded cursor-pointer font-sans border border-border text-muted hover:text-text transition-colors duration-150",
881
- children: "Clear"
882
- }
883
- )
884
- ] }),
885
- /* @__PURE__ */ u("div", { class: "flex-1 overflow-y-auto", children: () => {
886
- const t = this.filter, r = t === "all" ? this.entries : this.entries.filter(
887
- (n) => n.type === t || t === "component:mount" && n.type === "component:unmount"
888
- );
889
- return r.length === 0 ? /* @__PURE__ */ u(K, { message: "No events yet. Interact with your app to see the timeline." }) : [...r].reverse().map((n) => /* @__PURE__ */ u(Z, { entry: n }, n.id));
890
- } })
891
- ] });
892
- }
893
- }
894
- P = Ls(Te);
895
- he(P, 5, "entries", Fo, R);
896
- he(P, 5, "filter", jo, R);
897
- he(P, 5, "paused", To, R);
898
- he(P, 5, "registry", Mo, R);
899
- R = he(P, 0, "TimelineTab", Lo, R);
900
- F(P, 1, R);
901
- const Us = {
902
- id: "timeline",
903
- label: "Timeline",
904
- component: R
905
- }, Gs = '*,: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}';
906
- var Hs = Object.create, ft = Object.defineProperty, Xs = Object.getOwnPropertyDescriptor, Ao = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), No = (e) => {
907
- throw TypeError(e);
908
- }, Ws = (e, t, r) => t in e ? ft(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Ys = (e, t) => ft(e, "name", { value: t, configurable: !0 }), Js = (e) => [, , , Hs(e?.[Ao("metadata")] ?? null)], qs = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], Bo = (e) => e !== void 0 && typeof e != "function" ? No("Function expected") : e, Ks = (e, t, r, n, o) => ({ kind: qs[e], name: t, metadata: n, addInitializer: (i) => r._ ? No("Already initialized") : o.push(Bo(i || null)) }), Zs = (e, t) => Ws(t, Ao("metadata"), e[3]), Qs = (e, t, r, n) => {
909
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
910
- return n;
911
- }, Vs = (e, t, r, n, o, i) => {
912
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && Xs(o, r));
913
- Ys(o, r);
914
- for (var p = n.length - 1; p >= 0; p--)
915
- h = Ks(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, Bo(s) && (o = s);
916
- return Zs(e, o), d && ft(o, r, d), _ ? l ^ 4 ? i : d : o;
917
- }, Ro, mt, Uo;
918
- Ro = [x()];
919
- class ye extends (Uo = k) {
920
- render() {
921
- return /* @__PURE__ */ f(
922
- "svg",
923
- {
924
- xmlns: "http://www.w3.org/2000/svg",
925
- width: "24",
926
- height: "24",
927
- viewBox: "0 0 24 24",
928
- fill: "none",
929
- stroke: "currentColor",
930
- "stroke-width": "2",
931
- "stroke-linecap": "round",
932
- "stroke-linejoin": "round",
933
- class: "lucide lucide-ellipsis-vertical-icon lucide-ellipsis-vertical",
934
- children: [
935
- /* @__PURE__ */ u("circle", { cx: "12", cy: "12", r: "1" }),
936
- /* @__PURE__ */ u("circle", { cx: "12", cy: "5", r: "1" }),
937
- /* @__PURE__ */ u("circle", { cx: "12", cy: "19", r: "1" })
938
- ]
939
- }
940
- );
941
- }
942
- }
943
- mt = Js(Uo);
944
- ye = Vs(mt, 0, "EllipsisVerticalIcon", Ro, ye);
945
- Qs(mt, 1, ye);
946
- var el = Object.create, xt = Object.defineProperty, tl = Object.getOwnPropertyDescriptor, Go = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), Ho = (e) => {
947
- throw TypeError(e);
948
- }, rl = (e, t, r) => t in e ? xt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, ol = (e, t) => xt(e, "name", { value: t, configurable: !0 }), nl = (e) => [, , , el(e?.[Go("metadata")] ?? null)], il = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], Xo = (e) => e !== void 0 && typeof e != "function" ? Ho("Function expected") : e, al = (e, t, r, n, o) => ({ kind: il[e], name: t, metadata: n, addInitializer: (i) => r._ ? Ho("Already initialized") : o.push(Xo(i || null)) }), sl = (e, t) => rl(t, Go("metadata"), e[3]), ll = (e, t, r, n) => {
949
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
950
- return n;
951
- }, cl = (e, t, r, n, o, i) => {
952
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && tl(o, r));
953
- ol(o, r);
954
- for (var p = n.length - 1; p >= 0; p--)
955
- h = al(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, Xo(s) && (o = s);
956
- return sl(e, o), d && xt(o, r, d), _ ? l ^ 4 ? i : d : o;
957
- }, Wo, wt, Yo;
958
- Wo = [x()];
959
- class Se extends (Yo = k) {
960
- render() {
961
- return /* @__PURE__ */ f(
962
- "svg",
963
- {
964
- xmlns: "http://www.w3.org/2000/svg",
965
- width: "24",
966
- height: "24",
967
- viewBox: "0 0 24 24",
968
- fill: "none",
969
- stroke: "currentColor",
970
- "stroke-width": "2",
971
- "stroke-linecap": "round",
972
- "stroke-linejoin": "round",
973
- class: "lucide lucide-panel-bottom-icon lucide-panel-bottom",
974
- children: [
975
- /* @__PURE__ */ u("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
976
- /* @__PURE__ */ u("path", { d: "M3 15h18" })
977
- ]
978
- }
979
- );
980
- }
981
- }
982
- wt = nl(Yo);
983
- Se = cl(wt, 0, "PanelBottomIcon", Wo, Se);
984
- ll(wt, 1, Se);
985
- var dl = Object.create, $t = Object.defineProperty, pl = Object.getOwnPropertyDescriptor, Jo = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), qo = (e) => {
986
- throw TypeError(e);
987
- }, ul = (e, t, r) => t in e ? $t(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, hl = (e, t) => $t(e, "name", { value: t, configurable: !0 }), _l = (e) => [, , , dl(e?.[Jo("metadata")] ?? null)], vl = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], Ko = (e) => e !== void 0 && typeof e != "function" ? qo("Function expected") : e, bl = (e, t, r, n, o) => ({ kind: vl[e], name: t, metadata: n, addInitializer: (i) => r._ ? qo("Already initialized") : o.push(Ko(i || null)) }), gl = (e, t) => ul(t, Jo("metadata"), e[3]), fl = (e, t, r, n) => {
988
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
989
- return n;
990
- }, ml = (e, t, r, n, o, i) => {
991
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && pl(o, r));
992
- hl(o, r);
993
- for (var p = n.length - 1; p >= 0; p--)
994
- h = bl(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, Ko(s) && (o = s);
995
- return gl(e, o), d && $t(o, r, d), _ ? l ^ 4 ? i : d : o;
996
- }, Zo, yt, Qo;
997
- Zo = [x()];
998
- class ke extends (Qo = k) {
999
- render() {
1000
- return /* @__PURE__ */ f(
1001
- "svg",
1002
- {
1003
- xmlns: "http://www.w3.org/2000/svg",
1004
- width: "24",
1005
- height: "24",
1006
- viewBox: "0 0 24 24",
1007
- fill: "none",
1008
- stroke: "currentColor",
1009
- "stroke-width": "2",
1010
- "stroke-linecap": "round",
1011
- "stroke-linejoin": "round",
1012
- class: "lucide lucide-panel-left-icon lucide-panel-left",
1013
- children: [
1014
- /* @__PURE__ */ u("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
1015
- /* @__PURE__ */ u("path", { d: "M9 3v18" })
1016
- ]
1017
- }
1018
- );
1019
- }
1020
- }
1021
- yt = _l(Qo);
1022
- ke = ml(yt, 0, "PanelLeftIcon", Zo, ke);
1023
- fl(yt, 1, ke);
1024
- var xl = Object.create, St = Object.defineProperty, wl = Object.getOwnPropertyDescriptor, Vo = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), en = (e) => {
1025
- throw TypeError(e);
1026
- }, $l = (e, t, r) => t in e ? St(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, yl = (e, t) => St(e, "name", { value: t, configurable: !0 }), Sl = (e) => [, , , xl(e?.[Vo("metadata")] ?? null)], kl = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], tn = (e) => e !== void 0 && typeof e != "function" ? en("Function expected") : e, zl = (e, t, r, n, o) => ({ kind: kl[e], name: t, metadata: n, addInitializer: (i) => r._ ? en("Already initialized") : o.push(tn(i || null)) }), Il = (e, t) => $l(t, Vo("metadata"), e[3]), Ol = (e, t, r, n) => {
1027
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
1028
- return n;
1029
- }, Pl = (e, t, r, n, o, i) => {
1030
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && wl(o, r));
1031
- yl(o, r);
1032
- for (var p = n.length - 1; p >= 0; p--)
1033
- h = zl(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, tn(s) && (o = s);
1034
- return Il(e, o), d && St(o, r, d), _ ? l ^ 4 ? i : d : o;
1035
- }, rn, kt, on;
1036
- rn = [x()];
1037
- class ze extends (on = k) {
1038
- render() {
1039
- return /* @__PURE__ */ f(
1040
- "svg",
1041
- {
1042
- xmlns: "http://www.w3.org/2000/svg",
1043
- width: "24",
1044
- height: "24",
1045
- viewBox: "0 0 24 24",
1046
- fill: "none",
1047
- stroke: "currentColor",
1048
- "stroke-width": "2",
1049
- "stroke-linecap": "round",
1050
- "stroke-linejoin": "round",
1051
- class: "lucide lucide-panel-right-icon lucide-panel-right",
1052
- children: [
1053
- /* @__PURE__ */ u("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
1054
- /* @__PURE__ */ u("path", { d: "M15 3v18" })
1055
- ]
1056
- }
1057
- );
1058
- }
1059
- }
1060
- kt = Sl(on);
1061
- ze = Pl(kt, 0, "PanelRightIcon", rn, ze);
1062
- Ol(kt, 1, ze);
1063
- var Cl = Object.create, zt = Object.defineProperty, El = Object.getOwnPropertyDescriptor, nn = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), an = (e) => {
1064
- throw TypeError(e);
1065
- }, Dl = (e, t, r) => t in e ? zt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Ml = (e, t) => zt(e, "name", { value: t, configurable: !0 }), Tl = (e) => [, , , Cl(e?.[nn("metadata")] ?? null)], jl = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], sn = (e) => e !== void 0 && typeof e != "function" ? an("Function expected") : e, Fl = (e, t, r, n, o) => ({ kind: jl[e], name: t, metadata: n, addInitializer: (i) => r._ ? an("Already initialized") : o.push(sn(i || null)) }), Ll = (e, t) => Dl(t, nn("metadata"), e[3]), Al = (e, t, r, n) => {
1066
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
1067
- return n;
1068
- }, Nl = (e, t, r, n, o, i) => {
1069
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && El(o, r));
1070
- Ml(o, r);
1071
- for (var p = n.length - 1; p >= 0; p--)
1072
- h = Fl(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, sn(s) && (o = s);
1073
- return Ll(e, o), d && zt(o, r, d), _ ? l ^ 4 ? i : d : o;
1074
- }, ln, It, cn;
1075
- ln = [x()];
1076
- class Ie extends (cn = k) {
1077
- render() {
1078
- return /* @__PURE__ */ f(
1079
- "svg",
1080
- {
1081
- xmlns: "http://www.w3.org/2000/svg",
1082
- width: "24",
1083
- height: "24",
1084
- viewBox: "0 0 24 24",
1085
- fill: "none",
1086
- stroke: "currentColor",
1087
- "stroke-width": "2",
1088
- "stroke-linecap": "round",
1089
- "stroke-linejoin": "round",
1090
- class: "lucide lucide-panel-top-icon lucide-panel-top",
1091
- children: [
1092
- /* @__PURE__ */ u("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
1093
- /* @__PURE__ */ u("path", { d: "M3 9h18" })
1094
- ]
1095
- }
1096
- );
1097
- }
1098
- }
1099
- It = Tl(cn);
1100
- Ie = Nl(It, 0, "PanelTopIcon", ln, Ie);
1101
- Al(It, 1, Ie);
1102
- var Bl = Object.create, Ot = Object.defineProperty, Rl = Object.getOwnPropertyDescriptor, dn = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), pn = (e) => {
1103
- throw TypeError(e);
1104
- }, Ul = (e, t, r) => t in e ? Ot(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Gl = (e, t) => Ot(e, "name", { value: t, configurable: !0 }), Hl = (e) => [, , , Bl(e?.[dn("metadata")] ?? null)], Xl = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], un = (e) => e !== void 0 && typeof e != "function" ? pn("Function expected") : e, Wl = (e, t, r, n, o) => ({ kind: Xl[e], name: t, metadata: n, addInitializer: (i) => r._ ? pn("Already initialized") : o.push(un(i || null)) }), Yl = (e, t) => Ul(t, dn("metadata"), e[3]), Jl = (e, t, r, n) => {
1105
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
1106
- return n;
1107
- }, ql = (e, t, r, n, o, i) => {
1108
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && Rl(o, r));
1109
- Gl(o, r);
1110
- for (var p = n.length - 1; p >= 0; p--)
1111
- h = Wl(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, un(s) && (o = s);
1112
- return Yl(e, o), d && Ot(o, r, d), _ ? l ^ 4 ? i : d : o;
1113
- }, hn, Pt, _n;
1114
- hn = [x()];
1115
- class Oe extends (_n = k) {
1116
- render() {
1117
- return /* @__PURE__ */ f(
1118
- "svg",
1119
- {
1120
- xmlns: "http://www.w3.org/2000/svg",
1121
- width: "24",
1122
- height: "24",
1123
- viewBox: "0 0 24 24",
1124
- fill: "none",
1125
- stroke: "currentColor",
1126
- "stroke-width": "2",
1127
- "stroke-linecap": "round",
1128
- "stroke-linejoin": "round",
1129
- class: "lucide lucide-x-icon lucide-x",
1130
- children: [
1131
- /* @__PURE__ */ u("path", { d: "M18 6 6 18" }),
1132
- /* @__PURE__ */ u("path", { d: "m6 6 12 12" })
1133
- ]
1134
- }
1135
- );
1136
- }
1137
- }
1138
- Pt = Hl(_n);
1139
- Oe = ql(Pt, 0, "XIcon", hn, Oe);
1140
- Jl(Pt, 1, Oe);
1141
- var Kl = Object.create, Ct = Object.defineProperty, Zl = Object.getOwnPropertyDescriptor, vn = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), bn = (e) => {
1142
- throw TypeError(e);
1143
- }, Ql = (e, t, r) => t in e ? Ct(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Vl = (e, t) => Ct(e, "name", { value: t, configurable: !0 }), ec = (e) => [, , , Kl(e?.[vn("metadata")] ?? null)], tc = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], gn = (e) => e !== void 0 && typeof e != "function" ? bn("Function expected") : e, rc = (e, t, r, n, o) => ({ kind: tc[e], name: t, metadata: n, addInitializer: (i) => r._ ? bn("Already initialized") : o.push(gn(i || null)) }), oc = (e, t) => Ql(t, vn("metadata"), e[3]), nc = (e, t, r, n) => {
1144
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) i[o].call(r);
1145
- return n;
1146
- }, ic = (e, t, r, n, o, i) => {
1147
- var s, c, h, l = t & 7, _ = !1, a = 0, b = e[a] || (e[a] = []), d = l && (o = o.prototype, l < 5 && (l > 3 || !_) && Zl(o, r));
1148
- Vl(o, r);
1149
- for (var p = n.length - 1; p >= 0; p--)
1150
- h = rc(l, r, c = {}, e[3], b), s = (0, n[p])(o, h), c._ = 1, gn(s) && (o = s);
1151
- return oc(e, o), d && Ct(o, r, d), _ ? l ^ 4 ? i : d : o;
1152
- }, fn, Et, mn;
1153
- fn = [x()];
1154
- class q extends (mn = k) {
1155
- render() {
1156
- const { title: t, active: r, icon: n, onClick: o } = this.props;
1157
- return /* @__PURE__ */ u(
1158
- "button",
1159
- {
1160
- title: t,
1161
- onClick: o,
1162
- class: () => `w-[22px] h-[22px] flex items-center justify-center rounded-md text-[11px] cursor-pointer transition-colors duration-150 ${(typeof r == "function" ? r() : r) ? "text-accent bg-soft color-white" : "text-subtle hover:color-muted hover:bg-section"}`,
1163
- children: /* @__PURE__ */ u(n, {})
1164
- }
1165
- );
1166
- }
1167
- }
1168
- Et = ec(mn);
1169
- q = ic(Et, 0, "IconButton", fn, q);
1170
- nc(Et, 1, q);
1171
- var ac = Object.create, Dt = Object.defineProperty, sc = Object.getOwnPropertyDescriptor, xn = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), _e = (e) => {
1172
- throw TypeError(e);
1173
- }, lc = (e, t, r) => t in e ? Dt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Kt = (e, t) => Dt(e, "name", { value: t, configurable: !0 }), cc = (e) => [, , , ac(e?.[xn("metadata")] ?? null)], wn = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], ne = (e) => e !== void 0 && typeof e != "function" ? _e("Function expected") : e, dc = (e, t, r, n, o) => ({ kind: wn[e], name: t, metadata: n, addInitializer: (i) => r._ ? _e("Already initialized") : o.push(ne(i || null)) }), pc = (e, t) => lc(t, xn("metadata"), e[3]), z = (e, t, r, n) => {
1174
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) t & 1 ? i[o].call(r) : n = i[o].call(r, n);
1175
- return n;
1176
- }, A = (e, t, r, n, o, i) => {
1177
- var s, c, h, l, _, a = t & 7, b = !!(t & 8), d = !!(t & 16), p = a > 3 ? e.length + 1 : a ? b ? 1 : 2 : 0, w = wn[a + 5], S = a > 3 && (e[p - 1] = []), E = e[p] || (e[p] = []), g = a && (!d && !b && (o = o.prototype), a < 5 && (a > 3 || !d) && sc(a < 4 ? o : { get [r]() {
1178
- return Zt(this, i);
1179
- }, set [r](v) {
1180
- return Qt(this, i, v);
1181
- } }, r));
1182
- a ? d && a < 4 && Kt(i, (a > 2 ? "set " : a > 1 ? "get " : "") + r) : Kt(o, r);
1183
- for (var $ = n.length - 1; $ >= 0; $--)
1184
- l = dc(a, r, h = {}, e[3], E), a && (l.static = b, l.private = d, _ = l.access = { has: d ? (v) => uc(o, v) : (v) => r in v }, a ^ 3 && (_.get = d ? (v) => (a ^ 1 ? Zt : hc)(v, o, a ^ 4 ? i : g.get) : (v) => v[r]), a > 2 && (_.set = d ? (v, y) => Qt(v, o, y, a ^ 4 ? i : g.set) : (v, y) => v[r] = y)), c = (0, n[$])(a ? a < 4 ? d ? i : g[w] : a > 4 ? void 0 : { get: g.get, set: g.set } : o, l), h._ = 1, a ^ 4 || c === void 0 ? ne(c) && (a > 4 ? S.unshift(c) : a ? d ? i = c : g[w] = c : o = c) : typeof c != "object" || c === null ? _e("Object expected") : (ne(s = c.get) && (g.get = s), ne(s = c.set) && (g.set = s), ne(s = c.init) && S.unshift(s));
1185
- return a || pc(e, o), g && Dt(o, r, g), d ? a ^ 4 ? i : g : o;
1186
- }, Mt = (e, t, r) => t.has(e) || _e("Cannot " + r), uc = (e, t) => Object(t) !== t ? _e('Cannot use the "in" operator on this value') : e.has(t), Zt = (e, t, r) => (Mt(e, t, "read from private field"), r ? r.call(e) : t.get(e)), Qt = (e, t, r, n) => (Mt(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r), hc = (e, t, r) => (Mt(e, t, "access private method"), r), $n, yn, Sn, kn, zn, In, On, Pn, je, Cn, m;
1187
- const Vt = 180, _c = 300, er = 240, vc = 380, bc = {
1188
- bottom: Se,
1189
- top: Ie,
1190
- left: ke,
1191
- right: ze
413
+ //#endregion
414
+ //#region src/plugins/signals/components/signal-detail.tsx
415
+ var j = @r() class extends t {
416
+ render() {
417
+ let { entry: e } = this.props;
418
+ return /* @__PURE__ */ d(S, {
419
+ width: "260px",
420
+ children: /* @__PURE__ */ d(k, {
421
+ label: "History",
422
+ children: /* @__PURE__ */ f("div", {
423
+ class: "overflow-y-auto",
424
+ children: [[...e.history].reverse().map((e, t) => /* @__PURE__ */ f("div", {
425
+ class: "px-3 py-2 border-b border-border flex justify-between items-center gap-3",
426
+ children: [/* @__PURE__ */ d("span", {
427
+ class: "font-mono text-[11px] text-text truncate",
428
+ children: C(e.value)
429
+ }), /* @__PURE__ */ d("span", {
430
+ class: "text-[10px] text-subtle shrink-0 tabular-nums",
431
+ children: A(e.timestamp, "ago")
432
+ })]
433
+ }, String(t))), e.history.length === 0 && /* @__PURE__ */ d("p", {
434
+ class: "px-3 py-6 text-[11px] text-subtle text-center",
435
+ children: "No history yet."
436
+ })]
437
+ })
438
+ })
439
+ });
440
+ }
441
+ }, M = @r() class extends t {
442
+ render() {
443
+ let { entry: e, selected: t, onClick: n } = this.props;
444
+ return /* @__PURE__ */ f("div", {
445
+ onClick: n,
446
+ class: `relative grid grid-cols-[1.2fr_0.8fr_1fr_auto] items-center px-3 py-2 cursor-pointer border-b border-border transition-colors duration-100 ${t ? "bg-selected" : "hover:bg-section"}`,
447
+ children: [
448
+ t && /* @__PURE__ */ d("span", { class: "absolute left-0 top-0 bottom-0 w-[2px] bg-accent rounded-r" }),
449
+ /* @__PURE__ */ d("span", {
450
+ class: "text-accent font-mono text-[11px] truncate pl-1",
451
+ children: e.label
452
+ }),
453
+ /* @__PURE__ */ d("span", {
454
+ class: "text-muted text-[11px] truncate",
455
+ children: e.componentName
456
+ }),
457
+ /* @__PURE__ */ d("span", {
458
+ class: "text-text font-mono text-[11px] truncate",
459
+ children: C(e.value)
460
+ }),
461
+ /* @__PURE__ */ d("span", {
462
+ class: "text-subtle text-[10px] text-right tabular-nums",
463
+ children: A(e.changedAt, "ago")
464
+ })
465
+ ]
466
+ });
467
+ }
468
+ }, N = {
469
+ id: "signals",
470
+ label: "Signals",
471
+ component: @r() class extends e {
472
+ @o() signals = [];
473
+ @o() search = "";
474
+ @o() selectedId = null;
475
+ @a() registry;
476
+ _handlers = [];
477
+ onMount() {
478
+ this.signals = this.registry.getSignals(), this._handlers = [this.registry.bus.on("signal:registered", () => {
479
+ this.signals = this.registry.getSignals();
480
+ }), this.registry.bus.on("signal:changed", () => {
481
+ this.signals = this.registry.getSignals();
482
+ })];
483
+ }
484
+ onUnmount() {
485
+ this._handlers.forEach((e) => {
486
+ e();
487
+ });
488
+ }
489
+ render() {
490
+ return /* @__PURE__ */ f("div", {
491
+ class: "flex h-full overflow-hidden",
492
+ children: [/* @__PURE__ */ f("div", {
493
+ class: "flex-1 flex flex-col overflow-hidden min-w-0",
494
+ children: [
495
+ /* @__PURE__ */ d("div", {
496
+ class: "px-3 py-2 border-b border-border bg-bg shrink-0",
497
+ children: /* @__PURE__ */ d(O, {
498
+ placeholder: "Search signals…",
499
+ onInput: (e) => {
500
+ this.search = e;
501
+ }
502
+ })
503
+ }),
504
+ /* @__PURE__ */ f("div", {
505
+ class: "grid grid-cols-[1.2fr_0.8fr_1fr_auto] items-center px-3 h-7 text-[9px] text-subtle font-bold tracking-[0.12em] uppercase border-b border-border bg-section gap-2 shrink-0",
506
+ children: [
507
+ /* @__PURE__ */ d("span", { children: "Signal" }),
508
+ /* @__PURE__ */ d("span", { children: "Component" }),
509
+ /* @__PURE__ */ d("span", { children: "Value" }),
510
+ /* @__PURE__ */ d("span", { children: "Age" })
511
+ ]
512
+ }),
513
+ /* @__PURE__ */ d("div", {
514
+ class: "flex-1 overflow-y-auto",
515
+ children: () => {
516
+ let e = this.search.toLowerCase(), t = e === "" ? this.signals : this.signals.filter((t) => t.label.toLowerCase().includes(e) || t.componentName.toLowerCase().includes(e));
517
+ return t.length === 0 ? /* @__PURE__ */ d(x, { message: this.signals.length === 0 ? "No signals tracked. Add @Debug() on top of @State() properties." : "No signals match your search." }) : t.map((e) => /* @__PURE__ */ d(M, {
518
+ entry: e,
519
+ selected: this.selectedId === e.id,
520
+ onClick: () => {
521
+ this.selectedId = this.selectedId === e.id ? null : e.id;
522
+ }
523
+ }, e.id));
524
+ }
525
+ })
526
+ ]
527
+ }), () => {
528
+ let e = this.selectedId, t = e ? this.signals.find((t) => t.id === e) ?? null : null;
529
+ return t ? /* @__PURE__ */ d(j, { entry: t }) : null;
530
+ }]
531
+ });
532
+ }
533
+ }
534
+ }, P = {
535
+ "signal:change": {
536
+ label: "signal",
537
+ cls: "text-[#9b90e6] bg-[rgba(155,144,230,0.14)]"
538
+ },
539
+ "component:render": {
540
+ label: "render",
541
+ cls: "text-[#4ade80] bg-[rgba(74,222,128,0.12)]"
542
+ },
543
+ "component:mount": {
544
+ label: "mount",
545
+ cls: "text-[#0ea57a] bg-[rgba(14,165,122,0.14)]"
546
+ },
547
+ "component:unmount": {
548
+ label: "unmount",
549
+ cls: "text-[#dc2626] bg-[rgba(220,38,38,0.14)]"
550
+ },
551
+ lifecycle: {
552
+ label: "lifecycle",
553
+ cls: "text-[#d97706] bg-[rgba(217,119,6,0.14)]"
554
+ },
555
+ "method:call": {
556
+ label: "method",
557
+ cls: "text-[#7c6dd6] bg-[rgba(124,109,214,0.14)]"
558
+ }
559
+ }, F = [
560
+ {
561
+ value: "all",
562
+ label: "All"
563
+ },
564
+ {
565
+ value: "signal:change",
566
+ label: "Signals"
567
+ },
568
+ {
569
+ value: "component:render",
570
+ label: "Renders"
571
+ },
572
+ {
573
+ value: "component:mount",
574
+ label: "Mount"
575
+ },
576
+ {
577
+ value: "lifecycle",
578
+ label: "Lifecycle"
579
+ },
580
+ {
581
+ value: "method:call",
582
+ label: "Methods"
583
+ }
584
+ ], I = @r() class extends t {
585
+ render() {
586
+ let e = P[this.props.type];
587
+ return /* @__PURE__ */ d("span", {
588
+ class: `text-[9px] px-[6px] py-[2px] rounded font-bold uppercase tracking-[0.07em] shrink-0 ${e.cls}`,
589
+ children: e.label
590
+ });
591
+ }
592
+ }, L = @r() class extends e {
593
+ @o() open = !1;
594
+ @a() entry;
595
+ render() {
596
+ let e = this.entry;
597
+ if (!e) return null;
598
+ let t = Object.keys(e.data).length > 0;
599
+ return /* @__PURE__ */ f("div", {
600
+ class: "border-b border-border",
601
+ children: [/* @__PURE__ */ f("div", {
602
+ onClick: () => {
603
+ t && (this.open = !this.open);
604
+ },
605
+ class: `flex items-center gap-2 px-3 py-2 transition-colors duration-100 ${t ? "cursor-pointer hover:bg-section" : "cursor-default"}`,
606
+ children: [
607
+ /* @__PURE__ */ d("span", {
608
+ class: "text-subtle text-[10px] w-10 shrink-0 text-right tabular-nums font-mono",
609
+ children: A(e.timestamp)
610
+ }),
611
+ /* @__PURE__ */ d(I, { type: e.type }),
612
+ /* @__PURE__ */ d("span", {
613
+ class: "flex-1 text-text font-mono text-[11px] truncate",
614
+ children: e.label
615
+ }),
616
+ t && /* @__PURE__ */ d("span", {
617
+ class: "text-subtle text-[11px] shrink-0 w-4 text-center",
618
+ children: () => this.open ? "▾" : "▸"
619
+ })
620
+ ]
621
+ }), () => this.open && t ? /* @__PURE__ */ d("div", {
622
+ class: "px-3 py-2 pl-[56px] font-mono text-[11px] bg-section border-t border-border",
623
+ children: Object.entries(e.data).map(([e, t]) => /* @__PURE__ */ f("div", {
624
+ class: "flex gap-3 py-[3px]",
625
+ children: [/* @__PURE__ */ f("span", {
626
+ class: "text-accent shrink-0",
627
+ children: [e, ":"]
628
+ }), /* @__PURE__ */ d("span", {
629
+ class: "text-muted truncate",
630
+ children: typeof t == "object" ? JSON.stringify(t) : String(t)
631
+ })]
632
+ }, e))
633
+ }) : null]
634
+ });
635
+ }
636
+ }, R = {
637
+ id: "timeline",
638
+ label: "Timeline",
639
+ component: @r() class extends e {
640
+ @o() entries = [];
641
+ @o() filter = "all";
642
+ @o() paused = !1;
643
+ @a() registry;
644
+ _handlers = [];
645
+ onMount() {
646
+ this.entries = this.registry.getTimeline(), this._handlers = [this.registry.bus.on("timeline:push", () => {
647
+ this.paused || (this.entries = this.registry.getTimeline());
648
+ })];
649
+ }
650
+ onUnmount() {
651
+ this._handlers.forEach((e) => {
652
+ e();
653
+ });
654
+ }
655
+ render() {
656
+ return /* @__PURE__ */ f("div", {
657
+ class: "flex flex-col h-full overflow-hidden",
658
+ children: [/* @__PURE__ */ f("div", {
659
+ class: "flex items-center gap-[3px] px-2 py-2 border-b border-border bg-bg shrink-0 flex-wrap",
660
+ children: [
661
+ F.map((e) => /* @__PURE__ */ d("button", {
662
+ onClick: () => {
663
+ this.filter = e.value;
664
+ },
665
+ class: () => this.filter === e.value ? "text-[11px] px-2 py-[3px] rounded cursor-pointer font-sans bg-soft text-accent font-semibold" : "text-[11px] px-2 py-[3px] rounded cursor-pointer font-sans text-muted hover:text-text hover:bg-section transition-colors duration-150",
666
+ children: e.label
667
+ }, e.value)),
668
+ /* @__PURE__ */ d("div", { class: "flex-1" }),
669
+ /* @__PURE__ */ d("button", {
670
+ onClick: () => {
671
+ this.paused && (this.entries = this.registry.getTimeline()), this.paused = !this.paused;
672
+ },
673
+ class: () => `text-[11px] px-2 py-[3px] rounded cursor-pointer font-sans border border-border transition-colors duration-150 ${this.paused ? "text-warn border-warn" : "text-muted hover:text-text"}`,
674
+ children: () => this.paused ? "Resume" : "Pause"
675
+ }),
676
+ /* @__PURE__ */ d("button", {
677
+ onClick: () => {
678
+ this.entries = [];
679
+ },
680
+ class: "text-[11px] px-2 py-[3px] rounded cursor-pointer font-sans border border-border text-muted hover:text-text transition-colors duration-150",
681
+ children: "Clear"
682
+ })
683
+ ]
684
+ }), /* @__PURE__ */ d("div", {
685
+ class: "flex-1 overflow-y-auto",
686
+ children: () => {
687
+ let e = this.filter, t = e === "all" ? this.entries : this.entries.filter((t) => t.type === e || e === "component:mount" && t.type === "component:unmount");
688
+ return t.length === 0 ? /* @__PURE__ */ d(x, { message: "No events yet. Interact with your app to see the timeline." }) : [...t].reverse().map((e) => /* @__PURE__ */ d(L, { entry: e }, e.id));
689
+ }
690
+ })]
691
+ });
692
+ }
693
+ }
694
+ }, z = "*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}: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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}", B = @r() class extends t {
695
+ render() {
696
+ return /* @__PURE__ */ f("svg", {
697
+ xmlns: "http://www.w3.org/2000/svg",
698
+ width: "24",
699
+ height: "24",
700
+ viewBox: "0 0 24 24",
701
+ fill: "none",
702
+ stroke: "currentColor",
703
+ "stroke-width": "2",
704
+ "stroke-linecap": "round",
705
+ "stroke-linejoin": "round",
706
+ class: "lucide lucide-ellipsis-vertical-icon lucide-ellipsis-vertical",
707
+ children: [
708
+ /* @__PURE__ */ d("circle", {
709
+ cx: "12",
710
+ cy: "12",
711
+ r: "1"
712
+ }),
713
+ /* @__PURE__ */ d("circle", {
714
+ cx: "12",
715
+ cy: "5",
716
+ r: "1"
717
+ }),
718
+ /* @__PURE__ */ d("circle", {
719
+ cx: "12",
720
+ cy: "19",
721
+ r: "1"
722
+ })
723
+ ]
724
+ });
725
+ }
726
+ }, V = @r() class extends t {
727
+ render() {
728
+ return /* @__PURE__ */ f("svg", {
729
+ xmlns: "http://www.w3.org/2000/svg",
730
+ width: "24",
731
+ height: "24",
732
+ viewBox: "0 0 24 24",
733
+ fill: "none",
734
+ stroke: "currentColor",
735
+ "stroke-width": "2",
736
+ "stroke-linecap": "round",
737
+ "stroke-linejoin": "round",
738
+ class: "lucide lucide-panel-bottom-icon lucide-panel-bottom",
739
+ children: [/* @__PURE__ */ d("rect", {
740
+ width: "18",
741
+ height: "18",
742
+ x: "3",
743
+ y: "3",
744
+ rx: "2"
745
+ }), /* @__PURE__ */ d("path", { d: "M3 15h18" })]
746
+ });
747
+ }
748
+ }, H = @r() class extends t {
749
+ render() {
750
+ return /* @__PURE__ */ f("svg", {
751
+ xmlns: "http://www.w3.org/2000/svg",
752
+ width: "24",
753
+ height: "24",
754
+ viewBox: "0 0 24 24",
755
+ fill: "none",
756
+ stroke: "currentColor",
757
+ "stroke-width": "2",
758
+ "stroke-linecap": "round",
759
+ "stroke-linejoin": "round",
760
+ class: "lucide lucide-panel-left-icon lucide-panel-left",
761
+ children: [/* @__PURE__ */ d("rect", {
762
+ width: "18",
763
+ height: "18",
764
+ x: "3",
765
+ y: "3",
766
+ rx: "2"
767
+ }), /* @__PURE__ */ d("path", { d: "M9 3v18" })]
768
+ });
769
+ }
770
+ }, U = @r() class extends t {
771
+ render() {
772
+ return /* @__PURE__ */ f("svg", {
773
+ xmlns: "http://www.w3.org/2000/svg",
774
+ width: "24",
775
+ height: "24",
776
+ viewBox: "0 0 24 24",
777
+ fill: "none",
778
+ stroke: "currentColor",
779
+ "stroke-width": "2",
780
+ "stroke-linecap": "round",
781
+ "stroke-linejoin": "round",
782
+ class: "lucide lucide-panel-right-icon lucide-panel-right",
783
+ children: [/* @__PURE__ */ d("rect", {
784
+ width: "18",
785
+ height: "18",
786
+ x: "3",
787
+ y: "3",
788
+ rx: "2"
789
+ }), /* @__PURE__ */ d("path", { d: "M15 3v18" })]
790
+ });
791
+ }
792
+ }, re = @r() class extends t {
793
+ render() {
794
+ return /* @__PURE__ */ f("svg", {
795
+ xmlns: "http://www.w3.org/2000/svg",
796
+ width: "24",
797
+ height: "24",
798
+ viewBox: "0 0 24 24",
799
+ fill: "none",
800
+ stroke: "currentColor",
801
+ "stroke-width": "2",
802
+ "stroke-linecap": "round",
803
+ "stroke-linejoin": "round",
804
+ class: "lucide lucide-panel-top-icon lucide-panel-top",
805
+ children: [/* @__PURE__ */ d("rect", {
806
+ width: "18",
807
+ height: "18",
808
+ x: "3",
809
+ y: "3",
810
+ rx: "2"
811
+ }), /* @__PURE__ */ d("path", { d: "M3 9h18" })]
812
+ });
813
+ }
814
+ }, W = @r() class extends t {
815
+ render() {
816
+ return /* @__PURE__ */ f("svg", {
817
+ xmlns: "http://www.w3.org/2000/svg",
818
+ width: "24",
819
+ height: "24",
820
+ viewBox: "0 0 24 24",
821
+ fill: "none",
822
+ stroke: "currentColor",
823
+ "stroke-width": "2",
824
+ "stroke-linecap": "round",
825
+ "stroke-linejoin": "round",
826
+ class: "lucide lucide-x-icon lucide-x",
827
+ children: [/* @__PURE__ */ d("path", { d: "M18 6 6 18" }), /* @__PURE__ */ d("path", { d: "m6 6 12 12" })]
828
+ });
829
+ }
830
+ }, G = @r() class extends t {
831
+ render() {
832
+ let { title: e, active: t, icon: n, onClick: r } = this.props;
833
+ return /* @__PURE__ */ d("button", {
834
+ title: e,
835
+ onClick: r,
836
+ class: () => `w-[22px] h-[22px] flex items-center justify-center rounded-md text-[11px] cursor-pointer transition-colors duration-150 ${(typeof t == "function" ? t() : t) ? "text-accent bg-soft color-white" : "text-subtle hover:color-muted hover:bg-section"}`,
837
+ children: /* @__PURE__ */ d(n, {})
838
+ });
839
+ }
840
+ }, K = 180, q = 300, J = 240, Y = 380, X = {
841
+ bottom: V,
842
+ top: re,
843
+ left: H,
844
+ right: U
845
+ }, ie = @r() class extends e {
846
+ @o() activeTab = "";
847
+ @o() dock = "bottom";
848
+ @o() dockMenuOpen = !1;
849
+ @o() bottomSize = q;
850
+ @o() vertSize = Y;
851
+ @a() plugins = [];
852
+ @a() registry;
853
+ @i("onClose") handleClose() {}
854
+ onMount() {
855
+ this.plugins.length > 0 && (this.activeTab = this.plugins[0].id);
856
+ }
857
+ handleMouseDown(e) {
858
+ e.preventDefault();
859
+ let t = e.clientX, n = e.clientY, r = this.dock, i = r === "bottom" || r === "top" ? this.bottomSize : this.vertSize, a = (e) => {
860
+ let r = this.dock;
861
+ r === "bottom" ? this.bottomSize = Math.max(K, Math.min(window.innerHeight * .85, i + (n - e.clientY))) : r === "top" ? this.bottomSize = Math.max(K, Math.min(window.innerHeight * .85, i + (e.clientY - n))) : r === "left" ? this.vertSize = Math.max(J, Math.min(window.innerWidth * .6, i + (e.clientX - t))) : this.vertSize = Math.max(J, Math.min(window.innerWidth * .6, i + (t - e.clientX)));
862
+ }, o = () => {
863
+ document.removeEventListener("mousemove", a), document.removeEventListener("mouseup", o);
864
+ };
865
+ document.addEventListener("mousemove", a), document.addEventListener("mouseup", o);
866
+ }
867
+ render() {
868
+ return /* @__PURE__ */ f("div", {
869
+ class: () => {
870
+ let e = this.dock;
871
+ return e === "top" ? "flex flex-col-reverse fixed top-0 left-0 w-full z-[2147483647]" : e === "left" ? "flex flex-row-reverse fixed left-0 top-0 h-screen z-[2147483647]" : e === "right" ? "flex fixed right-0 top-0 h-screen z-[2147483647]" : "flex flex-col fixed bottom-0 left-0 w-full z-[2147483647]";
872
+ },
873
+ children: [/* @__PURE__ */ d("div", {
874
+ class: () => {
875
+ let e = this.dock;
876
+ return e === "bottom" || e === "top" ? "h-1 cursor-[ns-resize] bg-transparent hover:bg-accent transition-colors duration-200" : "w-1 cursor-[ew-resize] bg-transparent hover:bg-accent transition-colors duration-200";
877
+ },
878
+ onMouseDown: (e) => {
879
+ this.handleMouseDown(e);
880
+ }
881
+ }), /* @__PURE__ */ d("div", {
882
+ class: () => {
883
+ let e = this.dock;
884
+ return e === "top" ? "w-full h-full bg-bg border-b border-border" : e === "left" ? "w-full h-full bg-bg border-r border-border" : e === "right" ? "w-full h-full bg-bg border-l border-border" : "w-full h-full bg-bg border-t border-border";
885
+ },
886
+ style: () => {
887
+ let e = this.dock;
888
+ return e === "bottom" || e === "top" ? { height: `${this.bottomSize.toString()}px` } : { width: `${this.vertSize.toString()}px` };
889
+ },
890
+ children: /* @__PURE__ */ f("div", {
891
+ class: "flex flex-col flex-1 w-full h-full overflow-hidden",
892
+ children: [/* @__PURE__ */ f("div", {
893
+ class: "flex h-10 items-stretch border-b border-border bg-header shrink-0 px-2 gap-[2px]",
894
+ children: [
895
+ /* @__PURE__ */ f("div", {
896
+ class: "flex items-center gap-[6px] pr-3 mr-[2px] border-r border-border shrink-0",
897
+ children: [/* @__PURE__ */ d("img", {
898
+ class: "h-[13px] w-[13px]",
899
+ src: m
900
+ }), /* @__PURE__ */ d("span", {
901
+ class: "text-[10px] font-bold text-accent tracking-widest uppercase",
902
+ children: "praxisjs"
903
+ })]
904
+ }),
905
+ /* @__PURE__ */ d("div", {
906
+ class: "flex items-stretch flex-1",
907
+ children: () => this.plugins.map((e) => /* @__PURE__ */ f("button", {
908
+ class: () => this.activeTab === e.id ? "relative flex items-center px-3 text-[11px] font-semibold text-accent cursor-pointer" : "flex items-center px-3 text-[11px] text-muted cursor-pointer hover:text-text transition-colors duration-150",
909
+ onClick: () => {
910
+ this.activeTab = e.id;
911
+ },
912
+ children: [e.label, () => this.activeTab === e.id ? /* @__PURE__ */ d("span", { class: "absolute bottom-0 left-0 right-0 h-[2px] bg-accent" }) : null]
913
+ }, e.id))
914
+ }),
915
+ /* @__PURE__ */ f("div", {
916
+ class: "flex items-center gap-[2px] shrink-0",
917
+ children: [
918
+ /* @__PURE__ */ f("div", {
919
+ class: "relative",
920
+ children: [/* @__PURE__ */ d(G, {
921
+ title: "Dock position",
922
+ icon: B,
923
+ active: () => this.dockMenuOpen,
924
+ onClick: () => {
925
+ this.dockMenuOpen = !this.dockMenuOpen;
926
+ }
927
+ }), () => this.dockMenuOpen ? /* @__PURE__ */ d("div", {
928
+ class: "absolute right-0 top-full mt-1 flex gap-[2px] bg-bg border border-border rounded-md shadow-lg p-1 z-10",
929
+ children: [
930
+ "bottom",
931
+ "top",
932
+ "left",
933
+ "right"
934
+ ].map((e) => /* @__PURE__ */ d(G, {
935
+ title: `Dock ${e}`,
936
+ active: () => this.dock === e,
937
+ icon: X[e],
938
+ onClick: () => {
939
+ this.dock = e, this.dockMenuOpen = !1;
940
+ }
941
+ }, e))
942
+ }) : null]
943
+ }),
944
+ /* @__PURE__ */ d("div", { class: "w-px h-3 bg-border mx-1" }),
945
+ /* @__PURE__ */ d(G, {
946
+ title: "Close",
947
+ icon: W,
948
+ onClick: () => {
949
+ this.handleClose();
950
+ }
951
+ })
952
+ ]
953
+ })
954
+ ]
955
+ }), /* @__PURE__ */ d("div", {
956
+ class: "flex-1 overflow-hidden flex flex-col",
957
+ children: () => {
958
+ let e = this.plugins.find((e) => e.id === this.activeTab)?.component;
959
+ return e ? /* @__PURE__ */ d(e, { registry: this.registry }) : null;
960
+ }
961
+ })]
962
+ })
963
+ })]
964
+ });
965
+ }
966
+ }, ae = [
967
+ N,
968
+ D,
969
+ R
970
+ ], Z = @r() class extends e {
971
+ @o() open = !1;
972
+ @a() plugins = [];
973
+ @a() registry;
974
+ render() {
975
+ return /* @__PURE__ */ d("div", { children: () => this.open ? /* @__PURE__ */ d(ie, {
976
+ plugins: this.plugins,
977
+ registry: this.registry,
978
+ onClose: () => {
979
+ this.open = !1;
980
+ }
981
+ }) : /* @__PURE__ */ f("button", {
982
+ onClick: () => {
983
+ this.open = !0;
984
+ },
985
+ 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)]",
986
+ children: [/* @__PURE__ */ d("img", {
987
+ class: "h-[13px] w-[13px]",
988
+ src: m
989
+ }), /* @__PURE__ */ d("span", {
990
+ class: "text-[10px] font-bold text-accent tracking-widest uppercase",
991
+ children: "devtools"
992
+ })]
993
+ }) });
994
+ }
995
+ }, oe = {
996
+ plugins: [...ae],
997
+ host: null,
998
+ cleanup: null,
999
+ init(e = {}) {
1000
+ if (this.host) return;
1001
+ e.plugins && (this.plugins = e.plugins), this.plugins.forEach((e) => e.setup?.(b.instance));
1002
+ let t = document.createElement("div");
1003
+ t.id = "praxisjs-devtools", document.body.appendChild(t), this.host = t;
1004
+ let n = t.attachShadow({ mode: "open" }), r = document.createElement("style");
1005
+ r.textContent = z + h, n.appendChild(r);
1006
+ let i = document.createElement("div");
1007
+ n.appendChild(i), this.cleanup = p(() => /* @__PURE__ */ d(Z, {
1008
+ plugins: this.plugins,
1009
+ registry: b.instance
1010
+ }), i);
1011
+ },
1012
+ registerPlugin(e) {
1013
+ this.plugins.find((t) => t.id === e.id) || (e.setup?.(b.instance), this.plugins.push(e), this.remount());
1014
+ },
1015
+ get registry() {
1016
+ return b.instance;
1017
+ },
1018
+ remount() {
1019
+ if (!this.host) return;
1020
+ let e = this.host.shadowRoot.querySelector("div:last-child");
1021
+ this.cleanup?.(), this.cleanup = p(() => /* @__PURE__ */ d(Z, {
1022
+ plugins: this.plugins,
1023
+ registry: b.instance
1024
+ }), e);
1025
+ }
1192
1026
  };
1193
- Cn = [x()];
1194
- class T extends (je = Q, Pn = [C()], On = [C()], In = [C()], zn = [C()], kn = [C()], Sn = [N()], yn = [N()], $n = [Ln("onClose")], je) {
1195
- constructor() {
1196
- super(...arguments), z(m, 5, this), this.activeTab = z(m, 8, this, ""), z(m, 11, this), this.dock = z(m, 12, this, "bottom"), z(m, 15, this), this.dockMenuOpen = z(m, 16, this, !1), z(m, 19, this), this.bottomSize = z(m, 20, this, _c), z(m, 23, this), this.vertSize = z(m, 24, this, vc), z(m, 27, this), this.plugins = z(m, 28, this, []), z(m, 31, this), this.registry = z(m, 32, this), z(m, 35, this);
1197
- }
1198
- handleClose() {
1199
- }
1200
- onMount() {
1201
- this.plugins.length > 0 && (this.activeTab = this.plugins[0].id);
1202
- }
1203
- handleMouseDown(t) {
1204
- t.preventDefault();
1205
- const r = t.clientX, n = t.clientY, o = this.dock, i = o === "bottom" || o === "top" ? this.bottomSize : this.vertSize, s = (h) => {
1206
- const l = this.dock;
1207
- l === "bottom" ? this.bottomSize = Math.max(
1208
- Vt,
1209
- Math.min(
1210
- window.innerHeight * 0.85,
1211
- i + (n - h.clientY)
1212
- )
1213
- ) : l === "top" ? this.bottomSize = Math.max(
1214
- Vt,
1215
- Math.min(
1216
- window.innerHeight * 0.85,
1217
- i + (h.clientY - n)
1218
- )
1219
- ) : l === "left" ? this.vertSize = Math.max(
1220
- er,
1221
- Math.min(window.innerWidth * 0.6, i + (h.clientX - r))
1222
- ) : this.vertSize = Math.max(
1223
- er,
1224
- Math.min(window.innerWidth * 0.6, i + (r - h.clientX))
1225
- );
1226
- }, c = () => {
1227
- document.removeEventListener("mousemove", s), document.removeEventListener("mouseup", c);
1228
- };
1229
- document.addEventListener("mousemove", s), document.addEventListener("mouseup", c);
1230
- }
1231
- render() {
1232
- return /* @__PURE__ */ f(
1233
- "div",
1234
- {
1235
- class: () => {
1236
- const t = this.dock;
1237
- return t === "top" ? "flex flex-col-reverse fixed top-0 left-0 w-full z-[2147483647]" : t === "left" ? "flex flex-row-reverse fixed left-0 top-0 h-screen z-[2147483647]" : t === "right" ? "flex fixed right-0 top-0 h-screen z-[2147483647]" : "flex flex-col fixed bottom-0 left-0 w-full z-[2147483647]";
1238
- },
1239
- children: [
1240
- /* @__PURE__ */ u(
1241
- "div",
1242
- {
1243
- class: () => {
1244
- const t = this.dock;
1245
- return t === "bottom" || t === "top" ? "h-1 cursor-[ns-resize] bg-transparent hover:bg-accent transition-colors duration-200" : "w-1 cursor-[ew-resize] bg-transparent hover:bg-accent transition-colors duration-200";
1246
- },
1247
- onMouseDown: (t) => {
1248
- this.handleMouseDown(t);
1249
- }
1250
- }
1251
- ),
1252
- /* @__PURE__ */ u(
1253
- "div",
1254
- {
1255
- class: () => {
1256
- const t = this.dock;
1257
- return t === "top" ? "w-full h-full bg-bg border-b border-border" : t === "left" ? "w-full h-full bg-bg border-r border-border" : t === "right" ? "w-full h-full bg-bg border-l border-border" : "w-full h-full bg-bg border-t border-border";
1258
- },
1259
- style: () => {
1260
- const t = this.dock;
1261
- return t === "bottom" || t === "top" ? { height: `${this.bottomSize.toString()}px` } : { width: `${this.vertSize.toString()}px` };
1262
- },
1263
- children: /* @__PURE__ */ f("div", { class: "flex flex-col flex-1 w-full h-full overflow-hidden", children: [
1264
- /* @__PURE__ */ f("div", { class: "flex h-10 items-stretch border-b border-border bg-header shrink-0 px-2 gap-[2px]", children: [
1265
- /* @__PURE__ */ f("div", { class: "flex items-center gap-[6px] pr-3 mr-[2px] border-r border-border shrink-0", children: [
1266
- /* @__PURE__ */ u("img", { class: "h-[13px] w-[13px]", src: ir }),
1267
- /* @__PURE__ */ u("span", { class: "text-[10px] font-bold text-accent tracking-widest uppercase", children: "praxisjs" })
1268
- ] }),
1269
- /* @__PURE__ */ u("div", { class: "flex items-stretch flex-1", children: () => this.plugins.map((t) => /* @__PURE__ */ f(
1270
- "button",
1271
- {
1272
- class: () => this.activeTab === t.id ? "relative flex items-center px-3 text-[11px] font-semibold text-accent cursor-pointer" : "flex items-center px-3 text-[11px] text-muted cursor-pointer hover:text-text transition-colors duration-150",
1273
- onClick: () => {
1274
- this.activeTab = t.id;
1275
- },
1276
- children: [
1277
- t.label,
1278
- () => this.activeTab === t.id ? /* @__PURE__ */ u("span", { class: "absolute bottom-0 left-0 right-0 h-[2px] bg-accent" }) : null
1279
- ]
1280
- },
1281
- t.id
1282
- )) }),
1283
- /* @__PURE__ */ f("div", { class: "flex items-center gap-[2px] shrink-0", children: [
1284
- /* @__PURE__ */ f("div", { class: "relative", children: [
1285
- /* @__PURE__ */ u(
1286
- q,
1287
- {
1288
- title: "Dock position",
1289
- icon: ye,
1290
- active: () => this.dockMenuOpen,
1291
- onClick: () => {
1292
- this.dockMenuOpen = !this.dockMenuOpen;
1293
- }
1294
- }
1295
- ),
1296
- () => this.dockMenuOpen ? /* @__PURE__ */ u("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(
1297
- (t) => /* @__PURE__ */ u(
1298
- q,
1299
- {
1300
- title: `Dock ${t}`,
1301
- active: () => this.dock === t,
1302
- icon: bc[t],
1303
- onClick: () => {
1304
- this.dock = t, this.dockMenuOpen = !1;
1305
- }
1306
- },
1307
- t
1308
- )
1309
- ) }) : null
1310
- ] }),
1311
- /* @__PURE__ */ u("div", { class: "w-px h-3 bg-border mx-1" }),
1312
- /* @__PURE__ */ u(
1313
- q,
1314
- {
1315
- title: "Close",
1316
- icon: Oe,
1317
- onClick: () => {
1318
- this.handleClose();
1319
- }
1320
- }
1321
- )
1322
- ] })
1323
- ] }),
1324
- /* @__PURE__ */ u("div", { class: "flex-1 overflow-hidden flex flex-col", children: () => {
1325
- const r = this.plugins.find(
1326
- (n) => n.id === this.activeTab
1327
- )?.component;
1328
- return r ? /* @__PURE__ */ u(r, { registry: this.registry }) : null;
1329
- } })
1330
- ] })
1331
- }
1332
- )
1333
- ]
1334
- }
1335
- );
1336
- }
1027
+ //#endregion
1028
+ //#region src/decorators/debug.ts
1029
+ function Q(e) {
1030
+ return typeof e == "function" && typeof e.subscribe == "function" && !("set" in e);
1337
1031
  }
1338
- m = cc(je);
1339
- A(m, 1, "handleClose", $n, T);
1340
- A(m, 5, "activeTab", Pn, T);
1341
- A(m, 5, "dock", On, T);
1342
- A(m, 5, "dockMenuOpen", In, T);
1343
- A(m, 5, "bottomSize", zn, T);
1344
- A(m, 5, "vertSize", kn, T);
1345
- A(m, 5, "plugins", Sn, T);
1346
- A(m, 5, "registry", yn, T);
1347
- T = A(m, 0, "Panel", Cn, T);
1348
- z(m, 1, T);
1349
- var gc = Object.create, Tt = Object.defineProperty, fc = Object.getOwnPropertyDescriptor, En = (e, t) => (t = Symbol[e]) ? t : /* @__PURE__ */ Symbol.for("Symbol." + e), ve = (e) => {
1350
- throw TypeError(e);
1351
- }, mc = (e, t, r) => t in e ? Tt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, tr = (e, t) => Tt(e, "name", { value: t, configurable: !0 }), xc = (e) => [, , , gc(e?.[En("metadata")] ?? null)], Dn = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], ie = (e) => e !== void 0 && typeof e != "function" ? ve("Function expected") : e, wc = (e, t, r, n, o) => ({ kind: Dn[e], name: t, metadata: n, addInitializer: (i) => r._ ? ve("Already initialized") : o.push(ie(i || null)) }), $c = (e, t) => mc(t, En("metadata"), e[3]), H = (e, t, r, n) => {
1352
- for (var o = 0, i = e[t >> 1], s = i && i.length; o < s; o++) t & 1 ? i[o].call(r) : n = i[o].call(r, n);
1353
- return n;
1354
- }, Ce = (e, t, r, n, o, i) => {
1355
- var s, c, h, l, _, a = t & 7, b = !!(t & 8), d = !!(t & 16), p = a > 3 ? e.length + 1 : a ? b ? 1 : 2 : 0, w = Dn[a + 5], S = a > 3 && (e[p - 1] = []), E = e[p] || (e[p] = []), g = a && (!d && !b && (o = o.prototype), a < 5 && (a > 3 || !d) && fc(a < 4 ? o : { get [r]() {
1356
- return rr(this, i);
1357
- }, set [r](v) {
1358
- return or(this, i, v);
1359
- } }, r));
1360
- a ? d && a < 4 && tr(i, (a > 2 ? "set " : a > 1 ? "get " : "") + r) : tr(o, r);
1361
- for (var $ = n.length - 1; $ >= 0; $--)
1362
- l = wc(a, r, h = {}, e[3], E), a && (l.static = b, l.private = d, _ = l.access = { has: d ? (v) => yc(o, v) : (v) => r in v }, a ^ 3 && (_.get = d ? (v) => (a ^ 1 ? rr : Sc)(v, o, a ^ 4 ? i : g.get) : (v) => v[r]), a > 2 && (_.set = d ? (v, y) => or(v, o, y, a ^ 4 ? i : g.set) : (v, y) => v[r] = y)), c = (0, n[$])(a ? a < 4 ? d ? i : g[w] : a > 4 ? void 0 : { get: g.get, set: g.set } : o, l), h._ = 1, a ^ 4 || c === void 0 ? ie(c) && (a > 4 ? S.unshift(c) : a ? d ? i = c : g[w] = c : o = c) : typeof c != "object" || c === null ? ve("Object expected") : (ie(s = c.get) && (g.get = s), ie(s = c.set) && (g.set = s), ie(s = c.init) && S.unshift(s));
1363
- return a || $c(e, o), g && Tt(o, r, g), d ? a ^ 4 ? i : g : o;
1364
- }, jt = (e, t, r) => t.has(e) || ve("Cannot " + r), yc = (e, t) => Object(t) !== t ? ve('Cannot use the "in" operator on this value') : e.has(t), rr = (e, t, r) => (jt(e, t, "read from private field"), r ? r.call(e) : t.get(e)), or = (e, t, r, n) => (jt(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r), Sc = (e, t, r) => (jt(e, t, "access private method"), r), Mn, Tn, jn, Fe, Fn, M;
1365
- const kc = [
1366
- hs,
1367
- fa,
1368
- Us
1369
- ];
1370
- Fn = [x()];
1371
- class U extends (Fe = Q, jn = [C()], Tn = [N()], Mn = [N()], Fe) {
1372
- constructor() {
1373
- super(...arguments), this.open = H(M, 8, this, !1), H(M, 11, this), this.plugins = H(M, 12, this, []), H(M, 15, this), this.registry = H(M, 16, this), H(M, 19, this);
1374
- }
1375
- render() {
1376
- return /* @__PURE__ */ u("div", { children: () => this.open ? /* @__PURE__ */ u(
1377
- T,
1378
- {
1379
- plugins: this.plugins,
1380
- registry: this.registry,
1381
- onClose: () => {
1382
- this.open = !1;
1383
- }
1384
- }
1385
- ) : /* @__PURE__ */ f(
1386
- "button",
1387
- {
1388
- onClick: () => {
1389
- this.open = !0;
1390
- },
1391
- 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)]",
1392
- children: [
1393
- /* @__PURE__ */ u("img", { class: "h-[13px] w-[13px]", src: ir }),
1394
- /* @__PURE__ */ u("span", { class: "text-[10px] font-bold text-accent tracking-widest uppercase", children: "devtools" })
1395
- ]
1396
- }
1397
- ) });
1398
- }
1399
- }
1400
- M = xc(Fe);
1401
- Ce(M, 5, "open", jn, U);
1402
- Ce(M, 5, "plugins", Tn, U);
1403
- Ce(M, 5, "registry", Mn, U);
1404
- U = Ce(M, 0, "DevToolsApp", Fn, U);
1405
- H(M, 1, U);
1406
- const Tc = {
1407
- plugins: [...kc],
1408
- host: null,
1409
- cleanup: null,
1410
- init(e = {}) {
1411
- if (this.host) return;
1412
- e.plugins && (this.plugins = e.plugins), this.plugins.forEach((i) => i.setup?.(I.instance));
1413
- const t = document.createElement("div");
1414
- t.id = "praxisjs-devtools", document.body.appendChild(t), this.host = t;
1415
- const r = t.attachShadow({ mode: "open" }), n = document.createElement("style");
1416
- n.textContent = Gs + Hn, r.appendChild(n);
1417
- const o = document.createElement("div");
1418
- r.appendChild(o), this.cleanup = Ft(
1419
- () => /* @__PURE__ */ u(U, { plugins: this.plugins, registry: I.instance }),
1420
- o
1421
- );
1422
- },
1423
- registerPlugin(e) {
1424
- this.plugins.find((t) => t.id === e.id) || (e.setup?.(I.instance), this.plugins.push(e), this.remount());
1425
- },
1426
- get registry() {
1427
- return I.instance;
1428
- },
1429
- remount() {
1430
- if (!this.host) return;
1431
- const t = this.host.shadowRoot.querySelector("div:last-child");
1432
- this.cleanup?.(), this.cleanup = Ft(
1433
- () => /* @__PURE__ */ u(U, { plugins: this.plugins, registry: I.instance }),
1434
- t
1435
- );
1436
- }
1437
- };
1438
- function nr(e) {
1439
- return typeof e == "function" && typeof e.subscribe == "function" && !("set" in e);
1032
+ function $(e = {}) {
1033
+ return function(t, n) {
1034
+ let r = e.label ?? n.name;
1035
+ if (n.kind === "method") {
1036
+ let e = t;
1037
+ u({ wrap(t, n, i) {
1038
+ return function(...t) {
1039
+ let n = this.constructor.name, i = performance.now(), a, o = !1;
1040
+ try {
1041
+ a = e.apply(this, t);
1042
+ } catch (e) {
1043
+ throw o = !0, a = e, e;
1044
+ } finally {
1045
+ let e = performance.now() - i;
1046
+ b.instance.recordMethodCall(this, r, t, o ? `throw ${String(a)}` : a, e, n);
1047
+ }
1048
+ return a;
1049
+ };
1050
+ } })(e, n);
1051
+ return;
1052
+ }
1053
+ if (n.kind === "getter") {
1054
+ let e = t;
1055
+ l({ observe(e, t, n) {
1056
+ let i = t.constructor.name;
1057
+ queueMicrotask(() => {
1058
+ let n = ee(() => e.call(t)), a = !0, o = n();
1059
+ b.instance.registerSignal(t, r, o, i), n.subscribe((e) => {
1060
+ if (a) {
1061
+ a = !1;
1062
+ return;
1063
+ }
1064
+ b.instance.updateSignal(t, r, e, o), o = e;
1065
+ });
1066
+ });
1067
+ } })(e, n);
1068
+ return;
1069
+ }
1070
+ c({ bind(e, t, n) {
1071
+ let i = e.constructor.name, a = Object.getOwnPropertyDescriptor(e, t);
1072
+ if (a?.get && a.set) {
1073
+ let t = a.get, n = a.set;
1074
+ return b.instance.registerSignal(e, r, t.call(e), i), { descriptor: {
1075
+ get() {
1076
+ return t.call(this);
1077
+ },
1078
+ set(e) {
1079
+ let i = t.call(this);
1080
+ n.call(this, e), b.instance.updateSignal(this, r, e, i);
1081
+ }
1082
+ } };
1083
+ }
1084
+ let o = n;
1085
+ if (!Q(o)) return o !== void 0 && console.warn(`[PraxisJS DevTools] @Debug() on "${i}.${t}": expected a computed() value but got ${typeof o}. Skipping.`), {};
1086
+ let s;
1087
+ function c(t) {
1088
+ let n = !0, a = t(), o = t.subscribe((t) => {
1089
+ if (n) {
1090
+ n = !1;
1091
+ return;
1092
+ }
1093
+ b.instance.updateSignal(e, r, t, a), a = t;
1094
+ });
1095
+ return b.instance.registerSignal(e, r, a, i), o;
1096
+ }
1097
+ return s = {
1098
+ computed: o,
1099
+ unsub: c(o)
1100
+ }, { descriptor: {
1101
+ get() {
1102
+ return s.computed;
1103
+ },
1104
+ set(e) {
1105
+ if (s.unsub(), !Q(e)) {
1106
+ console.warn(`[PraxisJS DevTools] @Debug() on "${i}.${t}": expected a computed() value but got ${typeof e}. Skipping.`);
1107
+ return;
1108
+ }
1109
+ s = {
1110
+ computed: e,
1111
+ unsub: c(e)
1112
+ };
1113
+ }
1114
+ } };
1115
+ } })(void 0, n);
1116
+ };
1440
1117
  }
1441
- function jc(e = {}) {
1442
- return function(r, n) {
1443
- const o = e.label ?? n.name;
1444
- if (n.kind === "method") {
1445
- const i = r;
1446
- An({
1447
- wrap(s, c, h) {
1448
- return function(...l) {
1449
- const _ = this.constructor.name, a = performance.now();
1450
- let b, d = !1;
1451
- try {
1452
- b = i.apply(this, l);
1453
- } catch (p) {
1454
- throw d = !0, b = p, p;
1455
- } finally {
1456
- const p = performance.now() - a;
1457
- I.instance.recordMethodCall(
1458
- this,
1459
- o,
1460
- l,
1461
- d ? `throw ${String(b)}` : b,
1462
- p,
1463
- _
1464
- );
1465
- }
1466
- return b;
1467
- };
1468
- }
1469
- })(i, n);
1470
- return;
1471
- }
1472
- if (n.kind === "getter") {
1473
- const i = r;
1474
- Nn({
1475
- observe(s, c, h) {
1476
- const l = c.constructor.name;
1477
- queueMicrotask(() => {
1478
- const _ = Gn(() => s.call(c));
1479
- let a = !0, b = _();
1480
- I.instance.registerSignal(c, o, b, l), _.subscribe((d) => {
1481
- if (a) {
1482
- a = !1;
1483
- return;
1484
- }
1485
- I.instance.updateSignal(c, o, d, b), b = d;
1486
- });
1487
- });
1488
- }
1489
- })(i, n);
1490
- return;
1491
- }
1492
- Bn({
1493
- bind(i, s, c) {
1494
- const h = i.constructor.name, l = Object.getOwnPropertyDescriptor(i, s);
1495
- if (l?.get && l.set) {
1496
- const d = l.get, p = l.set;
1497
- return I.instance.registerSignal(i, o, d.call(i), h), {
1498
- descriptor: {
1499
- get() {
1500
- return d.call(this);
1501
- },
1502
- set(w) {
1503
- const S = d.call(this);
1504
- p.call(this, w), I.instance.updateSignal(this, o, w, S);
1505
- }
1506
- }
1507
- };
1508
- }
1509
- const _ = c;
1510
- if (!nr(_))
1511
- return _ !== void 0 && console.warn(
1512
- `[PraxisJS DevTools] @Debug() on "${h}.${s}": expected a computed() value but got ${typeof _}. Skipping.`
1513
- ), {};
1514
- let a;
1515
- function b(d) {
1516
- let p = !0, w = d();
1517
- const S = d.subscribe((E) => {
1518
- if (p) {
1519
- p = !1;
1520
- return;
1521
- }
1522
- I.instance.updateSignal(i, o, E, w), w = E;
1523
- });
1524
- return I.instance.registerSignal(i, o, w, h), S;
1525
- }
1526
- return a = { computed: _, unsub: b(_) }, {
1527
- descriptor: {
1528
- get() {
1529
- return a.computed;
1530
- },
1531
- set(d) {
1532
- if (a.unsub(), !nr(d)) {
1533
- console.warn(
1534
- `[PraxisJS DevTools] @Debug() on "${h}.${s}": expected a computed() value but got ${typeof d}. Skipping.`
1535
- );
1536
- return;
1537
- }
1538
- a = { computed: d, unsub: b(d) };
1539
- }
1540
- }
1541
- };
1542
- }
1543
- })(void 0, n);
1544
- };
1118
+ //#endregion
1119
+ //#region src/decorators/trace.ts
1120
+ var se = [
1121
+ "onBeforeUpdate",
1122
+ "onUpdate",
1123
+ "onAfterUpdate"
1124
+ ], ce = new class extends n {
1125
+ create(e) {
1126
+ let t = b.instance;
1127
+ return {
1128
+ onMount() {
1129
+ t.recordLifecycle(e, "onMount");
1130
+ },
1131
+ onUnmount() {
1132
+ t.recordLifecycle(e, "onUnmount");
1133
+ },
1134
+ render(n) {
1135
+ let r = performance.now(), i = n(), a = performance.now() - r;
1136
+ return t.recordRender(e, a), i;
1137
+ }
1138
+ };
1139
+ }
1140
+ initialize(e, t) {
1141
+ let n = t.name, r = b.instance, i = e.prototype, a = i.onBeforeMount;
1142
+ i.onBeforeMount = function(...e) {
1143
+ return r.registerComponent(this, n), r.recordLifecycle(this, "onBeforeMount"), a?.call(this, ...e);
1144
+ };
1145
+ for (let e of se) {
1146
+ let t = i[e];
1147
+ i[e] = function(...n) {
1148
+ return r.recordLifecycle(this, e), t?.call(this, ...n);
1149
+ };
1150
+ }
1151
+ }
1152
+ }();
1153
+ function le() {
1154
+ return s(ce);
1545
1155
  }
1546
- const zc = ["onBeforeUpdate", "onUpdate", "onAfterUpdate"];
1547
- class Ic extends Rn {
1548
- create(t) {
1549
- const r = I.instance;
1550
- return {
1551
- onMount() {
1552
- r.recordLifecycle(t, "onMount");
1553
- },
1554
- onUnmount() {
1555
- r.recordLifecycle(t, "onUnmount");
1556
- },
1557
- render(n) {
1558
- const o = performance.now(), i = n(), s = performance.now() - o;
1559
- return r.recordRender(t, s), i;
1560
- }
1561
- };
1562
- }
1563
- initialize(t, r) {
1564
- const n = r.name, o = I.instance, i = t.prototype, s = i.onBeforeMount;
1565
- i.onBeforeMount = function(...c) {
1566
- return o.registerComponent(this, n), o.recordLifecycle(this, "onBeforeMount"), s?.call(this, ...c);
1567
- };
1568
- for (const c of zc) {
1569
- const h = i[c];
1570
- i[c] = function(...l) {
1571
- return o.recordLifecycle(this, c), h?.call(this, ...l);
1572
- };
1573
- }
1574
- }
1575
- }
1576
- const Oc = new Ic();
1577
- function Fc() {
1578
- return Un(Oc);
1579
- }
1580
- export {
1581
- fa as ComponentsPlugin,
1582
- jc as Debug,
1583
- Tc as DevTools,
1584
- I as Registry,
1585
- hs as SignalsPlugin,
1586
- Us as TimelinePlugin,
1587
- Fc as Trace
1588
- };
1156
+ //#endregion
1157
+ export { D as ComponentsPlugin, $ as Debug, oe as DevTools, b as Registry, N as SignalsPlugin, R as TimelinePlugin, le as Trace };