@vanelsas/baredom 2.9.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/README.md +1 -1
- package/custom-elements.json +3393 -2954
- package/dist/baredom.d.ts +106 -86
- package/dist/base.js +550 -455
- package/dist/integrity.json +103 -102
- package/dist/x-alert.js +16 -17
- package/dist/x-avatar-group.js +9 -9
- package/dist/x-avatar.js +14 -15
- package/dist/x-badge.js +9 -9
- package/dist/x-bento-grid.js +5 -5
- package/dist/x-bento-item.js +4 -4
- package/dist/x-breadcrumbs.js +14 -13
- package/dist/x-button.js +1 -17
- package/dist/x-cancel-dialogue.js +14 -13
- package/dist/x-card.d.ts +1 -1
- package/dist/x-card.js +7 -7
- package/dist/x-carousel.d.ts +3 -0
- package/dist/x-carousel.js +35 -33
- package/dist/x-chart.js +47 -47
- package/dist/x-checkbox.js +1 -11
- package/dist/x-chip.js +1 -1
- package/dist/x-collapse.d.ts +1 -0
- package/dist/x-collapse.js +11 -10
- package/dist/x-color-picker.js +46 -45
- package/dist/x-combobox.d.ts +2 -0
- package/dist/x-combobox.js +30 -26
- package/dist/x-command-palette.d.ts +3 -0
- package/dist/x-command-palette.js +28 -26
- package/dist/x-confetti.js +24 -22
- package/dist/x-container.js +5 -5
- package/dist/x-context-menu.d.ts +4 -0
- package/dist/x-context-menu.js +21 -20
- package/dist/x-copy.js +20 -20
- package/dist/x-currency-field.d.ts +2 -0
- package/dist/x-currency-field.js +24 -23
- package/dist/x-date-picker.d.ts +3 -0
- package/dist/x-date-picker.js +42 -42
- package/dist/x-divider.js +10 -9
- package/dist/x-drawer.js +11 -10
- package/dist/x-dropdown.d.ts +3 -0
- package/dist/x-dropdown.js +12 -11
- package/dist/x-fieldset.js +6 -5
- package/dist/x-file-download.js +7 -7
- package/dist/x-file-upload.d.ts +2 -0
- package/dist/x-file-upload.js +23 -22
- package/dist/x-form-field.js +15 -15
- package/dist/x-form.d.ts +4 -0
- package/dist/x-form.js +10 -9
- package/dist/x-gaussian-blur.js +13 -12
- package/dist/x-grid.js +6 -6
- package/dist/x-i18n-provider.js +7 -7
- package/dist/x-i18n.js +4 -4
- package/dist/x-icon.js +7 -7
- package/dist/x-image.js +17 -18
- package/dist/x-kbd.js +16 -16
- package/dist/x-kinetic-canvas.js +26 -25
- package/dist/x-kinetic-font.js +27 -27
- package/dist/x-kinetic-typography.js +35 -33
- package/dist/x-liquid-dock.js +34 -38
- package/dist/x-liquid-fill.js +42 -45
- package/dist/x-liquid-glass.js +41 -47
- package/dist/x-menu-item.js +8 -8
- package/dist/x-menu.js +10 -10
- package/dist/x-metaball-cursor.js +23 -26
- package/dist/x-modal.js +12 -11
- package/dist/x-morph-stack.d.ts +4 -0
- package/dist/x-morph-stack.js +37 -38
- package/dist/x-multi-combobox.js +36 -36
- package/dist/x-navbar.js +15 -12
- package/dist/x-neural-glow.js +30 -33
- package/dist/x-notification-center.d.ts +2 -0
- package/dist/x-notification-center.js +9 -9
- package/dist/x-organic-divider.js +18 -17
- package/dist/x-organic-progress.js +35 -37
- package/dist/x-organic-shape.js +14 -13
- package/dist/x-otp-input.js +22 -22
- package/dist/x-pagination.js +14 -15
- package/dist/x-particle-button.js +51 -51
- package/dist/x-popover.d.ts +3 -0
- package/dist/x-popover.js +27 -26
- package/dist/x-progress-circle.d.ts +3 -0
- package/dist/x-progress-circle.js +9 -9
- package/dist/x-progress.js +8 -10
- package/dist/x-proximity-list.js +20 -19
- package/dist/x-radio.js +11 -11
- package/dist/x-ripple-effect.js +10 -11
- package/dist/x-scroll-parallax.js +17 -18
- package/dist/x-scroll-stack.js +16 -17
- package/dist/x-scroll-story.js +33 -34
- package/dist/x-scroll-timeline.js +46 -45
- package/dist/x-scroll.d.ts +3 -0
- package/dist/x-scroll.js +38 -40
- package/dist/x-search-field.d.ts +2 -0
- package/dist/x-search-field.js +1 -15
- package/dist/x-select.js +1 -11
- package/dist/x-sidebar.js +18 -17
- package/dist/x-skeleton-group.js +12 -12
- package/dist/x-skeleton.js +1 -1
- package/dist/x-slider.js +16 -15
- package/dist/x-soft-body.js +20 -22
- package/dist/x-spacer.js +4 -4
- package/dist/x-spinner.js +4 -4
- package/dist/x-splash.js +12 -13
- package/dist/x-spotlight-card.js +12 -12
- package/dist/x-stat.js +10 -10
- package/dist/x-stepper.js +13 -14
- package/dist/x-switch.js +11 -10
- package/dist/x-tab.js +6 -6
- package/dist/x-table-cell.js +21 -20
- package/dist/x-table-row.js +8 -8
- package/dist/x-table.d.ts +32 -32
- package/dist/x-table.js +13 -12
- package/dist/x-tabs.js +11 -11
- package/dist/x-text-area.js +19 -19
- package/dist/x-theme.js +25 -25
- package/dist/x-timeline-item.js +20 -21
- package/dist/x-timeline.js +8 -8
- package/dist/x-toast.d.ts +1 -0
- package/dist/x-toast.js +22 -23
- package/dist/x-toaster.js +7 -8
- package/dist/x-tooltip.d.ts +2 -0
- package/dist/x-tooltip.js +12 -12
- package/dist/x-trace-history.d.ts +242 -0
- package/dist/x-trace-history.js +121 -0
- package/dist/x-typography.js +9 -9
- package/dist/x-welcome-tour.js +63 -60
- package/package.json +9 -2
package/dist/x-tooltip.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { $APP, shadow$provide } from "./base.js";
|
|
2
|
-
var
|
|
3
|
-
$APP.E(a),$APP.
|
|
4
|
-
|
|
5
|
-
(a.
|
|
6
|
-
focusin:function(){return
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
null);$APP.
|
|
2
|
+
var oA=function(a){a=new $APP.N(null,5,[$APP.an,a.getAttribute("text"),$APP.Gs,a.getAttribute("placement"),lA,a.getAttribute("delay"),$APP.Wi,a.hasAttribute("disabled"),$APP.Rn,a.hasAttribute("open")],null);var b=$APP.H(a),c=$APP.C(b,$APP.an),d=$APP.C(b,$APP.Gs),e=$APP.C(b,lA);a=$APP.C(b,$APP.Wi);b=$APP.C(b,$APP.Rn);c=$APP.n(c)?c:"";d=$APP.$c(mA,d)?d:"top";e!=null?(e=parseInt(e,10),e=$APP.n(isNaN(e))?400:$APP.Hm.j($APP.Gm.j(e,0),5E3)):e=400;return new $APP.N(null,5,[$APP.cr,c,$APP.Yo,d,nA,e,$APP.cj,
|
|
3
|
+
$APP.E(a),$APP.ls,$APP.E(b)],null)},pA=function(a){var b=oA(a);if($APP.I($APP.l(a,"__xTooltipModel"),b)){b=$APP.H(b);var c=$APP.C(b,$APP.cr),d=$APP.C(b,$APP.Yo),e=$APP.C(b,$APP.ls),f=$APP.l(a,"__xTooltipRefs");if($APP.n(f)){var h=$APP.l(f,"panel");f=$APP.l(f,"text");$APP.T(h,"data-placement",d);$APP.T(h,"aria-hidden",""+$APP.P.i($APP.p(e)));f.textContent=c;$APP.R(a,"__xTooltipModel",b)}}},qA=function(a){var b=$APP.l(a,"__xTooltipShowTimer");$APP.n(b)&&(clearTimeout(b),$APP.R(a,"__xTooltipShowTimer",
|
|
4
|
+
null))},rA=function(a,b){if($APP.n(a.hasAttribute("disabled")))return null;qA(a);if($APP.n($APP.n(b)?b:a.hasAttribute("open"))){if($APP.n(a.hasAttribute("open")))return null;$APP.T(a,"open","");return $APP.pi(a,"x-tooltip-show",{})}b=oA(a);b=$APP.H(b);b=$APP.C(b,nA);return b===0?($APP.T(a,"open",""),$APP.pi(a,"x-tooltip-show",{})):$APP.R(a,"__xTooltipShowTimer",setTimeout(function(){$APP.R(a,"__xTooltipShowTimer",null);return $APP.n(a.isConnected)?($APP.T(a,"open",""),$APP.pi(a,"x-tooltip-show",{})):
|
|
5
|
+
null},b))},sA=function(a){qA(a);return $APP.n(a.hasAttribute("open"))?($APP.U(a,"open"),$APP.pi(a,"x-tooltip-hide",{})):null},tA=function(a){var b=$APP.l(a,"__xTooltipRefs");if($APP.n(b)){var c=$APP.l(b,"triggerSlot").assignedElements();b=$APP.l(a,"__xTooltipId");var d=$APP.l(a,"__xTooltipTriggerEl");$APP.n(d)&&($APP.U(d,"aria-describedby"),$APP.R(a,"__xTooltipTriggerEl",null));if(c.length>0)return c=c[0],$APP.T(c,"aria-describedby",b),$APP.R(a,"__xTooltipTriggerEl",c)}return null},uA=function(a){return{pointerenter:function(){return rA(a,
|
|
6
|
+
!1)},pointerleave:function(){return sA(a)},focusin:function(){return rA(a,!0)},focusout:function(b){b=b.relatedTarget;return b==null||$APP.p(a.contains(b))?sA(a):null},keydown:function(b){b=$APP.y.j(b.key,"Escape");return $APP.n(b?a.hasAttribute("open"):b)?sA(a):null},slotchange:function(){return tA(a)}}},wA=function(a,b,c){return $APP.y.j(c,vA)?a:$APP.l(b,c)},yA=function(a){var b=$APP.l(a,"__xTooltipRefs");if($APP.n(b)){var c=$APP.l(a,"__xTooltipHandlers");if($APP.n(c))for(var d=$APP.r(xA),e=null,
|
|
7
|
+
f=0,h=0;;)if(h<f){var k=e.F(null,h),m=$APP.B(k,0,null),q=$APP.B(k,1,null);k=$APP.B(k,2,null);wA(a,b,m).removeEventListener(q,$APP.l(c,k));h+=1}else if(d=$APP.r(d))$APP.Wc(d)?(q=$APP.Cb(d),d=$APP.Db(d),m=q,q=$APP.w(q),e=m,f=q):(e=$APP.t(d),m=$APP.B(e,0,null),q=$APP.B(e,1,null),k=$APP.B(e,2,null),wA(a,b,m).removeEventListener(q,$APP.l(c,k)),d=$APP.v(d),e=null,f=0),h=0;else break}},AA=function(a){if(!$APP.n($APP.l(a,"__xTooltipRefs"))){var b=a.attachShadow({mode:"open"}),c=document.createElement("style"),
|
|
8
|
+
d=document.createElement("span"),e=document.createElement("slot"),f=document.createElement("div"),h=document.createElement("div"),k=document.createElement("div"),m=document.createElement("span"),q=document.createElement("slot");var u=$APP.l(zA,"n")+1;zA.n=u;u="x-tt-"+$APP.P.i(u);c.textContent=":host{display:inline-block;position:relative;color-scheme:light dark;--x-tooltip-bg:var(--x-color-bg,#ffffff);--x-tooltip-text:var(--x-color-text,#0f172a);--x-tooltip-border:1px solid var(--x-color-border,#e2e8f0);--x-tooltip-padding:var(--x-space-xs,4px) var(--x-space-sm,8px);--x-tooltip-radius:var(--x-radius-md,6px);--x-tooltip-shadow:var(--x-shadow-md,0 4px 16px rgba(0,0,0,0.12));--x-tooltip-z:var(--x-z-dropdown,1000);--x-tooltip-max-width:min(280px,calc(100vw - 2rem));--x-tooltip-font-size:var(--x-font-size-xs,0.75rem);--x-tooltip-arrow-size:6px;--x-tooltip-offset:4px;--x-tooltip-transition-duration:var(--x-transition-duration,150ms);--x-tooltip-transition-easing:var(--x-transition-easing,ease);}@media (prefers-color-scheme:dark){:host{--x-tooltip-bg:var(--x-color-bg,#1e293b);--x-tooltip-text:var(--x-color-text,#e2e8f0);--x-tooltip-border:1px solid var(--x-color-border,#334155);--x-tooltip-shadow:0 4px 24px rgba(0,0,0,0.4);}}[part\x3dtrigger]{display:inline-block;}[part\x3dpanel]{position:absolute;z-index:var(--x-tooltip-z);box-sizing:border-box;background:var(--x-tooltip-bg);color:var(--x-tooltip-text);border:var(--x-tooltip-border);padding:var(--x-tooltip-padding);border-radius:var(--x-tooltip-radius);box-shadow:var(--x-tooltip-shadow);max-width:var(--x-tooltip-max-width);font-size:var(--x-tooltip-font-size);font-family:inherit;line-height:1.4;white-space:normal;word-wrap:break-word;pointer-events:none;visibility:hidden;opacity:0;transition:opacity var(--x-tooltip-transition-duration) var(--x-tooltip-transition-easing),transform var(--x-tooltip-transition-duration) var(--x-tooltip-transition-easing),visibility 0s var(--x-tooltip-transition-duration);}:host([open]) [part\x3dpanel]{visibility:visible;opacity:1;transition:opacity var(--x-tooltip-transition-duration) var(--x-tooltip-transition-easing),transform var(--x-tooltip-transition-duration) var(--x-tooltip-transition-easing),visibility 0s 0s;}[part\x3dpanel][data-placement\x3dtop]{bottom:calc(100% + var(--x-tooltip-arrow-size) + var(--x-tooltip-offset));left:50%;transform:translateX(-50%) translateY(4px);transform-origin:bottom center;}:host([open]) [part\x3dpanel][data-placement\x3dtop]{transform:translateX(-50%) translateY(0);}[part\x3dpanel][data-placement\x3dbottom]{top:calc(100% + var(--x-tooltip-arrow-size) + var(--x-tooltip-offset));left:50%;transform:translateX(-50%) translateY(-4px);transform-origin:top center;}:host([open]) [part\x3dpanel][data-placement\x3dbottom]{transform:translateX(-50%) translateY(0);}[part\x3dpanel][data-placement\x3dleft]{right:calc(100% + var(--x-tooltip-arrow-size) + var(--x-tooltip-offset));top:50%;transform:translateY(-50%) translateX(4px);transform-origin:center right;}:host([open]) [part\x3dpanel][data-placement\x3dleft]{transform:translateY(-50%) translateX(0);}[part\x3dpanel][data-placement\x3dright]{left:calc(100% + var(--x-tooltip-arrow-size) + var(--x-tooltip-offset));top:50%;transform:translateY(-50%) translateX(-4px);transform-origin:center left;}:host([open]) [part\x3dpanel][data-placement\x3dright]{transform:translateY(-50%) translateX(0);}[part\x3darrow]{position:absolute;width:var(--x-tooltip-arrow-size);height:var(--x-tooltip-arrow-size);background:var(--x-tooltip-bg);border:var(--x-tooltip-border);transform:rotate(45deg);pointer-events:none;}[part\x3dpanel][data-placement\x3dtop] [part\x3darrow]{bottom:calc(var(--x-tooltip-arrow-size) / -2);left:calc(50% - var(--x-tooltip-arrow-size) / 2);border-top:none;border-left:none;}[part\x3dpanel][data-placement\x3dbottom] [part\x3darrow]{top:calc(var(--x-tooltip-arrow-size) / -2);left:calc(50% - var(--x-tooltip-arrow-size) / 2);border-bottom:none;border-right:none;}[part\x3dpanel][data-placement\x3dleft] [part\x3darrow]{right:calc(var(--x-tooltip-arrow-size) / -2);top:calc(50% - var(--x-tooltip-arrow-size) / 2);border-bottom:none;border-left:none;}[part\x3dpanel][data-placement\x3dright] [part\x3darrow]{left:calc(var(--x-tooltip-arrow-size) / -2);top:calc(50% - var(--x-tooltip-arrow-size) / 2);border-top:none;border-right:none;}[part\x3dbody]{position:relative;}@media (prefers-reduced-motion:reduce){[part\x3dpanel]{transition:none !important;}}";
|
|
9
|
+
$APP.T(d,"part","trigger");$APP.T(f,"part","panel");$APP.T(f,"role","tooltip");$APP.T(f,"id",u);$APP.T(f,"aria-hidden","true");$APP.T(f,"data-placement","top");$APP.T(h,"part","arrow");$APP.T(h,"aria-hidden","true");$APP.T(k,"part","body");$APP.T(m,"part","text");$APP.T(q,"name","content");d.appendChild(e);k.appendChild(m);k.appendChild(q);f.appendChild(h);f.appendChild(k);b.appendChild(c);b.appendChild(d);b.appendChild(f);$APP.R(a,"__xTooltipId",u);$APP.R(a,"__xTooltipRefs",{trigger:d,triggerSlot:e,
|
|
10
|
+
panel:f,arrow:h,body:k,text:m,contentSlot:q})}yA(a);$APP.R(a,"__xTooltipHandlers",uA(a));a:if(b=$APP.l(a,"__xTooltipRefs"),$APP.n(b)&&(c=$APP.l(a,"__xTooltipHandlers"),$APP.n(c)))for(d=$APP.r(xA),h=null,m=k=0;;)if(m<k)q=h.F(null,m),e=$APP.B(q,0,null),f=$APP.B(q,1,null),q=$APP.B(q,2,null),wA(a,b,e).addEventListener(f,$APP.l(c,q)),m+=1;else if(d=$APP.r(d))$APP.Wc(d)?(f=$APP.Cb(d),d=$APP.Db(d),e=f,f=$APP.w(f),h=e,k=f):(h=$APP.t(d),e=$APP.B(h,0,null),f=$APP.B(h,1,null),q=$APP.B(h,2,null),wA(a,b,e).addEventListener(f,
|
|
11
|
+
$APP.l(c,q)),d=$APP.v(d),h=null,k=0),m=0;else break a;pA(a);return tA(a)},BA=function(a){qA(a);yA(a);var b=$APP.l(a,"__xTooltipTriggerEl");$APP.n(b)?($APP.U(b,"aria-describedby"),a=$APP.R(a,"__xTooltipTriggerEl",null)):a=null;return a},CA=function(a,b,c,d){return $APP.n(function(){var e=$APP.I(c,d);return e?$APP.l(a,"__xTooltipRefs"):e}())?(pA(a),$APP.n(function(){var e=a.hasAttribute("disabled");return $APP.n(e)?a.hasAttribute("open"):e}())?sA(a):null):null},FA=function(a){$APP.Ei(a,EA);Object.defineProperty(a,
|
|
12
|
+
"show",{value:function(){return rA(this,!0)},writable:!0,configurable:!0});return Object.defineProperty(a,"hide",{value:function(){return sA(this)},writable:!0,configurable:!0})},HA=function(){return $APP.Kh("x-tooltip",new $APP.N(null,5,[$APP.Bh,GA,$APP.zh,AA,$APP.qh,BA,$APP.ph,CA,$APP.Ah,FA],null))},nA=new $APP.F(null,"delay","delay",-574225219),vA=new $APP.F(null,"host","host",-1558485167),lA=new $APP.F(null,"delay-raw","delay-raw",886290425);var mA=new $APP.rg(null,new $APP.N(null,4,["right",null,"top",null,"bottom",null,"left",null],null),null),GA=["text","placement","delay","disabled","open"],EA=new $APP.N(null,5,[$APP.cr,new $APP.N(null,2,[$APP.O,$APP.Y,$APP.W,"text"],null),$APP.Yo,new $APP.N(null,2,[$APP.O,$APP.Y,$APP.W,"placement"],null),nA,new $APP.N(null,3,[$APP.O,$APP.Z,$APP.W,"delay",$APP.Di,400],null),$APP.Hk,new $APP.N(null,2,[$APP.O,$APP.Ci,$APP.W,"disabled"],null),$APP.Ir,new $APP.N(null,2,[$APP.O,$APP.Ci,$APP.W,"open"],
|
|
13
|
+
null)],null);$APP.be(["x-tooltip-show",new $APP.N(null,2,[$APP.Mr,!1,$APP.V,$APP.ce],null),"x-tooltip-hide",new $APP.N(null,2,[$APP.Mr,!1,$APP.V,$APP.ce],null)]);var zA={n:0},xA=new $APP.K(null,6,5,$APP.M,[new $APP.K(null,3,5,$APP.M,[vA,"pointerenter","pointerenter"],null),new $APP.K(null,3,5,$APP.M,[vA,"pointerleave","pointerleave"],null),new $APP.K(null,3,5,$APP.M,[vA,"focusin","focusin"],null),new $APP.K(null,3,5,$APP.M,[vA,"focusout","focusout"],null),new $APP.K(null,3,5,$APP.M,[vA,"keydown","keydown"],null),new $APP.K(null,3,5,$APP.M,["triggerSlot","slotchange","slotchange"],null)],null);$APP.fa("baredom.exports.x_tooltip.init",HA);export const init=HA;
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
// x-trace-history.d.ts — hand-authored from docs/x-trace-history-schema.md.
|
|
2
|
+
// Regenerated alongside the component .d.ts files by scripts/generate_types.bb.
|
|
3
|
+
// Schema is frozen at schemaVersion 1; bumps land here and in the recorder
|
|
4
|
+
// together.
|
|
5
|
+
|
|
6
|
+
export function init(): void;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Stable on-disk schema version. Importers reject mismatched values.
|
|
10
|
+
*/
|
|
11
|
+
export type TraceSchemaVersion = 1;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* One entry in the recorder's component side-index. Maps a stable
|
|
15
|
+
* componentId (assigned the first time a record mentions an element)
|
|
16
|
+
* to the element's tag and the time we first saw it.
|
|
17
|
+
*/
|
|
18
|
+
export interface TraceComponentInfo {
|
|
19
|
+
tag: string;
|
|
20
|
+
firstSeen: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Baseline fields carried by every record. Type-specific extras live
|
|
25
|
+
* on the discriminated-union variants below.
|
|
26
|
+
*/
|
|
27
|
+
export interface TraceRecordBase {
|
|
28
|
+
schemaVersion: TraceSchemaVersion;
|
|
29
|
+
id: number;
|
|
30
|
+
t: number;
|
|
31
|
+
tag: string;
|
|
32
|
+
componentId: number | null;
|
|
33
|
+
causeId: number | null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface TraceRecordDispatch extends TraceRecordBase {
|
|
37
|
+
type: "event/dispatch" | "event/dispatch-cancelable" | "event/dispatch-document";
|
|
38
|
+
eventName: string;
|
|
39
|
+
detail: unknown;
|
|
40
|
+
cancelable: boolean;
|
|
41
|
+
defaultPrevented: boolean;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface TraceRecordInstanceFieldSet extends TraceRecordBase {
|
|
45
|
+
type: "state/instance-field-set";
|
|
46
|
+
field: string;
|
|
47
|
+
value: unknown;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface TraceRecordAttributeSet extends TraceRecordBase {
|
|
51
|
+
type: "dom/attribute-set";
|
|
52
|
+
attribute: string;
|
|
53
|
+
value: unknown;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface TraceRecordAttributeRemoved extends TraceRecordBase {
|
|
57
|
+
type: "dom/attribute-removed";
|
|
58
|
+
attribute: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface TraceRecordLifecycleConnected extends TraceRecordBase {
|
|
62
|
+
type: "lifecycle/connected";
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface TraceRecordLifecycleDisconnected extends TraceRecordBase {
|
|
66
|
+
type: "lifecycle/disconnected";
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface TraceRecordLifecycleAttributeChanged extends TraceRecordBase {
|
|
70
|
+
type: "lifecycle/attribute-changed";
|
|
71
|
+
attribute: string;
|
|
72
|
+
oldValue: string | null;
|
|
73
|
+
newValue: string | null;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Discriminated union over every record kind the recorder produces.
|
|
78
|
+
* Switch on `.type` for exhaustiveness.
|
|
79
|
+
*/
|
|
80
|
+
export type TraceRecord =
|
|
81
|
+
| TraceRecordDispatch
|
|
82
|
+
| TraceRecordInstanceFieldSet
|
|
83
|
+
| TraceRecordAttributeSet
|
|
84
|
+
| TraceRecordAttributeRemoved
|
|
85
|
+
| TraceRecordLifecycleConnected
|
|
86
|
+
| TraceRecordLifecycleDisconnected
|
|
87
|
+
| TraceRecordLifecycleAttributeChanged;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Session metadata as returned by `sessions()`. Bounded recording
|
|
91
|
+
* slices the user explicitly captured.
|
|
92
|
+
*/
|
|
93
|
+
export interface TraceSession {
|
|
94
|
+
id: number;
|
|
95
|
+
label: string;
|
|
96
|
+
startT: number;
|
|
97
|
+
endT: number | null;
|
|
98
|
+
recordCount: number;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Session metadata as carried on the wire inside a `.trace.json`
|
|
103
|
+
* envelope. Differs from `TraceSession` in that the wire form names
|
|
104
|
+
* the record-id bounds directly (`startId`/`endId`) and omits
|
|
105
|
+
* `recordCount` (membership is derived from the bounds).
|
|
106
|
+
*/
|
|
107
|
+
export interface TraceEnvelopeSession {
|
|
108
|
+
id: number;
|
|
109
|
+
label: string;
|
|
110
|
+
startT: number;
|
|
111
|
+
endT: number | null;
|
|
112
|
+
startId: number;
|
|
113
|
+
endId: number | null;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* The full exported envelope — what `export()` returns and what
|
|
118
|
+
* `download()` serialises to a `.trace.json` file. Importers must
|
|
119
|
+
* reject envelopes whose `schemaVersion` does not match.
|
|
120
|
+
*/
|
|
121
|
+
export interface TraceEnvelope {
|
|
122
|
+
schemaVersion: TraceSchemaVersion;
|
|
123
|
+
exportedAt: number;
|
|
124
|
+
origin: string;
|
|
125
|
+
userAgent: string;
|
|
126
|
+
forensic: boolean;
|
|
127
|
+
components: Record<string, TraceComponentInfo>;
|
|
128
|
+
sessions: TraceEnvelopeSession[];
|
|
129
|
+
records: TraceRecord[];
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Metadata for one loaded import, as returned by `imports()`. The
|
|
134
|
+
* record array itself is fetched with `importRecords(id)`.
|
|
135
|
+
*/
|
|
136
|
+
export interface TraceImport {
|
|
137
|
+
id: number;
|
|
138
|
+
label: string;
|
|
139
|
+
importedAt: number;
|
|
140
|
+
recordCount: number;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* The JS API installed at `window.BareDOM.traceHistory` when the
|
|
145
|
+
* recorder activates (via `?baredom-trace-history` URL flag or
|
|
146
|
+
* `window.BAREDOM_TRACE_HISTORY = true`).
|
|
147
|
+
*
|
|
148
|
+
* All methods are safe to call from the console or programmatically.
|
|
149
|
+
* The returned arrays are memoised against the recorder's internal
|
|
150
|
+
* buffer — treat them as read-only.
|
|
151
|
+
*/
|
|
152
|
+
export interface BareDOMTraceHistory {
|
|
153
|
+
/** All records, oldest first. */
|
|
154
|
+
records(): TraceRecord[];
|
|
155
|
+
/** Stringified componentId -> {tag, firstSeen} for every observed instance. */
|
|
156
|
+
components(): Record<string, TraceComponentInfo>;
|
|
157
|
+
/** Stop accepting new records. Already-captured records survive. */
|
|
158
|
+
pause(): void;
|
|
159
|
+
/** Resume after pause. */
|
|
160
|
+
resume(): void;
|
|
161
|
+
/** Drop the live ring buffer and sessions. Imports survive. */
|
|
162
|
+
clear(): void;
|
|
163
|
+
/** Begin a bounded recording slice. Returns the new session id. */
|
|
164
|
+
startSession(): number;
|
|
165
|
+
/** Close the active session, if any. */
|
|
166
|
+
stopSession(): void;
|
|
167
|
+
/** Metadata for every session captured this page life. */
|
|
168
|
+
sessions(): TraceSession[];
|
|
169
|
+
/** Records inside the named session, chronological. */
|
|
170
|
+
sessionRecords(id: number): TraceRecord[];
|
|
171
|
+
/**
|
|
172
|
+
* Materialise the current recorder state as a JSON-serialisable
|
|
173
|
+
* envelope. The returned object shares its `records` array with
|
|
174
|
+
* the recorder's internal cache — treat as read-only or deep-copy.
|
|
175
|
+
*/
|
|
176
|
+
export(): TraceEnvelope;
|
|
177
|
+
/** Trigger a browser download of the current envelope as `.trace.json`. */
|
|
178
|
+
download(): void;
|
|
179
|
+
/**
|
|
180
|
+
* Load a previously-exported envelope. Pass a parsed JS object or a
|
|
181
|
+
* JSON string. Returns the new import id, or `null` when the
|
|
182
|
+
* envelope is malformed or carries a mismatched `schemaVersion`.
|
|
183
|
+
*/
|
|
184
|
+
import(input: string | TraceEnvelope, label?: string): number | null;
|
|
185
|
+
/** Metadata for every loaded import. */
|
|
186
|
+
imports(): TraceImport[];
|
|
187
|
+
/** Records inside the named import, chronological. */
|
|
188
|
+
importRecords(id: number): TraceRecord[];
|
|
189
|
+
/** Drop one import by id. */
|
|
190
|
+
removeImport(id: number): void;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* The shared `window.BareDOM` namespace. Each BareDOM dev tool slots
|
|
195
|
+
* its console API in here under its own key — `traceHistory` for
|
|
196
|
+
* x-trace-history. Future dev tools augment this interface via
|
|
197
|
+
* TypeScript declaration merging:
|
|
198
|
+
*
|
|
199
|
+
* ```ts
|
|
200
|
+
* declare module "@vanelsas/baredom/x-trace-history" {
|
|
201
|
+
* interface BareDOMNamespace { myDevTool?: MyDevToolApi }
|
|
202
|
+
* }
|
|
203
|
+
* ```
|
|
204
|
+
*
|
|
205
|
+
* This lives in the x-trace-history module today because that is the
|
|
206
|
+
* first dev tool to ship; it can move to a shared types module if and
|
|
207
|
+
* when a second tool joins.
|
|
208
|
+
*/
|
|
209
|
+
export interface BareDOMNamespace {
|
|
210
|
+
traceHistory?: BareDOMTraceHistory;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* The `<x-trace-history>` custom element auto-mounted to <body> when
|
|
215
|
+
* the recorder activates. The element has no public attributes or
|
|
216
|
+
* properties — it is a self-contained floating dock that subscribes
|
|
217
|
+
* to recorder updates and renders the timeline UI.
|
|
218
|
+
*/
|
|
219
|
+
export interface XTraceHistory extends HTMLElement {}
|
|
220
|
+
|
|
221
|
+
declare global {
|
|
222
|
+
interface Window {
|
|
223
|
+
/**
|
|
224
|
+
* Shared namespace installed by every BareDOM ESM module that
|
|
225
|
+
* ships a console-callable API. See `BareDOMNamespace` for the
|
|
226
|
+
* slots populated by x-trace-history; future dev tools augment
|
|
227
|
+
* the interface via declaration merging.
|
|
228
|
+
*/
|
|
229
|
+
BareDOM?: BareDOMNamespace;
|
|
230
|
+
/**
|
|
231
|
+
* Set to `true` (or the string `"raw"` for forensic mode) before
|
|
232
|
+
* the app boots to activate the recorder without a URL flag.
|
|
233
|
+
*/
|
|
234
|
+
BAREDOM_TRACE_HISTORY?: boolean | "raw";
|
|
235
|
+
/** Override the ring-buffer capacity. Default 5000. */
|
|
236
|
+
BAREDOM_TRACE_HISTORY_CAPACITY?: number;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
interface HTMLElementTagNameMap {
|
|
240
|
+
"x-trace-history": XTraceHistory;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { $APP, shadow$provide } from "./base.js";
|
|
2
|
+
var OO=function(a,b,c){for(var d=$APP.r(a.$b),e=null,f=0,h=0;;)if(h<f){var k=e.F(null,h),m=$APP.B(k,0,null);k=$APP.B(k,1,null);k.J?k.J(m,a,b,c):k.call(null,m,a,b,c);h+=1}else if(d=$APP.r(d))$APP.Wc(d)?(e=$APP.Cb(d),d=$APP.Db(d),m=e,f=$APP.w(e),e=m):(e=$APP.t(d),m=$APP.B(e,0,null),k=$APP.B(e,1,null),k.J?k.J(m,a,b,c):k.call(null,m,a,b,c),d=$APP.v(d),e=null,f=0),h=0;else break},PO=function(a,b){const c=a.length-b.length;return c>=0&&a.indexOf(b,c)==c},QO=function(a,b){if(a!=null&&a.xc!=null)a=a.xc(a,
|
|
3
|
+
b);else{var c=QO[$APP.aa(a==null?null:a)];if(c!=null)a=c.j?c.j(a,b):c.call(null,a,b);else if(c=QO._,c!=null)a=c.j?c.j(a,b):c.call(null,a,b);else throw $APP.ua("IReset.-reset!",a);}return a},RO=function(a){return a+1},SO=function(a){return a-1},TO=function(a,b){return $APP.ed(function(c,d){c=a.i?a.i(c):a.call(null,c);d=a.i?a.i(d):a.call(null,d);var e=$APP.cd($APP.ad);return e.j?e.j(c,d):e.call(null,c,d)},b)},UO=function(a,b){return TO(a,b)},VO=function(a){if(a instanceof RegExp)return a;var b=$APP.Mg(/^\(\?([idmsux]*)\)/,
|
|
4
|
+
a),c=$APP.B(b,0,null);b=$APP.B(b,1,null);return new RegExp(a.substring(c==null?0:c.length),$APP.n(b)?b:"")},WO=function(a){return $APP.Md($APP.ya(function(b,c){return $APP.Od(b,c,$APP.Hc(b,c,0)+1)},$APP.vb($APP.ce),a))},XO=function(a){return new $APP.K(null,2,5,$APP.M,[$APP.me(200,a),$APP.ne(200,a)],null)},YO=function(a,b){if(a instanceof $APP.ke){var c=a.lc;if(c!=null&&!$APP.n(c.i?c.i(b):c.call(null,b)))throw Error("Validator rejected reference state");c=a.state;a.state=b;a.$b!=null&&OO(a,c,b);return b}return QO(a,
|
|
5
|
+
b)},$O=function(){var a=window;var b=a.location.search;b=b==null?null:$APP.Mg(ZO,b);return $APP.E(b)||$APP.l(a,"BAREDOM_TRACE_HISTORY")===!0||$APP.y.j("raw",$APP.l(a,"BAREDOM_TRACE_HISTORY"))},aP=function(a){a=a==null?null:a.tagName;a=a==null?null:a.toLowerCase();return $APP.n(a)?a:"document"},bP=function(a){try{return a==null?null:$APP.Xm(a)}catch(b){try{return""+$APP.P.i(a)}catch(c){return"(unprintable)"}}},fP=function(a,b,c){a=$APP.H(a);var d=$APP.C(a,$APP.O),e=$APP.C(a,cP),f=$APP.C(a,dP),h=$APP.C(a,
|
|
6
|
+
eP);var k=$APP.Bd(d);k=$APP.n(k)?""+$APP.P.i(k)+"/"+$APP.P.i($APP.Dg(d)):$APP.Dg(d);b={schemaVersion:1,id:b,t:c,type:k,tag:e,componentId:f,causeId:h};switch(d instanceof $APP.F?d.ea:null){case "event/dispatch":case "event/dispatch-cancelable":case "event/dispatch-document":return c=$APP.mi.i(a),b.eventName=c,c=bP($APP.V.i(a)),b.detail=c,c=$APP.E($APP.ni.i(a)),b.cancelable=c,a=$APP.E($APP.oi.i(a)),b.defaultPrevented=a,b;case "state/instance-field-set":return c=$APP.di.i(a),b.field=c,a=bP($APP.ei.i(a)),
|
|
7
|
+
b.value=a,b;case "dom/attribute-set":return c=$APP.Gh.i(a),b.attribute=c,a=$APP.ei.i(a),b.value=a,b;case "dom/attribute-removed":return a=$APP.Gh.i(a),b.attribute=a,b;case "lifecycle/attribute-changed":return c=$APP.Gh.i(a),b.attribute=c,c=$APP.Hh.i(a),b.oldValue=c,a=$APP.Ih.i(a),b.newValue=a,b;case "lifecycle/connected":case "lifecycle/disconnected":return b;default:return b}},gP=function(a){a=""+$APP.P.i(a);return a.length<2?"0"+$APP.P.i(a):a},hP=function(a,b){return $APP.tf.m($APP.ce,$APP.te(function(c){var d=
|
|
8
|
+
$APP.B(c,0,null);$APP.B(c,1,null);return $APP.$c(b,d)}),a)},qP=function(a,b,c,d){var e=$APP.H(d);d=$APP.C(e,iP);var f=$APP.C(e,$APP.fr),h=$APP.C(e,jP);e=$APP.C(e,kP);a:{var k=a.length;for(var m=0,q=$APP.vb($APP.sg);;){if(m>=k){k=$APP.xb(q);break a}var u=a[m].componentId;m+=1;q=u!=null?$APP.wb(q,u):q}k=void 0}k=hP(b,k);b=$APP.E(e);e={};k=$APP.r(k);m=null;for(u=q=0;;)if(u<q){var x=m.F(null,u),z=$APP.B(x,0,null),A=$APP.B(x,1,null);x=e;z=""+$APP.P.i(z);A={tag:cP.i(A),firstSeen:lP.i(A)};x[z]=A;u+=1}else if(k=
|
|
9
|
+
$APP.r(k))$APP.Wc(k)?(q=$APP.Cb(k),k=$APP.Db(k),m=q,q=$APP.w(q)):(m=$APP.t(k),q=$APP.B(m,0,null),u=$APP.B(m,1,null),m=e,q=""+$APP.P.i(q),u={tag:cP.i(u),firstSeen:lP.i(u)},m[q]=u,k=$APP.v(k),m=null,q=0),u=0;else break;k=[];c=$APP.r(c);m=null;for(u=q=0;;)if(u<q){x=m.F(null,u);var D=$APP.H(x);x=$APP.C(D,$APP.ar);z=$APP.C(D,$APP.bj);A=$APP.C(D,mP);var G=$APP.C(D,nP),J=$APP.C(D,oP);D=$APP.C(D,pP);k.push({id:x,label:z,startT:A,endT:G,startId:J,endId:D});u+=1}else if(c=$APP.r(c))$APP.Wc(c)?(q=$APP.Cb(c),
|
|
10
|
+
c=$APP.Db(c),m=q,q=$APP.w(q)):(m=$APP.t(c),A=$APP.H(m),m=$APP.C(A,$APP.ar),q=$APP.C(A,$APP.bj),u=$APP.C(A,mP),x=$APP.C(A,nP),z=$APP.C(A,oP),A=$APP.C(A,pP),k.push({id:m,label:q,startT:u,endT:x,startId:z,endId:A}),c=$APP.v(c),m=null,q=0),u=0;else break;return{schemaVersion:1,exportedAt:d,origin:f,userAgent:h,forensic:b,components:e,sessions:k,records:a}},rP=function(a){if($APP.ra(a)){if(typeof a.schemaVersion!=="number")return new $APP.N(null,1,[$APP.On,"Envelope is missing schemaVersion."],null);if($APP.I(1,
|
|
11
|
+
a.schemaVersion))return new $APP.N(null,1,[$APP.On,"Schema version mismatch: expected "+$APP.P.i(1)+", got "+$APP.P.i(a.schemaVersion)+"."],null);if($APP.p($APP.qa(a.records)))return new $APP.N(null,1,[$APP.On,"Envelope.records is not an array."],null);var b=a.records,c=b.length;a:{for(var d=0;;){if(d>=c){b=null;break a}var e=b[d];if($APP.ra(e)&&typeof e.id==="number"&&typeof e.t==="number"&&typeof e.type==="string")d+=1;else{b=d;break a}}b=void 0}return b==null?new $APP.N(null,1,[$APP.Cq,a],null):
|
|
12
|
+
new $APP.N(null,1,[$APP.On,"Record at index "+$APP.P.i(b)+" is missing required fields (id, t, type)."],null)}return new $APP.N(null,1,[$APP.On,"Envelope is not a JSON object."],null)},sP=function(a,b,c){return $APP.w(a)>=c?$APP.wd.j($APP.Oc(a),b):$APP.wd.j(a,b)},vP=function(){var a=kP.i($APP.bb(tP));return $APP.n(a)?$APP.wg(uP):$APP.Fm.j($APP.wg(uP),$APP.Br)},yP=function(a){var b=$APP.fe(function(c){var d=$APP.B(c,0,null);c=$APP.B(c,1,null);return $APP.$c(c,a)?d:null},wP);return $APP.n(b)?b:xP},
|
|
13
|
+
zP=function(a){try{var b=JSON.stringify(a)}catch(c){b=""}return $APP.n(b)?b.toLowerCase():""},DP=function(a,b){var c=$APP.H(b),d=$APP.C(c,cP),e=$APP.C(c,AP);b=$APP.C(c,BP);c=$APP.Hc(c,CP,zP);if(d=d==null||$APP.y.j("",d)||$APP.y.j("all",d)||$APP.y.j(d,a.tag)){if(e=e==null||$APP.$c(e,yP(a.type)))e=b==null||$APP.y.j("",b)||!((c.i?c.i(a):c.call(null,a)).indexOf(b)<0);d=e}return d},EP=function(a,b){return $APP.Oe(UO(function(c){return c.t},$APP.ue(function(c){return DP(c,b)},$APP.Ac(a))))},FP=function(a,
|
|
14
|
+
b){return typeof b==="number"?a.find(function(c){return $APP.y.j(b,c.id)}):null},GP=function(a){if(a!=null)try{var b=JSON.stringify(a),c=""+$APP.P.i(b);return c.length<=60?c:""+$APP.P.i(c.substring(0,60))+"…"}catch(d){return"(unstringifiable)"}else return null},HP=function(a){switch(a.type){case "event/dispatch":return""+$APP.P.i(a.eventName)+$APP.P.i(function(){var b=GP(a.detail);return $APP.n(b)?" "+$APP.P.i(b):null}());case "event/dispatch-cancelable":return""+$APP.P.i(a.eventName)+$APP.P.i($APP.n(a.defaultPrevented)?
|
|
15
|
+
" (prevented)":null)+$APP.P.i(function(){var b=GP(a.detail);return $APP.n(b)?" "+$APP.P.i(b):null}());case "event/dispatch-document":return""+$APP.P.i(a.eventName)+$APP.P.i(function(){var b=GP(a.detail);return $APP.n(b)?" "+$APP.P.i(b):null}());case "state/instance-field-set":return""+$APP.P.i(a.field)+" \x3d "+$APP.P.i(function(){var b=GP(a.value);return $APP.n(b)?b:"null"}());case "dom/attribute-set":return""+$APP.P.i(a.attribute)+"\x3d"+$APP.P.i($APP.ch($APP.Ac([a.value])));case "dom/attribute-removed":return""+
|
|
16
|
+
$APP.P.i(a.attribute)+" removed";case "lifecycle/connected":return"connected";case "lifecycle/disconnected":return"disconnected";case "lifecycle/attribute-changed":return""+$APP.P.i(a.attribute)+": "+$APP.P.i($APP.ch($APP.Ac([a.oldValue])))+" → "+$APP.P.i($APP.ch($APP.Ac([a.newValue])));default:return"("+$APP.P.i(a.type)+")"}},IP=function(a){if(typeof a!=="number")return"";if(a<1E3)return""+$APP.P.i(a.toFixed(0))+"ms";if(a<6E4)return""+$APP.P.i((a/1E3).toFixed(3))+"s";var b=$APP.qd(a,6E4)/1E3;return""+
|
|
17
|
+
$APP.P.i(Math.floor(a/6E4))+"m"+$APP.P.i(b.toFixed(1))+"s"},KP=function(a){a=yP(a.type);return $APP.C(JP,$APP.n(a)?a:xP)},MP=function(a){a=a.componentId;return $APP.n(a)?a:LP},PP=function(a){return $APP.Oe(UO(NP,$APP.oe.j(function(b){var c=$APP.B(b,0,null);b=$APP.B(b,1,null);var d=$APP.t(b);return new $APP.N(null,3,[OP,c,cP,d.tag,NP,$APP.Vd($APP.Hm,$APP.oe.j(function(e){return e.t},b))],null)},$APP.kh(MP,a))))},TP=function(a){if($APP.r(a)){var b=$APP.oe.j(function(c){return c.t},a);a=$APP.Vd($APP.Hm,
|
|
18
|
+
b);b=$APP.Vd($APP.Gm,b);return new $APP.N(null,3,[QP,a,RP,b,SP,$APP.Gm.j(1,b-a)],null)}return null},VP=function(a,b){return $APP.r(a)?$APP.Wd(UP,function(c){return Math.abs(c.t-b)},a):null},WP=function(a){if($APP.r(a)){var b=WO($APP.oe.j(function(d){return yP(d.type)},a)),c=$APP.Vd($APP.Gm,$APP.og(b));a=$APP.fe(function(d){return $APP.y.j(c,$APP.C(b,d))?d:null},uP);return $APP.n(a)?a:xP}return null},dQ=function(a,b){a=$APP.kh(function(c){c=b.i?b.i(c):b.call(null,c);return Math.floor(c/4)},a);return $APP.Oe(UO(XP,
|
|
19
|
+
$APP.oe.j(function(c){var d=$APP.B(c,0,null),e=$APP.B(c,1,null);c=$APP.oe.j(function(f){return f.t},e);e=$APP.Oe(UO(function(f){return f.id},e));return new $APP.N(null,7,[XP,d,YP,e,ZP,WP(e),$P,d*4,aQ,(d+1)*4,bQ,$APP.Vd($APP.Hm,c),cQ,$APP.Vd($APP.Gm,c)],null)},a)))},eQ=function(a){return $APP.fe(function(b){return $APP.w(YP.i(b))>3},a)},fQ=function(a){return $APP.r(a)?$APP.Vd($APP.Gm,$APP.oe.j(function(b){return $APP.w(YP.i(b))},a)):0},gQ=function(a,b){var c=b.id;a=UO(function(d){return d.t},$APP.ue(function(d){return $APP.y.j(c,
|
|
20
|
+
d.causeId)},$APP.Ac(a)));return new $APP.N(null,2,[$APP.ys,$APP.w(a),YP,$APP.Oe($APP.me(50,a))],null)},hQ=function(a,b){return $APP.Oe(UO(function(c){return c.id},$APP.ue(function(c){return $APP.y.j(b,c.causeId)},$APP.Ac(a))))},mQ=function(a,b){var c=XO(iQ(a,b));a=$APP.B(c,0,null);c=$APP.B(c,1,null);var d=$APP.kh(function(e){return e.causeId},a);return $APP.Vk.m(function h(f){var k=f.id;k=d.i?d.i(k):d.call(null,k);return new $APP.N(null,2,[jQ,f,kQ,$APP.xe(h,k)],null)}(b),lQ,$APP.E($APP.r(c)))},oQ=
|
|
21
|
+
function(a,b){return typeof b==="number"?$APP.fe(function(c){return $APP.y.j(b,$APP.ar.i(c))?c:null},nQ.i(a)):null},pQ=function(a,b,c,d){b===0?c="No records yet — interact with components to start tracing.":a===0?c=""+$APP.P.i(b)+" "+$APP.P.i($APP.y.j(1,b)?"record":"records")+" · all hidden by filter":(a=""+$APP.P.i(a)+$APP.P.i($APP.I(a,b)?" of "+$APP.P.i(b):null)+" "+$APP.P.i($APP.y.j(1,a)?"record":"records")+" · "+$APP.P.i(d)+" "+$APP.P.i($APP.y.j(1,d)?"lane":"lanes"),b=$APP.P,d=b.i,c=SP.i(c),c=
|
|
22
|
+
$APP.n(c)?" · spanning "+$APP.P.i(IP(c)):null,c=a+d.call(b,c));return c},rQ=function(a){return $APP.Vc(a)&&$APP.y.j(qQ,$APP.t(a))},tQ=function(a){return $APP.Vc(a)&&$APP.y.j(sQ,$APP.t(a))},uQ=function(a){return $APP.Vc(a)&&($APP.y.j(qQ,$APP.t(a))||$APP.y.j(sQ,$APP.t(a)))?$APP.Dc(a):null},vQ=function(a,b){a=$APP.l(a,"__xTraceHistoryUiState");return $APP.n(a)?(b=$APP.l(a,$APP.Dg(b)),void 0===b?null:b):null},wQ=function(a,b,c){var d=$APP.l(a,"__xTraceHistoryUiState");d=$APP.n(d)?d:{};b=$APP.Dg(b);d[b]=
|
|
23
|
+
c;a.__xTraceHistoryUiState=d},yQ=function(){var a=YP.i($APP.bb(tP)),b=$APP.bb(xQ),c=b[1];if(b[0]===a)return c;b=$APP.Xm($APP.Oe(a));YO(xQ,[a,b]);return b},DQ=function(){var a=zQ.J(AQ,$APP.Vk,BQ,!1);a=$APP.H(a);a=$APP.C(a,CQ);a=$APP.r(a);for(var b=null,c=0,d=0;;)if(d<c){var e=b.F(null,d);$APP.B(e,0,null);e=$APP.B(e,1,null);try{e.H?e.H():e.call(null)}catch(f){}d+=1}else if(a=$APP.r(a)){if($APP.Wc(a))c=$APP.Cb(a),a=$APP.Db(a),b=c,c=$APP.w(c);else{b=$APP.t(a);$APP.B(b,0,null);e=$APP.B(b,1,null);try{e.H?
|
|
24
|
+
e.H():e.call(null)}catch(f){}a=$APP.v(a);b=null;c=0}d=0}else return null},EQ=function(){if(AQ instanceof $APP.ke){var a=AQ.state;a=$APP.Vk.m?$APP.Vk.m(a,BQ,!0):$APP.Vk.call(null,a,BQ,!0);if(AQ instanceof $APP.ke){var b=AQ.lc;if(b!=null&&!$APP.n(b.i?b.i(a):b.call(null,a)))throw Error("Validator rejected reference state");b=AQ.state;AQ.state=a;AQ.$b!=null&&OO(AQ,b,a);a=new $APP.K(null,2,5,$APP.M,[b,a],null)}else a=new $APP.K(null,2,5,$APP.M,[$APP.bb(AQ),QO(AQ,a)],null)}else a=new $APP.K(null,2,5,$APP.M,
|
|
25
|
+
[$APP.bb(AQ),$APP.Am(AQ,$APP.Vk,BQ,!0)],null);b=$APP.B(a,0,null);$APP.B(a,1,null);return $APP.n(BQ.i(b))?null:requestAnimationFrame(DQ)},aaa=function(a,b){var c=FQ.i(a)+1;return GQ($APP.Vk.m(a,FQ,c),new $APP.K(null,2,5,$APP.M,[CQ,c],null),b)},baa=function(a,b,c){if($APP.y.j("document",b))return new $APP.N(null,2,[$APP.ar,null,HQ,!1],null);b=$APP.l(a,"__xTraceHistoryId");if(b!=null)return new $APP.N(null,2,[$APP.ar,b,HQ,!1],null);a.__xTraceHistoryId=c;return new $APP.N(null,2,[$APP.ar,c,HQ,!0],null)},
|
|
26
|
+
KQ=function(){var a=zQ.J(tP,IQ,JQ,RO);return JQ.i(a)-1},caa=function(a){zQ.j(LQ,RO);try{a.H?a.H():a.call(null)}finally{zQ.j(LQ,SO)}},MQ=function(a){var b=a.getRootNode();return b instanceof ShadowRoot?b.host:a.parentNode},NQ=function(a){for(;;)if(a!=null&&a instanceof Element){var b=a.localName;var c=b!=null;b=c?b.includes("-"):c;if($APP.n(b))return a;a=MQ(a)}else return null},OQ=function(a){if(a instanceof Node)for(a=MQ(a);;){if(a==null||a===document)return!1;if($APP.n($APP.l(a,"__xTraceHistoryInternal")))return!0;
|
|
27
|
+
a=MQ(a)}else return!1},PQ=function(a){var b=$APP.Dh.i(a);return $APP.$c(daa,$APP.O.i(a))?b instanceof Node?(a=$APP.l(b,"__xTraceHistoryInternal"),$APP.n(a)?a:OQ(b)):!1:OQ(b)},UQ=function(a,b,c,d){var e=$APP.bb(tP),f=$APP.Dh.i(a);if(!$APP.n(function(){var u=(u=$APP.p(d))?$APP.Qn.i(e):u;return $APP.n(u)?u:PQ(a)}())){var h=function(){var u=NQ(f);return $APP.n(u)?u:f}(),k=aP(h);h=baa(h,k,QQ.i(e));var m=$APP.H(h);h=$APP.C(m,$APP.ar);m=$APP.C(m,HQ);var q=$APP.Nc($APP.bb(RQ));q=$APP.Vk.B(a,cP,k,$APP.Ac([dP,
|
|
28
|
+
h,eP,q]));b=fP(q,b,c);b=sP(YP.i(e),b,SQ.i(e));c=$APP.n(m)?$APP.Vk.m(TQ.i(e),h,new $APP.N(null,2,[cP,k,lP,c],null)):TQ.i(e);k=$APP.n(m)?h+1:QQ.i(e);zQ.B(tP,$APP.Vk,YP,b,$APP.Ac([QQ,k,TQ,c]));EQ()}},VQ=function(a,b){var c=NQ(b);b=$APP.l($APP.n(c)?c:b,"__xTraceHistoryId");if($APP.n(b))switch(c=$APP.O.i(a),c instanceof $APP.F?c.ea:null){case "event/dispatch":case "event/dispatch-cancelable":case "event/dispatch-document":return""+$APP.P.i(b)+":evt:"+$APP.P.i($APP.mi.i(a));case "state/instance-field-set":return""+
|
|
29
|
+
$APP.P.i(b)+":fld:"+$APP.P.i($APP.di.i(a));case "dom/attribute-set":case "dom/attribute-removed":return""+$APP.P.i(b)+":attr:"+$APP.P.i($APP.Gh.i(a));default:return null}else return null},XQ=function(a,b,c,d){var e=$APP.p(kP.i(a));return e?(b=VQ(b,c),$APP.n(b)?(a=$APP.C(WQ.i(a),b),$APP.n(a)?d-a<16:null):null):e},YQ=function(a,b,c){if($APP.n(kP.i($APP.bb(tP))))return null;a=VQ(a,b);return $APP.n(a)?zQ.J(tP,GQ,new $APP.K(null,2,5,$APP.M,[WQ,a],null),c):null},$Q=function(a){var b=$APP.O.i(a),c=$APP.Dh.i(a),
|
|
30
|
+
d=performance.now();if($APP.n(function(){var f=$APP.bb(LQ)>0;if(f)return f;f=$APP.bb(ZQ);f=$APP.n(f)?$APP.$c(eaa,b):f;if($APP.n(f))return f;f=PQ(a);return $APP.n(f)?f:XQ($APP.bb(tP),a,c,d)}()))return null;var e=KQ();UQ(a,e,d,!1);return YQ(a,c,d)},faa=function(){var a=EventTarget.prototype,b=a.dispatchEvent;$APP.n($APP.l(b,"__xTraceHistoryWrapped"))||(YO(aR,b),b=function(c){var d=$APP.bb(aR);var e=$APP.p($APP.bb(ZQ));e||(e=$APP.Qn.i($APP.bb(tP)),e=$APP.n(e)?e:$APP.bb(LQ)>0||OQ(this));if($APP.n(e))c=
|
|
31
|
+
d.call(this,c);else{e=c instanceof CustomEvent;var f=performance.now(),h=e?new $APP.N(null,2,[$APP.O,this===document?$APP.si:$APP.n(c.cancelable)?$APP.qi:$APP.li,$APP.mi,c.type],null):null;if($APP.n(e?XQ($APP.bb(tP),h,this,f):e))c=d.call(this,c);else{var k=KQ();zQ.m(RQ,$APP.wd,k);try{var m=d.call(this,c)}finally{zQ.j(RQ,$APP.Oc)}if(e)try{UQ(new $APP.N(null,6,[$APP.O,this===document?$APP.si:$APP.n(c.cancelable)?$APP.qi:$APP.li,$APP.Dh,this,$APP.mi,c.type,$APP.V,c.detail,$APP.ni,c.cancelable,$APP.oi,
|
|
32
|
+
c.defaultPrevented],null),k,f,!0),YQ(h,this,f)}catch(q){}c=m}}return c},b.__xTraceHistoryWrapped=!0,a.dispatchEvent=b)},gaa=function(){return yQ()},haa=function(){var a=TQ.i($APP.bb(tP)),b={};a=$APP.r(a);for(var c=null,d=0,e=0;;)if(e<d){var f=c.F(null,e),h=$APP.B(f,0,null),k=$APP.B(f,1,null);f=b;h=""+$APP.P.i(h);k={tag:cP.i(k),firstSeen:lP.i(k)};f[h]=k;e+=1}else if(a=$APP.r(a))$APP.Wc(a)?(d=$APP.Cb(a),a=$APP.Db(a),c=d,d=$APP.w(d)):(c=$APP.t(a),d=$APP.B(c,0,null),e=$APP.B(c,1,null),c=b,d=""+$APP.P.i(d),
|
|
33
|
+
e={tag:cP.i(e),firstSeen:lP.i(e)},c[d]=e,a=$APP.v(a),c=null,d=0),e=0;else break;return b},iaa=function(a){var b=a.components;return b==null?$APP.we:$APP.oe.j(function(c){return $APP.l(b,c).tag},Object.keys(b))},jaa=function(){var a=$APP.bb(tP),b=$APP.oe.j(cP,$APP.og(TQ.i(a)));a=$APP.se(function(c){c=$APP.H(c);c=$APP.C(c,bR);return iaa(c)},$APP.Ac([cR.i(a)]));return $APP.Oe($APP.tf.j($APP.Cg(),$APP.re.j(b,a)))},dR=function(){zQ.J(tP,$APP.Vk,$APP.Qn,!0);return EQ()},eR=function(){zQ.J(tP,$APP.Vk,$APP.Qn,
|
|
34
|
+
!1);return EQ()},jR=function(){zQ.B(tP,$APP.Vk,YP,fR,$APP.Ac([JQ,0,gR,$APP.we,hR,0,iR,null,WQ,$APP.ce]));return EQ()},kR=function(){return iR.i($APP.bb(tP))},kaa=function(a,b,c,d){return b==null?a:$APP.xe(function(e){e=$APP.H(e);var f=$APP.C(e,$APP.ar);return $APP.y.j(f,b)?$APP.Vk.B(e,nP,c,$APP.Ac([pP,d])):e},a)},lR=function(){var a=performance.now();zQ.j(tP,function(b){return $APP.Vk.m(IQ.ua(b,gR,kaa,iR.i(b),a,JQ.i(b)),iR,null)});return EQ()},mR=function(){kR()!=null&&(console.warn("[x-trace-history] start-session! called while a session was already active — stopping the previous one"),
|
|
35
|
+
lR());var a=performance.now();zQ.j(tP,function(b){var c=hR.i(b),d=JQ.i(b);return $APP.Vk.B(IQ.J(b,gR,$APP.wd,new $APP.N(null,6,[$APP.ar,c,$APP.bj,"Session "+$APP.P.i(c),mP,a,nP,null,oP,d,pP,null],null)),iR,c,$APP.Ac([hR,c+1]))});EQ();return iR.i($APP.bb(tP))},nR=function(a,b){var c=$APP.H(b);b=$APP.C(c,oP);c=$APP.C(c,pP);a=a.id;return a>=b&&(c==null||a<c)},oR=function(){var a=$APP.bb(tP),b=yQ(),c=$APP.Ac(b);return $APP.Xm($APP.xe(function(d){var e=$APP.H(d);d=$APP.C(e,$APP.ar);var f=$APP.C(e,$APP.bj),
|
|
36
|
+
h=$APP.C(e,mP),k=$APP.C(e,nP),m=$APP.w($APP.ue(function(q){return nR(q,e)},c));return{id:d,label:f,startT:h,endT:$APP.n(k)?k:null,recordCount:m}},gR.i(a)))},pR=function(a){var b=$APP.bb(tP),c=$APP.t($APP.ue(function(d){return $APP.y.j($APP.ar.i(d),a)},gR.i(b)));return $APP.n(c)?$APP.Xm(UO(function(d){return d.t},$APP.ue(function(d){return nR(d,c)},$APP.Bc(yQ())))):[]},laa=function(a){if(typeof a==="string"){try{var b=JSON.parse(a)}catch(c){b=qR}a=$APP.y.j(b,qR)?new $APP.N(null,1,[$APP.On,"File is not valid JSON."],
|
|
37
|
+
null):rP(b)}else a=$APP.ra(a)?rP(a):new $APP.N(null,1,[$APP.On,"Import expects a JSON string or a parsed envelope object."],null);return a},rR=function(a){zQ.J(tP,IQ,cR,function(b){return $APP.Oe($APP.ve(function(c){c=$APP.H(c);c=$APP.C(c,$APP.ar);return $APP.y.j(c,a)},b))});return EQ()},tR=function(){return $APP.Xm($APP.xe(function(a){var b=$APP.H(a);a=$APP.C(b,$APP.ar);var c=$APP.C(b,$APP.bj),d=$APP.C(b,sR);b=$APP.C(b,bR);return{id:a,label:c,importedAt:d,recordCount:b.records.length}},cR.i($APP.bb(tP))))},
|
|
38
|
+
uR=function(a){var b=$APP.t($APP.ue(function(c){return $APP.y.j($APP.ar.i(c),a)},cR.i($APP.bb(tP))));return $APP.n(b)?bR.i(b).records:[]},vR=function(a,b){return new $APP.N(null,4,[iP,a.getTime(),$APP.fr,function(){var c=window;c=c==null?null:c.location;c=c==null?null:c.href;return $APP.n(c)?c:""}(),jP,function(){var c=navigator;c=c==null?null:c.userAgent;return $APP.n(c)?c:""}(),kP,b],null)},maa=function(){var a=$APP.bb(tP),b=yQ(),c=vR(new Date,kP.i(a));return qP(b,TQ.i(a),gR.i(a),c)},wR=function(){var a=
|
|
39
|
+
new Date,b=$APP.bb(tP),c=yQ(),d=vR(a,kP.i(b));b=qP(c,TQ.i(b),gR.i(b),d);b=JSON.stringify(b,null,2);a=""+$APP.P.i("baredom-trace-")+$APP.P.i(a.getFullYear())+$APP.P.i(gP(a.getMonth()+1))+$APP.P.i(gP(a.getDate()))+"-"+$APP.P.i(gP(a.getHours()))+$APP.P.i(gP(a.getMinutes()))+$APP.P.i(gP(a.getSeconds()))+$APP.P.i(".trace.json");b=URL.createObjectURL(new Blob([b],{type:"application/json"}));c=document.createElement("a");c.href=b;c.download=a;c.style.display="none";document.body.appendChild(c);try{var e=
|
|
40
|
+
c.click()}finally{document.body.removeChild(c),URL.revokeObjectURL(b)}return e},xR=function(a){return(""+$APP.P.i(a)).replace(naa,"\x26amp;").replace(oaa,"\x26lt;").replace(paa,"\x26gt;").replace(qaa,"\x26quot;").replace(raa,"\x26#39;")},saa=function(a){return"\x3coption value\x3d'"+$APP.P.i(xR(a))+"'\x3e"+$APP.P.i(xR(a))+"\x3c/option\x3e"},yR=function(a,b){return"\x3clabel class\x3d'cat'\x3e\x3cx-checkbox data-x-th-cat\x3d'"+$APP.P.i(a)+"' "+$APP.P.i($APP.n(b)?"checked ":null)+"aria-label\x3d'"+
|
|
41
|
+
$APP.P.i(a)+"'\x3e\x3c/x-checkbox\x3e"+$APP.P.i(a)+"\x3c/label\x3e"},taa=function(a,b){return $APP.Vd($APP.P,$APP.oe.j(function(c){var d=$APP.H(c);c=$APP.C(d,OP);var e=$APP.C(d,cP),f=$APP.H(d);d=$APP.C(f,OP);f=$APP.C(f,cP);d=$APP.y.j(LP,d)?"document":""+$APP.P.i(f)+" #"+$APP.P.i(d);f=$APP.y.j(LP,c)?"document":e;var h=$APP.y.j(b,f);return"\x3cdiv class\x3d'lane-label"+$APP.P.i(h?" active":null)+"' data-x-th-lane-tag\x3d'"+$APP.P.i(xR(f))+"' title\x3d'"+$APP.P.i(xR(d))+"'\x3e"+$APP.P.i(xR($APP.y.j(LP,
|
|
42
|
+
c)?"document":e))+$APP.P.i($APP.I(LP,c)?" \x3cspan class\x3d'cid'\x3e#"+$APP.P.i(c)+"\x3c/span\x3e":null)+"\x3c/div\x3e"},a))},uaa=function(a,b,c){return $APP.n(a)?"\x3cline class\x3d'scrubber' x1\x3d'"+$APP.P.i(b)+"' y1\x3d'0' x2\x3d'"+$APP.P.i(b)+"' y2\x3d'"+$APP.P.i(c)+"' /\x3e":""},zR=function(a,b,c,d){a=UO(function(e){return $APP.y.j(e.id,d)?1:0},a);return $APP.Vd($APP.P,$APP.oe.j(function(e){var f=c.i?c.i(e):c.call(null,e),h=b+10,k=$APP.y.j(e.id,d),m=k?6.5:4.5;return"\x3ccircle class\x3d'dot"+
|
|
43
|
+
$APP.P.i(k?" selected":null)+"' data-x-th-id\x3d'"+$APP.P.i(e.id)+"' cx\x3d'"+$APP.P.i(f)+"' cy\x3d'"+$APP.P.i(h)+"' r\x3d'"+$APP.P.i(m)+"' fill\x3d'"+$APP.P.i(KP(e))+"' /\x3e"},a))},vaa=function(a,b,c,d){if(c==null)return"";a=$APP.fe(function(e){e=$APP.H(e);e=$APP.C(e,YP);return $APP.fe(function(f){return $APP.y.j(f.id,c)?f:null},e)},a);return $APP.n(a)?(d=d.i?d.i(a):d.call(null,a),"\x3cline class\x3d'density-selected' x1\x3d'"+$APP.P.i(d)+"' y1\x3d'"+$APP.P.i(b)+"' x2\x3d'"+$APP.P.i(d)+"' y2\x3d'"+
|
|
44
|
+
$APP.P.i(b+20)+"' /\x3e"):""},waa=function(a,b,c,d){var e=fQ(a);return""+$APP.P.i($APP.Vd($APP.P,$APP.oe.j(function(f){var h=$APP.H(f),k=$APP.C(h,YP);f=$APP.C(h,ZP);h=$APP.C(h,$P);var m=$APP.t(k),q=$APP.C(JP,$APP.n(f)?f:xP);var u=$APP.w(k);u=u==null||u===0||e==null||e===0?0:u>=e?1:.4+.6*((u-1)/$APP.Gm.j(1,e-1));var x=xR($APP.Dg($APP.n(f)?f:xP));k=$APP.w(k);f=""+$APP.P.i(k)+" "+$APP.P.i($APP.y.j(1,k)?"record":"records")+" · "+$APP.P.i($APP.Dg($APP.n(f)?f:xP));return"\x3crect class\x3d'density-bin' role\x3d'button' aria-label\x3d'"+
|
|
45
|
+
$APP.P.i(xR(f))+"' data-x-th-bin-record-id\x3d'"+$APP.P.i(m.id)+"' data-x-th-bin-count\x3d'"+$APP.P.i(k)+"' data-x-th-bin-cat\x3d'"+$APP.P.i(x)+"' x\x3d'"+$APP.P.i(h)+"' y\x3d'"+$APP.P.i(b)+"' width\x3d'"+$APP.P.i(4)+"' height\x3d'"+$APP.P.i(20)+"' fill\x3d'"+$APP.P.i(q)+"' fill-opacity\x3d'"+$APP.P.i(u)+"' /\x3e"},a)))+$APP.P.i(vaa(a,b,c,d))},xaa=function(a,b,c,d,e,f){function h(A){a:{var D=$APP.C(x,A.id);var G=a instanceof $APP.F?a.ea:null;switch(G){case "order":A=$APP.Gm.j(0,e-16);D=u===0||u<0?
|
|
46
|
+
8:$APP.y.j(1,u)?8+A/2:8+$APP.Hm.j($APP.Gm.j(D/(u-1),0),1)*A;break a;case "time":D=A.t;G=$APP.H(d);A=$APP.C(G,QP);G=$APP.C(G,SP);var J=$APP.Gm.j(0,e-16);D=A==null||G==null?8:8+$APP.Hm.j($APP.Gm.j((D-A)/G,0),1)*J;break a;default:throw Error("No matching clause: "+$APP.P.i(G));}}return D}var k=$APP.n(f)?f.id:null,m=$APP.tf.j($APP.ce,$APP.ie(function(A,D){D=$APP.H(D);D=$APP.C(D,OP);return new $APP.K(null,2,5,$APP.M,[D,A*20],null)},c)),q=$APP.Gm.j(20,20*$APP.w(c)),u=$APP.w(b),x=$APP.tf.j($APP.ce,$APP.ie(function(A,
|
|
47
|
+
D){return new $APP.K(null,2,5,$APP.M,[D.id,A],null)},b)),z=$APP.kh(MP,b);return"\x3csvg class\x3d'timeline-svg' width\x3d'"+$APP.P.i(e)+"' height\x3d'"+$APP.P.i(q)+"' viewBox\x3d'0 0 "+$APP.P.i(e)+" "+$APP.P.i(q)+"'\x3e"+$APP.P.i($APP.Vd($APP.P,$APP.oe.j(function(A){A=$APP.H(A);var D=$APP.C(A,OP);A=$APP.Hc(z,D,$APP.we);D=$APP.C(m,D);if($APP.y.j(AR,a)){var G=dQ(A,h);A=$APP.n(eQ(G))?waa(G,D,k,h):zR(A,D,h,k)}else A=zR(A,D,h,k);return A},c)))+$APP.P.i(uaa(f,$APP.n(f)?h(f):null,q))+"\x3c/svg\x3e"},yaa=
|
|
48
|
+
function(a,b,c,d,e,f,h,k){if($APP.w(d)===0)a.innerHTML="",b.innerHTML="\x3cdiv class\x3d'timeline-empty'\x3eNo records match the current filter.\x3c/div\x3e";else{var m=$APP.Gm.j(200,b.clientWidth);a.innerHTML=taa(e,k);b.innerHTML=xaa(c,d,e,f,m,h)}},BR=function(a){return""+$APP.P.i(a.tag)+" · "+$APP.P.i(a.type)},zaa=function(a){var b=$APP.H(a);a=$APP.C(b,CR);var c=$APP.C(b,DR),d=$APP.C(b,ER);b=$APP.C(b,FR);c+=14;b-=14;return"\x3cline class\x3d'edge' x1\x3d'"+$APP.P.i(a)+"' y1\x3d'"+$APP.P.i(c)+"' x2\x3d'"+
|
|
49
|
+
$APP.P.i(d)+"' y2\x3d'"+$APP.P.i(b)+"' /\x3e"},Aaa=function(a,b){var c=$APP.H(a);a=$APP.C(c,nQ);var d=$APP.C(c,GR),e=$APP.C(c,$APP.Vl);c=$APP.C(c,$APP.Wl);return"\x3csvg class\x3d'causality-svg' width\x3d'"+$APP.P.i(e)+"' height\x3d'"+$APP.P.i(c)+"' viewBox\x3d'0 0 "+$APP.P.i(e)+" "+$APP.P.i(c)+"'\x3e"+$APP.P.i($APP.Vd($APP.P,$APP.oe.j(zaa,d)))+$APP.P.i($APP.Vd($APP.P,$APP.oe.j(function(f){var h=$APP.H(f),k=$APP.C(h,$APP.ar);f=$APP.C(h,jQ);var m=$APP.C(h,HR);h=$APP.C(h,IR);m-=70;var q=h-14,u=$APP.y.j(k,
|
|
50
|
+
b),x=m+12,z=m+22,A=m+22,D=q+18,G=q+11,J=xR("#"+$APP.P.i(k)+" "+$APP.P.i(BR(f))+" · "+$APP.P.i(HP(f)));k="\x3cg data-x-th-link-id\x3d'"+$APP.P.i(k)+"' role\x3d'button' aria-label\x3d'"+$APP.P.i(J)+"'\x3e\x3ctitle\x3e"+$APP.P.i(J)+"\x3c/title\x3e\x3crect class\x3d'node-rect"+$APP.P.i(u?" selected":null)+"' x\x3d'"+$APP.P.i(m)+"' y\x3d'"+$APP.P.i(q)+"' width\x3d'"+$APP.P.i(140)+"' height\x3d'"+$APP.P.i(28)+"' /\x3e\x3ccircle class\x3d'node-dot' cx\x3d'"+$APP.P.i(x)+"' cy\x3d'"+$APP.P.i(h)+"' r\x3d'"+
|
|
51
|
+
$APP.P.i(4)+"' fill\x3d'"+$APP.P.i(KP(f))+"' /\x3e\x3ctext class\x3d'node-text id' x\x3d'"+$APP.P.i(z)+"' y\x3d'"+$APP.P.i(G)+"'\x3e#"+$APP.P.i(k)+"\x3c/text\x3e\x3ctext class\x3d'node-text' x\x3d'"+$APP.P.i(A)+"' y\x3d'"+$APP.P.i(D)+"'\x3e";h=$APP.P;m=h.i;f=BR(f);f=""+$APP.P.i(f);f=f.length<=22?f:""+$APP.P.i(f.substring(0,21))+"…";return k+m.call(h,xR(f))+"\x3c/text\x3e\x3c/g\x3e"},a)))+"\x3c/svg\x3e"},Caa=function(a,b,c,d){if(d==null)wQ(a,JR,null),b.innerHTML="\x3cdiv class\x3d'causality-empty'\x3e"+
|
|
52
|
+
$APP.P.i(xR("Select a record from the timeline to see its causality tree."))+"\x3c/div\x3e";else{a:{var e=d;for(var f=0;;){var h=e.causeId;if(typeof h!=="number"||f>=5E3)break a;h=FP(c,h);if($APP.n(h))f+=1,e=h;else break a}e=void 0}e=mQ(c,e);c=new $APP.N(null,2,[KR,LR(e),Baa,MR(e)],null);if($APP.n(lQ.i(e)))wQ(a,JR,null),a=$APP.P,d=a.i,c=$APP.H(c),c=$APP.C(c,KR),c="Causality tree exceeds the "+$APP.P.i(200)+"-node cap (≥ "+$APP.P.i(c)+" nodes). Pick a smaller leaf record to view its subtree.",b.innerHTML=
|
|
53
|
+
"\x3cdiv class\x3d'causality-empty'\x3e"+d.call(a,xR(c))+"\x3c/div\x3e";else{e=NR(e,0,16);f=$APP.B(e,0,null);$APP.B(e,1,null);e=OR(f);f=PR(f);h=$APP.ya($APP.Gm,0,$APP.oe.j(HR,e));var k=$APP.ya($APP.Gm,0,$APP.oe.j(IR,e));e=new $APP.N(null,4,[nQ,e,GR,f,$APP.Vl,h+70+16,$APP.Wl,k+14+16],null);c=$APP.y.j(1,KR.i(c));wQ(a,JR,e);b.innerHTML=""+$APP.P.i(c?"\x3cdiv class\x3d'causality-leaf-hint'\x3e"+$APP.P.i(xR("This record has no cause and no effects in the current buffer. Pick an event/dispatch* record (or one with a 'Caused by' link in the detail pane) to see a chain."))+
|
|
54
|
+
"\x3c/div\x3e":null)+$APP.P.i(Aaa(e,d.id))}}},Daa=function(a){if($APP.n(vQ(a,QR))){var b=$APP.l(a,"__xTraceHistoryCausalityEl"),c=vQ(a,JR),d=RR.i?RR.i(a):RR.call(null,a),e=$APP.n(c)?oQ(c,d):null,f=b==null?null:b.clientWidth;d=b==null?null:b.clientHeight;if($APP.n($APP.n(b)?$APP.n(c)?$APP.n(e)?typeof f==="number"&&typeof d==="number"&&f>0&&d>0:e:c:b)){var h=$APP.H(c);c=$APP.C(h,$APP.Vl);h=$APP.C(h,$APP.Wl);var k=HR.i(e),m=IR.i(e);e=k-f/2;k=m-d/2;f=$APP.Gm.j(0,c-f);d=$APP.Gm.j(0,h-d);d=new $APP.N(null,
|
|
55
|
+
2,[SR,$APP.Gm.j(0,$APP.Hm.j(f,e)),TR,$APP.Gm.j(0,$APP.Hm.j(d,k))],null);f=$APP.H(d);d=$APP.C(f,SR);f=$APP.C(f,TR);b.scrollLeft=d;b.scrollTop=f;return wQ(a,QR,!1)}}return null},Eaa=function(a){var b=jaa();a:{var c=a.querySelectorAll("option");for(var d=c.length,e=0,f=$APP.vb($APP.sg);;){if(e>=d){c=$APP.xb(f);break a}var h=c[e].value;e+=1;f=$APP.y.j(h,"all")?f:$APP.wb(f,h)}c=void 0}b=$APP.ve(c,b);$APP.r(b)&&(b=$APP.Vd($APP.P,$APP.oe.j(saa,b)),a.insertAdjacentHTML("beforeend",b))},Faa=function(a){var b=
|
|
56
|
+
$APP.Qn.i($APP.bb(tP));a.textContent=$APP.n(b)?"Resume":"Pause";a.pressed=b},Gaa=function(a){var b=kR()!=null;a.textContent=b?"Stop":"Record";a.pressed=b},Haa=function(a){var b=$APP.H(a);a=$APP.C(b,UR);var c=$APP.C(b,$APP.Zk),d=$APP.C(b,VR),e=$APP.C(b,WR),f=$APP.C(b,$APP.bj);b=$APP.C(b,YR);return"\x3cbutton class\x3d'session-chip"+$APP.P.i($APP.n(c)?" active":null)+$APP.P.i($APP.n(e)?" import":null)+"' type\x3d'button' data-x-th-session\x3d'"+$APP.P.i(xR(a))+"'\x3e"+$APP.P.i($APP.n(d)?"\x3cspan class\x3d'live-dot' aria-hidden\x3d'true'\x3e\x3c/span\x3e":
|
|
57
|
+
null)+$APP.P.i(xR(f))+$APP.P.i($APP.n(e)?"\x3cspan class\x3d'chip-close' role\x3d'button' aria-label\x3d'Remove import' data-x-th-import-close\x3d'"+$APP.P.i(b)+"'\x3e×\x3c/span\x3e":null)+"\x3c/button\x3e"},Iaa=function(a,b,c,d){var e=new $APP.N(null,5,[UR,"live",$APP.Zk,$APP.y.j(c,$APP.Pn),VR,!1,WR,!1,$APP.bj,"Live"],null),f=rQ(c)?uQ(c):null,h=tQ(c)?uQ(c):null;a=$APP.xe(function(k){var m=k.id;return new $APP.N(null,5,[UR,""+$APP.P.i(m),$APP.Zk,$APP.y.j(m,f),VR,$APP.y.j(m,d),WR,!1,$APP.bj,""+$APP.P.i(k.label)+
|
|
58
|
+
" · "+$APP.P.i(k.recordCount)],null)},$APP.Ac(a));b=$APP.xe(function(k){var m=k.id;return new $APP.N(null,6,[UR,"import:"+$APP.P.i(m),$APP.Zk,$APP.y.j(m,h),VR,!1,WR,!0,YR,m,$APP.bj,""+$APP.P.i(k.label)+" · "+$APP.P.i(k.recordCount)],null)},$APP.Ac(b));return $APP.Vd($APP.P,$APP.oe.j(Haa,$APP.re.B(new $APP.K(null,1,5,$APP.M,[e],null),a,$APP.Ac([b]))))},Jaa=function(a,b,c,d,e){a.innerHTML=Iaa(b,c,d,e);b.length===0&&c.length===0?a.setAttribute("hidden",""):a.removeAttribute("hidden")},ZR=function(a){var b=
|
|
59
|
+
HP(a);b="#"+$APP.P.i(a.id)+" "+$APP.P.i(a.tag)+" · "+$APP.P.i(a.type)+$APP.P.i($APP.n($APP.n(b)?!$APP.Th(b):b)?" · "+$APP.P.i(b):null);return"\x3cx-button class\x3d'detail-link' size\x3d'sm' variant\x3d'ghost' data-x-th-link-id\x3d'"+$APP.P.i(a.id)+"' title\x3d'"+$APP.P.i(xR(b))+"'\x3e"+$APP.P.i(xR(b))+"\x3c/x-button\x3e"},Kaa=function(a,b,c,d){if($APP.n(d)){var e=JSON.stringify(d,null,2);var f=d.causeId;var h=typeof f==="number"?FP(c,f):null;f=gQ(c,d);e="\x3cpre class\x3d'detail-json'\x3e"+$APP.P.i(xR(e))+
|
|
60
|
+
"\x3c/pre\x3e"+$APP.P.i($APP.n(h)?"\x3cdiv class\x3d'detail-section' data-x-th-detail-cause\x3e\x3cdiv class\x3d'detail-label'\x3eCaused by\x3c/div\x3e"+$APP.P.i(ZR(h))+"\x3c/div\x3e":null);c=$APP.P;d=c.i;h=$APP.H(f);f=$APP.C(h,$APP.ys);h=$APP.C(h,YP);if(f>0){var k=$APP.w(h);f=$APP.y.j(k,f)?"Effects ("+$APP.P.i(f)+")":"Effects ("+$APP.P.i(k)+" of "+$APP.P.i(f)+")";f="\x3cdiv class\x3d'detail-section' data-x-th-detail-effects\x3e\x3cdiv class\x3d'detail-label'\x3e"+$APP.P.i(f)+"\x3c/div\x3e"+$APP.P.i($APP.Vd($APP.P,
|
|
61
|
+
$APP.oe.j(ZR,h)))+"\x3c/div\x3e"}else f=null;e+=d.call(c,f);a.innerHTML=e;a.removeAttribute("hidden");b.removeAttribute("hidden")}else a.setAttribute("hidden",""),b.setAttribute("hidden","")},aS=function(a){var b=$R.get(a);if($APP.n(b))return b;b=zP(a);$R.set(a,b);return b},bS=function(a){return $APP.y.j(a,$APP.Pn)?"live":rQ(a)?"session:"+$APP.P.i(uQ(a)):tQ(a)?"import:"+$APP.P.i(uQ(a)):"live"},RR=function(a){var b=$APP.l(a,"__xTraceHistoryView");a=$APP.l(a,"__xTraceHistoryViewSelected");return $APP.n(a)?
|
|
62
|
+
$APP.l(a,bS(b)):null},dS=function(a,b){var c=$APP.l(a,"__xTraceHistoryViewSelected");c=$APP.n(c)?c:{};var d=bS($APP.l(a,"__xTraceHistoryView"));b==null?d in c&&delete c[d]:c[d]=b;$APP.R(a,"__xTraceHistoryViewSelected",c);b!=null&&$APP.y.j(cS,$APP.l(a,"__xTraceHistoryDockMode"))&&wQ(a,QR,!0)},Laa=function(a,b,c){var d=RR(a);b=FP(b,d);if(b==null)return null;if(DP(b,$APP.Vk.m(c,CP,aS)))return b;dS(a,null);return null},eS=function(a){return $APP.y.j(a,$APP.Pn)?yQ():rQ(a)?(a=pR(uQ(a)),a.length===0?yQ():
|
|
63
|
+
a):tQ(a)?(a=uR(uQ(a)),a.length===0?yQ():a):yQ()},Maa=function(a,b,c,d){switch(d instanceof $APP.F?d.ea:null){case "causality":b.setAttribute("hidden","");c.removeAttribute("hidden");a.classList.add("causality-mode");break;default:b.removeAttribute("hidden"),c.setAttribute("hidden",""),a.classList.remove("causality-mode")}},gS=function(a){var b=$APP.l(a,"__xTraceHistoryTimelineEl"),c=$APP.l(a,"__xTraceHistoryCausalityEl"),d=$APP.l(a,"__xTraceHistoryLanesEl"),e=$APP.l(a,"__xTraceHistorySvgPaneEl"),
|
|
64
|
+
f=$APP.l(a,"__xTraceHistoryCountEl"),h=$APP.l(a,"__xTraceHistoryDetailEl"),k=$APP.l(a,"__xTraceHistorySplitterEl"),m=$APP.l(a,"__xTraceHistoryHintEl"),q=$APP.l(a,"__xTraceHistoryPauseBtn"),u=$APP.l(a,"__xTraceHistoryRecordBtn"),x=$APP.l(a,"__xTraceHistorySessionsEl"),z=$APP.l(a,"__xTraceHistoryTagSelectEl"),A=$APP.l(a,"__xTraceHistoryFilter"),D=$APP.l(a,"__xTraceHistoryView"),G=eS(D),J=EP(G,$APP.Vk.m(A,CP,aS)),S=$APP.w(J),Q=G.length,X=TP(J),ja=PP(J),ka=Laa(a,G,A),na=oR(),Ga=tR(),Ia=kR(),$a=function(){var Gb=
|
|
65
|
+
$APP.l(a,"__xTraceHistoryAxisMode");return $APP.n(Gb)?Gb:$APP.Cp}(),nb=function(){var Gb=$APP.l(a,"__xTraceHistoryDockMode");return $APP.n(Gb)?Gb:fS}();Eaa(z);Maa(a,b,c,nb);switch(nb instanceof $APP.F?nb.ea:null){case "causality":Caa(a,c,G,ka);break;default:yaa(d,e,$a,J,ja,X,ka,cP.i(A))}f.textContent=""+$APP.P.i(S);m.textContent=pQ(S,Q,X,$APP.w(ja));Kaa(h,k,G,ka);Faa(q);Gaa(u);Jaa(x,na,Ga,D,Ia);return Daa(a)},hS=function(a){return $APP.n(a)?$APP.y.j("circle",a.tagName.toLowerCase()):a},iS=function(a){return $APP.n(a)?
|
|
66
|
+
$APP.y.j("rect",a.tagName.toLowerCase())&&a.getAttribute("data-x-th-bin-record-id")!=null:a},jS=function(a){a=a.getAttribute("data-x-th-id");return $APP.n(a)?parseInt(a,10):null},kS=function(a,b){$APP.n(b)?a.classList.add("collapsed"):a.classList.remove("collapsed");a=$APP.l(a,"__xTraceHistoryCollapseBtn");return $APP.n(a)?(a.textContent=$APP.n(b)?"»":"«",a.setAttribute("aria-expanded",$APP.n(b)?"false":"true")):null},lS=function(a){var b=!$APP.E($APP.l(a,"__xTraceHistoryCollapsed"));$APP.R(a,"__xTraceHistoryCollapsed",
|
|
67
|
+
b);return kS(a,b)},Naa=function(a,b){$APP.R(a,"__xTraceHistoryAxisMode",function(){switch(b){case "order":return $APP.Cp;case "time":return AR;default:return $APP.Cp}}());return gS(a)},Oaa=function(a,b){var c=function(){switch(b){case "timeline":return fS;case "causality":return cS;default:return fS}}();$APP.R(a,"__xTraceHistoryDockMode",c);$APP.y.j(cS,c)?wQ(a,QR,!0):wQ(a,QR,!1);return gS(a)},mS=function(a,b,c,d){a.textContent=d;a.removeAttribute("hidden");var e=b.getBoundingClientRect();d=c.clientX-
|
|
68
|
+
e.left;c=c.clientY-e.top;e=b.scrollTop;var f=b.scrollLeft;b=$APP.Gm.j(0,d+12+280>b.clientWidth?d-12-280:d+12);a.style.left=""+$APP.P.i(b+f)+"px";return a.style.top=""+$APP.P.i(c+e+12)+"px"},Paa=function(a,b){var c=b.target,d=$APP.l(a,"__xTraceHistoryTooltipEl"),e=$APP.l(a,"__xTraceHistoryTimelineEl");a=eS($APP.l(a,"__xTraceHistoryView"));if($APP.n(hS(c))){c=jS(c);a=FP(a,c);if($APP.n(a)){c=""+$APP.P.i(a.tag);var f=$APP.P,h=f.i;var k=a.componentId;k=$APP.n(k)?" #"+$APP.P.i(k):null;a=c+h.call(f,k)+"\n"+
|
|
69
|
+
$APP.P.i(a.type)+"\n"+$APP.P.i(HP(a))+"\n@ "+$APP.P.i(IP(a.t));b=mS(d,e,b,a)}else b=null;return b}if($APP.n(iS(c))){f=c.getAttribute("data-x-th-bin-record-id");h=c.getAttribute("data-x-th-bin-count");c=c.getAttribute("data-x-th-bin-cat");c=$APP.n($APP.n(f)?$APP.n(h)?c:h:f)?new $APP.N(null,3,[nS,parseInt(f,10),oS,parseInt(h,10),ZP,$APP.Xg.i(c)],null):null;if($APP.n(c)){f=$APP.H(c);h=$APP.C(f,nS);c=$APP.C(f,oS);f=$APP.C(f,ZP);a=FP(a,h);if($APP.n(a)){h=""+$APP.P.i(a.tag);k=$APP.P;var m=k.i;var q=a.componentId;
|
|
70
|
+
q=$APP.n(q)?" #"+$APP.P.i(q):null;a=h+m.call(k,q)+"\n"+$APP.P.i(c)+" "+$APP.P.i($APP.y.j(1,c)?"record":"records")+" · "+$APP.P.i($APP.Dg($APP.n(f)?f:xP))+"\n@ "+$APP.P.i(IP(a.t));b=mS(d,e,b,a)}else b=null;return b}return null}return d.setAttribute("hidden","")},pS=function(a,b,c,d,e,f){a:switch(b=b instanceof $APP.F?b.ea:null,b){case "order":d=$APP.w(c);e=$APP.Gm.j(0,e-16);d===0||d<0?f=null:$APP.y.j(1,d)||e===0?f=0:(f=$APP.Hm.j($APP.Gm.j((f-8)/e,0),1),f=Math.round(f*(d-1)));c=$APP.n(f)?$APP.B(c,f,
|
|
71
|
+
null):null;break a;case "time":var h=$APP.H(d);d=$APP.C(h,QP);b=$APP.C(h,SP);var k=$APP.Gm.j(0,e-16);h==null||d==null||b==null?f=0:e===0||e<0||k===0?f=d:(f=$APP.Hm.j($APP.Gm.j((f-8)/k,0),1),f=d+f*b);c=VP(c,f);break a;default:throw Error("No matching clause: "+$APP.P.i(b));}return $APP.n(c)?(dS(a,c.id),gS(a)):null},Qaa=function(a,b,c){function d(x){return pS(a,k,q,u,f,x.clientX-e.left)}c.preventDefault();b.setPointerCapture(c.pointerId);var e=b.getBoundingClientRect(),f=$APP.Gm.j(200,b.clientWidth),
|
|
72
|
+
h=$APP.l(a,"__xTraceHistoryFilter"),k=function(){var x=$APP.l(a,"__xTraceHistoryAxisMode");return $APP.n(x)?x:$APP.Cp}(),m=eS($APP.l(a,"__xTraceHistoryView")),q=EP(m,$APP.Vk.m(h,CP,aS)),u=TP(q);pS(a,k,q,u,f,c.clientX-e.left);c=function z(){b.removeEventListener("pointermove",d);b.removeEventListener("pointerup",z);return b.removeEventListener("pointercancel",z)};b.addEventListener("pointermove",d);b.addEventListener("pointerup",c);return b.addEventListener("pointercancel",c)},qS=function(a,b){var c=
|
|
73
|
+
$APP.l(a,"__xTraceHistoryFilter"),d=eS($APP.l(a,"__xTraceHistoryView"));c=EP(d,$APP.Vk.m(c,CP,aS));d=RR(a);a:if($APP.r(c)){if(d!=null)b:if(typeof d==="number"){for(var e=$APP.w(c),f=0;;){if(f>=e){d=null;break b}if($APP.y.j(d,$APP.vc(c,f).id)){d=f;break b}f+=1}d=void 0}else d=null;else d=null;if(d==null)switch(b=b instanceof $APP.F?b.ea:null,b){case "next":b=$APP.t(c);break a;case "prev":b=$APP.Nc(c);break a;default:throw Error("No matching clause: "+$APP.P.i(b));}else b=$APP.y.j(b,$APP.qp)?$APP.C(c,
|
|
74
|
+
d+1):$APP.C(c,d-1)}else b=null;return $APP.n(b)?(dS(a,b.id),gS(a)):null},rS=function(a){var b=$APP.E(a==null?null:a.isContentEditable);b?a=b:(a=a==null?null:a.tagName,a=$APP.$c(Raa,a==null?null:a.toLowerCase()));return a},Saa=function(a,b){if(rS(b.target))return null;switch(b.key){case "ArrowRight":return b.preventDefault(),qS(a,$APP.qp);case "ArrowLeft":return b.preventDefault(),qS(a,$APP.Vo);default:return null}},Taa=function(a,b,c){function d(h){h=$APP.Gm.j(60,f+(e-h.clientY));return a.style.height=
|
|
75
|
+
""+$APP.P.i(h)+"px"}c.preventDefault();b.setPointerCapture(c.pointerId);b.classList.add("dragging");var e=c.clientY,f=a.offsetHeight;c=function k(){b.removeEventListener("pointermove",d);b.removeEventListener("pointerup",k);b.removeEventListener("pointercancel",k);return b.classList.remove("dragging")};b.addEventListener("pointermove",d);b.addEventListener("pointerup",c);return b.addEventListener("pointercancel",c)},Uaa=function(a){if(a==null||$APP.y.j("",a))a=null;else if(PO(a,".trace.json")){var b=
|
|
76
|
+
$APP.w(a)-11;a=a.substring(0,b)}else PO(a,".json")&&(b=$APP.w(a)-5,a=a.substring(0,b));return a},tS=function(a,b){var c=$APP.l(a,"__xTraceHistoryHintEl"),d=vQ(a,sS);typeof d==="number"&&clearTimeout(d);c.textContent=b;c.classList.add("error");b=setTimeout(function(){c.classList.remove("error");wQ(a,sS,null);return gS(a)},4E3);return wQ(a,sS,b)},vS=function(a,b){var c=new FileReader,d=Uaa(b.name);c.onload=function(){var e=uS.j(c.result,d);e!=null?($APP.l(a,"__xTraceHistoryHintEl").classList.remove("error"),
|
|
77
|
+
$APP.R(a,"__xTraceHistoryView",new $APP.K(null,2,5,$APP.M,[sQ,e],null)),e=gS(a)):e=tS(a,"Import failed — see console for details.");return e};c.onerror=function(){return tS(a,"Could not read file.")};return c.readAsText(b)},wS=function(a){a=a.dataTransfer;return $APP.n(a)?a.types.includes("Files"):null},Vaa=function(a,b){var c=a.shadowRoot;a=$APP.n(c)?c:a.attachShadow({mode:"open"});if(c==null){c="\x3cstyle\x3e"+$APP.P.i(":host {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n width: min(420px, calc(100vw - 1rem));\n z-index: 1999999;\n font: 11px/1.4 ui-monospace, 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n color: #cdd6f4;\n pointer-events: auto;\n /* The width transition makes the collapse / expand toggle feel\n responsive without being slow. The dock is otherwise position:\n fixed so transitioning width doesn't reflow the host page. */\n transition: width 160ms ease;\n}\n/* Collapsed mode: shrink the host to a thin vertical strip so the\n user can reach components the full dock would otherwise cover.\n The only interactive element left is the collapse-toggle button,\n which expands the dock back to full width when clicked. */\n:host(.collapsed) {\n width: 32px;\n}\n:host(.collapsed) .dock \x3e *:not(.header) { display: none; }\n:host(.collapsed) .header {\n flex-direction: column;\n align-items: center;\n padding: 8px 0;\n gap: 4px;\n}\n:host(.collapsed) .header \x3e *:not([data-x-th-action\x3d'collapse']) {\n display: none;\n}\n/* Causality mode: hide the axis-mode select (Order / Time only\n affects the timeline pane, so it's noise in causality view). */\n:host(.causality-mode) [data-x-th-axis] {\n display: none;\n}\n@media (prefers-reduced-motion: reduce) {\n :host { transition: none; }\n}\n.dock {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #11111b;\n border-left: 1px solid rgba(59,130,246,0.6);\n box-shadow: -4px 0 20px rgba(0,0,0,0.4);\n /* Anchor for the absolutely-positioned drop-overlay added in PR 11\n so its `inset: 0` reaches the dock edges. */\n position: relative;\n}\n.header {\n display: flex;\n /* Wrap so the count + action buttons survive narrow viewports\n (`min(420px, calc(100vw - 1rem))` reaches 304px at 320px screens,\n which is too tight for four action buttons + title + count on\n one row). */\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n padding: 8px 10px;\n background: rgba(59,130,246,0.15);\n border-bottom: 1px solid rgba(59,130,246,0.3);\n flex: 0 0 auto;\n}\n.title { font-weight: 700; color: #89b4fa; font-size: 12px; }\n.count { color: #6c7086; margin-left: auto; }\n.filters {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 6px 12px;\n padding: 6px 10px;\n border-bottom: 1px solid rgba(255,255,255,0.06);\n flex: 0 0 auto;\n}\n/* The tag dropdown is an \x3cx-select\x3e; its own shadow brings styling.\n We just constrain its width and font so it matches the dock's\n ui-monospace 11px tone. */\n.filters x-select {\n font-size: 11px;\n max-width: 140px;\n}\n/* x-checkbox has no slot for its label, so the visible text sits\n next to the checkbox inside a \x3clabel\x3e wrapper. The label uses\n inline-flex to keep the checkbox + text on one row, with a small\n gap. Cursor: pointer mirrors native checkbox-label affordance. */\n.filters label.cat {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: #a6adc8;\n font-size: 10px;\n cursor: pointer;\n user-select: none;\n}\n/* PR 16 — search input. x-search-field brings its own theming via its\n shadow DOM; the dock just constrains the host width so it shares\n the filter row's monospace tone with the tag dropdown. */\n.filters x-search-field {\n font-size: 11px;\n flex: 1 1 140px;\n min-width: 100px;\n max-width: 240px;\n}\n/* Session strip: thin row above the filter row listing the live view\n plus any captured session as a clickable chip. Hidden when the only\n chip is Live (no sessions yet) so the dock stays compact. Scrolls\n horizontally if the chip count overflows the dock width. */\n.sessions {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n background: rgba(0,0,0,0.15);\n border-bottom: 1px solid rgba(255,255,255,0.04);\n flex: 0 0 auto;\n overflow-x: auto;\n white-space: nowrap;\n}\n.sessions[hidden] { display: none; }\n.session-chip {\n flex: 0 0 auto;\n background: rgba(255,255,255,0.04);\n color: #a6adc8;\n border: 1px solid rgba(255,255,255,0.08);\n border-radius: 3px;\n padding: 1px 6px;\n font: inherit;\n font-size: 10px;\n cursor: pointer;\n user-select: none;\n}\n.session-chip:hover { background: rgba(59,130,246,0.12); color: #cdd6f4; }\n.session-chip.active {\n background: rgba(59,130,246,0.22);\n border-color: rgba(59,130,246,0.6);\n color: #89b4fa;\n font-weight: 600;\n}\n/* Imported traces are visually distinct from locally-captured\n sessions: amber border instead of blue, plus a small close button\n inside the chip so the user can drop the import without clearing\n live state. */\n.session-chip.import {\n border-color: rgba(249,226,175,0.45);\n color: #f9e2af;\n}\n.session-chip.import.active {\n background: rgba(249,226,175,0.18);\n border-color: rgba(249,226,175,0.7);\n color: #f9e2af;\n}\n.session-chip.import .chip-close {\n background: transparent;\n border: none;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-size: 12px;\n line-height: 1;\n padding: 0 0 0 6px;\n margin: 0;\n opacity: 0.6;\n}\n.session-chip.import .chip-close:hover { opacity: 1; }\n.session-chip .live-dot {\n display: inline-block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: #f38ba8;\n margin-right: 4px;\n vertical-align: middle;\n animation: x-th-pulse 1s ease-in-out infinite;\n}\n@keyframes x-th-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.35; }\n}\n@media (prefers-reduced-motion: reduce) {\n .session-chip .live-dot { animation: none; }\n}\n.timeline {\n flex: 1 1 auto;\n overflow: auto;\n min-height: 0;\n position: relative;\n /* Transparent border reserves 2px so the focus indicator below doesn't\n overlap the leftmost pixels of lane labels or shift content layout. */\n border: 2px solid transparent;\n box-sizing: border-box;\n}\n.timeline-body {\n display: flex;\n align-items: stretch;\n min-height: 100%;\n}\n.lanes {\n flex: 0 0 110px;\n display: flex;\n flex-direction: column;\n border-right: 1px solid rgba(255,255,255,0.06);\n background: #11111b;\n position: sticky;\n left: 0;\n z-index: 1;\n}\n.lane-label {\n height: 20px;\n padding: 0 8px;\n display: flex;\n align-items: center;\n font-size: 11px;\n color: #a6adc8;\n border-bottom: 1px solid rgba(255,255,255,0.04);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n user-select: none;\n}\n.lane-label:hover { background: rgba(59,130,246,0.08); color: #cdd6f4; }\n.lane-label.active {\n background: rgba(59,130,246,0.18);\n color: #89b4fa;\n font-weight: 600;\n}\n.lane-label .cid { color: #6c7086; margin-left: 4px; }\n.svg-pane {\n flex: 1 1 auto;\n min-width: 0;\n display: block;\n}\nsvg.timeline-svg {\n display: block;\n background:\n repeating-linear-gradient(\n to bottom,\n transparent 0,\n transparent 19px,\n rgba(255,255,255,0.03) 19px,\n rgba(255,255,255,0.03) 20px);\n}\n.dot { cursor: pointer; transition: r 80ms ease; }\n.dot:hover { stroke: #fff; stroke-width: 1; }\n.dot.selected { stroke: #fff; stroke-width: 1.5; }\n/* Heatmap bins (PR 18). Each lane that exceeds the density threshold\n renders as a row of these rects rather than individual dots; the\n per-bin fill-opacity is set inline by the renderer (scales with\n the bin's record count relative to the lane's max). */\n.density-bin {\n cursor: pointer;\n transition: stroke 80ms ease, fill-opacity 80ms ease;\n}\n.density-bin:hover {\n stroke: #fff;\n stroke-width: 0.5;\n}\n/* Thin pink bar drawn at the selected record's exact x inside its\n bin — keeps the scrubber-style highlight in dense lanes without\n obscuring the bin's category colour. */\nline.density-selected {\n stroke: #f5c2e7;\n stroke-width: 2;\n pointer-events: none;\n}\nline.scrubber {\n stroke: #f5c2e7;\n stroke-width: 1.5;\n stroke-dasharray: 4 2;\n pointer-events: none;\n}\n.svg-pane { cursor: crosshair; }\n.timeline:focus {\n outline: none;\n border-color: #89b4fa;\n}\n.tooltip {\n position: absolute;\n background: #1e1e2e;\n border: 1px solid rgba(59,130,246,0.6);\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 10px;\n white-space: pre-wrap;\n pointer-events: none;\n max-width: 280px;\n color: #cdd6f4;\n z-index: 10;\n box-shadow: 0 4px 12px rgba(0,0,0,0.5);\n}\n.timeline-empty {\n color: #6c7086;\n font-style: italic;\n text-align: center;\n padding: 20px;\n width: 100%;\n}\n/* Causality DAG pane (PR 17). Shares the flexible vertical slot with\n .timeline — render! toggles which one is hidden by dock-mode. The\n scrollable container holds an inner \x3csvg\x3e sized to the tree's\n bounding box so the scrollbars correctly reflect off-screen depth\n and breadth. */\n.causality {\n flex: 1 1 auto;\n overflow: auto;\n min-height: 0;\n position: relative;\n background: #11111b;\n border: 2px solid transparent;\n box-sizing: border-box;\n}\n.causality:focus { outline: none; border-color: #89b4fa; }\n.causality[hidden] { display: none; }\n.timeline[hidden] { display: none; }\n.causality-empty {\n color: #6c7086;\n font-style: italic;\n text-align: center;\n padding: 20px;\n width: 100%;\n}\n/* Leaf-hint banner rendered ABOVE the SVG when the tree has only\n one node. Pinned via sticky positioning so it stays visible even\n when the user scrolls the pane (the lone node sits at the\n padded origin and could be obscured by the banner otherwise). */\n.causality-leaf-hint {\n position: sticky;\n top: 0;\n left: 0;\n z-index: 1;\n background: rgba(249,226,175,0.10);\n border-bottom: 1px solid rgba(249,226,175,0.35);\n color: #f9e2af;\n font-size: 10px;\n padding: 6px 10px;\n line-height: 1.4;\n}\nsvg.causality-svg { display: block; }\nsvg.causality-svg .edge {\n stroke: rgba(255,255,255,0.18);\n stroke-width: 1;\n fill: none;\n}\nsvg.causality-svg .node-rect {\n fill: rgba(255,255,255,0.04);\n stroke: rgba(255,255,255,0.12);\n stroke-width: 1;\n cursor: pointer;\n rx: 4;\n ry: 4;\n transition: fill 80ms ease, stroke 80ms ease;\n}\nsvg.causality-svg .node-rect:hover {\n fill: rgba(59,130,246,0.16);\n stroke: rgba(59,130,246,0.6);\n}\nsvg.causality-svg .node-rect.selected {\n fill: rgba(245,194,231,0.18);\n stroke: #f5c2e7;\n stroke-width: 1.5;\n}\nsvg.causality-svg .node-dot {\n pointer-events: none;\n}\nsvg.causality-svg .node-text {\n fill: #cdd6f4;\n font: 10px ui-monospace, 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n pointer-events: none;\n dominant-baseline: middle;\n}\nsvg.causality-svg .node-text.id {\n fill: #a6adc8;\n font-size: 9px;\n}\n.splitter {\n flex: 0 0 auto;\n height: 4px;\n background: rgba(255,255,255,0.04);\n cursor: ns-resize;\n touch-action: none;\n transition: background 120ms ease;\n}\n.splitter:hover, .splitter.dragging { background: rgba(59,130,246,0.6); }\n.detail {\n background: #181825;\n border-top: 1px solid rgba(59,130,246,0.2);\n padding: 8px 10px;\n font-size: 10px;\n color: #cdd6f4;\n flex: 0 0 auto;\n height: 35vh;\n min-height: 60px;\n max-height: 80%;\n overflow-y: auto;\n}\n.detail-json {\n margin: 0 0 8px 0;\n font: inherit;\n white-space: pre-wrap;\n word-break: break-all;\n color: #a6e3a1;\n}\n.detail-section { margin-top: 6px; }\n.detail-label {\n color: #89b4fa;\n font-weight: 600;\n margin-bottom: 2px;\n font-size: 10px;\n letter-spacing: 0.02em;\n}\n/* The host is an \x3cx-button\x3e; its own shadow brings background, hover,\n border-radius, etc. We keep block-layout + width on the host so each\n link fills its row, and reach into the button's `label` part to add\n ellipsis truncation (the summary string can exceed the dock width). */\n.detail-link {\n display: block;\n width: 100%;\n margin: 2px 0;\n}\n.detail-link::part(label) {\n display: block;\n min-width: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.detail-link::part(button) {\n width: 100%;\n justify-content: flex-start;\n}\n.detail-empty { color: #6c7086; font-style: italic; font-size: 10px; }\n.empty {\n color: #6c7086;\n font-style: italic;\n text-align: center;\n padding: 20px;\n}\n.hint { color: #6c7086; font-size: 10px; padding: 4px 10px; flex: 0 0 auto; }\n.hint.error { color: #f38ba8; }\n/* Drop overlay — covers the whole dock while a file is being hovered.\n pointer-events:none keeps drag events flowing through to the dock root\n so the dragleave/drop bookkeeping doesn't fight the overlay layer. */\n.drop-overlay {\n position: absolute;\n inset: 0;\n background: rgba(249,226,175,0.10);\n border: 2px dashed rgba(249,226,175,0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #f9e2af;\n font-size: 12px;\n font-weight: 600;\n letter-spacing: 0.02em;\n z-index: 100;\n pointer-events: none;\n}\n.drop-overlay[hidden] { display: none; }\n/* The hidden file input is kept off-screen — clicked programmatically\n by the Import button — but we mark it `display:none` to keep it out\n of layout entirely. */\n.import-input { display: none; }")+
|
|
78
|
+
"\x3c/style\x3e";var d=$APP.P,e=d.i;b="\x3cdiv class\x3d'dock'\x3e\x3cdiv class\x3d'header'\x3e\x3cx-button data-x-th-action\x3d'collapse' size\x3d'sm' variant\x3d'ghost' aria-label\x3d'Collapse panel' title\x3d'Collapse / expand panel (Ctrl/Cmd + \\\\)'\x3e«\x3c/x-button\x3e\x3cspan class\x3d'title'\x3ex-trace-history\x3c/span\x3e\x3cx-button data-x-th-action\x3d'pause' size\x3d'sm' variant\x3d'ghost'\x3ePause\x3c/x-button\x3e\x3cx-button data-x-th-action\x3d'record' size\x3d'sm' variant\x3d'ghost'\x3eRecord\x3c/x-button\x3e\x3cx-button data-x-th-action\x3d'clear' size\x3d'sm' variant\x3d'ghost'\x3eClear\x3c/x-button\x3e\x3cx-button data-x-th-action\x3d'export' size\x3d'sm' variant\x3d'ghost' title\x3d'Download trace as .trace.json'\x3eExport\x3c/x-button\x3e\x3cx-button data-x-th-action\x3d'import' size\x3d'sm' variant\x3d'ghost' title\x3d'Load a .trace.json file (or drag-drop one onto the dock)'\x3eImport\x3c/x-button\x3e\x3cspan class\x3d'count' data-x-th-count\x3e0\x3c/span\x3e\x3c/div\x3e\x3cdiv class\x3d'sessions' data-x-th-sessions hidden\x3e\x3c/div\x3e\x3cdiv class\x3d'filters'\x3e\x3cx-select data-x-th-tag size\x3d'sm'\x3e\x3coption value\x3d'all' selected\x3eAll tags\x3c/option\x3e\x3c/x-select\x3e\x3cx-search-field data-x-th-search name\x3d'search' placeholder\x3d'Search records…' autocomplete\x3d'off'\x3e\x3c/x-search-field\x3e"+
|
|
79
|
+
$APP.P.i(yR("events",$APP.$c(b,$APP.Tr)))+$APP.P.i(yR("state",$APP.$c(b,$APP.Br)))+$APP.P.i(yR("dom",$APP.$c(b,xS)))+$APP.P.i(yR("lifecycle",$APP.$c(b,yS)))+"\x3cx-select data-x-th-mode size\x3d'sm'\x3e\x3coption value\x3d'timeline' selected\x3eTimeline\x3c/option\x3e\x3coption value\x3d'causality'\x3eCausality\x3c/option\x3e\x3c/x-select\x3e\x3cx-select data-x-th-axis size\x3d'sm'\x3e\x3coption value\x3d'order' selected\x3eOrder\x3c/option\x3e\x3coption value\x3d'time'\x3eTime\x3c/option\x3e\x3c/x-select\x3e\x3c/div\x3e\x3cdiv class\x3d'timeline' data-x-th-timeline tabindex\x3d'0'\x3e\x3cdiv class\x3d'lanes' data-x-th-lanes\x3e\x3c/div\x3e\x3cdiv class\x3d'svg-pane' data-x-th-svg-pane\x3e\x3c/div\x3e\x3cdiv class\x3d'tooltip' data-x-th-tooltip hidden\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d'causality' data-x-th-causality tabindex\x3d'0' hidden\x3e\x3c/div\x3e\x3cdiv class\x3d'splitter' data-x-th-splitter hidden\x3e\x3c/div\x3e\x3cdiv class\x3d'detail' data-x-th-detail hidden\x3e\x3c/div\x3e\x3cdiv class\x3d'hint' data-x-th-hint\x3e\x3c/div\x3e\x3cdiv class\x3d'drop-overlay' data-x-th-drop-overlay hidden\x3eDrop .trace.json to import\x3c/div\x3e\x3cinput class\x3d'import-input' data-x-th-import-input type\x3d'file' accept\x3d'.json,.trace.json,application/json' /\x3e\x3c/div\x3e";
|
|
80
|
+
a.innerHTML=c+e.call(d,b)}return a},Waa=function(a,b){$APP.R(a,"__xTraceHistoryShadow",b);$APP.R(a,"__xTraceHistoryTimelineEl",b.querySelector("[data-x-th-timeline]"));$APP.R(a,"__xTraceHistoryLanesEl",b.querySelector("[data-x-th-lanes]"));$APP.R(a,"__xTraceHistorySvgPaneEl",b.querySelector("[data-x-th-svg-pane]"));$APP.R(a,"__xTraceHistoryTooltipEl",b.querySelector("[data-x-th-tooltip]"));$APP.R(a,"__xTraceHistoryCountEl",b.querySelector("[data-x-th-count]"));$APP.R(a,"__xTraceHistoryDetailEl",b.querySelector("[data-x-th-detail]"));
|
|
81
|
+
$APP.R(a,"__xTraceHistorySplitterEl",b.querySelector("[data-x-th-splitter]"));$APP.R(a,"__xTraceHistoryHintEl",b.querySelector("[data-x-th-hint]"));$APP.R(a,"__xTraceHistoryTagSelectEl",b.querySelector("[data-x-th-tag]"));$APP.R(a,"__xTraceHistoryCausalityEl",b.querySelector("[data-x-th-causality]"));$APP.R(a,"__xTraceHistoryPauseBtn",b.querySelector("[data-x-th-action\x3d'pause']"));$APP.R(a,"__xTraceHistoryRecordBtn",b.querySelector("[data-x-th-action\x3d'record']"));$APP.R(a,"__xTraceHistorySessionsEl",
|
|
82
|
+
b.querySelector("[data-x-th-sessions]"));$APP.R(a,"__xTraceHistoryImportInput",b.querySelector("[data-x-th-import-input]"));$APP.R(a,"__xTraceHistoryDropOverlay",b.querySelector("[data-x-th-drop-overlay]"));$APP.R(a,"__xTraceHistoryCollapseBtn",b.querySelector("[data-x-th-action\x3d'collapse']"))},Xaa=function(a,b,c,d,e,f,h,k){return[[b,"click",function(m){m=m.target;var q=m.closest("[data-x-th-action]");if($APP.n(q))switch(q.getAttribute("data-x-th-action")){case "pause":$APP.n($APP.Qn.i($APP.bb(tP)))?
|
|
83
|
+
eR():dR();break;case "record":kR()!=null?lR():mR();break;case "clear":$APP.R(a,"__xTraceHistoryViewSelected",{});$APP.R(a,"__xTraceHistoryView",$APP.Pn);jR();break;case "export":wR();break;case "import":q=$APP.l(a,"__xTraceHistoryImportInput");$APP.n(q)&&(q.value="",q.click());break;case "collapse":lS(a)}q=m.closest("[data-x-th-import-close]");if($APP.n(q)){q=parseInt(q.getAttribute("data-x-th-import-close"),10);var u=$APP.l(a,"__xTraceHistoryView");tQ(u)&&$APP.y.j(q,uQ(u))&&$APP.R(a,"__xTraceHistoryView",
|
|
84
|
+
$APP.Pn);rR(q)}$APP.n(m.closest("[data-x-th-import-close]"))||(q=m.closest("[data-x-th-session]"),$APP.n(q)&&(q=q.getAttribute("data-x-th-session"),q=$APP.y.j(q,"live")?$APP.Pn:q.lastIndexOf("import:",0)==0?new $APP.K(null,2,5,$APP.M,[sQ,parseInt(q.substring(7),10)],null):new $APP.K(null,2,5,$APP.M,[qQ,parseInt(q,10)],null),$APP.R(a,"__xTraceHistoryView",q),gS(a)));q=m.closest("[data-x-th-lane-tag]");if($APP.n(q)){u=q.getAttribute("data-x-th-lane-tag");q=$APP.l(a,"__xTraceHistoryFilter");var x=cP.i(q);
|
|
85
|
+
u=$APP.y.j(u,x)?null:u;q=$APP.Vk.m(q,cP,u);$APP.R(a,"__xTraceHistoryFilter",q);q=$APP.l(a,"__xTraceHistoryTagSelectEl");$APP.n(q)&&(q.value=$APP.n(u)?u:"all");gS(a)}q=m.closest("[data-x-th-link-id]");$APP.n(q)&&(q=q.getAttribute("data-x-th-link-id"),$APP.n(q)&&(q=parseInt(q,10),$APP.n(isNaN(q))||(dS(a,q),gS(a))));q=hS(m);q=$APP.n(q)?q:iS(m);$APP.n(q)?($APP.n(hS(m))?m=jS(m):$APP.n(iS(m))?(m=m.getAttribute("data-x-th-bin-record-id"),m=$APP.n(m)?parseInt(m,10):null):m=null,q=RR(a),m=$APP.y.j(m,q)?null:
|
|
86
|
+
m,dS(a,m),m=gS(a)):m=null;return m}],[b,"select-change",function(m){var q=m.target;m=m.detail.value;q.getAttribute("data-x-th-tag")!=null?(q=$APP.Vk.m($APP.l(a,"__xTraceHistoryFilter"),cP,$APP.y.j(m,"all")?null:m),$APP.R(a,"__xTraceHistoryFilter",q),q=gS(a)):q=q.getAttribute("data-x-th-mode")!=null?Oaa(a,m):q.getAttribute("data-x-th-axis")!=null?Naa(a,m):null;return q}],[b,"x-checkbox-change",function(m){var q=m.target.getAttribute("data-x-th-cat");if(q!=null){var u=m.detail.checked;m=$APP.l(a,"__xTraceHistoryFilter");
|
|
87
|
+
var x=AP.i(m);x=$APP.n(x)?x:$APP.wg(uP);q=$APP.Xg.i(q);q=$APP.n(u)?$APP.wd.j(x,q):$APP.Fm.j(x,q);m=$APP.Vk.m(m,AP,q);$APP.R(a,"__xTraceHistoryFilter",m);m=gS(a)}else m=null;return m}],[b,"x-search-field-input",function(m){var q=m.target;$APP.n($APP.n(q)?q.hasAttribute("data-x-th-search"):q)?(m=m.detail.value,m=($APP.n(m)?m:"").toLowerCase(),m=$APP.Vk.m($APP.l(a,"__xTraceHistoryFilter"),BP,$APP.y.j("",m)?null:m),$APP.R(a,"__xTraceHistoryFilter",m),m=gS(a)):m=null;return m}],[c,"pointermove",function(m){return Paa(a,
|
|
88
|
+
m)}],[c,"pointerleave",function(){return $APP.l(a,"__xTraceHistoryTooltipEl").setAttribute("hidden","")}],[c,"pointerdown",function(){return c.focus()}],[k,"pointerdown",function(){return k.focus()}],[b,"keydown",function(m){return Saa(a,m)}],[d,"pointerdown",function(m){return Qaa(a,$APP.l(a,"__xTraceHistorySvgPaneEl"),m)}],[e,"pointerdown",function(m){return Taa(f,e,m)}],[h,"change",function(m){m=m.target.files;return m.length>0?vS(a,m[0]):null}],[b,"dragenter",function(m){if($APP.n(wS(m))){m.preventDefault();
|
|
89
|
+
m=$APP.l(a,"__xTraceHistoryDropOverlay");var q=vQ(a,zS);wQ(a,zS,($APP.n(q)?q:0)+1);m=m.removeAttribute("hidden")}else m=null;return m}],[b,"dragover",function(m){$APP.n(wS(m))?(m.preventDefault(),m=m.dataTransfer,m=$APP.n(m)?m.dropEffect="copy":null):m=null;return m}],[b,"dragleave",function(m){if($APP.n(wS(m))){m=$APP.l(a,"__xTraceHistoryDropOverlay");var q=$APP.Gm.j,u=vQ(a,zS);q=q.call($APP.Gm,0,($APP.n(u)?u:0)-1);wQ(a,zS,q);m=q===0?m.setAttribute("hidden",""):null}else m=null;return m}],[b,"drop",
|
|
90
|
+
function(m){$APP.n(wS(m))?(m.preventDefault(),wQ(a,zS,0),$APP.l(a,"__xTraceHistoryDropOverlay").setAttribute("hidden",""),m=m.dataTransfer,m=$APP.n(m)?m.files:null,m=$APP.n($APP.n(m)?m.length>0:m)?vS(a,m[0]):null):m=null;return m}],[document,"keydown",function(m){var q;if(q=$APP.y.j("\\",m.key))q=m.metaKey,q=$APP.n(q)?q:m.ctrlKey,q=$APP.n(q)?$APP.p(m.altKey)&&$APP.p(m.shiftKey)&&!rS(m.target):q;$APP.n(q)?(m.preventDefault(),m=lS(a)):m=null;return m}]]},Yaa=function(a,b){b=Xaa(a,b,$APP.l(a,"__xTraceHistoryTimelineEl"),
|
|
91
|
+
$APP.l(a,"__xTraceHistorySvgPaneEl"),$APP.l(a,"__xTraceHistorySplitterEl"),$APP.l(a,"__xTraceHistoryDetailEl"),$APP.l(a,"__xTraceHistoryImportInput"),$APP.l(a,"__xTraceHistoryCausalityEl"));$APP.R(a,"__xTraceHistoryListeners",b);a:{a=b.length;for(var c=0;;)if(c<a){var d=b[c];d[0].addEventListener(d[1],d[2]);c+=1}else break a}},Zaa=function(a,b){$APP.n($APP.l(a,"__xTraceHistoryFilter"))||$APP.R(a,"__xTraceHistoryFilter",new $APP.N(null,3,[cP,null,AP,b,BP,null],null));$APP.n($APP.l(a,"__xTraceHistoryView"))||
|
|
92
|
+
$APP.R(a,"__xTraceHistoryView",$APP.Pn);$APP.n($APP.l(a,"__xTraceHistoryViewSelected"))||$APP.R(a,"__xTraceHistoryViewSelected",{});$APP.n($APP.l(a,"__xTraceHistoryAxisMode"))||$APP.R(a,"__xTraceHistoryAxisMode",$APP.Cp);$APP.n($APP.l(a,"__xTraceHistoryDockMode"))||$APP.R(a,"__xTraceHistoryDockMode",fS);$APP.l(a,"__xTraceHistoryCollapsed")==null&&$APP.R(a,"__xTraceHistoryCollapsed",!1);kS(a,$APP.E($APP.l(a,"__xTraceHistoryCollapsed")))},$aa=function(a){if($APP.n($APP.l(a,"__xTraceHistoryMounted")))return null;
|
|
93
|
+
a.__xTraceHistoryInternal=!0;var b=yQ().length;caa(function(){var c=vP(),d=Vaa(a,c);Waa(a,d);Zaa(a,c);Yaa(a,d);c=FQ.i(zQ.m(AQ,aaa,function(){var e=$APP.l(a,"__xTraceHistoryView"),f=tR(),h=f.length;var k=vQ(a,AS);k=$APP.n(k)?k:0;h>k?(wQ(a,AS,h),$APP.y.j(e,$APP.Pn)&&yQ().length===0&&$APP.R(a,"__xTraceHistoryView",new $APP.K(null,2,5,$APP.M,[sQ,f[h-1].id],null))):h<k&&wQ(a,AS,h);return gS(a)}));$APP.R(a,"__xTraceHistorySubToken",c);gS(a);return $APP.R(a,"__xTraceHistoryMounted",!0)});return $APP.I(b,
|
|
94
|
+
yQ().length)?console.warn("[x-trace-history] dock mount produced records — internal-host suppression is leaking. ","Wrap dynamic child-component constructors in recorder/with-suppressed-recording!."):null},BS=function(){return $APP.n(document.querySelector("x-trace-history"))?null:document.body.appendChild(document.createElement("x-trace-history"))},CS=function(){if($O()){var a=zQ.B;var b=$APP.l(window,"BAREDOM_TRACE_HISTORY_CAPACITY");b=typeof b==="number"&&b>0?b:5E3;var c=window,d;(d=$APP.y.j("raw",
|
|
95
|
+
$APP.l(c,"BAREDOM_TRACE_HISTORY")))||(c=c.location.search,c=c==null?null:$APP.Mg(aba,c),d=$APP.E(c));a.call(zQ,tP,$APP.Vk,SQ,b,$APP.Ac([kP,d]));YO($APP.bi,$Q);YO($APP.lh,$Q);YO(LQ,0);YO(RQ,$APP.we);faa();YO(ZQ,!0);a=$APP.l(window,"BareDOM");a=$APP.n(a)?a:{};a.traceHistory={records:gaa,sessions:oR,"export":maa,download:wR,stopSession:lR,"import":uS,pause:dR,importRecords:uR,sessionRecords:pR,startSession:mR,components:haa,clear:jR,imports:tR,removeImport:rR,resume:eR};window.BareDOM=a;console.log("%c[BareDOM Trace History]%c Active — see window.BareDOM.traceHistory for the API",
|
|
96
|
+
"color:#3b82f6;font-weight:bold","color:inherit")}$APP.zl();$APP.Fk();$APP.tj();$APP.Pl();$APP.Kh("x-trace-history",bba);return $O()?$APP.n(document.body)?BS():document.addEventListener("DOMContentLoaded",BS,{once:!0}):null},DS=function(){return CS()},UP=function UP(a){switch(arguments.length){case 2:return UP.j(arguments[0],arguments[1]);case 3:return UP.m(arguments[0],arguments[1],arguments[2]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return UP.B(arguments[0],
|
|
97
|
+
arguments[1],arguments[2],3<c.length?new $APP.$b(c.slice(3),0,null):null)}};UP.j=function(a,b){return b};UP.m=function(a,b,c){return(a.i?a.i(b):a.call(null,b))<(a.i?a.i(c):a.call(null,c))?b:c};UP.B=function(a,b,c,d){return $APP.ya(function(e,f){return UP.m(a,e,f)},UP.m(a,b,c),d)};UP.K=function(a){var b=$APP.t(a),c=$APP.v(a);a=$APP.t(c);var d=$APP.v(c);c=$APP.t(d);d=$APP.v(d);return this.B(b,a,c,d)};UP.M=3;
|
|
98
|
+
var ES=function ES(a){switch(arguments.length){case 0:return ES.H();case 1:return ES.i(arguments[0]);case 2:return ES.j(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return ES.B(arguments[0],arguments[1],2<c.length?new $APP.$b(c.slice(2),0,null):null)}};ES.H=function(){return 0};ES.i=function(a){return a};ES.j=function(a,b){return a+b};ES.B=function(a,b,c){return $APP.ya(ES,a+b,c)};
|
|
99
|
+
ES.K=function(a){var b=$APP.t(a),c=$APP.v(a);a=$APP.t(c);c=$APP.v(c);return this.B(b,a,c)};ES.M=2;
|
|
100
|
+
var IQ=function IQ(a){switch(arguments.length){case 3:return IQ.m(arguments[0],arguments[1],arguments[2]);case 4:return IQ.J(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return IQ.da(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return IQ.ua(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return IQ.B(arguments[0],arguments[1],arguments[2],
|
|
101
|
+
arguments[3],arguments[4],arguments[5],6<c.length?new $APP.$b(c.slice(6),0,null):null)}};IQ.m=function(a,b,c){var d=$APP.Vk.m,e=$APP.C(a,b);c=c.i?c.i(e):c.call(null,e);return d.call($APP.Vk,a,b,c)};IQ.J=function(a,b,c,d){var e=$APP.Vk.m,f=$APP.C(a,b);c=c.j?c.j(f,d):c.call(null,f,d);return e.call($APP.Vk,a,b,c)};IQ.da=function(a,b,c,d,e){var f=$APP.Vk.m,h=$APP.C(a,b);c=c.m?c.m(h,d,e):c.call(null,h,d,e);return f.call($APP.Vk,a,b,c)};
|
|
102
|
+
IQ.ua=function(a,b,c,d,e,f){var h=$APP.Vk.m,k=$APP.C(a,b);c=c.J?c.J(k,d,e,f):c.call(null,k,d,e,f);return h.call($APP.Vk,a,b,c)};IQ.B=function(a,b,c,d,e,f,h){return $APP.Vk.m(a,b,$APP.Zd(c,$APP.C(a,b),d,e,f,$APP.Ac([h])))};IQ.K=function(a){var b=$APP.t(a),c=$APP.v(a);a=$APP.t(c);var d=$APP.v(c);c=$APP.t(d);var e=$APP.v(d);d=$APP.t(e);var f=$APP.v(e);e=$APP.t(f);var h=$APP.v(f);f=$APP.t(h);h=$APP.v(h);return this.B(b,a,c,d,e,f,h)};IQ.M=6;
|
|
103
|
+
var GQ=function GQ(a,b,c){var e=$APP.r(b);b=$APP.t(e);var f=$APP.v(e);if(f){e=$APP.Vk.m;var h=$APP.C(a,b);c=GQ.m?GQ.m(h,f,c):GQ.call(null,h,f,c);a=e.call($APP.Vk,a,b,c)}else a=$APP.Vk.m(a,b,c);return a},zQ=function zQ(a){switch(arguments.length){case 2:return zQ.j(arguments[0],arguments[1]);case 3:return zQ.m(arguments[0],arguments[1],arguments[2]);case 4:return zQ.J(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;
|
|
104
|
+
else break;return zQ.B(arguments[0],arguments[1],arguments[2],arguments[3],4<c.length?new $APP.$b(c.slice(4),0,null):null)}};zQ.j=function(a,b){if(a instanceof $APP.ke){var c=a.state;b=b.i?b.i(c):b.call(null,c);a=YO(a,b)}else a=$APP.Am(a,b);return a};zQ.m=function(a,b,c){if(a instanceof $APP.ke){var d=a.state;b=b.j?b.j(d,c):b.call(null,d,c);a=YO(a,b)}else a=$APP.Am(a,b,c);return a};
|
|
105
|
+
zQ.J=function(a,b,c,d){if(a instanceof $APP.ke){var e=a.state;b=b.m?b.m(e,c,d):b.call(null,e,c,d);a=YO(a,b)}else a=$APP.Am(a,b,c,d);return a};zQ.B=function(a,b,c,d,e){return a instanceof $APP.ke?YO(a,$APP.Yd(b,a.state,c,d,e)):$APP.Am(a,b,c,d,e)};zQ.K=function(a){var b=$APP.t(a),c=$APP.v(a);a=$APP.t(c);var d=$APP.v(c);c=$APP.t(d);var e=$APP.v(d);d=$APP.t(e);e=$APP.v(e);return this.B(b,a,c,d,e)};zQ.M=4;
|
|
106
|
+
var mP=new $APP.F(null,"start-t","start-t",1829305353),eP=new $APP.F(null,"cause-id","cause-id",-1282947263),aQ=new $APP.F(null,"x-end","x-end",-1725631203),KR=new $APP.F(null,"node-count","node-count",383091297),oP=new $APP.F(null,"start-id","start-id",-456790067),pP=new $APP.F(null,"end-id","end-id",2084513705),RP=new $APP.F(null,"tmax","tmax",2006118392),fS=new $APP.F(null,"timeline","timeline",192903161),oS=new $APP.F(null,"bin-count","bin-count",1792167977),AS=new $APP.F(null,"auto-switch-import",
|
|
107
|
+
"auto-switch-import",-809333661),QR=new $APP.F(null,"causality-needs-fit","causality-needs-fit",1728707358),FR=new $APP.F(null,"to-cy","to-cy",1542880464),ER=new $APP.F(null,"to-cx","to-cx",698995232),TR=new $APP.F(null,"scroll-top","scroll-top",-46723100),UR=new $APP.F(null,"chip-key","chip-key",644014552),QQ=new $APP.F(null,"next-component-id","next-component-id",1588977206),BQ=new $APP.F(null,"pending?","pending?",-2133618792),WQ=new $APP.F(null,"rate-limit","rate-limit",1748082022),QP=new $APP.F(null,
|
|
108
|
+
"tmin","tmin",-39508962),cba=new $APP.F(null,"to-id","to-id",1021626465),GR=new $APP.F(null,"edges","edges",-694791395),FQ=new $APP.F(null,"next-token","next-token",1432414974),bQ=new $APP.F(null,"t-min","t-min",-488887638),jP=new $APP.F(null,"user-agent","user-agent",1220426212),cS=new $APP.F(null,"causality","causality",-712927373),kP=new $APP.F(null,"forensic?","forensic?",188264321),cP=new $APP.F(null,"tag","tag",-1290361223),BP=new $APP.F(null,"search","search",1564939822),qQ=new $APP.F(null,
|
|
109
|
+
"session","session",1008279103),JQ=new $APP.F(null,"next-id","next-id",-224240762),AP=new $APP.F(null,"categories","categories",178386610),JR=new $APP.F(null,"causality-layout","causality-layout",-1264013405),cQ=new $APP.F(null,"t-max","t-max",-949530573),SQ=new $APP.F(null,"capacity","capacity",72689734),VR=new $APP.F(null,"recording?","recording?",-1477514924),YP=new $APP.F(null,"records","records",1326822832),AR=new $APP.F(null,"time","time",1385887882),ZP=new $APP.F(null,"dominant-cat","dominant-cat",
|
|
110
|
+
-914257775),yS=new $APP.F(null,"lifecycle","lifecycle",341496205),xP=new $APP.F(null,"other","other",995793544),qR=new $APP.F("baredom.dev.x-trace-history.model","parse-error","baredom.dev.x-trace-history.model/parse-error",840657481),HQ=new $APP.F(null,"new?","new?",777958557),Baa=new $APP.F(null,"max-depth","max-depth",127060793),NP=new $APP.F(null,"min-t","min-t",-1349871659),lQ=new $APP.F(null,"capped?","capped?",-65680820),cR=new $APP.F(null,"imports","imports",-1249933394),XP=new $APP.F(null,
|
|
111
|
+
"bin-i","bin-i",791326307),lP=new $APP.F(null,"first-seen","first-seen",390191468),WR=new $APP.F(null,"import?","import?",-40157302),IR=new $APP.F(null,"cy","cy",755331060),kQ=new $APP.F(null,"children","children",-940561982),HR=new $APP.F(null,"cx","cx",1272694324),xS=new $APP.F(null,"dom","dom",-1236537922),hR=new $APP.F(null,"next-session-id","next-session-id",1944278844),$P=new $APP.F(null,"x-start","x-start",1183238797),SR=new $APP.F(null,"scroll-left","scroll-left",-211761103),sR=new $APP.F(null,
|
|
112
|
+
"imported-at","imported-at",-1157103926),OP=new $APP.F(null,"lane-id","lane-id",2005926623),CP=new $APP.F(null,"haystack-fn","haystack-fn",1813797862),FS=new $APP.F(null,"depth","depth",1768663640),nS=new $APP.F(null,"record-id","record-id",-1468971877),iR=new $APP.F(null,"active-session-id","active-session-id",943086451),CR=new $APP.F(null,"from-cx","from-cx",-293616201),DR=new $APP.F(null,"from-cy","from-cy",1126835724),gR=new $APP.F(null,"sessions","sessions",-699316392),iP=new $APP.F(null,"exported-at",
|
|
113
|
+
"exported-at",1661975683),dP=new $APP.F(null,"component-id","component-id",1551113783),sS=new $APP.F(null,"import-error","import-error",1672727808),zS=new $APP.F(null,"drag-depth","drag-depth",-226189617),dba=new $APP.F(null,"from-id","from-id",-106962526),YR=new $APP.F(null,"import-id","import-id",940580069),nQ=new $APP.F(null,"nodes","nodes",-2099585805),nP=new $APP.F(null,"end-t","end-t",-218701242),CQ=new $APP.F(null,"by-token","by-token",-1485378511),GS=new $APP.F(null,"next-import-id","next-import-id",
|
|
114
|
+
287496955),jQ=new $APP.F(null,"record","record",-779106859),SP=new $APP.F(null,"span","span",1394872991),LP=new $APP.F("baredom.dev.x-trace-history.model","document","baredom.dev.x-trace-history.model/document",-1776453896),TQ=new $APP.F(null,"components","components",-1073188942),sQ=new $APP.F(null,"import","import",-1399500709),bR=new $APP.F(null,"envelope","envelope",-236796318);var fR=$APP.tf.j($APP.Om,$APP.we),ZO=VO("(?:^\\?|\x26)"+$APP.P.i("baredom-trace-history")+"(?:\x3d|\x26|$)"),aba=VO("(?:^\\?|\x26)"+$APP.P.i("baredom-trace-history")+"\x3d"+$APP.P.i("raw")+"(?:\x26|$)"),wP=new $APP.N(null,4,[$APP.Tr,new $APP.rg(null,new $APP.N(null,3,["event/dispatch",null,"event/dispatch-document",null,"event/dispatch-cancelable",null],null),null),$APP.Br,new $APP.rg(null,new $APP.N(null,1,["state/instance-field-set",null],null),null),xS,new $APP.rg(null,new $APP.N(null,2,["dom/attribute-removed",
|
|
115
|
+
null,"dom/attribute-set",null],null),null),yS,new $APP.rg(null,new $APP.N(null,3,["lifecycle/attribute-changed",null,"lifecycle/connected",null,"lifecycle/disconnected",null],null),null)],null),uP=new $APP.K(null,4,5,$APP.M,[$APP.Tr,$APP.Br,xS,yS],null),JP=new $APP.N(null,5,[$APP.Tr,"#94e2d5",$APP.Br,"#f9e2af",xS,"#fab387",yS,"#cba6f7",xP,"#6c7086"],null),iQ=function iQ(a,b){return $APP.zd(b,new $APP.Cd(null,function(){return $APP.se(function(d){return iQ.j?iQ.j(a,d):iQ.call(null,a,d)},$APP.Ac([hQ(a,
|
|
116
|
+
b.id)]))},null))},LR=function LR(a){return $APP.ya(ES,0,$APP.oe.j(LR,kQ.i(a)))+1},MR=function MR(a){return $APP.Pc(kQ.i(a))?0:$APP.Vd($APP.Gm,$APP.oe.j(MR,kQ.i(a)))+1},NR=function NR(a,b,c){var e=jQ.i(a),f=kQ.i(a);a=30+b*56;if($APP.Pc(f))return new $APP.K(null,2,5,$APP.M,[new $APP.N(null,6,[$APP.ar,e.id,jQ,e,HR,c+70,IR,a,FS,b,kQ,$APP.we],null),c+158],null);f=$APP.ya(function(m,q){var u=$APP.B(m,0,null);m=$APP.B(m,1,null);var x=b+1;m=NR.m?NR.m(q,x,m):NR.call(null,q,x,m);q=$APP.B(m,0,null);m=$APP.B(m,
|
|
117
|
+
1,null);return new $APP.K(null,2,5,$APP.M,[$APP.wd.j(u,q),m],null)},new $APP.K(null,2,5,$APP.M,[$APP.we,c],null),f);c=$APP.B(f,0,null);f=$APP.B(f,1,null);var h=HR.i($APP.t(c)),k=HR.i($APP.Ec(c));return new $APP.K(null,2,5,$APP.M,[new $APP.N(null,6,[$APP.ar,e.id,jQ,e,HR,(h+k)/2,IR,a,FS,b,kQ,c],null),f],null)},OR=function OR(a){return $APP.tf.j(new $APP.K(null,1,5,$APP.M,[$APP.Em.j(a,kQ)],null),$APP.se(OR,$APP.Ac([kQ.i(a)])))},PR=function PR(a){var c=$APP.ar.i(a),d=HR.i(a),e=IR.i(a);return $APP.Oe($APP.se(function(f){return $APP.zd(new $APP.N(null,
|
|
118
|
+
6,[dba,c,CR,d,DR,e,cba,$APP.ar.i(f),ER,HR.i(f),FR,IR.i(f)],null),PR.i?PR.i(f):PR.call(null,f))},$APP.Ac([kQ.i(a)])))};var tP=$APP.le($APP.Yf([kP,SQ,WQ,JQ,$APP.Qn,cR,YP,TQ,iR,QQ,gR,GS,hR],[!1,5E3,$APP.ce,0,!1,$APP.we,fR,$APP.ce,null,0,$APP.we,0,0])),AQ=$APP.le(new $APP.N(null,3,[FQ,0,BQ,!1,CQ,$APP.ce],null)),RQ=$APP.le($APP.we),aR=$APP.le(null),ZQ=$APP.le(!1),LQ=$APP.le(0),xQ=$APP.le([null,null]),daa=new $APP.rg(null,new $APP.N(null,3,[$APP.hi,null,$APP.ci,null,$APP.gi,null],null),null),eaa=new $APP.rg(null,new $APP.N(null,3,[$APP.qi,null,$APP.si,null,$APP.li,null],null),null),uS=function uS(a){switch(arguments.length){case 1:return uS.i(arguments[0]);
|
|
119
|
+
case 2:return uS.j(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",arguments.length].join(""));}};uS.i=function(a){return uS.j(a,null)};
|
|
120
|
+
uS.j=function(a,b){a=laa(a);var c=$APP.H(a);a=$APP.C(c,$APP.Cq);c=$APP.C(c,$APP.On);if($APP.n(c))return console.warn("[x-trace-history] import rejected:",c),null;c=performance.now();var d=GS.i($APP.bb(tP));b=b==null||$APP.y.j("",b)?"Import "+$APP.P.i(d):b;var e=new $APP.N(null,4,[$APP.ar,d,$APP.bj,b,sR,c,bR,a],null);zQ.j(tP,function(f){return IQ.m(IQ.J(f,cR,$APP.wd,e),GS,RO)});EQ();return d};uS.M=2;var naa=RegExp("\x26","g"),oaa=RegExp("\x3c","g"),paa=RegExp("\x3e","g"),qaa=RegExp('"',"g"),raa=RegExp("'","g"),$R=new WeakMap,Raa=new $APP.rg(null,new $APP.N(null,5,["x-select",null,"select",null,"input",null,"textarea",null,"x-checkbox",null],null),null),bba=new $APP.N(null,5,[$APP.yh,!0,$APP.Bh,[],$APP.zh,function(a){return $aa(a)},$APP.qh,function(a){var b=$APP.l(a,"__xTraceHistorySubToken");$APP.n(b)&&zQ.B(AQ,IQ,CQ,$APP.Em,$APP.Ac([b]));b=vQ(a,sS);$APP.n(b)&&typeof b==="number"&&clearTimeout(b);
|
|
121
|
+
b=$APP.l(a,"__xTraceHistoryListeners");if($APP.n(b)){for(var c=b.length,d=0;;)if(d<c){var e=b[d];e[0].removeEventListener(e[1],e[2]);d+=1}else break;$APP.R(a,"__xTraceHistoryListeners",null)}$APP.R(a,"__xTraceHistorySubToken",null);wQ(a,sS,null);return $APP.R(a,"__xTraceHistoryMounted",null)},$APP.ph,function(){return null}],null);$APP.fa("baredom.exports.x_trace_history.init",DS);CS();export const init=DS;
|